@charset "UTF-8";
html {
    font-size: 62.5%;
}

body {
    position: relative;
    font-family: "Noto Sans JP";
    color: #464343;
    margin: 0;
    font-feature-settings: "palt" on;
    padding: 0;
}

main {
    overflow: hidden;
}

.u-font-inter {
    font-family: "Inter", sans-serif;
}

.u-lp-en {
    font-family: "EB Garamond", serif;
}

.u-lp-headJa {
    font-family: "Shippori Mincho", serif;
    
}

.u-bg-white {
    background: #fff;
}

main {
    overflow: hidden;
}

ul {
    list-style: none;
}

img {
    height: auto;
    width: 100%;
}

a {
    transition: all 0.3s ease;
}

.l-lpWrapper {
    padding-right: 25px;
    padding-left: 25px;
}

.l-lpInner {
    max-width: 1100px;
    margin: 0 auto;
}

@media screen and (max-width: 900px) {
    .l-lpWrapper {
        padding-right: 20px;
        padding-left: 20px;
    }

    .l-lpInner {
        max-width: 340px;
    }
}

/* common */
.pc-only {
    display: block !important;
}

.sp-only {
    display: none !important;
}

.br-sp-only {
    display: none;
}

@media screen and (max-width: 900px) {
    .pc-only {
        display: none !important;
    }
    .sp-only {
        display: block !important;
    }

    .br-pc-only {
        display: none;
    }
    .br-sp-only {
        display: inline;
    }
}

.c-btn {
    width: 36.7rem;
    height: 7rem;
    background-color: #23418C;
    border: none !important;
    position: relative;
    display: flex;
}

.c-btn span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 3.8rem;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em;
    padding-right: 1.7rem;
}

.c-btn span::before {
    background-color: #fff;
    content: '';
    height: 100%;
    right: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
}

.c-btn svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3rem;
    transition: transform 0.3s ease;
}

@media screen and (min-width: 901px) {
    .c-btn:hover {
        opacity: .7;
        background-color: #23418C;
    }

    .c-btn:hover svg {
        transform: translateY(-50%) translateX(.5rem);
    }
}

