

.document-bg{
    background: var(--color-gray);
}



.home-works-loop__picture img{
    height: 100%;
}

.loop-company .swiper-wrapper,
.loop-works .swiper-wrapper {
    transition-timing-function: linear;
}




.is-picture img{
    transform: scale(1);
    transition: 280ms cubic-bezier(.25, .46, .45, .94);
    image-rendering: -webkit-optimize-contrast;
}

a:hover .is-picture img{
    transform: scale(1.05);
    transform-origin: center;
}

/*
///////////////////////////////////////////////////////////////
// c-txt
///////////////////////////////////////////////////////////////
*/

/*
///////////////////////////////////////////////////////////////
// c-button
///////////////////////////////////////////////////////////////
*/



.c-radius-small{
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-sm3);
}

.c-radius-regular{
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-md);
}


/*
///////////////////////////////////////////////////////////////
// c-radius
///////////////////////////////////////////////////////////////
*/
[class*=c-radius]:not(.-visible) {
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.c-radius-news{
    width: var(--width-all);
    height: var(--height-all);
    border-radius: var(--radius-100rem);
}




/*
///////////////////////////////////////////////////////////////
// p-card
///////////////////////////////////////////////////////////////
*/

.p-card__thumb{
    position: relative;
}

@media screen and (min-width: 1024px) {
    .p-card__thumb{
        margin-bottom: 3rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-card__thumb{
        margin-bottom: 2.3rem;
    }
}

.p-card__figure{
    position: relative;
}

.c-meta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    text-align: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-black);
    border-radius: var(--radius-2);
    left: 50%;
    bottom: -1.5rem;
    transform: translateX(-50%);

}
@media screen and (min-width: 1024px) {
    .c-meta{
        min-width: 10rem;
        min-height: 3rem;
        font-size: var(--font-size14);
    }
}
@media screen and (max-width: 1023px) {
    .c-meta{
        min-width: 9rem;
        min-height: 2.5rem;
        font-size: var(--font-size12);
    }
}

.p-card__title.-center{
    text-align: center;
}

.p-card__title{
    font-weight: 600;
}
@media screen and (min-width: 1024px) {
    .p-card__title{
        font-size: var(--font-size17);
        line-height: var(--line-hight16);
        
    }
}
@media screen and (max-width: 1023px) {
    .p-card__title{
        font-size: var(--font-size14);
        line-height: var(--line-hight15);
    }
}

/*
///////////////////////////////////////////////////////////////
// p-modal
///////////////////////////////////////////////////////////////
*/

.p-modal{
    display: none;
    z-index: 10002;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--color-white);
    border-radius: var(--radius-sm3);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

