@charset "utf-8";

/* ==========================================
about01
========================================== */

.aboutWr01 {
    background-color: var(--black);
    color: var(--white);
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.aboutImgBox01 {
    max-width: 78rem;
    width: 40.63%;
    position: relative;
}

.aboutImgBox01>figure {
    width: 100%;
    height: 100%;
}

.aboutImgBox01>figure>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aboutTextBoxWr01 {
    max-width: 153.5rem;
    width: 79.95%;
    margin: 0 0 0 -20.57%;
    position: relative;
    z-index: 2;
    padding: 9rem 1.5rem 13.3rem;
}

.aboutImgBox01:before {
    content: "";
    position: absolute;
    width: 30%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: #FFF8EE;
    background: linear-gradient(270deg, rgba(0, 0, 0, 1) 3%, rgba(0, 0, 0, 0) 100%);
}

.aboutTextBox01 {
    writing-mode: vertical-rl;
    margin: 0 20rem 0 auto;
    position: relative;
    z-index: 1;
}

.aboutTitTate01 {
    font-size: 3.3rem;
    letter-spacing: 0.4em;
    margin: 0 0 0 3.5rem;
}

.aboutTitTate02 {
    font-size: 5rem;
    letter-spacing: 0.4em;
    margin: 5.5rem 0 0 8rem;
}

.aboutTitTateList01 {
    margin: 8.5rem 0 0 7rem;
}

.aboutTextTate {
    letter-spacing: 0.6em;
    font-size: 1.6rem;
}

.aboutTitTateList02 {
    margin: 17rem 0 0 0;
}

.aboutDeco01 {
    max-width: 69.5rem;
    width: 45.28%;
    position: absolute;
    top: 9rem;
    right: 4rem;
}

.aboutDeco02 {
    max-width: 35.1rem;
    width: 22.87%;
    position: absolute;
    bottom: 12.9rem;
    left: 26rem;
}

/* ==========================================
about02
========================================== */

.aboutWr02 {
    position: relative;
    padding: 12rem 0 14.7rem;
    overflow: hidden;
}

.aboutWr02:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2.7rem;
    background-image: url(../../../../uploads/about_loop_deco.svg);
    background-size: cover;
    background-position: bottom left;
    background-repeat: repeat-x;
    z-index: 1;
}

.aboutBg01 {
    background-image: url(../../../../uploads/aboutBg01.jpg);
    background-size: auto;
    background-position: top center;
    background-repeat: no-repeat;
}

.aboutTitListBox02 {
    display: flex;
    align-items: baseline;
}

.aboutFlexTextBox0201List01 {
    max-width: 35.6rem;
    width: 100%;
    margin: 3.8rem 0 0 8.5rem;
}

.aboutFlexTextBox0201 {
    max-width: 51.5rem;
    width: 37%;
}

.aboutFlexImgBox0201 {
    max-width: 80.8rem;
    width: 58.05%;
    margin: 2.5rem 0 0;
}

.aboutBox02Wr01 {
    max-width: 139.2rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin: 0 auto;
}

