.mv-lower_bg {
    background: url(../img/mv-service_sp.png) center/cover no-repeat;
}

.service_detail {
    padding: 60px 0;
    position: relative;

    &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: linear-gradient(transparent 35.5%, #EDF3F8 35.5%,#EDF3F8 65%, transparent 65%);
        transform: skewY(10deg);
        z-index: -2;
    }
}

.service_detail_lead {
    color: var(--color-contrast, #1A1A1A);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 140% */
}

.service_detail_items {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 79px;
    margin-top: 60px;
}

.service_detail_item {}

.service_detail_img {
    margin-left: auto;
    margin-right: -20px;
    width: 50vw;

    &.reverse {
        margin-right: auto;
        margin-left: -20px;
    }
}

.service_detail_info {
    background: rgba(255, 255, 255, 0.90);
    box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
    padding: 40px 20px;
    position: relative;
    margin-top: -39.6vw;
}

.service_detail_number {
    position: absolute;
    top: 0;
    left: 20px;
    transform: translateY(-50%);
    color: #023E78;
    font-family: "Fira Sans";
    font-size: 68px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;

    &.reverse {
        left: auto;
        right: 20px;
    }
}

.service_detail_heading {

}

.service_detail_heading-ja {
    font-family: "Noto Sans CJK JP";
    color: #1A1A1A;
    font-size: 28px;
    font-style: normal;
    line-height: 1.3;
    font-weight: 700;
}

.service_detail_heading-en {
    margin-top: 7px;
    color: #023E78;
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.3;
    font-family: "Fira Sans";
}

.service_detail_text {
    margin-top: 30px;
    color: #1A1A1A;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    font-family: "Noto Sans JP";
}

.service_detail_definition-wrapper {
    margin-top: 30px;
}

.service_detail_definition {
    padding: 18px 0;
    border-top: 1px solid #ccc;
    display: flex;
    gap: 52px;
    align-items: center;

    &:last-child {
        border-bottom: #ccc 1px solid;
    }
}

.service_detail_definition-term {
    color: #1A1A1A;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-family: "Noto Sans CJK JP";
    white-space: nowrap;
}

.service_detail_definition-desc {
    color: #1A1A1A;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    font-family: "Noto Sans JP";
}

.service_detail_button {
    display: block;
    max-width: 300px;
    margin: 32px auto 0;
    background: var(--color-base, #FFF);
    border: 1px solid #023E78;
    text-align: center;
    padding: 24px 0;
    color: #023E78;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    position: relative;

    &:hover {
        background-color: #023E78;
        color: #FFF;

        && .service_detail_button-icon {
            fill: #FFF;
            transition: 0.3s ease;
            transform: translateX(10px) translateY(-50%);
        }
    }
}

.service_detail_button-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
}

.service_flow {
    padding: 60px 0;
    background: url(../img/bg.png);
}

.service_flow_title {
    color: var(--color-base, #FFF);
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.service_flow_items {
    margin-top: 40px;

}

.service_flow_item {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

.service_flow_step {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.service_flow_step-label {
    color: var(--color-accent-1, #FFF400);
    font-size: 20px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
    font-family: "Fira Sans";
}

.service_flow_step-number {
    color: var(--color-accent-1, #FFF400);
    font-size: 40px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
    font-family: "Fira Sans";
}

.service_flow_content {
    padding: 40px 20px 20px 20px;
    width: 73.333333333vw;
    position: relative;

    &::after {
        position: absolute;
        right: 0;
        bottom: -25px;
        left: 0;
        z-index: 1;
        width: 0;
        height: 0;
        content: "";
        border-color: currentcolor transparent transparent transparent;
        border-style: solid;
        border-width: 26px 36.6666666667vw 0 36.6666666667vw;
    }
    

    &.step01 {
        padding-top: 20px;
        color: #EDF3F8;
        background: #EDF3F8;
    }

    &.step02 {
        color: #DDE8F0;
        background: #DDE8F0;
    }

    &.step03 {
        color: #C7DBE9;
        background: #C7DBE9;
    }

    &.step04 {
        color: transparent;
        background: #B0D0E5;
    }
}

.service_flow_heading {
    color: var(--color-main, #023E78);
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
	white-space:nowrap;
}

.service_flow_text {
    margin-top: 7px;
    color: var(--color-contrast, #1A1A1A);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.72;
    font-family: "Noto Sans JP";

    & span {
        color: var(--color-accent-2, #E61264);
    }
}

.service_faq {
    padding-block: 60px 100px;
}

.service_faq_title {
    color: var(--color-contrast, #1A1A1A);
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.service_faq_list {
    margin-top: 40px;
}

.service_faq_item {
    padding-block: 16px 17px;
    border-bottom: #DDD 1px solid;
}

.service_faq_question {
    display: flex;
    justify-content: space-between;
    padding-right: 8px;

    &.active .question-text{
            color: #E61264;
        }
    
    &.active .accordion-icon{
        transform: rotate(45deg);

        &::before,
        &::after {
            background: #E61264;
        }
    }
}

.question-text {
    color: var(--color-contrast, #1A1A1A);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    font-family: "Noto Sans JP";
    width: 80%;
}

.accordion-icon {
    position: relative;
    width: 21px;
    height: 21px;

    &::before,
    &::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 21px;
        height: 2px;
        background: #1A1A1A;
    }

    &::before {
        transform: translateY(-50%);
    }

    &::after {
        transform:translateY(-50%) rotate(90deg);
    }
}

.service_faq_answer {
    display: none;
    padding-top: 19px;
    color: var(--color-contrast, #1A1A1A);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 171.429% */
    font-family: "Noto Sans JP";
}



@media screen and (min-width:768px){
	.inner {
		padding:0 40px;
	}
	
.mv-lower_bg {
    background: url(../img/mv-service_pc.png)center / cover no-repeat;

    &::before {
        
    }
}

.service_detail {
    padding-block: 70px 160px;

    &::before {
        background: linear-gradient(transparent 34.5%, #EDF3F8 34.5%,#EDF3F8 64.5%, transparent 64.5%);
    }
}

.service_detail_lead {
    font-size: 28px;
    line-height: 40px;
}

.pc-none {
    display: none;
}

.service_detail_items {
    margin-top: 133px;
    gap: 258px;
}

.service_detail_item {
    display: flex;
    flex-direction: row-reverse;

    &.reverse {
        flex-direction: row;
    }

    &.reverse .service_detail_info{
        transform: translateX(-50px);
    }
}

.service_detail_img {
    margin: 62px 0 0 0;
    width: 43.75vw;
}

.service_detail_info {
    padding: 82px 40px 60px;
    margin-top: 0;
    width: 46vw;
    transform: translateX(60px);
    margin-bottom: 84px;
}

.service_detail_item:nth-of-type(2) .service_detail_info {
        padding-top: 71px;
    }

.service_detail_item:nth-of-type(3) .service_detail_info {
        padding-top: 74px;
    }

.service_detail_number {
    font-size: 100px;
    left: 58px;

    &.reverse {
        left: auto;
        right: 44px;
    }
}

.service_detail_heading-ja {
    font-size: 40px;
}

.service_detail_heading-en {
    font-size: 16px;
    margin-top: 0;
}

.service_detail_text {
    margin-top: 60px;
}

.service_detail_definition-wrapper {
    margin-top: 58px;
}

.service_detail_definition {
    padding: 30px 0;
}

.service_detail_button {
    margin-top: 59px;
    font-size: 16px;
}

.service_flow {
    padding-block: 80px 119px;
} 

.service_flow_items {
    margin-top: 58px;
    display: flex;

}

.service_flow_item {
    flex-direction: column;
    align-items: start;
    gap: 4px;
    width: 25%;
}

.service_flow_step {
    flex-direction: row;
    gap: 7px;
    align-items: end;
}

.service_flow_step-label {
    margin-bottom: 4px;
}

.service_flow_content {
    width: 100%;
    height: 209px;
    padding: 42px 24px 23px 50px;

    &::after {
        top: 0;
        bottom: auto;
        left: auto;
        right: -24px;
        border-color: transparent transparent transparent currentColor;
        border-width: 104.5px 0 104.5px 26px;
    }

    &.step01 {
        padding: 42px 24px 23px 43px;
    }
}

.service_flow_heading {
    text-align: left;
    font-size: 20px;	
}

.service_flow_text {
    margin-top: 21px;
	font-size:1.09375vw;
}

.service_faq {
    padding-block: 160px;
}

.service_faq_list {
    margin: 60px auto 0;
    max-width: 688px;
}

.service_faq_item {
    padding-block: 32px 31px;
}

.service_faq_question {
    padding-right: 12px;
}

.question-text {
    font-size: 20px;
    white-space: nowrap;
}

.service_faq_answer {
    padding: 29px 60px 0 40px;
}
}