@charset "UTF-8";  
#top_page{
    width: 100%;
}
.flexbox{
    display: flex;
    width: 100%;
    .left{
        width: 50%;
        }
        .right{
            width: 50%;
        }
}
.mv{
    width:100%;
    height:100svh;
    letter-spacing: 1rem;
    font-weight: bold;
    background-size: cover;
    position: relative;
    #swipertop{
    img{
        height: 100%;
    }  
  }
    .social{
            width:30%;
            bottom:0;
            position: absolute;
            display: flex;
            z-index: 10;
            .clearfix{
                display: flex;
                align-items: center;
                gap:5px;
                img {
                    width: 80%;
            }
        }
}
}
.logo{
    position: fixed;
    z-index: 200;
    top: 0;
    display:flex;
    align-items: center;
    justify-content: start;
    gap: 2%;
    width: 100%;
    img{
        width: 50px;
        margin-left: 50px;
    }
    h2{
        color: #ffffff;
       font-size: 1.5rem;
    }
    }
    .logo.change-color {
        background-color: white;
      }
      h2.change-color {
        color: black;
      }
.info{
    display: flex;
    flex-flow: column;
    position: absolute;
    top: 50%;
    left: 2%;
    z-index: 200;
    a{
    color: white;
    font-size: 1rem;
    }
    img{
        width: 100%;
    }
}
.catch{
    position: absolute;
    width: 100%;
    margin: 0 auto;
    bottom:10%;
    text-align: center;
    font-size: 3rem;
    color: white;
    z-index: 12;
    h1{
        margin: 0;
        img{
            width:10%;
        }
        .logotext{
            width: 40%;
            margin-top: 4%;
        }
    }
    .capimg{
        width: 55%;
        margin-top: 1%;
    }
    }
@media only screen and (max-width: 720px){
.mv {
    height: 80svh;
    background-size: cover;
}
.logo{
    position: absolute;
    top: 2%;
    left: 5%;
    justify-content: start;
    width: 80%;
    h2{
        font-size: 1rem;
        margin: 0;
    }
}
.catch{
    bottom: 3%;
    h1{
        a{
            img{
                width: 25%;
            }
        }
        .logotext{
            width: 70%;
                margin-top: 100px;
        }
    }
    h1{
        img{

        }
        font-size: 0.9rem;
        }
        .capimg{
            width: 80%;
        }
}
    
#about{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    height: auto;
    h2{
        text-align: start;
        font-size: 3rem;
    }
}
.flexbox{
    display: flex;
    gap: 20px;
    .left{
        width:50%;
    }
    .right{
        width:50%;
    }
}
.text{
    display: flex;
    flex-flow: column;
    justify-content: center;
    h3{
    width: 80%;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 auto;
    }
    p{
    width: 80%;
    margin: 5% auto;
    line-height: 2;
    }
}

.but{
    text-align: center;
    display: flex;
    margin: 0 auto;
    gap: 20%;
    width: 90%;
}
.button013{
    width: 200px;
    align-self: center;
    border: solid; 
    a {
        background: #eee;
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto;
        max-width: 240px;
        padding: 10px 25px;
        color: #313131;
        transition: 0.3s ease-in-out;
        font-weight: 500;
        z-index:0;
        border-left: solid 5px #eb6877;
    }
}
.button013 a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #eb6877;
    transition: .3s;
    left:0;
}
.button013 a:hover {
    color: #FFF;
}
.button013 a:hover:before {
    width: 100%;
    z-index: -1;
}
.stafphot{
    width:100%;
    height: 100%;
    margin: 50px 5px;
    position: relative;
    img{
        width:100%;
        object-fit: cover;
        aspect-ratio: 16 / 9;
    }
    h3{
        position: absolute;
        font-size: 4rem;
        top: 50%;
        left: 2%;
    }
    h4{
        position: absolute;
        font-size: 4rem;
        top: 30%;
        left: 2%;
    }
    p{
        font-size: 2rem;
        margin: 0;
    }
}

}