.aboutBox02Wr02 {
    max-width: 122rem;
    width: 100%;
    margin: 10rem auto 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutBox02Wr03 {
    max-width: 180rem;
    width: 100%;
    margin: 10rem auto 0;
}

.aboutTitListBox03Mg02:before {
    content: "";
    width: 28rem;
    height: 0.1rem;
    background: #333;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 109%;
}

.aboutTitListBox03Mg02 {
    display: inline-flex !important;
    position: relative;
}

.aboutFlexTextBox0202 {
    max-width: 55.4rem;
    width: 45.41%;
    margin: 5rem 0 0;
}

.aboutFlexImgBox0202 {
    max-width: 59.3rem;
    width: 48.61%;
    position: relative;
}

.aboutFlexImg0202Deco {
    max-width: 45.8rem;
    width: 77.26%;
    position: absolute;
    z-index: 1;
    left: -17.9rem;
    bottom: 7.8rem;
}

.ml-0 {
    margin-left: 0;
}

.aboutTitListBox03Left01 {
    padding-left: 7rem;
}

.aboutFlexTextBox0202List01 {
    margin: 4.8rem 0 0;
}

.aboutTitTateBox02 {
    writing-mode: vertical-rl;
}

.aboutTitTate02Main {
    font-size: 5rem;
    letter-spacing: 0.4em;
    line-height: 1.4em;
}

.aboutTitTateMin02 {
    font-size: 3.3rem;
    font-weight: 400;
    letter-spacing: 0.4em;
    line-height: 1.4em;
}

.aboutTitTate02Flex {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.aboutTitTateBox02Mg01 {
    margin: 1rem 0 0 2rem;
}

.aboutTitTateBox02Mg02 {
    margin: 0 0 0 1.6rem;
}

.aboutFlexImgBox0203 {
    max-width: 59.1rem;
    width: 68.09%;
    margin: 13.9rem 0 0;
}

.aboutFlexMinBox0203 {
    max-width: 86.8rem;
    width: 60.28%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutFlexWr0203 {
    max-width: 144rem;
    width: 100%;
    margin: 0 0 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutFlexTextBox0203 {
    max-width: 51.2rem;
    width: 35.56%;
    margin: 9.6rem 0 0;
    padding-bottom: 11.5rem;
}

.aboutImgTitBox01 {
    max-width: 109.2rem;
    width: 100%;
    position: relative;
    margin: 0 auto 0 0;
}

.aboutImgTitBox01 figure {
    max-width: 82.6rem;
    width: 100%;
}

.aboutImgTitSetBox01 {
    position: absolute;
    z-index: 2;
    bottom: 13.5rem;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.aboutTitListBox0201 {
    display: flex;
    align-items: baseline;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.aboutTitListBox02 {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--white);
    background: #5E4227;
    background: linear-gradient(0deg, rgba(94, 66, 39, 1) 0%, rgba(94, 66, 39, 0.53) 100%);
    text-shadow: 0 0.2rem 0.4rem rgb(0 0 0 / 25%);
    padding: 0 2rem 1rem 2rem;
}

.aboutTitListBox02>.aboutTitMin {
    margin-left: 1rem;
}

.wp-block-group.aboutFlexBox0204.is-layout-constrained.wp-block-group-is-layout-constrained {
    max-width: 135.5rem;
    width: 100%;
    margin: 0 0 0 auto;
}

.aboutFlexWr0204 {
    margin-top: -11.5rem;
}

.aboutFlexTextBox0204 {
    max-width: 111.1rem;
    width: 100%;
    margin: 5rem 0 0 auto;
}

.aboutFlexTextListBox0204 {
    max-width: 82rem;
    width: 100%;
    margin: 0 auto 0 0;
}

/* ==========================================
about03
========================================== */

.aboutWr03 {
    width: 100%;
    background-color: var(--black);
    color: var(--white);
}

.aboutWrBox03 {
    width: 100%;
    position: relative;
    z-index: 2;
    padding-bottom: 12.7rem;
}

.aboutSubCoverImgWr {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto -4.4rem;
    position: relative;
}

.aboutSubCoverImgWr:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    background: var(--black);
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.44) 50%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
}

.aboutSubCoverImgBox {
    width: 100%;
    height: 50rem;
}

.aboutSubCoverImgBox>figure {
    width: 100%;
    height: 100%;
    position: relative;
}

.aboutSubCoverImgBox>figure>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aboutSubCoverTitSetBox {
    width: 100%;
    max-width: 150rem;
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    top: 17.5rem;
    margin: 0 0 0 auto;
}

.aboutSubCoverTit {
    font-size: 4.5rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    flex: 1;
}

.aboutSubCoverTitSetBox>.paddingWr01:before {
    content: "";
    width: 28rem;
    height: 0.1rem;
    background: #fff;
}

.aboutSubCoverTitSetBox>.paddingWr01 {
    gap: 7.4rem;
    display: flex;
    align-items: center;
}

.aboutBox03Box01 {
    max-width: 159rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutBox03Box02 {
    max-width: 122rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutBox03Wr02 {
    margin: 5.8rem 0 0;
}

.aboutFlexImgBox0301 {
    max-width: 65.9rem;
    width: 41.45%;
    position: relative;
}

.aboutFlexImgBox0301 figure {
    max-width: 40.5rem;
    width: 85.44%;
    margin: 0 auto 0 0;
}

.aboutFlexTextBox0301 {
    max-width: 84.2rem;
    width: 52.96%;
    margin-top: 4.4rem;
}

.aboutFlexTextBox0301List01 {
    max-width: 58.3rem;
    width: 69.24%;
    margin: 0 0 0 auto;
}

.aboutFlexImgBox0302 {
    max-width: 67.1rem;
    width: 79.69%;
    margin: 7.5rem auto 0 0;
}

.aboutFlexImgBox0303 {
    max-width: 60rem;
    width: 50%;
    margin: 8.2rem 0 0;
}

.aboutFlexTextBox0302 {
    max-width: 53.5rem;
    width: 43.85%;
}

.aboutTitListBox03 {
    display: flex;
    align-items: baseline;
}

.aboutTit {
    font-size: 5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.aboutTitMin {
    font-size: 3.3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-left: 1.4rem;
}

.aboutTitListBox03Mg {
    margin: 1.5rem 0 0 7.5rem;
    position: relative;
}

.aboutTitListBox03Mg:before {
    content: "";
    width: 28rem;
    height: 0.1rem;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 109%;
}

.aboutTitListBox03 .aboutTitMin {
    flex: 1;
}

.aboutFlexTextBox0302List01 {
    margin: 6.5rem 0 0;
}



/* ==========================================
about04
========================================== */

.aboutWr04 {
    width: 100%;
    padding: 10rem 0 0;
}

.aboutGreetingFlexLeftBox {
    max-width: 75rem;
    width: 70.49%;
    padding: 6rem 3.5rem 7rem;
    border: 0.1rem solid #333;
}

.aboutGreetingTextListBox {
    max-width: 60rem;
    width: 100%;
    margin: 0 auto;
}

.aboutTit01 {
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.aboutTitBox01 {
    text-align: center;
    max-width: 45rem;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 3rem;
    border-bottom: 0.1rem solid #333;
}

.aboutGreetingTextBox01 {
    margin: 5rem 0 0;
    text-align: center;
}

.aboutGreetingTextMg01 {
    margin-top: 3rem;
}

.aboutGreetingWr {
    max-width: 106.4rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.aboutGreetingFlexRightBox {
    max-width: 35.8rem;
    width: 33.65%;
    margin: 0 0 0 -3.76%;
}

.aboutHistoryWr {
    max-width: 80rem;
    width: 100%;
    margin: 8rem auto 0;
}

.aboutHistoryTextBox {
    margin-top: 3rem;
}

.aboutHistoryTit {
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    color: #5E4227;
    margin-bottom: 3rem;
}

.aboutGreetingSpImg {
    width: 60%;
    margin: 3rem auto 0;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

    .aboutTextBox01 {
        margin: 0 3rem 0 auto;
    }
    
    .aboutTitTate01 {
        font-size: 2.5rem;
        margin: 0 0 0 2rem;
    }
    
    .aboutTitTate02 {
        font-size: 3.5rem;
        margin: 3.5rem 0 0 3.5rem;
    }

    .aboutTitTateList01 {
        margin: 7.5rem 0 0 3rem;
    }
    
    .aboutTextTate {
        line-height: 2em;
        font-size: 1.4rem;
    }
    
    .aboutTitTateList02 {
        margin: 13rem 0 0 0;
    }

    .aboutFlexTextBox0201List01 {
        margin: 2.8rem 0 0 0;
    }

    .aboutTit {
        font-size: 3rem;
    }
    
    .aboutTitMin {
        font-size: 2rem;
        margin-left: 1.4rem;
    }

    .aboutTitTate02Main {
        font-size: 3rem;
    }
    
    .aboutTitTateMin02 {
        font-size: 2.3rem;
        line-height: 1.4em;
    }

    .aboutFlexWr0204 {
        margin-top: -8.5rem;
    }

    .aboutFlexImgBox0203 {
        margin: 8.9rem 0 0;
    }

    .aboutSubCoverTit {
        font-size: 3.5rem;
    }
    
    .aboutSubCoverTitSetBox>.paddingWr01:before {
        width: 20rem;
    }

    .about-cover-img .inCoverBox>.inCoverImg>figure>img {
        object-position: 18% 50%;
    }

    .aboutBox02Wr01 {
        max-width: 92rem;
    }
    
    .aboutBox02Wr02 {
        max-width: 92rem;
    }
    
    .aboutBox02Wr03 {
        max-width: 92rem;
    }

    .aboutGreetingFlexLeftBox {
        padding: 6rem 6.5rem 7rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

    .aboutImgTitSetBox01 {
        position: relative;
        bottom: auto;
        right: auto;
        align-items: flex-start;
        margin-top: 2rem;
    }
    
    .aboutWr01 {
        align-items: center;
        justify-content: space-between;
        flex-direction: column-reverse;
    }

    .aboutImgBox01 {
        max-width: 100%;
        width: 100%;
    }

    .aboutTextBoxWr01 {
        width: 100%;
        margin: 0 auto;
        padding: 9rem 1.5rem 13.3rem;
    }

    .aboutDeco01 {
        width: 60.28%;
        top: 5rem;
        right: 2rem;
    }
    
    .aboutDeco02 {
        width: 30.87%;
        bottom: 7.9rem;
        left: 5rem;
    }

    .aboutBox02Wr01 {
        align-items: center;
        flex-direction: column;
    }

    .aboutFlexImgBox0201 {
        width: 100%;
        margin: 0 0 2.5rem;
    }

    .aboutFlexTextBox0201 {
        max-width: 100%;
        width: 100%;
    }

    .aboutFlexTextBox0201List01 {
        max-width: 100%;
    }

    .aboutBox02Wr02 {
        margin: 6rem auto 0;
        align-items: center;
        flex-direction: column;
    }

    .aboutFlexImgBox0202 {
        width: 100%;
    }

    .aboutFlexTextBox0202 {
        max-width: 100%;
        width: 100%;
        margin: 3rem 0 0;
    }

    .aboutFlexTextBox0202List01 {
        margin: 2.8rem 0 0;
    }

    .aboutTitListBox03Left01 {
        padding-left: 0;
    }

    .aboutFlexWr0203 {
        align-items: center;
        flex-direction: column;
    }

    .aboutFlexMinBox0203 {
        width: 100%;
        align-items: center;
        flex-direction: column;
    }

    .aboutFlexImgBox0203 {
        width: 100%;
        margin: 3.9rem 0 0;
        max-width: 100%;
    }

    .aboutFlexTextBox0203 {
        max-width: 100%;
        width: 100%;
        margin: 2.6rem 0 0;
        padding-bottom: 0;
    }

    .aboutFlexWr0204 {
        margin-top: 2.6rem;
    }

    .aboutBox02Wr03 {
        margin: 7rem auto 0;
    }

    .aboutFlexTextBox0204 {
        margin: 2rem 0 0 auto;
    }

    .aboutTextBoxWr01 {
        padding: 6rem 1.5rem 7.3rem;
    }

    .aboutSubCoverImgBox {
        height: 25rem;
    }

    .aboutSubCoverTitSetBox {
        top: 10.5rem;
    }

    .aboutSubCoverTitSetBox>.paddingWr01 {
        gap: 4.4rem;
    }

    .aboutSubCoverTit {
        font-size: 2.5rem;
    }
    
    .aboutSubCoverTitSetBox>.paddingWr01:before {
        width: 10rem;
    }

    .aboutBox03Box01 {
        flex-direction: column;
        align-items: center;
    }

    .aboutFlexImgBox0301 {
        width: 100%;
        max-width: 100%;
    }
    
    .aboutFlexImgBox0301 figure {
        display: none;
    }

    .aboutFlexTextBox0301 {
        width: 100%;
        margin-top: 0;
    }
    
    .aboutFlexTextBox0301List01 {
        max-width: 100%;
        width: 100%;
    }

    .aboutFlexImgBox0302 {
        max-width: 100%;
        width: 100%;
        margin: 3.5rem 0 0 auto;
    }

    .aboutBox03Box02 {
        align-items: center;
        flex-direction: column;
    }
    
    .aboutFlexImgBox0303 {
        width: 100%;
        margin: 3.2rem 0 0;
    }

    .aboutFlexTextBox0302 {
        width: 100%;
        max-width: 60rem;
    }

    .aboutFlexTextBox0302List01 {
        margin: 3.5rem 0 0;
    }

    .aboutGreetingWr {
        flex-direction: column;
    }

    .aboutGreetingFlexLeftBox {
        width: 100%;
        padding: 4rem 1.5rem 7rem;
    }

    .aboutGreetingFlexRightBox {
        width: 50%;
        margin: -5rem 0 0 0;
    }

    .aboutWr04 {
        padding: 6rem 0 0;
    }

    .aboutWrBox03 {
        padding-bottom: 6rem;
    }

    .aboutWr02 {
        padding: 8rem 0 8.7rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

    .aboutTextBox01 {
        writing-mode: unset;
        margin: 0 auto;
    }
    
    .aboutTitTate01 {
        font-size: 2rem;
        margin: 0;
    }
    
    .aboutTitTate02 {
        font-size: 3rem;
        margin: 1.5rem 0 0 0;
    }

    .aboutTitTateList01 {
        margin: 3.5rem 0 0 0;
    }
    
    .aboutTitTateList02 {
        margin: 3rem 0 0 0;
    }

    .aboutTextBoxWr01 {
        padding: 4.5rem 1.5rem;
    }

    .aboutTextTate>p>br {
        display: none;
    }
    
    .aboutTextTate {
        line-height: 2em;
        font-size: 1.3rem;
    }

    .aboutGreetingTextBox01 {
        margin: 3rem 0 0;
        text-align: left;
    }

    .aboutGreetingTextBox01>p>br {
        display: none;
    }

    .aboutSubCoverTitSetBox>.paddingWr01 {
        gap: 2rem;
    }

    .aboutSubCoverTit {
        font-size: 2rem;
    }
    
    .aboutSubCoverTitSetBox>.paddingWr01:before {
        width: 3.3rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {



    .aboutTit {
        font-size: 3rem;
    }
    
    .aboutTitMin {
        font-size: 2rem;
        margin-left: 1rem;
    }

    .aboutSubCoverTit {
        font-size: 1.6rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */