@charset "UTF-8";

/* ============================
font-face
============================ */
@font-face {
    font-family: "Urbanist";
    src: url(/fonts/Urbanist-Regular.ttf) format("truetype");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "Urbanist";
    src: url(/fonts/Urbanist-Medium.ttf) format("truetype");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "Urbanist";
    src: url(/fonts/Urbanist-Bold.ttf) format("truetype");
    font-weight: 700;
    font-display: swap;
}

/* ============================
リセット
============================ */
.l-main *{
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-main{
    width: auto;
    max-width: 100%;
    padding: 0;
    background: #F2F8FD;
    overflow: hidden;
}

/* ============================
共通
============================ */
[class*="section__wrapper--"]{
    padding-block: 100px;
}

[class*="section__inner--"]{
    width: 1140px;
    margin: 0 auto;
}

[class*="ttl__box--"]{
    text-align: left;
}

[class*="section__ttl--"]{
    margin: 0;
    font-size: 70px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.l-main [class*="section__ttl--"]{
    font-family: "Urbanist", sans-serif;
}

[class*="section__sub-ttl--"]{
    margin: 0 0 10px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

/* ============================
メインビジュアル
============================ */
.main__box{
    position: relative;
}

.org-top-mv-slider{
    width: 100%;
    overflow: hidden;
}

.org-top-mv-slider__slide{
    width: 100%;
}

.org-top-mv-slider__figure,
.main__img{
    margin: 0;
    line-height: 0;
}

.org-top-mv-slider__figure img,
.main__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================
sale_support
============================ */
.section__wrapper--sale-support{
    position: relative;
    /*padding-block: 204px 440px;オリぺ導線設置の際に元に戻す*/
    padding-block: 204px 180px;
}

.section__inner--sale-support{
    position: relative;
}

.sale-support__map{
    position: absolute;
    top: -151px;
    /*right: -71px;オリぺ導線設置の際に元に戻す*/
    right: 20px;
    /*width: 577px;オリぺ導線設置の際に元に戻す
    height: 845px;オリぺ導線設置の際に元に戻す*/
    width: 347px;
    pointer-events: none;
    z-index: 0;
}

.ttl__box--sale-support{
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

.section__sub-ttl--sale-support{
    margin: 0 0 18px;
}

.sale-support__badge{
    position: absolute;
    top: -119px;
    left: -65px;
    width: 110px;
    height: 110px;
    display: block;
}

.sale-support__body{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.sale-support__text{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.sale-support__feature{
    position: relative;
    padding-top: 10px;
}

.sale-support__feature-tag{
    position: absolute;
    top: 0px;
    left: 7px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 184px;
    padding: 9px 10px 16px 5px;
    box-sizing: border-box;
    background: url(/images/top/feature_tag.webp) no-repeat center / contain;
    filter: drop-shadow(2px 2px 2.5px rgba(0, 0, 0, 0.15));
}

.sale-support__feature-tag-text{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 2.8px;
}

.sale-support__area-list{
    display: flex;
    gap: 8px;
    width: 725px;
    margin: 0;
    padding: 24px 24px 24px 64px;
    box-sizing: border-box;
    list-style: none;
    background: #fff;
}

.sale-support__area-link{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 207px;
    height: 138px;
    overflow: hidden;
    border-radius: 4px;
    text-decoration: none;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    opacity: 1;
}

.sale-support__area-link:hover{
    opacity: 1;
}

.sale-support__area-link::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(35, 77, 129, 0.6);
    border-radius: 4px;
    transition: background-color 0.2s ease, backdrop-filter 0.2s ease;
}

.sale-support__area-link:hover::before{
    background: rgba(35, 77, 129, 0.8);
    backdrop-filter: blur(2.5px);
}

.sale-support__area-figure{
    position: absolute;
    inset: 0;
    margin: 0;
    line-height: 0;
}

.sale-support__area-figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sale-support__area-name{
    position: relative;
    z-index: 2;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

.sale-support__area-arrow{
    position: absolute;
    right: 7px;
    bottom: 6px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.sale-support__area-link:hover .sale-support__area-arrow{
    background: #0a2a51;
}

.sale-support__area-arrow img{
    width: 9px;
    height: 9px;
    display: block;
    transition: filter 0.2s ease;
}

.sale-support__area-link:hover .sale-support__area-arrow img{
    filter: brightness(0) invert(1);
}

/* ============================
achievements
============================ */
.section__wrapper--achievements{
    position: relative;
    background: #fff url(/images/top/achievements_bg.webp) center top / cover no-repeat;
    padding-block: 180px 120px;
}

.ttl__box--achievements{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-bottom: 39px;
    text-align: center;
}

.section__sub-ttl--achievements{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--achievements{
    font-weight: 400;
}

.achievements__content{
    position: relative;
    width: 100%;
}

.achievements__content::after{
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    clip-path: inset(10px -24px -24px -24px);
    pointer-events: none;
    transition: clip-path 0.2s ease;
}

.achievements__content:has(.achievements__tab-btn[data-tab="4"].is-active)::after{
    clip-path: inset(0 -24px -24px -24px);
}

.achievements__tab-list{
    display: flex;
    align-items: flex-end;
    gap: 4px;
    min-height: 50px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
}

.achievements__tab-item{
    flex: 1 1 0;
    min-width: 0;
}

.achievements__tab-btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 1px 20px 0;
    border: none;
    background: #c5cdd7;
    cursor: pointer;
    box-sizing: border-box;
    transition: height 0.2s ease, background-color 0.2s ease, padding-top 0.2s ease;
}

.achievements__tab-btn:not(.is-active):hover{
    background: #0a2a51;
    opacity: 1;
}

.achievements__tab-btn.is-active{
    height: 50px;
    padding-top: 2px;
    background: #0a2a51;
}

.achievements__tab-btn.is-active:hover{
    opacity: 1;
    cursor: default;
}

.achievements__tab-btn.is-active::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background: url(/images/top/icon_tab_achievements.svg) no-repeat center / contain;
}

.achievements__tab-text{
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    color: #99a6b4;
    transition: color 0.2s ease;
}

.l-main .achievements__tab-text{
    font-family: "Urbanist", sans-serif;
}

.achievements__tab-btn:not(.is-active):hover .achievements__tab-text{
    color: #fff;
}

.achievements__tab-btn.is-active .achievements__tab-text{
    color: #fff;
}

.achievements__panels{
    display: grid;
    background: #f2f8fd;
}

.achievements__panel{
    display: flex;
    grid-area: 1 / 1;
    gap: 24px;
    align-items: flex-start;
    padding: 40px 38px 40px 40px;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.achievements__panel.is-active{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

.achievements__media{
    position: relative;
    flex-shrink: 0;
    width: 331px;
    height: 331px;
}

.achievements__figure{
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 4px;
    line-height: 0;
}

.achievements__figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.achievements__caption{
    position: absolute;
    right: 10px;
    bottom: 9px;
    z-index: 1;
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

.achievements__subject{
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
    padding-block: 5px;
    overflow: hidden;
}

.achievements__heading{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
}

.achievements__case-ttl{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.achievements__label{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 6px 8px 8px;
    background: #234d81;
}

.achievements__label-text{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

.achievements__text{
    width: 100%;
}

.achievements__text-item{
    margin: 0 0 9px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.achievements__text-item:last-child{
    margin-bottom: 0;
}

/* ============================
contact
============================ */
.section__wrapper--contact{
    position: relative;
    background: #fff;
    padding-block: 118px 179px;
    overflow: hidden;
}

.section__inner--contact{
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: max(0px, calc((100vw - 1140px) / 2));
    box-sizing: border-box;
}

.section__inner--contact::before{
    content: "";
    position: absolute;
    background: url(/images/top/contact_bg.webp) center top / cover no-repeat;
    pointer-events: none;
    z-index: 0;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    height: 764px;
}

.contact__info{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 590px;
    max-width: 100%;
    margin: 0;
    padding-block: 120px 0;
    box-sizing: border-box;
}

.ttl__box--contact{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    margin: 0 0 14px;
}

.section__sub-ttl--contact{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--contact{
    font-weight: 400;
}

.contact__lead{
    margin: 0 0 23px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-align: center;
}

.contact__phone{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    padding-block: 20px;
    border-radius: 4px;
    background: rgba(10, 42, 81, 0.1);
    backdrop-filter: blur(2.5px);
    box-sizing: border-box;
    margin: 0 0 12px;
}

.contact__phone-number{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.contact__phone-icon{
    width: 27px;
    height: 27px;
    display: block;
    flex-shrink: 0;
}

.contact__tel{
    margin: 0;
    font-weight: 500;
    font-size: 35px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.l-main .contact__tel{
    font-family: "Urbanist", sans-serif;
}

.contact__hours{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.contact__btn-list{
    display: flex;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact__btn-item{
    flex: 1 1 0;
    min-width: 0;
}

[class*="contact__btn--"]{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    height: 100px;
    padding: 0 12px 2px;
    border: 1px solid transparent;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.contact__btn--reserve{
    background: #0a2a51;
}

.contact__btn--mail{
    background: #234d81;
}

.contact__btn--line{
    background: #06c755;
}

.contact__btn--satei{
    background: #a12435;
}

[class*="contact__btn--"]:hover{
    opacity: 1;
}

.contact__btn--reserve:hover{
    background: #fff;
    border-color: #0a2a51;
}

.contact__btn--mail:hover{
    background: #fff;
    border-color: #234d81;
}

.contact__btn--line:hover{
    background: #fff;
    border-color: #06c755;
}

.contact__btn--satei:hover{
    background: #fff;
    border-color: #a12435;
}

.contact__btn-icon{
    width: 35px;
    height: 35px;
    display: block;
    flex-shrink: 0;
    transition: filter 0.2s ease;
}

.contact__btn-text{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    transition: color 0.2s ease;
}

.contact__btn--reserve:hover .contact__btn-text{
    color: #0a2a51;
}

.contact__btn--mail:hover .contact__btn-text{
    color: #234d81;
}

.contact__btn--line:hover .contact__btn-text{
    color: #06c755;
}

.contact__btn--satei:hover .contact__btn-text{
    color: #a12435;
}

.contact__btn--reserve .contact__btn-text{
    line-height: 1;
}

.contact__btn--satei .contact__btn-text{
    line-height: 1.1;
}

.contact__btn-arrow{
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 8px;
    height: 8px;
    display: block;
    transition: filter 0.2s ease;
}

.contact__btn--reserve:hover .contact__btn-icon,
.contact__btn--reserve:hover .contact__btn-arrow{
    filter: brightness(0) saturate(100%) invert(12%) sepia(42%) saturate(2500%) hue-rotate(196deg) brightness(93%) contrast(93%);
}

.contact__btn--mail:hover .contact__btn-icon,
.contact__btn--mail:hover .contact__btn-arrow{
    filter: brightness(0) saturate(100%) invert(25%) sepia(45%) saturate(1500%) hue-rotate(196deg) brightness(90%) contrast(90%);
}

.contact__btn--line:hover .contact__btn-icon,
.contact__btn--line:hover .contact__btn-arrow{
    filter: brightness(0) saturate(100%) invert(60%) sepia(95%) saturate(500%) hue-rotate(95deg) brightness(95%) contrast(95%);
}

.contact__btn--satei:hover .contact__btn-icon,
.contact__btn--satei:hover .contact__btn-arrow{
    filter: brightness(0) saturate(100%) invert(18%) sepia(55%) saturate(3000%) hue-rotate(330deg) brightness(85%) contrast(90%);
}

.contact__figure{
    position: absolute;
    top: 0;
    left: calc((100vw - 1920px) / 2 + 1060px);
    width: 860px;
    height: 480px;
    margin: 0;
}

.contact__figure img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ============================
flowchart
============================ */
.section__wrapper--flowchart{
    padding-block: 180px 178px;
}

.section__inner--flowchart{
    width: 1280px;
}

.flowchart__box{
    display: flex;
    flex-direction: column;
    gap: 38px;
    width: 100%;
    min-height: 874px;
    height: auto;
    padding: 70px 70px 70px;
    border-radius: 20px;
    background: #eaf3fe;
    box-sizing: border-box;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
}

.flowchart__header{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 1140px;
}

.ttl__box--flowchart{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.section__sub-ttl--flowchart{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--flowchart{
    font-weight: 400;
}

.flowchart__legend{
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px 29px;
    background: #eaf3fe;
}

[class*="flowchart__legend-item--"]{
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}

.flowchart__legend-label{
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
}

.l-main .flowchart__legend-label{
    font-family: "Urbanist", sans-serif;
}

.flowchart__legend-item--yes .flowchart__legend-label{
    color: #a12435;
}

.flowchart__legend-item--no .flowchart__legend-label{
    color: #234d81;
}

.flowchart__legend-arrow{
    width: 55px;
    height: 11px;
    display: block;
}

/* 図形配置のため absolute を使用。カード／結果テキストは折り返し・自動高さで文言差し替えに対応 */
.flowchart__subject{
    position: relative;
    width: 1140px;
    min-height: 602px;
    height: auto;
}

.flowchart__start{
    position: absolute;
    top: 0;
    left: 0;
    width: 480px;
    padding-top: 10px;
    box-sizing: border-box;
}

.flowchart__start-badge{
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 1px 12px 3px;
    border: 2px solid #0a2a51;
    border-radius: 9999px;
    background: #fff;
    transform: translateX(-50%);
    box-sizing: border-box;
}

.flowchart__start-badge-text{
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-align: center;
}

.l-main .flowchart__start-badge-text{
    font-family: "Urbanist", sans-serif;
}

[class*="flowchart__card--"]{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 12px;
    box-sizing: border-box;
    background: #fff;
}

.flowchart__card--start{
    width: 100%;
    padding: 14px 12px 9px;
    border-radius: 8px;
    background: #0a2a51;
}

.flowchart__card--condition{
    position: absolute;
    top: 94px;
    left: 0;
    width: 480px;
}

.flowchart__card--price,
.flowchart__card--tenant,
.flowchart__card--liability{
    width: 528px;
}

.flowchart__card-text,
[class*="flowchart__card-text--"]{
    margin: 0;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-align: center;
    overflow-wrap: break-word;
    word-break: break-word;
}

.flowchart__card-text--light{
    color: #fff;
    line-height: 1.4;
}

[class*="flowchart__branch--"]{
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}

[class*="flowchart__branch-label--"]{
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
}

.l-main [class*="flowchart__branch-label--"]{
    font-family: "Urbanist", sans-serif;
}

.flowchart__branch-label--yes{
    color: #a12435;
}

.flowchart__branch-label--no{
    color: #234d81;
}

[class*="flowchart__branch-arrow--"]{
    display: block;
    flex-shrink: 0;
}

.flowchart__branch-arrow--v{
    width: 11px;
    height: 26px;
}

.flowchart__branch-arrow--h{
    width: 55px;
    height: 11px;
}

.flowchart__branch-arrow--yes-long{
    width: 11px;
    height: auto;
}

.flowchart__branch--yes-condition{
    position: absolute;
    top: 62px;
    left: 199px;
    padding-right: 45px;
    box-sizing: border-box;
}

.flowchart__choice{
    position: absolute;
    top: 170px;
    left: 0;
    display: flex;
    align-items: flex-start;
    gap: 25px;
}

.flowchart__branch--yes-purchase{
    position: relative;
    display: block;
    align-self: stretch;
    width: 45px;
    flex-shrink: 0;
}

.flowchart__branch--yes-purchase [class*="flowchart__branch-label--"]{
    position: absolute;
    top: 5px;
    left: 33px;
    transform: translateX(-100%);
    text-align: right;
}

.flowchart__branch--yes-purchase .flowchart__branch-arrow--yes-long{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 45px;
    width: 11px;
    height: 100%;
    transform: translateX(-50%);
}

.flowchart__mid{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.flowchart__branch--no-price{
    justify-content: flex-end;
    width: 175px;
}

.flowchart__branch--yes-next{
    padding-left: 125px;
    box-sizing: border-box;
}

.flowchart__branch--no-brokerage{
    position: absolute;
    top: 0;
    left: 488px;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 55px;
    padding-top: 9px;
    box-sizing: border-box;
}

[class*="flowchart__result--"]{
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    height: auto;
    padding: 16px 20px 20px;
    border: 2px solid #0a2a51;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
}

.flowchart__result--purchase{
    top: 482px;
    left: 0;
    width: 480px;
    justify-content: center;
}

.flowchart__result--brokerage{
    top: 0;
    left: 551px;
    width: 589px;
    justify-content: center;
}

.flowchart__result--hybrid{
    top: 482px;
    left: 500px;
    width: 640px;
}

.flowchart__result-ttl{
    margin: 0;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    overflow-wrap: break-word;
    word-break: break-word;
}

[class*="flowchart__result-ttl-accent--"]{
    font-weight: 700;
}

.flowchart__result-ttl-accent--purchase{
    color: #a12435;
}

.flowchart__result-ttl-accent--brokerage{
    color: #234d81;
}

.flowchart__result-text{
    margin: 0;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    overflow-wrap: break-word;
    word-break: break-word;
}

.flowchart__no-path{
    position: absolute;
    top: 198px;
    right: 314px;
    width: 221px;
    height: 277px;
}

[class*="flowchart__no-path-label--"]{
    position: absolute;
    left: 18px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #234d81;
    text-align: center;
}

.l-main [class*="flowchart__no-path-label--"]{
    font-family: "Urbanist", sans-serif;
}

.flowchart__no-path-label--1{
    top: 1px;
}

.flowchart__no-path-label--2{
    top: 87px;
}

.flowchart__no-path-label--3{
    top: 184px;
}

.flowchart__no-path-arrow{
    position: absolute;
    top: 27px;
    left: 1px;
    width: 220px;
    height: 251px;
    display: block;
}

/* ============================
one-stop
============================ */
.section__wrapper--one-stop{
    position: relative;
    background: #0a2a51;
    padding-block: 181px 180px;
    overflow: visible;
}

.one-stop__bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.section__inner--one-stop{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 32px;
    height: 646px;
}

[class*="one-stop__figure--"]{
    margin: 0;
    overflow: hidden;
    line-height: 0;
}

.one-stop__figure-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.one-stop__figure--main{
    flex: 1 0 0;
    align-self: stretch;
    min-width: 0;
    border-radius: 8px;
}

[class*="one-stop__figure--0"]{
    position: absolute;
    z-index: 2;
    border-radius: 4px;
}

.one-stop__figure--01{
    top: -70px;
    left: calc(50% - 710px);
    width: 330px;
    height: 220px;
}

.one-stop__figure--02{
    top: 40px;
    left: 50%;
    width: 270px;
    height: 180px;
}

.one-stop__figure--03{
    bottom: 43px;
    left: calc(50% - 620px);
    width: 240px;
    height: 160px;
    z-index: 0;
}

.one-stop__figure--04{
    bottom: -60px;
    left: calc(50% + 26px);
    width: 300px;
    height: 200px;
}

.one-stop__subject{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 60px 0 0 48px;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* DOM は自然な文順。見た目の縦書きカラム配置は flex order で制御 */
.one-stop__subject-text--05{
    order: 1;
}

.one-stop__subject-col--03{
    order: 2;
}

.one-stop__subject-text--02{
    order: 3;
}

.one-stop__subject-col--01{
    order: 4;
}

.one-stop__subject-col--04{
    order: 5;
}

.one-stop__subject-col{
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.one-stop__subject-text{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 2px;
}

.ttl__box--one-stop{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 11px;
    flex-shrink: 0;
    flex-direction: row-reverse;
}

.section__ttl--one-stop{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 11px;
    margin: 0;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.05em;
    color: #fff;
}

.l-main .section__ttl--one-stop{
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.one-stop__ttl-line{
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 4px;
}

.section__sub-ttl--one-stop{
    margin: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    order: -1;
    letter-spacing: 2px;
}

/* ============================
view-all（一覧を見る）
============================ */
.view-all{
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 10px;
    text-decoration: none;
    box-sizing: border-box;
    margin: 0 0 11px;
}

.view-all:hover{
    opacity: 1;
}

.view-all::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #0a2a51;
    transform: scaleX(1);
    transform-origin: left center;
}

.view-all:hover::after{
    animation: view-all-line 0.4s ease forwards;
}

@keyframes view-all-line{
    from{
        transform: scaleX(0);
    }

    to{
        transform: scaleX(1);
    }
}

.view-all__text{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: normal;
    letter-spacing: 0.05em;
    color: #0a2a51;
    white-space: nowrap;
}

.view-all__icon{
    width: 8px;
    height: 8px;
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.view-all:hover .view-all__icon{
    transform: translate(3px, -3px);
}

/* ============================
column
============================ */
.section__wrapper--column{
    background: #f2f8fd;
    padding-block: 180px 20px;
    overflow: hidden;
}

.section__inner--column{
    overflow: visible;
}

.column__header{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 39px;
}

.ttl__box--column{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.section__sub-ttl--column{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--column{
    font-weight: 400;
}

.column__content{
    display: flex;
    align-items: flex-start;
    gap: 45px;
    width: 100%;
    overflow: visible;
}

.column__filter{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-shrink: 0;
    align-self: stretch;
    width: 140px;
}

.column__tab-list{
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.column__tab-item{
    width: 100%;
}

.column__tab-btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 2px 16px 0;
    border: none;
    background: #c5cdd7;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}

.column__tab-btn:not(.is-active):hover{
    opacity: 1;
    background: #0a2a51;
}

.column__tab-btn.is-active{
    background: #0a2a51;
    cursor: default;
}

.column__tab-btn.is-active:hover{
    opacity: 1;
    background: #0a2a51;
}

.column__tab-btn.is-active::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background: url(/images/top/icon_tab_indicator.svg) no-repeat center / contain;
}

.column__tab-text{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #99a6b4;
    text-align: center;
    transition: color 0.2s ease;
}

.column__tab-btn:not(.is-active):hover .column__tab-text{
    color: #fff;
}

.column__tab-btn.is-active .column__tab-text{
    color: #fff;
}

.column__pager{
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 11px;
}

.column__pager-btn{
    display: block;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    line-height: 0;
}

.column__pager-btn[hidden],
[class*="voice__pager-btn--"][hidden]{
    display: none !important;
}

.column__pager[hidden],
.voice__pager[hidden]{
    display: none !important;
}

.column__pager-btn--prev{
    background-image: url(/images/top/icon_pager_prev.svg);
}

.column__pager-btn--prev:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_prev_on.svg);
}

.column__pager-btn--next{
    background-image: url(/images/top/icon_pager_next.svg);
}

.column__pager-btn--next:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_next_on.svg);
}

.column__panels{
    flex: 1 1 auto;
    min-width: 0;
    width: calc(100vw - (100vw - 1140px) / 2 - 190px);
    max-width: calc(100vw - (100vw - 1140px) / 2 - 190px);
    x); */
    padding-block: 5px;
    overflow: visible;
    --column-panel-width: calc(100vw - (100vw - 1140px) / 2 - 190px);
    --column-slide-width: 360px;
    --column-slide-gap: 20px;
    --column-slider-padding: 10px;
    --column-visible-count: max(1, floor((var(--column-panel-width) - var(--column-slider-padding) + var(--column-slide-gap)) / (var(--column-slide-width) + var(--column-slide-gap))));
}

.column__panel{
    width: 100%;
    overflow: visible;
}

.column__panel[hidden]{
    display: none !important;
}

.column__slider{
    width: 100%;
    padding-inline: 5px;
    overflow: visible;
    clip-path: inset(0 -300% 0 0);
    box-sizing: border-box;
}

.column__slide{
    width: 360px;
    height: auto;
    padding-block: 0 10px;
    box-sizing: content-box;
}

.column__card{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 360px;
    height: 378px;
    padding-bottom: 20px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    text-decoration: none;
    box-sizing: border-box;
}

.column__card:hover{
    opacity: 1;
}

.column__card-hover{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 4px;
    background: rgba(35, 77, 129, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.column__card:hover .column__card-hover{
    opacity: 1;
    visibility: visible;
}

.column__card-hover-text{
    font-family: "Urbanist", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    white-space: nowrap;
}

.column__card-hover-icon{
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.column__card-figure{
    margin: 0;
    width: 100%;
    height: 240px;
    overflow: hidden;
    line-height: 0;
}

.column__card-figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.column__card-body{
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.column__card-date{
    margin: 0;
    width: 100%;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    color: #234d81;
}

.l-main .column__card-date{
    font-family: "Urbanist", sans-serif;
}

.column__card-ttl{
    display: -webkit-box;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin: 0 0 6px;
}

.column__card-text{
    display: -webkit-box;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #78909c;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* ============================
voice
============================ */
.section__wrapper--voice{
    background: #f2f8fd;
    padding-block: 150px 60px;
    overflow: hidden;
}

.section__inner--voice{
    display: flex;
    align-items: stretch;
    gap: 72px;
    overflow: visible;
}

.voice__slider-wrap{
    flex: 1 1 0;
    min-width: 0;
    width: calc(100% + min(0px, (1140px - 100vw) / 2));
    margin-left: calc((1140px - 100vw) / 2);
    overflow: hidden;
    box-sizing: border-box;
}

.voice__slider-wrap.is-slider-align-end{
    overflow: visible;
}

.voice__slider{
    width: 770px;
    padding-inline: 5px 0;
    overflow: visible;
    clip-path: inset(-10px 0 -10px -300%);
    box-sizing: border-box;
    margin-right: 0;
}

.voice__slider-wrap.is-slider-align-end .voice__slider .swiper-wrapper{
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    transform: none !important;
    width: 100%;
}

.voice__slider .swiper-slide{
    width: 240px !important;
    flex-shrink: 0;
}

.voice__slider-wrap.is-slider-align-end .voice__slide{
    width: 240px !important;
    flex-shrink: 0;
    margin: 0 !important;
}

.voice__slide{
    width: 240px;
    height: auto;
    padding-block: 0 10px;
    box-sizing: content-box;
}

.voice__card{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 240px;
    height: 360px;
    padding-bottom: 18px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    text-decoration: none;
    box-sizing: border-box;
}

.voice__card:hover{
    opacity: 1;
}

.voice__card-hover{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 4px;
    background: rgba(35, 77, 129, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.voice__card:hover .voice__card-hover{
    opacity: 1;
    visibility: visible;
}

.voice__card-hover-text{
    font-family: "Urbanist", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    white-space: nowrap;
}

.voice__card-hover-icon{
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.voice__card-figure{
    margin: 0;
    width: 240px;
    height: 240px;
    overflow: hidden;
    line-height: 0;
}

.voice__card-figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.voice__card-body{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.voice__card-name{
    display: -webkit-box;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-align: center;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.voice__card-line{
    display: block;
    width: 80px;
    height: 1px;
    background: #a12435;
    flex-shrink: 0;
}

.voice__card-text{
    display: -webkit-box;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.voice__side{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    flex-shrink: 0;
    align-self: stretch;
}

.ttl__box--voice{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    text-align: right;
}

.section__sub-ttl--voice{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--voice{
    font-weight: 400;
}

.voice__actions{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 32px;
}

.voice__pager{
    display: flex;
    align-items: center;
    gap: 4px;
}

[class*="voice__pager-btn--"]{
    display: block;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    line-height: 0;
}

.voice__pager-btn--prev{
    background-image: url(/images/top/icon_pager_prev.svg);
}

.voice__pager-btn--prev:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_prev_on.svg);
}

.voice__pager-btn--next{
    background-image: url(/images/top/icon_pager_next.svg);
}

.voice__pager-btn--next:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_next_on.svg);
}

/* ============================
staff
============================ */
.section__wrapper--staff{
    background: #f2f8fd;
    padding-block: 112px 60px;
}

.section__inner--staff{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 1240px;
    position: relative;
}

.ttl__box--staff{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
    position: absolute;
    top: -61px;
    left: 50%;
    transform: translateX(-50%);
}

.section__sub-ttl--staff{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--staff{
    font-weight: 400;
}

.staff__box{
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    padding: 50px 50px 32px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}

.staff__slider{
    width: 100%;
    overflow: hidden;
}

.staff__box.is-slider-off .staff__slider .swiper-wrapper,
.staff__box.is-slider-align-center .staff__slider .swiper-wrapper{
    display: flex;
    gap: 24px;
    transform: none !important;
}

.staff__box.is-slider-align-center .staff__slider .swiper-wrapper{
    justify-content: center;
}

.staff__box.is-slider-off .staff__slide,
.staff__box.is-slider-align-center .staff__slide{
    width: calc((100% - 24px) / 2);
    margin: 0 !important;
}

.staff__slide{
    height: auto;
    box-sizing: border-box;
}

.staff__card{
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 20px;
    filter: drop-shadow(2px 2px 2.5px rgba(0, 0, 0, 0.15));
    text-decoration: none;
    box-sizing: border-box;
}

.staff__card:hover{
    opacity: 1;
}

.staff__card-hover{
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 8px;
    background: rgba(35, 77, 129, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.staff__card:hover .staff__card-hover{
    opacity: 1;
    visibility: visible;
}

.staff__card-hover-text{
    font-family: "Urbanist", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    white-space: nowrap;
}

.staff__card-hover-icon{
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.staff__card-figure{
    margin: 0;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: 8px;
    overflow: hidden;
    line-height: 0;
}

.staff__card-figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.staff__card-name-wrap{
    position: absolute;
    bottom: 0;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: calc(100% - 80px);
    max-width: 480px;
    padding-block: 6px;
    border-radius: 2px;
    background: #234d81;
    transform: translateX(-50%);
    box-sizing: border-box;
}

.staff__card-name{
    display: -webkit-box;
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.staff__nav{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
}

.staff__nav .view-all{
    margin: 0;
}

.staff__pager{
    display: flex;
    align-items: center;
    gap: 4px;
}

.staff__pager-btn{
    display: block;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    line-height: 0;
}

.staff__pager-btn[hidden]{
    display: none !important;
}

.staff__pager-btn--prev{
    background-image: url(/images/top/icon_pager_prev.svg);
}

.staff__pager-btn--prev:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_prev_on.svg);
}

.staff__pager-btn--next{
    background-image: url(/images/top/icon_pager_next.svg);
}

.staff__pager-btn--next:hover{
    opacity: 1;
    background-image: url(/images/top/icon_pager_next_on.svg);
}

/* ============================
news
============================ */
.section__wrapper--news{
    position: relative;
    background: #f2f8fd;
    padding-block: 120px 180px;
    overflow: hidden;
}

.news__bg{
    position: absolute;
    top: -60px;
    left: 50%;
    width: 1920px;
    height: 760px;
    max-width: none;
    object-fit: cover;
    pointer-events: none;
    transform: translateX(-50%);
}

.section__inner--news{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 80px;
}

.news__headline{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 38px;
    flex-shrink: 0;
}

.news__headline .view-all{
    margin: 0;
}

.ttl__box--news{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.section__sub-ttl--news{
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.l-main .section__ttl--news{
    font-weight: 400;
}

.news__content{
    flex: 1 1 0;
    min-width: 0;
}

.news__list{
    height: 400px;
}

.news__list .simplebar-content{
    box-sizing: border-box;
}

.news__list .simplebar-track.simplebar-vertical{
    top: 0;
    right: 0;
    width: 8px;
    background: rgba(35, 77, 129, 0.2);
}

.news__list .simplebar-track.simplebar-vertical .simplebar-scrollbar:before{
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    background: #234d81;
    opacity: 1;
}

.news__list .simplebar-track.simplebar-vertical .simplebar-scrollbar.simplebar-visible:before{
    opacity: 1;
}

.news__item{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 850px;
    padding: 18px 23px 24px 21px;
    background: rgba(255, 255, 255, 0.7);
    box-sizing: border-box;
    margin: 0 0 7px;
}

.news__item:last-child{
    margin: 0;
}

.news__item-date{
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.15em;
    color: #234d81;
    white-space: nowrap;
}

.l-main .news__item-date{
    font-family: "Urbanist", sans-serif;
}

.news__item-ttl{
    margin: 0 0 9px;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #0a2a51;
}

.news__item-text{
    margin: 0;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #78909c;
}
