@charset "UTF-8";
/* ==========================
main
========================== */
/* article header */
.article__header {
    display: flex;
    flex-direction: column;
    margin-top: 80px;
}

.mainImg {
    order: 0;
}

.mainTitle {
    position: relative;
    order: 2;
    padding-left: 6.4%;
    font-family: "Shippori Mincho";
    font-size: 7.0vw;
    line-height: 1.5;
}

.mainTitle::after {
    position: absolute;
    display: block;
    content: '';
    width: 90.9%;
    height: 100%;
    top: 70%;
    left: 0;
    transform: translateY(-50%);
    background-color: #FDFFF0;
    z-index: -1;
}

.backTitle {
    order: 1;
    font-family: "Spectral";
    color: #F0C183;
    font-size: 9.0vw;
    font-weight: 300;
    line-height: 1.5;
    margin-top: -5%;
    text-align: right;
    transform: translateX(1%);
}

.section__txt--articleHeader {
    order: 3;
    margin-top: 50px;
}

.tx__space {
    display: block;
    margin-top: 24px;
}

.br__pc {
    display: none;
}

.inview.fadeup {
	opacity: 0;
	transition-duration: 1s;
	transform: translateY(10px);
}
.inview.fadeup.active {
	opacity: 1;
	transform: translateY(0px);
}

/* article header PC */
@media screen and (min-width: 768px) {
    .article__header {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 100px;
    }

    .mainImg {
        order: 0;
        width: 58.4%;
    }

    .mainTitle {
        order: 1;
        width: 41.6%;
        font-size: 2.8vw;
        line-height: 1.5;
        padding: 15% 0 0 3%;

    }

    .mainTitle::after {
        display: none;
    }

    .backTitle {
        order: 2;
        width: 100%;
        font-size: 4.8vw;
        margin-top: -130px;
        text-align: right;
        transform: translateX(-4%);
    }

    .section__txt--articleHeader {
        position: relative;
        font-size: 1.8rem;
        width: 100%;
        text-align: center;
        padding-bottom: 80px;
    }

    .section__txt--articleHeader::after {
        position: absolute;
        display: block;
        content: '';
        width: 100%;
        height: 180%;
        top: 50px;
        left: 0;
        transform: translateY(-50%);
        background-color: #FDFFF0;
        z-index: -1;
    
    }

    .br__pc {
        display: block;
    }
}

/* profile */
.section--profile {
    background: #EFF0BC;
    padding: 100px 0;
    position: relative;
    margin-top: 80px;
}

.title__sml {
    font-size: 2.4rem;
}

.egTitle--profile {
    position: absolute;
    color: #FDFFF0;
    top: 20px;
    transform: translateX(-10px);
}

.profile__img {
    margin-top: 35px;
    padding: 0 29.8%;
}

.section__txt--profile {
    margin-top: 30px;
}

.btn {
    display: block;
    background-color:#FFF;
    border: 1px solid #333;
    width: 220px;
    padding: 10px 0 10px 20px;
    color: #333;
    font-family: "Shippori Mincho";
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: left;
    margin: 40px auto 0;
    position: relative;
}

.btn::after {
    position: absolute;
    display: block;
    content: '';
    width: 77px;
    height: 9px;
    background-image:url(../img/btn_arrow.svg);
    background-repeat: no-repeat;
    top: 50%;
    right: -36px;
    transform: translateY(-50%);
}

@media screen and (min-width: 768px){
    .section--profile {
        position: relative;
        margin-top: 160px;
        background-color: rgba(255, 255, 255, 0);
    }

    .section--profile::after {
        position: absolute;
        display: block;
        content: '';
        width: 90.3%;
        height: 450px;
        background-color: #EFF0BC;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .egTitle--profile {
        position: absolute;
        color: #FDFFF0;
        top: -10px;
        transform: translateX(-10px);
    }

    .section__title--yoga {
        margin-top: 20px;
    }

    .title__sml {
        font-size: 3.2rem;
    }

    .profile__group {
        display: flex;
        flex-direction: row-reverse;
        gap: 10.3%;
        align-items: center;
        padding: 0 16.6%;
    }

    .profile__subGroup {
        width: 46%;
    }

    .profile__img {
        padding: 0;
    }

    .section__txt--profile {
        padding: 0;
    }

    .btn--profile {
        margin-top: 130px;
    }
}

