@charset "UTF-8";
.content {
  display: none; /*必須*/
}
.content.show {
  display: block; /*必須*/
}
.c-page-sub__container {
    position: relative;
}
.c-page-sub__container::before {
    content: "";
    position: absolute;
    top: 65rem;
    left: 0;
    width: 47.9rem;
    height: 100%;
    background-color: #EBF1FA;
    z-index: -3;
}
/* c-page-sub-work
----------------------------------------*/
.c-page-sub-work__main-wrapper {
    padding-top: 15.9rem;
    max-width: 123.2rem;
    margin: 0 auto;
    display: flex;
}
.c-page-sub-work__main-wrapper p {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.9;
    max-width: 48rem;
}
.c-page-sub-work__main-link {
    position: relative;
    width: 76.8rem;
    height: 43.9rem;
}
.c-page-sub-work__main-link::after {
    content: "";
    position: absolute;
    background-image: url("../img/work/line-work.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 48rem;
    height: 45rem;
    z-index: -2;
    top: 0;
    left: 8rem;
}
.c-page-sub-work__main-link a {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.65;
    color: #fff;
}
.c-page-sub-work__main-link div a:hover {
    opacity: 0.5;
}
.c-page-sub-work__main-link div span {
    font-size: 1.2rem;
    margin-left: 2.4rem;
    position: relative;
}
.c-page-sub-work__main-link div span::after {
    content: "";
    position: absolute;
    background: url(../img/common/btn-arrow-black.svg) no-repeat;
    background-size: 100% 100%;
    width: 1.42rem;
    height: 1.42rem;
    right: -3rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
.c-page-sub-work__main-link div:nth-of-type(1) {
    position: absolute;
    top: 6.7rem;
    left: 16rem;
}
.c-page-sub-work__main-link div:nth-of-type(2) {
    position: absolute;
    top: 12.5rem;
    right: 15rem;
}
.c-page-sub-work__main-link div:nth-of-type(3) {
    position: absolute;
    bottom: 7.2rem;
    left: 10.4rem;
}
.c-page-sub-work__main-link div {
    position: relative;
}
.c-page-sub-work__main-link div::before {
    content: "";
    position: absolute;
    width: 30rem;
    height: 14rem;
    transform: skew(-47deg) rotate(10deg);
    transform-origin: center;
    left: -8.6rem;
    z-index: -1;
    background-color: #fff;
}
.c-page-sub-work__main-link div:nth-of-type(1)::before {
    top: -4.2rem;
}
.c-page-sub-work__main-link div:nth-of-type(2)::before {
    top: -3.5rem;
    left: -8.2rem;
}
.c-page-sub-work__main-link div:nth-of-type(3)::before {
    top: -3.5rem;
    left: -8.3rem;
}
.c-page-sub-work__main-link a::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 41.76rem;
    height: 21.58rem;
    z-index: -1;
    left: -14.3rem;
}
.c-page-sub-work__main-link div:nth-of-type(1) a::after {
    top: -9.4rem;
    background-image: url("../img/work/ico-work01.svg");
}
.c-page-sub-work__main-link div:nth-of-type(2) a::after {
    top: -8.4rem;
    background-image: url("../img/work/ico-work02.svg");
}
.c-page-sub-work__main-link div:nth-of-type(3) a::after {
    top: -8.5rem;
    background-image: url("../img/work/ico-work03.svg");
}

@media only screen and (max-width: 768px) {
    .c-page-sub-work__main-link a:hover {
        opacity: 1;
    }
    .c-page-sub-work__main-link div a:hover {
        opacity: 1;
    }
    .c-page-sub-work__main-wrapper {
        flex-direction: column;
        padding-top: calc(40 / 375 * 100vw);
    }
    .c-page-sub-work__main-wrapper p {
        max-width: 100%;
        font-size: calc(14 / 375 * 100vw);
        margin-bottom: calc(60 / 375 * 100vw);
    }
    .c-page-sub-work__main-link {
        width: 100%;
    }
    .c-page-sub-work__main-link::after {
        width: calc(230 / 375 * 100vw);
        height: calc(171 / 375 * 100vw);
        top: calc(14 / 375 * 100vw);
        left: calc(29 / 375 * 100vw);
    }
    .c-page-sub-work__main-link a {
        font-size: calc(14 / 375 * 100vw);
        color: #fff;
    }
    .c-page-sub-work__main-link div span {
        font-size: calc(9 / 375 * 100vw);
        margin-left: calc(12 / 375 * 100vw);
        position: relative;
    }
    .c-page-sub-work__main-link div span::after {
        width: calc(11.2 / 375 * 100vw);
        height: calc(11.2 / 375 * 100vw);
        right: calc(-15 / 375 * 100vw);
        top: calc(-1 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(1) {
        top: calc(21 / 375 * 100vw);
        left: calc(66 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(2) {
        top: calc(49.5 / 375 * 100vw);
        right: calc(47 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(3) {
        bottom: calc(-51 / 375 * 100vw);
        left: calc(44 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div::before {
        display: none;
    }
    .c-page-sub-work__main-link a::after {
        width: calc(207.6 / 375 * 100vw);
        height: calc(215.8 / 375 * 100vw);
        left: calc(-66.3 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(1) a::after {
        top: calc(-94 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(2) a::after {
        top: calc(-93 / 375 * 100vw);
        left: calc(-63.3 / 375 * 100vw);
    }
    .c-page-sub-work__main-link div:nth-of-type(3) a::after {
        top: calc(-97 / 375 * 100vw);
        left: calc(-63.3 / 375 * 100vw);
    }
}

/* c-page-work__work01
----------------------------------------*/
.c-page-work__work01 {
    padding-top: 10rem;
    margin-bottom: 9rem;
}
.c-page-work__work01-inner {
    z-index: 1;
    width: 123.2rem;
    margin: 0 auto;
    position: relative;
}
.c-page-work__work01-inner::before {
    content: "";
    position: absolute;
    background-image: url(../img/work/bg-work01.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 23.1rem;
    height: 101rem;
    z-index: -1;
    top: -11rem;
    left: -14rem;
}
.c-page-work__work01-wrapper {
    display: flex;
    gap: 7.8rem;
}
.c-page-work__work01-wrapper img {
    width: 70.7rem;
    height: 48rem;
    object-fit: contain;
}
.c-page-work__work01-wrapper p {
    font-size: 1.4rem;
    line-height: 2;
}
.c-page-work__work01-wrapper p + p {
    margin-top: 2rem;
}
.c-page-work__work01 h2.ttl-h2 {
    margin: 2rem auto 3.3rem .3rem;
}
.c-page-work__work01-category {
    margin: 7.8rem auto 0;
    max-width: 102rem;
}
.c-page-work__work01-category dl {
    display: flex;
    align-items: center;
    gap: 5rem;
}
.c-page-work__work01-category dl + dl {
    margin-top: 6rem;
}
.c-page-work__work01-category dt {
    background: #005BAC;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    width: 18.4rem;
    text-align: center;
    padding-block: .8rem;
}
.c-page-work__work01-category dd {
    font-size: 1.4rem;
    flex: 1;
}
@media screen and (max-width: 767px) {
    .c-page-work__work01 {
        padding-top: calc(100 / 375 * 100vw);
        margin-bottom: 0;
        margin-top: calc(-25 / 375 * 100vw);
    }
    .c-page-work__work01 h2.ttl-h2 {
        margin: calc(7 / 375 * 100vw) auto calc(20 / 375 * 100vw) calc(17 / 375 * 100vw);
    }
    .c-page-work__work01-inner {
        display: block;
        max-width: 100%;
    }
    .c-page-work__work01-wrapper {
        flex-direction: column;
        gap: calc(25 / 375 * 100vw);;
    }
    .c-page-work__work01-wrapper img {
        width: 100%;
        height: 100%;
    }
    .c-page-work__work01-wrapper p {
        font-size: calc(14 / 375 * 100vw);
    }
    .c-page-work__work01-wrapper p + p {
        margin-top: calc(20 / 375 * 100vw);
    }
    .c-page-work__work01-category {
        margin-top: calc(60 / 375 * 100vw);
        max-width: 100%;
    }
    .c-page-work__work01-category dl {
        gap: calc(20 / 375 * 100vw);
        align-items: flex-start;
    }
    .c-page-work__work01-category dl + dl {
        margin-top: calc(25 / 375 * 100vw);
    }
    .c-page-work__work01-category dt {
        font-size: calc(14 / 375 * 100vw);
        width: calc(117 / 375 * 100vw);
        padding-block: calc(8 / 375 * 100vw);
        margin-top: calc(3 / 375 * 100vw);
    }
    .c-page-work__work01-category dd {
        font-size: calc(14 / 375 * 100vw);
    }
}

/* c-page-work__work02
----------------------------------------*/
.c-page-work__work02 {
    padding-top: 10rem;
    margin-bottom: 9rem;
}
.c-page-work__work02-inner {
    z-index: 1;
    width: 123.2rem;
    margin: 0 auto;
    position: relative;
}
.c-page-work__work02-inner::before {
    content: "";
    position: absolute;
    background-image: url(../img/work/bg-work02.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 23.1rem;
    height: 101rem;
    z-index: -1;
    top: -11rem;
    right: -14rem;
}
.c-page-work__work02-wrapper {
    display: flex;
    flex-direction: row-reverse;
    gap: 7.8rem;
}
.c-page-work__work02-wrapper img {
    width: 70.7rem;
    height: 48rem;
    object-fit: contain;
}
.c-page-work__work02-wrapper p {
    font-size: 1.4rem;
    line-height: 2;
}
.c-page-work__work02-wrapper p + p {
    margin-top: 2rem;
}
.c-page-work__work02 h2.ttl-h2 {
    margin: 2rem auto 3.3rem .3rem;
}
.c-page-work__work02-category {
    margin: 7.8rem auto 0;
    max-width: 102rem;
}
.c-page-work__work02-category dl {
    display: flex;
    align-items: center;
    gap: 5rem;
}
.c-page-work__work02-category dl + dl {
    margin-top: 6rem;
}
.c-page-work__work02-category dt {
    background: #3792DB;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    width: 18.4rem;
    text-align: center;
    padding-block: .8rem;
}
.c-page-work__work02-category dd {
    font-size: 1.4rem;
    flex: 1;
}
@media screen and (max-width: 767px) {
    .c-page-work__work02 {
        padding-top: calc(100 / 375 * 100vw);
        margin-bottom: 0;
    }
    .c-page-work__work02 h2.ttl-h2 {
        margin: calc(7 / 375 * 100vw) auto calc(20 / 375 * 100vw) calc(17 / 375 * 100vw);
    }
    .c-page-work__work02-inner {
        display: block;
        max-width: 100%;
    }
    .c-page-work__work02-wrapper {
        flex-direction: column;
        gap: calc(25 / 375 * 100vw);
    }
    .c-page-work__work02-wrapper img {
        width: 100%;
        height: 100%;
    }
    .c-page-work__work02-wrapper p {
        font-size: calc(14 / 375 * 100vw);
    }
    .c-page-work__work02-wrapper p + p {
        margin-top: calc(20 / 375 * 100vw);
    }
    .c-page-work__work02-category {
        margin-top: calc(60 / 375 * 100vw);
        max-width: 100%;
    }
    .c-page-work__work02-category dl {
        gap: calc(20 / 375 * 100vw);
        align-items: flex-start;
    }
    .c-page-work__work02-category dl + dl {
        margin-top: calc(25 / 375 * 100vw);
    }
    .c-page-work__work02-category dt {
        font-size: calc(14 / 375 * 100vw);
        width: calc(117 / 375 * 100vw);
        padding-block: calc(8 / 375 * 100vw);
        margin-top: calc(3 / 375 * 100vw);
    }
    .c-page-work__work02-category dd {
        font-size: calc(14 / 375 * 100vw);
    }
}

/* c-page-work__work03
----------------------------------------*/
.c-page-work__work03 {
    padding-top: 10rem;
    margin-bottom: 24.4rem;
}
.c-page-work__work03-inner {
    z-index: 1;
    width: 123.2rem;
    margin: 0 auto;
}
.c-page-work__work03-inner::before {
    content: "";
    position: absolute;
    background-image: url(../img/work/bg-work03.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 23.1rem;
    height: 101rem;
    z-index: -1;
    top: -11rem;
    left: -14rem;
}
.c-page-work__work03-wrapper {
    display: flex;
    gap: 7.8rem;
}
.c-page-work__work03-wrapper img {
    width: 70.7rem;
    height: 48rem;
    object-fit: contain;
}
.c-page-work__work03-wrapper p {
    font-size: 1.4rem;
    line-height: 2;
}
.c-page-work__work03-wrapper p + p {
    margin-top: 2rem;
}
.c-page-work__work03 h2.ttl-h2 {
    margin: 2rem auto 3.3rem .3rem;
}
.c-page-work__work03-category {
    margin: 7.8rem auto 0;
    max-width: 102rem;
}
.c-page-work__work03-category dl {
    display: flex;
    align-items: center;
    gap: 5rem;
}
.c-page-work__work03-category dl + dl {
    margin-top: 6rem;
}
.c-page-work__work03-category dt {
    background: #60BAFB;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    width: 18.4rem;
    text-align: center;
    padding-block: .8rem;
}
.c-page-work__work03-category dd {
    font-size: 1.4rem;
    flex: 1;
}
@media screen and (max-width: 767px) {
    .c-page-work__work03 {
        padding-top: calc(100 / 375 * 100vw);
        margin-bottom: calc(100 / 375 * 100vw);
    }
    .c-page-work__work03 h2.ttl-h2 {
        margin: calc(7 / 375 * 100vw) auto calc(20 / 375 * 100vw) calc(17 / 375 * 100vw);
    }
    .c-page-work__work03-inner {
        display: block;
        max-width: 100%;
    }
    .c-page-work__work03-wrapper {
        flex-direction: column;
        gap: calc(25 / 375 * 100vw);
    }
    .c-page-work__work03-wrapper img {
        width: 100%;
        height: 100%;
    }
    .c-page-work__work03-wrapper p {
        font-size: calc(14 / 375 * 100vw);
    }
    .c-page-work__work03-wrapper p + p {
        margin-top: calc(20 / 375 * 100vw);
    }
    .c-page-work__work03-category {
        margin-top: calc(60 / 375 * 100vw);
        max-width: 100%;
    }
    .c-page-work__work03-category dl {
        gap: calc(20 / 375 * 100vw);
        align-items: flex-start;
    }
    .c-page-work__work03-category dl + dl {
        margin-top: calc(25 / 375 * 100vw);
    }
    .c-page-work__work03-category dt {
        font-size: calc(14 / 375 * 100vw);
        width: calc(117 / 375 * 100vw);
        padding-block: calc(8 / 375 * 100vw);
        margin-top: calc(3 / 375 * 100vw);
    }
    .c-page-work__work03-category dd {
        font-size: calc(14 / 375 * 100vw);
    }
}