img{
    width: 100%;
}
body{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    background: #DEDEDE;
    color: #3F3F3F;
    background-image: url(../images/bg_grid_01_pc.avif);
    background-size: contain;
    background-repeat: repeat;
}
@media screen and (max-width: 768px){
    body{
        background-image: url(../images/bg_grid_03_sp.avif);
    }
}
.realization-item__number{
    font-family: "Doppio One", sans-serif;
}
@media screen and (max-width: 768px){
    .pc-only{
        display: none;
    }
}
.sp-only{
    display: none;
}
@media screen and (max-width: 768px){
    .sp-only{
        display: block;
    }
}
.hidden{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.inner{
    width: 83.06vw;
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    .inner{
        width: unset;
    }
}


/* ===================FV================= */
.fv {
    position: relative;
    padding: 3.82vw 0 10.42vw 0;
}
@media screen and (max-width: 768px){
    .fv{
        padding: 4vw 0 5.33vw 0;
    }
}
.fv::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 8.5vw solid #00509C;   /* 三角の色 */
    border-right: 8.5vw solid transparent;
}
.fv__title{
    width: 83.06vw;
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    .fv__title{
        width: 85.6vw;
    }
}
.fv__company-name{
    font-size: 2.5vw;
    color: #fff;
    background-color: #00509C;
    display: inline-block;
    margin-top: 0.97vw;
    margin-left: 8.5vw;
    font-weight: 700;
    padding-bottom: 0.2vw;
}
@media screen and (max-width: 768px){
    .fv__company-name{
        font-size: 2.67vw;
        margin-top: 1.232vw;
    }
}
.fv__company-name .text-small{
    font-size: 2.1vw;
}
@media screen and (max-width: 768px){
    .fv__company-name .text-small{
        font-size: 2.13vw;
    }
}
.fv__logo{
    width: 23.8vw;
    margin-left: 8.5vw;
    margin-top: 1.46vw;
}
@media screen and (max-width: 768px){
    .fv__logo{
        width: 36.53vw;
        margin-top: 1.6vw;
    }
}
.fv__contents--wrapper{
    padding-left: 8.5vw;
    display: flex;
    gap: 3.68vw;
    align-items: flex-end;
    margin-top: -14.24vw;
}
@media screen and (max-width: 768px){
    .fv__contents--wrapper{
        flex-direction: column-reverse;
        gap: 0;
        margin-top: -15vw;
        align-items: flex-start;
    }
}
@media screen and (max-width: 768px){
    .fv-contents__left{
        margin-top: -10.77vw;
        z-index: 4;
    }
}
.fv-contents__email{
    font-size: 1.25vw;
    margin-bottom: 1.6vw;
    display: flex;
    align-items: center;
    gap: 0.7vw;
    cursor: pointer;
}
@media screen and (max-width: 768px){
    .fv-contents__email{
        font-size: 3.2vw;
        gap: 1.9vw;
    }
}
.fv-contents__email-icon{
    width: 2.76vw;
}
@media screen and (max-width: 768px){
    .fv-contents__email-icon{
        width: 7.34vw;
    }
}
.fv-contents__email--link{
    padding-bottom: 0.028vw;
    line-height: 1.5;
    border-bottom: 2px solid #00509C;
    position: relative;
}
@media screen and (max-width: 768px){
    .fv-contents__email--link{
        padding-bottom: 0.74vw;
        border-bottom: 1px solid #00509C;
    }
}
.fv-contents__email--link::after{
    content: "";
    width: 0.35vw;
    height: 0.35vw;
    background-color: #00509C;
    border-radius: 50%;
    position: absolute;
    right: -0.56vw;
    bottom: -0.278vw;
}
@media screen and (max-width: 768px){
    .fv-contents__email--link::after{
        width: 0.93vw;
        height: 0.93vw;
        right: -1.5vw;
        bottom: -0.5vw;
    }
}
.fv-contents__text{
    font-size: 1.25vw;
    line-height: 1.7;
    background-color: #fff;
    padding-bottom: 0.2vw;
    width: 23.96vw;
    margin-bottom: 9.27vw;
    text-align: justify;
}
@media screen and (max-width: 768px){
    .fv-contents__text{
        font-size: 3.2vw;
        width: 82.67vw;
        margin-bottom: 1.33vw;
        padding: 1px 2.67vw 1.01vw 2.67vw;
    }
}
.fv-contents__right{
    width: 63.9vw;
    overflow: hidden;
}
@media screen and (max-width: 768px){
    .fv-contents__right{
        width: 89.33vw;
        z-index: 2;
    }
}
.fv-contents__main{
    width: 56.54vw;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px){
    .fv-contents__main{
        width: 84.27vw;
    }
}
.fv-contents__main::before{
    content: "";
    width: 38.19vw;
    height: 38.19vw;
    background-image: url(../images/img_circle_04_pc.avif);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -3.18vw;
    z-index: -1;
    top: 9.2vw;
    animation: rotateCircle 30s linear infinite;
}
@media screen and (max-width: 768px){
    .fv-contents__main::before{
        width: 57.1vw;
        height: 57.1vw;
        top: 13.5vw;
        right: -5.1vw;
    }
}
.fv__bottom-text{
    width: 91.2vw;
    padding-left: 8.5vw;
    margin-top: -7.65vw;
}
@media screen and (max-width: 768px){
    .fv__bottom-text{
        width: 91.17vw;
        margin-top: 1vw;
    }
}


