@charset "utf-8";
.container {
    max-width: 1600px;
}

.mainCatch__sp--about {
    width: 70%;
}

.aboutOutline__container {
    position: relative;
    margin: 140px auto 150px 0;
    padding: 0 4.2%;
    line-height: 2.2;
    width: fit-content;
}

.aboutOutline__container::before {
    content: "";
    display: block;
    position: absolute;
    left: -4.2vw;
    top: -23px;
    bottom: -40px;
    width: 90.4%;
    aspect-ratio: 60 / 53;
    background-color: var(--primary-beige);
    z-index: -2;
}

.aboutOutline__catch {
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--primary-brown);
    position: relative;
}

.aboutOutline__catch::after {
    content: "";
    display: block;
    position: absolute;
    left: 123px;
    top: 45px;
    width: 224px;
    height: 105px;
    background-image: url(../image/deco_character_philosophy.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center ;
    z-index: -1;
}

.aboutOutline__innerContainer {
    margin-top: 110px;
    font-size: 1.6rem;
}

.aboutOutline__txt {
    margin-top: 50px;
}

.aboutOutline__txt:first-of-type {
    margin-top: 0;
}


/* section about__topic */
.about__topic {
    margin: 0 auto 150px;
    padding: 0 4.2%;
}

.aboutTopic__container {
    display: flex;
    flex-direction: column;
    gap: 60px 9.3%;
}

.aboutTopic__tittle {
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--primary-brown);
    text-align: center;
    letter-spacing: 0.1px;
}

.aboutTopic__img {
    width: 90%;
    aspect-ratio: 323/215;
    margin: 15px auto 30px;
    position: relative;
}

.aboutTopic__img img {
    width: 100%;
}

