@charset "UTF-8";

.top-contents-body {
    padding: 0;
}
.title-invisible {
    position: absolute;
    text-indent: -100%;
    white-space: nowrap;
    overflow: hidden;
    width: 0;
}

.top-section-inner {
    margin: 0 auto;
    padding: 0 4rem;
    max-width: 127rem;
}

.top-mainvisual {
    height: 100vh;
    position: sticky;
    top: 0;
    z-index: 0;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .top-mainvisual {
        min-height: 74rem;
    }
}
.top-mainvisual .top-mainvisual_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    will-change: transform;
}

.top-mainvisual .top-mainvisual_text-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: 0 4rem;
    max-width: 1142px;
    height: 100%;
    text-align: left;
    position: relative;
    z-index: 1;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.top-mainvisual .top-mainvisual_shoulder {
    font-family: 'Akshar', sans-serif;
    font-weight: 700;
    font-size: 7.2rem;
    line-height: 1.1;
    text-align: center;
    color: #fff;
    text-shadow: 0px 4px 12px rgba(0, 0, 0, 0.6);
}

.top-mainvisual-scroll {
    display: flex;
    justify-content: center;
    width: 1.4rem;
    position: absolute;
    right: 3.4rem;
    bottom: 11rem;
    z-index: 10;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 1340px) {
    .top-mainvisual-scroll {
        right: 1.2rem;
    }
}
.top-mainvisual-scroll .top-mainvisual-scroll_text {
    display: block;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 1;
    writing-mode: vertical-rl;
    color: #fff;
    max-width: none;
    margin: 0;
}
.top-mainvisual-scroll::before,
.top-mainvisual-scroll::after {
    content: "";
    display: block;
    width: .1rem;
    height: 10rem;
    position: absolute;
    left: 50%;
    bottom: -11rem;
    transform: translateX(-50%);
}
.top-mainvisual-scroll::before {
    background: #F39800;
    animation: scroll 2s infinite;
    z-index: 1;
}
.top-mainvisual-scroll::after {
    background: rgba(255, 255, 255, 1);
    z-index: 0;
}

@keyframes scroll {
    0% {
        transform: translateX(-50%) scale(1, 0);
        transform-origin: center top;
    }
    50% {
        transform: translateX(-50%) scale(1, 1);
        transform-origin: center top;
    }
    51% {
        transform: translateX(-50%) scale(1, 1);
        transform-origin: center bottom;
    }
    100% {
        transform: translateX(-50%) scale(1, 0);
        transform-origin: center bottom;
    }
}
.top-mainvisual-scroll_progress {
    display: block;
    margin: 0;
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
    color: #2C2C2C;
    text-align: center;
    position: fixed;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.top-mainvisual-scroll_progress::before,
.top-mainvisual-scroll_progress::after {
    content: "";
    display: block;
    width: 1px;
    height: 3rem;
    background: currentColor;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.top-mainvisual-scroll_progress::before {
    top: -4rem;
}
.top-mainvisual-scroll_progress::after {
    bottom: -4rem;
}
.top-mainvisual-scroll_progress.is-active {
    opacity: 1;
    visibility: visible;
}
.top-mainvisual-scroll_progress.is-light {
    color: #2C2C2C;
}
.top-mainvisual.is-ui-hidden .top-mainvisual_text-area,
.top-mainvisual.is-ui-hidden .top-mainvisual-scroll {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.top-section-container-news {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12rem 0 14.4rem;
    min-height: 100vh;
    background: #fff;
    position: relative;
    z-index: 1;
}
.top-section-container-news .top-section-inner {
    display: flex;
    justify-content: space-between;
    gap: 0 2.4rem;
    max-width: 119.2rem;
    width: 100%;
}
.top-section-container-news .top-news-head {
    max-width: 38rem;
    width: 100%;
}
@media screen and (max-width: 1030px) {
    .top-section-container-news .top-news-head {
        max-width: 30rem;
    }
}
.top-section-container-news .top-news-head .top-news-head_shoulder {
    font-family: 'Akshar', sans-serif;
    font-weight: 400;
    font-size: 6.4rem;
    line-height: 1;
    color: #2C2C2C;
}
.top-section-container-news .top-news-head .top-news-head_title {
    margin-top: 1rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    color: #2C2C2C;
}
.top-section-container-news .top-news-body {
    flex: 1;
}

@media screen and (min-width: 1031px) {
    .top-section-container-news .top-news-body {
        min-width: 62.5rem;
    }
}
@media screen and (max-width: 767px) {
    .top-section-container-news .top-news-body {
        min-width: inherit;
        max-width: 62.5rem;
    }
}
.top-section-container-news .top-news-list .top-news-list_item {
    border-top: 1px solid #d9d9d9;
}
.top-section-container-news .top-news-list .top-news-list_item:last-child {
    border-bottom: 1px solid #d9d9d9;
}
.top-section-container-news .top-news-list.js-news-list-more .top-news-list_item:first-child {
    border-top: none;
}
.top-section-container-news .top-news-list .top-news-list_item-link,
.top-section-container-news .top-news-list .top-news-list_item-text {
    display: block;
    padding: 4rem 5.6rem 4rem 2.4rem;
    position: relative;
    transition: opacity 0.3s ease;
}
.top-section-container-news .top-news-list .top-news-list_item-link {
    transition: opacity 0.3s ease;
}
.top-section-container-news .top-news-list .top-news-list_item-link:hover {
    opacity: 0.7;
}
.top-section-container-news .top-news-list .top-news-list_item-link::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(/assets/img/common/shared/icon-link-arrow-bk.svg) no-repeat center center / contain;
    position: absolute;
    top: 50%;
    right: 2.4rem;
    transform: translateY(-50%);
}
.top-section-container-news .top-news-list .top-news-list-title {
    font-family: 'Akshar', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-news .top-news-list .top-news-list-data {
    margin-top: .6rem;
    max-width: 68.5rem;
    font-size: 1.8rem;
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-news .top-news-more {
    margin-top: 2rem;
    text-align: center;
}
.top-section-container-news .top-news-more .top-news-more_trigger {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
    margin: 0 auto;
    font-weight: 700;
    font-size: 2rem;
    color: #2C2C2C;
    cursor: pointer;
}
.top-section-container-news .top-news-more .top-news-more_icon {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    position: relative;
}
.top-section-container-news .top-news-more .top-news-more_icon::before,
.top-section-container-news .top-news-more .top-news-more_icon::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #2C2C2C;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: transform 0.3s ease;
}
.top-section-container-news .top-news-more .top-news-more_icon::before {
    transform: translate(-50%, -50%);
}
.top-section-container-news .top-news-more .top-news-more_icon::after {
    transform: translate(-50%, -50%) rotate(-90deg);
}
.top-section-container-news .top-news-more .top-news-more_trigger.is-active {
    display: none;
}
.top-section-container-news .top-news-more .top-news-more_trigger.is-active .top-news-more_icon::after {
    transform: translate(-50%, -50%);
}
.top-section-container-news .top-news-list.js-news-list-more {
    max-height: 0;
    overflow: hidden;
}
.top-section-container-news .top-news-list.is-active {
    height: auto;
    transition: max-height 0.3s ease;
}

.top-background-area {
    overflow-x: clip;
    position: relative;
    z-index: 0;
}
.top-background-area::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #F5FEFF 0%, #FFF2EC 94%);
    opacity: .88;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.top-section-container-overview {
    padding: 20rem 0 5rem;
    position: relative;
    z-index: 0;
}
.top-section-container-overview .top-section-inner {
    margin: 0 auto;
    padding: 20rem 3.2rem 20rem 13.5rem;
    max-width: 119.2rem;
    background: #fff;
    border-radius: 6.4rem 0 0 6.4rem;
    position: relative;
    z-index: 1;
}
.top-section-container-overview .top-section-inner::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 200%;
    height: 100%;
    background: #fff;
    z-index: -1;
}
.top-section-container-overview .top-overview-name {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 10.4rem;
    line-height: 1.5;
    text-align: center;
    color: #2C2C2C;
}
.top-section-container-overview .top-overview-lead {
    margin-top: 4.2rem;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.75;
    text-align: center;
    color: #2C2C2C;
}
.top-section-container-overview .top-overview-text {
    margin-top: 2.4rem;
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 1.75;
    text-align: center;
    color: #2C2C2C;
}

.top-section-container-profile {
    padding: 5rem 0 0 4rem;
    position: relative;
    z-index: 1;
}
.top-section-container-profile .top-section-inner {
    display: flex;
    justify-content: space-between;
    gap: 0 2.4rem;
    margin: 0 auto;
    padding: 20rem 10rem 20rem 0;
    max-width: 119.2rem;
    background: #fff;
    border-radius: 0 6.4rem 6.4rem 0;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 1030px) {
    .top-section-container-profile .top-section-inner {
        padding: 20rem 8rem 20rem 4rem;
    }
}
.top-section-container-profile .top-section-inner::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: -200%;
    width: 200%;
    height: 100%;
    background: #fff;
    z-index: -1;
}
.top-section-container-profile .top-profile-head {
    max-width: 38rem;
}
@media screen and (max-width: 1030px) {
    .top-section-container-profile .top-profile-head {
        max-width: 30rem;
    }
}
.top-section-container-profile .top-profile-head .top-profile-head_shoulder {
    font-family: 'Akshar', sans-serif;
    font-weight: 400;
    font-size: 6.4rem;
    line-height: 1.1;
    color: #2C2C2C;
}
.top-section-container-profile .top-profile-head .top-profile-head_title {
    margin-top: 1rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    color: #2C2C2C;
}
.top-section-container-profile .top-profile-body {
    flex: 1;
    max-width: 68.6rem;
}
@media screen and (max-width: 1030px) {
    .top-section-container-profile .top-profile-body {
        max-width: 54.2rem;
    }
}
.top-section-container-profile .top-profile-table {
    width: 100%;
}
.top-section-container-profile .top-profile-table .top-profile-table_row {
    border-top: 1px solid #999;
}
.top-section-container-profile .top-profile-table .top-profile-table_row:last-child {
    border-bottom: 1px solid #999;
}
.top-section-container-profile .top-profile-table .top-profile-table_header-lv2 {
    padding: 2.9rem 0;
    width: 17.9rem;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-profile .top-profile-table .top-profile-table_data {
    padding: 2.9rem 0 2.9rem 2.4rem;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-profile .top-profile-table .top-profile-table_data-list_item::before {
    content: attr(data-note-prefix);
    margin-right: .5rem;
}

.top-section-container-officers {
    padding: 5rem 4rem 20rem 0;
    position: relative;
    z-index: 1;
}
.top-section-container-officers .top-section-inner {
    margin: 0 auto;
    padding: 20rem 0 20rem 10rem;
    max-width: 119.2rem;
    background: #fff;
    border-radius: 6.4rem 0 0 6.4rem;
    position: relative;
    z-index: 1;
}
.top-section-container-officers .top-section-inner::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 200%;
    height: 100%;
    background: #fff;
    z-index: -1;
}
.top-section-container-officers .top-officers-head .top-officers-head_shoulder {
    font-family: 'Akshar', sans-serif;
    font-weight: 400;
    font-size: 6.4rem;
    line-height: 1.1;
    color: #2C2C2C;
}
.top-section-container-officers .top-officers-head .top-officers-head_title {
    margin-top: 1rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    color: #2C2C2C;
}
.top-section-container-officers .top-officers-body {
    margin-top: 4rem;
}
.top-section-container-officers .top-officers-list {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}
.top-section-container-officers .top-officers-list .top-officers-list_item {
    display: flex;
}

.top-section-container-officers .top-officers-list .top-officers-list_item-pic {
    width: 28rem;
}
.top-section-container-officers .top-officers-list .top-officers-list_item-pic-image {
    border-radius: 16px;
}
.top-section-container-officers .top-officers-list .top-officers-list_item-body {
    flex: 1;
    padding-top: 1.6rem;
    padding-left: 2.4rem;
}
.top-section-container-officers .top-officers-list .top-officers-list_item-position {
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-officers .top-officers-list .top-officers-list_item-name {
    font-weight: 600;
    font-size: 3.2rem;
    line-height: 1.5;
    color: #2C2C2C;
}
.top-section-container-officers .top-officers-list .top-officers-list_item-text {
    grid-area: text;
    margin-top: 1.5rem;
    margin-left: -4rem;
    padding-top: 1.6rem;
    padding-left: 4rem;
    line-height: 1.5;
    color: #2C2C2C;
}
@media screen and (min-width: 768px) {
    .top-section-container-officers .top-officers-list .top-officers-list_item-text {
        border-top: 1px solid #EA5412;
    }
}

.top-section-container-contactus {
    border-bottom: 2px solid #F39800;
    padding: 28rem 0;
    background: #fff;
    position: relative;
    z-index: 1;
}
.top-section-container-contactus .top-contactus-head {
    text-align: center;
}
.top-section-container-contactus .top-contactus-head .top-contactus-head_shoulder {
    font-family: 'Akshar', sans-serif;
    font-weight: 400;
    font-size: 8.8rem;
    line-height: 1.1;
    color: #2C2C2C;
}
.top-section-container-contactus .top-contactus-head .top-contactus-head_title {
    margin-top: 1rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    color: #2C2C2C;
}

.top-section-container-contactus .top-contactus-button_link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 6rem auto 0;
    padding-right: 1.4rem;
    width: 34.8rem;
    min-height: 6.4rem;
    font-weight: 700;
    font-size: 2rem;
    color: #fff;
    background-image: linear-gradient(90deg, #EA5412 0%, #F39800 50%, #EA5412 100%);
    background-size: 200% 100%;
    background-position: left center;
    border-radius: 3.2rem;
    position: relative;
    transition: background-position 0.5s ease;
}
.top-section-container-contactus .top-contactus-button_link:hover {
    background-position: right center;
}
.top-section-container-contactus .top-contactus-button_link::after {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    background: url(/assets/img/common/shared/icon-link-blank-wh.svg) no-repeat center center / contain;
    position: absolute;
    top: 50%;
    right: 2.4rem;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .top-section-inner {
        padding: 0 3.2rem;
    }
    
    .top-mainvisual {
        padding-top: 5rem;
    }
    .top-mainvisual .top-mainvisual_image {
        width: 100%;
    }
    .top-mainvisual .top-mainvisual_text-area {
        padding: 0 1.3rem;
    }
    .top-mainvisual .top-mainvisual_shoulder {
        font-size: 4rem;
        line-height: 1.1;
    }
    .top-mainvisual-scroll {
        right: .8rem;
    }
    .top-section-container-news {
        padding: 8rem 0;
    }
    .top-section-container-news .top-section-inner {
        flex-direction: column;
    }
    .top-section-container-news .top-news-head .top-news-head_shoulder {
        font-size: 6.4rem;
    }
    .top-section-container-news .top-news-head .top-news-head_title {
        font-size: 2rem;
    }
    .top-section-container-news .top-news-body {
        margin-top: 2.7rem;
    }
    .top-section-container-news .top-news-list .top-news-list_item-link,
    .top-section-container-news .top-news-list .top-news-list_item-text {
        padding: 3rem 4.8rem 3rem 1.6rem;
    }
    .top-section-container-news .top-news-list .top-news-list_item-link::after {
        width: 1.8rem;
        height: 1.8rem;
        background: url(/assets/img/common/shared/icon-link-arrow-bk.svg) no-repeat center center / contain;
        right: 1.6rem;
    }
    .top-section-container-news .top-news-list .top-news-list-title {
        font-size: 1.4rem;
    }
    .top-section-container-news .top-news-list .top-news-list-data {
        margin-top: 1.6rem;
        width: 24.7rem;
        font-size: 1.6rem;
    }
    .top-section-container-news .top-news-more {
        margin-top: 3rem;
        text-align: center;
    }
    .top-section-container-news .top-news-more .top-news-more_trigger {
        gap: 1.2rem;
        font-size: 1.8rem;
    }
    .top-section-container-news .top-news-more .top-news-more_icon {
        display: block;
        width: 1.4rem;
        height: 1.4rem;
        position: relative;
    }
    .top-section-container-news .top-news-more .top-news-more_icon::before,
    .top-section-container-news .top-news-more .top-news-more_icon::after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background: #2c2c2c;
        position: absolute;
        top: 50%;
        left: 50%;
        transition: transform 0.3s ease;
    }
    .top-section-container-news .top-news-more .top-news-more_icon::before {
        transform: translate(-50%, -50%);
    }
    .top-section-container-news .top-news-more .top-news-more_icon::after {
        transform: translate(-50%, -50%) rotate(-90deg);
    }
    .top-section-container-news .top-news-more .top-news-more_trigger.is-active {
        display: none;
    }
    .top-section-container-news .top-news-more .top-news-more_trigger.is-active .top-news-more_icon::after {
        transform: translate(-50%, -50%);
    }
    .top-section-container-news .top-news-list.js-news-list-more {
        max-height: 0;
        overflow: hidden;
    }
    .top-section-container-news .top-news-list.is-active {
        height: auto;
        transition: max-height 0.3s ease;
    }

    .top-background-area {
        padding: 16rem 0 0;
    }

    .top-section-container-overview {
        padding: 0 0 4rem;
    }

    .top-section-container-overview .top-section-inner {
        margin-left: 3.2rem;
        padding: 16rem 4rem;
    }
    .top-section-container-overview .top-overview-name {
        font-size: 8rem;
    }
    .top-section-container-overview .top-overview-lead {
        font-size: 1.8rem;
    }
    .top-section-container-overview .top-overview-text {
        margin-left: 1.4em;
        font-size: 3.2rem;
        text-indent: -1.4em;
    }
    
    .top-section-container-profile {
        padding: 4rem 0;
    }
    .top-section-container-profile .top-section-inner {
        flex-direction: column;
        margin-right: 3.2rem;
        padding: 16rem 3.2rem;
    }
    .top-section-container-profile .top-profile-head .top-profile-head_shoulder {
        font-size: 6.4rem;
    }
    .top-section-container-profile .top-profile-head .top-profile-head_title {
        font-size: 2rem;
    }
    .top-section-container-profile .top-profile-body {
        margin-top: 2.4rem;
    }
    .top-section-container-profile .top-profile-table .top-profile-table_header-lv2 {
        width: 9rem;
        font-size: 1.6rem;
    }
    .top-section-container-profile .top-profile-table .top-profile-table_data {
        padding: 2.9rem 0 2.9rem 1.6rem;
        font-size: 1.6rem;
    }
    .top-section-container-profile .top-profile-table .top-profile-table_data-list_item {
        display: flex;
    }
   
    .top-section-container-officers {
        padding: 4rem 0 16rem;
    }
    .top-section-container-officers .top-section-inner {
        margin-left: 3.2rem;
        padding: 16rem 3.4rem 16rem 1.4rem;
    }
    .top-section-container-officers .top-officers-head {
        margin-left: 1.8rem;
    }
    .top-section-container-officers .top-officers-head .top-officers-head_shoulder {
        font-size: 6.4rem;
    }
    .top-section-container-officers .top-officers-head .top-officers-head_title {
        font-size: 2rem;
    }
    .top-section-container-officers .top-officers-body {
        margin-top: 2.4rem;
    }
    .top-section-container-officers .top-officers-list {
        gap: 4rem;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item {
        display: flex;
        flex-direction: column;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item-pic {
        width: 29.5rem;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item-body {
        margin: -1.6rem 0 0 1rem;
        padding: 3.6rem 0 1.2rem 1.6rem;
        border-left: 1px solid #EA5412;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item-name {
        font-size: 3.2rem;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item-position {
        font-size: 1.4rem;
    }
    .top-section-container-officers .top-officers-list .top-officers-list_item-text {
        margin-top: 1.2rem;
        padding-top: 0;
    }
    
    .top-section-container-contactus {
        padding: 24rem 0;
    }
    .top-section-container-contactus .top-section-inner {
        padding: 0 2.45rem;
    }
    .top-section-container-contactus .top-contactus-head {
        text-align: center;
    }
    .top-section-container-contactus .top-contactus-head .top-contactus-head_shoulder {
        font-size: 6.4rem;
    }
    .top-section-container-contactus .top-contactus-head .top-contactus-head_title {
        font-size: 2rem;
    }
    .top-section-container-contactus .top-contactus-button_link {
        padding-left: 0;
        width: 31rem;
        font-size: 1.8rem;
        border-radius: 3.2rem;
    }
}
