@charset "utf-8";

.tFv {
    position: relative;
    z-index: 55;
    padding: 0 0 8rem 0;
}

.tFv::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 60%;
    max-width: 110rem;
    aspect-ratio: 55/29;
    background: url(../../../../uploads/fv_bg01.jpg) no-repeat right bottom /contain;
}

.tFvAr {
    max-width: 181rem;
}

.tFvBx {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8rem;
}

.tFvDeco01 {
    position: absolute;
    left: 0;
    top: 3rem;
    width: 65%;
    max-width: 113.8rem;
    z-index: 5;
}

.tFvBxL {
    width: 38rem;
}

.tFvBxR {
    position: relative;
    flex: 1;
    max-width: 130rem;
}

.tFvTit01 {
    text-align: center;
    font-family: var(--fontB);
    text-align: center;
    font-size: 5rem;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.tFvTit02 {
    text-align: center;
    font-family: var(--fontB);
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.tFvTit02 br {
    display: none;
}

.tFvBtnBx {
    margin: 4rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tFvBtnBx .btn02 {
    border: none;
}

.swiper-slide {
    width: 100% !important;
}

.tFvImg {
    position: relative;
}

.tFvImg::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(38, 35, 29, 0.5) 0%, rgba(38, 35, 29, 0) 100%);
}

.tFvImgPc {
    mask-image: url(../../../../uploads/fv_mask.svg);
    mask-repeat: no-repeat;
    mask-position: 0;
    mask-size: auto 100%;
    -webkit-mask-image: url(../../../../uploads/fv_mask.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0;
    -webkit-mask-size: auto 100%;
}

.tFvImgSp {
    display: none;
    mask-image: url(../../../../uploads/fv_mask.svg);
    mask-repeat: no-repeat;
    mask-position: 0;
    mask-size: auto 100%;
    -webkit-mask-image: url(../../../../uploads/fv_mask_sp.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0;
    -webkit-mask-size: auto 100%;
}

.tFvTxtBx {
    position: absolute;
    left: 8rem;
    bottom: 5rem;
    z-index: 10;
}

.tFvTxt01 {
    font-size: 5rem;
    line-height: 1.45;
    color: var(--quaternary);
}

.tFvTxt02 {
    font-size: 3rem;
    line-height: 1.45;
    color: var(--quaternary);
}

.tNews {
    margin: 13rem 0 0;
}

.tNewsFl {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}

.tNewsFlL {
    width: 100%;
    max-width: 22rem;
    margin: 1rem 0 0;
}

.tNewsFlR {
    flex: 1;
    max-width: 100rem;
}

.tNewsFlL .btn01 {
    margin: 4rem 0 0;
}

.tAbout {
    position: relative;
    margin: 16.7rem 0 0;
    padding: 15.3rem 0 16.7rem;
    background: var(--quaternary);
}

.tAbout::before {
    content: "";
    position: absolute;
    top: -5rem;
    left: 0;
    z-index: 1;
    width: 20%;
    max-width: 35rem;
    aspect-ratio: 7/4;
    background: url(../../../../uploads/top_deco01.png)no-repeat center/cover;
}

.tAbtBx {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 142rem;
    margin: 0 auto;
}

.tAbtTxtBx {
    position: relative;
    z-index: 2;
    width: 50%;
    max-width: 66rem;
}

.tAbtTxt01 {
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.tAbtTxt02 {
    margin: 1rem 0 0;
    font-size: 2rem;
    line-height: 1.45;
}

.tAbtTxt03 {
    padding: 6rem 5rem 4rem 0;
    font-size: 1.6rem;
    line-height: 2.1875;
    background: var(--quaternary);
}

.tAbtImg {
    position: relative;
    z-index: 1;
    width: 70%;
    margin: 0 0 0 -20rem;
    padding: 0 0 4rem 0;
}

.tAbtPolicyBx {
    position: relative;
    width: 100%;
    max-width: 182rem;
    margin: 12rem auto 0;
    padding: 13rem 10rem;
    background: url(../../../../uploads/top_policy01.jpg)no-repeat center /cover;
}

.tAbtPolicyBx::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: #26231D;
    opacity: .4;
}

.tAbtPolicyTxtBx {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: max-content;
    margin: 0 0 0 auto;
}

.tAbtPolicyTxt01 {
    font-family: var(--fontB);
    font-weight: 400;
    font-size: 5rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
    color: var(--white);
}

.tAbtPolicyTxt02 {
    margin: 6rem 0 0;
    font-size: 1.6rem;
    color: var(--white);
}

.tAbtSixBx {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    max-width: 142rem;
    margin: 16rem auto 0;
}

.tAbtSixBxL {
    width: 41%;
    max-width: 570rem;
    border-right: 1px solid var(--fifth);
}

.tAbtSixTit {
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.45;
}

.tAbtSixTit span {
    font-size: 4rem;
    color: var(--primary);
}

.tAbtSixBxL .btn01 {
    margin: 4rem 0 0;
}

.tAbtSixBxR {
    flex: 1;
    max-width: 69.5rem;
}

.tAbtSixRow {
    display: flex;
    align-items: baseline;
    margin: 2.5rem 0 0;
}

.tAbtSixRow:first-of-type {
    margin: 1rem 0 0;
}

.tAbtSixHead {
    width: 11rem;
    font-family: var(--fontB);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.tAbtSixHead span {
    font-size: 2.5rem;
    color: var(--primary);
}

.tAbtSixTxt {
    flex: 1;
    font-size: 2rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.loopWr {
    display: none;
    align-items: center;
    overflow: hidden;
    height: auto;
}

.loopWr:first-of-type {
    display: flex;
}

.loopWr:nth-of-type(2n) {
    justify-content: flex-end;
}

.loopImgAr {
    display: flex;
    animation: loop-slide 50s infinite linear 1s both;
}

.loopWr:nth-of-type(2n) .loopImgAr {
    display: flex;
    animation: loop-slide2 50s infinite linear 1s both;
}

.loopImgBx {
    width: 48rem;
    aspect-ratio: 16/11;
    overflow: hidden;
}

.loopImgBx img {
    object-fit: cover;
    width: 100%;
}

/*ここまで*/

/*アニメーション*/
@keyframes loop-slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop-slide2 {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(100%);
    }
}

.tDesign {
    margin: 16rem 0 0;
}

.tDesWr {
    position: relative;
    margin: 13rem 0 0;
    padding: 0 0 10rem 0;
}

.tDesWr:nth-of-type(2n-1)::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 50%;
    max-width: 93rem;
    aspect-ratio: 93/43;
    background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
}

.tDesWr:nth-of-type(2n)::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 50%;
    max-width: 93rem;
    aspect-ratio: 93/43;
    background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
}

.tDesWr:nth-of-type(2n-1)::after {
    content: "";
    position: absolute;
    right: -5rem;
    top: -5rem;
    z-index: -1;
    width: 30%;
    max-width: 54.9rem;
    aspect-ratio: 1/1;
    background: url(../../../../uploads/scissors.png)no-repeat center/cover;
}

.tDesWr:nth-of-type(2n)::after {
    content: "";
    position: absolute;
    left: 20.4%;
    top: -5rem;
    z-index: -1;
    width: 30%;
    max-width: 54.9rem;
    aspect-ratio: 1/1;
    background: url(../../../../uploads/scissors.png)no-repeat center/cover;
}

.tDesWr:first-of-type {
    margin: 8rem 0 0;
}

.tDesTit01 {
    width: 100%;
    max-width: 162rem;
    margin: 0 auto;
    padding: 0 1.5rem;
    font-family: var(--fontB);
    font-size: 5rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
    font-weight: 400;
}

.tDesTit02 {
    width: 100%;
    max-width: 162rem;
    margin: .5rem auto 0;
    padding: 0 1.5rem;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.45;
}

.tDesFl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 142rem;
    margin: 0 auto;
}

.tDesWr:nth-of-type(2n) .tDesFl {
    flex-direction: row-reverse;
}

.tDesImg {
    width: 55%;
    max-width: 78rem;
}

.tDesTxtBx {
    width: 40%;
    max-width: 54rem;
}

.tDesTxt01 {
    color: var(--tertiary);
    font-family: var(--fontB);
    font-weight: 500;
    font-size: 8rem;
    line-height: 1;
    letter-spacing: 0.05em;
}

.tDesTxt02 {
    color: var(--primary);
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.tDesTxt03 {
    margin: 2rem 0 0;
    font-size: 3rem;
    line-height: 1.45;
}

.tDesTxt04 {
    margin: 6rem 0 0;
    font-size: 1.6rem;
}

.tMenu {
    margin: 13rem 0 0;
}

.tMenuTit {
    text-align: center;
}

.tMenuBx {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 8rem 0 0;
}

.tMenuBxL {
    width: 46%;
    max-width: 65rem;
}

.tMenuTxt01 {
    font-size: 3rem;
    line-height: 1.67;
}

.tMenuTxt01 span {
    font-size: 4rem;
    color: var(--primary);
}

.tMenuTxt02 {
    margin: 6rem 0 0;
    font-size: 1.6rem;
}

.tMenuBxL .btn01 {
    margin: 4rem 0 0;
}

.tMenuBxR {
    display: flex;
    gap: 2rem;
    width: 48%;
    max-width: 68rem;
}

.tMenuImg:nth-of-type(2) {
    transform: translateY(-5rem);
}

.tBtn {
    margin: 15rem 0 0;
    padding: 17rem 0 16rem;
    background: var(--quaternary);
}

.tGlyAr {
    max-width: 167rem;
}

.tGlyAr .btn01 {
    margin: 3rem 0 0 auto;
}

.tGlyBx {
    margin: 4rem 0 0;
}

.tGlyGr {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
}

.tRecruit {
    margin: 16rem 0 0;
}

.tRctAr {
    width: 100%;
    max-width: 179.5rem;
    padding: 0 2.5rem 0 0;
}

.tRctBx {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.tRctImg {
    flex: 1;
    max-width: 103rem;
}

.tRctTxtBx {
    width: 40%;
    max-width: 61rem;
}

.tRctTxt01 {
    margin: 8rem 0 0;
    font-size: 4rem;
    line-height: 1.5;
}

.tRctTxt02 {
    margin: 6rem 0 0;
    font-size: 1.6rem;
}

.tRctTxtBx .btn01 {
    margin: 4rem 0 0;
}

.tInstagram {
    margin: 16rem 0 0;
}

.tInstaAr {
    max-width: 122rem;
}

.tInstaTit {
    text-align: center;
}

.tInstaBx {
    margin: 4rem 0 0;
}

.tInstaAr .btn01 {
    margin: 3rem auto 0;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1024px) {

    .tFvBx {
        gap: 4rem;
    }

    .tFvTit02 br {
        display: block;
    }

    .tFvBxL {
        width: 25rem;
    }

    .tFvTit01 {
        font-size: 4rem;
    }

    .tAbtImg {
        margin: 0 0 0 -4rem;
    }

    .tAbtSixBxL {
        width: 26%;
    }

    .loopImgBx {
        width: 25rem;
    }

    .tDesTxt03 {
        font-size: 2.6rem;
    }

    .tMenuTxt01 {
        font-size: 2.6rem;
    }

    .tMenuTxt01 span {
        font-size: 3rem;
    }

    .tMenuTxt01 .br{
        display: none;
    }

    .tMenuTxt01 .br768{
        display: block;
    }

    .tRctTxt01{
        font-size: 3rem;
    }
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=768px) {

    .tFv {
        padding: 2rem 0 9.5rem 0;
    }

    .tFv::before {
        width: 74%;
        aspect-ratio: 55/82;
    }

    .tFvBx {
        flex-direction: column;
        gap: 3rem;
    }

    .tFvBxL {
        width: 100%;
    }

    .tFvDeco01 {
        width: 90%;
        left: -31.2%;
        top: 17.65rem;
    }

    .tFvBtnBx {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .tFvTit01 {
        font-size: 3rem;
    }

    .tFvTit02 {
        font-size: 1.6rem;
    }

    .tFvTit02 br {
        display: none;
    }

    .tFvBtnBx {
        margin: 2rem 0 0;
        flex-direction: row;
    }

    .tFvImgPc {
        display: none;
    }

    .tFvImgSp {
        display: block;
    }

    .tFvTxtBx {
        left: 2rem;
        bottom: 2.5rem;
    }

    .tFvTxt01 {
        font-size: 2.5rem;
    }

    .tFvTxt02 {
        font-size: 1.5rem;
    }

    .tNews {
        margin: 6rem 0 0;
    }

    .tNewsFl {
        flex-direction: column;
        gap: 2rem;
    }

    .tNewsFlL {
        display: contents;
    }

    .tNewsFlL .btn01 {
        margin: 2rem 0 0;
        order: 1;
    }

    .tAbout {
        margin: 7.5rem 0 0;
        padding: 13rem 0 8rem;
    }


    .tAbout::before {
        top: -2rem;
    }

    .tAbtBx {
        flex-direction: column-reverse;
        align-items: flex-start;
        margin: 0 0 0 7.7%;
    }

    .tAbtTxtBx {
        width: 91.67%;
        margin: -2rem 0 0;
        background: var(--quaternary);
        padding: 3.5rem 0 0;
    }

    .tAbtTxt01 {
        font-size: 2.7rem;
    }

    .tAbtTxt02 {
        font-size: 1.5rem;
    }

    .tAbtTxt03 {
        margin: 5rem 0 0;
        padding: 0;
        font-size: 1.5rem;
    }

    .tAbtImg {
        width: calc(100% + 2.5rem);
        margin: 0;
        padding: 0;
    }

    .tAbtPolicyBx {
        margin: 6rem 0 0;
        padding: 6rem 2.5rem;
    }

    .tAbtPolicyTxt01 {
        font-size: 3rem;
        line-height: 1.12;
    }

    .tAbtPolicyTxt02 {
        margin: 5rem 0 0;
        font-size: 1.5rem;
        line-height: 2.3;
    }

    .tAbtPolicyTxt02 br {
        display: none;
    }

    .tAbtSixBx {
        flex-direction: column;
        margin: 8rem 0 0;
    }

    .tAbtSixBxL {
        display: contents;
    }

    .tAbtSixTit {
        padding: 0 0 2rem 0;
        font-size: 2rem;
        border-bottom: 1px solid var(--fifth);
    }

    .tAbtSixTit span {
        font-size: 2.5rem;
    }

    .tAbtSixRow {
        margin: 1.5rem 0 0;
    }

    .tAbtSixRow:first-of-type {
        margin: 2.2rem 0 0;
    }

    .tAbtSixHead {
        width: 9rem;
        font-size: 1.6rem;
    }

    .tAbtSixHead span {
        font-size: 2rem;
    }

    .tAbtSixTxt {
        font-size: 1.5rem;
    }

    .tAbtSixBxL .btn01 {
        order: 1;
        margin: 0;
    }

    .loopWr {
        display: flex;
    }

    .tDesign {
        margin: 8rem 0 0;
    }

    .tDesTit01 {
        font-size: 3rem;
        line-height: 1.167;
    }

    .tDesTit02 {
        margin: .4rem 0 0;
        font-size: 1.7rem;
    }

    .tDesWr {
        margin: 6rem 0 0;
        padding: 0;
    }

    .tDesFl,
    .tDesWr:first-of-type .tDesFl,
    .tDesWr:nth-of-type(2n) .tDesFl {
        flex-direction: column;
        margin: 0 auto;
        gap: 4rem;
    }

    .tDesWr:first-of-type {
        margin: 5rem 0 0;
    }

    .tDesWr:nth-of-type(2n-1)::before,
    .tDesWr:nth-of-type(2n)::before {
        display: none;
    }

    .tDesImg {
        position: relative;
        width: 100%;
        padding: 0 0 2.5rem 0;
    }

    .tDesWr:nth-of-type(2n-1) .tDesImg img {
        display: block;
        margin: 0 -2.5rem 0 auto;
    }

    .tDesWr:nth-of-type(2n) .tDesImg img {
        display: block;
        margin: 0 auto 0 -2.5rem;
    }

    .tDesImg::before {
        content: "";
        position: absolute;
        left: -2.5rem;
        right: -2.5rem;
        bottom: 0;
        z-index: -1;
        aspect-ratio: 75/38;
        background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
    }

    .tDesWr:nth-of-type(2n-1)::after,
    .tDesWr:nth-of-type(2n)::after {
        right: -10%;
        top: auto;
        left: auto;
        bottom: -2rem;
        width: 82.13%;
    }

    .tDesTxtBx {
        width: 100%;
    }

    .tDesTxt01 {
        font-size: 6rem;
    }

    .tDesTxt02 {
        font-size: 1.5rem;
    }

    .tDesTxt03 {
        font-size: 2.5rem;
    }

    .tDesTxt04 {
        margin: 5rem 0 0;
        font-size: 1.5rem;
        line-height: 2.31;
    }

    .tMenu {
        margin: 8rem 0 0;
    }

    .tMenuBx {
        margin: 5rem 0 0;
        flex-direction: column-reverse;
        align-items: center;
        gap: 4rem;
    }

    .tMenuBxL {
        width: 100%;
    }

    .tMenuTxt01 {
        font-size: 2.5rem;
    }

    .tMenuTxt01 span {
        font-size: 2.7rem;
    }

    .tMenuTxt02 {
        margin: 5rem 0 0;
        font-size: 1.5rem;
    }

    .tMenuBxR {
        width: 100%;
        max-width: 65rem;
        gap: 1rem;
    }

    .tMenuImg:nth-of-type(2) {
        transform: translateY(-3rem);
    }

    .tGlyAr .btn01 {
        margin: 2rem auto 0 0;
    }

    .tGlyGr {
        gap: 1rem;
    }

    .tBtn {
        margin: 8rem 0 0;
        padding: 6rem 0 8rem;
    }

    .tGlyBx {
        margin: 2rem 0 0;
    }

    .tRecruit {
        margin: 8rem 0 0;
    }

    .tRctAr {
        padding: 0 2.5rem;
    }

    .tRctBx {
        flex-direction: column;
    }

    .tRctImg {
        width: calc(100% + 2.5rem);
        margin: 0 auto 0 -2.5rem;
    }

    .tRctTxtBx {
        display: contents;
    }

    .tRctTit {
        width: 100%;
        order: -1;
    }

    .tRctTxt01 {
        margin: 2rem 0 0;
        font-size: 2.7rem;
    }

    .tRctTxt02 {
        margin: 3rem 0 0;
        font-size: 1.5rem;
    }

    .tRctTxtBx .btn01 {
        width: 100%;
        margin: 0 auto 0 0;
    }

    .tInstagram {
        margin: 8rem 0 0;
    }

    .tInstaBx {
        margin: 2rem 0 0;
    }

    .tInstaTit {
        font-size: 2rem;
    }

    .tInstaAr .btn01 {
        margin: 2rem auto 0;
    }
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=576px) {
    .loopImgBx {
        width: 18.8rem;
    }

    .tGlyGr {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/*20251112追加*/
@media screen and (max-width: 1024px) {
.tAbtPolicyBx {
background-position: 25% 50%;
}
}