/* Service */
.egTitle--service {
    color: rgba(243, 244, 212, 0.80);
    margin-top: -139px;
    transform: translateX(-10px);
}

.service__img--pc {
    display: none;
}

.section__title--service {
    display: block;
    width: 83%;
    position: relative;
    z-index: 1;
    background-color:#FFF;
    padding: 16px 0;
    margin: -10px auto;
}

.scrBtn__group {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 0 auto;
    margin-top: 35px;
}

.scrBtn--yoga, .scrBtn--marma {
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 1.8rem;
    line-height: 1.8;
    width: 150px;
    padding: 10px 0;
}

.scrBtn--yoga {
    background-color: #FCFBDD;
}

.scrBtn--marma {
    background-color: #EFF0BC;
}

.scrBtn {
    position: relative;
}

.scrBtn::after {
    position: absolute;
    display: block;
    content: '';
    width: 150px;
    height: 50px;
    border-right: 1px solid #D0CFCF;
    border-bottom: 1px solid #D0CFCF;
    top: 32px;
    left: 4px;
    transform: translateY(-50%);
}

.service__item {
    text-align: center;
}

.section__txt--service {
    margin-top: 35px;
}

.serviceImg {
    margin-top: 100px;
}

.serviceImg__btm {
    padding-right: 20.5%;
}

.serviceImg__top {
    padding-left: 51.2%;
    margin-top: -25%;
}

.service__txt {
    margin-top: -50px;
    padding: 90px 4.2%;
    text-align: left;
}

.service__txt--yoga {
    background-color: #FCFBDD;
}

.section__txt--description {
    margin-top: 50px;
    padding: 0;
}

.service__txt--marma {
    background-color: #EFF0BC;
}

.btn--marma {
    width: 250px;
}
/* Service_PC */
@media screen and (min-width: 768px){
    .service__img--sp {
        display: none;
    }

    .service__img--pc {
        display: block;
        width: 100%;
    }

    .egTitle--service {
        margin-top: -300px;
        transform: translateX(-10px);
    }

    .section__title--service {
        z-index: 1;
        background-color:#FFF;
        padding: 20px 0;
    }

    .scrBtn__group {
        display: none;
    }

    .section__txt--service {
        font-size: 1.8em;
        text-align: center;
    }

    .service {
        display: flex;
        flex-wrap: wrap; /* 必要なら折り返し */
        max-width: 1160px;
        width: 80.5%;
        gap: 80px; /* 要素間の余白 */
        margin: 0 auto;
    }

    .service__item {
        display: flex;
        min-width: 372px;
        flex-direction: column;
        flex: 1;
    }

    .service__txt {
    flex-grow: 1; /* 高さを揃える */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* ボタンを下部に配置 */
    }

    .serviceImg__top {
        position: relative;
        z-index: 1;
    }

    .service__imgBtm {
        margin-top: -100px;
    }

    .section--service {
        position: relative;
    }

    .section--service::after {
        position: absolute;
        display: block;
        content: '';
        width: 100%;
        height: 317px;
        background-image:url(../img/title_service-btm.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        bottom: -180px;
        left: 0;
        z-index: -3;
    }

    .service__txt {
        display: flex;
        flex-direction: column;
        text-align: center;
        padding: 90px 17.7%;
    }

    .txt__inner {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    .section__txt--description {
        text-align: left;
        flex-grow: 1;
    }
}
/* PC 768px */

/* Instagram */
.section--instagram {
    margin-top: 38px;
}

.egTitle--Insta {
    color: #F3F4D4;
    transform: translateX(-10px);
}

.instagram__linkGroup {
    margin-top: 35px;
}

/* instagram_PC */
@media screen and (min-width: 768px){
    .instagram__linkGroup {
        margin-top: 100px;
        padding: 0 9.7%;
    }
}

.btn--link {
    position: relative;
    padding: 10px 30px 10px 0px;
    padding-left: 0px;
    text-align: center;
}

.btn--link::before {
    position: absolute;
    display: block;
    content: '';
    width: 30px;
    height: 29px;
    background-image: url(../img/icon_link.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: 135px;
}

.btn--link::after {
    display: none;
}

/* Instagram_PC */
@media screen and (min-width: 768px){
    .section--instagram {
        margin-top: 290px;
    }
    
    .section__title--Insta {
        position: relative;
        margin-top: -90px;
    }

    .section__txt--instagram {
        margin-top: 35px;
        text-align: center;
    }
}
/* PC 768px */