@charset "utf-8";
/* 
TOPページ
*/
.top-mv {
    background-size: cover;
    background-position: center center;
    padding: 0 26px;
}
.top-mv .mv-wrapper {
    width: 100%;
    max-width: 1140px;
    height: 780px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
@media (max-width: 768px) {
    .top-mv .mv-wrapper {
        height: 460px;
    }
}
.top-mv .mv-title h1 {
    font-family: "Noto Serif JP", serif;
    font-size: min(9vw, 90px);
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.4;
    color: #FFF;
}
.free-diagnosis {
    padding: 142px 26px 0;
}
@media (max-width: 768px) {
    .free-diagnosis {
        padding: 82px 26px 0;
    }
}
.free-diagnosis .inner-wrap {
    width: 100%;
    max-width: 1008px;
    margin: 0 auto;
}
.free-diagnosis .free-diagnosis-block a {
    display: block;
    border: 2px solid #373D4A;
    padding: 34px 56px;
    position: relative;
}
@media (max-width: 768px) {
    .free-diagnosis .free-diagnosis-block a {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 30px;
    }
}
.free-diagnosis .free-diagnosis-block a figure {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 45.337%;
}
@media (max-width: 768px) {
    .free-diagnosis .free-diagnosis-block a figure {
        position: static;
        max-width: 300px;
    }
}
.free-diagnosis .free-diagnosis-box {
    max-width: 65.022%;
}
@media (max-width: 768px) {
    .free-diagnosis .free-diagnosis-box {
        max-width: 100%;
    }
}
.free-diagnosis .free-diagnosis-body {}
.free-diagnosis .free-diagnosis-body .title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .free-diagnosis .free-diagnosis-body .title {
        font-size: min(3.8vw, 32px);
    }
}
.free-diagnosis .free-diagnosis-body .title:before {
    display: block;
    content: "";
    width: 53px;
    height: 45px;
    background: no-repeat url("../img/top/icon_free_diagnosis.svg")center center / contain;
}
.free-diagnosis .free-diagnosis-body .detail {}
.free-diagnosis .free-diagnosis-body .link-btn {
    margin: 20px 0 0;
}
@media (max-width: 768px) {
    .free-diagnosis .free-diagnosis-body .link-btn {
        text-align: center;
    }
}
.free-diagnosis .free-diagnosis-body .link-btn span {
    display: inline-block;
    background: #373D4A;
    border: 2px solid #373D4A;
    min-width: 280px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .03em;
    color: #FFF;
    border-radius: 9999px;
    padding: 10px 60px 10px 24px;
    box-sizing: border-box;
    position: relative;
    margin: 0 auto;
}
.free-diagnosis .free-diagnosis-body .link-btn span:after {
    content: "";
    width: 34px;
    height: 34px;
    background: no-repeat url("../img/common/icon_cta_ctt.svg")center center / contain;
    position: absolute;
    right: 18px;
    top: calc(50% - 17px);
}
.top .ttl p::before {
    background: #8B9CC4;
}
.top-about {
    padding: 120px 0;
}
@media (max-width: 768px) {
    .top-about {
        padding: 80px 0;
    }
}
.top-about-flex {
    display: flex;
    justify-content: space-between;
    gap: 40px 20px;
}
@media (max-width: 768px) {
    .top-about-flex {
        flex-direction: column;
    }
}
.top-about-flex .top-about-body {
    max-width: 448px;
}
@media (max-width: 768px) {
    .top-about-flex .top-about-body {
        max-width: 100%;
    }
}
.top-about-flex figure {
    max-width: 620px;
    margin-right: -50px;
}
@media (max-width: 768px) {
    .top-about-flex figure {
        max-width: 100%;
        margin-right: 0;
        display: flex;
        justify-content: center;
    }
    .top-about-flex figure img {
        width: 100%;
        max-width: 500px;
    }
}
.top-about-flex .top-about-body h3 {
    font-size: 34px;
    font-weight: 600;
    letter-spacing: .03em;
}
@media (max-width: 768px) {
    .top-about-flex .top-about-body h3 {
        font-size: 26px
    }
}
.top-about-flex .top-about-body .ttl {}
.top-about-img {
    width: 100%;
    max-width: 1240px;
    margin: 50px auto 0;
}
.top-about-img ul {
    display: flex;
    align-items: center;
    gap: 49px;
}
@media (max-width: 768px) {
    .top-about-img ul {
        gap: 15px;
    }
}
.top-service {
    background: #F4F6F8;
    padding: 120px 0;
}
@media (max-width: 768px) {
    .top-service {
        padding: 80px 0;
    }
}
.top-service-title .top-service-title-h2 {
    display: flex;
    align-items: center;
    gap: 20px;
}
@media (max-width: 440px) {
    .top-service-title .top-service-title-h2 {
        align-items: flex-start;
        flex-direction: column;
        gap: 0;
    }
}
.top-service-title .top-service-title-h2 .top-service-link {
    margin: 14px 0 0;
}
.top-service-title .top-service-title-h2 .top-service-link .more-btn {
    background: #FFF;
    border: 2px solid #F4F6F8;
    padding: 10px 15px;
}
.top-about-body .top-service-title .top-service-title-h2 .top-service-link .more-btn {
    background: #F4F6F8;
}
.top-service-title .top-service-title-h2 .top-service-link .more-btn:after {
    background: no-repeat url("../img/common/icon_link_a08.svg")center center / contain;
}
.top-service-title .top-service-title-h2 .top-service-link .more-btn:hover {
    background: #F4F6F8;
    border: 2px solid #FFF;
}
.top-about-body .top-service-title .top-service-title-h2 .top-service-link .more-btn:hover {
    border: 2px solid #F4F6F8;
    background: #FFF;
}
.top-service .top-service-list {
    position: relative;
    margin: 60px 0 80px;
}
.top-service .top-service-list .ec-shop {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 276px;
    height: 276px;
    background: #F4F6F8;
    border-radius: 50%;
    position: absolute;
    left: calc(50% - 138px);
    top: calc(50% - 138px);
    z-index: 2;
}
@media (max-width: 868px) {
    .top-service .top-service-list .ec-shop {
        width: 100%;
        height: auto;
        position: static;
    }
}
.top-service .top-service-list .ec-shop .inner-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 236px;
    height: 236px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(226, 226, 226, 1) 100%);
    border-radius: 50%;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.11);
}
@media (max-width: 868px) {
    .top-service .top-service-list .ec-shop .inner-wrap {
        flex-direction: row;
        gap: 20px;
        width: 100%;
        max-width: 336px;
        height: auto;
        ;
        border-radius: 9999px;
        padding: 15px;
        margin: 0 0 30px;
    }
}
.top-service .top-service-list .ec-shop .inner-wrap p {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    margin: 18px 0 0;
}
.top-service .top-service-list .top-service-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 21px;
}
@media (max-width: 868px) {
    .top-service .top-service-list .top-service-flex {
        flex-direction: column;
        align-items: center;
        gap: 21px;
    }
}
.top-service .top-service-list .top-service-flex .top-service-box {
    width: 100%;
    max-width: 46.7543%;
}
@media (max-width: 868px) {
    .top-service .top-service-list .top-service-flex .top-service-box {
        max-width: 533px;
    }
}
.top-service .top-service-list .top-service-flex .top-service-box a {
    display: flex;
    flex-direction: column;
    padding: 30px 39px 36px;
    position: relative;
    transition: .3s;
}
.top-service .top-service-list .top-service-flex .top-service-box a:hover {
    opacity: .8;
}
.top-service .top-service-list .top-service-flex .top-service-box.tsuhan_marketer a {
    background: linear-gradient(135deg, rgba(107, 196, 192, 0.51) 0%, rgba(107, 196, 192, 1) 100%);
    padding: 30px 39px 6px;
}
.top-service .top-service-list .top-service-flex .top-service-box.call_center a {
    background: linear-gradient(135deg, rgba(226, 237, 138, 0.75) 0%, rgba(210, 226, 80, 1) 100%);
}
.top-service .top-service-list .top-service-flex .top-service-box.bpo a {
    background: linear-gradient(135deg, rgba(234, 209, 102, 0.63) 0%, rgba(234, 209, 102, 1) 100%);
}
.top-service .top-service-list .top-service-flex .top-service-box.media a {
    background: linear-gradient(135deg, rgba(177, 208, 230, 1) 0%, rgba(171, 204, 227, 1) 31%, rgba(155, 194, 222, 1) 66%, rgba(132, 179, 214, 1) 100%);
}
.top-service .top-service-list .top-service-flex .top-service-box a:after {
    content: "";
    width: 45px;
    height: 45px;
    position: absolute;
}
.top-service .top-service-list .top-service-flex .top-service-box.tsuhan_marketer a:after {
    background: no-repeat url("../img/top/icon_service_link01.svg")center center / contain;
    top: 32px;
    right: 39px;
}
.top-service .top-service-list .top-service-flex .top-service-box.call_center a:after {
    background: no-repeat url("../img/top/icon_service_link02.svg")center center / contain;
    top: 32px;
    right: 39px;
}
.top-service .top-service-list .top-service-flex .top-service-box.bpo a:after {
    background: no-repeat url("../img/top/icon_service_link03.svg")center center / contain;
    bottom: 32px;
    right: 39px;
}
.top-service .top-service-list .top-service-flex .top-service-box.media a:after {
    background: no-repeat url("../img/top/icon_service_link04.svg")center center / contain;
    bottom: 32px;
    right: 39px;
}
@media (max-width: 868px) {
    .top-service .top-service-list .top-service-flex .top-service-box.bpo a:after {
        top: 32px;
        bottom: auto;
    }
    .top-service .top-service-list .top-service-flex .top-service-box.media a:after {
        top: 32px;
        bottom: auto;
    }
}
.top-service .top-service-list .top-service-flex .top-service-box .title {
    margin: 0 0 10px;
}
.top-service .top-service-list .top-service-flex .top-service-box a > p {
    line-height: 1.6;
}
.top-service .top-service-list .top-service-flex .top-service-box.media .title, .top-service .top-service-list .top-service-flex .top-service-box.media a > p {
    padding: 0 0 0 80px;
}
@media (max-width: 868px) {
    .top-service .top-service-list .top-service-flex .top-service-box.media .title, .top-service .top-service-list .top-service-flex .top-service-box.media a > p {
        padding: 0;
    }
}
.top-service .top-service-list .top-service-flex .top-service-box .title .en {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .07em;
    color: #B7B7B7;
}
.top-service .top-service-list .top-service-flex .top-service-box .title .jp {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    padding: 0 50px 0 0;
}
.top-service .top-service-list .top-service-flex .top-service-box figure {
    margin: 26px 0 0;
    max-width: 356px;
    overflow: hidden;
}
.top-service .top-service-list .top-service-flex .top-service-box.tsuhan_marketer figure {
    margin: 11px 0 0;
}
.top-service .top-service-list .top-service-flex .top-service-box figure img {
    transition-duration: 0.3s;
}
.top-service .top-service-list .top-service-flex .top-service-box a:hover figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
}
.top-service .top-service-catch {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .05em;
    margin: 0 0 54px;
}
@media (max-width: 768px) {
    .top-service .top-service-catch {
        font-size: 22px;
    }
}
.top-service .top-service-flex2 {
    display: flex;
    gap: 40px 20px;
}
@media (max-width: 1040px) {
    .top-service .top-service-flex2 {
        flex-wrap: wrap;
    }
}
@media (max-width: 768px) {
    .top-service .top-service-flex2 {
        flex-direction: column;
        align-items: center;
    }
}
.top-service .top-service-flex2 .top-service-box {
    width: 100%;
    max-width: 270px;
}
@media (max-width: 1040px) {
    .top-service .top-service-flex2 .top-service-box {
        max-width: calc(100% / 2 - 10px);
    }
}
@media (max-width: 768px) {
    .top-service .top-service-flex2 .top-service-box {
        max-width: 533px;
    }
}
.top-service .top-service-flex2 .top-service-box:nth-child(2n) {
    margin-top: 60px;
}
@media (max-width: 768px) {
    .top-service .top-service-flex2 .top-service-box:nth-child(2n) {
        margin-top: 0;
    }
}
.top-service .top-service-flex2 .top-service-box a {
    display: block;
    width: 100%;
    background: #FFF;
    padding: 24px 0;
}
.top-service .top-service-flex2 .top-service-box .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0 0 24px;
    display: flex;
    gap: 13px;
    font-feature-settings: "palt";
}
.top-service .top-service-flex2 .top-service-box .title:before {
    content: "";
    width: 10px;
    height: 11px;
    margin: 11px 0 0;
}
.top-service .top-service-flex2 .top-service-box.tsuhan_marketer .title:before {
    background: #6BC4C0;
}
.top-service .top-service-flex2 .top-service-box.call_center .title:before {
    background: #D2E250;
}
.top-service .top-service-flex2 .top-service-box.bpo .title:before {
    background: #EAD166;
}
.top-service .top-service-flex2 .top-service-box.media .title:before {
    background: #99C6E8;
}
.top-service .top-service-flex2 .top-service-box figure {
    display: inline-block;
    margin: 0 10.5px;
    overflow: hidden;
}
.top-service .top-service-flex2 .top-service-box figure img {
    transition-duration: 0.3s;
}
.top-service .top-service-flex2 .top-service-box a:hover figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
}
.top-service .top-service-flex2 .top-service-box .office {
    padding: 24px 23px 18px;
    line-height: 1.6;
}
.top-service .top-service-flex2 .top-service-box .office span {
    font-size: 14px;
}
.top-service .top-service-flex2 .top-service-box .Introduce {
    font-size: 14px;
    line-height: 1.6;
    padding: 0 23px;
}
.top-service .top-service-flex2 .top-service-box .link-btn {
    padding: 60px 10.5px 0 0;
    text-align: right;
}
.top-service .top-service-flex2 .top-service-box .more-btn {
    padding: 7px 15px;
}
.top-service .top-service-flex2 .top-service-box a:hover .more-btn {
    background: #FFF;
}
.top-service .top-service-flex2 .top-service-box .more-btn:after {
    background-image: url(../img/common/icon_link_a08.svg);
}
.top-case {
    margin: 0 0 110px;
}
@media (max-width: 768px) {
    .top-case {
        margin: 0 0 80px;
    }
}
.top-case .top-case-lead {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .03em;
    margin: 0 0 54px;
}
@media (max-width: 768px) {
    .top-case .top-case-lead {
        font-size: 26px;
    }
}
.top-case .customers-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 22.5px;
}
@media (max-width: 480px) {
    .top-case .customers-list ul {
        gap: 14px;
    }
}
.top-case .customers-list li {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #D3D3D3;
    width: 169px;
    height: 135px;
}
@media (max-width: 480px) {
    .top-case .customers-list li {
        width: 100%;
        height: 100px;
    }
}
.top-case .flex-start.case-wrapper {
    margin-top: 156px;
}
.top-case .flex-start.case-wrapper .case-content.border-black .more-btn::after {
    background-image: url(../img/common/icon_link_a08.svg);
}
.top-content-link {
    padding: 0 26px 20px;
}
.top-content-link .top-content-wrap {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    background: no-repeat url("../img/top/content_link_bg.png") center center / cover;
    box-sizing: border-box;
    padding: 80px 50px;
}
@media (max-width: 768px) {
    .top-content-link .top-content-wrap {
        padding: 50px 30px;
    }
}
.top-content-link .top-content-wrap .top-content-flex {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
@media (max-width: 1080px) {
    .top-content-link .top-content-wrap .top-content-flex {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
}
.top-content-link .top-content-wrap .top-content-flex > div {
    width: 100%;
    max-width: 560px;
    box-sizing: border-box;
}
.top-content-link .top-content-wrap .top-content-flex > div a {
    display: block;
    background: rgba(255, 255, 255, 0.29);
    padding: 26px 22px 34px 50px;
    transition: .3s;
}
@media (max-width: 580px) {
    .top-content-link .top-content-wrap .top-content-flex > div a {
        padding: 26px 22px 34px;
    }
}
.top-content-link .top-content-wrap .top-content-flex > div a:hover {
    background: rgba(255, 255, 255, 0.40);
}
.top-content-link .top-content-wrap .top-content-flex .top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media (max-width: 580px) {
    .top-content-link .top-content-wrap .top-content-flex .top {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
}
.top-content-link .top-content-wrap .top-content-flex .top .title {
    color: #FFF;
}
.top-content-link .top-content-wrap .top-content-flex .top .title .en {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .07em;
}
@media (max-width: 580px) {
    .top-content-link .top-content-wrap .top-content-flex .top .title .en {
        text-align: center;
    }
}
.top-content-link .top-content-wrap .top-content-flex .top .title .jp {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .02em;
}
.top-content-link .top-content-wrap .top-content-flex .top figure {
    max-width: 244px;
    overflow: hidden;
}
.top-content-link .top-content-wrap .top-content-flex .top figure img {
    transition-duration: 0.3s;
}
.top-content-link .top-content-wrap .top-content-flex a:hover .top figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
}
.top-content-link .top-content-wrap .top-content-flex .bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
    margin: 26px 0 0;
}
.top-content-link .top-content-wrap .top-content-flex .bottom p {
    color: #FFF;
  flex:1;
}
.top-content-link .top-content-wrap .top-content-flex .bottom:after {
    content: "";
    width: 45px;
    height: 45px;
    background: no-repeat url("../img/top/icon_content_link.svg")center center / contain;
}
@media (max-width: 768px) {
.top-content-link .top-content-wrap .top-content-flex .bottom:after {
    width: 35px;
    height: 35px;
}
}
/* 
サービス一覧
*/
.service .mv {
    margin: 0;
    padding: 0 26px;
    transition: .3s;
    background: no-repeat url("../img/service/service_top_mv.png") center center / cover;
    position: relative;
}
@media (max-width: 1100px) {
    .service .mv {
        padding: 100px 26px 0;
    }
}
@media (max-width: 768px) {
    .service .mv {
        padding: 40px 20px 0;
    }
}
.service .mv-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1140px;
    height: 418px;
    margin: 0 auto;
    box-sizing: border-box;
    transition: .3s;
}
@media (max-width: 768px) {
    .service .mv-wrapper {
        height: 200px;
        padding: 0 40px;
    }
}
.service .mv .mv-title h1 {
    display: flex;
    flex-direction: column;
    gap: 25px;
    color: #FFF;
}
@media (max-width: 768px) {
    .service .mv .mv-title h1 {
        gap: 15px;
    }
}
.service .mv .mv-title .en {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
}
.service .mv .mv-title .jp {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .05em;
}
@media (max-width: 768px) {
    .service .mv .mv-title .jp {
        font-size: 24px;
    }
}
.service-block {
    margin: 185px 0 0;
    padding: 80px 85px;
    box-sizing: border-box;
    position: relative;
    background: #FFF;
}
@media (max-width: 768px) {
    .service-block {
        margin: 70px 0 0;
        padding: 40px;
    }
}
.service-block.marketer {
    background: linear-gradient(to right, rgba(107, 196, 192, 0.51) 0%, rgba(107, 196, 192, 1) 100%);
}
.service-block.call_center {
    background: linear-gradient(to right, rgba(226, 237, 138, 0.75) 0%, rgba(210, 226, 80, 1) 100%);
}
.service-block.bpo {
    background: linear-gradient(to right, rgba(234, 209, 102, 0.75) 0%, rgba(234, 209, 102, 1) 100%);
}
.service-block.media {
    background: linear-gradient(to right, rgba(177, 208, 230, 1) 0%, rgba(132, 179, 214, 1) 100%);
}
.service-block .number {
    font-family: "Montserrat", sans-serif;
    font-size: 75px;
    font-weight: 600;
    line-height: 1;
    position: absolute;
    left: 50px;
    top: -35px;
}
@media (max-width: 768px) {
    .service-block .number {
        font-size: 60px;
        right: 20px;
        left: auto;
        top: -30px;
    }
}
.service-block.marketer .number {
    color: #80A7B5;
}
.service-block.call_center .number {
    color: #A2AD45;
}
.service-block.bpo .number {
    color: #C7B258;
}
.service-block.media .number {
    color: #6285A0;
}
.service-block:nth-child(2n) .number {
    left: auto;
    right: 50px;
}
@media (max-width: 768px) {
    .service-block:nth-child(2n) .number {
        right: 20px;
    }
}
.service-block .service-title {
    width: 250px;
    padding: 0 0 50px;
}
@media (max-width: 880px) {
    .service-block .service-title {
        width: 100%;
        padding: 0;
    }
}
.service-block .service-title h2 {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.service-block .service-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}
.service-block:nth-child(2n) .service-flex {
    flex-direction: row-reverse;
}
@media (max-width: 880px) {
    .service-block .service-flex {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }
    .service-block:nth-child(2n) .service-flex {
        flex-direction: column;
    }
}
.service-block .service-title .en {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
    white-space: nowrap;
}
.service-block .service-title .jp {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .02em;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .service-block .service-title .jp {
        white-space: wrap;
    }
}
.service-block .service-img {
    width: 100%;
    max-width: 675px;
    margin-top: -185px;
    margin-right: -45px;
}
.service-block:nth-child(2n) .service-img {
    margin-left: -45px;
    margin-right: auto;
}
@media (max-width: 880px) {
    .service-block .service-img {
        margin-top: 0;
        margin-right: 0;
    }
    .service-block:nth-child(2n) .service-img {
        margin-left: 0;
    }
}
.service-block .lead-text {
    margin: 52px 0 0;
}
@media (max-width: 768px) {
    .service-block .lead-text {
        margin: 30px 0 0;
    }
}
.service-block .banners {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 50px 0 0;
}
@media (max-width: 768px) {
    .service-block .banners {
        flex-direction: column;
        align-items: center;
        margin: 30px 0 0;
        gap: 20px;
    }
}
.service-block .banners > div {
    width: calc(50% - 17px);
}
.service-block .banners a {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #FFF;
    padding: 35px 20px;
    transition: .3s;
}
@media (max-width: 768px) {
    .service-block .banners > div {
        width: 100%;
    }
}
.service-block .banners img {
    width: 100%;
    max-width: 275px;
    height: auto;
}
.service-block .banners .catch {
    font-size: 18px;
    font-weight: 500;
    padding: 15px 0 25px;
}
@media (max-width: 768px) {
    .service-block .banners .catch {}
}
.service-block .banners a:hover {
    background: #F4F6F8;
}
.service-block .banners .eight-wrapper .more-btn:after {
    background-image: url("../img/common/icon_link_a02.svg")
}
.service-block .banners .growth-wrapper .more-btn:after {
    background-image: url("../img/common/icon_link_a05.svg")
}
.service-block.call_center .more-btn, .service-block.bpo .more-btn, .service-block.media .more-btn {
    background: #FFF;
}
.service-block.call_center .more-btn:hover, .service-block.bpo .more-btn:hover, .service-block.media .more-btn:hover {
    background: #F4F6F8;
}
.service-block.call_center .more-btn:after {
    background-image: url("../img/common/icon_link_a01.svg")
}
.service-block.bpo .more-btn:after {
    background-image: url("../img/common/icon_link_a03.svg")
}
.service-block.media .more-btn:after {
    background-image: url("../img/common/icon_link_a04.svg")
}
.service-block .banners a:hover .more-btn {
    background: #FFF;
}
.service-block .banners .eight-wrapper p span {
    color: #6BC4C0;
}
.service-block .banners .growth-wrapper p span {
    color: #EF915F;
}
.service-block .bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}
@media (max-width: 880px) {
    .service-block .bottom {
        flex-direction: column;
        gap: 20px;
    }
}
.service-block .bottom .service-link {
    min-width: 161px;
}
.service-block .media-service {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 60px 0 0;
}
.service-block .media-service .others a {
    display: flex;
    align-items: center;
    gap: 45px;
    background: #FFF;
    padding: 30px 40px 30px 65px;
    transition: .3s;
}
.service-block .media-service .others a:after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(../img/service/icon_arrow_link.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.service-block .media-service .others.spdm a {
    gap: 27px;
}
.service-block .media-service .others a:hover {
    background: #F4F6F8;
}
@media (max-width: 768px) {
    .service-block .media-service .others a {
        flex-direction: column;
        gap: 20px;
        padding: 30px;
    }
}
.service-block .media-service .others figure {
    display: flex;
    justify-content: center;
    width: 78px;
}
.service-block .media-service .others.spdm figure {
    width: 96px;
}
@media (max-width: 768px) {
    .service-block .media-service .others.spdm figure {
        width: 120px;
    }
}
.service-block .media-service .others.delifoma figure img {
    width: 72px;
}
.service-block .media-service .others .detail {
    flex: 1;
}
.service-block .media-service .others .detail h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 12px;
}
/*コールセンター代行サービス*/
.top_area {
    background-image: url(../img/service/callcenter_top_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 47% center;
    height: 749px;
    position: relative;
}
.top_area .in1140 {
    overflow: visible;
}
.top_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 156px;
    width: 570px;
    max-width: 100%;
}
.top_text h1 {
    margin-bottom: 42px;
    display: flex;
    align-items: center;
    gap: 13px;
}
.top_text h1:before {
    content: "●";
    font-size: 17px;
}
.top_text .main_catch {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.6;
    margin-bottom: 14px;
    padding-right: 10px;
}
.top_text .main_catch.tsuhan {
    font-size: 30px;
}
.top_text .main_catch span {
    display: block;
}
.top_img {
    width: calc(100% - 570px);
}
.top_img img {
    width: 700px;
    height: auto;
    max-width: 100%;
    position: absolute;
}
.top_area .top_text .flex-start {
    margin-top: 71.5px;
    gap: 8px;
}
.top_area .top_text .flex-start .btn-wrapper {
    width: 100%;
    max-width: 232px;
}
.top_area .top_text .flex-start .btn-wrapper a {
    width: 100%;
}
.top_area .btn-wrapper .btn {
    display: inline-block;
    width: 232px;
    max-width: 100%;
    padding: 21.3px 20px 24.7px 29.6px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    transition: .3s;
}
.top_area .btn-wrapper .btn.arrow:before {
    margin: 0 8px 0 0;
}
.btn.btn-dl.arrow::after {
    content: "";
    position: absolute;
    right: 14px;
    font-size: 0px;
    width: 24px;
    height: 23px;
    background-image: url(../img/common/icon_cta_dl.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.btn.btn-dl.arrow:hover:after {
    background-image: url(../img/common/icon_cta_dl-hover.svg);
}
.btn.btn-contact.arrow::after {
    content: "";
    position: absolute;
    right: 14px;
    font-size: 0px;
    width: 24px;
    height: 23px;
    background-image: url(../img/common/icon_cta_ctt.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.btn.btn-contact.arrow:hover:after {
    background-image: url(../img/common/icon_cta_ctt-hover.svg);
}
.anchor_wrap {
    margin-top: 65px;
}
.anchor_wrap li {
    width: calc(100% / 4 - 20px);
    max-width: 100%;
    margin-right: 20px;
    margin-bottom: 14px;
}
.anchor_wrap li a {
    padding: 24.5px 40px 24.5px 23px;
    border: solid 1px rgba(214, 214, 214, .8);
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    transition: .3s;
}
.anchor_wrap li a::after {
    content: "";
    right: 18px;
    width: 18px;
    height: 18px;
    position: absolute;
    background-image: url(../img/service/anchor_btn@2.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    transform: translateY(-50%);
}
.anchor_wrap li a:hover {
    background-color: rgba(214, 214, 214, .8);
}
.ttl {
    margin-bottom: 40px;
}
.ttl p::before {
    content: "";
    background: #D2E250;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    top: -2px;
    left: -12px;
    position: absolute;
    z-index: -1;
}
#overview {
    margin: 100px 0 0;
    padding: 0 16px;
}
#overview .bg-gray.in1240 {
    padding: 100px 50px;
    text-align: center;
}
#overview .in1140 > .flex-between {
    margin-top: 30px;
    gap: 20px;
}
#overview .in1140 > .flex-between .bg-white {
    padding: 24px 16px 25px;
    width: calc(100% / 4 - 15px);
    box-sizing: border-box;
}
#overview .in1140 > .flex-between .bg-white.col2 {
    width: calc(100% / 2 - 10px);
}
.bpo_rpa #overview .in1140 > .flex-between .bg-white:first-child {
    width: 560px;
}
#overview .in1140 > .flex-between .bg-white li {
    background-color: transparent;
    padding: 0 12px;
    margin: 0 0 8px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.5;
    min-width: 50%;
    text-align: left;
}
#overview .in1140 > .flex-between .bg-white li.max {
    min-width: 100%;
}
#overview .in1140 > .flex-between .bg-white li::before {
    content: "";
    background: #EAD166;
    width: 5px;
    height: 5px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}
