@charset "utf-8";
/* =====================
article__header
===================== */
.article__header{
    margin-top: 40px;
    position: relative;
    background-color:var(--primary-pink);
    color: var(--primary-white);
    padding: 40px;
}
/* stamp 帯　ここから */
.article__header::before,
.article__header::after{
    content: "";
    width: 100%;
    height: 30px;/* 直径 */
    background-image: radial-gradient(circle, #FFFDF6 10px, transparent 10px);
    background-size: 32px 30px;/* 左：距離　右：直径 */
    display: block;
    position: absolute;
}
.article__header::before{
    top: -15px;/* 半径 */
    left: 0;
}
.article__header::after{
    bottom: -15px;/* 半径 */
    left: 0;
}
/* stamp 帯　ここまで */
.article__header__container{
    max-width: 1200px;
    margin: 0 auto;
    padding:40px
}
.sub-title{
    font-size: 1.6rem;
}
.title{
    font-size: 3.0rem;
    font-weight: 700;
}
.title__discription{
    width:590px;
    display: block;
    margin: 0 auto;
    margin-top: 20px;
    position: relative;
}
.title__discription::after{
    position: absolute;
    bottom:-80px;
    right:-250px;
    display: block;
    content: "";
    width: 228px;
    height: 200px;
    background-image: url(../image/top_mama.png);
    background-size: contain;
    background-repeat: no-repeat;
    overflow: hidden;
    object-fit: contain;
}
@media screen and (max-width: 960px) {
    .article__header__container{
        max-width: 1200px;
        margin: 0 auto;
        padding:40px
    }
    .article__header{
        padding: 20px;
    } 
    .sub-title{
        font-size: 1.4rem;
    }
    .title{
        font-size: 2.0rem;
        font-weight: 700;
    }
    .title__discription{
        width:400px;
        display: block;
        margin: 0 auto;
        margin-top: 20px;
    }
    .title__discription::after{
        width:171px;
        height:150px;  
        right:-80px
        }

}
@media screen and (max-width: 767px) {
    .article__header__container{
        max-width: 350px;
        display: block;
        margin: 0 auto;
        padding: 20px;
    }
/* 帯SP */
.article__header::before,
.article__header::after{
    content: "";
    width: 100%;
    height: 26px;/* 直径 */
    background-image: radial-gradient(circle, #FFFDF6 10px, transparent 10px);
    background-size: 32px 26px;/* 左：距離　右：直径 */
    display: block;
    position: absolute;
}
.article__header::before{
    top: -13px;/* 半径 */
}
.article__header::after{
    bottom: -13px;/* 半径 */
}
/* 帯SP */     
    .title__discription{
        margin-top: 150px;
        max-width: 300px;
    }
    .title__discription::after{
        display: none;
    }
    .title{
        position: relative;
    }
    .title::after{
    position: absolute;
    top:0px;
    left:150px;
    display: block;
    content: "";
    width: 171px;
    height: 150px;
    background-image: url(../image/top_mama.png);
    background-size: contain;
    background-repeat: no-repeat;
    overflow: hidden;
    object-fit: contain;
}
}
/* =====================
main
===================== */
.section--mama{
    max-width: 85.7%;
    margin: 0 auto;
}
.topic__description{
    max-width: 900px;
    margin: 0 auto;
    margin-top: 40px;
}
.mama__point{
    display: flex;
    margin-top: 40px;
}
.mama__point__item{
    border: solid 3px var(--primary-pink);
    border-radius: 20px;
    margin-right: 10px;
    padding: 20px;
    width:292px;
    height:272px;
}

.mama__point__number{
    font-family: "Holtwood One SC", serif;
    font-size: 3.0rem;
    color: var(--primary-pink);
}
.mama__point__title{
    font-size: 2.0rem;
    font-weight: 700;
    margin-left: 20px;
}
.mama__point__description{
    margin-top: 40px;
}
.mama__schoolImg{
    margin-top: 80px;
    margin-bottom: 80px;
    width:100%;
}
.mama__point{
    transform: translate3d(0, 0, 0);
}
.flipLeft{
    animation-name:flipLeftAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    perspective-origin:left center;
    opacity:0;
    animation-delay: 1s;
    }
    
    @keyframes flipLeftAnime{
      from {
       transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
         opacity: 0;
      }
    
      to {
      transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
      opacity: 1;
      }
    }
 
.reason__container{
    display: flex;
    margin: 0 auto;
    margin-top: 40px;
    justify-content: space-between;
    align-items: center;
}
.reason__description{
    flex-basis: 60%;
    max-width: 640px;
    line-height: 2.0em;
}
.reason__img{
    flex-basis: 40%;
    text-align: center;
}
.reason__container:nth-of-type(even){
    flex-direction:row-reverse
}
.circle{
    width: 300px;
    object-fit: content;
}
.reason__description.last{
    margin-top: 40px;
    max-width: 1200px;
}
.topic.voice{
    margin-top: 0;

}
@media screen and (max-width: 960px) {
    .section--mama{
        max-width: 700px;
    }
    /* 共通 */
    .mama__point{
        width:700px;
        flex-wrap:wrap;
        justify-content: center;
        align-items: center;
    }
    .mama__point__item{
        margin-bottom: 10px;
    }
    .circle{
        width: 250px;
    }
    .circle.large{
        width:250px
    }
}
@media screen and (max-width: 767px) {
    .section--mama{
        max-width: 350px;
    }
    .title::after{
        top:80px;
    }
    .mama__point{
        flex-flow: column;
        justify-content: center;
        width:350px;
        height: 800px;

    }
    .mama__point__item{
        padding: 10px;
        width:292px;
        height:170px;
        margin-top: 10px;
    }
    .mama__point__number{
        font-size: 2.0rem;
    }
    .mama__point__title{
        font-size: 1.6rem;
    }
    .mama__point__description{
    margin-top: 20px;
    }

    .mama__schoolImg{
        max-width: 100vw;
        height:140px;
        object-fit: cover;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .topic.reason{
        font-size: 1.8rem;
    }
    .circle{
        margin-top: 20px;
    }
    .reason__container{
        flex-direction: column;
    }
    .reason__container:nth-of-type(even){
        flex-direction: column;
    } 
}
.voice__txt{
    margin-top: 40px;
    position:relative;
    width:600px;
    background:#FFFFFF;
    padding:25px;
    text-align:center;
    border:3px solid #E698A3;
    border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    text-align: left;
}
.voice__txt:after,.voice__txt:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:15%;
}
.voice__txt:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:#FFFFFF;
}
.voice__txt:before{
    border-color: rgba(230, 152, 163, 0);
    border-top-width:24px;
    border-bottom-width:24px;
    border-left-width:12px;
    border-right-width:12px;
    margin-left: -12px;
    margin-top: 2px;
    border-top-color:#E698A3;
}
.voice__txt:nth-last-child(2){
    margin: 40px 0 0 auto;
}
.voice__txt:nth-last-child(2):after,.voice__txt:nth-last-child(2):before{
    left:87%;
}

@media screen and (max-width: 767px) {
    .voice__txt{
        width:340px;
    }
}


/* quote  右端*/
.quote{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width:300px;
    margin: 0 0 0 auto;
}
.quote__symbol{
    width: 100px;
    margin-top: 10px;
    margin-right: 50px;
    transform: rotate(-10deg);
}
.quote__txt{
    width:250px;
}
.quoteImg.grasshopper{
    width:100px;
    transform: rotate(30deg);
    margin-top: -20px;
}
.quoteImg.leaf02{
    width:100px;
    transform: rotate(30deg);
    margin-top: -20px;   
}
.count2{
    animation-iteration-count:3;/*この数字を必要回数分に変更*/
}

.fadeInUpTrigger{
    opacity: 0;
}
@media screen and (max-width: 960px) {
    .quote{
        margin-top: 40px;
    }
}