@media screen and (min-width: 769px) {
    .p-modal{
        width: calc(1150 / var(--design-size-pc) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-modal{
        width: calc(350 / var(--design-size-sp) * 100vw);
    }
}

.button-open {
    display: block;
}

.p-modal__close{ 
    display: block;
    position: relative;
    margin-left: auto;
}
@media screen and (min-width: 769px) {
    .p-modal__close{ 
        width: 3.7rem;
        height: 3.7rem;
    }
}
@media screen and (max-width: 768px) {
    .p-modal__close{ 
        width: 3.7rem;
        height: 3.7rem;
    }
}

.p-modal__close span{
    display: block;
    position: absolute;
    width: 100%;
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

.p-modal__close span:nth-of-type(1){
    background-color: var(--color-pink);
    transform-origin: right;
}
.p-modal__close span:nth-of-type(2){
    background-color: var(--color-yellow);
    transform-origin: right;
}

.p-modal__close span:nth-of-type(1),
.p-modal__close span:nth-of-type(2){
    width: 3.7rem;
    height: .55rem;
    left: -.4rem;
}
.p-modal__close span:nth-of-type(1){
    top: 0;
    transform: rotate(-30deg);
}

.p-modal__close span:nth-of-type(2){
    top: 1.9rem;
    transform: rotate(29deg);
}

.p-modal__inner{
    padding: 5rem calc(80 / var(--design-size-pc) * 100vw) 8rem;
}

.p-modal__figure{
    border-radius: var(--radius-sm3);
    overflow: hidden;
}
@media screen and (min-width: 769px) {
    .p-modal__figure{
        margin-bottom: 2rem;
        margin-top: 2rem;
    }
}
@media screen and (max-width: 768px) {
    .p-modal__figure{
        margin-bottom: 2rem;
        margin-top: 2rem;
    }
}

.p-modal__figure img{
    width: var(--width-all);
    height: var(--height-all);
}

.p-modal__data{
    display: flex;
    align-items: center;
}
@media screen and (min-width: 769px) {
    .p-modal__data{
        margin-bottom: .5rem;
    }
}



.p-modal__data li{
    display: flex;
    align-items: center;
    font-size: 14px;
}

.p-modal__data li:first-of-type{
    padding-right: 10px;
    
}
.p-modal__data li:first-of-type::after{
    content: "";
    display: block;
    background-color: var(--color-black);
    transform: rotate(15deg);
    width: 1px;
    height: 15px;
    margin-left: 10px;

}

.p-modal__title{
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 12px;
}

.p-modal .c-txt-small{
    color: var(--color-gray2);
}


.p-modal__bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    width: var(--width-all);
    height: var(--height-all);
    z-index: 10001;
}


/*
///////////////////////////////////////////////////////////////
// l-header
///////////////////////////////////////////////////////////////
*/

@media screen and (min-width: 1024px) {
    .l-header{
        height: 10rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-header{
        height: 6.5rem;
    }
}

.l-header__inner{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 auto;
}
@media screen and (min-width: 1024px) {
    .l-header__inner{
        width: calc(100% - 3.2rem);
        height: 10rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-header__inner{
        width: calc(100% - 3rem);
        height: 6.5rem;
    }
}

.l-header__logo{
    position: fixed;
    z-index: 900;
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-delay: opacity;
    transition-delay: opacity;
    
}
@media screen and (min-width: 1024px) {
    .l-header__logo{
        width: 13.5rem;
        top: 3.5rem;
        left: 1.5rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-header__logo{
        width: 9.5rem;
        top: 3.2rem;
        left: 2rem;
    }
}

.l-header__logo:hover{
    opacity: .85;
}

.l-nav{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.l-nav__main a{
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

@media screen and (min-width: 1024px) {
    .l-nav__main{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 1.6rem;
        margin-right: 8.3rem;
        font-size: var(--font-size14);
    }
}
@media screen and (max-width: 1023px) {
    .l-nav__main{
        display: none;
        }
}

.l-sitemap__button{
    cursor: pointer;
    position: fixed;
    z-index: 10000;
    -webkit-transition: all 800ms cubic-bezier(.25, .46, .45, .94);
    transition: all 800ms cubic-bezier(.25, .46, .45, .94);
}
@media screen and (min-width: 1024px) {
    .l-sitemap__button{
        width: 5.5rem;
        height: 6.3rem;
        right: 3rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-sitemap__button{
        width: 4rem;
        height: 5em;
        top: .9rem;
        right: 2.4rem;
    }
}

.l-sitemap__button-txt{ 
    width: var(--size-all);
    display: inline;
    position: absolute;
    bottom: 0;
    font-family: var(--font-Outfit);
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
}
@media screen and (min-width: 1024px) {
    .l-sitemap__button-txt{
        font-size: var(--font-size12);
    }
}
@media screen and (max-width: 1023px) {
    .l-sitemap__button-txt{
        font-size: var(--font-size10);
    }
}

.l-sitemap__button span{
    display: block;
    position: absolute;
    width: 100%;
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-delay: transform;
    transition-delay: transform;
}

.l-sitemap__button span:nth-of-type(1){
    background-color: var(--color-pink);
    top: 0;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: rotate(-8deg) translate3d(0, 0, 0);
    transform: rotate(-8deg) translate3d(0, 0, 0);
    -webkit-transition-delay: transform;
    transition-delay: transform;
    
}
.l-sitemap__button.js-active span:nth-of-type(1){
    -webkit-transform: rotate(-38deg) translate3d(0, 0, 0);
    transform: rotate(-38deg) translate3d(0, 0, 0);
}

.l-sitemap__button span:nth-of-type(2){
    background-color: var(--color-purple);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: rotate(8deg) translate3d(0, 0, 0);
    transform: rotate(8deg) translate3d(0, 0, 0);
    -webkit-transition-delay: opacity;
    transition-delay: opacity;
}

.l-sitemap__button.js-active span:nth-of-type(2){
    opacity: 0;
}

.l-sitemap__button span:nth-of-type(3){
    background-color: var(--color-yellow);
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: rotate(-7deg) translate3d(0, 0, 0);
    transform: rotate(-7deg) translate3d(0, 0, 0);
    -webkit-transition-delay: transform;
    transition-delay: transform;
}
.l-sitemap__button.js-active span:nth-of-type(3){
    -webkit-transform: rotate(37deg);
    transform: rotate(37deg);
}

@media screen and (min-width: 1024px) {
    .l-sitemap__button span:nth-of-type(1),
    .l-sitemap__button span:nth-of-type(2),
    .l-sitemap__button span:nth-of-type(3){
        height: .85rem;
    }
    .l-sitemap__button span:nth-of-type(2){
        top: 1.3rem;
    }
    .l-sitemap__button span:nth-of-type(3){
        top: 2.6rem;
    }
    .l-sitemap__button.js-active span{
        width: 80%;
    }
    .l-sitemap__button.js-active span:nth-of-type(1){
        top: 0;
    }
    .l-sitemap__button.js-active span:nth-of-type(3){
        top: 2.6rem;
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__button span:nth-of-type(1),
    .l-sitemap__button span:nth-of-type(2),
    .l-sitemap__button span:nth-of-type(3){
        height: .71rem;
    }
    .l-sitemap__button span:nth-of-type(2){
        top: 1.1rem;
    }
    .l-sitemap__button span:nth-of-type(3){
        top: 2.2rem;
    }
    .l-sitemap__button.js-active span{
        width: 70%;
        height: .64rem;
    }
    .l-sitemap__button.js-active span:nth-of-type(1){
        top: .65rem;
        left: .35rem;
    }
    .l-sitemap__button.js-active span:nth-of-type(3){
        top: 2.2rem;
        left: .35rem;
    }
}

.l-sitemap{
    height: 93vh;
    position: fixed;
    top: -100%;
    right: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: var(--color-white);
    border-radius: 0 0 0 var(--radius-md);
    z-index: 1000;
    -webkit-transition: all 400ms cubic-bezier(.25, .46, .45, .94);
    transition: all 400ms cubic-bezier(.25, .46, .45, .94);
}
@media screen and (min-width: 1024px) {
    .l-sitemap{
        width: calc((720 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 1023px) {
    .l-sitemap{
        width: calc((315 / var(--design-size-sp)) * 100%);
    }
}

.l-sitemap.js-open{
    top: 0;
}

.l-sitemap__body{
    position: relative;
    height: var(--height-all);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 1024px) {
    .l-sitemap__body{ 
        padding: 10.5rem calc(145 / var(--design-size-pc) * 100vw) 10.5rem calc(105 / var(--design-size-pc) * 100vw);
    }
}
@media screen and (max-width: 1023px) {
    .l-sitemap__body{ 
        padding: 13rem calc(30 / var(--design-size-sp) * 100vw) 12rem calc(45 / var(--design-size-sp) * 100vw);
    }
}

body.no-scroll,
html.no-scroll{
    overflow: hidden;
    height: var(--height-all);
}

.l-sitemap__nav a{
    display: flex;
    align-items: center;
    position: relative;
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

.l-sitemap__nav a::before{
    content: "";
    display: block;
    background-color: var(--color-black);
    height: 0.15rem;
}

@media screen and (min-width: 561px) {
    .l-sitemap__nav a::before{
        width: 1.6rem;
        margin-right: .7rem;
    }
}
@media screen and (max-width: 560px) {
    .l-sitemap__nav a::before{
        width: 1.1rem;
        margin-right: .5rem;
    }
}

.l-sitemap__nav a:hover{
    padding-left: .5rem;
}

.l-sitemap__nav li{
    letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
    .l-sitemap__nav li{
        font-size: var(--font-size20);
    }
}
@media screen and (min-width:561px) and (max-width:1023px) {
    .l-sitemap__nav li{
        font-size: var(--font-size18);
    }
}
@media screen and (max-width: 560px) {
    .l-sitemap__nav li{
        font-size: var(--font-size14);
    }
}

@media screen and (min-width: 561px) {
    .l-sitemap__nav li:not(:last-of-type){
        margin-bottom: 3rem;
    }
}
@media screen and (max-width: 560px) {
    .l-sitemap__nav li:not(:last-of-type){
        margin-bottom: 2.3rem;
    }
}

.l-sitemap__bg{
    display: none;
    position: fixed;
    top:0;
    left: 0;
    z-index: 4; 
    width: var(--size-all);
    height: var(--size-all);
    background-color:rgba(40, 40, 40, 0.4);
    opacity: 0;
    -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    transition: all 280ms cubic-bezier(.25, .46, .45, .94);
}

.l-sitemap__bg.js-visible{
    display: block;
    opacity: 1;
}

/*
///////////////////////////////////////////////////////////////
// l-footer
///////////////////////////////////////////////////////////////
*/


@media screen and (min-width: 1024px) {
    .l-footer{
        margin-top: 20rem;
    }
}
@media screen and (max-width: 768px) and (min-width: 1023px) {
    .l-footer{
        margin-top: 16rem;
    }
}
@media screen and (max-width: 1024px) {
    .l-footer{
        margin-top: 12rem;
    }
}


@media screen and (min-width: 1024px) {
    .l-footer__catch{
        font-size: var(--font-size20);
        line-height: var(--line-hight15);
        margin-top: -.7rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-footer__catch{
        font-size: var(--font-size15);
        line-height: var(--line-hight175);
        margin-top: -.7rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer__catch{
        font-size: var(--font-size15);
        line-height: var(--line-hight175);
        margin-top: -.7rem;
    }
}

.l-footer__logo img{ 
    margin: 2rem 0;
}
@media screen and (min-width: 768px) {
    .l-footer__logo img{ 
        width: 17rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer__logo img{ 
        width: 15rem;
    }
}

.l-footer__copywriting{
    font-family: var(--font-Outfit);
    font-weight: 500;
}
@media screen and (min-width: 768px) {
    .l-footer__copywriting{
        font-size: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer__copywriting{
        font-size: .8rem;
    }
}

@media screen and (min-width: 991px) {
    .l-contact__header{
        display: flex;
        align-items: end;
        justify-content: space-between;
    }
}

@media screen and (min-width: 991px) {
    .l-contact__header .c-title{
        margin-right: 45px;
    }
}
@media screen and (max-width: 990px) {
    .l-contact__header{
        text-align: center;
    }
    .l-contact__header .c-title{
        margin-bottom: 2.4rem;
    }
}

.l-contact__message{
    display: flex;
    align-items: center;
    font-weight: 600;
    position: relative;
}
@media screen and (min-width: 991px) {
    .l-contact__message{
        font-size: var(--font-size17);
    }
}
@media screen and (max-width: 990px) {
    .l-contact__message{
        font-size: var(--font-size15);
        line-height: calc( 28 / 15 );
        justify-content: center;
    }
}

.l-contact__message::before,
.l-contact__message::after{
    content: "";
    display: block;
    width: 2px;
    background-color: var(--color-black);
    -webkit-transform: rotate(11deg) translate3d(0, 0, 0);
    transform: rotate(11deg) translate3d(0, 0, 0);
}

.l-contact__message::before{
    margin-right: 1rem;
    -webkit-transform: rotate(-22deg) translate3d(0, 0, 0);
    transform: rotate(-22deg) translate3d(0, 0, 0);
}

.l-contact__message::after{
    margin-left: 1rem;
    -webkit-transform: rotate(22deg) translate3d(0, 0, 0);
    transform: rotate(22deg) translate3d(0, 0, 0);
}

@media screen and (min-width: 768px) {
    .l-contact__message::before,
    .l-contact__message::after{
        height: 2.2rem;
    }
}
@media screen and (max-width: 767px) {
    .l-contact__message::before,
    .l-contact__message::after{
        display: none;
    }
}

.l-contact__inner{
    display: flex;
}
@media screen and (min-width: 1024px) {
    .l-contact__inner{
        width: var(--size-all);
        margin: 8rem 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-contact__inner{
        width: var(--size-all);
        margin: 6.4rem auto;
        row-gap: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .l-contact__inner{
        width: var(--inner-percent-medium);
        flex-direction: column;
        margin: 3.2rem auto;
        row-gap: 1.6rem;
    }
}

.l-contact__cell{ 
    color: var(--color-white);
}
@media screen and (min-width: 1024px) {
    .l-contact__cell{
        flex: 1;
        padding: 8rem calc((55 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .l-contact__cell{
        width: var(--size-all);
        padding: 8rem calc((20 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .l-contact__cell{
        width: var(--size-all);
        padding: 5.6rem calc((32 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .l-contact__flex{
        display: flex;
        align-items: center;
    }
}
@media screen and (max-width: 1023px) {
    .l-contact__flex{
        display: block;
        text-align: center;
    }
}

.l-contact__title-en{
    font-family: var(--font-Outfit);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .1em;
}
@media screen and (min-width: 1024px) {
    .l-contact__title-en{
        font-size: var(--font-size28);
        line-height: 2;
        margin-top: -1rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-contact__title-en{
        font-size: var(--font-size26);
        line-height: 1.5;
    }
}

@media screen and (min-width: 1024px) {
    .l-contact__title-jp{
        font-size: var(--font-size16);
    }
}
@media screen and (max-width: 1023px) {
    .l-contact__title-jp{
        font-size: var(--font-size14);
    }
}

.l-contact__telephone{
    display: inline-flex;
    align-items: center;
    width: fit-content;
    justify-content: center;
}
@media screen and (min-width: 561px) {
    .l-contact__telephone{
        margin: 2.4rem 0 1.6rem;
        gap: 1rem;
    }
}
@media screen and (max-width: 560px) {
    .l-contact__telephone{
        justify-content: center;
        margin: 2.4rem auto .6rem;
        gap: .6rem;
    }
}

.l-contact__telephone-shrap{
    text-align: left;
}
@media screen and (min-width: 1024px) {
    .l-contact__telephone-shrap{
       width: calc((118 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .l-contact__telephone-shrap{
       width: calc((30 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .l-contact__telephone-shrap{
       width: calc((30 / var(--design-size-sp)) * 100%);
    }
}

.l-contact__telephone-num{
    font-family: var(--font-Outfit);
    font-weight: 500;
    display: inline-block;
    text-align: left;
    letter-spacing: 0.08em;
    
}
@media screen and (min-width: 1024px) {
    .l-contact__telephone-num{
        flex: 1;
        font-size: var(--font-size34);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .l-contact__telephone-num{
        font-size: var(--font-size30);
    }
}
@media screen and (max-width: 560px) {
    .l-contact__telephone-num{
        font-size: var(--font-size30);
    }
}

@media screen and (min-width: 1024px) {
    .l-contact__contents .c-button{
        margin-top: 2.4rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-contact__contents .c-button{
        margin: 2.4rem auto 0;
    }
}

.l-contact__cell:nth-of-type(1){
    background-color: var(--color-blue2);
}
.l-contact__cell:nth-of-type(2){
    background-color: var(--color-skyblue);
}
@media screen and (min-width: 1024px) {
    .l-contact__contents{
        width: calc((1065 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-contact__contents{
        width: var(--size-all);
    }
}
@media screen and (max-width: 767px) {
    .l-contact__contents{
        width: var(--size-all);
        padding-top: 1.6rem;
    }
}

.l-contact__sharp{ 
    position: relative;
    --base-width: 1400;
    --base-height: 891;
    aspect-ratio: 3 / 4;
}
@media screen and (min-width: 1400px) {
    .l-contact__sharp{ 
        width: calc((270 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 1024px) and (max-width: 1399px) {
    .l-contact__sharp{ 
        width: calc((270 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-contact__sharp{ 
        margin: 0 auto 2rem;
        width: calc((305 / var(--design-size-pc)) * 100%);
        height: 8.5rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .l-contact__sharp{ 
        margin: 0 auto 2rem;
        width: calc((88 / var(--design-size-sp)) * 100%);
        aspect-ratio: 1 / 1;
    }
}
@media screen and (max-width: 560px) {
    .l-contact__sharp{ 
        margin: 0 auto 1.2rem;
        width: calc((88 / var(--design-size-sp)) * 100%);
        aspect-ratio: 1 / 1;
    }
}

.l-contact__sharp .-flower-1, .l-contact__sharp .-flower-2,
.l-contact__sharp .-bird-1, .l-contact__sharp .-bird-2{ 
    position: absolute;
}
@media (min-width: 1400px) {
    .l-contact__sharp .-flower-1,
    .l-contact__sharp .-flower-2{
        width: calc((690 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-flower-1{
        left: calc((86 / var(--base-width)) * 100%);
        top: calc((94 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-flower-2{
        bottom: calc((40 / var(--base-height)) * 100%);
        right: calc((298 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 1024px) and (max-width: 1399px) {
    .l-contact__sharp .-flower-1,
    .l-contact__sharp .-flower-2{
        width: calc((775 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-flower-1{
        left: calc((86 / var(--base-width)) * 100%);
        top: calc((94 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-flower-2{
        bottom: calc((40 / var(--base-height)) * 100%);
        right: calc((298 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-contact__sharp .-flower-1,
    .l-contact__sharp .-flower-2{
        width: calc((775 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-flower-1{
        right: calc((690 / var(--base-width)) * 100%);
        top: calc((-47 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-flower-2{
        bottom: calc((-11 / var(--base-height)) * 100%);
        left: calc((629 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .l-contact__sharp .-flower-1,
    .l-contact__sharp .-flower-2{
        width: calc((588 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-flower-1{
        right: calc((690 / var(--base-width)) * 100%);
        top: calc((21 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-flower-2{
        bottom: calc((62 / var(--base-height)) * 100%);
        right: calc((74 / var(--base-width)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .l-contact__sharp .-flower-1,
    .l-contact__sharp .-flower-2{
        width: calc((948 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-flower-1{
        right: calc((690 / var(--base-width)) * 100%);
        top: calc((-202 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-flower-2{
        bottom: calc((-203 / var(--base-height)) * 100%);
        right: calc((-288 / var(--base-width)) * 100%);
    }
}

@media (min-width: 1400px) {
    .l-contact__sharp .-bird-1,
    .l-contact__sharp .-bird-2{
        width: calc((655 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-bird-1{
        left: calc((68 / var(--base-width)) * 100%);
        top: calc((14 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-bird-2{
        bottom: calc((22 / var(--base-height)) * 100%);
        right: calc((220 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 1024px) and (max-width: 1399px) {
    .l-contact__sharp .-bird-1,
    .l-contact__sharp .-bird-2{
        width: calc((723 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-bird-1{
        left: calc((68 / var(--base-width)) * 100%);
        top: calc((14 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-bird-2{
        bottom: calc((22 / var(--base-height)) * 100%);
        right: calc((220 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-contact__sharp .-bird-1,
    .l-contact__sharp .-bird-2{
        width: calc((829 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-bird-1{
        left: calc((-23 / var(--base-width)) * 100%);
        top: calc((-202 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-bird-2{
        bottom: calc((22 / var(--base-height)) * 100%);
        right: calc((-159 / var(--base-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .l-contact__sharp .-bird-1,
    .l-contact__sharp .-bird-2{
        width: calc((571 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-bird-1{
        left: calc((23 / var(--base-width)) * 100%);
        top: calc((22 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-bird-2{
        bottom: calc((53 / var(--base-height)) * 100%);
        right: calc((-159 / var(--base-width)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .l-contact__sharp .-bird-1,
    .l-contact__sharp .-bird-2{
        width: calc((802 / var(--base-width)) * 100%);
    }
    .l-contact__sharp .-bird-1{
        left: calc((-23 / var(--base-width)) * 100%);
        top: calc((-88 / var(--base-height)) * 100%);
    }
    .l-contact__sharp .-bird-2{
        bottom: calc((53 / var(--base-height)) * 100%);
        right: calc((-159 / var(--base-width)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .l-footer__menu{
        display: flex;
        margin-bottom: 16rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-footer__menu{
        display: block;
        margin: 7.8rem auto 5.8rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer__menu{
        display: block;
        margin: 6.5rem auto 5rem;
    }
}

@media screen and (min-width: 1024px) {
    .l-footer__inset{
        width: calc((400 / var(--design-size-pc)) * 100%);
        margin-left: 2rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-footer__inset{
        text-align: center;
        width: var(--size-all);
        margin-bottom: 6rem;
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-sitemap{
        width: calc((900 / var(--design-size-pc)) * 100%);
        display: flex;
        gap: .4rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-footer-sitemap{ 
        width: var(--inner-percent-pc);
        margin: 0 auto;
        display: flex;
        gap: .4rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer-sitemap{ 
        width: var(--inner-percent-pc);
        display: block;
        gap: .4rem;
    }
}

@media screen and (min-width: 1024px) {
    .l-footer-sitemap__cell{
        width: 25%;
        margin-left: 2rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-footer-sitemap__cell{
        width: 25%;
    }
}
@media screen and (max-width: 767px) {
    .l-footer-sitemap__cell{
        width: var(--size-all);
    }
}

@media screen and (max-width: 767px) {
    .l-footer-sitemap__cell{
        width: var(--size-all);
        margin-left: 0;
    }
}

.l-footer-sitemap a{
    position:relative;
    display: flex;
    align-items: center;
    -webkit-transition: 280ms cubic-bezier(.25, .46, .45, .94);
    transition: 280ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-property: border-color, background-color transform;
    transition-property: border-color, background-color transform;
}
@media screen and (min-width: 991px) {
    .l-footer-sitemap a{
        padding-right: .5rem;
    }
}

.l-footer-sitemap a::before{
    content: "";
    display: block;
    -webkit-transition: 280ms cubic-bezier(.25, .46, .45, .94);
    transition: 280ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-property: border-color, background-color transform;
    transition-property: border-color, background-color transform;
}

.l-footer-sitemap a:hover{
    color: var(--color-blue);
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
	-webkit-transform-origin: center center;
    transform-origin: center center;
}

@media screen and (min-width: 1024px) {
    .l-footer-sitemap__parent{
        font-size: var(--font-size15);
    }
    .l-footer-sitemap__parent:not(:last-of-type){
        margin-bottom: 1.6rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-footer-sitemap__parent{
        font-size: var(--font-size14);
    }
    .l-footer-sitemap__parent:not(:last-of-type){
        margin-bottom: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .l-footer-sitemap__parent{
        font-size: var(--font-size13);
    }
}

@media screen and (max-width: 767px) {
    .l-footer-sitemap__parent{ 
        display: flex;
        font-size: var(--font-size12);
        padding: 1.5rem 0;
        border-bottom: 1px solid var(--color-black);
    }
    .l-footer-sitemap__parent a{
        flex: 1;
        position: relative;
    }
    .l-footer-sitemap__children-icon{
        width: 3.6rem;
    }
}

@media screen and (min-width: 768px) {
    .l-footer-sitemap__children-icon{
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .l-footer-sitemap__children-icon{
        position: relative;
        display: block;
        cursor: pointer;
        width: 3.6rem;
    }
    .l-footer-sitemap__children-icon::before,
    .l-footer-sitemap__children-icon::after{
        content: "";
        display: block;
        background-color: var(--color-gray4);
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: all 280ms cubic-bezier(.25, .46, .45, .94);
        transition: all 280ms cubic-bezier(.25, .46, .45, .94);
    }
    .l-footer-sitemap__children-icon::before{
        width: 1px;
        height: 1.5rem;
    }
    .l-footer-sitemap__children-icon::after{
        width: 1.5rem;
        height: 1px;
    }
    .l-footer-sitemap__cell.js-open .l-footer-sitemap__children-icon::before {
        height: 0;
    }
}

.l-footer-sitemap__parent a,
.l-footer-sitemap__children a{
    position: relative;
}

.l-footer-sitemap__parent a::before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: .7rem;
    height: .7rem;
    margin-right: .7rem;
    border-top: 1px solid var(--color-black);
    border-right: 1px solid var(--color-black);
}
.l-footer-sitemap__parent a:hover::before{
    border-color: var(--color-blue);
}

.l-footer-sitemap__children{
    margin-top: 1.6rem;
    
}
@media screen and (max-width: 767px) {
    .l-footer-sitemap__children{
        display: none;
        width: var(--width-all);
        opacity: 0;
        position: absolute;
        left: 0;
        top: 100%;
        z-index: 1;
        padding-bottom: 2rem;
        border-bottom: 1px solid var(--color-black);
        font-size: var(--font-size12);
        -webkit-transition: max-height 500ms ease, opacity 500ms ease;
        transition: max-height 500ms ease, opacity 500ms ease;
    }
    .l-footer-sitemap__children.js-show{
        display: block;
        position: relative;
        max-height: 500px;
        opacity: 1;
    }
}

.l-footer-sitemap__children li:not(:last-of-type){
    margin-bottom: 1.25rem;
}

.l-footer-sitemap__children a::before{
    width: 1rem;
    height: 1px;
    margin-right: .7rem;
    background-color: var(--color-black);
}

.l-footer-sitemap__children a:hover::before{
    background-color: var(--color-blue);
}

/*
///////////////////////////////////////////////////////////////
// p-slope
///////////////////////////////////////////////////////////////
*/

.p-slope{ 
    position: relative;
    width: var(--size-all);
    --base-width: 3025;
    --base-height: 891;
}

.p-slope__base img{
    image-rendering: -webkit-optimize-contrast;
}

.c-object {
    position: absolute;
    pointer-events: none;
}

.p-slope__bird-1{
    width: calc((111 / var(--slope-width)) * 100%);
    top: calc((-55 / var(--slope-height)) * 100%);
    left: calc((1181 / var(--slope-width)) * 100%);
    animation: bird-sharp-1 2800ms ease infinite;
}
@keyframes bird-sharp-1 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

.p-slope__bird-2{
    animation: bird-sharp-2 2800ms ease infinite;
    top: calc((55 / var(--slope-height)) * 100%);
    left: calc((1035 / var(--slope-width)) * 100%);
}
@media screen and (min-width: 768px) {
    .p-slope__bird-2{
        width: calc((111 / var(--slope-width)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-slope__bird-2{
        width: calc((145 / var(--slope-width)) * 100%);
    }
}
@keyframes bird-sharp-2 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(0);
    }
}

.p-slope__heart-1{
    z-index: 2;
}
@media screen and (min-width: 768px) {
    .p-slope__heart-1{
        width: calc((565 / var(--slope-width)) * 100%);
        top: calc((-15 / var(--slope-height)) * 100%);
        right: calc((488 / var(--slope-width)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-slope__heart-1{
        width: calc((585 / var(--slope-width)) * 100%);
        top: calc((-15 / var(--slope-height)) * 100%);
        right: calc((488 / var(--slope-width)) * 100%);
    }
}

.p-slope__heart-2{
    z-index: 1;
}
@media screen and (min-width: 768px) {
    .p-slope__heart-2{
        width: calc((372 / var(--slope-width)) * 100%);
        bottom: calc((235 / var(--slope-height)) * 100%);
        right: calc((325 / var(--slope-width)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-slope__heart-2{
        width: calc((392 / var(--slope-width)) * 100%);
        bottom: calc((235 / var(--slope-height)) * 100%);
        right: calc((325 / var(--slope-width)) * 100%);
    }
}

.p-slope__ladybug{
    z-index: 3;
}
@media screen and (min-width: 768px) {
    .p-slope__ladybug{
        width: calc((185 / var(--slope-width)) * 100%);
        top: calc((-35 / var(--slope-height)) * 100%);
        right: calc((888 / var(--slope-width)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-slope__ladybug{
        width: calc((265 / var(--slope-width)) * 100%);
        top: calc((-35 / var(--slope-height)) * 100%);
        right: calc((888 / var(--slope-width)) * 100%);
    }
}

/*
///////////////////////////////////////////////////////////////
// c-title
///////////////////////////////////////////////////////////////
*/
.c-title{
    position: relative;
    display: inline-block;
}

.c-title__en.-uppercase{
    text-transform: uppercase;
}

.c-title__en, .c-title__index{
    font-family: var(--font-Outfit);
    font-weight: 500;
    line-height: 1;
}

.c-title__jp{
    font-weight: 600;
}

.c-title__en{
    letter-spacing: .08em;
}

@media screen and (min-width: 768px) {
    .c-title__index{
        font-size: var(--font-size18);
    }
    .c-title__en{
        font-size: 5.6rem;
        font-size: max(5.6rem, 50px);
        letter-spacing: .08em;
    }
    .c-title__jp{
        letter-spacing: 0.08em;
        margin-top: 1rem;
        margin-left: .4rem;
        font-size: var(--font-size16);
    }
}
@media screen and (max-width: 767px) {
    .c-title__index{
        font-size: var(--font-size15);
    }
    .c-title__en{
        font-size: var(--font-size36);
        letter-spacing: .08em;
    }
    .c-title__jp{
        letter-spacing: 0.08em;
        margin-top: .8rem;
        margin-left: .4rem;
        font-size: var(--font-size14);
    }
}

/*
///////////////////////////////////////////////////////////////
// sharp-animation
///////////////////////////////////////////////////////////////
*/

.c-title__sharp{
    position: absolute;
    z-index: -1;
}

.c-title__sharp.-about{
    animation: about-sharp 12s linear infinite;
}
@keyframes about-sharp {
    0% {
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}
@media screen and (min-width: 768px) {
    .c-title__sharp.-about{
        width: calc((409 / var(--design-size-pc)) * 100%);
        bottom: -1.8rem;
        right: -2.5rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .c-title__sharp.-about{
        width: calc((155 / var(--design-size-sp)) * 100%);
        bottom: -1.4rem;
        right: -3.2rem;
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp.-about{
        width: calc((145 / var(--design-size-sp)) * 100%);
        bottom: -1.4rem;
        right: -3.2rem;
    }
}

.home-service__header{
    display: flex;
    align-items: end;
}
@media screen and (min-width: 768px) {
    .home-service .c-title{
        width: var(--size-all);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-service .c-title{ 
        width: calc((320 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-service .c-title{ 
        width: calc((310 / var(--design-size-sp)) * 100%);
    }
}

.c-title__sharp.-service{
    position: relative;
    top: 0;
    aspect-ratio: 1 / 1;
}
@media screen and (min-width: 768px) {
    .c-title__sharp.-service{ 
        width: calc((150 / var(--design-size-pc)) * 100%);
        margin-right: 1.6rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .c-title__sharp.-service{ 
        width: calc((45 / var(--design-size-sp)) * 100%);
        margin-right: 1.4rem;
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp.-service{ 
        width: calc((59 / var(--design-size-sp)) * 100%);
        margin-right: 1.2rem;
    }
}

.c-title__sharp .-service-1, .c-title__sharp .-service-2{
    position: absolute;
}
.c-title__sharp .-service-1{
    --rotate: -25deg; 
    animation: semicircle-sharp-1 4s ease-in-out infinite;
}
@keyframes semicircle-sharp-1 {
    0% {
        transform: translateY(0) rotate(var(--rotate));
    }
    50% {
        transform: translateY(-10px) rotate(calc(var(--rotate) + 3deg));
    }
    100% {
        transform: translateY(0) rotate(var(--rotate));
    }
}

.c-title__sharp .-service-2{
    transform: rotate(155deg);
    --rotate: 155deg;
    animation: semicircle-sharp-2 4s ease-in-out infinite;
    animation-delay: 2s;
}
@keyframes semicircle-sharp-2 {
    0% {
        transform: translateY(0) rotate(var(--rotate));
    }
    50% {
        transform: translateY(-10px) rotate(calc(var(--rotate) + 3deg));
    }
    100% {
        transform: translateY(0) rotate(var(--rotate));
    }
}

@media screen and (min-width: 768px) {
    .c-title__sharp .-service-1, .c-title__sharp .-service-2{
        width: 8.8rem;
    }
    .c-title__sharp .-service-1{
        left: -3rem;
        top: 0;
    }
    .c-title__sharp .-service-2{
        right: -.5rem;
        bottom: -1rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .c-title__sharp .-service-1, .c-title__sharp .-service-2{
        width: 6.8rem;
    }
    .c-title__sharp .-service-1{
        left: -2rem;
        top: 0
    }
    .c-title__sharp .-service-2{
        right: -.5rem;
        bottom: -1rem;
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp .-service-1, .c-title__sharp .-service-2{
        width: 5.85rem;
    }
    .c-title__sharp .-service-1{
        left: -2rem;
        top: 0;
    }
    .c-title__sharp .-service-2{
        right: -.5rem;
        bottom: -1rem;
    }
}

.c-title__sharp.-works{
    transform-origin: right;
    animation: works-sharp 4s infinite ease-in-out;
}
@keyframes works-sharp {
    0% {
        transform: rotate(-30deg);
    }
    50% {
        transform: rotate(30deg);
    }
    100% {
        transform: rotate(-30deg);
    }
}

@media screen and (min-width: 768px) {
    .c-title__sharp.-works{
        width: 8.4rem;
        left: -5.4rem;
        bottom: 1.2rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .c-title__sharp.-works{
        width: 7.8rem;
        left: -3.2rem;
        bottom: 1.2rem;
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp.-works{
        width: 6.5rem;
        left: -2.2rem;
        bottom: -.8rem;
    }
}

.c-title__sharp .-bird-1, .c-title__sharp .-bird-2{
    position: absolute;
}

.c-title__sharp .-bird-1,
.l-contact__sharp .-bird-1 {
    animation: bird-sharp-1 2s ease-in-out infinite;
}
@keyframes bird-sharp-1 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

.c-title__sharp .-bird-2,
.l-contact__sharp .-bird-2 {
    animation: bird-sharp-2 2.5s ease-in-out infinite;
}
@keyframes bird-sharp-2 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(0);
    }
}

.l-contact__sharp .-flower-1{
    animation: flower-sharp-1 6s linear infinite;
}

.l-contact__sharp .-flower-2{
    animation: flower-sharp-2 9s linear infinite;
}

@keyframes flower-sharp-1 {
    to { transform: rotate(360deg); }
}
@keyframes flower-sharp-2 {
    to { transform: rotate(-360deg); }
}

.home-company-loop__sharp-1, .home-company-loop__sharp-2{
    position: absolute;
}

.home-company-loop__sharp-1{
    left: 0;
    animation: cloud-sharp1 4.5s ease-in-out infinite alternate;
}
@keyframes cloud-sharp1 {
    0% {
        transform: translateX(-10px) translateY(10px);
    }
    50% {
        transform: translateX(10px) translateY(-20px);
    }
    100% {
        transform: translateX(-10px) translateY(10px);
    }
}

.home-company-loop__sharp-2{
    right: 0;
    animation: cloud-sharp1 5.5s ease-in-out infinite alternate;
}
@keyframes cloud-sharp1 {
    0% {
        transform: translateX(0) ;
    }
    50% {
        transform: translateX(-20px);
    }
    100% {
        transform: translateX(0);
    }
}


/*
///////////////////////////////////////////////////////////////
// parts
///////////////////////////////////////////////////////////////
*/
.l-wrapper {
    width: var(--size-all);
    overflow: hidden;
}

/*
///////////////////////////////////////////////////////////////
// parts
///////////////////////////////////////////////////////////////
*/

.home-message__inner{
    position: relative;
}
@media screen and (min-width: 991px) {
    .home-message__inner{
        margin-bottom: 16rem;
    }
}
@media screen and (max-width: 990px) {
    .home-message__inner{
        margin-bottom: 16rem;
    }
}

.home-message__body{ 
    position: relative;
    top: 0;
    width: var(--width-all);
    --home-sharp-width: 1500;
	--home-sharp-height: 900;
}

.home-message__sharp-sp{
    position: relative!important;
}
@media screen and (min-width: 1024px) {
    .home-message__sharp-sp{
        display: none;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-sp{ 
        display: block;
        max-width: 13.2rem;
        width: calc((132 / 768) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-sp{
        max-width: 13.2rem;
        width: calc((132 / 560) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-sp{ 
        max-width: 13.2rem;
        width: calc((132 / 350) * 100%);
    }
}

.home-message__contents{
    background-color: var(--color-white);
    margin-left: auto;
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 1024px) {
    .home-message__contents{
        border-radius: var(--radius-md4);
        width: calc((725 / var(--home-sharp-width)) * 100%);
        padding: 10rem 6rem;
        margin-right: calc((125 / var(--home-sharp-width)) * 100%);
        margin-top: 10rem;
        margin-left: auto;
        z-index: 1;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__contents{
        border-radius: var(--radius-md4);
        max-width: 74em;
        width: calc((1060 / var(--home-sharp-width)) * 100%);
        margin-right: calc((50 / var(--home-sharp-width)) * 100%);
        padding: 10rem 6rem;
        z-index: 1;
    }
}
@media screen and (max-width: 767px) {
    .home-message__contents{
        border-radius: var(--radius-md3);
        width: calc((325 / var(--design-size-sp)) * 100%);
        padding: 7.2rem 3.2rem 8.5rem;
        margin-right: auto;
        margin-left: auto;
    }
}

.home-message__sharp-main{
    width: calc((1500 / var(--home-sharp-width)) * 100%);
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .home-message__sharp-main{ 
        z-index: 2;
        width: calc((375 / var(--design-size-sp)) * 100%);
    }
}

[class*=home-message__sharp]{
    position: absolute;
    pointer-events: none;
}

.home-message__sharp-1,.home-message__sharp-5,.home-message__sharp-8,.home-message__sharp-10{
    animation: float-1 3800ms ease-in-out infinite;
}
@keyframes float-1 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px); 
    }
    100% {
        transform: translateY(0);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-1{
        width: calc((95 / var(--home-sharp-width)) * 100%);
        left: calc((-25 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-1{
        width: calc((110 / var(--home-sharp-width)) * 100%);
        left: calc((-25 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-1{
        width: calc((50/ var(--design-size-sp)) * 100%);
        left: calc((-36 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-1{
        width: calc((50/ var(--design-size-sp)) * 100%);
        left: calc((-36 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-2{
        width: calc((51 / var(--home-sharp-width)) * 100%);
        top: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((520 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-2{
        width: calc((79 / var(--home-sharp-width)) * 100%);
        top: calc((160 / var(--home-sharp-height)) * 100%);
        left: calc((180 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-2{
        width: calc((20 / var(--design-size-sp)) * 100%);
        top: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((265 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-2{
        width: calc((32 / var(--design-size-sp)) * 100%);
        top: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((265 / var(--design-size-sp)) * 100%);
    }
}

.home-message__sharp-heart{
    position: relative;
    z-index: 1;
    aspect-ratio: var(--base-width) / var(--base-height);
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-heart{
        width: 364px;
        height: 492px;
        top: calc((109 / var(--home-sharp-height)) * 100%);
        left: calc((120 / var(--home-sharp-width)) * 100%);
        --base-width: 364;
        --base-height: 492;
    }
}
@media screen and (max-width: 1023px) {
    .home-message__sharp-main .home-message__sharp-heart{
        display: none;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-sp .home-message__sharp-heart{
        display: block;
        width: 421px;
        height: 345px;
        top: calc((205 / var(--home-sharp-height)) * 100%);
        left: calc((120 / var(--home-sharp-width)) * 100%);
        --base-width: 421;
        --base-height: 345;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-sp .home-message__sharp-heart{
        width: 279px;
        height: 332px;
        top: calc((155 / var(--home-sharp-height)) * 100%);
        left: calc((25 / var(--design-size-sp)) * 100%);
        --base-width: 279;
        --base-height: 322;
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-sp .home-message__sharp-heart{
        width: 234px;
        height: 274px;
        top: calc((155 / var(--home-sharp-height)) * 100%);
        left: calc((25 / var(--design-size-sp)) * 100%);
        --base-width: 234;
        --base-height: 274;
    }
}

.home-message__sharp-3{
    width: var(--width-all);
}
@media screen and (min-width: 1024px) {
    .home-message__sharp-3{
        z-index: 2;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-3{
        z-index: 3;
        width: calc((552 / var(--home-sharp-height)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-3{
        z-index: 4;
        width: calc((799 / var(--home-sharp-height)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-3{
        z-index: 4;
        width: calc((799 / var(--home-sharp-height)) * 100%);
    }
}

.home-message__sharp-4{
    width: 78.5%;
}
@media screen and (min-width: 1024px) {
    .home-message__sharp-main .home-message__sharp-4{
        z-index: 1;
        top: calc((525 / var(--home-sharp-height)) * 100%);
        left: calc((455 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-sp .home-message__sharp-4{
        z-index: 2;
        width: calc((492 / var(--home-sharp-height)) * 100%);
        top: calc((356/ var(--home-sharp-height)) * 100%);
        left: calc((605 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-sp .home-message__sharp-4{
        z-index: 3;
         width: calc((654 / var(--home-sharp-height)) * 100%);
        top: calc((460 / var(--home-sharp-height)) * 100%);
        left: calc((155 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-sp .home-message__sharp-4{
        z-index: 3;
        width: calc((654 / var(--home-sharp-height)) * 100%);
        top: calc((460 / var(--home-sharp-height)) * 100%);
        left: calc((155 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-5{
        width: calc((31 / var(--home-sharp-width)) * 100%);
        top: calc((485 / var(--home-sharp-height)) * 100%);
        left: calc((115 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-5{
        width: calc((53 / var(--home-sharp-width)) * 100%);
        top: calc((313 / var(--home-sharp-height)) * 100%);
        left: calc((55 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-5{
        width: calc((22 / var(--design-size-sp)) * 100%);
        top: calc((313 / var(--home-sharp-height)) * 100%);
        left: calc((55 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-5{
        width: calc((22 / var(--design-size-sp)) * 100%);
        top: calc((350 / var(--home-sharp-height)) * 100%);
        left: calc((17 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-semicircle{
        height: 8rem;
        width: calc((155 / var(--home-sharp-width)) * 100%);
        top: calc((608 / var(--home-sharp-height)) * 100%);
        left: calc((69 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-semicircle{
        height: 4.2em;
        width: calc((155 / var(--home-sharp-width)) * 100%);
        top: calc((474 / var(--home-sharp-height)) * 100%);
        left: calc((258 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-semicircle{
        height: 5.5rem;
        width: calc((55 / var(--design-size-sp)) * 100%);
        top: calc((474 / var(--home-sharp-height)) * 100%);
        left: calc((-33 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-semicircle{
        height: 5.5rem;
        width: calc((83 / var(--design-size-sp)) * 100%);
        top: calc((474 / var(--home-sharp-height)) * 100%);
        left: calc((-40 / var(--design-size-sp)) * 100%);
    }
}

.home-message__sharp-6{
    width: 58.5%;
    -webkit-transform: rotate(-22deg) translate3d(0, 0, 0);
    transform: rotate(-22deg) translate3d(0, 0, 0);
}

.home-message__sharp-7{
    width: 58.5%;
    -webkit-transform: rotate(159deg) translate3d(0, 0, 0);
    transform: rotate(159deg) translate3d(0, 0, 0);
}
@media screen and (min-width: 1024px) {
    .home-message__sharp-7{
        top: calc((458 / var(--home-sharp-height)) * 100%);
        left: calc((550 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-7{
        top: calc((360 / var(--home-sharp-height)) * 100%);
        left: calc((550 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-7{
        top: calc((385 / var(--home-sharp-height)) * 100%);
        left: calc((155 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-7{
        top: calc((385 / var(--home-sharp-height)) * 100%);
        left: calc((155 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-8{
        width: calc((118 / var(--home-sharp-width)) * 100%);
        bottom: calc((174 / var(--home-sharp-height)) * 100%);
        left: calc((495 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-8{
        width: calc((118 / var(--home-sharp-width)) * 100%);
        bottom: calc((174 / var(--home-sharp-height)) * 100%);
        left: calc((295 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-8{
        width: calc((55 / var(--design-size-sp)) * 100%);
        bottom: calc((174 / var(--home-sharp-height)) * 100%);
        right: calc((-10 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-8{
        width: calc((55 / var(--design-size-sp)) * 100%);
        bottom: calc((174 / var(--home-sharp-height)) * 100%);
        right: calc((-10 / var(--design-size-sp)) * 100%);
    }
}

.home-message__sharp-9{
    -webkit-transform: rotate(35deg) translate3d(0, 0, 0);
    transform: rotate(35deg) translate3d(0, 0, 0);
}
.home-message__sharp-9{
    animation: float-sway 4s ease-in-out infinite;
}
@keyframes float-sway {
    0% {
        transform: rotate(35deg);
    }
    50% {
        transform: rotate(-35deg);
    }
    100% {
        transform: rotate(35deg);
    }
}
@media screen and (min-width: 1024px) {
    .home-message__sharp-9{
        width: calc((102 / var(--home-sharp-width)) * 100%);
        bottom: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((280 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-9{
        width: calc((102 / var(--home-sharp-width)) * 100%);
        bottom: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((25 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-9{
        width: calc((145 / var(--home-sharp-width)) * 100%);
        bottom: calc((55 / var(--home-sharp-height)) * 100%);
        left: calc((25 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-9{
        width: calc((62 / var(--design-size-sp)) * 100%);
        bottom: calc((-10 / var(--home-sharp-height)) * 100%);
        left: calc((48 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-10{
        width: calc((78 / var(--home-sharp-width)) * 100%);
        top: calc((55 / var(--home-sharp-height)) * 100%);
        right: calc((50 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-10{
    width: calc((78 / var(--home-sharp-width)) * 100%);
    top: calc((55 / var(--home-sharp-height)) * 100%);
    right: calc((50 / var(--home-sharp-width)) * 100%);
}
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-10{
        width: calc((36 / var(--design-size-sp)) * 100%);
        top: calc((105 / var(--home-sharp-height)) * 100%);
        right: calc((5 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .home-message__sharp-10{
        width: calc((36 / var(--design-size-sp)) * 100%);
        top: calc((105 / var(--home-sharp-height)) * 100%);
        right: calc((5 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-message__sharp-11{
        width: calc((71 / var(--home-sharp-width)) * 100%);
        bottom: calc((55 / var(--home-sharp-height)) * 100%);
        right: calc((-11 / var(--home-sharp-width)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-message__sharp-11{
    width: calc((71 / var(--home-sharp-width)) * 100%);
    bottom: calc((55 / var(--home-sharp-height)) * 100%);
    right: calc((-11 / var(--home-sharp-width)) * 100%);
}
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-message__sharp-11{
        width: calc((38 / var(--design-size-sp)) * 100%);
        bottom: calc((-15 / var(--home-sharp-height)) * 100%);
        right: calc((-11 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (max-width: 560px) {
    .home-message__sharp-11{
        width: calc((38 / var(--design-size-sp)) * 100%);
        bottom: calc((-15 / var(--home-sharp-height)) * 100%);
        right: calc((-11 / var(--design-size-sp)) * 100%);
    }
}

.home-message__title-en{
    text-transform: uppercase;
    font-family: var(--font-Outfit);
    font-weight: 500;
    letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
    .home-message__title-en{
        font-size: var(--font-size18);
        margin-bottom: 4.8rem;
    }
}
@media screen and (max-width: 767px) {
    .home-message__title-en{
        font-size: var(--font-size15);
        margin-bottom:2.8rem;
    }
}

.home-message__title-jp{ 
    letter-spacing: 0.1em;
    margin-top: -.9rem;
}
@media screen and (min-width: 768px) {
    .home-message__title-jp{ 
        font-size: var(--font-size24);
        line-height: calc( 46 / 24 );
        margin-bottom: 4.8rem;
    }
}
@media screen and (max-width: 767px) {
    .home-message__title-jp{ 
        font-size: var(--font-size16);
        line-height: calc( 36 / 16 );
        margin-bottom: 2.8rem;
    }
}

/*
///////////////////////////////////////////////////////////////
// home-about
///////////////////////////////////////////////////////////////
*/

@media screen and (min-width: 768px) {
    .home-about__flex{
        display: flex;
        align-items: center;
    }
}
@media screen and (max-width: 767px) {
    .home-about__flex{ 
        display: block;
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        align-items: center;
    }
}

@media screen and (min-width: 768px) {
    .home-about__main{
        flex: 0 0 calc((725 / var(--home-sharp-width)) * 100%);
        padding-left: 5.8rem;
    }
}
@media screen and (max-width: 767px) {
    .home-about__main{
        width: var( --inner-percent-medium);
        margin: 0 auto;
        padding: 0 2.2rem;
    }
}

@media screen and (min-width: 769px) {
    .home-about__txt{
        margin-bottom: 4rem;
    }
}
@media screen and (max-width: 768px) {
    .home-about__txt{
        margin-bottom: 4rem;
    }
}

.home-about__figure{
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .home-about__figure{
        border-radius: var(--radius-3);
    }
}
@media screen and (max-width: 767px) {
    .home-about__figure{
        border-radius: 0 var(--radius-2) var(--radius-2) 0;
    }
}

@media screen and (min-width: 768px) {
    .home-about__figure{ 
        width: calc((675 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .home-about__figure{ 
        width: calc((335 / var(--design-size-sp)) * 100%);
        margin-bottom: 3.2rem;
    }
}

.home-about__figure img{
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    .home-about__catch{
        font-size: var(--font-size24);
        line-height: calc( 32 / 18 );
        margin: 4rem 0;
    }
}
@media screen and (max-width: 767px) {
    .home-about__catch{
        font-size: var(--font-size18);
        line-height: calc( 32 / 18 );
        margin: 2.4rem 0;
    }
}

@media screen and (max-width: 767px) {
    .home-service-full{
        width: var( --inner-percent-medium);
        margin: 0 auto;
    }
}

@media screen and (min-width: 768px) {
    .home-service-full__flex{
        display: flex;
        align-items: center;
    }
    .home-service-full__flex:nth-of-type(2){
        margin-top: 6rem;
        flex-direction: row-reverse;
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__flex{
        display: block;
        margin-bottom: 4rem;
    }
}

@media screen and (min-width: 768px) {
    .home-service-full__figure{
        width: calc((732 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__figure{
        width: var(--size-all);
        margin-bottom: 1.6rem;
    }
}

.home-service-full__picture{
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .home-service-full__picture{
        border-radius: 0 var(--radius-3) var(--radius-3) 0;
    }
    .home-service-full__flex:nth-of-type(2) .home-service-full__picture{
        border-radius: var(--radius-3) 0 0 var(--radius-3);
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__picture{
        border-radius: var(--radius-2);
    }
}

.home-service-full__picture img{
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    .home-service-full__contents{
        width: calc((668 / var(--design-size-pc)) * 100%);
        padding: 0 6.4rem;
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__contents{
        width: var(--size-all);
        padding: 0 2.2rem;
    }
}

@media screen and (min-width: 768px) {
    .home-service-full__catch{
        text-align: center;
        margin-bottom: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__catch{
        text-align: left;
        font-size: var(--font-size18);
        line-height: calc( 32 / 18 );
        margin-bottom: .8rem;
    }
}

.home-service-full__catch-main,
.home-service-row__catch{
    font-weight: 600;
}
@media screen and (min-width: 768px) {
    .home-service-full__catch-main{
        font-size: var(--font-size24);
        line-height: calc( 32 / 18 );
    }
}
@media screen and (max-width: 767px) {
    .home-service-full__catch-main{
        font-size: var(--font-size18);
        line-height: calc( 32 / 18 );
    }
}

@media screen and (min-width: 767px) {
    .home-service-row__catch{
        font-size: var(--font-size18);
        line-height: calc( 32 / 18 );
    }
}
@media screen and (max-width: 767px) {
    .home-service-row__catch{
        display: inline-block;
        width: var(--size-all);
        padding: 0 2.2rem;
        margin-bottom: .8rem;
        font-size: var(--font-size18);
    }
}

@media screen and (max-width: 767px) {
    .home-service-row .c-txt-sm{
        display: inline-block;
        width: var(--size-all);
        padding: 0 2.2rem;
    }
}

.home-service-row__figure{ border: 1px solid red;
    position: relative;
}


.home-service-row__figure .c-mark{
    position: absolute;
    bottom: 2.4rem;
    right: 2.4rem;;

}

.home-service-full__flex .c-button{
    margin: 4rem auto 0;
}

@media screen and (min-width: 768px) {
    .home-service-row{
        display: flex;
        gap: 6rem;
        margin-top: 6rem;
    }
}
@media screen and (max-width: 767px) {
    .home-service-row{
        display: block;
    }
    .home-service-row li{
        margin-bottom: 4rem;
    }
    .home-service-row__figure{
        margin-bottom: 1.6rem;
    }
}

.home-service-row a{
    position: relative;
    overflow: hidden;
    display: block;
}
@media screen and (min-width: 991px) {
    .home-service-row a{
        border-radius: var(--radius-3);
        margin-bottom: 3rem;
    }
}

@media screen and (min-width: 768px) {
    .home-works__header{
        display: flex;
        align-items: end;
    }
}
@media screen and (max-width: 767px) {
    .home-works__header .c-button{
        display: none;
    }
}

@media screen and (min-width: 991px) {
    .home-works__header .c-title{
        width: calc((374 / var(--design-size-pc)) * 100%);
    }
}

.home-works-loop__picture{
    aspect-ratio: 1 / 1;
}

.home-company__header{
    display: flex;
    flex-direction: row-reverse;
    height: var(--size-all);
    }
@media screen and (min-width: 768px) {
    .home-company__header{
        gap: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .home-company__header{
        gap: 1rem;
    }
}
@media screen and (max-width: 767px) {
    .home-company__header .c-button{
        gap: 1rem;
    }
}

.c-title__sharp.-company{
    position: relative;
}
@media screen and (min-width: 1024px) {
    .c-title__sharp.-company{ 
        width: calc((300 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .c-title__sharp.-company{ 
        width: calc((107 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp.-company{ 
        max-width: 8.5rem;
        width: calc((85 / 350) * 100%);
        xwidth: calc((114 / var(--design-size-sp)) * 100%);
    }
}

.c-title__sharp .-bird-2{
    animation: bird-sharp-2 2.5s ease-in-out infinite;
}
@keyframes bird-sharp-2 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(0);
    }
}

@media screen and (min-width: 1024px) {
    .c-title__sharp .-bird-1, .c-title__sharp .-bird-2{
        width: calc((435 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .c-title__sharp .-bird-1, .c-title__sharp .-bird-2{
        width: calc((123 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .c-title__sharp .-bird-1, .c-title__sharp .-bird-2{
        max-width: 13.2rem;
        width: calc((132 / 350) * 100%);
        xwidth: calc((149 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .c-title__sharp .-bird-1{
        right: 3.4rem;
        top: 2.5rem;
    }
    .c-title__sharp .-bird-2{
        left: 3.4rem;
        bottom: 0;
    }
}
@media screen and (max-width: 1023px) {
    .c-title__sharp .-bird-1{
        right: 0;
        top: 2.5rem;
    }
    .c-title__sharp .-bird-2{
        left: 0;
        bottom: 3.7rem;
    }
}

@media screen and (min-width: 1024px) {
    .home-company__title{
        width: calc((1100 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-company__title{
        width: calc((255 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .home-company__title{
        width: calc((250 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (min-width: 1024px) {
    .home-company__catch{
        font-size: var(--font-size22);
        line-height: calc( 32 / 18 );
        margin: 4rem 0;
    }
}
@media screen and (max-width: 1023px) {
    .home-company__catch{
        font-size: var(--font-size16);
        line-height: calc( 32 / 18 );
        margin: 1.8rem 0 1.4rem;
    }
}

.home-company-loop{
    height: var(--size-all);
    position: relative;
}

.home-company-loop__sharp{ 
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
    .home-company-loop__sharp{ 
        width: calc((1350 / var(--design-size-pc)) * 100%);
    }
    .home-company-loop__sharp-1{
        top: -6rem;
    }
    .home-company-loop__sharp-2{
        bottom: -6rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-company-loop__sharp{ 
        width: calc((345 / var(--design-size-sp)) * 100%);
    }
    .home-company-loop__sharp-1{
        top: -4rem;
        left: 1.9rem;
    }
    .home-company-loop__sharp-2{
        bottom: -3rem;
        right: 1rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-company-loop__sharp{ 
        width: calc((355 / var(--design-size-sp)) * 100%);
    }
    .home-company-loop__sharp-1{
        top: -2.8rem;
        left: 1.7rem;
    }
    .home-company-loop__sharp-2{
        bottom: -3rem;
        right: 1rem;
    }
}
@media screen and (max-width: 560px) {
    .home-company-loop__sharp{ 
        width: calc((355 / var(--design-size-sp)) * 100%);
    }
    .home-company-loop__sharp-1{
        top: -1.2rem;
        left: 1.7rem;
    }
    .home-company-loop__sharp-2{
        bottom: -2.2rem;
        right: 0;
    }
}

@media screen and (min-width: 1024px) {
    .home-company-loop__sharp-1, .home-company-loop__sharp-2{
        width: calc((285 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-company-loop__sharp-1, .home-company-loop__sharp-2{
        width: calc((80 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 768px) {
    .home-company-loop__sharp-1, .home-company-loop__sharp-2{
        width: calc((103 / var(--design-size-sp)) * 100%);
    }
}

@media screen and (max-width: 560px) {
    .home-company-loop__sharp-1, .home-company-loop__sharp-2{
        width: calc((103 / var(--design-size-sp)) * 100%);
    }
}

.loop-company .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
}

@media screen and (min-width: 768px) {
    .home-news__header{ 
        display: flex;
        align-items: end;
        gap: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .home-news__header{ 
        display: block;
    }
    .home-news__header .c-button{
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .home-news__header .c-title{
        width: calc((374 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .home-news__header .c-title{
        width: var(--size-all);
    }
}

.c-title__sharp.-news{
    
    animation: news-sharp 12s linear infinite;
}
@keyframes news-sharp {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(-5px, -10px);
    }
    50% {
        transform: translate(-10px, 0);
    }
    75% {
        transform: translate(-5px, 10px);
    }
    100% {
        transform: translate(0, 0);
    }
}
@media screen and (min-width: 1024px) {
    .c-title__sharp.-news{
        width: calc((735 / var(--design-size-pc)) * 100%);
        right: 1.1rem;
        top: -3.5rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .c-title__sharp.-news{
        width: calc((990 / var(--design-size-pc)) * 100%);
        right: -3.9rem;
        top: -3.5rem;
    }
}
@media screen and (max-width: 767px) {
    .c-title__sharp.-news{
        max-width: 12.5rem;
        width: calc((125 / 350) * 100%);
        xwidth: calc((105 / var(--design-size-sp)) * 100%);
        top: -2.2rem;
        left: 7.9rem;
    }
}

.loop-news__button{ 
    margin-left: auto;
    position: relative;
}
@media screen and (min-width: 768px) {
    .loop-news__button{
        height: 6.6rem;
        width: 15.6rem;
    }
}
@media screen and (max-width: 767px) {
    .home-news__header .loop-news__button{
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .home-news-loop{
        width: calc((320 / var(--design-size-sp)) * 100%);
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 768px) {
    .home-news-loop .c-column.-col-3-lg {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .home-news-loop .c-column.-col-3-lg{
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
        .home-news-loop .c-column.-col-3-lg.-gap-c-40{
        -webkit-column-gap: 4rem;
        -moz-column-gap: 4em;
        column-gap: 4em;
        row-gap: 4rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .home-news-loop .c-column.-col-3-lg.-gap-c-40{
        -webkit-column-gap: 3.2rem;
        -moz-column-gap: 3.2em;
        column-gap: 3.2em;
        row-gap: 3.2rem;
    }
}
@media screen and (max-width: 560px) {
    .home-news-loop .c-column.-col-3-lg.-gap-c-40{
        -webkit-column-gap: 3.2rem;
        -moz-column-gap: 3.2em;
        column-gap: 3.2em;
        row-gap: 3.2rem;
    }
}

@media screen and (min-width: 767px) {
    .home-news-loop__crop{
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .home-news-loop__crop{
        display: block;
        margin: 3.2rem auto 0;
    }
}

@media screen and (min-width: 1024px) {
    .home-recruit__inner{
        align-items: flex-end;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(4, 1fr);
        grid-column-gap: 2rem;
        grid-row-gap: 0;
    }
}
@media screen and (min-width: 1024px) {
    .home-recruit__header { 
        grid-area: 1 / 1 / 2 / 2;
    }
    .home-recruit__contents { 
        grid-area: 1 / 2 / 5 / 4;
    }
    .home-recruit__inset { 
        grid-area: 2 / 1 / 5 / 2; 
    }
}

.home-recruit__contents {
    display: block;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-recruit__inset .c-button.-regular{
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 1024px) {
    .home-recruit__sharp{
        margin-bottom: 3rem;
        width: calc((1040 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .home-recruit__sharp{
        width: calc((150 / var(--design-size-sp)) * 100%);
        margin-top: 3rem;
        margin-bottom: 3rem;
        margin-left: auto;
    }
}
@media screen and (max-width: 767px) {
    .home-recruit__sharp{
        width: calc((225 / var(--design-size-sp)) * 100%);
        margin-top: 2.85rem;
        margin-bottom: 2.85rem;
        margin-left: auto;
    }
}

.home-recruit__item-flex{
    flex: 1;
}

.home-works-loop__picture,
.home-company-loop__picture,
.home-service-row__picture{
    overflow: hidden;
    height: 100%;
}
@media screen and (min-width: 768px) {
    .home-works-loop__picture,
    .home-company-loop__picture,
    .home-service-row__picture{
        border-radius: var(--radius-3);
    }
}
@media screen and (max-width: 767px) {
    .home-works-loop__picture,
    .home-company-loop__picture,
    .home-service-row__picture{
        border-radius: var(--radius-2);
    }
}

/*
///////////////////////////////////////////////////////////////
// p-hero
///////////////////////////////////////////////////////////////
*/

.p-hero{
    position: relative;
}
@media screen and (min-width: 1024px) {
    .p-hero{
        margin-bottom: 16rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-hero{
        margin-bottom: 13.5rem;
    }
}
@media screen and (max-width: 767px) {
    .p-hero{
        margin-bottom: 7.5rem;
    }
}

.p-hero__inner{
    position: relative;
    width: var(--size-all);
}
@media screen and (min-width: 1024px) {
    .p-hero__inner{
        display: flex;
        flex-direction: row-reverse;
        min-height: 68.5rem;
    }
}
@media screen and (min-width:2048px) {
    .p-hero__inner{
        min-height: 85.3rem;
    }
}
@media screen and (min-width:1681px) {
    .p-hero__inner{
        min-height: 78.5rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-hero__inner{
        width: calc((350 / var(--design-size-sp)) * 100%);
        margin-left: auto;
    }
}

.p-hero__figure{
    position: relative;
    z-index: 0;
}
@media screen and (min-width: 1024px) {
    .p-hero__figure{
        width: calc((920 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-hero__figure{
        height: 49rem;
        margin-bottom: 4.5rem;
    }
}
@media screen and (max-width: 767px) {
    .p-hero__figure{
        height: 33.5rem;
        margin-bottom: 2.8rem;
    }
}

.p-hero__figure img{
    position: absolute;
    top: 0;
    left: 0;
    width: var(--size-all);
    height: var(--size-all);
    border-radius: var(--radius-sm3) 0 0 var(--radius-sm3);
}

@media screen and (min-width: 1024px) {
    .p-hero__contents{ 
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: calc((480 / var(--design-size-pc)) * 100%);
        padding: calc((55 / var(--design-size-pc)) * 100%)  calc((85 / var(--design-size-pc)) * 100%) calc((55 / var(--design-size-pc)) * 100%) calc((80 / var(--design-size-pc)) * 100%);
    }
}

.p-hero__title-en{
    font-family: var(--font-Outfit);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}
@media screen and (min-width: 1024px) {
    .p-hero__title-en{
        font-size: calc(55 * (100 / var(--design-size-pc)) * 1vw);
    }
}
@media screen and (min-width:1400px) {
    .p-hero__title-en{
        font-size: 6.5rem;
    }
}
@media screen and (min-width: 768px)and (max-width: 1023px) {
    .p-hero__title-en{
        font-size: max(5.5rem, 47px);
    }
}
@media screen and (max-width: 767px) {
    .p-hero__title-en{
        font-size: max(4.7rem, 42px);
    }
}

.p-hero__title-jp{
    letter-spacing: .05em;
}
@media screen and (min-width: 1024px) {
    .p-hero__title-jp{
        font-size: calc(25 * (100 / var(--design-size-pc)) * 1vw);
        margin-top: 1.5rem;
        margin-left: .5rem;
    }
}
@media screen and (min-width:1400px) {
    .p-hero__title-jp{
        font-size: var(--font-size22);
        margin-top: 1.5rem;
        margin-left: .5rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-hero__title-jp{
        font-size: var(--font-size20);
        margin-top: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    .p-hero__title-jp{
        font-size: var(--font-size18);
        margin-top: 1rem;
    }
}


.c-intro{
    font-family: var(--font-Outfit);
    font-weight: 300;
    text-transform: capitalize;
    letter-spacing: .05em;
    xwhite-space: nowrap;
}
@media screen and (min-width: 1024px) {
    .c-intro{
        font-size: max(4.6rem, 40px);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .c-intro{
        margin-bottom: 5rem;
        font-size: var(--font-size36);
    }
}
@media screen and (max-width: 767px) {
    .c-intro{
        font-size: var(--font-size36);
        margin-bottom: 4rem;
    }
}

@media screen and (min-width: 1024px) {
    .u-title-mb{
        margin-bottom: 5.5rem;
    }
}
@media screen and (max-width: 1023px) {
    .u-title-mb{
        margin-bottom: 4rem;
    }
}

/*
///////////////////////////////////////////////////////////////
// about
///////////////////////////////////////////////////////////////
*/

.pg-about-intro__inner{ 
    display: flex;
}
@media screen and (max-width: 1023px) {
    .pg-about-intro__inner{ 
        flex-direction: column;
    }
}

.pg-about-intro__sharp{
    position: relative;
    --base-width: 985;
    --base-height: 766;
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__sharp{
        max-width: 39.5rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-about-intro__sharp{
        width: calc((885 / var(--design-size-pc)) * 100%);
        margin: 0 auto;
    }
}
@media screen and (max-width: 560px) {
    .pg-about-intro__sharp{
        width: calc((350 / var(--design-size-sp)) * 100%);
        margin: 0 auto;
        aspect-ratio: 1 / 1;
    }
}

.pg-about-intro__sharp-1 {
    position: relative;
    z-index: 2;
    animation: heart-float-1 2800ms cubic-bezier(.4,0,.6,1) infinite, sway-1 1800ms ease-in-out infinite;
}
@keyframes heart-float-1 {
    0% {
        transform: translate(0,0) rotate(0deg);
    }
    20% {
        transform: translate(5%, -6%) rotate(-4deg);
    }
    40% {
        transform: translate(-6%, -14%) rotate(6deg);
    }
    70% {
        transform: translate(4%, -22%) rotate(-6deg);
    }
    100% {
        transform: translate(0, -25%) rotate(0deg);
    }
}
@keyframes sway-1 {
    0% {
        transform: translateX(0) rotate(0deg);
    }
    50% {
        transform: translateX(3%) rotate(3deg);
    }
    100% {
        transform: translateX(0) rotate(0deg);
    }
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__sharp-1{
        width: calc((908 / var(--base-width)) * 100%);
        left: calc((-24 / var(--base-width)) * 100%);
        
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-about-intro__sharp-1{
        width: calc((808 / var(--base-width)) * 100%);
        left: calc((-24 / var(--base-width)) * 100%);
    }
}
@media screen and (max-width: 560px) {
    .pg-about-intro__sharp-1{
        width: calc((728 / var(--base-width)) * 100%);
        left: calc((-24 / var(--base-width)) * 100%);
    }
}


.pg-about-intro__sharp-2 {
    position: relative;
    z-index: 1;
    animation: heart-float-2 2800ms cubic-bezier(.4,0,.6,1) infinite, sway-2 1800ms ease-in-out infinite;
}
@keyframes heart-float-2 {
    0% {
        transform: translate(0, -25%) rotate(0deg);
    }
    20% {
        transform: translate(-4%, -22%) rotate(6deg);
    }
    40% {
        transform: translate(6%, -14%) rotate(-4deg);
    }
    70% {
        transform: translate(-5%, -6%) rotate(4deg);
    }
    100% {
        transform: translate(0,0) rotate(0deg);
    }
}
@keyframes sway-2 {
    0% {
        transform: translateX(0) rotate(0deg);
    }
    50% {
        transform: translateX(-3%) rotate(-3deg);
    }
    100% {
        transform: translateX(0) rotate(0deg);
    }
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__sharp-2{
        width: calc((765 / var(--base-width)) * 100%);
        right: calc((-360 / var(--base-width)) * 100%);
        top: calc((-90 / var(--base-height)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-about-intro__sharp-2{
        width: calc((765 / var(--base-width)) * 100%);
        right: calc((-360 / var(--base-width)) * 100%);
        top: -8.5rem; 
    }
}
@media screen and (max-width: 560px) {
    .pg-about-intro__sharp-2{
        width: calc((685 / var(--base-width)) * 100%);
        right: calc((-360 / var(--base-width)) * 100%);
        top: -8.5rem; 
    }
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__title{
        
    }
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__title{
        flex: 1;
        padding: 0 calc((48 / var(--design-size-pc)) * 100%) 0 calc((88 / var(--design-size-pc)) * 100%);
        writing-mode: vertical-rl;
        font-size: var(--font-size28);
        line-height: calc( 47 / 28 );
        letter-spacing: calc(115 / 1000 * 1em)
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-about-intro__title{
        font-size: var(--font-size18);
        line-height: calc( 25 / 16 );
        margin-top: -2rem;
        letter-spacing: calc(60 / 1000 * 1em)
    }
}
@media screen and (max-width: 560px) {
    .pg-about-intro__title{
        font-size: var(--font-size16);
        line-height: calc( 25 / 16 );
        margin-top: -1.6rem;
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (min-width: 1024px) {
    .pg-about-intro__txt{
        width: calc((830 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-about-intro__txt{
        width: var(--size-all);
        margin-top: 2rem;
    }
}
@media screen and (max-width: 560px) {
    .pg-about-intro__txt{
        width: var(--size-all);
        margin-top: 1.6rem;
    }
}

.pg-about-philosophy {
    position: relative;
}

.pg-about-philosophy canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    [class*="c-column"].-gap-c-100{
        -webkit-column-gap: 10.5rem;
        -moz-column-gap: 10.5em;
        column-gap: 10.5em;
        row-gap: 10.5rem;
    }
}
@media screen and (max-width: 767px) {
    [class*="c-column"].-gap-c-100{
        -webkit-column-gap: 6.4rem;
        -moz-column-gap: 6.4em;
        column-gap: 6.4em;
        row-gap: 6.4rem;
    }
}

.pg-about-philosophy__inner{
    position: relative;
    z-index: 1;
    display: grid!important;
    grid-template-columns:repeat(1,minmax(0,1fr));
}


.pg-about-philosophy__inner .c-intro{
    text-align: center;
}


.pg-about-philosophy__inner .c-intro span.en{
    display: block;

}

.pg-about-philosophy__inner .c-intro span.jp{
    display: inline-flex;
}
@media screen and (min-width: 768px) {
    .pg-about-philosophy__inner .c-intro span.jp{
        font-size: var(--font-size13);
    }
}
@media screen and (max-width: 767px) {
    .pg-about-philosophy__inner .c-intro span.jp{
        font-size: var(--font-size12);
    }
}

@media screen and (min-width: 768px) {
    .pg-about-philosophy__inner .c-intro span.jp i{
        width: 1.2rem;
        height: 1.2rem;
        margin-right: .5rem;
    }
}
@media screen and (max-width: 767px) {
    .pg-about-philosophy__inner .c-intro span.jp i{
        width: 1rem;
        height: 1rem;
        margin-right: .3rem;
    }
}

.pg-about-philosophy__title{
    text-align: center;
}
@media screen and (min-width: 768px) {
    .pg-about-philosophy__title{
        font-size: var(--font-size32);
        line-height: calc( 54 / 32 );
        margin-bottom: 4.8rem;;
    }
}
@media screen and (max-width: 767px) {
    .pg-about-philosophy__title{
        font-size: var(--font-size18);
        line-height: calc( 54 / 32 );
        margin-bottom: 4rem;
    }
}

.pg-about-philosophy__catch{
    
    font-weight: 500;
}
@media screen and (min-width: 768px) {
    .pg-about-philosophy__catch{
        text-align: center;
        font-size: var(--font-size19);
        line-height: calc( 54 / 32 );
    }
    .pg-about-philosophy__catch:not(:first-of-type){
        margin-top: 4.8rem;
    }
}
@media screen and (max-width: 767px) {
    .pg-about-philosophy__catch{
        font-size: var(--font-size15);
        line-height: calc( 54 / 32 );
    }
    .pg-about-philosophy__catch:not(:first-of-type){
        margin-top: 4rem;
    }
}

@media screen and (min-width: 768px) {
    .pg-about-philosophy__block .c-txt-lg2{
        text-align: center;
        line-height: calc( 43 / 17 );
    }
}





/*
///////////////////////////////////////////////////////////////
// service
///////////////////////////////////////////////////////////////
*/

.pg-service-nav__inner .p-intro-nav__column{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
@media screen and (min-width: 768px) {
    .pg-service-nav__inner .p-intro-nav__column{ 
        -moz-column-gap: 2.4rem;
        -webkit-column-gap: 2.4rem;
        gap: 2.4rem;
        row-gap: 4.6rem;
    }
}
@media screen and (max-width: 767px) {
    .pg-service-nav__inner .p-intro-nav__column{
        gap: 1.8rem;
        row-gap: 2rem;
        width: calc((311 / var(--design-size-sp)) * 100%);
        margin: 0 auto;
    }
}

@media screen and (min-width: 768px) {
    .pg-service-nav__inner .p-intro-nav__column li{
        width: calc(33.333% - 2.4rem);
    }
}
@media screen and (max-width: 767px) {
    .pg-service-nav__inner .p-intro-nav__column li{
        width: calc(50% - 2.4rem);
    }
}

.p-teams__inner{
    background: linear-gradient(180deg, #EDEDED 0 65%, #FFFFFF 0% 35%);
}
@media screen and (min-width: 1024px) {
    .p-teams__inner{
        padding-top: 16rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-teams__inner{
        padding-top: 12rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__inner{
        padding-top: 9.5rem;
    }
}

.p-teams__box{
    position: relative;
    background-color: var(--color-white);
}
@media screen and (min-width: 768px) {
    .p-teams__box{
        border-radius: var(--radius-3);
        padding: calc((95 / var(--design-size-pc)) * 100%) calc((60 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-teams__box{
        border-radius: var(--radius-2);
        padding: calc((38 / var(--design-size-sp)) * 100%) calc((25 / var(--design-size-sp)) * 100%);
    }
}

.p-teams__contents{
    display: flex;
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__contents{
        gap: 3.2rem;
        margin-top: 3.2rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 767px) {
    .p-teams__contents{ 
        gap: 1.4rem;
        margin-top: 3.2rem;
    }
}

.p-teams__header{ 
    position: relative;
    flex: 1;
    z-index: 1;
}
@media screen and (min-width: 1024px) {
    .p-teams__header{
        top: -15rem;
        padding-right: calc((24 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .p-teams__header{
        top: 0;
    }
}
@media screen and (max-width: 560px) {
    .p-teams__header{
        top: 0;
        min-height: 24.5rem;
    }
}

.p-teams__title-jp{
    display: block;
    font-weight: 600;
    writing-mode: vertical-lr;
    letter-spacing: calc(111 / 1000 * 1em)
}
@media screen and (min-width: 768px) {
    .p-teams__title-jp{
        font-size: var(--font-size38);
        margin: 0 auto 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__title-jp{
        font-size: var(--font-size20);
        margin: 0 auto 1rem;
    }
}

.p-teams__title-en{
    font-family: var(--font-Outfit);
    font-weight: 400;
    text-transform: capitalize;
    letter-spacing: calc(20 / 1000 * 1em);
    text-align: center;
}
@media screen and (min-width: 1024px) {
    .p-teams__title-en{
        font-size: var(--font-size11);
        line-height: calc( 16 / 11 );
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-teams__title-en{
        font-size: var(--font-size11);
        line-height: calc( 16 / 11 );
    }
}
@media screen and (max-width: 767px) {
    .p-teams__title-en{
        font-size: var(--font-size7);
        line-height: calc( 16 / 11 );
    }
}

@media screen and (min-width: 768px) {
    .p-teams__catch{
        font-size: var(--font-size22);
        line-height: calc( 32 / 22 );
        margin-bottom: 2.4rem;
        
    }
}
@media screen and (max-width: 767px) {
    .p-teams__catch{
        font-size: var(--font-size18);
        line-height: calc( 32 / 22 );
        margin-bottom: 1.6rem;
    }
}

.p-teams__figure{
    position: relative;
    flex: 1;
    overflow: hidden;
}
@media screen and (min-width: 1024px) {
    .p-teams__figure{
        aspect-ratio: 4 / 3;
        border-radius: var( --radius-15);
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__figure{
        aspect-ratio: 1 / .8;
        border-radius: var( --radius-1);
    }
}

.p-teams__figure picture,
.p-teams__figure img{
    height: 100%;
}

@media screen and (min-width: 1024px) {
    .p-teams__main{ 
        width: calc((1180 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-teams__main{
        width: calc((325 / var(--design-size-sp)) * 100%);
    }
}
@media screen and (max-width: 767px) {
    .p-teams__main{
        width: calc((313 / var(--design-size-sp)) * 100%);
        height: fit-content;
    }
}

.p-teams__main-flex{ 
    display: flex;
}
@media screen and (min-width: 1024px) {
    .p-teams__main-flex{
        -moz-column-gap: 3.2rem;
        -webkit-column-gap: 3.2rem;
        column-gap: 3.2rem;
        align-items: center;
    }
}

@media screen and (min-width: 1024px) {
    .p-teams__desc{ 
        width: calc((780 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__desc{ 
        display: none;
    }
}

@media screen and (min-width: 1024px) {
    .p-teams__lineup{
        display: flex;
    }
}
@media screen and (min-width: 767px) and (max-width: 1023px) {
    .p-teams__lineup{
        display: flex;
        flex-direction: column;
        width: calc((263 / var(--design-size-sp)) * 100%);
        margin: 0 auto;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__lineup{
        display: flex;
        flex-direction: column;
        width: calc((320 / var(--design-size-sp)) * 100%);
        margin: 0 auto;
    }
}

@media screen and (min-width: 1024px) {
    .p-teams__lineup{
        -moz-column-gap: 1.8rem;
        -webkit-column-gap: 1.8rem;
        column-gap: 1.8rem;
        margin-top: 4.8rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__lineup{
        -moz-column-gap: 2.4rem;
        -webkit-column-gap: 2.4rem;
        column-gap: 2.4rem;
        gap: 2.4rem;
        margin-top: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__lineup{
        gap: 2.4rem;
        row-gap: 2.4rem;
        margin-top: 3.2rem;
    }
}

@media screen and (min-width: 1024px) {
    .p-teams__lineup.-pc-ass{
        display: flex;
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__lineup.-pc-ass{
        display: none;
    }
}

@media screen and (min-width: 1024px) {
    .p-teams__crop,
    .p-teams__crop .p-teams__lineup{
        display: none;
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__crop .p-teams__lineup{
        display: flex;
        flex-direction: column;
    }
}

.p-teams__lineup-figure{ 
    width: var(--size-all);
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .p-teams__lineup-figure{
        aspect-ratio: 4 / 3; 
        border-radius: var( --radius-15);
        margin-bottom: 1.2rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__lineup-figure{
        aspect-ratio: 3 / 2; 
        border-radius: var( --radius-15);
        margin-bottom: .8rem;
    }
}

.p-teams__lineup-figure picture,
.p-teams__lineup-figure img{
    height: 100%;
}

@media screen and (min-width: 1024px) {
    .p-teams__lineup .c-txt-sm2{
        line-height: calc( 19 / 11 );
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__lineup .c-txt-sm2{
        font-size: var(--font-size11);
        line-height: calc( 19 / 11 );
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__crop{
        display: block;
        margin-top: 3.2rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__crop{
        xmargin-top: 2.8rem;
    }
}

.p-teams__txt-link{
    display: flex;
    align-items: center;
    color: var(--color-blue3);
}
@media screen and (min-width: 1024px) {
    .p-teams__txt-link:first-of-type{
        margin-top: 1.2rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-teams__txt-link:first-of-type{
        margin-top: .8rem;
    }
}

.p-teams__txt-link:hover{
    opacity: .5;
}

.p-teams__txt-link i{
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 1024px) {
    .p-teams__txt-link i{
        width: 1.2rem;
        height: 1.2rem;
        margin-left: .5rem;
        margin-top: .3rem;
    }
}

.p-teams__sharp{
    width: var(--size-all);
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp{
        margin-top: 3.2rem;
        height: 7.55rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp{
        margin-top: 3.2rem;
        height: 7.55rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp{
        margin-top: 2.4rem;
        height: 6.55rem;
    }
}

.p-teams__sharp-item.-power,
.p-teams__sharp-item.-electrical,
.p-teams__sharp-item.-road,
.p-teams__sharp-item.-beauty,
.p-teams__sharp-item.-pr{
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
}

.p-teams__sharp-item.-power{
    -webkit-animation: power 3000ms infinite ease-in-out;
    animation: power 3000ms infinite ease-in-out;
}
@keyframes power {
    0% {
        -webkit-transform: translateX(-50%) rotate(25deg);
        transform: translateX(-50%) rotate(25deg);
    }
    50% {
        -webkit-transform: translateX(-50%) rotate(65deg);
        transform: translateX(-50%) rotate(65deg);
    }
    100% {
        -webkit-transform: translateX(-50%) rotate(25deg);
        transform: translateX(-50%) rotate(25deg);
    }
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp-item.-power{
        width: 8.8rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp-item.-power{
        width: 7.4rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp-item.-power{
        width: 4.25rem;
    }
}

.p-teams__sharp-item.-electrical{
    -webkit-transform: translateX(-50%) rotate(25deg);
    transform: translateX(-50%) rotate(25deg);
    -webkit-animation: electrical 4500ms infinite ease-in-out;
    animation: electrical 4500ms infinite ease-in-out;
}
@keyframes electrical {
    0%{
        transform: translateX(-50%) scale(1) rotate(0deg);
    }
    25% {
        transform: translateX(-50%) scale(1.15) rotate(90deg);
    }
    50% {
        transform: translateX(-50%) scale(0.95) rotate(180deg);
    }
    75% {
        transform: translateX(-50%) scale(1.15) rotate(270deg);
    }
    100% {
        transform: translateX(-50%) scale(1) rotate(360deg);
    }
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp-item.-electrical{
        width: 8.8rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp-item.-electrical{
        width: 7.4rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp-item.-electrical{
        width: 3.8rem;
    }
}

.p-teams__sharp-item.-road{
    -webkit-animation: road 3400ms infinite ease-in-out;
    animation: road 3400ms infinite ease-in-out;
}
@keyframes road {
    0% {
        -webkit-transform: translateX(-50%) rotate(25deg);
        transform: translateX(-50%) rotate(25deg);
    }
    50% {
        -webkit-transform: translateX(-50%) rotate(65deg);
        transform: translateX(-50%) rotate(65deg);
    }
    100% {
        -webkit-transform: translateX(-50%) rotate(25deg);
        transform: translateX(-50%) rotate(25deg);
    }
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp-item.-road{
        width: 8rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp-item.-road{
        width: 6.8rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp-item.-road{
        width: 3.55rem;
    }
}

.p-teams__sharp-item.-beauty{
    -webkit-transform-origin: center center;
    transform-origin: center center;
    animation: beauty 4500ms ease-in-out infinite;
    -webkit-animation: beauty 4500ms ease-in-out infinite;
}
@keyframes beauty {
    0% {
        -webkit-transform: translateX(-50%) scale(1) rotate(0deg);
        transform: translateX(-50%) scale(1) rotate(0deg);
    }
    25% {
        -webkit-transform: translateX(-50%) scale(1.15) rotate(90deg);
        transform: translateX(-50%) scale(1.15) rotate(90deg);
    }
    50% {
        -webkit-transform: translateX(-50%) scale(0.95) rotate(180deg);
        transform: translateX(-50%) scale(0.95) rotate(180deg);
    }
    75% {
        -webkit-transform: translateX(-50%) scale(1.15) rotate(270deg);
        transform: translateX(-50%) scale(1.15) rotate(270deg);
    }
    100% {
        -webkit-transform: translateX(-50%) scale(1) rotate(360deg);
        transform: translateX(-50%) scale(1) rotate(360deg);
    }
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp-item.-beauty{
        width: 7.8rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp-item.-beauty{
        width: 6.4rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp-item.-beauty{
        width: 3.1rem;
    }
}

.p-teams__sharp-item.-pr{
    -webkit-animation: pr 2500ms ease-in-out infinite;
    animation: pr 2500ms ease-in-out infinite;
}
@keyframes pr {
    0% {
        -webkit-transform: scale(1) translateX(-50%);
        transform: scale(1) translateX(-50%);
    }
    25% {
        -webkit-transform: scale(0.8) translateX(-50%);
        transform: scale(0.8) translateX(-50%);
    }
    50% {
        -webkit-transform: scale(1.05) translateX(-50%);
        transform: scale(1.05) translateX(-50%);
    }
    75% {
        -webkit-transform: scale(0.95) translateX(-50%);
        transform: scale(0.95) translateX(-50%);
    }
    100% {
        -webkit-transform: scale(1) translateX(-50%);
        transform: scale(1) translateX(-50%);
    }
}
@media screen and (min-width: 1024px) {
    .p-teams__sharp-item.-pr{
        width: 8.4rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .p-teams__sharp-item.-pr{
        width: 7.0rem;
    }
}
@media screen and (max-width: 767px) {
    .p-teams__sharp-item.-pr{
        width: 3.9rem;
    }
}


/*
///////////////////////////////////////////////////////////////
// company
///////////////////////////////////////////////////////////////
*/

.pg-company-greeting__catch{
    line-height: 1.75;
}
@media screen and (min-width: 768px) {
    .pg-company-greeting__catch{
        margin-top: -1.3rem;
        font-size: var(--font-size30);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .pg-company-greeting__catch{
        font-size: var(--font-size25);
    }
}
@media screen and (max-width: 767px) {
    .pg-company-greeting__catch{
        font-size: var(--font-size18);
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-greeting__name{
        text-align: right;
        font-size: var(--font-size18);
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .pg-company-greeting__name{
        text-align: center;
        font-size: var(--font-size16);
    }
}
@media screen and (max-width: 767px) {
    .pg-company-greeting__name{
        text-align: center;
        font-size: var(--font-size15);
    }
}

.pg-company-greeting__name small{
    display: inline-block;
}
@media screen and (min-width: 1024px) {
    .pg-company-greeting__name small{
        font-size: var(--font-size13);
        margin-right: .5rem;
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px){
    .pg-company-greeting__name small{
        font-size: var(--font-size13);
        margin-right: .5rem;
    }
}
@media screen and (max-width: 767px) {
    .pg-company-greeting__name small{
        font-size: var(--font-size11);
        margin-right: .35rem;
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-greeting__contents{
        display: flex;
        flex-direction: row-reverse;
        margin-top: 6.4rem;
        -webkit-column-gap:6.4rem;
        -moz-column-gap: 6.4rem;
        column-gap: 6.4rem;
        gap: 6.4rem;
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-greeting__contents{
        flex-direction: column;
        margin-top: 1.3rem;
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-greeting__txt{
        width: calc((895 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-greeting__txt{
        width: var(--size-all);
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-greeting__picture{
        width: calc((505 / var(--design-size-pc)) * 100%);
        padding: 0 calc((18 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px) {
    .pg-company-greeting__picture{
        width: calc((146 / var(--design-size-sp)) * 100%);
        margin: 3.2rem auto 0;
    }
}
@media screen and (max-width: 560px) {
    .pg-company-greeting__picture{
        width: calc((238 / var(--design-size-sp)) * 100%);
        margin: 0 auto;
    }
}

.pg-company-greeting__figure{
    overflow: hidden;
}
@media screen and (min-width: 1024px) {
    .pg-company-greeting__figure{
        border-radius: var( --radius-15);
        margin-bottom: 1.2rem;
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-greeting__figure{
        border-radius: var( --radius-1);
        margin-bottom: .8rem;
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-history__header{
        margin: 0 4rem 5rem;
    }
}

@media screen and (min-width: 768px) {
    .pg-company-history__contents{
        display: flex;
        flex-wrap: wrap;
        width: var(--size-all);
        -webkit-column-gap:4.8rem;
        -moz-column-gap: 4.8em;
        column-gap: 4.8em;
    }
}

@media screen and (min-width: 768px) {
    .pg-company-history__item{ 
        flex: 1 1 calc(50% - 4.8rem);
    }
    .pg-company-history__item:nth-of-type(1),
    .pg-company-history__item:nth-of-type(3){ 
        margin-top: 5.8rem;;
    }
}
@media screen and (max-width: 767px) {
    .pg-company-history__item{
        width: var(--size-all);
    }
    .pg-company-history__item:not(:last-of-type){
        margin-bottom: 3rem;
    }
}

.pg-company-history__figure{
    width: var(--size-all);
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .pg-company-history__figure{
        margin-bottom: 1.6rem;
        border-radius: var( --radius-15);
    }
}
@media screen and (max-width: 767px) {
    .pg-company-history__figure{
        border-radius: var( --radius-1);
        margin-bottom: 1.2rem;
    }
}

.pg-company-history__txt{
    display: inherit;
}
@media screen and (max-width: 767px) {
    .pg-company-history__txt{
        width: var(--inner-percent-medium);
        margin: 0 auto;
    }
}

.pg-company-office__inner,
.pg-company-outline__inner{
    display: flex;
}
@media screen and (min-width: 1024px) {
    .pg-company-office__inner,
    .pg-company-outline__inner{
        gap: 5rem;
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-office__inner,
    .pg-company-outline__inner{
        display: block;
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-office__header,
    .pg-company-outline__header{
        flex: 1;
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-office__header,
    .pg-company-outline__header{
        width: var(--size-all);
    }
}

@media screen and (min-width: 1024px) {
    .pg-company-office__contents,
    .pg-company-outline__contents{
        width: calc((975 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 1023px) {
    .pg-company-office__contents,
    .pg-company-outline__contents{
        width: var(--size-all);
    }
}

/*
///////////////////////////////////////////////////////////////
// article
///////////////////////////////////////////////////////////////
*/

.p-article-hero__inner{
	width: var(--size-all);
    margin-left: auto;
}
@media screen and (min-width: 1024px) {
    .p-article-hero__inner{
        width: calc((1440 / var(--design-size-pc)) * 100%);
    }
}
@media screen and (max-width: 1023px) {
    .p-article-hero__inner{
        width: calc((350 / var(--design-size-sp)) * 100%);
    }
}

.p-article-hero__figure{
    position: relative;
    z-index: 0;
    height: var(--size-all);
    margin-left: auto;
}
@media screen and (min-width: 1024px) {
    .p-article-hero__figure{ 
        width: calc((1250 / var(--design-size-pc)) * 100%);
        height: 68.5rem;
    }
}
@media screen and (min-width: 561px) and (max-width: 1023px){
    .p-article-hero__figure{
        height: 49rem;
    }
}
@media screen and (max-width: 560px) {
    .p-article-hero__figure{
        height: 33.5rem;
    }
}

.p-article-hero__figure img{
    position: absolute;
    top: 0;
    left: 0;
    width: var(--size-all);
    height: var(--size-all);
}
@media screen and (min-width: 1024px) {
    .p-article-hero__figure img{
        border-radius: var(--radius-3) 0 0 var(--radius-3);
    }
}
@media screen and (max-width: 1023px) {
    .p-article-hero__figure img{
        border-radius: var(--radius-2) 0 0 var(--radius-2);
    }
}

@media screen and (min-width: 1024px) {
    .p-article__data{ 
        width: calc((1250 / var(--design-size-pc)) * 100%);
        margin-top: 5.5rem;
        margin-left: auto;
        padding-right: 16.8rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__data{
        width: calc((350 / var(--design-size-sp)) * 100%);
        margin-top: 3rem;
        margin-right: auto;
    }
}

.p-article__time{
    font-family: var(--font-Outfit);
    font-weight: 400;
}
@media screen and (min-width: 1024px) {
    .p-article__time{
        font-size: var(--font-size16);
    }
}
@media screen and (max-width: 1023px) {
    .p-article__time{
        font-size: var(--font-size13);
    }
}

.p-article__title{
    font-weight: 600;
}
@media screen and (min-width: 1024px) {
    .p-article__title{
        font-size: var(--font-size20);
        line-height: 2;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__title{
        font-size: var(--font-size18);
        line-height: 1.75;
    }
}

.p-article__contents{
    font-weight: 500;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 1024px) {
    .p-article__contents{
        max-width: 85.5rem;
        font-size: var(--font-size15);
        line-height: calc( 35 / 15 );
        margin-top: 8.5rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__contents{
        width: var(--inner-percent-medium);
        font-size: var(--font-size13);
        line-height: calc( 25 / 13 );
        margin-top: 4rem;
    }
}

.p-article__contents p::before,
.p-article__contents p::after{
    content: "";
    display: block;
    width: 0;
    height: 0;
}
@media screen and (min-width: 1024px) {
    .p-article__contents p:not(:first-of-type):before{
        margin-top: 2.4em;
    }
    .p-article__contents p:not(:last-of-type):after{
        margin-bottom: 2.4em;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__contents p:not(:first-of-type):before{
        margin-top: 1.8em;
    }
    .p-article__contents p:not(:last-of-type):after{
        margin-bottom: 1.8em;
    }
}

@media screen and (min-width: 1024px) {
    .p-article__contents h2{
        font-size: var(--font-size20);
        margin-bottom: 2.4em;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__contents h2{
        font-size: var(--font-size16);
        margin-bottom: 1.8em;
    }
}

@media screen and (min-width: 1024px) {
    .p-article__contents h3{
        font-size: var(--font-size18);
        margin-bottom: 2.4em;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__contents h3{
        font-size: var(--font-size16);
        margin-bottom: 1.8em;
    }
}

.p-article__contents img{
    width: var(--size-all);
    height: var(--size-all);
    border-radius: var(--radius-3);
    overflow: hidden;
}
@media screen and (min-width: 1024px) {
    .p-article__contents img{
        margin-bottom: 2.4rem;
    }
}
@media screen and (max-width: 1023px) {
    .p-article__contents img{
        margin-bottom: 1.8rem;
    }
}

@media screen and (min-width: 1024px) {
    .p-article-more{
        margin-top: 16rem; 
    }
}
@media screen and (max-width: 1023px) {
    .p-article-more__inner{
        margin-top: 8.5rem; 
    }
}

.p-article-more__header .c-intro{
    font-weight: 400;
}
@media screen and (max-width: 1023px) {
    .p-article-more__header .c-intro{
        text-align: center;
        font-size: var(--font-size28);
    }
}

.loop-news__wrapper{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

/*
///////////////////////////////////////////////////////////////
// l-pagenavi
///////////////////////////////////////////////////////////////
*/

.l-pagenavi{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
@media screen and (min-width: 1024px) {
    .l-pagenavi{
        margin-top: 6.4rem;
    }
}
@media screen and (max-width: 1023px) {
    .l-pagenavi{
        margin-top: 3.2rem;
    }
}

.l-pagenavi .wp-pagenavi{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
}
@media screen and (min-width: 769px) {
    .l-pagenavi .wp-pagenavi{
        gap: 1.6rem;
    }
}
@media screen and (max-width: 768px) {
    .l-pagenavi .wp-pagenavi{
        gap: 1.45rem;
    }
}

.l-pagenavi .wp-pagenavi a,
.l-pagenavi .wp-pagenavi span{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: var(--font-Outfit);
    font-weight: 500;
    border: none!important;
    margin: 0!important;
    text-transform: uppercase;
    -webkit-transition: 280ms cubic-bezier(.25, .46, .45, .94);
    transition: 280ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-delay: background-color, color;
    transition-delay: background-color, color;
}
@media screen and (min-width: 768px) {
    .l-pagenavi .wp-pagenavi a,
    .l-pagenavi .wp-pagenavi span{ 
        border-radius: var(--radius-5);
        padding: 4.8rem 1.4rem;
        max-width: 4.55rem;
        max-height: 6.2rem;
        font-size: var(--font-size18);
    }
}
@media screen and (max-width: 767px) {
    .l-pagenavi .wp-pagenavi a,
    .l-pagenavi .wp-pagenavi span{ 
        border-radius: var(--radius-5);
        padding: 3.2rem 1rem;
        max-width: 4.05rem;
        max-height: 5.25rem;
        font-size: var(--font-size16);
    }
}

.l-pagenavi .wp-pagenavi .page{
    color: var(--color-black);
    background-color: var(--color-gray4);
}

.l-pagenavi .wp-pagenavi .page:hover{
    color: var(--color-white);
    background-color: var(--color-skyblue);
    border: none!important;
}

.l-pagenavi .wp-pagenavi .current{
    color: var(--color-white);
    background-color: var(--color-skyblue);
    border: none!important;
}

.l-pagenavi .wp-pagenavi .pages,
.l-pagenavi .wp-pagenavi .previouspostslink,
.l-pagenavi .wp-pagenavi .nextpostslink{
    display: none!important;
}

/*
///////////////////////////////////////////////////////////////
// pg-blog-archive　works-archive
///////////////////////////////////////////////////////////////
*/

.p-archive