.c-head--inner {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.c-head--border01 {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: 1.8rem;
    width: 103%;
    z-index: -1;
    transform: translateX(-50%);
}

.c-head--border02 {
    background-color: #ADADAD;
    content: '';
    height: 88%;
    left: .7rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border03 {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    bottom: 1.3rem;
    transform: translateX(-50%);
    width: 102%;
    z-index: -1;
}

.c-head--border04 {
    background-color: #ADADAD;
    content: '';
    height: 84%;
    right: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border05 {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: 0;
    position: absolute;
    top: 1.8rem;
    width: 95%;
    z-index: -1;
}

.c-head--border06 {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: 0;
    position: absolute;
    bottom: 1.3rem;
    width: 95%;
    z-index: -1;
}

.c-head--border07 {
    background-color: #ADADAD;
    content: '';
    height: 84%;
    right: 6%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head {
    position: relative;
    font-size: 10rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.c-subHead {
    margin-top: 1.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
}

.c-head__txt--ani {
    background-image: 
        linear-gradient(308deg, 
            #464343 15%,
            #464343 20%,
            #464343 40.04%,
            #464343 43.31%,
            #3358B1 80%,
            #464343 85%
        ), 
        linear-gradient(#464343, #464343);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 248px auto, 100% 100%;
    background-repeat: no-repeat, repeat;
    background-position: 180px 50%, 0% 0%;
    transition: background-position 1.4s ease-in-out;
}

.c-head__txt--ani.js-active {
    background-position: -10px 50%, 0% 0%;
}


@media screen and (max-width: 900px) {
    .c-btn {
        width: 31.5rem;
        height: 5.8rem;
    }

    .c-btn span {
        font-size: 1.5rem;
        left: 3.3rem;
        padding-right: 1.5rem;
    }

    .c-btn svg {
        right: 3rem;
    }

    .c-head--border01 {
        top: 1rem;
    }

    .c-head--border02 {
        left: .3rem;
    }

    .c-head--border03 {
        bottom: .7rem;
    }

    .c-head--border04 {
        right: .3rem;
    }

    .c-head--border05 {
        top: 1rem;
    }

    .c-head--border06 {
        bottom: .7rem;
    }

    .c-head {
        font-size: 4.8rem;
    }

    .c-subHead {
        margin-top: 1.2rem;
        font-size: 1.4rem;
    }

    .c-head__txt--ani {
        background-size: 140px auto, 100% 100%;
        background-position: 78px 50%, 0% 0%;
    }

    .c-head__txt--ani.js-active {
        background-position: -10px 50%, 0% 0%;
    }
}


/*===========================================================================*/
/*  header  */
/*===========================================================================*/
.l-header {
    position: absolute;
    top: 0;
    left: 0;
    padding: 1.4rem 4rem;
    z-index: 99;
}

.l-header__img {
    width: 15.6rem;
}

@media screen and (max-width: 900px) {
    .l-header {
        padding: 1.5rem 1rem;
    }

    .l-header__img {
        width: 9rem;
    }
}

/*===========================================================================*/
/*  fv  */
/*===========================================================================*/
.p-fv__videoWrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1; 
    overflow: hidden;
    will-change: transform;
}

.p-fv__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.p-fv {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transition: opacity .5s 0s cubic-bezier(.44,.14,.09,1.02);
}

.p-fv__inner {
    position: absolute;
    left: 7.5rem;
    bottom: 7.1rem;
}

.p-fv__head {
    font-feature-settings: 'pwid' on, 'palt' on;
    font-size: 6.1rem;
    font-weight: 600;
    line-height: 1.51;
    letter-spacing: .02em;
}

.p-fv__btn {
    margin-top: 4.1rem;
}

.p-fv__head--color {
    background: linear-gradient(308deg, #98B5FC -5.19%, #464343 38.75%, #464343 62.16%, #2864F0 109.24%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.p-fv__txt--ani {
    background-image: 
        linear-gradient(308deg, 
            #464343 15%,
            #8AA1DC 20%,
            #464343 43.04%,
            #464343 55.31%,
            #3358B1 80%,
            #464343 85%
        ), 
        linear-gradient(#464343, #464343);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 248px auto, 100% 100%;
    background-repeat: no-repeat, repeat;
    background-position: 0% 50%, 0% 0%;
    transition: background-position 1.4s ease-in-out;
}

.p-fv__txt--ani.js-active {
    background-position: 67% 50%, 0% 0%;
}

@media screen and (max-width: 900px) {
    .p-fv__video {
        width: auto;
        height: 175%;
        object-fit: cover;
        position: absolute;
        top: 35%;
    }

    .p-fv__inner {
        left: 2.2rem;
        bottom: 15rem;
    }

    .p-fv__head {
        font-size: 3.5rem;
        white-space: nowrap;
    }

    .p-fv__btn {
        margin-top: 3.6rem;
    }

    .p-fv__txt--ani {
        background-size: 140px auto, 100% 100%;
    }

    .p-fv__txt--ani.js-active {
        background-position: 67% 50%, 0% 0%;
    }
}

/*===========================================================================*/
/*  message  */
/*===========================================================================*/
.p-message {
    margin-top: 100vh;
    padding-top: 7rem;
    padding-bottom: 7rem;
    position: relative;
    z-index: 2;
}
.p-message::before {
    background: linear-gradient(307deg, rgba(23, 23, 23, 0.94) 49.98%, rgba(60, 60, 60, 0.94) 97.98%);
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: var(--before-opacity, 0.6);
}

.p-message__inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.p-message__subHead {
    color: #FFF;
    font-feature-settings: 'pwid' on, 'palt' on;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.5;
}

.p-message__subHead span {
    color: #FFF;
    font-feature-settings: 'halt' on;
    font-family: "Noto Sans JP" !important;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
    padding-left: 1rem;
}

.p-message__head {
    margin-top: 1rem;
    color: #FFF;
    font-feature-settings: 'pwid' on, 'palt' on;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.64;
    letter-spacing: .08em;
}

.p-message__txt {
    color: #FFF;
    font-feature-settings: 'halt' on;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
}

@media screen and (max-width: 900px) {
    .p-message {
        padding-top: 6rem;
        padding-bottom: 7rem;
    }
    .p-message::before {
        background: linear-gradient(316deg, rgba(23, 23, 23, 0.94) 28.42%, rgba(60, 60, 60, 0.94) 86.04%);
    }

    .p-message__inner {
        flex-direction: column;
        gap: 0;
    }

    .p-message__subHead {
        font-size: 3rem;
    }

    .p-message__head {
        margin-top: 2rem;
        font-size: 2.5rem;
        white-space: nowrap;
    }

    .p-message__txt {
        text-align: justify;
        margin-top: 2.5rem;
        padding-left: 7rem;
        font-size: 1.4rem;
        line-height: 1.9;
    }
}

/*===========================================================================*/
/*  service  */
/*===========================================================================*/
.p-service {
    padding-top: 10.6rem;
    padding-bottom: 11.6rem;
    position: relative;
    background-image: url(../img/service-bg.png);
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

.p-service__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-service__txts {
    width: 52%;
}

.p-service__subHead {
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.5; 
    text-align: center;
}

.p-service__head {
    margin-top: -.3rem;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 2;
    letter-spacing: .02em;

    font-feature-settings: 'halt' on, 'palt' on !important;
    text-align: center;
}

.p-service__txt {
    position: relative;
    text-align: justify;
    margin-top: 1.7rem;
    padding-top: 4rem;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: .01em;
    font-feature-settings: 'halt' on;
}

.p-service__txt::before {
    background-color:#2864F0;
    content: '';
    height: .2rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    width: 18%;
}

.p-service__img {
    margin-top: 2rem;
    width: 54%;
}

@media screen and (max-width: 900px) {
    .p-service {
        padding-top: 6rem;
        padding-bottom: 8.3rem;
    }

    .p-service__inner {
        flex-direction: column;
    }

    .p-service__txts {
        width: 100%;
    }

    .p-service__subHead {
        font-size: 2rem;
    }

    .p-service__head {
        margin-top: 0;
        font-size: 3.2rem;
        white-space: nowrap;
    }

    .p-service__txt {
        margin-top: 2rem;
        padding-top: 3.5rem;
        font-size: 1.4rem;
    }

    .p-service__img {
        width: 100%;
    }
}

/*===========================================================================*/
/*  news  */
/*===========================================================================*/
.p-news {
    padding-top: 15rem;
    padding-bottom: 15rem;
    background-color: #fff;
    background-image: url(../img/customers-bg.png);
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 2;
}

.p-news__inner {
    max-width: 91rem;
    display: flex;
    justify-content: space-between;
}

.p-news__head {
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.5;
}

.p-news__list {
    width: 70rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.p-news__list li {
    padding-bottom: 2.5rem;
    border-bottom: .1rem solid #D2D2D2;
}

.p-news__list li a {
    color: #464343;
    font-feature-settings: 'halt' on;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em;
}

.p-news__list li a span {
    padding-right: 1.6rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em;
}

@media screen and (min-width: 901px) {
    .p-news__list li a:hover {
        color: #2864F0;
        text-decoration: none;
    }
}

@media screen and (max-width: 900px) {
    .p-news {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .p-news__inner {
        max-width: 34rem;
        flex-direction: column;
        gap: 1.5rem;
    }

    .p-news__head {
        font-size: 3rem;
    }

    .p-news__list {
        width: 100%;
        gap: 1.5rem;
    }

    .p-news__list li {
        padding-bottom: 1.5rem;
    }

    .p-news__list li a {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        font-size: 1.2rem;
    }

    .p-news__list li a span {
        font-size: 1.4rem;
    }
}

/*===========================================================================*/
/*  customers  */
/*===========================================================================*/
.p-customers {
    padding-top: 10rem;
    padding-bottom: 10rem;
    background-color: #F9F9F7;
    position: relative;
    z-index: 2;
}

.p-customers__head span.--gradient {
    background: linear-gradient(301deg, #464343 52.92%, #2864F0 115.17%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.c-head--border01.--customers {
    background-color: #ADADAD;
    top: 3.3rem;
    width: 101%;
}

.c-head--border02.--customers {
    background-color: #ADADAD;
    height: 70%;
    left: .4rem;
}

.c-head--border03.--customers {
    background-color: #ADADAD;
    bottom: 2.8rem;
    width: 102%;
}

.c-head--border04.--customers {
    background-color: #ADADAD;
    height: 70%;
    right: .4rem;
}

.c-head--border05.--customers {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: calc(50% + .3rem);
    transform: translate(-50%,-50%);
    width: 102%;
    z-index: -1;
}

.p-customers__list {
    margin-top: 4.7rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 2.5rem;
    column-gap: 2.5rem;
}

.p-customers__list li {
    width: 25.6rem;
    opacity: 0;
    filter: blur(10px);
    transform: translateY(-10px);
    transition: opacity 0.6s cubic-bezier(0.215, 0.610, 0.355, 1),
                filter 0.6s cubic-bezier(0.215, 0.610, 0.355, 1),
                transform 0.6s cubic-bezier(0.215, 0.610, 0.355, 1);
    will-change: opacity, filter, transform;
}
.p-customers__list.is-active li {
    opacity: 1;
    filter: blur(0px);
    transform: translateY(0);
}

.p-customers__btn {
    margin: 5rem auto 0;
}

@media screen and (max-width: 900px) {
    .p-customers {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .c-head--border01.--customers {
        left: 50%;
        top: 1.6rem;
        width: 103%;
    }

    .c-head--border02.--customers {
        left: .2rem;
    }

    .c-head--border03.--customers {
        left: 50%;
        bottom: 1.3rem;
        width: 103%;
    }

    .c-head--border04.--customers {
        right: .1rem;
    }

    .c-head--border05.--customers {
        left: calc(50%);
        width: 103%;
    }

    .p-customers__list {
        margin-top: 3rem;
        column-gap: 1rem;
        row-gap: 1rem;
    }

    .p-customers__list li {
        width: 16.1rem;
        border-radius: .5rem;
    }

    .p-customers__btn {
        margin: 4rem auto 0;
    }
}

/*===========================================================================*/
/*  release  */
/*===========================================================================*/
.p-release {
    position: relative;
    background-color: #fff;
    padding-top: 12rem;
    padding-bottom: 12rem;
    z-index: 0;
}

.p-release__head {
    position: relative;
    z-index: 4;
}

.p-release__head span.--gradient {
    background: linear-gradient(301deg, #464343 52.92%, #2864F0 115.17%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.c-head--border01.--release {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: 3rem;
    width: 101%;
    z-index: -1;
    transform: translateX(-50%);
}

.c-head--border02.--release {
    background-color: #ADADAD;
    content: '';
    height: 70%;
    left: .7rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border03.--release {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    bottom: 2.9rem;
    transform: translateX(-50%);
    width: 102%;
    z-index: -1;
}

.c-head--border04.--release {
    background-color: #ADADAD;
    content: '';
    height: 70%;
    right: .2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border05.--release {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: calc(50% + .3rem);
    transform: translate(-50%,-50%);
    width: 102%;
    z-index: -1;
}

.p-release__txt {
    position: relative;
    margin-top: 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    z-index: 4;
}

.p-release__img--wrapper {
    position: relative;
    margin: 7.4rem auto 8.9rem;
    width: 52.7rem;
}

.p-release__img--wrapper::before {
    background: url(../img/release__img-pink.png) no-repeat center center/contain;
    content: '';
    height: 41.7rem;
    left: -20rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 41.8rem;
    z-index: 2;
}

.p-release__img--wrapper::after {
    background: url(../img/release__img-blue.png) no-repeat center center/contain;
    content: '';
    height: 41.7rem;
    right: -20rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 41.8rem;
    z-index: 2;
}

.p-release__img {
    position: relative;
}

.p-release__img img {
    position: relative;
    z-index: 4;
}

.p-release__img::before {
    background-color: #fff;
    content: '';
    height: 59.8rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 59.8rem;
    border-radius: 100%;
    z-index: 3;
}

.p-release__list {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: space-between;
}

.p-release__list::before {
    background-color: #464343;
    content: '';
    height: .1rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    width: 200%;
}

.p-release__list::after {
    background-color: #464343;
    content: '';
    height: .1rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 0;
    width: 200%;
}

.p-release__list li {
    width: 33.3%;
    padding-bottom: 4.3rem;
    border-left: solid .1rem #464343;
}

.p-release__list li:nth-of-type(3) {
    border-right: solid .1rem #464343;
}

.p-release__list--head {
    padding-top: 1rem;
    position: relative;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .05em;
    color: #fff;
}

.p-release__list--head::before {
    background: url(../img/release-txtbg.png) no-repeat center center/contain;
    content: '';
    height: 4.2rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    width: 13.9rem;
    z-index: -1;
}

.p-release__list--img {
    margin: 4.5rem auto 0;
    width: 27.3rem;
}

.p-release__list--txt {
    margin-top: 2.5rem;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
}

.p-release__list--btn {
    margin: 5rem auto 0;
}

@media screen and (max-width: 900px) {
    .p-release {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .c-head--border01.--release {
        top: 1.4rem;
    }

    .c-head--border02.--release {
        left: .5rem;
    }

    .c-head--border03.--release {
        bottom: 1.4rem;
    }

    .c-head--border04.--release {
        right: .1rem;
    }

    .p-release__txt {
        margin-top: 1.7rem;
        font-size: 1.4rem;
        text-align: justify;
    }

    .p-release__img--wrapper {
        position: relative;
        margin: 4.5rem auto 3.2rem;
        width: 21.9rem;
    }

    .p-release__img--wrapper::before {
        height: 23.2rem;
        left: -14rem;
        width: 23.2rem;
    }

    .p-release__img--wrapper::after {
        height: 23.2rem;
        right: -14rem;
        width: 23.2rem;
    }

    .p-release__img::before {
        height: 33.5rem;
        width: 33.5rem;
    }

    .p-release__list {
        flex-direction: column;
    }

    .p-release__list li {
        width: 100%;
        padding-bottom: 3rem;
        border-right: solid .1rem #464343;
    }

    .p-release__list--head {
        font-size: 1.3rem;
    }

    .p-release__list--head::before {
        height: 4rem;
        width: 13rem;
    }

    .p-release__list--img {
        margin: 3.2rem auto 0;
        width: 23.5rem;
    }

    .p-release__list--txt {
        margin-top: 2rem;
        font-size: 1.7rem;
    }

    .p-release__list--btn {
        margin: 3.5rem auto 0;
    }
}

/*===========================================================================*/
/*  comments  */
/*===========================================================================*/
.p-comments {
    position: relative;
    padding-top: 12rem;
    padding-bottom: 12rem;
    background: linear-gradient(307deg, #171717 49.98%, #3C3C3C 97.98%);
    z-index: 0;
}

.p-comments__head {
    color: #fff;
}

.c-head--border01.--comments {
    background-color: rgba(255, 255, 255, 0.15);
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: 3rem;
    width: 101%;
    z-index: -1;
    transform: translateX(-50%);
}

.c-head--border02.--comments {
    background-color: rgba(255, 255, 255, 0.15);
    content: '';
    height: 70%;
    left: .7rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border03.--comments {
    background-color: rgba(255, 255, 255, 0.15);
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    bottom: 3rem;
    transform: translateX(-50%);
    width: 102%;
    z-index: -1;
}

.c-head--border04.--comments {
    background-color: rgba(255, 255, 255, 0.15);
    content: '';
    height: 70%;
    right: .2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border05.--comments {
    background-color: rgba(255, 255, 255, 0.15);
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: calc(50% + .3rem);
    transform: translate(-50%,-50%);
    width: 102%;
    z-index: -1;
}

.p-comments__subHead {
    color: #fff;
}

.p-comments__list {
    margin-top: 4.5rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 5.2rem;
}

.p-comments__list li {
    width: 52.4rem;
}

.p-comments__list--img {
    overflow: hidden;
    width: 52.4rem;
}

.p-comments__list--cat {
    margin-top: 2.1rem;
    color: #fff;
}

.p-comments__list--cat span {
    padding: .6rem 2rem .7rem;
    background-color: #3B3B3B;
    border-radius: 999rem;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
}

.p-comments__list--txt01 {
    margin-top: 1.9rem;
    text-align: justify;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #fff;
}

.p-comments__list--txt02 {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: solid #434343 .1rem;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #fff;
}

.p-comments__list--btn {
    margin-top: 1.8rem;
    display: flex;
    align-items: center;
    gap: .9rem;
}

.p-comments__list--btnArrow {
    width: 2.2rem;
}

.p-comments__list--btnTxt {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
}

@media screen and (max-width: 900px) {
    .p-comments {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .c-head--border01.--comments {
        left: 50%;
        top: 1.5rem;
        width: 107%;
    }

    .c-head--border02.--comments {
        height: 70%;
        left: .2rem;
    }

    .c-head--border03.--comments {
        left: 50%;
        bottom: 1.2rem;
        width: 107%;
    }

    .c-head--border04.--comments {
        height: 70%;
        right: .2rem;
    }

    .c-head--border05.--comments {
        left: 50%;
        width: 107%;
    }

    .p-comments__list {
        margin-top: 3rem;
        flex-direction: column;
        gap: 4rem;
    }

    .p-comments__list li {
        width: 100%;
    }

    .p-comments__list--img {
        width: 100%;
    }

    .p-comments__list--cat {
        margin-top: 1.5rem;
    }

    .p-comments__list--cat span {
        padding: .5rem 1.5rem .6rem;
        font-size: 1.1rem;
    }

    .p-comments__list--txt01 {
        margin-top: 1.2rem;
        font-size: 1.4rem;
        letter-spacing: .02em;
    }

    .p-comments__list--txt02 {
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        font-size: 1.2rem;
    }

    .p-comments__list--btn {
        margin-top: 1.5rem;
    }

    .p-comments__list--btnArrow {
        width: 2rem;
    }

    .p-comments__list--btnTxt {
        font-size: 1.3rem;
    }
}

/*===========================================================================*/
/*  team  */
/*===========================================================================*/
.p-team {
    padding-top: 15rem;
    padding-bottom: 15rem;
    background-color: #fff;
    position: relative;
    z-index: 2;
}

.p-team__inner {
    display: flex;
    justify-content: space-between;
}

.p-team__txts {
    width: 39rem;
}

.p-team__head {
    text-align: center;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em;
    padding-top: 5.5rem;
    border-top: solid #1E46AA .1rem;
}

.p-team__txt {
    margin-top: 2.2rem;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: .05em;
}

.p-team__btn {
    margin-top: 5.3rem;
}

.p-team__img {
    width: 65.3rem;
}

@media screen and (max-width: 900px) {
    .p-team {
        padding-top: 6rem;
        padding-bottom: 6.5rem;
    }

    .p-team__inner {
        flex-direction: column;
    }

    .p-team__txts {
        width: 100%;
    }

    .p-team__head {
        font-size: 3rem;
        padding-top: 3rem;
    }

    .p-team__txt {
        margin-top: 2rem;
        font-size: 1.3rem;
    }

    .p-team__btn {
        margin-top: 3.5rem;
    }

    .p-team__img {
        margin-top: 2.5rem;
        width: 100%;
    }
}

/*===========================================================================*/
/*  event  */
/*===========================================================================*/
.p-event {
    padding-top: 10.8rem;
    padding-bottom: 12.2rem;
    background-image: url(../img/event-bg.png);
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

.p-event__heads {
    display: flex;
    gap: 4.7rem;
    align-items: end;
}

.p-event__head span.--gradient {
    background: linear-gradient(301deg, #464343 52.92%, #2864F0 115.17%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.c-head--border01.--event {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: 3rem;
    width: 101%;
    transform: translateX(-50%);
}

.c-head--border02.--event {
    background-color: #ADADAD;
    content: '';
    height: 70%;
    left: .7rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border03.--event {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    bottom: 3rem;
    transform: translateX(-50%);
    width: 102%;
    z-index: -1;
}

.c-head--border04.--event {
    background-color: #ADADAD;
    content: '';
    height: 70%;
    right: .2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    z-index: -1;
}

.c-head--border05.--event {
    background-color: #ADADAD;
    content: '';
    height: .1rem;
    left: calc(50% + .3rem);
    position: absolute;
    top: calc(50% + .3rem);
    transform: translate(-50%,-50%);
    width: 102%;
    z-index: -1;
}

.p-event__subHead {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: .05em;
    transform: translateY(-.8rem);
}

.p-event__contents {
    margin-top: 7rem;
}

.p-event__contents a {
    display: flex;
    justify-content: space-between;
}

.p-event__content--img {
    width: 56.5rem;
}

.p-event__content--txts {
    width: 47.1rem;
}

.p-event__content--cat {
    font-family: Inter;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    color: #464343;
}

.p-event__content--head {
    margin-top: 8.6rem;
    color: #464343;
    text-align: justify;
    font-feature-settings: 'halt' on;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .05em;
    text-decoration-line: underline;
    text-underline-offset: 0.5rem;
    text-decoration-thickness: .1rem;
}

.p-event__content--name {
    margin-top: 1.5rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .05em;
    color: #464343;
}

.p-event__content--btn {
    margin-top: 3rem;
    display: flex;
    align-items: center;
}

.p-event__content--btnArrow {
    width: 2.2rem;
}

.p-event__content--btnTxt {
    padding-left: .9rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    color: #464343;
}

.p-event__introduction {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8rem;
    padding-top: 4rem;
    border-top: solid #BBB .1rem;
}

.p-event__introduction--inner {
    display: flex;
    gap: 3.6rem;
    align-items: center;
}

.p-event__introduction--img {
    width: 28.9rem;
}

.p-event__introduction--txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .05em;
}

.p-event__introduction--btn {
    width: 39.2rem;
    height: 7rem;
    background-color: #464343;
    border: none !important;
    position: relative;
    display: flex;
    border-radius: .8rem;
}

.p-event__introduction--btn span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 3.8rem;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em;
    padding-right: 2.7rem;
}

.p-event__introduction--btn span::before {
    background-color: #fff;
    content: '';
    height: 100%;
    right: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
}

.p-event__introduction--btn svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3rem;
    transition: transform 0.3s ease;
}

@media screen and (min-width: 901px) {
    .p-event__contents a:hover {
        opacity: .7;
        text-decoration: none;
    }

    .p-event__introduction--btn:hover {
        opacity: .7;
    } 

    .p-event__introduction--btn:hover svg {
        transform: translateY(-50%) translateX(.5rem);
    }
}

@media screen and (max-width: 900px) {
    .p-event {
        padding-top: 6.6rem;
        padding-bottom: 6rem;
    }

    .p-event__heads {
        flex-direction: column;
        gap: 1.4rem;
        align-items: center;
    }

    .c-head--border01.--event {
        left: calc(50% + 0rem);
        position: absolute;
        top: 1.6rem;
        width: 108%;
    }

    .c-head--border02.--event {
        left: .3rem;
    }

    .c-head--border03.--event {
        left: calc(50% + 0rem);
        position: absolute;
        bottom: 1.3rem;
        width: 108%;
    }

    .c-head--border04.--event {
        right: 0rem;
    }

    .c-head--border05.--event {
        width: 108%;
    }

    .p-event__subHead {
        text-align: center;
        font-size: 1.3rem;
        line-height: 1.8;
        transform: translateY(0rem);
    }

    .p-event__contents {
        margin-top: 2rem;
    }

    .p-event__contents a {
        flex-direction: column;
    }

    .p-event__content--img {
        width: 100%;
    }

    .p-event__content--txts {
        width: 100%;
    }

    .p-event__content--cat {
        font-size: 1.3rem;
        margin-top: 1.5rem;
    }

    .p-event__content--head {
        margin-top: 1rem;
        font-size: 2.1rem;
    }

    .p-event__content--name {
        margin-top: 1rem;
        font-size: 1.3rem;
    }

    .p-event__content--btn {
        margin-top: 2rem;
    }

    .p-event__content--btnArrow {
        width: 2rem;
    }

    .p-event__content--btnTxt {
        font-size: 1.3rem;
    }

    .p-event__introduction {
        flex-direction: column;
        margin-top: 5rem;
        padding-top: 3rem;
    }

    .p-event__introduction--inner {
        flex-direction: column;
        gap: 1.4rem;
    }

    .p-event__introduction--img {
        width: 18rem;
    }

    .p-event__introduction--txt {
        font-size: 1.3rem;
    }

    .p-event__introduction--btn {
        margin-top: 3rem;
        width: 31.5rem;
        height: 5.8rem;
        border-radius: .5rem;
    }

    .p-event__introduction--btn span {
        left: 2.4rem;
        font-size: 1.5rem;
        padding-right: 1.5rem;
    }

    .p-event__introduction--btn svg {
        right: 2.3rem;
    }
}

/*===========================================================================*/
/*  footer  */
/*===========================================================================*/
footer {
    position: relative;
    z-index: 2;
}
footer img {
    width: revert-layer;
}/*# sourceMappingURL=style.css.map */