#overview h4 {
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 9px;
    border-bottom: solid 1px #D2E250;
    margin-bottom: 29px;
}
#overview .in1140 > .image {
    margin: 60px 0 0;
}
#overview .in1140 > .overview_body {
    margin: 35px 0 0;
}
#overview .in1140 > .overview_body ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 190px;
    position: relative;
}
#overview .in1140 > .overview_body ul:after {
    content: "";
    position: absolute;
    top: calc(100% + 27px);
    left: calc(50% - 42px);
    width: 84px;
    height: 128px;
    background: no-repeat url("../img/service/callcenter_overview_arrow.svg") center center / contain;
}
#overview .in1140 > .overview_body li {
    border: 1px solid #222222;
    background: #FFF;
    font-size: 20px;
    line-height: 1.6;
    padding: 12px 30px;
    position: relative;
}
#overview .in1140 > .overview_body li span {
    font-weight: 700;
    text-decoration: underline;
}
#overview .in1140 > .overview_body li:before {
    content: "●";
    font-size: 10px;
    color: #D2E250;
    position: absolute;
    left: 15px;
    top: calc(50% - 9px);
}
#overview .in1140 > .overview_body figure {
    text-align: center;
    margin: 0;
}
#overview .in1140 > .overview_body figure img {
    width: 100%;
    max-width: 702px;
    margin: 0 auto;
}
#overview .in1140 > .flex-between {
    justify-content: center;
}
.marketing_creative #reason .in1140 {
    text-align: center;
}
#reason h3 + p {
    margin-bottom: 55px;
}
.reason-main {
    margin: 80px auto;
    gap: 100px;
}
@media (max-width: 768px) {
    .reason-main {
        gap: 20px;
    }
}
.reason-main .reason-gray-box {
    gap: 16px 2%;
}
.reason-main .reason-r {
    flex: 1;
    max-width: 100%;
}
.reason-main .reason-l {
    width: 588px;
    max-width: 100%;
}
.reason-main .reason-l img {
    height: auto;
}
.reason {
    margin-left: 0;
    font-size: 11px;
}
.reason span:first-of-type {
    padding: 3.7px 10px;
    border: solid 1px #222;
    border-radius: 30px;
}
.reason span:last-of-type {
    padding: 3.7px 8px;
    border: solid 1px #D2E250;
    background-color: #D2E250;
    border-radius: 30px;
    margin-left: -2px;
}
.reason-main .reason-r h4 {
    font-size: 26px;
    margin-top: 16.5px;
    margin-bottom: 35.5px;
}
.reason-r p:nth-of-type(n+2) {
    margin-top: 1.5em;
}
.reason-graybox .bg-gray {
    width: 49%;
    padding: 30px 40px;
    box-sizing: border-box;
}
.reason-graybox .bg-gray h4 {
    border-left: solid 3px #D2E250;
    padding: 2px 0 2px 23px;
    margin-bottom: 23px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
}
.message-box {
    margin: 80px auto 100px;
    padding: 60px 90px 60px 67px;
    box-sizing: border-box;
    position: relative;
    transform: .3s;
}
.message-box .message-l {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 236px;
}
.message-box .message-r {
    width: calc(100% - 300px);
    margin-left: 64px;
    text-align: left;
}
.message-box .message-r .font-mont {
    font-size: 12px;
}
.message-box .message-r .font-mont::before {
    content: "";
    margin-right: .5rem;
    background-image: url(../img/service/callcenter_line.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 9px;
    height: 3px;
    display: inline-block;
    vertical-align: middle;
}
.message-box .message-r h5 {
    font-size: 26px;
    margin-top: 5px;
    margin-bottom: 11px;
}
@media (max-width: 768px) {
    .message-box .message-r h5 {
        font-size: 20px;
    }
}
.message-box .message-r h5 + p {
    font-size: 14px;
}
.message-box .message-r h5 + p span {
    display: inline-block;
    margin-bottom: 32.5px;
}
.more-btn {
    display: inline-block;
    font-size: 14px;
    background-color: #F4F6F8;
    border: solid 3px #F4F6F8;
    border-radius: 9999px;
    padding: 9px 15px;
    transition: .3s;
}
.more-btn::after {
    content: "";
    background-image: url(../img/service/more-arrow@2.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: 44px;
    height: 26px;
    vertical-align: middle;
    margin-left: 11px;
    margin-top: -2px;
}
.more-btn:hover {
    background-color: #fff;
}
.message-box p:has(.more-btn) {
    margin-top: 33px;
}
.message-box .more-btn::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    transition: .3s;
}
.reason-wrapper {
    margin: 50px auto 90px;
    gap: 10px 5%;
}
.reason-wrapper .reason-box {
    width: 30%;
}
.reason-wrapper .reason-box .img-box {
    position: relative;
    margin-bottom: 38px;
}
.reason-wrapper .reason-box .img-box .reason {
    position: absolute;
    left: 17px;
    top: 21px;
}
.reason-wrapper .reason-box .img-box .reason span:first-of-type {
    background-color: #fff;
    border-color: #fff;
}
.reason-wrapper .reason-box .img-box h4 {
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    padding: 5px;
    box-sizing: border-box;
}
.reason-wrapper .reason-box p {
    text-align: left;
}
@media (max-width: 1080px) {
    .reason-wrapper .reason-box .img-box h4 {
        font-size: min(1.85vw, 24px);
    }
}
.eight {
    padding: 62px 36px;
    position: relative;
}
.eight:hover {
    background-color: #F4F6F8;
    transition: .3s;
}
.eight .flex-around {
    width: 100%;
    justify-content: center;
    gap: 52px;
    align-items: center;
    position: relative;
    margin: 0 auto 78px;
}
.eight .flex-around::after {
    content: "";
    width: 150%;
    max-width: 885px;
    height: 1px;
    display: inline-block;
    background-color: #D3D3D3;
    position: absolute;
    bottom: -36px;
    left: 50%;
    transform: translateX(-50%);
}
.eight .flex-around img {
    width: 132px;
    max-width: 100%;
}
.eight .flex-around h3 {
    line-height: 2.0;
    font-size: 24px;
    font-weight: 500;
}
.eight .flex-around h3 span {
    display: block;
}
.eight .flex-start {
    gap: 20px 4%;
    margin: auto auto 57px;
    width: 885px;
    max-width: 100%;
    text-align: left;
}
.eight .flex-start > div {
    width: 48%;
}
.eight .flex-start .lead {
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 15px;
}
.eight .flex-start .lead::before {
    content: "●";
    display: inline-block;
    color: #222222;
    font-size: 8px;
    margin-right: 10px;
    vertical-align: middle;
    margin-top: -4px;
}
.eight .flex-start + p {
    text-align: center;
}
.eight .flex-start + p a {
    font-size: 18px;
    font-weight: 600;
    padding: 16.5px;
    width: 392px;
    max-width: 100%;
    display: inline-block;
    box-sizing: border-box;
    transition: .3s;
}
@media (max-width: 440px) {
    .eight .flex-start + p a {
        font-size: min(3.4vw, 18px);
        padding: 12px;
    }
}
.eight .flex-start + p a img {
    right: 21px;
    border: solid 2px transparent;
    border-radius: 50%;
    float: right;
}
.eight .flex-start + p a:hover {
    background-color: #fff;
    color: #4B4E4E;
}
.eight .flex-start + p a:hover img {
    border-color: #4B4E4E;
}
.eight a.btn::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
}
#casestudy {
    margin: 100px 0 0;
    padding: 0;
}
.marketing_creative #casestudy .in1140 {
    text-align: center;
}
#casestudy .bg-gray {
    padding-top: 100px;
    padding-bottom: 100px;
}
#casestudy .case {
    margin-top: 60px;
    text-align: left;
}
#casestudy .case-ttl {
    border-top: solid 1px #C6C6C6;
    padding-top: 49px;
    margin-bottom: 49px;
    margin-top: 60px;
}
#casestudy .case-ttl .font-mont {
    font-size: 18px;
    background-color: #4B4E4E;
    width: 129px;
    height: 119px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