@media only screen and (max-width: 720px){
#about {
    width: 95%;
    h2 {
    font-size: 2rem;
    }
    .flexbox{
    flex-direction: column-reverse;
        .right {
            width: 100%;
        }
        .left {
            width: 100%;
        }
        h3 {
            width: 100%;
            font-size: 1.4rem;
            font-weight: bold;
            letter-spacing: 0.1em;
            margin: 2% auto;
        }
        p {
            width: 100%;
            margin: 0 auto 2% auto;
            line-height: 2;
        }
    }
}
    .but{
    width: 80%;
    margin: 2% auto;
    flex-flow: column;
        .button013:first-child {
            margin-bottom: 20px;
        }
    }
}
/* -----------commit-------- */
#commit{
    width: 90%;
    max-width: 1200px;
    margin: 50px auto;
    position: relative;
    h2{
        font-size:2.5rem;
        letter-spacing: 0.1em;
        margin: 0 0 30px 0;
        padding: 0;
    }
    h4{
        font-size: 1.3rem;
    }
    .pt{
        margin: 0 auto 50px auto;
        gap: 5%;
        .left{
            width: 50%;
            img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            }
        }
        .right{
            width: 60%;
        }
    }
    .pt-last{
        margin: 0 auto 100px auto;
    }
    .pt-text{
        font-size: 1rem;
        line-height: 1.5;
    }
    .feed{
        .left{
            width: 100%;
            .swiper{
                height: 300px;
                .swiper-wrapper{
                    transition-timing-function: linear;
                }
            }
        }
        .right{
            width: 100%;
            table{
                max-width: 900px;
                margin: 0 auto;
            }
            h3{
                font-size: 2rem;
            }
        }
    }
    .whatbox{
        .flexbox{
            align-items: center;
             h2{
                font-size: 3rem;
                width: 40%;
                margin: 0;
                }
        }
        p{
            margin-bottom: 50px;
        }
        #swipercaw{
            height: 300px;
            .swiper-wrapper{
                transition-timing-function: linear;
            }
        }
    }
}
.keisan{
    width: 100%;
    margin-left: 2%;
}

.blank{
    border-bottom: 1px solid #000;
    width: 100%;
}

@media only screen and (max-width: 720px){
#commit{
    width: 100%;
    margin-bottom: 0;
        p{
            margin: 0 auto -10px auto;
            width: 95%;
            line-height: 1.5;
        }
        h2{
            font-size: 1.7rem;
            width: 100%;
            margin: 2% auto;
        }
    .flexbox{
        flex-direction: column;
        .left{
            width: 100%;
            overflow: hidden;
            img{
                width: 100%;
                height: auto;
            }
        }
        .right{
            width: 100%;
        }
        .pt-text{
            width: 98%;
            margin: 0 auto;
        }
        .keisan{
            width: 100%;
            margin: 0 auto 30px auto;
        }
    }
    .whatbox{
        .flexbox{
            h2{
                width: 95%;
                margin: 0;
                font-size: 1.7rem;
            }
        }
        .pt-text{
            line-height: 1.5;
            margin-bottom: 50px;
        }
        #swipercaw{
            height: 200px;
        }
    }
    h4{
        font-size: 2rem;
    }
    .blank{
        border: none;
    }
    .feed{
        .right{
            table{
            width: 90%;
            margin-top: 50px;
            border-collapse: collapse;
                tr{
                    height: 80px;
                    td:first-child{
                        width: 40%;
                        border-bottom: 1px solid #111111;
                    }
                    td:last-child{
                        border-bottom: 1px solid #111111;
                        font-size: 0.8rem;
                    }
                }
            }
            h3{
                font-size: 1rem;
                width: 95%;
                margin: 20px auto;
            }
        }        
    } 
}
.pt2{
    width: 100%;
    flex-direction: column;
    justify-content: space-around;
    .left{
    width: 100%;
    }
    .right{
    width: 100%;
        img:nth-child(1){
            margin-bottom: 20px;
            }
        img:nth-child(2){
            width: 80%;
            margin-bottom: 20px;
            margin-left: 10%;
        }
        img:nth-child(3){
            width:70%;
            margin-left: 30%;
        }
    }
}
}
 /*-------------what----------------  */
#what{
    width:90%;
    margin: 0 auto;
    max-width:1200px;
    h2{
        font-size: 3rem;
    }
    .whatbox{
        flex-direction: initial;
        gap: 2%;
    }
    .left{
        width:100%;
    }
    .right{
        width:100%;
    }
    .center{
        width:100%;
    }
}
.uemori{
    object-position: 66%;
}
.takagi{
    object-position: 66%;
}
.a-arrow{
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    background: #000;
    border-radius: 50%;
    z-index: 100;
 }
 
 /* 矢印 */
 
 .arrow{
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
    margin-top: 5px;
 }