/* ================concern================= */
.concern{
    position: relative;
    z-index: -1;
}
.concern__text-wrapper{
    position: absolute;
    transform: translate(-50%, -50%);
    background-color: #fff;
    z-index: 3;
    left: 50%;
    top: 50%;
    box-shadow: -5px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 1.67vw 1.39vw 1.81vw;
}
@media screen and (max-width: 768px){
    .concern__text-wrapper{
        padding: 1.87vw 1.33vw 2.93vw 1.3vw;
        text-align: justify;
    }
}
.concern__heading{
    font-size: 2.5vw;
    display: flex;
    align-items: center;
    line-height: 1.7;
    justify-content: center;
    gap: 0.9vw;
    font-weight: 700;
}
@media screen and (max-width: 768px){
    .concern__heading{
        font-size: 3.2vw;
        gap: 1.1vw;
        font-weight: 700;
        margin-bottom: 2.13vw;
    }
}
.concern__heading--hashtag{
    width: 2.63vw;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 768px){
    .concern__heading--hashtag{
        width: 2.62vw;
    }
}
.concern__text{
    font-size: 1.25vw;
    line-height: 1.7;
}
@media screen and (max-width: 768px){
    .concern__text{
        font-size: 3.2vw;
    }
}

/* ===============realization============ */
.realization{
    padding: 6.67vw 0 5.56vw 0;
}
@media screen and (max-width: 768px){
    .realization{
        padding: 9.33vw 0 0 0;
    }
}
.realization__heading--wrapper{
    width: 52.78vw;
}
@media screen and (max-width: 768px){
    .realization__heading--wrapper{
        width: 82.67vw;
        margin: 0 auto;
    }
}
.realization__list{
    display: flex;
    gap: 1.2vw;
    flex-wrap: wrap;
    margin-top: 0.56vw;
}
@media screen and (max-width: 768px){
    .realization__list{
        gap: 2.67vw;
        flex-direction: column;
        margin: 0 auto;
        margin-top: 1.5vw;
        width: 77.6vw;
        margin-bottom: 8.53vw;
    }
}
.realization__item{
    background-color: #00509C;
    width: 26.8vw;
    color: #fff;
    padding: 2.1vw;
    height: 26.8vw;
    display: flex;
    flex-direction: column;
    position: relative;
}
@media screen and (max-width: 768px){
    .realization__item{
        width: 100%;
        height: 77.6vw;
        padding: 6vw;
    }
}
.realization1{
    background-image: url(../images/icon_realization_01_pc.avif);
    background-size: contain;
}
.realization2{
    background-image: url(../images/icon_realization_02_pc.avif);
    background-size: contain;
}
.realization3{
    background-image: url(../images/icon_realization_03_pc.avif);
    background-size: contain;
}
.realization4{
    background-image: url(../images/icon_realization_04_pc.avif);
    background-size: contain;
}
.realization5{
    background-image: url(../images/icon_realization_05_pc.avif);
    background-size: contain;
}
.realization6{
    background-image: url(../images/icon_realization_06_pc.avif);
    background-size: contain;
}
.realization7{
    background-image: url(../images/icon_realization_07_pc.avif);
    background-size: contain;
}
.realization8{
    background-image: url(../images/icon_realization_08_pc.avif);
    background-size: contain;
}
.realization9{
    background-image: url(../images/icon_realization_09_pc.avif);
    background-size: contain;
}
/* 右上のカッコ */
.realization__item::before {
    content: "";
    position: absolute;
    top: 2.1vw;
    right: 2.1vw;
    width: 1.04vw;
    height: 1.04vw;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
@media screen and (max-width: 768px){
    .realization__item::before{
        width: 3.02vw;
        height: 3.02vw;
    }
}

/* 左下のカッコ */
.realization__item::after {
    content: "";
    position: absolute;
    bottom: 2.1vw;
    left: 2.1vw;
    width: 1.04vw;
    height: 1.04vw;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}
@media screen and (max-width: 768px){
    .realization__item::after{
        width: 3.02vw;
        height: 3.02vw;
    }
}
.realization-item__realization{
    font-size: 0.625vw;
    line-height: 1.7;
}
@media screen and (max-width: 768px){
    .realization-item__realization{
        font-size: 2.4vw;
    }
}
.realization-item__heading{
    font-size: 1.8vw;
    line-height: 1.7;
    letter-spacing: 0.03;
    margin-top: 1.389vw;
    padding-bottom: 1.11vw;
    border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px){
    .realization-item__heading{
        font-size: 4.27vw;
        margin-top: 4vw;
        padding-bottom: 3.2vw;
    }
}
.realization-item__description{
    font-size: 1.25vw;
    line-height: 1.7;
    margin-top: 1.389vw;
}
@media screen and (max-width: 768px){
    .realization-item__description{
        font-size: 3.2vw;
        margin-top: 4vw;
    }
}
.realization-item__number{
    margin-top: auto;
    font-size: 2.5vw;
    text-align: right;
}
@media screen and (max-width: 768px){
    .realization-item__number{
        font-size: 5.33vw;
    }
}
.section-bottom-text{
    font-size: 1.81vw;
    background: #fff;
    text-align: center;
    margin-top: 2.1vw;
    line-height: 1.9;
}
@media screen and (max-width: 768px){
    .section-bottom-text{
        font-size: 4.27vw;
        font-weight: 500;
        padding: 1.33vw 0 1.33vw 0;
        margin-top: 0;
    }
}

/* ===================result=============== */
.result{
    padding: 5.97vw 0 8vw 0;
    position: relative;
    z-index: 0;
}
@media screen and (max-width: 768px){
    .result{
        padding: 16vw 0 14.67vw;
    }
}
.result::before{
    content: "";
    width: 28.125vw;
    height: 56.25vw;
    left: 0;
    top: 0;
    position: absolute;
    background-image: url(../images/text_trading-results_01_pc.avif);
    background-size: contain;
    z-index: -1;
    background-repeat: no-repeat;
}
@media screen and (max-width: 768px){
    .result::before{
        background-image: url(../images/text_trading-results_02_sp.avif);
        width: 23.73vw;
        height: 202.4vw;
        top: 16vw;
    }
}
.result__heading--wrapper{
    width: 10.9vw;
    margin-bottom: 2.36vw;
}
@media screen and (max-width: 768px){
    .result__heading--wrapper{
        width: 38.13vw;
        margin-left: 8.53vw;
    }
}
.result__contents--wrapper{
    display: flex;
    flex-direction: column;
    gap: 1.74vw;
}
@media screen and (max-width: 768px){
    .result__contents--wrapper{
        gap: 4.85vw;
    }
}
.result__contents{
    position: relative;
    display: flex;
    gap: 1.39vw;
}
@media screen and (max-width: 768px){
    .result__contents{
        flex-direction: column;
        width: 77.6vw;
        margin: 0 auto;
        gap: 0;
    }
}
.result-contents__image{
    width: 32.5vw;
}
@media screen and (max-width: 768px){
    .result-contents__image{
        width: 77.6vw;
    }
}
.result-contents__description{
    width: 40.9vw;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 768px){
    .result-contents__description{
        width: 77.6vw;
    }
}
.result-contents__client{
    font-size: 1.25vw;
    color: #fff;
    display: inline-block;
    background-color: #E1A844;
    margin-left: auto;
    position: relative;
}
@media screen and (max-width: 768px){
    .result-contents__client{
        font-size: 3.2vw;
        margin-bottom: 4.27vw;
        line-height: 1.7;
        padding-left: 0.8vw;
        padding-right: 0.8vw;
    }
}
.result-contents__client.sp-only{
    display: none;
}
@media screen and (max-width: 768px){
    .result-contents__client.pc-only{
        display: none;
    }
    .result-contents__client.sp-only{
        display: inline-block;
    }
}
.result-contents__client::before{
    width: 6.94vw;
    height: 6.94vw;
    content: "";
    right: 0;
    top: -0.4vw;
    background-image: url(../images/img_circle_02_pc.avif);
    background-size: contain;
    position: absolute;
    z-index: -1;
}
@media screen and (max-width: 768px){
    .result-contents__client::before{
        width: 17.1vw;
        height: 17.1vw;
        top: 0;
        background-image: url(../images/img_circle_03_sp.avif);
    }
}
.result-contents__heading{
    font-size: 1.8vw;
    background-color: #fff;
    width: fit-content;
    margin-top: 1.11vw;
    font-weight: 700;
    padding-bottom: 0.1vw;
}
@media screen and (max-width: 768px){
    .result-contents__heading{
        font-size: 4.27vw;
        margin-top: 2.67vw;
        width: 77.6vw;
        text-align: justify;
        padding-left: 0.2vw;
    }
}
.result-contents__text{
    font-size: 1.25vw;
    letter-spacing: 0.03em;
    line-height: 1.7;
    margin-top: 0.97vw;
    border-bottom: 0.2vw solid #00509C;
    padding-bottom: 1.04vw;
    position: relative;
}
@media screen and (max-width: 768px){
    .result-contents__text{
        font-size: 3.2vw;
        margin-top: 3.2vw;
        letter-spacing: 0.02em;
        border-bottom: none;
        padding-bottom: 4.53vw;
        text-align: justify;
    }
}
.result-contents__text::after{
    content: "";
    width: 1.39vw;
    height: 1.39vw;
    background-color: #00509C;
    border-radius: 50%;
    position: absolute;
    right: -2.18vw;
    bottom: -0.8vw;
}
@media screen and (max-width: 768px){
    .result-contents__text::after{
        display: none;
    }
}
@media screen and (max-width: 768px){
    .result-contents__description .underline{
        position: relative;
        width: 100%;
    }
    .result-contents__description .underline::before{
        width: 72.53vw;
        content: "";
        background-color: #00509C;
        height: 0.8vw;
        left: 0;
        bottom: 0;
        position: absolute;
    }
    .result-contents__description .underline::after{
        width: 2.63vw;
        height: 2.63vw;
        content: "";
        background-color: #00509C;
        right: 0;
        top: -1.6vw;
        position: absolute;
        border-radius: 50%;
    }
}

/* =================items================= */
.items{
    position: relative;
    padding: 7.7vw 0 10.42vw 0;
}
@media screen and (max-width: 768px){
    .items{
        padding: 8.53vw 0 16vw 0;
    }
}
.items::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-bottom: 8.5vw solid #00509C;   /* 三角の色 */
    border-right: 8.5vw solid transparent;
}