#casestudy .case-ttl .font-mont + div {
    flex:1;
    padding-left:45px;
    display: flex;
    flex-direction:column;
    justify-content:center;
}
.marketing_creative #casestudy .case-ttl .font-mont + div {
    background:#EDFFFF;
}
#casestudy .case-ttl h4 {
    font-size: 26px;
    margin-bottom: 18px;
}
.case-ba {
    overflow: hidden;
    flex-wrap: nowrap;
}
.case-ba .before-box {
    width: 606px;
    margin-right: -30px;
    padding: 23px 80px 33px 37px;
    box-sizing: border-box;
    position: relative;
    background: no-repeat url("../img/service/before_bg.svg")0 0;
    background-size: 100% 100%;
}
@media (max-width: 1000px) {
    .case-ba .before-box {
        width: 50%;
        margin-right: -30px;
    }
}
.case-ba .after-box {
    width: 50%;
    padding: 23px 35px 33px 37px;
    box-sizing: border-box;
    border: solid 2px #D2E250;
    border-radius: 10px;
    background-color: #fff;
}
.case-ba .font-mont {
    text-align: center;
    width: 100%;
    font-size: 31px;
    margin-bottom: 22px;
    line-height: 1.5;
}
.case-ba .font-mont span {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: 30px;
}
.case-ba .before-box .font-mont {
    color: #032D42;
}
.case-ba .before-box li {
    background-color: #F4F6F8;
    padding: 17px 35px 17px 25px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    line-height: 2;
}
.case-ba .before-box li:last-of-type {
    margin-bottom: 0;
}
.case-ba .before-box li::before {
    content: "●";
    display: inline-block;
    color: #032D42;
    font-size: 10px;
    margin-right: 10px;
    vertical-align: middle;
    margin-top: 0;
}
.case-ba .after-box li {
    background-color: #D2E250;
    padding: 17px 35px 17px 25px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    line-height: 2;
}
.case-ba .after-box li:last-of-type {
    margin-bottom: 0;
}
.case-ba .after-box li::before {
    content: "";
    background-image: url(../img/service/check-w@2.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    color: #032D42;
    width: 13px;
    height: 9px;
    margin-right: 10px;
    vertical-align: middle;
    margin-top: 6px;
}
#comparison h2 {
    font-size: 34px;
}
.table-scroll {
    overflow-x: auto;
}
.chart {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 700px;
    font-weight: bold;
    text-align: center;
}
.chart thead th {
    padding: 1em .8em;
    border-right: 2px solid#fff;
}
.chart thead th:not(:first-child) {
    background: #969696;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    border-radius: 15px 15px 0 0;
    padding: 1rem;
}
.chart thead th.own {
    font-size: 22px;
    color: #222222;
    background-color: #D2E250;
    padding: 1rem;
    line-height: 1.5;
}
.chart thead th span {
    font-size: .8rem;
}
.chart thead th:nth-child(3) {
    background-color: #f88400;
    position: relative;
}
.chart tbody {
    border: 2px solid #d2e8f1;
}
.chart tbody tr {
    background-color: #e6f1f6;
}
.chart td {
    border-left: 2px solid #d2e8f1;
}
.chart td {
    color: #4d9bc1;
    padding: 1em;
}
.chart td:nth-child(3) {
    color: #f88400;
    border-right: 2px solid #f88400;
    border-left: 2px solid #f88400;
}
.chart tr:last-child td:nth-child(3) {
    border-bottom: 2px solid #f88400;
}
.comparison-grid {
    display: grid;
    grid-template-columns: .8fr 1fr 1fr;
    gap: 0px 6px;
    max-width: 100%;
    margin-top: 60px;
}
.comparison-grid .header, .comparison-grid .label {
    font-weight: bold;
    background: #eee;
    padding: 10px;
    text-align: center;
}
.comparison-grid .cell, .comparison-grid .header {
    padding: 10px;
    background: #f9f9f9;
    text-align: center;
}
.comparison-grid .header:not(.own) {
    background: none;
    border: none;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 0;
}
.comparison-grid .header .header-inner {
    background-color: #969696;
    color: #fff;
    font-weight: bold;
    padding: 1rem;
    box-sizing: border-box;
    width: 100%;
}
.comparison-grid .header.own {
    font-size: 22px;
    padding: 1rem 2%;
    box-sizing: border-box;
    line-height: 1.5;
}
.comparison-grid .own {
    background: #D2E250;
    border-radius: 0;
    border: 2px solid #D2E250;
    padding: 3px 4px;
    display: inline-table;
}
.comparison-grid .own .grid-inner {
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 5px 12px;
}
.comparison-grid .icon {
    font-weight: bold;
    display: inline-block;
    margin: 20px auto 10px;
    font-size: 30px;
    color: #D2E250;
}
.comparison-grid .icon-n {
    margin: 20px auto 10px;
    font-size: 24px;
    font-weight: bold;
}
.row-title {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cell:not(.own).row-title .grid-inner {}
.cell:not(.own) {
    background-color: #fff;
    padding: 2px;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.cell:not(.own) .grid-inner {
    background: #F4F6F8;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0 3px;
}
.comparison-grid > div:nth-last-child(-n+4) {}
.comparison-grid > div:nth-last-child(3) {
    border-radius: 0 0 10px 10px;
}
#faq .bg-gray {
    padding-top: 100px;
    padding-bottom: 100px;
}
#faq h2 {
    font-size: 34px;
}
.accordion_area .accordion_one {
    margin-bottom: 16px;
    border: 1px solid #D3D3D3;
    overflow: hidden;
    background: #F4F6F8;
}
.bg-gray .accordion_area .accordion_one {
    background: #FFF;
}
.accordion_area .accordion_one:last-of-type {
    margin-bottom: 0;
}
.accordion_area .accordion_one .ac_header {
    padding: 22px 124px 22px 40px;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition: .2s;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
    /*background-color: #f1f8ff;*/
}
.accordion_area .accordion_one .ac_header .i_box {
    position: absolute;
    top: 50%;
    right: 2rem;
    width: 20px;
    height: 20px;
    margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
    border-top: 2px solid #2B2A2A;
    width: 20px;
    height: 0;
    top: 0;
    bottom: 0;
    right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
    border-left: 2px solid #2B2A2A;
    width: 0;
    height: 20px;
    top: 0;
    bottom: 0;
    right: 9px;
    transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
    height: 0;
}
.accordion_area .accordion_one .ac_header.open {
    border-bottom: none;
    border-radius: 15px 15px 0 0;
}
.accordion_area .accordion_one .ac_inner {
    display: none;
    padding: 0 124px 22px 40px;
    box-sizing: border-box;
    border-radius: 0 0 15px 15px;
}
/*=========
faq
=========*/
.p-faq__headinner {
    display: block;
    position: relative;
    line-height: 1.5;
}
.p-faq__q-txt span {
    font-size: 22px;
    background-color: #D2E250;
    color: #fff;
    border-radius: 10px;
    width: 40px;
    height: 40px;
    text-align: center;
    margin-right: 20px;
    position: absolute;
    left: 0px;
}
.p-faq__headinner p.p-faq__q-txt {
    font-size: 18px;
    position: relative;
    padding-left: 60px;
}
.p-faq__bodyinner {
    display: block;
    position: relative;
    line-height: 1.5;
}
p.p-faq__a-txt span {
    font-size: 22px;
    background-color: #4B4E4E;
    color: #fff;
    border-radius: 10px;
    width: 40px;
    height: 40px;
    text-align: center;
    margin-right: 20px;
    position: absolute;
    left: 0px;
}
.p-faq__bodyinner p.p-faq__a-txt {
    position: relative;
    padding-left: 60px;
}
#case h2 {
    font-size: 34px;
}
.case-wrapper {
    gap: 136px 3%;
    margin-top: 116px;
}
.case-content {
    width: 31%;
    padding: 0 11px 36px 11px;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
}
.case-content div:has(img) {
    margin-top: -56px;
    overflow: hidden;
}
.case-content:hover img {
    transform: scale(1.1);
    transition: .3s;
}
.case-content p {
    padding: 25px 22px 0;
    text-align: left;
}
.case-company {
    font-size: 18px;
    font-weight: 500;
}
.case-company + p {
    flex-grow: 1;
}
.case-content p:has(.more-btn) {
    margin-top: 23px;
    text-align: right;
}
.case-content a::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
}
#solution .bg-gray {
    padding: 70px 55px 96px;
    box-sizing: border-box;
}
#solution .flex-between {
    gap: 16px 38px;
    margin-top: 50px;
}
#solution .bg-white {
    width: calc(100% /2 - 20px);
    padding: 59px 40px 36px;
    box-sizing: border-box;
    position: relative;
    border: solid 2px transparent;
    display: flex;
    flex-direction: column;
}
#solution .bg-white:hover {
    border-color: #222;
    transition: .3s;
}
#solution h2 {
    font-size: 32px;
    text-align: center;
}
#solution h3 {
    font-size: 20px;
    position: relative;
}
#solution h3::before {
    content: "";
    width: 4px;
    height: 32px;
    background-color: #222222;
    position: absolute;
    top: 0;
    left: -40px;
}
#solution h3 + p {
    flex-grow: 1;
}
#solution .bg-white p:has(.more-btn) {
    margin-top: 20px;
    text-align: right;
}
#solution a::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
}
#download {
    text-align: center;
    margin-bottom: 10px;
}
#download .in1140 .border-black {
    padding: 80px 55px;
    box-sizing: border-box;
}
#download .ttl {
    margin-bottom: 30px;
}
#download .ttl p {
    margin-right: 0;
}
#download .ttl p::before {
    display: none;
}
#download .ttl h2 {
    font-size: 30px;
}
.dl-wrapper {
    gap: 30px 3%;
    margin-top: 60px;
}
.dl-content {
    width: 31%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.dl-content .circle-gray {
    width: 284px;
    height: 284px;
    background-color: #F4F6F8;
    border-radius: 50%;
    overflow: visible;
    position: relative;
}
.dl-content .circle-gray img {
    width: 285px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 290px;
}
.dl-content:hover .circle-gray img {
    transform: scale(1.05) translate(-50%, -50%);
    transition: .3s;
}
.dl-content .dl-name {
    margin: 36px auto 23px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
}
.dl-content .dl-name + p {
    flex-grow: 1;
}
.dl-content div:has(.btn) {
    margin-top: 40px;
}
.dl-content .btn {
    padding: 21px 10px;
    display: inline-block;
    box-sizing: border-box;
    width: 276px;
    max-width: 100%;
    text-align: center;
    padding: 21px 5px;
}
.dl-content .btn::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
}
.bottom-img {
    text-align: center;
}
.bottom-img img {
    width: 100%;
    max-width: 1600px;
    height: 515px;
    object-fit: cover;
    object-position: right top;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%);
}
@media (max-width:1325px) {
    .bpo_rpa #overview .in1140 > .flex-between .bg-white:first-child {
        width: calc(50% - 10px);
    }
}
@media (max-width: 1300px) and (min-width: 769px) {
    .top_text {
        margin-top: 12.9vw;
    }
    .top_text h1 {
        margin-bottom: 3.231vw;
    }
    .top_area .top_text .flex-start {
        margin-top: 5.5vw;
    }
}
@media (max-width:1200px) {
    .top_area {
        height: 68.091vw;
        background-size: cover;
    }
    .top_text {
        width: 51.818vw;
    }
    .top_area .btn-wrapper .btn {
        padding: 1.936vw 1.273vw 2.245vw 2.691vw;
        width: 21.091vw;
        min-width: 200px;
    }
    .top_img {
        width: calc(100% - 51.818vw);
    }
    .top_img img {
        width: 58.182vw;
        height: auto;
    }
    .anchor_wrap li {
        width: calc(100% / 4 - 1.818vw);
        margin-right: 1.818vw;
    }
    .anchor_wrap li a {
        padding: 2.227vw 5vw 2.227vw 2.091vw;
        font-size: 1.455vw;
    }
    .anchor_wrap li a::after {
        right: 8px;
    }
    #overview .bg-gray.in1240 {
        padding: 9.091vw 4.545vw;
    }
    .reason-main .reason-l {
        width: calc(100% - 37.545vw - 9vw);
    }
    .reason-main .reason-l img {
        height: auto;
    }
    .reason-main .reason-r {
        width: 37.545vw;
    }
    .eight .flex-around::after {
        max-width: 80vw;
    }
    .dl-content .circle-gray {
        width: 25.818vw;
        height: 25.818vw;
    }
    .dl-content .circle-gray img {
        width: 25.909vw;
    }
    .dl-content .dl-name {
        margin: 3.273vw auto 2.091vw;
    }
    .dl-content .btn {
        width: 25.091vw;
    }
}
@media (max-width:1023px) {
    #overview .in1140 > .flex-between .bg-white li {
        font-size: 14px;
    }
    #overview .in1140 > .flex-between .bg-white li::before {
        margin-right: 5px;
    }
    #overview .in1140 > .flex-between .bg-white {
        width: calc(100% / 2 - 10px);
    }
    .bpo_rpa #overview .in1140 > .flex-between .bg-white:first-child {
        width: 100%;
    }
}
@media (max-width:980px) {
    .top_text h1 {
        margin-bottom: 24px;
        font-size: 20px;
    }
    .top_text .main_catch {
        font-size: 22px;
    }
    .top_area .top_text .flex-start {
        margin-top: 40px;
        justify-content: center;
    }
    .top_area .btn-wrapper .btn {
        width: 21.091vw;
        min-width: 180px;
        padding: 1.9vw 10px;
    }
    .btn.bg-blue.arrow::after {
        right: 7px;
    }
    .anchor_wrap li a::after {
        width: 14px;
        height: 14px;
    }
    #casestudy .case-ttl .font-mont {
        width: 13.163vw;
        height: 12.143vw;
    }
    #casestudy .case-ttl .font-mont + div {
        padding-left: 4.592vw;
    }
    .case-content {
        padding: 0 1.122vw 3.673vw 1.122vw;
    }
    .case-content p {
        padding: 20px 2.245vw 0;
    }
    #solution .bg-white {
        padding: 6.02vw 4vw 3.673vw;
    }
    #solution h3::before {
        left: -4vw;
    }
    #download .in1140 .border-black {
        padding: 8.163vw 5.612vw;
    }
    #solution .bg-gray {
        padding: 50px 35px 75px;
    }
    #solution .flex-between {
        gap: 16px 4%;
    }
    #solution .bg-white {
        width: 48%;
    }
}
@media (max-width: 768px) {
    .top_area {
        height: 100%;
        padding-bottom: 20px;
        position: relative;
    }
    .top_area::after {
        content: "";
        background-color: rgba(255, 255, 255, .7);
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .top_text {
        display: block;
        width: 100%;
        margin-top: 100px;
        position: relative;
        z-index: 2;
        align-items: center;
    }
    .top_img {
        width: 100%;
        position: unset;
    }
    .top_img img {
        top: 0;
        right: 0;
        height: 100%;
        object-fit: cover;
        width: 768px;
        max-width: 100%;
    }
    .anchor_wrap {
        margin-top: 45px;
    }
    .anchor_wrap li {
        width: calc(100% / 2 - 1.818vw);
    }
    .anchor_wrap li a {
        font-size: 16px;
    }
    .anchor_wrap li a::after {
        width: 16px;
        height: 16px;
    }
    #overview {
        margin: 70px 0 0;
    }
    #overview .bg-gray .in1140 {
        padding: 0;
    }
    #overview .in1140 > .flex-between {
        gap: 20px 10px;
        flex-direction: column;
        margin-top: 0;
    }
    #overview .in1140 > .flex-between .bg-white, #overview .in1140 > .flex-between .bg-white.col2 {
        width: 100%;
    }
    .reason-main {
        margin: 50px auto;
        flex-direction: column;
    }
    .reason-main .reason-r {
        width: 100%;
        order: 1;
    }
    .reason-main .reason-r h4 {
        margin-bottom: 0;
        font-size: 22px;
    }
    .reason-r p:nth-of-type(n+2) {
        margin-bottom: 1rem;
    }
    .reason-main .reason-l {
        width: 100%;
        order: 2;
        text-align: center;
    }
    .reason-main .reason-l img {
        margin: 0 auto;
    }
    .reason-graybox .bg-gray {
        padding: 20px;
    }
    .message-box {
        margin: 60px auto 80px;
        padding: 40px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .message-box .message-l {
        width: 100%;
        text-align: center;
    }
    .message-box .message-r {
        margin-left: 0;
        width: 100%;
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .message-box p:has(.more-btn) {
        margin-top: 24px;
        text-align: right;
        width: 100%;
    }
    .reason-wrapper {
        margin: 30px auto 70px;
        gap: 40px 5%;
    }
    .reason-wrapper .reason-box {
        width: 46%;
    }
    .reason-wrapper .reason-box .img-box {
        margin-bottom: 16px;
    }
    .eight {
        padding: 36px;
    }
    .eight .flex-around {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
    .eight .flex-around h4 {
        width: 100%;
    }
    #casestudy {
        margin: 70px 0 0;
    }
    #casestudy .bg-gray {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    #casestudy .case-ttl .font-mont {
        width: 80px;
        height: 80px;
        max-width: 100%;
    }
    #casestudy .case-ttl .font-mont + div {
        width: 100%;
        box-sizing:border-box;
        padding-left: 0;
    }
    .marketing_creative #casestudy .case-ttl .font-mont + div {
        width: 100%;
        box-sizing:border-box;
        padding:0 4.592vw 10px;
    }
    #casestudy .case-ttl h4 {
        margin-bottom: 0px;
        margin-top: 8px;
    }
    #casestudy .case-ttl {
        margin-bottom: 30px;
        flex-direction:column;
    }
    .case-ba {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    .case-ba .before-box {
        width: 100%;
        border-right-color: #8D8D8D;
        margin-right: 0;
        border-radius: 10px 10px 4px 4px;
        padding: 23px 35px 33px 37px;
        border-bottom-color: transparent;
    }
    .case-ba .before-box::after {
        width: 100%;
        height: 46px;
        position: absolute;
        bottom: -46px;
        left: 0px;
        background: linear-gradient(to top right, transparent 49%, #8D8D8D 50%, #fff calc(50% + 2px)) top left / 50% 100% no-repeat, linear-gradient(to top left, transparent 49%, #8D8D8D 50%, #fff calc(50% + 2px)) top right / 50% 100% no-repeat;
        right: auto;
        top: auto;
    }
    .case-ba .before-box {
        width: 100%;
        margin-right: 0;
        margin-bottom: -20px;
        padding: 23px 35px 70px 37px;
        box-sizing: border-box;
        position: relative;
        background: no-repeat url("../img/service/before_bg-sp.svg")0 0;
        background-size: 100% 100%;
    }
    .case-ba .after-box {
        width: 100%;
    }
    .grid-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    #comparison h2, #faq h2, #case h2, #solution h2, #download .ttl h2 {
        font-size: max(3.0vw, 20px);
    }
    .comparison-grid {
        min-width: 768px;
        margin-top: 30px;
    }
    .accordion_area .accordion_one .ac_header, .accordion_area .accordion_one .ac_inner {
        padding-right: 80px;
    }
    .case-wrapper {
        gap: 85px 4%;
    }
    .case-content {
        width: 48%;
        padding: 0 11px 36px 11px;
    }
    #solution .bg-white {
        padding: 30px 16px 30px;
    }
    #solution h3::before {
        left: -16px;
    }
    .dl-wrapper {
        gap: 50px 4%;
    }
    .dl-content {
        width: 48%;
    }
    .dl-content div:has(.btn) {
        display: contents;
    }
    .dl-content .btn {
        padding: 16px 5px;
        width: 100%;
    }
    .bottom-img img {
        height: auto;
    }
    #faq .bg-gray {
        padding-top: 70px;
        padding-bottom: 70px;
    }
}
@media (max-width:600px) {
    .top_area .top_text .flex-start {
        justify-content: center;
        gap: 12px;
    }
    .anchor_wrap li {
        width: 100%;
    }
    .anchor_wrap li a {
        font-size: 14px;
    }
    #overview .in1140 > .flex-between .bg-white {
        width: 100%;
    }
    .reason-graybox .bg-gray {
        width: 100%;
        margin: 8px auto;
    }
    .reason-wrapper .reason-box {
        width: 100%;
    }
    .eight .flex-around h4 span {
        display: inline;
    }
    .message-box .message-r h5 + p {
        margin-bottom: 20px;
    }
    .message-box .message-r h5 + p span {
        margin-bottom: 0;
    }
    .eight .flex-start > div {
        width: 100%;
    }
    .accordion_area .accordion_one .ac_header, .accordion_area .accordion_one .ac_inner {
        padding: 22px 80px 22px 20px;
    }
    .case-content {
        width: 100%;
    }
    #solution .bg-white {
        width: 100%;
    }
    .dl-content {
        width: 100%;
    }
    .dl-content .circle-gray {
        width: 250px;
        height: 250px;
        max-width: 100%;
    }
    .dl-content .circle-gray img {
        width: 285px;
        max-width: 100%;
    }
    .dl-content .btn {
        margin-top: 20px;
    }
}
@media (max-width: 370px) {
    #reason .message-box .message-l img {
        object-fit: cover;
        border-radius: 50%;
        width: 100%;
        height: 100%;
    }
}
/* 
BPOサービス .bpo_rpa
*/
.bpo_rpa .top_area {
    background-image: url(../img/service/bpo_top_bg.png);
}
.bpo_rpa .more-btn::after {
    background-image: url(../img/common/icon_link_a03.svg);
}
.bpo_rpa .top_text h1:before {
    color: #EAD166;
}
.bpo_rpa .ttl p::before {
    background: #EAD166;
}
.bpo_rpa #overview h4 {
    border-bottom: solid 1px #EAD166;
}
.bpo_rpa .reason span:last-of-type {
    border: solid 1px #EAD166;
    background-color: #EAD166;
}
.bpo_rpa .reason-graybox .bg-gray h4 {
    border-left: solid 3px #EAD166;
}
.bpo_rpa .case-ba .after-box {
    border: solid 2px #EAD166;
}
.bpo_rpa .case-ba .after-box li {
    background-color: #EAD166;
}
.bpo_rpa .p-faq__q-txt span {
    background-color: #EAD166;
}
.bpo_rpa #overview .in1140 > .flex-between .bg-white li::before {
    background: #EAD166;
}
.bpo_rpa .message-box .message-r .font-mont::before {
    background-image: url(../img/service/bpo_line.svg);
}
@media (max-width: 768px) {
    .bpo_rpa #overview .in1140 > .flex-between .bg-white:first-child {
        width: 100%;
    }
    .bpo_rpa #overview .in1140 > .flex-between .bg-white {
        width: 100%;
    }
    .reason-wrapper .reason-box .img-box h4 {
        font-size: min(2.6vw, 24px);
    }
}
@media (max-width: 600px) {
    .reason-wrapper .reason-box .img-box h4 {
        font-size: min(5vw, 24px);
    }
}
/* 
販促メディア
*/
.marketing_creative .message-box .message-r .font-mont::before {
    background-image: url(../img/service/marketing_line.svg);
}
.marketing_creative .top_area {
    background-image: url(../img/service/marketing_creative_top_bg.png);
}
.marketing_creative .more-btn::after {
    background-image: url(../img/common/icon_link_a04.svg);
}
.marketing_creative .top_text h1:before {
    color: #99C6E8;
}
.marketing_creative .ttl p::before {
    background: #99C6E8;
}
.marketing_creative #overview h4 {
    border-bottom: solid 1px #99C6E8;
}
.marketing_creative .reason span:last-of-type {
    border: solid 1px #99C6E8;
    background-color: #99C6E8;
}
.marketing_creative .reason-graybox .bg-gray h4 {
    border-left: solid 3px #99C6E8;
}
.marketing_creative .case-ba .after-box {
    border: solid 2px #99C6E8;
}
.marketing_creative .case-ba .after-box li {
    background-color: #FFE4F6;
}
.marketing_creative .p-faq__q-txt span {
    background-color: #99C6E8;
}
.marketing_creative #overview .in1140 > .flex-between .bg-white li::before {
    background: #99C6E8;
}
.posting {
    padding: 80px 85px 0;
}
@media (max-width: 980px) {
    .posting {
        padding: 80px 0 0;
    }
}
.posting .catch {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 26px;
}
.posting .media-service {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.posting .media-service .others a {
    display: flex;
    align-items: center;
    gap: 45px;
    background: #FFFFEF;
    padding: 24px 38px 24px 63px;
    border: 2px solid #FFF;
    transition: .3s;
    text-align: left;
}
.posting .media-service .others:nth-child(2n) a {
    background: #FFFF99;
}
.posting .media-service .others a:after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(../img/service/icon_arrow_link.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.posting .media-service .others.spdm a {
    gap: 27px;
}
.posting .media-service .others a:hover {
    border: 2px solid #222;
}
@media (max-width: 768px) {
    .posting .media-service .others a {
        flex-direction: column;
        gap: 20px;
        padding: 30px;
    }
}
.posting .media-service .others figure {
    display: flex;
    justify-content: center;
    width: 78px;
}
.posting .media-service .others.spdm figure {
    width: 96px;
}
@media (max-width: 768px) {
    .posting .media-service .others.spdm figure {
        width: 120px;
    }
}
.posting .media-service .others.delifoma figure img {
    width: 72px;
}
.posting .media-service .others .detail {
    flex: 1;
}
.posting .media-service .others .detail h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 12px;
}
@media (min-width: 1201px) {
    .marketing_creative .reason-main .reason-r {
        width: 469px;
    }
    .marketing_creative .reason-main .reason-l {
        max-width: 593px;
    }
}
@media (min-width: 769px) {
    .marketing_creative .reason-main .reason-r, .bpo_rpa .reason-main .reason-r {
        order: 1;
        text-align: left;
    }
    .marketing_creative .reason-main .reason-l, .bpo_rpa .reason-main .reason-l {
        order: 2;
    }
}
@media (max-width: 768px) {
    .posting .catch {
        font-size: 18px;
    }
}
/* 
コールセンター代行サービス
*/
.call_center #faq {
    margin: 0;
    padding: 0;
}
.call_center #comparison {
    padding: 100px 0;
}
.call_center #case {
    padding: 100px 0;
}
.call_center #solution {
    margin: 60px 0 0;
    padding: 0;
}
.call_center .top_text h1:before {
    color: #D2E250;
}
.call_center #overview .in1140 > .flex-between .bg-white .flex-start {
    gap: 11px 6px;
}
.call_center #overview .in1140 > .flex-between .bg-white li {
    font-size: 16px;
    background: #F7F7F7;
    border-radius: 9999px;
    min-width: auto;
    padding: 0 16px 0 12px;
    margin: 0;
}
.call_center #overview .in1140 > .flex-between .bg-white li::before {
    background: transparent no-repeat url("../img/service/icon_checkmark.svg") center center / contain;
    width: 10px;
    height: 7px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}
