@charset "utf-8";

/*---------------------------------------------------------------*/



/* MainVisual

 /*---------------------------------------------------------------*/
#MainVisual {
  position: relative;
    width: 100%;
    height: calc(100vh - 80px);
    margin-top: 80px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

/* スライド画像を配置する全体枠 */
#MainVisual .inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   
}

/* スライド画像（2枚共通の設定） */
.slide-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    animation: sliderAnime 10s infinite;
}

/* 1枚目の画像設定 */
.img1 {
    background-image: url(../images/top/mainvisual/main1.jpg); /* 1枚目（元の画像パス） */
    animation-delay: 0s;
}

/* 2枚目の画像設定 */
.img2 {
    background-image: url(../images/top/mainvisual/main2.jpg); /* 2枚目の画像パス（適宜修正してください） */
    animation-delay: 5s; /* 1枚目と交互に表示させるためのディレイ（5秒後） */
}



/* フェード切り替えアニメーション（10秒周期でループ） */
@keyframes sliderAnime {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1; /* 1秒かけてフェードイン */
    }
    45% {
        opacity: 1; /* そのまま約3.5秒キープ */
    }
    55% {
        opacity: 0; /* 1秒かけてフェードアウト */
    }
    100% {
        opacity: 0;
    }
}

/*---------------------------------------------------------------*/

/* TOP Section-Area

/*---------------------------------------------------------------*/

.home #contents .section-area {

    padding: 120px 0;

}



.home #contents .section-area .section-head {

    padding: 0 0 100px;

    text-align: center;

}



.home #contents .section-area .section-head h2 {

    font-size: 3rem;

}



.home #contents .section-area .section-head h2 span.en {

    font-size: 65%;

    letter-spacing: 0;

    color:#ff7bab;

}



.home #contents .section-area .section-head h2 span,

.home #contents .article-area .article-head h2 span {

    display: block;

    font-size: 1.6rem;

    margin: 0 0 5px;

    line-height: 1;

}



.home #contents .section-area .section-body .description {

    text-align: center;

    margin: 0 0 80px;

}


/*YouTube
.home #contents .sound h2{
    text-align: left;
}
.home #contents .sound{
    position: relative;
}
.home #contents .sound::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #ffeaee;
    z-index: -1;
    height: 22vw;
}*/

.home #contents .btnBox a span {
    position: relative;
    display: inline-block;
    padding-right: 24px;
    font-size: 1.6rem;
}
.home #contents .btnBox a span::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); 
    width: 20px; 
    height: 20px;
    background-image: url(../images/common/arrow.svg); 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/*---------------------------------------------------------------*/

/* 先輩へ相談する／宮桜会だより

/*---------------------------------------------------------------*/

.home #contents .column .inner {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    flex-direction: row;

    grid-template-columns: repeat(2, 1fr);

}

/*---------------------------------------------------------------*/

/* テキスト

/*---------------------------------------------------------------*/
.home #contents .section-area.overview{
    background: linear-gradient(to bottom, #ffeaee 0%, rgba(255, 234, 238, 0.7) 40%, rgba(255, 234, 238, 0) 100%);
}

.home #contents .section-area.overview .section-head {
    padding: 0 0 20px;
    text-align: left;
}

.home #contents .section-area.overview .section-body p{
    letter-spacing: 0.1em;
    line-height: 2.0;
    text-align: left;
}

/* ▼ PC表示：左側に「見出し＋テキスト」、右側に「動画」を横並びにする ▼ */
.home #contents .section-area.overview .overview-content {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: space-between;
    gap: 40px; /* 左右の余白 */
}

.home #contents .section-area.overview .section-text-box{
    width: 55%;
}
.home #contents .section-area.overview .section-video {
    width: 40%; 
}

/* YouTubeなどの動画をレスポンシブ（16:9）にする設定 */
.home #contents .section-area.overview .video-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
}

.home #contents .section-area.overview .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
/*---------------------------------------------------------------*/

/* News

/*---------------------------------------------------------------*/
.home #contents .news h2{
    text-align: left;
}
.home #contents .news .news-list ul {

    margin: 0 auto 60px;

}



.home #contents .news .news-list ul li {

    position: relative;

    padding: 0 !important;

}



.home #contents .news .news-list ul li:last-child {

    border-bottom: none;

}



.home #contents .news .news-list ul li a {

    display: block;

    font-weight: 300 !important;

    text-decoration: none;

    padding: 7.5px 50px 7.5px 20px;

}



.home #contents .news .news-list ul li a:hover {

    background: #f5f5f5;

}



.home #contents .news .news-list dl dd {
    color: #ff7bab;
}


.home #contents .news .news-list dl dd span.date {

    width: 106px;

    margin: 0 15px 0 0;

}

/*先輩いま何してる みんなの写真館*/
.home #contents .senpai,
.home #contents .photo {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}
.home #contents .senpai{
flex-direction: row;
}
.home #contents .photo{
    flex-direction: row-reverse;
}
.home #contents .senpai .imageBox,
.home #contents .photo .imageBox {
    flex: 1;
    max-width: 930px;
    position: relative;
    z-index: 1;
}
.home #contents .senpai .imageBox::before,
.home #contents .photo .imageBox::before {
    content: '';
    position: absolute;
    width: 110%;
    background-color: #ffeaee;
    z-index: -1;
    top: 120px;
    height: 90%;
}
.home #contents .senpai .imageBox::before{
    left: 0;
}
.home #contents .photo .imageBox::before{
    right: 0;
}
.home #contents .senpai .imageBox img,
.home #contents .photo .imageBox img{
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    z-index: -1;
}
.home #contents .senpai .detailBox,
.home #contents .photo .detailBox{
    flex: 1;
    max-width: 45%;
    padding: 0 0 0 100px;
}
.home #contents .senpai .section-head,
.home #contents .photo .section-head{
    text-align: left;
}
.home #contents .senpai .section-foot,
.home #contents .photo .section-foot{
    max-width: 550px;
    margin: 50px 0 0;
}

