@charset "utf-8";

/*================================
Layout
================================*/
@media screen and (max-width: 959px) {
    .w1300 {
        width: 100%;
        max-width: 1340px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1242 {
        width: 100%;
        max-width: 1282px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1230 {
        width: 100%;
        max-width: 1270px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1216 {
        width: 100%;
        max-width: 1256px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1207 {
        width: 100%;
        max-width: 1247px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1191 {
        width: 100%;
        max-width: 1231px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1190 {
        width: 100%;
        max-width: 1230px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1136 {
        width: 100%;
        max-width: 1176px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1160 {
        width: 100%;
        max-width: 1200px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1156 {
        width: 100%;
        max-width: 1196px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1100 {
        width: 100%;
        max-width: 1140px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1102 {
        width: 100%;
        max-width: 1142px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1100 {
        width: 100%;
        max-width: 1140px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1080 {
        width: 100%;
        max-width: 1120px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1085 {
        width: 100%;
        max-width: 1125px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1023 {
        width: 100%;
        max-width: 1063px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w1000 {
        width: 100%;
        max-width: 1040px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w932 {
        width: 100%;
        max-width: 972px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w920 {
        width: 100%;
        max-width: 960px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }
    .w870 {
        width: 100%;
        max-width: 910px;
        margin-inline: auto;
        padding-inline: 4.348vw;
    }

    .w840 {
        width: 100%;
        max-width: 880px;
        margin-inline: auto;
        padding-inline: 3.017vw;
    }
}

/*================================
Header
================================*/
@media screen and (max-width: 959px) {
    header {
        height: 11.087vw;
    }
    .header .header_inner {
        height: 11.087vw;
        column-gap: 0;
        padding-inline: 2.826vw;
    }
    .header .header_right {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
        width: 100vw;
        padding: 20.474vw 3.043vw;
        background: rgba(42,51,52,1);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    .header .header_right nav {
        flex-direction: column;
    }

    .header .header_right .header_nav {
        width: calc(100% - 8.696vw);
    }

    .gnav {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
	    flex-wrap: wrap;
        width: 100%;
        height: 210px;
        column-gap: 50px;
        row-gap: 10px;
    }

    .gnav > li:first-of-type {
        position: absolute;
        top: -34px;
        left: -14px;
    }

    .gnav a {
        color: #FFF;
    }

    .gnav .sub-menu {
        display: block;
    }

    .gnav .sub-menu{
        display: flex;
        flex-direction: column;
        row-gap: 14px;
        margin-top: 14px;
    }

    .gnav .sub-menu li {
        padding-left: 1em;
    }

    .gnav .sub-menu li a:before {
        content: "＞";
        font-weight: 700;
        margin-right: 8px;
    }

    .hamburger {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 3.913vw;
        right: 3.664vw;
        z-index: 10000;
    }
    .hamburger .hamburger_icon {
        position: relative;
        width: 5.217vw;
        height: 3.261vw;
        border-radius: 100%;
        transition: all 0.3s ease;
    }
    .hamburger span {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 5.217vw;
        height: 1px;
        background: #3E3232;
        border-radius: 9999px;
        transition: all 0.3s ease;
    }
    .hamburger span:nth-of-type(1) {
        top: 0;
    }
    .hamburger span:nth-of-type(2) {
        top: 1.304vw;
    }
    .hamburger span:nth-of-type(3) {
        top: 2.609vw;
    }
    .header_contact {
        margin-top: 40px;
        width: 100%;
    }
    .header_contact .gnav_btn {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 11px;
    }
    .header_contact .gnav_btn li a {
        position: relative;
        height: 66px;
        font-size: 12px;
        letter-spacing: 0;
        border-radius: 9999px;
    }
    .header_contact .gnav_btn li a::before,
    .header_contact .gnav_btn li a::after {
        content: "";
        position: absolute;
        top: calc(50% - 0.5px);
        left: 10px;
        width: 10px;
        height: 1px;
        border-radius: 9999px;
        background-color: #FFF;
        transform-origin: calc(100% - 0.5px) 50%;
    }

    .header_contact .gnav_btn li a::before {
        transform: rotate(45deg);
    }

    .header_contact .gnav_btn li a::after {
        transform: rotate(-45deg);
    }

    /* menu open */
    .nonScroll .header .header_right {
        opacity: 1;
        pointer-events: all;
    }
    .nonScroll .hamburger {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 3.664vw;
        right: 3.664vw;
        z-index: 10000;
    }
    .nonScroll .hamburger .hamburger_icon {
        position: relative;
        width: 6.087vw;
        height: 6.087vw;
        background: none;
        border-radius: 0;
        transition: all 0.3s ease;
        border: 1px solid #FFF;
    }
    .nonScroll .hamburger span {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 5.217vw;
        height: 1px;
        border-radius: 9999px;
        border: 1px solid #FFF;
        transition: all 0.3s ease;
    }
    .nonScroll .hamburger span:nth-of-type(1) {
        top: 2.802vw;
        transform: translateX(-50%) rotate(45deg);
    }
    .nonScroll .hamburger span:nth-of-type(2) {
        top: 2.802vw;
        opacity: 0;
    }
    .nonScroll .hamburger span:nth-of-type(3) {
        top: 2.802vw;
        transform: translateX(-50%) rotate(-45deg);
    }

    /* sp header */
    .header_logo picture {
        display: block;
    }
    .header_logo a {
        display: flex;
        align-items: center;
    }
    .header_logo .logo img {
        width: 22.826vw;
        height: 5.652vw;
    }

}


/*================================
Contents Common
================================*/
@media screen and (max-width: 959px) {
    .col2 {
        display: flex;
    }

    .contents .section_inner {
        padding-top: 9.13vw;
        padding-bottom: 9.13vw;
    }

    .header_type1 .title {
        margin-bottom: 11.957vw;
    }

    .header_type1 .title .main {
        order: 2;
        margin-top: 14.13vw;
        font-size: 5vw;
        font-weight: 900;
    }

    .header_type1 .title .main strong {
        color: var(--color-focusblue);
        font-weight: 900;
    }

    .header_type1 .title .sub {
        position: relative;
        order: 1;
        font-size: 3.043vw;
        color: #666;
    }

    .header_type1 .title .sub:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -6.957vw;
        transform: translateX(-50%);
        width: 31.087vw;
        height: 1px;
        background: #666;
    }

    .header_type2 .title {
        display: flex;
        flex-direction: column;
        text-align: center;
        margin-bottom: 12.826vw;
        font-size: 5vw;
        letter-spacing: 0.2em;
    }

    .header_type2 .title span {
        margin-top: 2.174vw;
        font-size: 2.609vw;
    }

    .header_type3 {
        position: relative;
    }

    .header_type3:after {
        content: "";
        position: absolute;
        bottom: -6.957vw;
        left: 50%;
        transform: translateX(-50%);
        width: 31.087vw;
        height: 4px;
        background: var(--color-focusblue);
    }

    .header_type3 .title {
        display: flex;
        flex-direction: column;
        text-align: center;
        margin-bottom: 11.957vw;
    }

    .header_type3 .title .main {
        order: 2;
        margin-top: 14.13vw;
        font-size: 5vw;
        font-weight: 900;
    }

    .check_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 4.348vw;
    }

    .check_list li {
        display: flex;
        align-items: center;
        column-gap: 1.739vw;
    }

    .check_list li:before {
        content: "";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4.348vw;
        height: 4.348vw;
        border-radius: 50%;
        background: var(--color-mainyellow) url(../img/common/icon/icon_check@2x.webp) no-repeat left 1.087vw bottom 0.87vw;
        background-size: 2.391vw 2.174vw;
    }

    .check_list li strong {
        display: inline;
        background: linear-gradient(transparent 90%, #CEA461 10%);
        flex-basis: content;
    }

    .check_list li span {
        flex: 1;
    }

    .cta {
        background: var(--color-mainyellow);
    }

    .cta .section_inner {
        padding: 10vw 0 7.391vw 0;
    }

    .cta .section_header {
        text-align: center;
    }

    .cta .section_header .logo {
        margin-bottom: 7.174vw;
    }

    .cta .section_header .title {
        font-size: 4.348vw;
    }

    .cta .section_contents {
        margin-top: 24.783vw;
        padding-inline: 5.435vw;
    }

    .cta .cta_list {
        grid-template-columns: 1fr;
        column-gap: 15px;
        row-gap: 5.435vw;
        padding: 11.957vw 5.435vw 10.217vw;
        background: #FFF;
        border-radius: 20px;
    }

    .cta .cta_list:before {
        content: "";
        position: absolute;
        top: -16.304vw;
        left: 50%;
        transform: translateX(-50%);
        width: 31.739vw;
        height: 19.783vw;
        background: url(../img/common/deco/deco_cta@2x.webp) no-repeat center center / cover;
    }

    .cta .cta_list .label {
        font-size: 3.043vw;
    }

    .cta .cta_list .btn_wrap {
        margin-top: 3.043vw;
    }

    .cta .cta_list .btn_cta {
        width: 100%;
        height: 14.348vw;
        font-size: 3.261vw;
        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
    }

    .cta .cta_list .btn_cta:hover {
        opacity: 1;
    }

    .btn_cta.arrow::before,
    .btn_cta.arrow::after {
        width: 1.522vw;
        left: 4.348vw;
    }

    .side_slash:before,
    .side_slash::after {
        background-color: #000;
        border-radius: 5px;
        content: "";
        height: 2px;
        width: 1.4em;
    }
    .side_slash::before {
        margin-right: 10px;
        transform: translateY(0.1em) rotate(55deg);
    }
    .side_slash::after {
        margin-left: 10px;
        transform: translateY(0.1em) rotate(-55deg);
    }
}

/*================================
Home
================================*/
@media screen and (max-width: 959px) {
    .home_mv {
        display: block;
        height: 165.435vw;
        background: #EFC12D url(../img/home/bg_home_mv_sp.webp) no-repeat center center / contain;
    }

    .home_mv_inner {
        display: flex;
        flex-direction: column;
        position: relative;
        padding: 12.391vw 0 10.652vw 0;
    }

    .home_mv_inner .title {
        text-align: center;
    }

    .home_mv .catch {
        order: 1;
        font-size: 4.741vw;
        line-height: 1.43;
        text-align: center;
    }

    .home_mv .catch strong {
        font-weight: 900;
    }

    .home_mv .summary {
        order: 3;
        margin-top: 10.435vw;
        font-size: 2.826vw;
        font-weight: 700;
        line-height: 1.6;
        text-align: center;
    }

    .home_mv img {
        order: 2;
        position: relative;
        width: 60.776vw;
        margin-top: 8.261vw;
        margin-inline: auto;
        right: auto;
        bottom: auto;
    }

    .home_mv .btn_wrap {
        order: 4;
    }

    .home_mv .btn_large {
        width: 74.348vw;
        height: 13.261vw;
        margin-top: 6.957vw;
        margin-inline: auto;
        padding: 0 47px;
        font-size: 2.826vw;
    }
}

@media screen and (max-width: 959px) {
    .home_problem1 {
        margin-top: 15.652vw;
    }
    .home_problem1 .title {
        position: relative;
        left: 50%;
        transform: translateY(-5.217vw) translateX(-50%);
        column-gap: 4vw;
        width: 100%;
        max-width: 70vw;
        height: 10.435vw;
        padding-inline: 0;
        color: #FFF;
        font-size: 3.696vw;
        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
    }
    .home_problem1 .title:before {
        position: relative;
        left: 0;
        width: 3.913vw;
        height: 6.087vw;
    }
    .problem1_list {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 3.043vw;
        margin-top: 7.609vw;
    }
    .problem1_list .item {
        column-gap: 6.522vw;
        width: 100%;
        padding-inline: 4.348vw;
        height: 30.435vw;
        border-radius: 3.261vw;
        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
    }
    .problem1_list .item .text {
        column-gap: 3.261vw;
        flex: 1;
        font-size: 3.043vw;
    }

    .problem1_list .item .text:before {
        content: "";
        display: block;
        width: 6.522vw;
        height: 6.522vw;
        border-radius: 50%;
        background: var(--color-mainyellow) url(../img/common/icon/icon_check@2x.webp) no-repeat center center;
        background-size: 4.13vw 3.478vw ;
    }
    .problem1_list .item .img img {
        max-width: 13.913vw;
    }

    .home_problem1_solve {
        position: relative;
        margin-top: 20vw;
        margin-bottom: 8.044vw;
        padding-block: 3.478vw 3.478vw;
        font-size: 3.478vw;
    }

    .home_problem1_solve span {
        font-size: 3.478vw;
    }

    .home_problem1_solve span strong {
        font-size: 4.348vw;
    }

    .home_problem1_solve span:before {
        bottom: -1.522vw;
        left: -17.826vw;
        width: 19.348vw;
        height: 23.261vw;
        background: url(../img/home/img_home_problem_solve@2x.webp) no-repeat center center / cover;
        z-index: 1;
    }

    .home_problem1_solve:after {
        content: "";
        position: absolute;
        bottom: -7.391vw;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 50vw solid transparent;
        border-left: 50vw solid transparent;
        border-top: 7.609vw solid var(--color-mainblue);
        border-bottom: 0;
    }
}

@media screen and (max-width: 959px) {
    .home_casestudies1 {
        padding-bottom: inherit;
    }

    .home_casestudies1 .title {
        font-size: 3.043vw;
    }

    .home_casestudies1 .casestudies_list {
        margin-top: 10.217vw;
    }

    .casestudies_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 3.696vw;
    }

    .casestudies_list .item > .label {
        padding: 2.174vw;
        font-size: 3.913vw;
    }

    .casestudies_list .item > .col2 {
        flex-direction: column;
        padding: 7.391vw 3.261vw 7.391vw 3.261vw;
    }

    .casestudies_list > .item:nth-child(even) .col2 {
        flex-direction: column;
    }
    .casestudies_list .text,
    .casestudies_list .img {
        display: contents;
    }
    .casestudies_list .item .col2 .title {
        order: 1;
        width: 100%;
        padding-bottom: 6.087vw;
        margin-bottom: 6.087vw;
        border-bottom: 1px solid #CCCCCC;
        font-size: 4.348vw;
        text-align: center;
    }
    .casestudies_list .item .col2 .check_list {
        order: 3;
    }
    .casestudies_list .item .col2 img {
        order: 2;
        width: 38.261vw;
        height: 38.261vw;
    }
    .casestudies_list .check_list {
        margin-top: 6.087vw;
    }
    .casestudies_list .check_list .item {
        font-size: 3.043vw;
        font-weight: 700;
    }

    .home_casestudies1 .more .btn .btn_large {
        width: calc(100% - 8.696vw);
        height: 13.043vw;
        margin-top: 10.217vw;
        margin-inline: auto;
        padding: 0 11.739vw 0 11.739vw;
        font-size: 2.826vw;
    }

    .home_casestudies1 .more .btn .arrow:before,
    .home_casestudies1 .more .btn .arrow:after {
        width: 1.087vw;
        left: 4.348vw;
    }
}

@media screen and (max-width: 959px) {
    .home_reason {
        padding-bottom: 35.87vw;
        background-color: #E9E3DD;
    }
    .home_reason1 .title {
        font-size: 3.043vw;
    }
    .home_reason .home_reason1_list {
        margin-top: 17.391vw;
    }
    .home_reason1_list {
        grid-template-columns: 1fr;
        row-gap: 10.87vw;
        padding-inline: 4.348vw;
    }
    .home_reason1_list .item {
        padding: 12.174vw 0 7.174vw 0;
        background: #FFF;
        box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.2);
    }
    .home_reason1_list .item .label {
        left: 50%;
        top: -5.435vw;
        transform: translateX(-50%);
        width: 59.13vw;
        max-width: 100%;
        height: 10.87vw;
        font-size: 3.043vw;
    }
    .home_reason1_list .item .img {
        display: flex;
        align-items: center;
        height: 44.565vw;
    }

    .home_reason1_list .item .text {
        margin-top: 6.522vw;
        font-size: 6.522vw;
    }

    .home_reason1_list .item .text span {
        font-size: 3.478vw;
    }

    .home_reason1_list .item .text .sub {
        margin-top: 3.043vw;
        font-size: 3.043vw;
    }
}

@media screen and (max-width: 959px) {
    .home_aboutus .section_header .title {
        font-size: 3.043vw;
        color: var(--color-mainblue);
    }

    .home_aboutus .section_header .title img {
        width: 41.522vw;
        height: auto;
        margin-bottom: 9.783vw;
    }

    .home_aboutus .home_aboutus1 {
        margin-top: 9.783vw;
        width: calc(100% - 8.696vw);
        padding: 10vw 8.696vw 12.174vw;
        border-radius: 6.522vw;
    }

    .home_aboutus .home_aboutus1 .summary {
        font-size: 2.826vw;
    }
    .home_aboutus .home_aboutus1 .btn_wrap {
        margin-top: 6.522vw;
    }

    .btn a.more {
        width: 45.87vw;
        height: 10.87vw;
        font-size: 2.826vw;
    }

    .btn a.more.arrow:before,
    .btn a.more.arrow:after {
        width: 1.522vw;
        left: 4.783vw;
    }
}

@media screen and (max-width: 959px) {
    .home_column {
        padding: 18.261vw 0 24.565vw;
    }

    .home_column_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 25px;
    }

    .home_column_list .item {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        column-gap: 20px;
    }

    .home_column_list .item .date {
        width: 6em;
        font-size: 2.826vw;
    }

    .home_column_list .item .cat {
        width: 19.565vw;
        height: 5.435vw;
        font-size: 2.391vw;
    }

    .home_column_list .item .title {
        flex: initial;
        font-size: 2.826vw;
        width: 100%;
        margin-top: 4.348vw;
    }

    .home_column .more {
        margin-top: 14.348vw;
    }
}


@media screen and (max-width: 959px) {
    .backtotop {
        position: fixed;
        right: 20px;
        bottom: calc(20px + 39.744vw);
        z-index: 5;
        transition: all 0.2s ease;
    }
}

/*================================
Page Common
================================*/
@media screen and (max-width: 959px) {
    .page_mv {
        height: 53.478vw;
        background: #EFC12D url(../img/common/bg_page_mv_sp.webp) no-repeat center center / cover;
    }
    .page_mv .title {
        font-size: 6.522vw;
    }
    .breadcrumbs_list {
        padding: 2.174vw 2.609vw;
        flex-wrap: wrap;
    }

    .breadcrumbs_list .item,
    .breadcrumbs_list .item a {
        font-size: 2.826vw;
    }
    .breadcrumbs_list .item:before {
        content: "＞";
        margin: 0 1.087vw;
    }

    .services_feature_list {
        gap: 8.696vw;
    }

    .services_feature_list .item {
        row-gap: 8.696vw;
        padding: 6.522vw 4.348vw 6.522vw 4.348vw;
        width: 100%;
    }

    .services_feature_list .item .title {
        font-size: 3.043vw;
        padding: 3.043vw 2.174vw;
        border-radius: 9999px;
    }

    .plus .services_feature_list .item .title {
        background: #FB883B;
    }
    .recruit .services_feature_list .item .title {
        background: #006699;
    }

    .services_feature_list .item .summary {
        font-size: 2.826vw;
    }

    .page_nav {
        padding: 7.826vw 4.348vw;
    }
    .page_nav_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 1.522vw;
        column-gap: 1.087vw;
    }
    .page_nav_list li a {
        height: 9.565vw;
        padding: 0 3.261vw;
        font-size: 2.609vw;
    }

    .page_nav_list li:nth-of-type(3) a {
        letter-spacing: -0.05em;
    }

    .page_nav_list li a:before,
    .page_nav_list li a:after {
        left: 3.261vw;
    }
}

/*================================
About Us
================================*/
@media screen and (max-width: 959px) {
    .aboutus_message .aboutus_message1 {
        margin-top: 15.086vw;
    }

    .aboutus_message .aboutus_message1 > .title {
        font-size: 4.348vw;
    }

    .aboutus_message .aboutus_message1 .col2 {
        flex-direction: column;
        margin-top: 10.776vw;
        column-gap: 0;
    }

    .aboutus_message .aboutus_message1 .col2 .img {
        order: 1;
        width: 100%;
    }

    .aboutus_message .aboutus_message1 .col2 .img img {
        width: 100%;
    }

    .aboutus_message .aboutus_message1 .col2 .text {
        margin-top: 4.31vw;
        order: 2;
        flex: 1;
    }

    .aboutus_message .aboutus_message1 .col2 .text p {
        font-size: 3.448vw;
        font-weight: 500;
        line-height: 2.2;
    }

    .aboutus_message .aboutus_message1 .col2 .img .caption {
        margin-top: 4.31vw;
        text-align: center;
    }

    .aboutus_about {
        margin-top: 15.086vw;
    }

    .aboutus_about .section_header .title img {
        width: 43.103vw;
    }

    .aboutus_about .section_header .title .main {
        margin-top: 10.776vw;
        font-size: 4.31vw;
    }

    .aboutus_about .aboutus_about1 {
        margin-top: 8.621vw;
    }

    .aboutus_about .aboutus_about1 p {
        font-size: 3.448vw;
        text-align: left;
    }

    .aboutus_about .aboutus_about2 {
        margin-top: 15.086vw;
        padding: 15.086vw 0;
    }

    .aboutus_about .aboutus_about2 .aboutus_mission_list {
        display: flex;
        flex-direction: column;
        justify-content: center;
        column-gap: 40px;
        row-gap: 8.621vw;
    }

    .aboutus_about .aboutus_about2 .item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 8.621vw 4.31vw 8.621vw;
        background: #FFF;
        border-radius: 8.621vw;
    }


    .aboutus_about .aboutus_about2 .item .title {
        padding-bottom: 4.31vw;
        font-size: 5.603vw;
    }

    .aboutus_about .aboutus_about2 .item .title:after {
        width: 25.862vw;
    }

    .aboutus_about .aboutus_about2 .item .lead {
        margin-top: 6.466vw;
        font-size: 4.957vw;
    }

    .aboutus_about .aboutus_about2 .item p {
        margin-top: 6.466vw;
        padding-inline: 4.31vw;
        font-size: 3.448vw;
    }

    .aboutus_value .section_header .sub {
        font-size: 4.31vw;
    }

    .aboutus_value .aboutus_message1 {
        margin-top: 15.086vw;
    }

    .aboutus_value .aboutus_message1 .lead .title {
        font-size: 4.957vw;
        font-weight: 700;
    }

    .aboutus_value_list {
        row-gap: 12.931vw;
        margin-top: 12.931vw;
    }

    .aboutus_value_list .item {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        column-gap: 70px;
        padding: 15.086vw 4.31vw 10.776vw;
        border-radius: 4.31vw;
    }

    .aboutus_value_list .item .label {
        position: absolute;
        top: -6.522vw;
        left: 50%;
        transform: translateX(-50%);
        width: 13.043vw;
        height: 13.043vw;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        background: var(--color-focusblue);
        color: #FFF;
        font-size: 3.043vw;
        font-weight: 700;
    }

    .aboutus_value_list .item .title {
        margin-top: 6.466vw;
        font-size: 4.957vw;
        text-align: center;
    }

    .aboutus_value_list .item .img {
        width: 30.172vw;
    }

    .aboutus_value_list .item .text p {
        margin-top: 20px;
        font-size: 3.448vw;
        font-weight: 500;
        text-align: center;
    }

    .aboutus_results {
        margin-top: 0;
    }

    .aboutus_results1 {
        margin-top: 15.086vw;
    }

    .aboutus_results1 .lead .title {
        font-size: 4.957vw;
    }

    .aboutus_results1 .lead p {
        margin-top: 8.621vw;
        font-size: 3.448vw;
        text-align: center;
        font-weight: 600;
    }

    .aboutus_results1 .home_reason1_list {
        margin-top: 15.086vw;
    }

    .aboutus_results_business_list {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 45px;
        row-gap: 10.87vw;
        margin-top: 15.086vw;
    }

    .aboutus_results_business_list .item {
        position: relative;
        text-align: center;
        background: #333333;        padding: 9.698vw 0 7.174vw 0;
    }

    .aboutus_results_business_list .item .title {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -27.5px;
        left: 50%;
        transform: translateX(-50%);
        width: 59.13vw;
        max-width: 100%;
        height: 10.87vw;
        font-size: 3.043vw;
        font-weight: 500;
        color: #FFF;
        background: #996600;
        border-radius: 9999px;
    }

    .aboutus_results_business_list .item p {
        font-size: 3.448vw;
    }

    .aboutus_results1_message {
        margin-top: 15.086vw;
        font-size: 4.31vw;
    }

    .aboutus_results1_message strong {
        color: #006699;
    }

    .aboutus_company {
        margin-top: 15.086vw;
        padding-bottom: 21.552vw;
    }

    .aboutus_company1 {
        margin-top: 15.086vw;
    }

    .table_type1 .item {
        display: grid;
        grid-template-columns: 1fr;
    }

    .table_type1 .label {
        padding: 4.31vw;
        font-size: 3.448vw;
        border-right: none;
    }

    .table_type1 .detail {
        padding: 4.31vw;
        font-size: 3.448vw;
        border-right: none;
    }
}

/*================================
Experts
================================*/
@media screen and (max-width: 959px) {
    .experts_pr .section_inner {
        padding-block: 17.391vw 17.391vw;
        padding-inline: 4.348vw;
        background: var(--color-subbeige);
    }

    .experts_pr .col2 {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        column-gap: 60px;
    }

    .experts_pr .col2 .text {
        flex: 1;
        padding-left: 0;
    }

    .experts_pr .col2 .text .catch {
        font-size: 5vw;
        font-weight: 900;
        color: #19334B;
        line-height: 1.6;
        text-align: center;
    }

    .experts_pr .col2 .text .catch strong {
        color: #B89252;
    }

    .experts_pr .col2 .text .message_box {
        margin-top: 6.522vw;
    }

    .experts_pr .col2 .text .summary {
        margin-top: 6.522vw;
        font-size: 3.913vw;
        font-weight: 700;
        line-height: 1.7;
        text-align: center;
    }

    .experts_pr .img {
        margin-top: 6.522vw;
    }

    .experts_example {
        padding-bottom: 10.87vw;
    }

    .experts_example1 .title {
        font-size: 3.478vw;
    }

    .experts_interview .section_inner {
        padding-bottom: 10.87vw;
    }

    .experts_interview1 {
        width: calc(100% - 8.696vw);
        padding: 6.522vw 4.348vw 8.696vw;
        background: rgba(153,194,206,0.24);
        border-radius: 13.043vw;
    }

    .experts_interview_list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10.87vw 6.522vw;
    }

    .experts_interview_list .item .profile {
        margin-top: 6.522vw;
        font-size: 3.478vw;
        line-height: 1.4;
    }

    .experts_interview_list .item .summary {
        margin-top: 6.522vw;
        font-size: 3.043vw;
        text-align: left;
    }

    .experts_interview_list .item .img img{
        width: 26.087vw;
    }

    .message_box {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 6.522vw;
        margin-inline: auto;
        max-width: calc(100% - 8.696vw);
        height: auto;
        color: #FFF;
        font-size: 3.696vw;
        text-align: center;
        padding: 4.348vw 4.348vw;
    }

    .experts_interview .more .btn .btn_large {
        width: calc(100% - 8.696vw);
        height: 17.391vw;
        margin-top: 9.783vw;
        margin-inline: auto;
        padding: 0 10.87vw 0 10.87vw;
        font-size: 3.043vw;
        border: 2px solid #006699;
    }

    .experts_interview .more .btn .arrow:before,
    .experts_interview .more .btn .arrow:after {
        left: 47px;
    }
}

/*================================
Services
================================*/
@media screen and (max-width: 959px) {
.services_problem {
    background: rgba(233,227,221,0.23) url(../img/services/bg_services_problem1_sp.webp) no-repeat top center / contain;
}

.services_problem1_list {
    gap: 7.826vw 0;
}

.services_problem1_list .item {
    width: 74.565vw;
    padding-top: 10.435vw;
    border-radius: 6.522vw;
}

.services_problem1_list .item:before {
    width: 8.913vw;
    height: 9.13vw;
    top: -3.913vw;
    left: 50%;
    transform: translateX(-50%);
}

.services_problem1_list .item .text {
    font-size: 3.478vw;
    line-height: 1.8;
}

.services_problem1_list .item .img {
    margin-top: 2.174vw;
}

.services_problem1_list .item img {
    height: 21.522vw;
    width: auto;
}

.services_problem1_solve {
    margin-top: 17.391vw;
    padding: 17.391vw 4.348vw 16.739vw;
    font-size: 4.13vw;
    letter-spacing: 0;
}

.services_problem1_solve:before {
    width: 8.696vw;
    height: 13.478vw;
    top: -6.739vw;
}

.services_problem1_solve:after {
    width: 6.739vw;
    height: 6.522vw;
    bottom: 4.783vw;
}

.services_three .section_header .title:before {
    width: 11.957vw;
    height: 17.826vw;
    top: 0;
    left: -13.913vw;
}
.services_three .services_three1 {
    padding-bottom: 18.478vw;
}

.services_service_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 0 4.348vw;
    overflow: auto;
}
.services_service_list * {
    white-space: nowrap;
}
.services_service_list > .item {
    padding: 0 0 7.826vw 0;
}

.services_service_list .head {
    padding: 5.435vw 8.696vw;
}

.services_service_list .head .title {
    width: calc(100% - 14.348vw);
    padding: 1.957vw 0;
    font-size: 4.783vw;
}
.services_service_list .head .lead {
    margin-top: 7.609vw;
    font-size: 3.696vw;
}

.services_service_list .body {
    padding: 9.783vw 13.043vw;
}

.services_service_list .body .label {
    height: 8.478vw;
    padding-inline: 4.13vw;
    font-size: 3.261vw;
}

.services_service_list .body .check_list {
    margin-top: 7.174vw;
}

.services_service_list .body .check_list li {
    font-size: 3.478vw;
}

.services_service_list .body .check_list li:before {
    position: relative;
    top: 0.652vw;
}

.services_service_list .foot {
    padding: 0 6.087vw;
}

.services_service_list .btn_service_list {
    height: 17.391vw;
    width: 100%;
    max-width: 78.043vw;
    row-gap: 10px;
    font-size: 3.696vw;
}

.services_service_list .btn_service_list span {
    font-size: 3.261vw;
}

.services_service_list .btn_service_list:before,
.services_service_list .btn_service_list:after {
    width: 1.739vw;
    left: 6.304vw;
}


.services_compare {
    padding-bottom: 14.13vw;
}


.services_compare .section_header .title:before {
    content: "";
    width: 10.435vw;
    height: 16.522vw;
    top: 34%;
    right: -10.435vw;
}

.services_compare_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 4.348vw;
    margin-top: 0;
    overflow-x: auto;
    padding-top: 14.348vw;
}

.services_compare_list * {
    white-space: nowrap;
}

.services_compare_list .item {
    row-gap: 3.913vw;
    padding-block: 6.087vw 8.696vw;
    text-align: center;
    border-top: 16.087vw solid #006699;
    border-right: 2.391vw solid #006699;
    border-bottom: 8.043vw solid #006699;
    border-left: 2.391vw solid #006699;
}

.services_compare_list .item .title {
    top: -21.957vw;
    width: calc(100% - 10.87vw);
    height: 14.348vw;
    font-size: 3.478vw;
}
.services_compare_list .item .label {
    width: 51.957vw;
    padding: 2.174vw 2.174vw;
    font-size: 3.043vw;
}

.services_compare_list .item .summary {
    padding-inline: 4.348vw;
    font-size: 3.478vw;
    line-height: 1.6;
}

}

@media screen and (max-width: 959px) {
    
.header_type_service {
    height: 34.783vw;
}

.header_type_service .title {
    font-size: 6.304vw;
}

.header_type_service .title span {
    font-size: 3.043vw;
}

.header_type_service2 .title {
    margin-bottom: 10.87vw;
}

.header_type_service2 .title .main {
    order: 2;
    margin-top: 4.348vw;
    font-size: 5vw;
}
.header_type_service2 .title .sub {
    order: 1;
    font-size: 3.043vw;
}

.header_type_service2 .title p {
    order: 3;
    margin-top: 4.348vw;
    font-size: 3.478vw;
    font-weight: 700;
    color: #006699;
}

.header_type_service2 .title:not(:has(p)) {
    margin-bottom: 17.391vw;
}

.header_type_service2 .title:not(:has(p)):after {
    bottom: -6.087vw;
    transform: translateX(-50%);
    width: 30.217vw;
    height: 4px;
}

.services_point1 {
    padding: 6.087vw 4.348vw 7.826vw;
}

.services_point1 .lead {
    font-size: 3.478vw;
}

.plus .services_point1 .lead{
    color: #FB883B;
}

.services_point_box {
    margin-top: 10.435vw;
    margin-inline: auto;
    padding: 7.391vw 4.348vw;
    background: #FFF;
    border-radius: 4px;
}

.services_point_box .title {
    top: -4.239vw;
    width: 44.783vw;
    height: 8.478vw;
    font-size: 3.043vw;
}

.services_point_box .title:before {
    width: 4.348vw;
    height: 2.391vw;
    left: 4.348vw;
}

.services_point_box p {
    font-size: 3.043vw;
    font-weight: 700;
    text-align: center;
}

.services_reseach_interview {
    padding-bottom: 13.043vw;
}

.services_reseach_interview1 {
    background: rgba(212,176,117,0.24);
    padding: 6.522vw 6.522vw;
    border-radius: 30px;
}

.services_reseach_interview1 .col2 {
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: center;
    column-gap: 60px;
    row-gap: 4.348vw;
}

.services_reseach_interview1 .col2 .text {
    flex: 1;
}

.services_reseach_interview1 .col2 .text p {
    font-size: 3.043vw;
}

.services_reseach_interview1 .feature {
    margin-top: 8.696vw;
}

.services_reseach_interview1 .feature .title {
    padding: 2.174vw;
    font-size: 3.478vw;
}

.services_reseach_interview1 .feature .check_list {
    width: fit-content;
    margin-inline: auto;
    padding: 4.348vw 4.348vw;
}

.services_reseach_interview1 .feature .check_list li:before {
    background-color: #CEA461;
}

.services_reseach_interview1 .feature .check_list li {
    font-size: 3.261vw;
}


.services_reseach_interview .more .btn .btn_large {
    height: 17.391vw;
    margin-top: 9.783vw;
    margin-inline: auto;
    padding: 0 10.87vw 0 10.87vw;
    font-size: 3.043vw;
    border: 2px solid #006699;
}

.services_reseach_interview .more .btn .arrow:before,
.services_reseach_interview .more .btn .arrow:after {
    left: 6.304vw;
    width: 1.739vw;
}


.services_feature {
    padding-bottom: 10.87vw;
}


.services_recommend_list {
    row-gap: 4.348vw;
}

.services_recommend_list .item {
    display: grid;
    grid-template-columns: 1fr;
    border: 3px solid #006699;
}

.services_recommend_list .item .title {
    padding-block: 2.174vw;
    font-size: 4.348vw;
}
.services_recommend_list .item .title span {
    font-size: 9.565vw;
    color: rgba(255,255,255,0.5);
    line-height: 1;
}

.services_recommend_list .item .text {
    padding: 6.522vw 4.348vw;
}

.services_recommend_list .check_list li {
    font-size: 3.043vw;
}

.services_recommend_list .check_list li:before {
    background-color: #CEA461;
}

.services_flow {
    margin-top: 10.87vw;
    padding-bottom: 0;
}

.services_flow1 {
    margin-top: 26.087vw;
}

.services_flow_list {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 33px;
    width: fit-content;
    margin-inline: auto;
    margin-top: 6.522vw;
}

.services_flow_list.col5 {
    grid-template-columns: 1fr;
}

.services_flow_list.col6 {
    grid-template-columns: 1fr;
}

.services_flow_list .item {
    display: block;
    /* grid-template-rows: subgrid;
    grid-row: span 3; */
    position: relative;
    width: 100%;
    min-width: 210px;
    min-height: auto;
    background: #FFF;
    border-radius: 6px;
    margin-bottom: 17.391vw;
    padding: 10.87vw 0 6.522vw 0;
    text-align: center;
}

.services_flow_list .item > .label {
    font-size: 3.043vw;
    font-weight: 700;
    position: absolute;
    top: -6.522vw;
    left: 50%;
    transform: translateX(-50%);
    width: 13.043vw;
    height: 13.043vw;
    border-radius: 50%;
}



.plus .services_flow_list .item > .label {
    background-color: #FB883B;
}

.services_flow_list .item > .label span {
    font-size: 4.348vw;
    line-height: 1;
}

.services_flow_list .item .img {
    height: 84px;
}
.services_flow_list .item .title {
    margin-top: 6.522vw;
    font-size: 3.913vw;
    line-height: 1.2;
    color: #006699;
}

.plus .services_flow_list .item .title {
    color: #FB883B;
}

.services_flow_list .item .title .sub {
    margin-top: 7px;
    font-size: 3.043vw;
    color: #000;
}

.services_flow_list .item .title .sub span {
    display: block;
    font-size: 2.609vw;
}



.faq_list .question {
    column-gap: 10px;
    padding: 3.261vw 10.87vw 3.261vw 4.348vw;
    font-size: 3.478vw;
}

.faq_list .question:after {
    right: 4.348vw;
    width: 3.478vw;
    height: 1.957vw;
}

.faq_list .question p {
    flex: 1;
    font-size: 3.043vw;
    line-height: 1.4;
}

.faq_list details[open] .question:after {
    transform:  rotate(-180deg);
}

.faq_list .question .icon_q {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 5.652vw;
    height: 5.652vw;
    line-height: 1;
    background: #003B59;
    border-radius: 50%;
}

.faq_list .question .icon_q:before {
    content: "Q";
    transform: translateY(-0.1em);
    font-size: 3.043vw;
    color: #FFF;
}

.faq_list .answer .icon_a {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    width: 5.652vw;
    height: 5.652vw;
    line-height: 1;
    background: #CC3300;
    border-radius: 50%;
}

.faq_list .answer .icon_a:before {
    content: "A";
    transform: translateY(-0.07em) translateX(0.03em);
    font-size: 3.043vw;
    font-weight: 700;
    color: #FFF;
}

.faq_list .answer {
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 3.261vw 4.348vw 3.261vw 4.348vw;
    background: #FBFAF9;
    border-top: 1px solid #CCC;
}

.faq_list .answer p {
    flex: 1;
    font-size: 3.043vw;
    font-weight: 700;
    line-height: 1.4;
}

section + .page_nav {
    margin-top: 8.696vw;
    margin-bottom: 13.043vw;
}
}

/*================================
Example
================================*/
@media screen and (max-width: 959px) {
.example_list_wrap {
    padding: 0 0 10.87vw 0;
}

.example_list {
    margin-top: 26.087vw;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 17.391vw;
}

.example_list .item {
    position: relative;
    padding: 13.043vw 4.348vw 6.522vw;
}

.example_list .item > .title {
    position: absolute;
    top: -6.522vw;
    left: 50%;
    transform: translateX(-50%);
    width: 13.043vw;
    height: 13.043vw;
    border-radius: 50%;
}

.example_list .item > .title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--color-focusblue);
    color: #FFF;
    font-size: 3.043vw;
    font-weight: 700;
}

.example_list .item > .title span {
    font-size: 4.348vw;
    line-height: 1;
}

.example_list .col2 {
    flex-direction: column;
    justify-content: space-between;
    column-gap: 40px;
}

.example_list .item:nth-of-type(odd) .col2 {
    flex-direction: column;
}

.example_list .col2 .text {
    flex: 1;
}

.example_list .col2 .img {
    text-align: center;
}

.example_list .col2 .img img {
    width: 39.13vw;
}

.example_list .col2 .text .title {
    margin-top: 6.522vw;
    font-size: 4.348vw;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0;
}

.example_list .col2 .text .check_title {
    margin-top: 6.522vw;
    padding: 2.174vw 0;
    font-size: 3.478vw;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    background: var(--color-focusblue);
}


.example_list .check_list {
    margin-top: 6.522vw;
    padding: 0 0;
    row-gap: 4.348vw;
}


.example_list .check_list li:before {
    flex: none;
    background-color: #CEA461;
}


.example_list .check_list li {
    font-size: 3.043vw;
    font-weight: 700;
}

.example_list .btn_wrap {
    margin-top: 6.522vw;
    justify-self: center
}

.example_list .btn_wrap .btn a {
    width: 56.522vw;
    height: 13.043vw;
    margin-top: 9.783vw;
    margin-inline: auto;
    padding: 0 10.87vw 0 10.87vw;
    font-size: 3.043vw;
}

.example_list .btn_wrap .btn .arrow:before,
.example_list .btn_wrap .btn .arrow:after {
    left: 6.304vw;
    width: 1.739vw;
}

.example_list_plus .example_list .item > .title {
    background: var(--color-mainorange);
}

.example_list_plus .example_list .col2 .text .check_title {
    background: var(--color-mainorange);
}

.modal_bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    z-index: 1000;
}

.modal_box {
    display: none;
    position: absolute;
    height: 100vh;
    top: 10.87vw;
    left: 50%;
    transform: translateX(-50%) ;
    width: 95%;
    height: calc(100vh - 10.87vw);
    padding: 25.435vw 4.348vw;
    z-index: 1001;
    background: #FFF;
    overflow: auto;
}

.modal_box .modal_inner {
    padding-top: 13.043vw;
}


.modal_box.plus .modal_inner > .label {
    background-color: #FB883B;
}

.modal_box .modal_inner > .label {
    position: absolute;
    top: -6.522vw;
    left: 50%;
    transform: translateX(-50%);
    width: 13.043vw;
    height: 13.043vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--color-focusblue);
    color: #FFF;
    font-size: 3.043vw;
    font-weight: 700;
}

.modal_box .modal_inner > .title {
    padding-inline: 4.348vw;
    font-size: 4.348vw;
    font-weight: 700;
    text-align: center;
    color: var(--color-focusblue);
}

.modal_box.plus .modal_inner > .title {
    color: var(--color-mainorange);
}

.modal_box .modal_inner > .label span {
    font-size: 4.348vw;
    line-height: 1;
}


.modal_box .modal_inner > .check_title {
    position: relative;
    margin-top: 13.043vw;
    padding: 4.348vw 0 4.348vw;
    font-size: 3.478vw;
    font-weight: 700;
    color: #FFF;
    background: var(--color-focusblue);
    text-align: center;
}

.modal_box.plus .modal_inner > .check_title {
    background-color: #FB883B;
}

.modal_box .modal_inner > .check_title:before {
    content: "";
    position: absolute;
    top: -5.435vw;
    left: 50%;
    transform: translateX(-50%);
    width: 5.652vw;
    height: 8.478vw;
}

.modal_box .modal_inner > .check_list {
    width: fit-content;
    margin-top: 6.522vw;
    margin-inline: auto;
    padding-inline: 4.348vw;
}

.modal_box .modal_inner > .check_list li {
    font-size: 3.043vw;
    font-weight: 700;
}

.modal_box .modal_inner > .check_list li:before {
    background-color: #CEA461;
}

.modal_box .modal_inner .data {
    position: relative;
    justify-content: space-between;
    margin-top: 13.043vw;
}

.modal_box .modal_inner .data > .title {
    top: -4.239vw;
    width: 44.783vw;
    height: 8.478vw;
    font-size: 3.043vw;
}

.modal_box .modal_inner .data .col2 {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    column-gap: 30px;
    row-gap: 6.522vw;
    padding: 10.87vw 4.348vw 6.522vw;
    background: #FFF;
    border-radius: 4.348vw;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.modal_box .modal_inner .data .col2 .img img {
    width: 39.13vw;
    height: auto;
    max-width: 100%;
}

.modal_box .modal_inner .data .col2 .text {
    flex: 1;
}

.modal_box .modal_inner .data .col2 .point_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 2.174vw;
}

.modal_box .modal_inner .data .col2 .point_list li {
    position: relative;
    font-size: 3.478vw;
    font-weight: 700;
}

.modal_box .modal_inner .data .col2 .point_list li:before {
    content: "●";
    color: #80A435;
    margin-right: 0.5em;
}

.modal_box.plus .modal_inner .data .col2 .point_list li:before {
    color: var(--color-mainorange);
}

.process_list {
    margin-top: 10.87vw;
}

.process_list .item > .title {
    padding: 2.174vw;
    background: #6290A6;
    font-size: 3.478vw;
    font-weight: 700;
    color: #FFF;
    text-align: center;
}

.plus .process_list .item > .title {
    background: var(--color-mainorange);
}

.process_list .process_box {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    column-gap: 30px;
    row-gap: 6.522vw;
    padding: 6.522vw 4.348vw;
}

.process_list .process_box .text {
    flex: 1;
    font-size: 3.043vw;
    font-weight: 500;
    line-height: 1.8;
}

.process_list .process_box .img img {
    width: 34.783vw;
}

.modal_close {
    position: absolute;
    right: 0px;
    top: -19.565vw;
    width: 10.87vw;
    height: 10.87vw;
    border: 2px solid #000;
    border-radius: 2px;
    cursor: pointer;
}

.modal_close:last-of-type {
    top: inherit;
    right: 0;
    bottom: -19.565vw;
}

.modal_close:before {
    content: "";
    position: absolute;
    width: 5.652vw;
    height: 3px;
    background: #000;
    top: 4.565vw;
    right: 2.174vw;
    transform: rotate(45deg);
}

.modal_close:after {
    content: "";
    position: absolute;
    width: 5.652vw;
    height: 4px;
    background: #000;
    top: 4.565vw;
    right: 2.174vw;
    transform: rotate(-45deg);
}
}

/*================================
Blog
================================*/
@media screen and (max-width: 959px) {
    .blog_wrap {
        display: block;
        margin-top: 19.397vw;
    }

    .blog_main {
        flex: 1;
    }

    .blog_list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(315px, 1fr));
    }

    .blog_list .item {
        display: block;
    }

    .blog_list .item .img img {
        width: 100%;
    }

    .blog_list .item .cat {
        margin-top: 3.233vw;
        width: fit-content;
        min-width: 136px;
        margin-inline: auto;
        padding: 1.293vw 4.31vw;
        background: #1A334B;
        color: #FFF;
        text-align: center;
    }

    .blog_list .item .date {
        margin-top: 3.233vw;
        font-size: 3.017vw;
        font-weight: 700;
        text-align: center;
    }

    .blog_list .item .title {
        margin-top: 3.233vw;
        margin-bottom: 0;
        padding-bottom: 12.931vw;
        font-size: 3.448vw;
        font-weight: 700;
        line-height: 1.4;
        text-align: center;
    }

	.pager {
		padding:16px 0 80px 0;
	}

    .pager_inner {
        display:-webkit-flex;
        display:flex;
        -webkit-flex-flow:row wrap;
        flex-flow:row wrap;
        -webkit-justify-content:center;
        justify-content:center;
    }

    .back,
    .next {
        position:relative;
        box-sizing:border-box;
        margin:10px 0;
        border:1px solid #999;
        width:22px;
        height:22px;
        text-indent:-9999px;
    }

    .back a,
    .next a {
        display:block;
        width:100%;
        height:100%;
        text-indent:-9999px;
    }

    .back::after,
    .next::after {
        position:absolute;
        top:calc(50% - 4px);
        display:block;
        box-sizing:border-box;
        border-top:1px solid #ccc;
        width:8px;
        height:8px;
        content:"";
        pointer-events: none;
    }

    .back::after {
        border-left:1px solid #ccc;
        left:calc(50% - 2px);
        transform:rotate(315deg);
    }

    .pager ol {
        display:-webkit-inline-flex;
        display:inline-flex;
        -webkit-flex-flow:row wrap;
        flex-flow:row wrap;
        -webkit-justify-content:center;
        justify-content:center;
        margin:0 10px;
        list-style-type:none;
    }

    .pager ol li a {
        display: block;
        color:#000;
        text-decoration:none;
        padding: 0 10px;
    }

    .pager ol li a:hover,
    .pager ol li.current a {
        color:#006699;
    }

    .pager ol li+li {
        border-left:1px solid #ccc;
    }

    .next::after {
        border-right:1px solid #ccc;
        left:calc(50% - 6px);
        transform:rotate(45deg);
    }

    .back:hover::after,
    .next:hover::after {
        border-color:#006699;
    }

    .blog_nav {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 10.776vw;
        margin-bottom: 43.103vw;
    }

    .blog_nav .blog_nav_box .title {
        padding-bottom: 2.155vw;
        margin-bottom: 2.155vw;
        font-size: 4.31vw;
    }

    .blog_nav .blog_nav_box ul {
        padding: 0 4.31vw;
    }

    .blog_nav .blog_nav_box ul li a {
        font-size: 3.879vw;
    }

    /* single */
    .blog_content > .title {
        position: relative;
        font-size: 4.957vw;
        padding-bottom: 6.466vw;
    }

    .blog_content > .title:after {
        width: 25.862vw;
        height: 3px;
    }

    .blog_content .meta {
        column-gap: 2.155vw;
        margin-top: 8.621vw;
        font-size: 3.448vw;
    }

    .blog_content .meta .date {
        column-gap: 2.155vw;
    }

    .blog_content .meta .date:after {
        content: "|";
    }

    .blog_content .content {
        margin-top: 8.621vw;
    }

    .blog_content .content p {
        margin-bottom: 15.086vw;
        font-size: 3.448vw;
        font-weight: 500;
        line-height: 2.2;
    }

    .blog_content .content figure {
        display: block;
        margin-bottom: 15.086vw;
    }

    .blog_content .content h2 {
        font-size: 5.603vw;
        padding-top: 11.087vw;
        margin-top: -11.087vw;
        margin-bottom: 30px;
    }

    .blog_content .content h3 {
        font-size: 4.957vw;
        padding-top: 11.087vw;
        margin-top: -11.087vw;
        margin-bottom: 20px;
    }

    .single_nav {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 10px;
        margin-top: 0;
        margin-bottom: 0;
        padding: 16px 0 80px 0;
        border-top:1px solid #ccc;
    }

    .single_nav .item a {
        font-size: 3.448vw;
    }

    .single_nav .item.single_back,
    .single_nav .item.single_next {
        display: flex;
        align-items: center;
        column-gap: 10px;
    }

    .single_nav .item.single_back:after {
        content: "|";
        font-size: 3.448vw;
    }

    .single_nav .item.single_next:before {
            content: "|";
        font-size: 3.448vw;
    }
}

/*================================
Form Common
================================*/
@media screen and (max-width: 959px) {
.form_able {
    width: calc(100% - 8.621vw);
    margin-inline: 4.31vw;
    margin-top: 22.629vw;
    padding: 12.931vw 4.31vw 10.776vw;
}

.form_able .title {
    left: 50%;
    top: -5.435vw;
    transform: translateX(-50%);
    width: 59.13vw;
    max-width: 100%;
    height: 10.87vw;
    font-size: 3.043vw;
}

.form_able .lead {
    font-size: 4.348vw;
    font-weight: 700;
    line-height: 1.8;
}

.form_able .summary {
    margin-top: 6.466vw;
    padding: 8.621vw 4.31vw;
    font-size: 3.448vw;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    border-radius: 20px;
    background: #FFF;
}

.form {
    margin-top: 12.931vw;
}

.form .form_list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0;
    margin-top: 0;
    overflow: hidden;
}

.form .form_list dt,
.form .form_list dd {
    width: 100%;
}

.form .form_list dt {
    margin-top: 48px;
    padding-right: 0;
}

.form .form_list dd {
    margin-top: 16px;
}

.form .form_list dd:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -24px;
    width: calc(100% + 239px);
    border-top: 1px solid #EBEBEB;
}

.form .form_list .hide {
    margin-top: 0;
}

.form .form_list input[type=text],
.form .form_list input[type=tel],
.form .form_list input[type=email] {
    max-width: 100%;
}

.form_submit input[type=submit] {
    width: fit-content;
    height: 70px;
    padding-inline: 84px 64px;
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    border-radius: 10px;
    background: #1A334B url(../img/common/icon/icon_mail@2x.webp) no-repeat center left 35px;
    background-size: 24px 18px;
    transition: opacity 0.3s ease;
}

.privacypolicy {
    padding-bottom: 14.13vw;
}

.privacypolicy_list {
    display: flex;
    flex-direction: column;
    row-gap: 8.621vw;
    margin-top: 17.241vw;
}

.privacypolicy_list .item .title {
    font-size: 4.31vw;
    font-weight: 500;
}

.privacypolicy_list .item .detail p,
.privacypolicy_list .item .detail ul {
    margin-top: 3.879vw;
    font-size: 3.879vw;
}

.privacypolicy_list .item .detail p + ul {
    margin-top: 0;
}

.privacypolicy_list .item .detail p a {
    word-wrap:break-word;
}
}
/*================================
Footer
================================*/
@media screen and (max-width: 959px) {
    .footer_nav .col2 {
        display: block;
        padding-block: 16.739vw 39.744vw;
    }
    .footer_nav .col2 nav {
        flex-direction: column;
        flex-wrap: wrap;
        column-gap: 50px;
        height: 240px;
        padding-inline: 4.348vw;
    }

    .footer_nav .col2 nav ul:nth-of-type(2) {
        margin-top: 10px;
    }

    .fnav {
        row-gap: 10px;
    }

    .fnav .home {
        position: absolute;
        top: -34px;
        left: -1em;
    }
    .fnav li a {
        font-size: 12px;
        font-weight: 700;
        color: #FFF;
    }

    .fnav .sub-menu {
        row-gap: 10px;
        margin-top: 10px;
    }

    .footer_nav .logo img  img {
        width: 33.478vw;
    }

    .footer_cta {
        padding-inline: 4.348vw;
        padding-block: 3.043vw 3.043vw;
        background: rgba(233,233,233,0.89);
        z-index: 10;
    }
    .footer_cta .col2 {
        column-gap: 10px;
    }

    .footer_cta .btn_footer_cta {
        width: 100%;
        max-width: 406px;
        height: 66px;
        font-size: 12px;
        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.4);
        letter-spacing: 0;
    }

    .btn_footer_cta.arrow::before,
    .btn_footer_cta.arrow::after {
        width: 12px;
        left: 10px;
    }
}






@media screen and (max-width: 959px) {
}

@media screen and (max-width: 959px) {
    .form .btn .btn_large.more {
        display: flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        height: 80px;
        margin-top: 140px;
        margin-inline: auto;
        padding: 0 47px 0 72px;
        font-size: 18px;
        font-weight: 700;
        border-radius: 14px;
    }

    .form .btn .btn_large.more.arrow:before,
    .form .btn .btn_large.more.arrow:after {
        left: 47px!important;
        width: 12px!important;
    }
}