.call_center .reason-wrapper {
    margin: 50px auto 90px;
    gap: 60px 68px;
}
.call_center .reason-wrapper .reason-box {
    width: calc(50% - 34px);
}
@media (max-width: 768px) {
    .call_center #comparison {
        padding: 70px 0;
    }
    .call_center #case {
        padding: 70px 0;
    }
    .call_center .reason-wrapper .reason-box {
        width: 100%;
    }
}
/* 
ECパッケージ「通販マーケッター」
*/
.tsuhan_marketer {}
@media (max-width: 860px) {
    .tsuhan_marketer .top_area {
        height: auto;
    }
}
.tsuhan_marketer .top_area .flex-between {
    align-items: end;
}
.tsuhan_marketer .top_img {
    text-align: center;
}
.tsuhan_marketer .top_img img {
    position: static;
}
@media (max-width: 768px) {
    .tsuhan_marketer .top_img {
        padding: 30px 0 0;
    }
    .tsuhan_marketer .top_img img {
        max-width: 80%;
    }
}
.tsuhan_marketer .more-btn::after {
    background-image: url(../img/common/icon_link_a02.svg);
}
.tsuhan_marketer .message-box .message-r .font-mont::before {
    background-image: url(../img/service/tsuhan_line.svg);
}
.tsuhan_marketer .top_text h1:before {
    color: #6BC4C0;
}
.tsuhan_marketer .ttl p::before {
    background: #6BC4C0;
}
.tsuhan_marketer .reason span:last-of-type {
    border: solid 1px #6BC4C0;
    background-color: #6BC4C0;
    color: #FFF;
}
.tsuhan_marketer .top_area {
    background-image: url(../img/service/tsuhan_top_bg.png);
    background-size: cover;
}
@media (max-width: 768px) {
    .tsuhan_marketer .top_area::after {
        background-color: rgba(255, 255, 255, 0);
    }
}
.tsuhan_marketer .banners {
    display: flex;
    gap: 13px;
    width: 520px;
}
@media (max-width: 1050px) {
    .tsuhan_marketer .banners {
        width: 90%;
    }
}
@media (max-width: 768px) {
    .tsuhan_marketer .banners {
        width: 100%;
    }
}
@media (max-width: 460px) {
    .tsuhan_marketer .banners {
        flex-direction: column;
    }
}
.tsuhan_marketer .banners > div {
    background: #FFF;
    padding: 25px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 460px) {
    .tsuhan_marketer .banners > div {
        box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.11);
    }
}
.tsuhan_marketer .banners > div figure {
    border-bottom: 1px solid #707070;
    padding: 0 0 17px;
}
.tsuhan_marketer .banners > div p {
    padding: 15px 0 0;
    text-align: center;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.6;
}
.tsuhan_marketer .banners > div p span {
    font-weight: 600;
}
.tsuhan_marketer .banners .eight-wrapper p span {
    color: #6BC4C0;
}
.tsuhan_marketer .banners .growth-wrapper p span {
    color: #EF915F;
}
@media (max-width: 768px) {
    .tsuhan_marketer .ttl h2 {
        font-size: 20px;
    }
}
.tsuhan_marketer .message-box {
    margin: 80px auto 0;
}
.tsuhan_marketer #reason {
    padding: 100px 0;
}
.reason-anker {
    display: flex;
    flex-wrap: wrap;
    gap: 19px 33px;
    margin: 0 0 60px;
}
.reason-anker .reason-box {
    width: calc(100% / 3 - 24px);
    border: 1px solid #D3D3D3;
}
@media (max-width: 840px) {
    .reason-anker .reason-box {
        width: calc(100% / 2 - 24px);
    }
}
@media (max-width: 768px) {
    .reason-anker .reason-box {
        width: 100%;
    }
}
.reason-anker .reason-box h4 {
    margin: 15px 0 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
}
@media (max-width: 768px) {
    .reason-anker .reason-box h4 {
        font-size: 18px;
    }
}
.reason-anker .reason-box a {
    display: block;
    position: relative;
    padding: 18px 25px;
    transition: .3s;
}
@media (max-width: 1100px) {
    .reason-anker .reason-box a {
        padding: 18px 25px 50px;
    }
}
.reason-anker .reason-box a:hover {
    background: #F4F6F8;
}
.reason-anker .reason-box a:after {
    content: "";
    width: 26px;
    height: 26px;
    background: no-repeat url("../img/service/anchor_btn.svg")center center / contain;
    position: absolute;
    right: 17px;
    bottom: 20px;
}
.marketer_cs_link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #6BC4C0;
    padding: 38px 38px 38px 62px;
    margin: 0 0 100px;
}
@media (max-width: 1136px) {
    .marketer_cs_link {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
    }
}
.marketer_cs_link h3 {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .05em;
    color: #FFF;
}
@media (max-width: 768px) {
    .marketer_cs_link h3 {
        font-size: 20px;
    }
}
.marketer_cs_link .banners {
    width: 100%;
    max-width: 720px;
    gap: 19px;
}
@media (max-width: 768px) {
    .marketer_cs_link .banners {
        flex-direction: column;
        align-items: center;
    }
}
.tsuhan_marketer .marketer_cs_link .banners > div {
    padding: 0;
    width: calc(50% - 10px);
}
@media (max-width: 768px) {
    .tsuhan_marketer .marketer_cs_link .banners > div {
        width: 100%;
    }
}
.tsuhan_marketer .marketer_cs_link .banners img {
    height: 47px;
    width: auto;
}
.tsuhan_marketer .marketer_cs_link .banners p {
    text-align: left;
    padding: 15px 40px 0 0;
}
@media (max-width: 768px) {
    .tsuhan_marketer .marketer_cs_link .banners p {}
}
.tsuhan_marketer .marketer_cs_link .banners a {
    padding: 26px 20px 15px;
    position: relative;
    border-radius: 15px;
    transition: .3s;
}
.tsuhan_marketer .marketer_cs_link .banners a:hover {
    background: #F4F6F8;
}
.tsuhan_marketer .marketer_cs_link .banners a:after {
    content: "";
    width: 29px;
    height: 29px;
    background: no-repeat url("../img/service/icon_marketer_link.svg")center center / contain;
    position: absolute;
    right: 20px;
    bottom: 19px;
}
.marketer_cs_link .banners .eight-wrapper {}
.marketer_cs_link .banners .growth-wrapper {}
.reason-main.style02 .reason-l {
    width: 417px;
}
@media (max-width: 768px) {
    .reason-main.style02 .reason-l {
        width: 100%;
    }
}
.tsuhan_marketer .reason-main {
    margin: 80px auto 0;
}
@media (max-width: 768px) {
    .tsuhan_marketer .reason-main {
        gap: 30px;
    }
}
#plans {
    padding: 0;
}
#plans > .bg-gray {
    padding: 100px 0;
}
.plan_anchor {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin: 60px 0 0;
}
@media (max-width: 768px) {
    .plan_anchor {
        flex-direction: column;
    }
}
.plan_anchor .plan_body {
    width: 100%;
    padding: 0;
}
.plan_anchor .plan_body a {
    background: #FFF;
    display: block;
    padding: 26px 26px 70px;
    position: relative;
    transition: .3s;
}
.plan_anchor .plan_body a:hover {}
.plan_anchor .plan_body.eight a {
    box-shadow: 5px 5px 0px 0px rgba(107, 196, 192, 1);
}
.plan_anchor .plan_body.growth a {
    box-shadow: 5px 5px 0px 0px rgba(239, 145, 95, 1);
}
.plan_anchor .plan_body a:after {
    content: "";
    position: absolute;
    bottom: 29px;
    left: calc(50% - 28px);
    width: 56px;
    height: 26px;
    transition: .3s;
}
.plan_anchor .plan_body a:hover:after {
    bottom: 14px;
    left: calc(50% - 34px);
    width: 68px;
    height: 30px;
}
.plan_anchor .plan_body.eight a:after {
    background: no-repeat url("../img/service/icon_arrow01.svg")center center / contain;
}
.plan_anchor .plan_body.growth a:after {
    background: no-repeat url("../img/service/icon_arrow02.svg")center center / contain;
}
.plan_anchor .plan_body .plan_number {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
}
.plan_anchor .plan_body .plan_number span {
    font-weight: 700;
}
.plan_anchor .plan_body .inner {
    padding: 20px;
    text-align: center;
}
.plan_anchor .plan_body .lead {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 20px;
}
.plan_anchor .plan_body.eight .lead span {
    color: #6BC4C0;
}
.plan_anchor .plan_body.growth .lead span {
    color: #EF915F;
}
.plan_anchor .plan_body img {
    height: 100%;
    max-height: 67px;
    width: auto;
}
@media (max-width: 768px) {
    .plan_anchor .plan_body img {
        height: auto;
        max-height: auto;
        width: 100%;
        max-width: 320px;
    }
}
.plan_anchor .plan_body ol {
    list-style: none;
    text-align: left;
    margin: 20px 0 0;
}
.plan_anchor .plan_body ol li {
    padding: 3px 0;
}
.marketer_body {
    background: #FFF;
    margin: 80px 0 0;
    padding: 60px 60px 0;
}
@media (max-width: 768px) {
    .marketer_body {
        padding: 30px 30px 0;
    }
}
.marketer_body.eight-block {
    box-shadow: 5px 5px 0px 0px rgba(107, 196, 192, 1);
}
.marketer_body.growth-block {
    box-shadow: 5px 5px 0px 0px rgba(239, 145, 95, 1);
}
.marketer_body .main_title {
    text-align: center;
    position: relative;
    padding: 12px 16px;
    border-bottom: 1px solid #333333;
    background-color: #ffffff;
    width: 100%;
    box-sizing: border-box;
}
.marketer_body .main_title::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    background-color: #ffffff; /* 背景色と同じ色を指定 */
    rotate: 135deg;
    translate: -50%;
}
.marketer_body .main_title::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    border: 1px solid;
    border-color: #333333 #333333 transparent transparent;
    background-color: #ffffff;
    rotate: 135deg;
    translate: -50%;
}
.marketer_body .main_title h3 {
    padding: 30px 0 50px;
}
.marketer_body .main_title img {
    width: 100%;
    max-width: 546px;
}
@media (max-width: 768px) {
    .plan_anchor {
        flex-direction: column;
    }
}
.marketer_body .main_title .lead {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .03em;
}
@media (max-width: 768px) {
    .marketer_body .main_title .lead {
        font-size: 20px;
    }
}
.marketer_body.eight-block .main_title .lead span {
    color: #6BC4C0;
}
.marketer_body.growth-block .main_title .lead span {
    color: #EF915F;
}
.marketer_body .section {
    text-align: center;
    padding: 80px 0;
}
.marketer_body .section:not(:last-child) {
    border-bottom: 1px solid #C6C6C6;
}
.marketer_body .section_head {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .02em;
    margin: 0 0 30px;
}
@media (max-width: 768px) {
    .marketer_body .section_head {
        font-size: 22px;
    }
}
.marketer_body .section_text {
    margin: 0 0 60px;
}
.marketer_body .point_body {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 47px;
}
.marketer_body .point_body .point_box {
    width: 100%;
    max-width: 250px;
}
.marketer_body .point_body .point_box .top_side {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 250px;
    background: #F4F6F8;
    border-radius: 50%;
    position: relative;
}
.marketer_body .point_body .point_box .top_side p {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    left: 15px;
    top: 6px;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.1;
}
.marketer_body .point_body .point_box .top_side p span {
    font-size: 26px;
    font-weight: 700;
}
.marketer_body .point_body .point_box .bottom_side {
    padding: 20px 0 0;
}
.marketer_body .point_body .point_box .bottom_side p {
    line-height: 1.6;
}
.marketer_body .cs_body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.marketer_body .cs_body .cs_box {
    border: 1px solid #707070;
    background: #FFF;
    padding: 30px;
}
.marketer_body .cs_body .cs_box .cs_flex_box {
    display: flex;
    gap: 25px;
}
@media (max-width: 900px) {
    .marketer_body .cs_body .cs_box .cs_flex_box {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }
}
.marketer_body .cs_body .cs_box .cs_flex_box .left_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 14px;
    width: 160px;
}
.marketer_body .cs_body .cs_box .cs_flex_box .left_column img {
    max-width: 80px;
}
.marketer_body .cs_body .cs_box .cs_flex_box .left_column p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
}
.marketer_body .cs_body .cs_box .cs_flex_box .center_column {
    flex: 1;
}
.marketer_body .cs_body .cs_box .cs_flex_box .center_column .cs_title {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 20px;
    text-align: left;
}
@media (max-width: 500px) {
    .marketer_body .cs_body .cs_box .cs_flex_box .center_column .cs_title {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}
.marketer_body .cs_body .cs_box .cs_flex_box .center_column .cs_title span {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #FFF;
    background: #222222;
    border-radius: 9999px;
    display: inline-block;
    padding: 2px 14px;
    margin: 2px 0 0;
}
.marketer_body .cs_body .cs_box .cs_flex_box .center_column p {
    text-align: left;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column {
    width: 180px;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column {
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-left: 18px;
    padding: 16px;
    border: 1px solid #6bc4c0;
    border-radius: 6px;
    background-color: #eff8f7;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #000000;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column p {
    font-size: 14px;
}
.marketer_body.growth-block .cs_body .cs_box .cs_flex_box .right_column {
    border: 1px solid #EF915F;
    background-color: #FDF9F7;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 10px 18px 10px 0;
    border-color: transparent #6bc4c0 transparent transparent;
    translate: -100% -50%;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 8.9px 15.9px 8.9px 0;
    border-color: transparent #eff8f7 transparent transparent;
    translate: -100% -50%;
}
@media (max-width: 900px) {
    .marketer_body .cs_body .cs_box .cs_flex_box .right_column::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        border-style: solid;
        border-width: 0 10px 20px 10px;
        border-color: transparent transparent #6bc4c0;
        translate: -50% -100%;
    }
    .marketer_body .cs_body .cs_box .cs_flex_box .right_column::after {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        border-style: solid;
        border-width: 0 8.9px 17.8px 8.9px;
        border-color: transparent transparent #eff8f7;
        translate: -50% -100%;
    }
}
.marketer_body.growth-block .cs_body .cs_box .cs_flex_box .right_column::before {
    border-color: transparent #EF915F transparent transparent;
}
.marketer_body.growth-block .cs_body .cs_box .cs_flex_box .right_column::after {
    border-color: transparent #FDF9F7 transparent transparent;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column .baloon {
    font-size: 18px;
    font-weight: 600;
}
.marketer_body .cs_body .cs_box .cs_flex_box .right_column .baloon span {
    font-size: 36px;
    color: #6BC4C0;
}
.marketer_body.growth-block .cs_body .cs_box .cs_flex_box .right_column .baloon span {
    color: #EF915F;
}
.case_link {
    padding: 40px 0 60px;
}
.case_link .more-btn::after {
    background-image: url(../img/common/icon_link_a02.svg);
}
.growth-block .case_link .more-btn::after {
    background-image: url(../img/common/icon_link_a05.svg);
}
.marketer_body .section .detail_link {
    display: flex;
    justify-content: center;
    gap: 20px;
}
@media (max-width: 768px) {
    .marketer_body .section .detail_link {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
}
.marketer_body .section .detail_link p {
    width: 100%;
    max-width: 392px;
}
.marketer_body .section .detail_link a {
    display: flex;
    justify-content: center;
    padding: 16px 10px;
    font-size: 18px;
    font-weight: 500;
    color: #FFF;
    position: relative;
    background: #6BC4C0;
    border: 2px solid #6BC4C0;
    transition: .3s;
}
@media (max-width: 460px) {
    .marketer_body .section .detail_link a {
        font-size: min(3.4vw, 18px);
    }
}
.marketer_body .section .detail_link a:after {
    content: "";
    position: absolute;
    right: 20px;
    top: calc(50% - 15.5px);
    width: 29px;
    height: 29px;
    background: no-repeat url("../img/common/icon_link_r01.svg")center center / contain;
    border: 2px solid #6BC4C0;
    border-radius: 50%;
}
.marketer_body .section .detail_link a:hover {
    background: #FFF;
    color: #6BC4C0;
}
.marketer_body.growth-block .section .detail_link a {
    background: #EF915F;
    border: 2px solid #EF915F;
}
.marketer_body.growth-block .section .detail_link a:hover {
    background: #FFF;
    color: #EF915F;
}
.marketer_body.growth-block .section .detail_link a:after {
    background: no-repeat url("../img/common/icon_link_r02.svg")center center / contain;
    border: 2px solid #EF915F;
}
.tsuhan_marketer #comparison {
    padding: 100px 0;
}
.table-wrapper {
    overflow-x: auto;
}
.table-wrapper table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    min-width: 768px;
}
.ss2ma {
    display: flex;
    justify-content: center;
    margin: 50px 0 0;
}
.ss2ma a {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    font-weight: 600;
    line-height:1.2;
    padding: 20px;
    width: auto;
    max-width: 450px;
    box-sizing: border-box;
    transition: .3s;
}
.ss2ma a:hover {
    background-color: #fff;
    color: #4B4E4E;
}
.ss2ma a img {
    border: solid 2px transparent;
    border-radius: 50%;
}
.ss2ma a:hover img {
    border-color: #4B4E4E;
}
.table-wrapper table tbody {}
.table-wrapper table tbody tr.package {
    border: 3px solid #EF915F;
}
.table-wrapper table tbody tr.package th, .table-wrapper table tbody tr.package td {
    background: #fcf0df;
}
.table-wrapper table tbody tr th {
    border: 1px solid #469c95;
}
.table-wrapper table tbody tr.package th {
    color: #EF915F;
}
.table-wrapper table tbody tr:first-child th {
    background: #469c95;
    color: #FFF;
}
.table-wrapper table tbody tr:first-child th:not(:last-child) {
    border-right: 1px solid #FFF;
}
.table-wrapper table tbody tr:not(:first-child) th:first-child {
    background: #f2f2f2;
    color: #469c95;
    text-align: left;
    font-weight: 600;
}
.table-wrapper table tbody tr.package th:first-child {
    background: #fcf0df;
    color: #EF915F;
}
.table-wrapper table tbody tr th, .table-wrapper table tbody tr td {
    border: 1px solid #469c95;
    font-size: 12px;
    vertical-align: middle;
    padding: 15px 10px;
}
.table-wrapper table tbody tr th {
    font-weight: 500;
}
.table-wrapper table tbody tr td {
    padding: 22px 10px;
    text-align: center;
}
.table-wrapper table tbody tr td:nth-child(n+6) {
    text-align: left;
}
.tsuhan_marketer #support {
    padding: 0;
}
#support .bg-gray {
    padding: 100px 0;
}
.support-wrap {
    display: flex;
    gap: 28px;
}
.support-wrap .support-body a {
    display: block;
    background: #FFF;
    padding: 48px;
    border: 2px solid #FFF;
    transition: .3s;
}
@media (max-width: 768px) {
    .support-wrap {
        flex-direction: column;
        gap: 28px;
    }
    .support-wrap .support-body a {
        padding: 24px;
    }
}
.support-wrap .support-body a:hover {
    border: 2px solid #222;
}
.support-wrap .support-body h4 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
    padding: 0 0 0 25px;
    border-left: 3px solid #6BC4C0;
    margin: 0 0 30px;
}
.support-wrap .support-body .text.row {
    margin: 0 0 30px;
}
.support-wrap .support-body .support-link {
    text-align: right;
    margin: 40px 0 0;
}
.support-wrap .support-body .more-btn {
    display: inline-block;
    padding: 9px 15px;
}
.support-wrap .support-body a:hover .more-btn {
    background-color: #FFF;
}
.support-wrap .support-body .more-btn::after {
    background-image: url(../img/common/icon_link_a02.svg);
}
.information-wrap {
    display: flex;
    gap: 34px;
}
@media (max-width: 768px) {
    .information-wrap {
        flex-direction: column;
        gap: 34px;
    }
}
.information-wrap .information-body {
    max-width: 358px;
    background: #F4F6F8;
    padding: 14px 11px;
}
.information-wrap .information-body figure {
    display: block;
    overflow: hidden;
}
.information-wrap .information-body a img {
    transition-duration: 0.2s;
    object-fit: cover;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}
.information-wrap .information-body a:hover img {
    transform: scale(1.1);
    transition-duration: 0.2s;
}
.information-wrap .information-body .bottom {
    padding: 30px 20px 0;
}
.information-wrap .information-body .title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
}
.information-wrap .information-body .text {
    font-weight: 600;
}
.information-wrap .information-body .support-link {
    text-align: right;
    margin: 30px 0 0;
}
.information-wrap .information-body .support-link .more-btn {
    display: inline-block;
    padding: 9px 15px;
    background-color: #FFF;
    border: 2px solid #F4F6F8;
}
.information-wrap .information-body a:hover .support-link .more-btn {
    border: 2px solid #FFF;
    background-color: #F4F6F8;
}
.information-wrap .information-body .support-link .more-btn::after {
    background-image: url(../img/common/icon_link_a02.svg);
}
/* 
導入事例一覧
*/
.common-mv {
    padding: 170px 0 80px;
}
@media (max-width: 768px) {
    .common-mv {
        padding: 120px 0 80px;
    }
}
.common-mv .mv-title h1 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.common-mv .mv-title .ja {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .044em;
}
@media (max-width: 768px) {
    .common-mv .mv-title .ja {
        font-size: 30px;
    }
}
.common-mv .mv-title .en {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .07em;
    color: #969696;
    margin: 0 0 50px;
}
.common-ttl {
    margin: 0 0 58px;
}
.common-ttl h2 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
}
@media (max-width: 768px) {
    .common-ttl h2 {
        font-size: 26px;
    }
}
.catelink_wrap li {
    width: calc(100% / 4 - 20px);
    max-width: 100%;
    margin-right: 20px;
    margin-bottom: 14px;
}
@media (max-width: 768px) {
    .catelink_wrap li {
        width: calc(100% / 2 - 20px);
        max-width: 100%;
        margin-right: 20px;
        margin-bottom: 14px;
    }
}
@media (max-width: 600px) {
    .catelink_wrap li {
        width: 100%;
        max-width: 100%;
        margin-right: 20px;
        margin-bottom: 14px;
    }
}
.catelink_wrap li a {
    padding: 0 44px 0 23px;
    border: solid 1px rgba(214, 214, 214, .8);
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 70px;
    line-height: 1.4;
    box-sizing: border-box;
    position: relative;
    transition: .3s;
}
@media (max-width: 1200px) {
    .catelink_wrap li a {
        min-height: 60px;
        font-size: 1.455vw;
    }
}
@media (max-width: 768px) {
    .catelink_wrap li a {
        font-size: 16px;
        min-height: 60px;
    }
}
@media (max-width: 600px) {
    .catelink_wrap li a {
        font-size: 14px;
        min-height: 50px;
    }
}
.catelink_wrap li a::after {
    content: "";
    right: 18px;
    width: 18px;
    height: 18px;
    position: absolute;
    background-image: url(../img/case/icon_category_link.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    transform: translateY(-50%);
}
.catelink_wrap li a:hover, .catelink_wrap li.active a {
    background-color: rgba(214, 214, 214, .8);
}
.btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn-wrap.pager {
    gap: 5px;
    margin: 80px 0 0;
}
.btn-wrap.pager .page-numbers {
    width: 38px;
    height: 38px;
    font-size: 16px;
    background: #FFF;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
}
.btn-wrap.pager .page-numbers.current {
    background: #D3D3D3;
}
.btn-wrap.pager a:hover.page-numbers {
    background: #666;
}
.btn-wrap.pager .page-numbers.dots {
    width: auto;
    background: none;
    border: none;
    aspect-ratio: auto;
}
.btn-wrap.pager .page-numbers.prev {
    background: url("../img/common/pager_prev.svg")center center / contain;
    margin: 0 10px 0 0;
}
.btn-wrap.pager .page-numbers.next {
    background: url("../img/common/pager_next.svg")center center / contain;
    margin: 0 0 0 10px;
}
.btn-wrap.pager a:hover.page-numbers.prev {
    background: url("../img/common/pager_prev.svg")center center / contain;
    opacity: .7;
}
.btn-wrap.pager a:hover.page-numbers.next {
    background: url("../img/common/pager_next.svg")center center / contain;
    opacity: .7;
}
.btn-wrap.pager a {
    -webkit-transition: all .3s;
    transition: all .3s;
}
@media only screen and (min-width: 768px) {
    .btn-wrap.pager a:hover {
        color: #FFF;
    }
}
@media only screen and (min-width: 768px) {
    .btn-wrap.pager a.current:hover {
        opacity: .5;
    }
}
/* 
導入事例
*/
.common-submv {}
.common-submv {
    min-height: 639px;
    background: no-repeat url("../img/case/mv_bg.svg") 0 0 / contain;
}
@media only screen and (max-width: 960px) {
    .common-submv {
        min-height: 639px;
        background-image: none;
        background-color: #E2EFFC;
        padding: 0 0 40px;
    }
}
.common-submv .common-submv-wrap {
    display: flex;
    justify-content: space-between;
    padding: 143px 0 0;
}
@media only screen and (max-width: 960px) {
    .common-submv .common-submv-wrap {
        flex-direction: column;
        padding: 100px 0 0;
        gap: 40px;
    }
}
.common-submv .mv-top {}
.common-submv .mv-top .mv-title {
    margin: 0 0 40px;
}
.common-submv .mv-top .mv-title h1 {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
}
.common-submv .mv-top .customer {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .03em;
    margin: 0 0 15px;
}
.common-submv .mv-top .lead-text {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.6;
    margin: 0 0 35px;
}
@media only screen and (max-width: 960px) {
    .common-submv .mv-top .mv-title {
        margin: 0 0 30px;
    }
    .common-submv .mv-top .customer {
        margin: 0 0 10px;
    }
    .common-submv .mv-top .lead-text {
        margin: 0 0 20px;
    }
}
@media only screen and (max-width: 768px) {
    .common-submv .mv-top .mv-title {
        margin: 0 0 20px;
    }
    .common-submv .mv-top .customer {
        margin: 0 0 5px;
    }
    .common-submv .mv-top .lead-text {
        font-size: 30px;
    }
}
.common-submv .mv-top .category {
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
}
.common-submv .mv-top .category:before {
    content: "●";
    color: #6BC4C0;
    font-size: 10px;
}
.common-submv .mv-img {
    max-width: 600px;
}
.common-submv .mv-img img {
    margin-left: 52px;
    height: auto;
}
@media only screen and (max-width: 960px) {
    .common-submv .mv-img {
        max-width: 100%;
        text-align: center;
    }
    .common-submv .mv-img img {
        width: 100%;
        max-width: 600px;
        margin-left: 0;
    }
}
.intro {
    padding: 70px 0 0;
}
.intro .detail-text {}
.intro .case-anchor {
    display: flex;
    flex-direction: column;
    gap: 37px;
    padding: 60px 0 0;
}
.intro .case-anchor .anc-body {
    position: relative;
}
.intro .case-anchor .anc-body:not(:last-child):before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17px 13.5px 0px 13.5px;
    border-color: #4B4E4E transparent transparent transparent;
    position: absolute;
    bottom: -27px;
    left: calc(50% - 13.5px);
}
.intro .case-anchor .anc-body a {
    display: flex;
    align-items: center;
    background: #F4F6F8;
    min-height: 96px;
    border: 2px solid #F4F6F8;
    transition: .3s;
}
@media only screen and (max-width: 768px) {
    .intro .case-anchor .anc-body a {
        flex-direction: column;
        align-items: center;
        padding: 20px;
    }
}
.intro .case-anchor .anc-body a:hover {
    background: #FFF;
    border: 2px solid #222;
}
.intro .case-anchor .anc-body .anc-title {
    display: flex;
    justify-content: center;
    width: 247px;
}
.intro .case-anchor .anc-body .anc-title h2 {
    display: flex;
    align-items: center;
    gap: 20px;
    line-height: 1;
}
.intro .case-anchor .anc-body .anc-title .number {
    font-family: "Montserrat", sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .05em;
}
.intro .case-anchor .anc-body .anc-title .head {
    font-size: 20px;
    font-weight: 600;
}
.intro .case-anchor .anc-body .anc-text {
    flex: 1;
    padding: 10px 0;
}
.intro .case-anchor .anc-body .anc-btn {
    display: flex;
    justify-content: center;
    width: 186px;
}
.intro .case-anchor .anc-body .anc-btn p {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #FFF;
    font-size: 14px;
    border-radius: 9999px;
    padding: 9px 15px;
    max-width: 139px;
    box-sizing: border-box;
}
.intro .case-anchor .anc-body a:hover .anc-btn p {
    background: #F4F6F8;
}
.intro .case-anchor .anc-body .anc-btn p:after {
    content: "";
    width: 26px;
    height: 26px;
    background: url("../img/case/icon_anchor.svg")center center / contain;
}
.case-sub-content {}
.case-sub-content {
    padding: 0;
}
.case-sub-content .case-sub-content-body {
    padding: 100px 0;
}
.case-sub-content .case-sub-content-body:nth-child(2n) {
    background: #F4F6F8;
}
.case-sub-content .case-sub-content-body .case-sub-content-ttl {
    position: relative;
    margin: 0 0 40px;
    padding: 0 0 28px;
}
.case-sub-content .case-sub-content-body .case-sub-content-ttl:after {
    content: "";
    width: 60px;
    height: 2px;
    background: #264690;
    position: absolute;
    left: 0;
    bottom: 0;
}
.case-sub-content .case-sub-content-body .case-sub-content-ttl h2 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.case-sub-content .case-sub-content-body .case-sub-content-ttl .number {
    font-family: "Montserrat", sans-serif;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: .05em;
}
.case-sub-content .case-sub-content-body .case-sub-content-ttl .head {
    font-size: 20px;
    font-weight: 600;
}
.case-sub-content .case-sub-content-body .lead-text {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .02em;
    margin: 0 0 36px;
}
@media only screen and (max-width: 768px) {
    .case-sub-content .case-sub-content-body .lead-text {
        font-size: 24px;
    }
}
.case-sub-content .case-sub-content-body .detail-wrap {
    display: flex;
    gap: 40px 70px;
}
@media only screen and (max-width: 768px) {
    .case-sub-content .case-sub-content-body .detail-wrap {
        flex-direction: column;
        gap: 40px 70px;
    }
}
.case-sub-content .case-sub-content-body .detail-wrap figure {
    max-width: 43.8%;
}
@media only screen and (max-width: 768px) {
    .case-sub-content .case-sub-content-body .detail-wrap figure {
        max-width: 100%;
        text-align: center;
    }
    .case-sub-content .case-sub-content-body .detail-wrap figure img {
        width: 100%;
        max-width: 500px;
    }
}
.case-sub-content .case-sub-content-body .detail-wrap .text {
    flex: 1;
    line-height: 2.0;
}
.case-sub-content .case-sub-content-body:nth-child(2n+1) .detail-wrap figure {
    order: 2;
}
.case-sub-content .case-sub-content-body:nth-child(2n+1) .detail-wrap .text {
    order: 1;
}
@media only screen and (max-width: 768px) {
    .case-sub-content .case-sub-content-body:nth-child(2n+1) .detail-wrap figure {
        order: 1;
    }
    .case-sub-content .case-sub-content-body:nth-child(2n+1) .detail-wrap .text {
        order: 2;
    }
}
.case-company {
    font-weight: 400;
    padding: 20px 0 0;
}
.case-company .case-company-body {
    border: 1px solid #222222;
    padding: 60px 70px;
}
@media only screen and (max-width: 768px) {
    .case-company .case-company-body {
        padding: 40px 30px;
    }
}
.case-company .case-company-body .case-company-ttl {
    margin: 0 0 36px;
}
.case-company .case-company-body .case-company-ttl h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.case-company .case-company-body .case-company-ttl .en {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
}
.case-company .case-company-body .case-company-ttl .jp {
    font-size: 30px;
    font-weight: 600;
}
.case-company .case-company-body .case-company-wrap {
    display: flex;
    gap: 40px;
}
@media only screen and (max-width: 768px) {
    .case-company .case-company-body .case-company-wrap {
        flex-direction: column;
        gap: 40px;
    }
}
.case-company .case-company-body .case-company-wrap .logo {
    max-width: 272px;
}
@media only screen and (max-width: 768px) {
    .case-company .case-company-body .case-company-wrap .logo {
        max-width: 100%;
        text-align: center;
    }
    .case-company .case-company-body .case-company-wrap .logo img {
        max-width: 272px;
    }
}
.case-company .case-company-body .case-company-wrap .company-profile {
    flex: 1;
}
.case-company .case-company-body .case-company-wrap .company-profile .company-name {
    display: flex;
    gap: 16px;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .03em;
}
.case-company .case-company-body .case-company-wrap .company-profile .company-name:before {
    content: "●";
    color: #264690;
    font-size: 10px;
}
.case-company .case-company-body .case-company-wrap .company-profile .detail-text {
    padding: 10px 0 28px;
    border-bottom: 1px solid #D3D3D3;
    font-size: 16px;
}
.case-company .case-company-body .case-company-wrap .company-profile .profile-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px 0 0;
}
.case-company .case-company-body .case-company-wrap .company-profile .profile-table li {
    display: flex;
    font-size: 14px;
}
.case-company .case-company-body .case-company-wrap .company-profile .profile-table span {
    width: 66px;
    font-weight: 500;
}
.case-company .case-company-body .case-company-wrap .company-profile .profile-table li a {
    color: #264690;
}
.case-migration {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.case-migration .caselist_link {
    padding: 100px 0 60px;
}
.case-migration .caselist_link .more-btn {}
.case-migration .caselist_link .more-btn::after {
    background-image: url(../img/common/icon_link_a08.svg);
}
.case-migration .cta_link {
    display: flex;
    justify-content: center;
    gap: 20px;
    width: 100%;
}
@media (max-width: 768px) {
    .case-migration .cta_link {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
}
.case-migration .cta_link p {
    width: 100%;
    max-width: 392px;
}
.case-migration .cta_link a {
    display: flex;
    justify-content: center;
    padding: 16px 10px;
    font-size: 18px;
    font-weight: 500;
    color: #FFF;
    position: relative;
    transition: .3s;
}
.case-migration .cta_link a.btn.download {
    background: #E84C12;
    border: 2px solid #E84C12;
}
.case-migration .cta_link a.btn.contact {
    background: #373D4A;
    border: 2px solid #373D4A;
}
.case-migration .cta_link a:hover.btn.download {
    background: #FFF;
    color: #E84C12;
}
.case-migration .cta_link a:hover.btn.contact {
    background: #FFF;
    color: #373D4A;
}
.case-migration .cta_link a span {
    display: flex;
    align-items: center;
    gap: 10px;
}
.case-migration .cta_link a span:before {
    content: "";
    width: 15px;
    height: 16px;
    display: block;
}
.case-migration .cta_link a.btn.download span:before {
    background: no-repeat url("../img/common/icon_dl_white.svg")center center / contain;
}
.case-migration .cta_link a.btn.contact span:before {
    background: no-repeat url("../img/common/icon_mail_white.svg")center center / contain;
}
.case-migration .cta_link a:hover.btn.download span:before {
    background: no-repeat url("../img/common/icon_dl_orange.svg")center center / contain;
}
.case-migration .cta_link a:hover.btn.contact span:before {
    background: no-repeat url("../img/common/icon_mail_grey.svg")center center / contain;
}
.case-migration .cta_link a:after {
    content: "";
    position: absolute;
    right: 20px;
    top: calc(50% - 15.5px);
    width: 29px;
    height: 29px;
    background: no-repeat url("../img/common/icon_link_r01.svg")center center / contain;
    border-radius: 50%;
}
.case-migration .cta_link a.btn.download:after {
    background: no-repeat url("../img/common/icon_cta_dl.svg")center center / contain;
}
.case-migration .cta_link a.btn.contact:after {
    background: no-repeat url("../img/common/icon_cta_ctt.svg")center center / contain;
}
.case-migration .cta_link a:hover.btn.download:after {
    background: no-repeat url("../img/common/icon_cta_dl-hover.svg")center center / contain;
}
.case-migration .cta_link a:hover.btn.contact:after {
    background: no-repeat url("../img/common/icon_cta_ctt-hover.svg")center center / contain;
}
/* 
新着情報
*/
.news .common-mv .mv-title .en {
    margin: 0 0 17px;
}
.news-list {
    padding: 0;
}
.news-list .inner-wrap {
    max-width: 844px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 26px;
}
.news-list-link ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.news-list-link li a {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
@media (max-width: 768px) {
    .news-list-link li a {
        flex-direction: column;
        gap: 10px;
    }
}
.news-list-link .post-info {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 4px 0 0;
}
.news-list-link .post-info .date {
    white-space: nowrap;
}
.news-list-link .post-info .category {
    width: 160px;
    background: #264690;
    font-size: 13px;
    font-weight: 500;
    color: #FFF;
    padding: 3px 4px;
    text-align: center;
}
.news-list-link li a:hover p {
    text-decoration: underline;
}
.news-detail {
    position: relative;
    ;
}
.news-detail .inner-wrap {
    max-width: 844px;
    margin-right: auto;
    margin-left: auto;
    padding: 70px 26px 0;
}
.news-detail .news-detail-title {
    padding: 0 0 36px;
}
.news-detail .news-detail-title .post-info {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 24px;
}
.news-detail .news-detail-title .post-info .date {
    white-space: nowrap;
}
.news-detail .news-detail-title .post-info .category {
    width: 160px;
    background: #264690;
    font-size: 13px;
    font-weight: 500;
    color: #FFF;
    padding: 3px 4px;
    text-align: center;
}
.news-detail .news-detail-title h1 {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.4;
}
@media (max-width: 768px) {
    .news-detail .news-detail-title h1 {
        font-size: 28px;
    }
}
.news-detail .news-content {
    border-top: 1px solid #D3D3D3;
    padding: 40px 0 0;
}
.news-detail .news-content .news-content-title {
    border-left: 4px solid #264690;
    padding: 0 0 0 24px;
    margin: 0 0 30px;
}
.news-detail .news-content .news-content-title h2 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.4;
}
@media (max-width: 768px) {
    .news-detail .news-content .news-content-title h2 {
        font-size: 22px;
    }
}
.news-detail .news-content .news-content-body {
    margin: 0 0 60px;
}
.news-detail .news-content .news-content-image {
    display: flex;
    justify-content: center;
    margin: 0 0 60px;
}
.news-detail .news-content .news-content-image figure {
    display: flex;
    flex-direction: column;
}
.news-detail .news-content .news-content-image img {
    max-width: 100%;
}
.news-detail .news-content .news-content-image .caption {
    margin: 8px 0 0;
    font-size: 14px;
}
.news-detail .news-content .news-content-image {}
.news-detail .news-content .news-content-ducument {
    display: flex;
    flex-direction: column;
}
.news-detail .news-content .news-content-ducument p {
    margin: 0 0 14px;
}
.news-detail .news-content .news-content-ducument a {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
}
.news-detail .news-content .news-content-ducument a:not(:last-child) {
    margin: 0 0 6px;
}
.news-detail .news-content .news-content-ducument a:hover {
    text-decoration: underline;
}
.news-detail .news-content .news-content-ducument a:before {
    content: "";
    width: 18px;
    height: 18px;
    background: url("../img/topics/icob_ducument_link.svg")center center / contain;
}
/* 
資料ダウンロード
*/
.document .common-mv, .common-mv.plain, .download .common-mv {
    padding: 170px 0 0;
}
@media (max-width: 768px) {
    .document .common-mv, .common-mv.plain, .download .common-mv {
        padding: 120px 0 0;
    }
}
.document-list {
    padding: 80px 26px 90px;
}
.document .catelink_wrap, .download .catelink_wrap {
    margin-bottom: 86px;
}
@media (max-width: 768px) {
    .document .catelink_wrap, .download .catelink_wrap {
        margin-bottom: 66px;
    }
}
.document-list.grey {
    background: #F4F6F8;
}
.document-list .document-list-wrap {
    max-width: 1240px;
    margin-right: auto;
    margin-left: auto;
    border-radius: 15px;
    box-sizing: border-box;
}
.document-list .common-ttl {}
.document-list .common-ttl h2 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .05em;
}
.document-list .document-list-block {
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
}
.document-list .document-list-block:not(:last-child) {
    margin-bottom: 100px;
}
.document-list .document-list-block .document-list-block-ttl {
    border-left: 3px solid #E84C12;
    padding: 0 0 0 24px;
    margin: 0 0 40px;
}
.document-list .document-list-block .document-list-block-ttl h3 {
    font-size: 20px;
    font-weight: 600;
}
.document-list .document-list-block .ducument-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 60px 40px;
}
@media (max-width: 768px) {
    .document-list .document-list-block .ducument-wrap {
        flex-direction: column;
    }
}
.document-list .document-list-block .ducument-wrap .ducument-content {
    width: calc(100% / 3 - 27px);
}
@media (max-width: 900px) {
    .document-list .document-list-block .ducument-wrap .ducument-content {
        width: calc(100% / 2 - 20px);
    }
}
@media (max-width: 768px) {
    .document-list .document-list-block .ducument-wrap .ducument-content {
        width: 100%;
    }
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-cover {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-cover figure {
    position: absolute;
    display: inline-block;
    left: 4%;
    width: 100%;
    max-width: 92%;
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.16);
    overflow: hidden;
}
@media (max-width: 768px) {
    .document-list .document-list-block .ducument-wrap .ducument-content .document-cover figure {
        max-width: 294px;
        left: 50%;
        margin-left: -147px;
    }
}
@media (max-width: 342px) {
    .document-list .document-list-block .ducument-wrap .ducument-content .document-cover figure {
        left: 0;
        margin-left: 0;
    }
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-cover figure img {
    transition-duration: 0.3s;
}
.document-list .document-list-block .ducument-wrap .ducument-content a:hover .document-cover figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-cover .document-bg {}
.document-list .document-list-block .ducument-wrap .ducument-content .document-cover .document-bg img {
    width: 100%;
    max-width: 200px;
    height: auto;
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-body {
    padding: 30px 0 0;
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-body h4 {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 20px;
}
.document-list .document-list-block .ducument-wrap .ducument-content .document-body p {}
.document-list .document-list-block .ducument-wrap .ducument-content .download-now {
    display: flex;
    justify-content: center;
    font-weight: 500;
    background: #E84C12;
    color: #FFF;
    border-radius: 9999px;
    width: 100%;
    max-width: 276px;
    padding: 21px 15px;
    margin: 34px auto 0;
    border: 2px solid #E84C12;
    transition: .3s;
    box-sizing: border-box;
}
.document-list .document-list-block .ducument-wrap .ducument-content a:hover .download-now {
    background: #FFF;
    color: #E84C12;
}
/* 
フォーム
*/
.form-contnet {
    padding: 50px 0 100px;
}
.form-contnet .form-wrap {
    width: 100%;
    max-width: 896px;
    padding: 0 26px;
    margin: 0 auto;
    box-sizing: border-box;
}
.form-contnet .form-wrap .form-body {}
.form-contnet .form-wrap .form-body table {
    width: 100%;
    border-top: 1px solid #D3D3D3;
}
@media (max-width: 768px) {
    .form-contnet .form-wrap .form-body tr {
        display: flex;
        flex-direction: column;
    }
}
.form-contnet .form-wrap .form-body th {
    padding: 16px 10px;
    border-bottom: 1px solid #D3D3D3;
    width: 216px;
    font-size: 18px;
    font-weight: 600;
    text-align: left;
    position: relative;
}
@media (max-width: 768px) {
    .form-contnet .form-wrap .form-body th {
        border-bottom: none;
        width: 100%;
        box-sizing: border-box;
    }
}
.form-contnet .form-wrap .form-body .radio th {
    vertical-align: top;
}
.form-contnet .form-wrap .form-body th span {
    font-size: 11px;
    font-weight: 500;
    color: #FFF;
    background: #EF4537;
    display: inline-block;
    padding: 1px 10px 2px;
    position: absolute;
    right: 0;
    top: calc(50% - 10px);
}
.form-contnet .form-wrap .form-body .radio th span {
    right: 0;
    top: 15px;
}
.form-contnet .form-wrap .form-body td {
    padding: 16px 0 16px 24px;
    border-bottom: 1px solid #D3D3D3;
}
.form-contnet .form-wrap .form-body td > div > p {
    font-weight: 700;
    padding: 0 0 10px;
}
.form-contnet .form-wrap .form-body td > div.yakinfo {
    padding: 10px 0 0;
}
.form-contnet .form-wrap .form-body td .note {
    font-size: 14px;
    display: inline-block;
    padding: 6px 0 0;
}
@media (max-width: 768px) {
    .form-contnet .form-wrap .form-body td {
        padding: 16px 0 16px 0;
    }
}
.form-contnet .form-wrap .form-body td span.names {
    font-size: 18px;
    font-weight: 500;
    display: inline-block;
    margin: 0 15px;
}
@media (max-width: 850px) {
    .form-contnet .form-wrap .form-body td span.names {
        margin: 0 15px 0 0;
    }
}
.form-contnet .form-wrap .form-body td span:first-child {
    margin: 0 15px 0 0;
}
.form-contnet .form-wrap .form-body td input[type="text"], .form-contnet .form-wrap .form-body td input[type="email"], .form-contnet .form-wrap .form-body td input[type="tel"], .form-contnet .form-wrap .form-body td input[type="number"], .form-contnet .form-wrap .form-body td textarea {
    background: #F4F6F8;
    border: none;
    padding: 18px 20px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}
.form-contnet .form-wrap .form-body td textarea {
    line-height: 1.4;
}
@media (max-width: 850px) {
    .form-contnet .form-wrap .form-body td input:nth-child(5) {
        margin: 10px 0 0;
    }
    .form-contnet .form-wrap .form-body td span.wpcf7-form-control-wrap {
        display: inline-block;
        width: calc(100% - 30px);
        margin: 5px 0;
    }
}
.form-contnet .form-wrap .form-body td input::placeholder {
    color: #BCBCBC;
}
.form-contnet .form-wrap .form-body td input.input-half {
    width: 40%;
}
.form-contnet .form-wrap .form-body td input.input-80 {
    width: 80%;
}
@media (max-width: 850px) {
    .form-contnet .form-wrap .form-body td input.input-half {
        width: 100%;
    }
}
@media (min-width: 850px) {
    .form-contnet .form-wrap .form-body td .resp {
        display: none;
    }
}
@media (max-width: 850px) {
    .form-contnet .form-wrap .form-body td .resp {
        display: block;
        height: 10px;
    }
}
.form-contnet .form-wrap .form-body .radio td div .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 0;
}
.form-contnet .form-wrap .form-body .radio td .wpcf7-radio span {
    margin: 0;
}
.form-contnet .form-wrap .form-body .radio td .wpcf7-radio span:nth-child(2n+1) {
    width: 45%;
}
.form-contnet .form-wrap .form-body .radio td .wpcf7-radio span:nth-child(n+6) {
    width: 100%;
}
@media (max-width: 650px) {
    .form-contnet .form-wrap .form-body .radio td .wpcf7-radio span:nth-child(2n+1) {
        width: 100%;
    }
}
.form-contnet .form-wrap .form-body .radio td span label {
    font-size: 16px;
    font-weight: 500;
    display: flex;
    gap: 10px;
}
.form-contnet .form-wrap .form-body .privacy_policy {
    padding: 60px 0 0;
}
.form-contnet .form-wrap .form-body .privacy_policy .lead-text {
    text-align: center;
    margin: 0 0 30px;
}
.form-contnet .form-wrap .form-body .privacy_policy .lead-text a {
    color: #264690;
    text-decoration: underline;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body {
    border: 1px solid #D3D3D3;
    padding: 20px;
    height: 240px;
    overflow: auto;
}
@media (max-width: 768px) {
    .form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body {
        height: 150px;
    }
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .pp-head {
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 24px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .pp-subhead {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .author {
    font-size: 14px;
    text-align: right;
    margin: 0 0 40px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .detail {
    list-style: none;
    margin: 0 0 20px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .detail li, .form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .text {
    font-size: 14px;
    line-height: 1.8;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .detail li:not(:last-child), .form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .text:not(:last-child) {
    margin: 0 0 20px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .detail li span {
    display: block;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 6px;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .text span {
    font-weight: 600;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .contact-informarion {
    font-size: 14px;
    margin: 30px 0 0;
}
.form-contnet .form-wrap .form-body .privacy_policy .privacy_policy-body .contact-informarion span {
    font-weight: 600;
}
.form-contnet .form-wrap .form-body .agreement {
    text-align: center;
    font-size: 18px;
    margin: 30px 0 0;
}
.form-contnet .form-wrap .form-body .agreement input {
    margin: 0 20px 0 0;
}
.form-contnet .form-wrap .form-body .form-btn {
    margin: 56px 0 0;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.form-contnet .form-wrap .form-body .form-btn input {
    width: 100%;
    max-width: 392px;
    height: 75px;
    color: #FFF;
    font-size: 18px;
    font-weight: 500;
    border-radius: 9999px;
    border: 2px solid #373D4A;
    transition: .3s;
    position: relative;
    background: #373D4A no-repeat url("../img/common/icon_cta_ctt.svg")right 20px top 21px / 29px 29px;
}
.form-contnet .form-wrap .form-body .form-btn input:hover {
    background: #FFF no-repeat url("../img/common/icon_cta_ctt-hover.svg")right 20px top 21px / 29px 29px;
    color: #373D4A;
}
.form-contnet .hidden, .wpcf7-spinner {
    display: none !important;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none;
    margin-top: 10px;
}
.wpcf7-form-control-wrap.is-show .wpcf7-not-valid-tip {
    display: block;
}
/* 
企業情報
*/
.company .mv {
    margin: 0;
    padding: 0 26px;
    transition: .3s;
    background: no-repeat url("../img/company/company_top_mv.png") center center / cover;
    position: relative;
}
@media (max-width: 1100px) {
    .company .mv {
        padding: 100px 26px 0;
    }
}
@media (max-width: 768px) {
    .company .mv {
        padding: 40px 20px 0;
    }
}
.company .mv-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1140px;
    height: 418px;
    margin: 0 auto;
    box-sizing: border-box;
    transition: .3s;
}
@media (max-width: 768px) {
    .company .mv-wrapper {
        height: 200px;
        padding: 0 40px;
    }
}
.company .mv .mv-title h1 {
    display: flex;
    flex-direction: column;
    gap: 25px;
    color: #FFF;
}
@media (max-width: 768px) {
    .company .mv .mv-title h1 {
        gap: 15px;
    }
}
.company .mv .mv-title .en {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
}
.company .mv .mv-title .jp {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .05em;
}
@media (max-width: 768px) {
    .company .mv .mv-title .jp {
        font-size: 24px;
    }
}
.company-content .ttl p::before {
    background: rgba(38, 70, 144, 0.53);
}
.company-link {
    padding: 100px 0 0;
}
.company-link .company-link-wrap {
    display: flex;
    justify-content: space-between;
    gap: 40px 4.6%;
}
@media (max-width: 768px) {
    .company-link .company-link-wrap {
        flex-direction: column;
        align-items: center;
        gap: 60px 4.6%;
    }
}
.company-link .company-link-wrap .company-link-body figure {
    overflow: hidden;
    margin: 0 0 36px;
}
@media (max-width: 768px) {
    .company-link .company-link-wrap .company-link-body figure {
        display: flex;
        justify-content: center;
        max-width: 345px;
        margin: 0 auto 36px;
    }
}
.company-link .company-link-wrap .company-link-body a figure img {
    transition-duration: 0.2s;
    object-fit: cover;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}
.company-link .company-link-wrap .company-link-body a:hover figure img {
    transform: scale(1.1);
    transition-duration: 0.2s;
}
.company-link .company-link-wrap .company-link-body h4 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 18px;
}
.company-link .company-link-wrap .company-link-body .support-link {
    margin: 36px 0 0;
    display: flex;
    justify-content: flex-end;
}
.company-link .company-link-wrap .company-link-body .support-link .more-btn::after {
    background-image: url(../img/common/icon_link_a09.svg);
}
.company-link .company-link-wrap .company-link-body a:hover .support-link .more-btn {
    background: #FFF;
}
.common-mv.company {
    padding: 134px 0 10px;
}
.common-mv .mv-title .parent {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .07em;
    margin: 0 0 16px;
    color: #264690;
}
.catelink_wrap .flex-center {
    display: flex;
    justify-content: center;
}
@media (max-width: 600px) {
    .catelink_wrap .flex-center {
        flex-direction: column;
    }
}
.company-wrap {
    display: flex;
}
@media (max-width: 900px) {
    .company-wrap {
        flex-direction: column;
    }
}
.company-wrap .common-ttl {
    display: flex;
    width: 250px;
    margin: 0 0 30px;
}
.company-wrap .company-outline-table {
    flex: 1;
}
.company-wrap .company-outline-table table {
    border-top: 1px solid #D3D3D3;
}
.company-wrap .company-outline-table th {
    width: 175px;
    padding: 20px 15px;
    text-align: left;
    vertical-align: top;
    box-sizing: border-box;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 2;
    border-bottom: 1px solid #D3D3D3;
}
@media (max-width: 768px) {
    .company-wrap .company-outline-table th {
        width: auto;
        padding: 20px 0 20px 15px;
        white-space: nowrap;
    }
}
.company-wrap .company-outline-table td {
    padding: 20px 15px;
    box-sizing: border-box;
    border-bottom: 1px solid #D3D3D3;
    line-height: 2;
}
.company-wrap .company-outline-table td p:not(:last-child) {
    margin: 0 0 15px;
}
.company-wrap .company-outline-table td a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}
.company-wrap .company-outline-table td a:hover {
    text-decoration: underline;
}
.company-wrap .company-outline-table td a:after {
    content: "";
    width: 18px;
    height: 18px;
    background-image: url(../img/service/anchor_btn@2.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.company-access-list {
    width: calc(100% - 250px);
    border-top: 1px solid #D3D3D3;
}
@media (max-width: 900px) {
    .company-access-list {
        width: 100%;
    }
}
.access-box {
    display: flex;
    gap: 30px 57px;
    padding: 30px 0;
    border-bottom: 1px solid #D3D3D3;
}
@media (max-width: 600px) {
    .access-box {
        flex-direction: column;
        gap: 30px 57px;
        padding: 30px 0;
    }
}
.access-box .access-map {
    width: 100%;
    max-width: 444px;
}
@media (max-width: 768px) {
    .access-box .access-map {
        width: 50%;
    }
}
@media (max-width: 600px) {
    .access-box .access-map {
        width: 100%;
        max-width: 100%;
    }
}
.access-box .gmap {
    width: 100%;
    position: relative;
    padding-top: 62%;
}
.access-box .gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.access-box .access-body {
    line-height: 2;
}
.access-box .access-body span {
    font-weight: 600;
}
.company-message {
    padding: 0;
}
.company-message .company-message-wrap {
    width: 100%;
    max-width: 752px;
    padding: 0 26px;
    margin: 0 auto;
    box-sizing: border-box;
}
.company-message .company-message-wrap .president-photo {}
.company-message .company-message-wrap .company-message-body {
    padding: 80px 0 0;
}
.company-message .company-message-wrap .company-message-body .message-title {
    margin: 0 0 60px;
}
@media (max-width: 768px) {
    .company-message .company-message-wrap .company-message-body {
        padding: 50px 0 0;
    }
    .company-message .company-message-wrap .company-message-body .message-title {
        margin: 0 0 30px;
    }
}
.company-message .company-message-wrap .company-message-body .message-title h2 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.7;
}
@media (max-width: 768px) {
    .company-message .company-message-wrap .company-message-body .message-title h2 {
        font-size: 24px;
    }
}
.company-message .company-message-wrap .company-message-body .message-text p:not(:last-child) {
    margin: 0 0 30px;
}
.company-message .company-message-wrap .company-message-body .message-text .author {
    text-align: right;
    font-size: 14px;
    line-height: 1.8;
    padding: 70px 0 0;
}
@media (max-width: 768px) {
    .company-message .company-message-wrap .company-message-body .message-text .author {
        padding: 40px 0 0;
    }
}
.company-message .company-message-wrap .company-message-body .message-text .author span {
    font-size: 22px;
    font-weight: 400;
}
.common-mv.company h2 {
    font-size: 33px;
    font-weight: 600;
    letter-spacing: .03em;
    margin: 0 0 15px;
}
@media (max-width: 768px) {
    .common-mv.company h2 {
        font-size: 24px;
    }
}
.company-achievements {
    padding: 100px 0;
}
@media (max-width: 768px) {
    .company-achievements {
        padding: 60px 0;
    }
}
.company-history {
    padding: 100px 0;
    background: #F4F6F8;
}
@media (max-width: 768px) {
    .company-history {
        padding: 60px 0;
    }
}
.company-wrap .company-achievements-body, .company-wrap .company-history-body {
    flex: 1;
}
.company-achievements-body .numbers-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 22px 24px;
    margin: 50px 0 0;
}
.company-achievements-body .numbers-flex .number-body {
    width: 280px;
    position: relative;
}
.company-achievements-body .numbers-flex .number-body.half {
    width: 433px;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body {
        width: calc(50% - 12px);
    }
}
.company-achievements-body .numbers-flex .number-body p {
    position: absolute;
}
.company-achievements-body .numbers-flex .number-body p em, .company-achievements-body .numbers-flex .number-body p i {
    font-style: normal;
}
.company-achievements-body .numbers-flex .number-body .title {
    top: 15px;
    left: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}
@media (max-width: 520px) {
    .company-achievements-body .numbers-flex .number-body .title {
        font-size: 12px;
        left: 10px;
        gap: 6px;
    }
}
.company-achievements-body .numbers-flex .number-body .title:before {
    content: "●";
    font-size: 8px;
    color: #264690;
}
.company-achievements-body .numbers-flex .number-body .note {
    font-size: min(1.2vw, 14px);
    bottom: 10px;
    right: 16px;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .note {
        font-size: min(2.8vw, 14px);
        line-height: 1.2;
        bottom: 5px;
    }
}
.company-achievements-body .numbers-flex .number-body.job {
    width: 100%;
    max-width: 890px;
}
.company-achievements-body .numbers-flex .number-body.job .sp2 {
    display: none;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body.job .pc2 {
        display: none;
    }
    .company-achievements-body .numbers-flex .number-body.job .sp2 {
        display: inline-block;
    }
}
.company-achievements-body .numbers-flex .number-body .number01 {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    font-size: min(1.9vw, 24px);
    font-weight: 500;
    top: 65px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.company-achievements-body .numbers-flex .number-body.half .number01 {
    top: 80px;
    left: 40%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01 {
        font-size: min(8vw, 24px);
    }
}
@media (max-width: 520px) {
    .company-achievements-body .numbers-flex .number-body .number01 {
        font-size: min(5vw, 24px);
        top: 25%;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type01 {
    font-size: 18px;
    top: 50px;
    gap: 32px;
}
@media (max-width: 540px) {
    .company-achievements-body .numbers-flex .number-body .number01.type01 {
        font-size: 18px;
        top: 35px;
        gap: 20px;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type01 em {
    font-size: min(1.6vw, 18px);
    line-height: 1.2;
    text-align: center;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type01 em {
        font-size: min(2.4vw, 18px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type01 em:nth-child(2) {
    line-height: 2.4;
}
.company-achievements-body .numbers-flex .number-body .number01.type03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px 0;
    width: 560px;
    top: 34px;
    left: 30px;
    transform: translateX(0);
}
@media (max-width: 1120px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 {
        width: 45vw;
        gap: 0;
    }
}
@media (max-width: 900px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 {
        width: 60vw;
    }
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 {
        width: 38vw;
        flex-direction: column;
        gap: 1.6vh;
    }
}
@media (max-width: 440px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 {
        left: 15px;
        gap: 6px 0;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu {
    flex-direction: column;
    justify-content: space-between;
    gap: 10px 0;
    width: 166px;
    top: 80px;
    left: 45px;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu {
        align-items: flex-start;
    }
}
@media (max-width: 530px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu {
        top: 50px;
        left: 25px;
        gap: 5px 0;
    }
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu span {
        font-size: min(8vw, 72px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.zangyo {
    width: auto;
    top: 55px;
    left: 45px;
}
@media (max-width: 540px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.zangyo {
        top: 25%;
        left: 20px;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.zangyo:before {
    display: none;
}
.company-achievements-body .numbers-flex .number-body .number01.type03:before {
    content: "";
    width: 134px;
}
.company-achievements-body .numbers-flex .number-body .number01.type03 i {
    font-size: 18px;
    font-weight: 500;
}
@media (max-width: 1120px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 i {
        font-size: min(1.8vw, 18px);
    }
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 i {
        font-size: min(3.0vw, 18px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03 em {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body.job .number01.type03 em {
        line-height: 1.4;
    }
    .company-achievements-body .numbers-flex .number-body.job .number01.type03 em label {
        font-size: min(3vw, 16px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03 span {
    font-size: min(4.5vw, 56px);
    margin-right: 5px;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 span {
        font-size: min(6.0vw, 56px);
        margin-right: 2px;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
    width: 260px;
}
.company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
    width: 260px;
}
@media (max-width: 1120px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
        width: 48%;
    }
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
        width: 50%;
    }
}
@media (max-width: 900px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
        width: 44%;
    }
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
        width: 50%;
    }
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
        width: 100%;
    }
    .company-achievements-body .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
        width: 100%;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n), .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n+1) {
    width: 176px;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n), .company-achievements-body .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n+1) {
        width: 24vw;
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.zangyo em {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    line-height: 1.4;
}
@media (max-width: 540px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.zangyo em i {
        font-size: min(2.4vw, 18px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01.type03.zangyo em span {
    font-size: min(5.5vw, 72px);
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01.type03.zangyo em span {
        font-size: min(10vw, 72px);
    }
}
.company-achievements-body .numbers-flex .number-body .number01 span {
    font-family: "Montserrat", sans-serif;
    font-size: min(5.5vw, 72px);
    line-height: 1;
    color: #264690;
}
@media (max-width: 768px) {
    .company-achievements-body .numbers-flex .number-body .number01 span {
        font-size: min(12vw, 72px);
    }
}
@media (max-width: 500px) {
    .company-achievements-body .numbers-flex .number-body .number01 span {
        font-size: min(10vw, 72px);
    }
}
.company-achievements-body .numbers-flex .number-body.job .note {
    font-size: 24px;
}
.chronology {
    margin: 50px 0 0;
}
.chronology .chronology-era-wrap {
    background: repeat-y url("../img/company/history_centerline.svg")top center;
    text-align: center;
}
.chronology .chronology-era-wrap:not(:last-child) {
    padding: 0 0 60px;
}
.chronology .chronology-era-wrap .chronology-era {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 64px;
    letter-spacing: .05em;
    line-height: 1.2;
    color: #264690;
    background: #F4F6F8;
    margin: 0 auto 60px;
}
@media (max-width: 768px) {
    .chronology .chronology-era-wrap .chronology-era {
        font-size: 50px;
    }
}
.chronology .chronology-era-wrap .chronology-wrap {}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body {
    display: flex;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body:not(:nth-child(2n)) {
    justify-content: flex-end;
}
.chronology .chronology-era-wrap .chronology-wrap.reverse .chronology-body {
    justify-content: flex-end;
}
.chronology .chronology-era-wrap .chronology-wrap.reverse .chronology-body:not(:nth-child(2n)) {
    justify-content: flex-start;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 44.5%;
    background: #FFF;
    padding: 14px 20px;
    box-sizing: border-box;
    position: relative;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .inner:before {
    content: "";
    position: absolute;
    top: 13px;
    left: 100%;
    background: no-repeat url("../img/company/historyline02.svg")0 0 / contain;
    width: 14.95%;
    height: 23px;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body:not(:nth-child(2n)) .inner:before {
    left: auto;
    right: 100%;
    background: no-repeat url("../img/company/historyline01.svg")0 0 / contain;
}
.chronology .chronology-era-wrap .chronology-wrap.reverse .chronology-body .inner:before {
    left: auto;
    right: 100%;
    background: no-repeat url("../img/company/historyline01.svg")0 0 / contain;
}
.chronology .chronology-era-wrap .chronology-wrap.reverse .chronology-body:not(:nth-child(2n)) .inner:before {
    left: 100%;
    right: auto;
    background: no-repeat url("../img/company/historyline02.svg")0 0 / contain;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .inner p {
    line-height: 1.8;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .inner p:not(:nth-child(-n+2)) {
    margin: 12px 0 0;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .inner figure + p {
    margin: 0 !important;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body .year {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .05em;
    color: #264690;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body p {
    line-height: 1.4;
    text-align: left;
}
.chronology .chronology-era-wrap .chronology-wrap .chronology-body figure {
    width: 100%;
    max-width: 280px;
    padding: 6px 0;
}
.chronology-body .inner {
    opacity: 0;
    transform: translateX(-60px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.chronology-body:not(:nth-child(2n)) .inner {
    transform: translateX(60px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.reverse .chronology-body:not(:nth-child(2n)) .inner {
    transform: translateX(-60px);
}
.reverse .chronology-body:nth-child(2n) .inner {
    transform: translateX(60px);
}
.chronology-body .inner.is-visible, .reverse .chronology-body .inner.is-visible {
    opacity: 1;
    transform: translateX(0);
}
/* 
個人情報保護方針
*/
.privacy-policy .inner-wrap {
    width: 100%;
    max-width: 896px;
    padding: 0 26px 60px;
    margin: 0 auto;
    box-sizing: border-box;
}
.privacy-policy .inner-wrap p:not(:last-child) {
    margin: 0 0 28px;
}
.privacy-policy > .inner-wrap p:last-child {
    text-align: right;
}
div.personal-information .inner-wrap {
    width: 100%;
    max-width: 896px;
    padding: 60px 26px 40px;
    margin: 0 auto;
    box-sizing: border-box;
    border-top: 1px solid #D3D3D3;
}
div.personal-information h2 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    margin: 0 0 25px;
}
@media (max-width: 768px) {
    div.personal-information h2 {
        font-size: 24px;
    }
}
div.personal-information .inner-wrap p {
    margin: 0 0 28px;
}
div.personal-information ol {
    list-style: none;
}
div.personal-information .inner-wrap > ol {
    padding: 20px 0;
}
div.personal-information .inner-wrap > ol > li {
    padding: 0 0 20px;
}
div.personal-information .inner-wrap > ol > li ul, div.personal-information .inner-wrap > ol > li ol {
    margin: 0 0 25px;
}
div.personal-information .inner-wrap > ol > li li {
    line-height: 2;
}
div.personal-information ol li h3 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .05em;
    margin: 0 0 15px;
}
@media (max-width: 768px) {
    div.personal-information ol li h3 {
        font-size: 18px;
    }
}
/* 
採用情報
*/
.mv.recruit-top {}
.mv.recruit-top .mv-wrapper {
    width: 100%;
    margin: 0 auto;
    max-width: 1140px;
    padding: 140px 26px 0;
}
.mv.recruit-top .mv-wrapper .mv-title {
    margin: 0 0 150px;
}
.mv.recruit-top .mv-wrapper .mv-title h1 {
    position: relative;
}
.mv.recruit-top .mv-wrapper .mv-title .en {
    color: #C6AF8A;
    font-size: 88px;
    font-weight: 300;
    letter-spacing: .07em;
}
.mv.recruit-top .mv-wrapper .mv-title .jp {
    font-size: 33px;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.6;
    position: absolute;
    left: 58px;
    top: 55px;
}
@media (max-width: 768px) {
    .mv.recruit-top .mv-wrapper .mv-title .en {
        font-size: 60px;
    }
    .mv.recruit-top .mv-wrapper .mv-title .jp {
        font-size: 26px;
        top: 40px;
    }
}
@media (max-width: 490px) {
    .mv.recruit-top .mv-wrapper .mv-title .en {
        font-size: 50px;
    }
    .mv.recruit-top .mv-wrapper .mv-title .jp {
        font-size: min(5vw, 21px);
        top: 35px;
        left: 30px;
    }
}
.mv.recruit-top .mv-img {
    width: 100%;
    margin: 0 auto;
    max-width: 1240px;
    padding: 0 26px;
    box-sizing: border-box;
}
.mv.recruit-top .mv-img .mv-main {
    padding: 0 50px;
}
@media (max-width: 768px) {
    .mv.recruit-top .mv-img .mv-main {
        padding: 0 3%;
    }
}
.mv.recruit-top .mv-img .mv-sub {
    display: flex;
    align-items: center;
    gap: 33px;
    max-width: 1240px;
    margin: -62px 0 0;
}
@media (max-width: 768px) {
    .mv.recruit-top .mv-img .mv-sub {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: -20px 0 0;
    }
}
.recruit-content {}
.recruit-content .ttl h2 {
    font-size: 20px;
    margin-top: 10px;
}
.inner-wrap01 {
    width: 100%;
    margin: 0 auto;
    max-width: 1240px;
}
.inner-wrap02 {
    width: 100%;
    margin: 0 auto;
    max-width: 1140px;
}
.recruit-content .about .about-flex {
    display: flex;
}
@media (max-width: 768px) {
    .recruit-content .about .about-flex {
        display: flex;
    }
}
.recruit-content .about {
    padding: 0 0 0 26px;
}
.recruit-content .about .about-flex figure {
    padding-top: 40px;
    padding-bottom: 40px;
    background: no-repeat url("../img/recruit/recruit_top_about_bg.svg")left 300px top 0 / cover;
    width: 50%;
    text-align: center;
    margin: 0;
}
@media (max-width: 900px) {
    .recruit-content .about .about-flex figure {
        width: 100%;
    }
}
@media (max-width: 900px) {
    .recruit-content .about .about-flex figure img {
        margin: 0 auto;
        width: 100%;
        max-width: 620px;
    }
}
.recruit-content .about .about-flex .about-body {
    margin-right: calc(50% - 50vw);
    padding-left: 7%;
    padding-right: calc(50vw - 50% + 52px);
    padding-top: 40px;
    padding-bottom: 40px;
    background: #EFDEB8;
    flex: 1;
    box-sizing: border-box;
}
@media (max-width: 1180px) {
    .recruit-content .about .about-flex .about-body {
        margin-right: 0;
        padding-right: 26px;
        padding-left: 30px;
    }
}
@media (max-width: 900px) {
    .recruit-content .about .about-flex .about-body {
        background: no-repeat url("../img/recruit/recruit_top_about_bg.svg")left 0 top 0 / cover;
    }
}
@media (min-width: 901px) {
    .recruit-content .about .about-flex .about-body h3 {
        margin: 0 0 20px;
    }
}
.recruit-content .about .about-flex .about-body .ttl p::before {
    background: #FFF;
}
.recruit-content .about .about-flex .about-body .caselist_link .more-btn {
    margin: 60px 0 0;
}
.recruit-content .about .about-flex .about-body .caselist_link .more-btn::after {
    background-image: url(../img/common/icon_link_a10.svg);
}
.recruit-content .interview {
    padding: 120px 26px;
}
@media (max-width: 768px) {
    .recruit-content .interview {
        padding: 80px 26px;
    }
}
.recruit-content h3 {
    font-size: 33px;
    font-weight: 600;
    letter-spacing: .03em;
}
@media (max-width: 768px) {
    .recruit-content h3 {
        font-size: 26px;
    }
}
.recruit-content .interview .inner-wrap01 {
    margin: 70px auto 0;
}
.recruit-content .interview .interview-flex {
    display: flex;
}
@media (max-width: 768px) {
    .recruit-content .interview .interview-flex {
        flex-direction: column;
        gap: 50px;
    }
}
.recruit-content .interview .interview-flex .interview-box {
    text-align: center;
}
.recruit-content .interview .interview-flex .interview-box:nth-child(3n+2) {
    padding: 86px 0 0;
}
.recruit-content .interview .interview-flex .interview-box:nth-child(3n) {
    padding: 25px 0 0;
}
@media (max-width: 920px) {
    .recruit-content .interview .interview-flex .interview-box:nth-child(3n), .recruit-content .interview .interview-flex .interview-box:nth-child(3n+2) {
        padding: 0;
    }
}
.recruit-content .interview .interview-flex .interview-box figure {
    overflow: hidden;
    border-radius: 15px;
    max-width: 414px;
    margin: 0 auto;
}
.recruit-content .interview .interview-flex .interview-box figure img {
    transition-duration: 0.3s;
}
@media (max-width: 900px) {
    .recruit-content .interview .interview-flex .interview-box figure img {}
}
.recruit-content .interview .interview-flex .interview-box a:hover figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
    height: auto;
}
.recruit-content .interview .interview-flex .interview-box .interview-body {
    background: #F4F6F8;
    border-radius: 15px;
    padding: 30px 27px 36px;
    margin: -40px 17px 0;
    position: relative;
}
@media (max-width: 768px) {
    .recruit-content .interview .interview-flex .interview-box .interview-body {
        padding: 20px;
        margin: -20px 0 0;
    }
}
.recruit-content .interview .interview-flex .interview-box .interview-body p {
    margin: 0 0 16px;
}
.recruit-content .interview .interview-flex .interview-box .interview-body .title {
    font-size: 18px;
    font-weight: 600;
}
.recruit-content .interview .interview-flex .interview-box .interview-body p span {
    font-size: 20px;
    font-weight: 600;
}
.recruit-content .interview .interview-flex .interview-box .interview-body .recruit-link {
    text-align: right;
}
.recruit-content .interview .interview-flex .interview-box .interview-body .recruit-link .more-btn {
    background: #FFF;
    border: 2px solid #F4F6F8;
}
.recruit-content .interview .interview-flex .interview-box a:hover .interview-body .recruit-link .more-btn {
    background: #F4F6F8;
    border: 2px solid #FFF;
}
.interview .slick-arrow {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.interview .slick-arrow::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 1px solid #09000d;
    border-width: 3px 3px 0 0;
    position: absolute;
    top: 24px;
    transform: rotate(45deg);
}
.interview .slick-arrow.slick-disabled {
    display: none !important;
}
.interview .slick-next {
    right: -15px;
}
.interview .slick-prev {
    left: -15px;
}
.interview .slick-next::before {
    left: 20px;
}
.interview .slick-prev::before {
    border-width: 0 0 3px 3px;
    right: 22px;
}
.slick-list {
    width: 100%;
}
.recruit-link .more-btn::after {
    background: url(../img/common/icon_link_a10.svg);
}
.recruit-content .ideal-candedate {
    margin: 0 26px 120px
}
@media (max-width: 768px) {
    .recruit-content .ideal-candedate {
        margin: 0 26px 80px
    }
}
.recruit-content .ideal-candedate .ideal-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.recruit-content .ideal-candedate .ideal-flex .ideal-body {
    order: 1;
    flex: 1;
    padding: 0 30px 0 50px;
}
@media (max-width: 1180px) {
    .recruit-content .ideal-candedate .ideal-flex .ideal-body {
        padding: 0 30px 0 0;
    }
}
.recruit-content .ideal-candedate .ideal-flex .ideal-body h3 {
    margin: 0 0 20px;
}
.recruit-content .ideal-candedate .ideal-flex figure {
    width: 100%;
    max-width: 57.1%;
    order: 2;
}
@media (max-width: 900px) {
    .recruit-content .ideal-candedate .ideal-flex figure {
        max-width: 100%;
        text-align: center;
        padding: 40px 0;
    }
    .recruit-content .ideal-candedate .ideal-flex figure img {
        width: 100%;
        max-width: 708px;
        margin: 0 auto;
    }
}
.recruit-content .ideal-candedate .ideal-flex .ideal-body .ttl {}
.recruit-content .ttl p::before {
    background: #C6AF8A;
}
.recruit-content .ideal-candedate .ideal-flex .ideal-body .recruit-link {
    margin: 36px 0 0;
}
.recruit-content .ideal-candedate .ideal-flex .ideal-body .recruit-link .more-btn {}
.recruit-content .numbers {
    margin: 0 26px 120px;
}
@media (max-width: 768px) {
    .recruit-content .numbers {
        margin: 0 26px 80px;
    }
}
.recruit-content .numbers .numbers-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 22px 20px;
}
.recruit-content .numbers .numbers-flex .number-body {
    width: 270px;
    position: relative;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body {
        width: calc(50% - 10px);
    }
}
@media (max-width: 1180px) {
    .recruit-content .ideal-candedate .ideal-flex .ideal-body {
        padding: 0 30px 0 0;
    }
}
@media (max-width: 900px) {
    .recruit-content .ideal-candedate .ideal-flex .ideal-body {
        padding: 0;
    }
}
.recruit-content .numbers .numbers-flex .number-body p {
    position: absolute;
}
.recruit-content .numbers .numbers-flex .number-body p em, .recruit-content .numbers .numbers-flex .number-body p i {
    font-style: normal;
}
.recruit-content .numbers .numbers-flex .number-body .title {
    top: 15px;
    left: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}
@media (max-width: 520px) {
    .recruit-content .numbers .numbers-flex .number-body .title {
        font-size: 12px;
        left: 10px;
        gap: 6px;
    }
}
.recruit-content .numbers .numbers-flex .number-body .title:before {
    content: "●";
    font-size: 8px;
    color: #C6AF8A;
}
.recruit-content .numbers .numbers-flex .number-body .note {
    font-size: min(1.2vw, 14px);
    bottom: 10px;
    right: 16px;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .note {
        font-size: min(2.8vw, 14px);
        line-height: 1.2;
        bottom: 5px;
    }
}
.recruit-content .numbers .numbers-flex .number-body.job {
    width: 100%;
    max-width: 849.97px;
}
.recruit-content .numbers .numbers-flex .number-body.job .sp2 {
    display: none;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body.job .pc2 {
        display: none;
    }
    .recruit-content .numbers .numbers-flex .number-body.job .sp2 {
        display: inline-block;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01 {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    font-size: min(1.9vw, 24px);
    font-weight: 500;
    top: 65px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01 {
        font-size: min(8vw, 24px);
    }
}
@media (max-width: 520px) {
    .recruit-content .numbers .numbers-flex .number-body .number01 {
        font-size: min(5vw, 24px);
        top: 25%;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type01 {
    font-size: 18px;
    top: 50px;
    gap: 32px;
}
@media (max-width: 540px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type01 {
        font-size: 18px;
        top: 35px;
        gap: 20px;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type01 em {
    font-size: min(1.6vw, 18px);
    line-height: 1.2;
    text-align: center;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type01 em {
        font-size: min(2.4vw, 18px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type01 em:nth-child(2) {
    line-height: 2.4;
}
.recruit-content .numbers .numbers-flex .number-body .number01.type02 {
    transform: translateX(-90%);
    -webkit-transform: translateX(-90%);
    -ms-transform: translateX(-90%);
}
@media (max-width: 520px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type02 {
        top: 30%;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type04 {
    transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
}
.recruit-content .numbers .numbers-flex .number-body .number01.type05 {
    transform: translateX(-70%);
    -webkit-transform: translateX(-70%);
    -ms-transform: translateX(-70%);
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px 0;
    width: 490px;
    top: 34px;
    left: 30px;
    transform: translateX(0);
}
@media (max-width: 880px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 {
        width: 45vw;
        gap: 0;
    }
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 {
        width: 34vw;
        flex-direction: column;
        gap: 1.6vh;
    }
}
@media (max-width: 420px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 {
        width: 32vw;
        gap: 1vh;
        left: 10px;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu {
    flex-direction: column;
    justify-content: space-between;
    gap: 10px 0;
    width: 166px;
    top: 80px;
    left: 45px;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu {
        align-items: flex-start;
    }
}
@media (max-width: 530px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu {
        top: 50px;
        left: 25px;
        gap: 5px 0;
    }
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu span {
        font-size: min(8vw, 72px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo {
    width: auto;
    top: 55px;
    left: 45px;
}
@media (max-width: 540px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo {
        top: 25%;
        left: 20px;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo:before {
    display: none;
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03:before {
    content: "";
    width: 134px;
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 i {
    font-size: 18px;
    font-weight: 500;
}
@media (max-width: 880px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 i {
        font-size: min(1.8vw, 18px);
    }
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 i {
        font-size: min(3.0vw, 18px);
    }
}
@media (min-width: 769px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 br {
        display: none;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 em {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body.job .number01.type03 em {
        line-height: 1.4;
    }
    .recruit-content .numbers .numbers-flex .number-body.job .number01.type03 em label {
        font-size: min(3vw, 16px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 span {
    font-size: min(4.5vw, 56px);
    margin-right: 5px;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 span {
        margin-right: 2px;
        font-size: min(6vw, 56px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
    width: 134px;
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
    width: 278px;
}
@media (max-width: 880px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
        width: 30%;
    }
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
        width: 60%;
    }
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n) {
        width: 100%;
    }
    .recruit-content .numbers .numbers-flex .number-body .number01.type03 em:nth-child(2n+1) {
        width: 100%;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n), .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n+1) {
    width: 176px;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n), .recruit-content .numbers .numbers-flex .number-body .number01.type03.ikukyu em:nth-child(2n+1) {
        width: 24vw;
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo em {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    line-height: 1.4;
}
@media (max-width: 540px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo em i {
        font-size: min(2.4vw, 18px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo em span {
    font-size: min(5.5vw, 72px);
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01.type03.zangyo em span {
        font-size: min(10vw, 72px);
    }
}
.recruit-content .numbers .numbers-flex .number-body .number01 span {
    font-family: "Montserrat", sans-serif;
    font-size: min(5.5vw, 72px);
    line-height: 1;
    color: #C6AF8A;
}
@media (max-width: 768px) {
    .recruit-content .numbers .numbers-flex .number-body .number01 span {
        font-size: min(12vw, 72px);
    }
}
@media (max-width: 500px) {
    .recruit-content .numbers .numbers-flex .number-body .number01 span {
        font-size: min(10vw, 72px);
    }
}
.recruit-content .numbers .numbers-flex .number-body.job .note {
    font-size: 24px;
}
.recruit-content .requirements {
    background: #F4F6F8;
    padding: 120px 26px;
}
@media (max-width: 768px) {
    .recruit-content .requirements {
        padding: 80px 26px;
    }
}
.recruit-content .requirements .requirements-link {
    width: 100%;
    max-width: 762px;
    margin: 60px auto 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.recruit-content .requirements .requirements-link .office {
    display: flex;
    gap: 12.8px;
}
@media (max-width: 640px) {
    .recruit-content .requirements .requirements-link .office {
        flex-direction: column;
        gap: 12.8px;
    }
}
.recruit-content .requirements .requirements-link .office .office-name {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 202px;
    background: #EFDEB8;
    border-radius: 5px;
}
@media (max-width: 640px) {
    .recruit-content .requirements .requirements-link .office .office-name {
        width: auto;
        display: block;
        padding: 12px 50px 12px 10px;
    }
}
.recruit-content .requirements .requirements-link .office .job-type {
    flex: 1;
}
.recruit-content .requirements .requirements-link .office .job-type ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.recruit-content .requirements .requirements-link .office .job-type li a {
    display: block;
    padding: 12px 50px 12px 10px;
    background: #FFF;
    border-radius: 5px;
    text-align: center;
    position: relative;
    transition: .3s;
    border: 2px solid #FFF;
}
.recruit-content .requirements .requirements-link .office .job-type li a:hover {
    border: 2px solid #222;
}
.recruit-content .requirements .requirements-link .office .job-type li a:after {
    content: "";
    position: absolute;
    width: 19px;
    height: 19px;
    background: url("../img/recruit/icon_ducument_link.svg") 0 0 / contain;
    right: 15px;
    top: calc(50% - 9px);
}
.company-about-mv {
    margin: 0 auto;
    max-width: 1240px;
    padding: 0 26px;
}
.company-about-content {
    overflow: hidden;
}
.company-about-content .about-title {
    margin: 0 0 20px;
}
.company-about-content .about-title h2 {
    font-size: 33px;
    letter-spacing: .03em;
}
@media (max-width: 768px) {
    .company-about-content .about-title h2 {
        font-size: 26px;
    }
}
.company-about-content .about-detail {
    margin: 60px 0 100px;
    padding: 0 64px;
}
@media (max-width: 890px) {
    .company-about-content .about-detail {
        padding: 0;
    }
}
.company-about-content .about-detail .about-flex {
    display: flex;
    justify-content: center;
}
@media (max-width: 890px) {
    .company-about-content .about-detail .about-flex {
        align-items: center;
        flex-direction: column;
    }
}
.company-about-content .about-detail .about-flex .about-box {
    position: relative;
    margin: 0 -10px;
    width: 352px;
}
@media (max-width: 890px) {
    .company-about-content .about-detail .about-flex .about-box {
        margin: -20px 0;
    }
}
.company-about-content .about-detail .about-flex .about-box .about-box-body {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    max-width: 80%;
}
.company-about-content .about-detail .about-flex .about-box .about-box-body span {
    font-family: "Montserrat", sans-serif;
    font-size: min(2.15vw, 27px);
    font-weight: 700;
    letter-spacing: .07em;
    color: #C6AF8A;
    margin: 0 0 18px;
    display: inline-block;
}
.company-about-content .about-detail .about-flex .about-box .about-box-body dt {
    font-size: min(1.65vw, 20px);
    font-weight: 600;
    line-height: 1.8;
    padding: 0 0 18px;
}
.company-about-content .about-detail .about-flex .about-box .about-box-body dd {
    line-height: 2;
    font-size: min(1.38vw, 16px);
}
@media (max-width: 890px) {
    .company-about-content .about-detail .about-flex .about-box .about-box-body span {
        font-size: 27px;
    }
    .company-about-content .about-detail .about-flex .about-box .about-box-body dt {
        font-size: 20px;
    }
    .company-about-content .about-detail .about-flex .about-box .about-box-body dd {
        font-size: 16px;
    }
}
.company-about-content .recruiter .recruiter-block {
    display: block;
    border: 1px solid #222222;
    border-radius: 15px;
    padding: 65px;
    transition: .3s;
}
@media (max-width: 768px) {
    .company-about-content .recruiter .recruiter-block {
        padding: 40px;
    }
}
.company-about-content .recruiter .recruiter-block .recruiter-flex {
    display: flex;
    align-items: flex-start;
    gap: 64px;
}
@media (max-width: 768px) {
    .company-about-content .recruiter .recruiter-block .recruiter-flex {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }
}
.company-about-content .recruiter .recruiter-block .recruiter-flex figure {
    width: 100%;
    max-width: 236px;
    overflow: hidden;
    border-radius: 50%;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex figure img {
    transition-duration: 0.3s;
}
.company-about-content .recruiter .recruiter-block a:hover .recruiter-flex figure img {
    transform: scale(1.1);
    transition-duration: 0.3s;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruiter-body {
    flex: 1;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruiter-body .recruiter-body-title h3 {
    display: flex;
    flex-direction: column;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: .05em;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruiter-body .recruiter-body-title span {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    gap: 10px;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruiter-body .recruiter-body-title span:before {
    display: block;
    content: "";
    width: 9px;
    height: 3px;
    background: #C6AF8A;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruiter-body .affiliation {
    font-size: 14px;
    letter-spacing: .05em;
    margin: 5px 0 20px;
}
.company-about-content .recruiter .recruiter-block .recruiter-flex .recruit-link {
    margin: 30px 0 0;
}
.company-about-content .recruiter .recruiter-block a:hover .recruiter-flex .recruit-link .more-btn {
    background: #FFF;
}
.common-mv.recruit .mv-title .parent {
    color: #C6AF8A;
}
.recruit-interview-mv {
    padding: 136px 26px 0 0;
}
@media (max-width: 900px) {
    .recruit-interview-mv {
        padding: 110px 0 0 26px;
    }
}
.recruit-interview-mv .interview-mv-flex {
    display: flex;
}
.recruit-interview-mv .interview-mv-flex figure {
    padding-top: 80px;
    padding-bottom: 80px;
    background: no-repeat url("../img/recruit/recruit_interview_mv_bg.svg")right 300px top 0 / cover;
    width: 50%;
    text-align: center;
}
.recruit-interview-mv .interview-mv-flex figure img {
    height: auto;
}
@media (max-width: 900px) {
    .recruit-interview-mv .interview-mv-flex figure {
        width: 100%;
        padding-top: 20px;
        padding-bottom: 40px;
    }
}
@media (max-width: 900px) {
    .recruit-interview-mv .interview-mv-flex figure img {
        margin: 0 auto;
        width: 100%;
        max-width: 620px;
    }
}
.recruit-interview-mv .interview-mv-flex .interview-mv-body {
    margin-left: calc(50% - 50vw);
    padding-right: 7%;
    padding-left: calc(50vw - 50% + 40px);
    padding-top: 80px;
    padding-bottom: 80px;
    background: rgba(239, 222, 184, 0.68);
    flex: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 1180px) {
    .recruit-interview-mv .interview-mv-flex .interview-mv-body {
        margin-left: 0;
        padding-left: 26px;
        padding-right: 30px;
    }
}
@media (max-width: 900px) {
    .recruit-interview-mv .interview-mv-flex .interview-mv-body {
        background: no-repeat url("../img/recruit/recruit_top_about_bg.svg")left 0 top 0 / cover;
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
.recruit-interview-mv .interview-mv-flex .interview-mv-body .ttl p::before {
    background: #FFF;
}
.recruit-interview-mv .interview-mv-flex .interview-mv-body .ttl h1 {
    font-size: 20px;
    font-weight: 600;
    margin: 10px 0 0;
}
.recruit-interview-mv .interview-mv-flex .interview-mv-body .lead-text {
    font-size: 36px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .05em;
    margin: 0 0 20px;
}
@media (max-width: 768px) {
    .recruit-interview-mv .interview-mv-flex .interview-mv-body .lead-text {
        font-size: 28px;
    }
}
@media (max-width: 480px) {
    .recruit-interview-mv .interview-mv-flex .interview-mv-body .lead-text {
        font-size: 22px;
    }
}
.recruit-interview-mv .interview-mv-flex .interview-mv-body .affiliation span {
    font-size: 20px;
    font-weight: 600;
}
.recruit-interview-content {
    padding: 100px 0 120px;
}
@media (max-width: 768px) {
    .recruit-interview-content {
        padding: 80px 0;
    }
}
.recruit-interview-content .interview-block:not(:last-child) {
    margin: 0 0 90px;
}
@media (max-width: 768px) {
    .recruit-interview-content .interview-block:not(:last-child) {
        margin: 0 0 60px;
    }
}
.recruit-interview-content .interview-block .interview-flex {
    display: flex;
    align-items: center;
    gap: 40px 6.14%;
}
@media (max-width: 768px) {
    .recruit-interview-content .interview-block .interview-flex {
        flex-direction: column;
        gap: 40px 6.14%;
    }
}
.recruit-interview-content .interview-block:nth-child(2n+1) .interview-flex {
    flex-direction: row-reverse;
}
@media (max-width: 768px) {
    .recruit-interview-content .interview-block:nth-child(2n+1) .interview-flex {
        flex-direction: column;
    }
}
.recruit-interview-content .interview-block .interview-flex figure {
    width: 43.85%;
}
@media (max-width: 768px) {
    .recruit-interview-content .interview-block .interview-flex figure {
        width: 100%;
        max-width: 500px;
    }
}
.recruit-interview-content .interview-block .interview-flex .interview-body {
    flex: 1
}
.recruit-interview-content .interview-block .interview-flex .interview-body h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 500;
    flex: 1;
    margin: 0 0 15px;
}
.recruit-interview-content .interview-block .interview-flex .interview-body h2:before {
    content: "●";
    font-size: 10px;
    color: #C6AF8A;
}
.recruit-interview-content .interview-block .interview-flex .interview-body .lead-text {
    font-size: 26px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .05em;
    margin: 0 0 25px;
}
.recruit-work-content {
    background: #F4F6F8;
    padding: 120px 0;
}
@media (max-width: 768px) {
    .recruit-work-content {
        background: #F4F6F8;
        padding: 80px 0;
    }
}
.recruit-work-content .work-ttl {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin: 0 0 45px;
}
.recruit-work-content .work-ttl p {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    gap: 10px;
}
.recruit-work-content .work-ttl p:before {
    display: block;
    content: "";
    width: 9px;
    height: 3px;
    background: #C6AF8A;
}
.recruit-work-content .work-ttl h3 {
    font-size: 26px;
    font-weight: 500;
    letter-spacing: .05em;
}
.recruit-work-content .work-flex {
    display: flex;
    gap: 40px 6.14%;
}
@media (max-width: 768px) {
    .recruit-work-content .work-flex {
        flex-direction: column;
        align-items: center;
    }
}
.recruit-work-content .work-flex figure {
    width: 35.08%;
}
@media (max-width: 768px) {
    .recruit-work-content .work-flex figure {
        width: 100%;
        max-width: 400px;
    }
}
.recruit-work-content .work-flex .work-body {
    flex: 1;
}
.recruit-work-content .work-flex .work-body .timeline {}
.recruit-work-content .work-flex .work-body .timeline .timeline-body {
    display: flex;
    gap: 16px;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body .time {
    width: 100px;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body:not(:last-child) .time {
    background: repeat-y url("../img/recruit/column_dot_line.png")center bottom;
    padding: 0 0 40px;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body .time span {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    background: #FFF;
    border-radius: 9999px;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body .action {
    line-height: 1.4;
    flex: 1;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body:not(:last-child) .action {
    padding: 0 0 20px;
}
.recruit-work-content .work-flex .work-body .timeline .timeline-body .action span {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 8px;
}
.back-top-link {
    padding: 80px 26px 0;
    text-align: center;
}
.recruit-requirements-content {
    padding: 0 26px;
}
.recruit-requirements-flow {
    background: #F4F6F8;
    border-radius: 15px;
    padding: 100px 50px 90px;
}
@media (max-width: 768px) {
    .recruit-requirements-flow {
        padding: 60px 50px 60px 30px;
    }
}
.recruit-requirements-content h2 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    margin: 0 0 30px;
}
@media (max-width: 768px) {
    .recruit-requirements-content h2 {
        font-size: 24px;
    }
}
.recruit-requirements-flow .flow-list .flow-list-flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 45px;
}
@media (max-width: 1150px) {
    .recruit-requirements-flow .flow-list .flow-list-flex {
        gap: 20px 42px;
    }
}
@media (max-width: 480px) {
    .recruit-requirements-flow .flow-list .flow-list-flex {
        flex-direction: column;
        align-items: center;
        grid-row-gap: 50px;
    }
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box {
    width: calc(100% / 6 - 38px);
    min-height: 152px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 10px;
    background: #fff;
    border-radius: 5PX;
    box-sizing: border-box;
    position: relative;
}
@media (max-width: 1150px) {
    .recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box {
        width: calc(100% / 3 - 28px);
    }
}
@media (max-width: 680px) {
    .recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box {
        width: calc(100% / 2 - 22px);
    }
}
@media (max-width: 480px) {
    .recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box {
        width: 160px;
    }
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box:not(:last-child):after {
    content: "";
    position: absolute;
    top: calc(50% - 10px);
    left: calc(100% + 13.5px);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0px 10px 20px;
    border-color: transparent transparent transparent #C6AF8A;
}
@media (max-width: 480px) {
    .recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box:not(:last-child):after {
        top: calc(100% + 13.5px);
        left: calc(50% - 10px);
        border-width: 20px 10px 0px 10px;
        border-color: #C6AF8A transparent transparent transparent;
    }
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box:last-child {
    background: #EFDEB8;
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box .step {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 14px;
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 0 0 12px;
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box span:first-of-type {
    font-size: 13px;
    padding: 3px 15px;
    border: solid 1px #222;
    border-radius: 30px;
    background: #fff;
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box:last-child span:first-of-type {
    border: solid 1px #FFF;
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box span:last-of-type {
    font-size: 13px;
    padding: 3px 5px;
    border: solid 1px #C6AF8A;
    background-color: #C6AF8A;
    border-radius: 30px;
    margin-left: -2px;
    color: #FFF;
}
.recruit-requirements-flow .flow-list .flow-list-flex .flow-list-flex-box .title {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .05em;
}
.recruit-requirements-flow .flow-list .note {
    font-size: 14px;
    text-align: right;
    margin: 18px 0 0;
}
.recruit-requirements-table {
    width: 100%;
    margin: 0 auto;
    padding: 100px 0 0;
    max-width: 844px;
}
@media (max-width: 768px) {
    .recruit-requirements-table {
        padding: 80px 0 0;
    }
}
.recruit-requirements-table th {
    width: 175px;
    padding: 30px 15px;
    text-align: left;
    vertical-align: top;
    box-sizing: border-box;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 2;
    border-bottom: 1px solid #D3D3D3;
}
@media (max-width: 768px) {
    .recruit-requirements-table th {
        width: auto;
        padding: 30px 0 30px 15px;
        white-space: nowrap;
    }
}
.recruit-requirements-table td {
    padding: 30px 15px;
    box-sizing: border-box;
    border-bottom: 1px solid #D3D3D3;
    line-height: 2;
}
.recruit-requirements-table td p:not(:last-child) {
    margin: 0 0 15px;
}