@media screen and (max-width: 1660px) {
    .home #contents .sound::after{
        bottom: 100px;
    }
    .home #contents .senpai .imageBox::before, .home #contents .photo .imageBox::before{
        width: 108%;
    }
    .home #contents .senpai .detailBox, .home #contents .photo .detailBox {
    padding: 0 0 0 45px;
}
.home #contents .senpai .imageBox, .home #contents .photo .imageBox {
    max-width: 720px;
}
}
@media screen and (max-width: 1366px) {
        .home #contents .sound::after {
        bottom: 150px;
    }
.home #contents .senpai .imageBox, .home #contents .photo .imageBox {
    max-width: 640px;
}
.home #contents .senpai .detailBox{
    padding: 0 80px 0 0;
}
.home #contents .photo .detailBox{
    padding: 0 0 0 80px;
}
.home #contents .section-area .section-head h2 {
    font-size: 2.8rem;
}

.home #contents .senpai .imageBox::before, .home #contents .photo .imageBox::before{
    top: 80px;
}
}
@media screen and (max-width: 1280px) {}



@media screen and (max-width: 1136px) {}



@media screen and (max-width: 1024px) {



    /*---------------------------------------------------------------*/



    /* TOP Section-Box

 /*---------------------------------------------------------------*/

    .home #contents .section-area {

        padding: 100px 0;

    }



    .home #contents .section-area .section-head {

        padding: 0 0 80px;

    }

    .home #contents .section-area .section-head h2 span {

        font-size: 1.5rem;

    }



    .home #contents .section-area .section-body .description {

        margin: 0 0 60px;

    }

.home #contents .senpai, .home #contents .photo{
    display: block;
}
.home #contents .senpai .imageBox, .home #contents .photo .imageBox{
    max-width: 80%;
}
.home #contents .senpai .detailBox, .home #contents .photo .detailBox {
        max-width: 1024px;
        margin: 80px 0 0 80px;
        padding: 0;
    }
.home #contents .photo .imageBox{
    margin-left: auto;
}
}



@media screen and (max-width: 960px) {
    .home #contents .section-area.overview .overview-content {
        flex-direction: column; 
        gap: 30px;
    }

    .home #contents .section-area.overview .section-text-box,
    .home #contents .section-area.overview .section-video {
        width: 100%; 
    }
.home #contents .section-area.overview .section-head{
    text-align: center;
}
   
}



@media screen and (max-width: 835px) {

    /*---------------------------------------------------------------*/



    /* TOP Section-Box

 /*---------------------------------------------------------------*/

    .home #contents .section-area {

        padding: 80px 0;

    }



    .home #contents .section-area .section-head {

        padding: 0 0 60px;

    }



    .home #contents .section-area .section-head h2 {

        font-size: 2.5rem;

    }



    .home #contents .section-area .section-head h2 span {

        font-size: 1.4rem;

    }



    .home #contents .section-area .section-body .description {

        margin: 0 0 50px;

    }


}



@media screen and (max-width: 750px) {

    /*---------------------------------------------------------------*/



    /* TOP Section-Box

 /*---------------------------------------------------------------*/

    .home #contents .section-area {

        padding: 60px 0;

    }



    .home #contents .section-area .section-head {

        padding: 0 0 50px;

    }



    .home #contents .section-area .section-head h2 {

        font-size: 3rem;

    }



    .home #contents .section-area .section-head h2 span {

        font-size: 1.35rem;

    }





    .home #contents .section-area .section-body .description {

        margin: 0 0 40px;

    }



}



@media screen and (max-width: 640px) {

    /*---------------------------------------------------------------*/



    /* TOP Section-Box

 /*---------------------------------------------------------------*/

    .home #contents .section-area {

        padding: 50px 0;

    }



    .home #contents .section-area .section-head {

        padding: 0 0 40px;

    }



    .home #contents .section-area .section-head h2,

    .home #contents .article-area .article-head h2 {

        font-size: 2.5rem;

    }



    .home #contents .section-area .section-head h2 span,

    .home #contents .article-area .article-head h2 span {

        font-size: 1.3rem;

        letter-spacing: 0;

    }





    .home #contents .section-area .section-body .description {

        margin: 0 0 30px;

    }

.img1 {
    background-image: url(../images/top/mainvisual/main1_sp.jpg);
}
.img2 {
    background-image: url(../images/top/mainvisual/main2_sp.jpg);
}

#MainVisual {
    height: 70vh;
    margin-top: 70px;
}
 .home #contents .senpai .detailBox, .home #contents .photo .detailBox {
        margin: 80px auto 0;
        padding: 0 40px;
    }
     .home #contents .btnBox a span{
        font-size: 1.3rem;
    }
    .home #contents .senpai .imageBox::before, .home #contents .photo .imageBox::before {
        top: 50px;
        height: 100%;
    }
  .home #contents .sound::after {
        bottom: 80px;
        height: 30vw;
    }
}
@media screen and (max-width: 480px) {

    /*---------------------------------------------------------------*/



    /* TOP Section-Box

 /*---------------------------------------------------------------*/



    .home #contents .section-area .section-head h2 {

        font-size: 2.25rem;

    }


    .home #contents .senpai .imageBox::before, .home #contents .photo .imageBox::before{
    top: 30px;
}
.home #contents .senpai .imageBox, .home #contents .photo .imageBox {
        max-width: 90%;
    }
}



@media screen and (max-width: 350px) {}