@media only screen and (max-width: 720px){
#what{
    .whatbox{
        flex-direction: column;
    }
}
body#shopTopPage .itemList {
    flex-flow: column;
    width: 100%;
    padding: 5px;
    .ec-topic-list{
        width: 100%;
    }
}

body#shopTopPage .item {
    display:flex;
    width: 100%;
    .itemTitle {
        width: 100%;
    }
}
body.shop #shopHeader h1 {
    display: block;
}
#shopHeader{
    .sp{
    font-size: 2rem;
    font-weight: bold;
    margin: 3% 0;
    width: 100%;
    }
}
}
/* -----------------voice--------------------- */
#voice{
    width:90%;
    margin: 10% auto 0 auto;
    max-width:1200px;
    img{
    aspect-ratio: 3 / 2;
    }
    h2{
    font-size: 3rem;
    }
    .whatbox{
    gap:2%;
    padding:0
    }
    .left{
    width:calc(100% / 3);
    }
    .right{
    width:calc(100% / 3);
    }
    .center{
    width:calc(100% / 3);
    }
}

@media only screen and (max-width: 720px){
#voice{
    h2{
        font-size: 1.5rem;
        }
    .flexbox{
        flex-direction: column;
    }
    .whatbox{
        width:100%;
        .left{
            width:100%;
            }
            .right{
                width:100%;
            }
            .center{
                width:100%;
            }  
    }
}
}


/* shop------------------------------------------------------------------------------------*/ 
#shop{
    width: 90%;
    margin: 10 auto 0 auto;
    max-width: 1200px;
    h2{
        font-size: 3rem;
        margin: 5% 0;
        font-weight: bold;
    }
}
.over{
    overflow: hidden;
}
  .ec-topic-list{
    display: flex;
    width: 95%;
    margin: 20px auto 20px auto;
    max-width: 1200px;
    gap: 20px;
    justify-content: center;
}
.ec-topic-img{
    width: 60%;
    aspect-ratio: 16 / 9;
}
.ec-topic-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
.ec-topic-moji{
    width: 40%;
    color: black;
    display: flex;
    flex-direction: column;
}
.ec-topic-moji p{
    margin: 0;
    font-size: 1rem;
}
.ec-topic-moji h5{
    text-align:end;
    margin: 0px 0 10px 0;
    }

.ec-topic-moji h3{
    font-size: 2rem;
    margin-top: auto;
}
.ec-topic-moji h4{
    margin-bottom: 0;
    font-size: 2rem;
    text-align: end;
}
#Map{
    margin: 50px auto 30px auto;
    width: 90vw;
    max-width: 1200px;
        h2{
            font-size: 3rem;
            text-align: start;
        }
        .map{
            margin: 0 auto;
            width:100%;
            max-width: 900px;
        }
}
@media only screen and (max-width: 720px){
    #shop{
        h2{
            font-size: 2rem; 
        }
    }
    .ec-topic-list{
        width:90%;
        margin:0 auto;
        flex-direction: column; 
        gap: 0;
    }
    .ec-topic-img{
        width: 100%;
        aspect-ratio: 16 / 9;
    }
    .ec-topic-moji{
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
    }
    .ec-topic-moji p{
        margin-top: 0;
        font-size: 1rem;
    }
    .ec-topic-moji h3{
        font-size: 1.5rem;
        margin: 0;
    }
    .ec-topic-moji h4{
        margin-top: 0%;
        font-size: 2rem;
        text-align: end;
    }
}


@media(max-width:720px){
    #contact{
        .cntactbox{
            flex-direction: column;
            h3{
                font-size: 0.8rem;
            }
        }
    }
}
 /* ローディング画面のデザイン */ 
 #loading-screen { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: #000; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    flex-direction: column;
    color: #fff; 
    font-size: 1.2rem; 
    font-family: Arial, sans-serif; 
    z-index: 9999; 
} 
 /* フェードアウトアニメーション */ 
 .fade-out { 
    animation: fadeOut 1s forwards; 
} 
#count{
    text-align: end;
    width: 115px;
}
 @keyframes fadeOut { 
    0% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } 
} 