.items::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-top: 8.5vw solid #00509C;   /* 三角の色 */
    border-left: 8.5vw solid transparent;
}

.items__contents--wrapper{
    position: relative;
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 768px){
    .items__contents--wrapper{
        flex-direction: column-reverse;
        width: 82.67vw;
        margin: 0 auto;
    }
}
.items__contents--wrapper::before{
    position: absolute;
    content: "";
    width: 5.7vw;
    height: 56.5vw;
    top: 0;
    left: -8.5vw;
    background-repeat: no-repeat;
    background-image: url(../images/text_items-handled_01_pc.avif);
    background-size: contain;
}
@media screen and (max-width: 768px){
    .items__contents--wrapper::before{
        width: 21.86vw;
        height: 217.1vw;
        left: -6.4vw;
        background-image: url(../images/text_items-handled_02_sp.avif);
        z-index: -1;
    }
}
.items__heading--wrapper{
    width: 15.76vw;
    position: relative;
}
@media screen and (max-width: 768px){
    .items__heading--wrapper{
        width: 54.4vw;
        margin-left: 8.53vw;
        margin-bottom: 7.2vw;
    }
}
.items__heading--wrapper::before{
    width: 21.04vw;
    height: 21.04vw;
    background-image: url(../images/img_circle_01_pc.avif);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    right: -13.75vw;
    top: -6.11vw;
    z-index: -1;
    animation: rotateCircle 20s linear infinite;
}
@media screen and (max-width: 768px){
    .items__heading--wrapper::before{
        display: none;
    }
}
@keyframes rotateCircle {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.items-contents__list{
    width: 23.96vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.32vw;
    margin-top: 2.36vw;
}
@media screen and (max-width: 768px){
    .items-contents__list{
        width: 82.67vw;
        gap: 3.2vw;
        margin-top: 8vw;
    }
}
.items-contents__item{
    color: #00509C;
    font-size: 1.81vw;
    letter-spacing: 0.03em;
    background-color: #fff;
    padding-bottom: 0.1vw;
}
@media screen and (max-width: 768px){
    .items-contents__item{
        font-size: 4.27vw;
        padding-bottom: 0.4vw;
    }
}
.items-contents__etc{
    font-size: 1.81vw;
    letter-spacing: 0.03em;
    text-align: right;
    margin-top: 1.53vw;
}
@media screen and (max-width: 768px){
    .items-contents__etc{
        font-size: 4.27vw;
        margin-top: 3.2vw;
        margin-bottom: 6.9vw;
    }
}
.items-contents__image{
    width: 49.44vw;
}
@media screen and (max-width: 768px){
    .items-contents__image{
        width: 82.67vw;
    }
}

/* ===================faq================= */
.faq{
    padding: 5.76vw 0 4.86vw 0;
    background-image: url(../images/bg_faq_01_pc.avif);
    background-size: cover;
    background-repeat: no-repeat;
}
@media screen and (max-width: 768px){
    .faq{
        padding: 5.33vw 0 7.47vw 0;
    }
}
.faq__heading--wrapper{
    width: 15.28vw;
    margin-bottom: 4.86vw;
}
@media screen and (max-width: 768px){
    .faq__heading--wrapper{
        width: 19.53vw;
        margin-bottom: 9.87vw;
        margin-left: 8.53vw;
    }
}
.faq__outer{
    gap: 5vw;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 768px){
    .faq__outer{
        gap: 11.2vw;
        width: 82.67vw;
        margin: 0 auto;
    }
}
.faq__wrapper{
    display: flex;
    flex-direction: column;
}
.faq__question, .faq__answer{
    display: flex;
    align-items: center;
}
.faq__question{
    background-image: url(../images/bg_fukidashi_01_pc.avif);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 0.97vw 0 2.5vw 1.04vw;
    margin-bottom: 2.15vw;
}
@media screen and (max-width: 768px){
    .faq__question{
        background-image: none;
        padding: 2.13vw 2.67vw 2.93vw 2.67vw;
        margin-bottom: 7.47vw;
        position: relative;
    }
}
@media screen and (max-width: 768px){
    .faq__question::before{
        width: 82.93vw;
        background-image: url(../images/bg_fukidashi_02_sp.avif);
        position: absolute;
        height: 17.86vw;
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
        left: 0;
        top: 0.5vw;
    }
}
.faq__q{
    width: 3.94vw;
    margin-right: 3.35vw;
}
@media screen and (max-width: 768px){
    .faq__q{
        width: 5.92vw;
        margin-right: 2.56vw;
    }
}
.faq__text{
    font-size: 1.81vw;
    font-weight: 700;
    color: #fff;
}
@media screen and (max-width: 768px){
    .faq__text{
        font-size: 4.27vw;
        line-height: 1.5;
    }
}
.faq__answer{
    padding-left: 1.04vw;
}
@media screen and (max-width: 768px){
    .faq__answer{
        padding-left: 2.67vw;
    }
}
.faq__a{
    width: 4.18vw;
    margin-right: 3.25vw;
}
@media screen and (max-width: 768px){
    .faq__a{
        width: 5.87vw;
        margin-right: 1.6vw;
    }
}
.faq-text{
    color: #fff;
    font-size: 1.25vw;
    line-height: 1.9;
    letter-spacing: 0.03em;
    margin-top: 1.27vw;
}
@media screen and (max-width: 768px){
    .faq-text{
        font-size: 3.2vw;
        margin-top: 5.33vw;
        letter-spacing: 0.1em;
    }
}

/* ================company============== */
.company{
    padding: 9.72vw 0 7.2vw 0;
    background-image: url(../images/bg_grid_02_pc.avif);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: -1px;
}
@media screen and (max-width: 768px){
    .company{
        padding: 10.67vw 0 16.53vw 0;
    }
}
.company__contents--wrapper{
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 768px){
    .company__contents--wrapper{
        flex-direction: column-reverse;
        margin: 0 auto;
        width: 82.67vw;
    }
}
.company-contents__description{
    width: 29.58vw;
}
@media screen and (max-width: 768px){
    .company-contents__description{
        width: 77.33vw;
    }
}
.company__heading--wrapper{
    width: 10.9vw;
    margin-bottom: 4.86vw;
}
@media screen and (max-width: 768px){
    .company__heading--wrapper{
        width: 37.6vw;
        margin-bottom: 6.13vw;
        margin-left: 8.53vw;
    }
}
.company-head{
    margin-bottom: 1.875vw;
}
@media screen and (max-width: 768px){
    .company-head{
        margin-bottom: 3.47vw;
        margin-top: 3.5vw;
    }
}
.company-contents__list:nth-of-type(2), .company-contents__list:nth-of-type(3){
    margin-bottom: 2.43vw;
}
@media screen and (max-width: 768px){
    .company-contents__list:nth-of-type(2), .company-contents__list:nth-of-type(3){
        margin-bottom: 3.2vw;
    }
}
.company-contents__large-text{
    font-size: 1.81vw;
    font-weight: 700;
    color: #fff;
    line-height: 1.9;
}
@media screen and (max-width: 768px){
    .company-contents__large-text{
        font-size: 4.27vw;
    }
}
.company-contents__small-text{
    font-size: 1.25vw;
    color: #fff;
    line-height: 1.5;
    padding-left: 1em;
}
@media screen and (max-width: 768px){
    .company-contents__small-text{
        font-size: 3.2vw;
    }
}
.company-contents__image{
    width: 49.3vw;
}
@media screen and (max-width: 768px){
    .company-contents__image{
        width: 82.67vw;
    }
}

/* ================promotion============== */
.promotion{
    background-color: #E1A844;
    padding: 4.86vw 0 4.5vw 0;
    text-align: center;
    margin-top: -1px;
}
@media screen and (max-width: 768px){
    .promotion{
        padding: 15.2vw 0 12.8vw 0;
    }
}
.promotion__heading{
    background-color: #fff;
    color: #00509C;
    font-weight: 700;
    font-size: 3.125vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    width: 53.1vw;
    line-height: 1.4;
    margin: 0 auto;
    margin-bottom: 1.39vw;
    height: 8.75vw;
    justify-content: center;
}
@media screen and (max-width: 768px){
    .promotion__heading{
        width: 82.67vw;
        margin-bottom: 3.2vw;
        height: 13.6vw;
        font-size: 5.33vw;
    }
}
.promotion__heading .small-text{
    font-size: 1.67vw;
    font-weight: 700;
}
@media screen and (max-width: 768px){
    .promotion__heading .small-text{
        font-size: 3.2vw;
    }
}
.promotion__wrapper{
    width: 53.1vw;
    background-color: #fff;
    margin: 0 auto;
    position: relative;
}
@media screen and (max-width: 768px){
    .promotion__wrapper{
        width: 82.67vw;
    }
}
.promotion__wrapper::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.125vw solid #00509C;   /* 三角の色 */
    border-right: 3.125vw solid transparent;
}
@media screen and (max-width: 768px){
    .promotion__wrapper::before{
        border-top: 12vw solid #00509C;
        border-right: 12vw solid transparent;
    }
}
.promotion__wrapper::after{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.125vw solid #00509C;   /* 三角の色 */
    border-left: 3.125vw solid transparent;
}
@media screen and (max-width: 768px){
    .promotion__wrapper::after{
        border-bottom: 12vw solid #00509C;
        border-left: 12vw solid transparent;
    }
}
.promotion__top-text{
    font-size: 2.78vw;
    line-height: 1.25;
    color: #E1A844;
    font-weight: 700;
    border-bottom: 0.347vw solid #00509C;
    width: fit-content;
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    .promotion__top-text{
        font-size: 4.27vw;
        border-bottom: 0.8vw solid #00509C;
    }
}
.promotion__top-text .large-number{
    font-size: 4.44vw;
}
@media screen and (max-width: 768px){
    .promotion__top-text .large-number{
        font-size: 8.53vw;
    }
}
.promotion__main-text{
    color: #E1A844;
    font-size: 6.67vw;
    line-height: 1.25;
    font-weight: 700;
}
@media screen and (max-width: 768px){
    .promotion__main-text{
        font-size: 9.6vw;
    }
}
.promotion__main-text .small-text{
    font-size: 4.44vw;
    letter-spacing: -0.01em;
}
@media screen and (max-width: 768px){
    .promotion__main-text .small-text{
        font-size: 9.6vw;
    }
}
.promotion__bottom-text{
    font-size: 1.25vw;
    line-height: 1.25;
    margin-top: 0.83vw;
    padding-bottom: 1.39vw;
}
@media screen and (max-width: 768px){
    .promotion__bottom-text{
        font-size: 2.67vw;
        padding-bottom: 4vw;
        margin-top: 2.13vw;
    }
}
.promotion__bottom-wrapper{
    position: relative;
}
.promotion__bottom-wrapper::before{
    content: "";
    width: 29.58vw;
    background-color: #00509C;
    height: 0.347vw;
    position: absolute;
    left: 0;
    top: 50%;
}
.promotion__bottom-wrapper::after{
    content: "";
    width: 29.58vw;
    background-color: #00509C;
    height: 0.347vw;
    position: absolute;
    right: 0;
    top: 50%;
}
@media screen and (max-width: 768px){
    .promotion__bottom-wrapper::after, .promotion__bottom-wrapper::before{
        display: none;
    }
}
.promotion__bottom-wrapper a{
    line-height: 2em;
    color: #fff;
    font-size: 2.5vw;
    font-weight: 700;
    letter-spacing: 0.03
}
@media screen and (max-width: 768px){
    .promotion__bottom-wrapper a{
        font-size: 5.33vw;
    }
}
.promotion__address{
    font-size: 1.25vw;
    color: #fff;
}
@media screen and (max-width: 768px){
    .promotion__address{
        font-size: 2.67vw;
    }
}

/* =================resolved=============== */
.resolved{
    padding: 2.78vw 0 10.4vw 0;
}
@media screen and (max-width: 768px){
    .resolved{
        padding: 6.67vw 0 15.47vw 0;
        position: relative;
        margin-bottom: 22.13vw;
    }
}
.resolved__heading--wrapper{
    width: 83.68vw;
}
@media screen and (max-width: 768px){
    .resolved__heading--wrapper{
        width: 84vw;
        margin: 0 auto;
    }
}
.resolved__top-text{
    font-size: 1.25vw;
    line-height: 1.9;
}
@media screen and (max-width: 768px){
    .resolved__top-text{
        font-size: 3.2vw;
        max-width: 82.67vw;
        margin: 0 auto;
    }
}
.resolved__images--wrapper{
    display: flex;
    justify-content: space-between;
    margin-top: 3.48vw;
    margin-bottom: 3.8vw;
}
@media screen and (max-width: 768px){
    .resolved__images--wrapper{
        width: 82.67vw;
        margin: 2.67vw auto 10.13vw auto;
    }
}
.resolved__image{
    width: 24.9vw;
}
.resolved__cta-text{
    width: 51.84vw;
    margin-top: 4.86vw;
    margin-bottom: 4.57vw;
}
@media screen and (max-width: 768px){
    .resolved__cta-text{
        width: 82.67vw;
        margin: 10.13vw auto 12.27vw auto;
    }
}
.resolved__cta--wrapper{
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 768px){
    .resolved__cta--wrapper{
        flex-direction: column;
        gap: 2.67vw;
    }
}
.resolved__cta-button{
    width: 40.97vw;
    display: flex;
    flex-direction: column;
    height: 9.72vw;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: 0.6s ease;
}
@media screen and (max-width: 768px){
    .resolved__cta-button{
        width: 82.93vw;
        height: 19.7vw;
        margin: 0 auto;
    }
}
.resolved__cta-button::before{
    position: absolute;
    content: "";
    background-image: url(../images/icon_mail_01_pc.avif);
    background-size: contain;
    width: 8.86vw;
    height: 6.64vw;
    top: 1.39vw;
    background-repeat: no-repeat;
    left: 1.25vw;
}
@media screen and (max-width: 768px){
    .resolved__cta-button::before{
        width: 12.4vw;
        height: 11.7vw;
        top: 3.33vw;
        left: 5.33vw;
    }
}
.resolved__cta-button.blue-button:hover::before{
    background-image: url(../images/icon_mail_02_pc.avif);
}
.resolved__cta-button.orange-button:hover::before{
    background-image: url(../images/icon_mail_03_pc.avif);
}
.blue-button{
    background-color: #00509C;
}
.resolved__cta-button.blue-button:hover{
    background-color: #fff;
    border: 3px solid #00509C;
}
.orange-button{
    background-color: #E1A844;
}
.resolved__cta-button.orange-button:hover{
    background-color: #fff;
    border: 3px solid #E1A844;
}
.cta-text{
    color: #fff;
    font-size: 1.81vw;
    border-bottom: 1px solid #fff;
    width: fit-content;
    padding-bottom: 1.25vw;
    position: relative;
    align-items: center;
}
@media screen and (max-width: 768px){
    .cta-text{
        font-size: 4.8vw;
        padding-bottom: 1.1vw;
    }
}
.resolved__cta-button.blue-button:hover .cta-text{
    color: #00509C;
    border-bottom: 1px solid #00509C;
}
.resolved__cta-button.orange-button:hover .cta-text{
    color: #E1A844;
    border-bottom: 1px solid #E1A844;
}
.cta-text::after{
    content: "";
    width: 0.489vw;
    height: 0.489vw;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    right: -0.76vw;
    bottom: -0.278vw;
}
@media screen and (max-width: 768px){
    .cta-text::after{
        width: 1.33vw;
        height: 1.33vw;
        right: -2.13vw;
        bottom: -0.6vw;
    }
}
.resolved__cta-button.blue-button:hover .cta-text::after{
    background-color: #00509C;
}
.resolved__cta-button.orange-button:hover .cta-text::after{
    background-color: #E1A844;
}
.cta__small-text{
    font-size: 0.625vw;
    color: #fff;
    margin-top: 1.11vw;
}
@media screen and (max-width: 768px){
    .cta__small-text{
        display: none;
    }
}
.resolved__cta-button.blue-button:hover .cta__small-text{
    color: #00509C;
}
.resolved__cta-button.orange-button:hover .cta__small-text{
    color: #E1A844;
}