.aboutTopic__img::before {
    content: "";
    display: block;
    position: absolute;
    left: -27px;
    top: -27px;
    width: 74px;
    height: 74px;
    background-image: url(../image/deco_character_topicCircle.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center ;
    z-index: 1;   
    transition: transform 0.6s ease;
}

.aboutTopic__img1.is-rotated::before,
.aboutTopic__img2.is-rotated::before {
  transform: rotate(180deg);
}

.aboutTopic__img::after {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
    width: 100%;
    height: 100%;
    background-image: url(../image/about_image_back.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center ;
    z-index: -1;   
}


.aboutTopic__btn1,
.aboutTopic__btn2,
.about_btnClose1,
.about_btnClose2 {
    display: block;
    width: 90%;
    height: 44px;
    margin: 0 auto;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    border: 1px solid var(--primary-green);
    color: var(--primary-green);
    box-shadow: 3px 2.5px 4px 0px rgba(0, 0, 0, 0.1);
}


/* jsの設定 */
.aboutTopic__btn1.open {
    display: none;
}

.aboutTopic__btn2.open {
    display: none;
}


.aboutTopic__btn1 img,
.aboutTopic__btn2 img {
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 auto;
}


.aboutTopic__hidden1,
.aboutTopic__hidden2 {
    display: block;
    width: 90%;
    margin: 0 auto;
    font-size: 1.5rem;
    line-height: 2;
}

.aboutTopic__hidden1,
.aboutTopic__hidden2 {
    display: none;
    transition: all 0.9s ease;
}

.aboutTopic__hidden1.open {
    display: block;
}

.aboutTopic__hidden2.open {
    display: block;
}

.aboutTopic__desc {
    margin: 25px 0 15px; 
}

.about__tomato img {
    width: 100%;
    aspect-ratio: 420/280;
}

.tomato__desc {
    margin:15px 0 25px;
    padding: 20px 10px;
    background-color: var(--primary-beige);
    font-weight: 500;
    line-height: 1.8;
}

.tomato__desc span {
    display: block;
    font-weight: 400;
    line-height: 1.6;
}

.about_btnClose1,
.about_btnClose2 {
    width: 100%;
    padding-top: 3px;
}

.about_btnClose1 img,
.about_btnClose2 img {
    display: block;
    width: 10px;
    height: 10px;
    transform: rotate(180deg) translateY(-5px);
    margin: 0 auto;
}

/* philosophy */
.philosophy {
    margin: 50px auto;
    padding: 0 4.2%;
    text-align: center;
    font-size: 1.6rem;
}

.philosophy__ex {
    position: relative;
}

.philosophy__ex::before {
    content: "";
    display: block;
    position: absolute;
    left: 12.65%;
    top: -40px;
    width: 92%;
    aspect-ratio: 311 / 206;
    background-image: url(../image/gallery_back_sp1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position:center ;
    z-index: -2;
}

.philosophy__img {
    width: 90%;
    aspect-ratio: 311/203;
    margin: 0 auto;
}

.pfilosophyEx__descPC {
    display: none;
}

.pfilosophyEx__descSP {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-top: 10px;
}

.philosophy__sum {
    margin-top: 50px;
    line-height: 2.2;
}

.btn__more--aboutMenu {
    margin-top: 55px;
    width: 156px;
    font-size: 1.6rem;
}

.btn__more--aboutMenu img {
    width: 7px;
    height: 7px;
    margin-left: 10px;
}

@media screen and (min-width:770px) {
    /* section about__topic */
    .about__topic {
        margin: 0 auto 250px;
        padding: 0;
    }
    
    .aboutTopic__container {
        display: flex;
        flex-direction: row;
        gap: 0;
        flex-wrap: wrap;
        justify-content: center;
        width: fit-content;
        margin: 0 auto;
    }
    
    .aboutTopic__item {
        margin: 0 20px;
        width: 30.5%;
        min-width: 310px;
    }
    
    .aboutTopic__item:first-of-type {
        margin-right: 7%;
    }
    
    .aboutTopic__tittle {
        font-size: 2.2rem;
    }
    
    .aboutTopic__img {
        width: 100%;
        min-width: 300px;
        margin: 25px auto;
    }
    
    .aboutTopic__img::before {
        left: -30px;
        top: -30px;
        width: 75px;
        height: 75px;
    }
    
    .aboutTopic__img::after {
        left: 8px;
        top: 8px;
    }
    
    .aboutTopic__btn1,
    .aboutTopic__btn2,
    .about_btnClose1,
    .about_btnClose2 {
        display: block;
        width: 100%;
        min-width: 300px;
        height: 50px;
        font-size: 2.2rem;
        padding-top: 1px;
    }

    /* JS設定（ボタン） */
    .aboutTopic__btn1.open {
        display: none;
    }
    
    .aboutTopic__btn2.open {
        display: none;
    }
    
    .aboutTopic__btn1 img
    .aboutTopic__btn2 img {
        display: block;
        width: 10px;
        height: 10px;
    }

    /* js設定 */    
    .aboutTopic__hidden1,
    .aboutTopic__hidden2 {
        display: block;
        width: 100%;
        min-width: 300px;
        margin: 0 auto;
        font-size: 1.4rem;
        line-height: 2.2;
    }
    
    .aboutTopic__hidden1,
    .aboutTopic__hidden2 {
        display: none;
    }
    
    .aboutTopic__hidden1.open {
        display: block;
    }

    .aboutTopic__hidden2.open {
        display: block;
    }
    

    .tomato__desc span {
        font-size: 1.4rem;
    }
    
    .about_btnClose1 img
    .about_btnClose2 img {
        width: 12px;
        height: 12px;
    }
    /*  */
    
}

/* ---pc--- */
@media screen and (min-width:1024px) {
    .main {
        letter-spacing: 0.1px;
    }
    
    
    .aboutOutline__container {
        position: relative;
        margin: 200px 0 280px;
        padding: 0 11.1%;
        line-height: 2.2;
        width: fit-content;
    }    
    
    .aboutOutline__container::before {
        left: -3.7vw;
        top: -83px;
        width: 97.4%;
        aspect-ratio: 459 / 260;
    }
    
    .aboutOutline__catch {
        font-size: 2.6rem;
    }
    
    .aboutOutline__innerContainer {
        margin-top: 50px;
        font-size: 1.6rem;
        position: relative;
    }
    
    .aboutOutline__catch::after {
        display: none;
    }
    
    .aboutOutline__innerContainer::after {
        content: "";
        display: block;
        position: absolute;
        left: 428px;
        bottom: -125px;
        width: 327px;
        height: 153px;
        background-image: url(../image/deco_character_philosophy.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position:center ;
        z-index: -1;
    }
    
    .aboutOutline__txt {
        margin-top: 35px;
    }
    
    .aboutOutline__txt:first-of-type {
        margin-top: 0;
    }


    /* section about__topic */
    .about__topic {
        padding: 0;
    }
    
    .aboutTopic__container {
        display: flex;
        flex-direction: row;
        gap: 0;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
    }

    .aboutTopic__item {
        margin: 0 20px;
        width: 30.5%;
        min-width: 350px;
    }

    .aboutTopic__item:first-of-type {
        margin-right: 10%;
    }
    
    .aboutTopic__tittle {
        font-size: 2.4rem;
    }
    
    .aboutTopic__img {
        width: 100%;
        min-width: 350px;
        margin: 25px auto;
    }
    
    .aboutTopic__img::before {
        left: -55px;
        top: -55px;
        width: 110px;
        height: 110px;
    }
    
    .aboutTopic__img::after {
        left: 12px;
        top: 12px;
    }
    
    .aboutTopic__btn1,
    .aboutTopic__btn2,
    .about_btnClose1,
    .about_btnClose2 {
        width: 100%;
        min-width: 350px;
        height: 55px;
        font-size: 2.4rem;
        padding-top: 1px;
    }
    
    .aboutTopic__btn1.open {
        display: none;
    }
    
    .aboutTopic__btn2.open {
        display: none;
    }

    .aboutTopic__btn1 img
    .aboutTopic__btn2 img {
        display: block;
        width: 12px;
        height: 12px;
    }
    
    .aboutTopic__hidden1,
    .aboutTopic__hidden2 {
        display: block;
        width: 100%;
        min-width: 350px;
        margin: 0 auto;
        font-size: 1.6rem;
        line-height: 2.2;
    }

    .aboutTopic__hidden1,
    .aboutTopic__hidden2 {
        display: none;
    }

    .aboutTopic__hidden1.open {
        display: block;
    }

    .aboutTopic__hidden2.open {
        display: block;
    }
    
    
    .tomato__desc span {
        display: block;
        font-weight: 400;
        font-size: 1.4rem;
        line-height: 1.6;
    }

    .about_btnClose1 img
    .about_btnClose2 img {
        width: 12px;
        height: 12px;
        transform: rotate(180deg) translateY(-5px);
        margin: 0 auto;
    }
    
    /* philosophy */
    .philosophy {
        padding: 0;
        font-size: 1.6rem;
    }
    
    .philosophy__ex {
        width: 55%;
        margin: 0 auto;
        position: relative;
    }

    .philosophy__img {
        width: 100%;
        aspect-ratio: 311 / 203;
        margin: 0 auto 0 0;
    }
    
    .philosophy__img::before {
        display: none;
    }

    .philosophy__ex::before {
        left: 16.7%;
        top: -95px;
        width: 110%;
        aspect-ratio: 311 / 201;
    }
    
    .pfilosophyEx__descSP {
        display: none;
    }
    
    .pfilosophyEx__descPC {
        position: absolute;
        display: block;
        background-color: rgba(245, 240, 240, 0.9);
        padding: 10px 15px;
        width: fit-content;
        bottom: 88px;
        right: -90px;
        letter-spacing: 0;
        font-size: 1.4rem;
    }

    .pfilosophyEx__descPC::before {
        content: "";
        display: block;
        position: absolute;
        left: -61px;
        bottom: 86px;
        width: 81px;
        height: 1.5px;
        background-color: rgba(245, 240, 240);
        transform: rotate(45deg);
    }

    .philosophy__sum:first-of-type {
        margin-top: 170px;
    }
    
    .btn__more--aboutMenu {
        width: 223px;
        font-size: 1.8rem;
        margin-top: 115px;
    }
    
}