/* ===============fixed-banner================= */
.fixed-banner {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 29.167vw;
    cursor: pointer;
    z-index: 8;
}
@media screen and (max-width: 768px){
    .fixed-banner{
        width: 100vw;
        transition: all .2s;
    }
    .fixed-banner.is-stop{
        position: absolute;
        bottom: -22.13vw;
    }
}

.fixed-banner:hover {
    opacity: 0.9;
}
.banner-close{
    width: 1.39vw;
    height: 1.39vw;
    left: 0;
    top: 0;
    cursor: pointer;
    position: absolute;
    z-index: 10;
    background: transparent;
}
@media screen and (max-width: 768px){
    .banner-close{
        width: 4.267vw;
        height: 4.267vw;
        right: 0;
        left: unset;
    }
}

/* =================footer=============== */
.footer{
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 4.17vw 0;
}
@media screen and (max-width: 768px){
    .footer{
        padding: 8vw 0;
    }
}
.footer__list{
    display: flex;
    justify-content: center;
    gap: 3.61vw;
}
@media screen and (max-width: 768px){
    .footer__list{
        gap: 6.4vw;
    }
}
.footer__item{
    position: relative;
    font-size: 1.25vw;
}
@media screen and (max-width: 768px){
    .footer__item{
        font-size: 2.67vw;
    }
}
.footer__item:nth-child(2)::before{
    content: "";
    width: 1px;
    height: 2.15vw;
    background-color: #fff;
    position: absolute;
    left: -1.875vw;
    top: -0.2vw;
}
@media screen and (max-width: 768px){
    .footer__item:nth-child(2)::before{
        height: 5.07vw;
        left: -3.2vw;
        top: -1vw;
    }
}