*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html,
body{
    font-size:16px;
}
body{
    font-family: 'Noto Serif JP', serif;
}
a{
    text-decoration: none;
    color:black;
}
a:hover{
    opacity: 0.5;
}

/*header*/
header{
    width: 100%;
    text-align: center;
}
header div{
    background-color: black;
    text-align: left;
}
h1 img{
    width: 200px;
    margin:20px;
}
.logo{
    width:120px;
    margin:20px;
}
nav{
    width:90%;
    margin:0 auto;
}
nav ul{
    display: flex;
    justify-content: space-between;
    align-items:center;
}
nav ul li{
    list-style-type: none;
    font-size:80%;  
}
nav ul li a{
    font-size:200%;
}
figure{
    width: 100%;
    margin: 0 auto;
}
.slide {
    width: 100%;
    height: 700px;
    margin: auto;
    background-color: white;
    position: relative;
    overflow: hidden;
}
.slide img {
    width: inherit;
    height: inherit;
    left: -100%;
    opacity: .9;
    object-fit: cover;
    object-position:center;
    display: block;
    position: absolute;
    animation: slideAnime 48s ease infinite;
}
.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 8s }
.slide img:nth-of-type(3) { animation-delay: 16s }
.slide img:nth-of-type(4) { animation-delay: 24s }
.slide img:nth-of-type(5) { animation-delay: 32s }
.slide img:nth-of-type(6) { animation-delay: 40s }

@keyframes slideAnime{
   0% { left: -100% }
   4% { left: 0     }
  12% { left: 0     }
  16% { left: 100%  }
 100% { left: 100%  }
}

/*top*/

main{
    width:90%;
    margin:0 auto;
    text-align: center;
}
article{
    margin:100px auto;
}
h2,h3{
    margin:50px;
}
article div{
    margin: 100px auto;
}
.bouquet{
    color:black;
    font-size:150%;
}
.btn{
    background-color:#A8498D;
    color:black;
    font-size:200%;
    padding:15px;
    border-radius:20px;
}
hr{
    margin:30px auto;
}
.area{
    width:90%;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
}
section{
    width:50%;
    padding:50px;
    margin:0 10px 10px 0px;
}
section p{
    margin:20px auto;
}
.profile{
    display: flex;
    justify-content: space-between;
}
.profile p{
    font-size:120%;
}
.profile img{
    width:100px;
}
aside{
    width: 50%;
    margin:0 0 10px 10px;
    padding:20px;
}

/*sub*/

table{
    margin:0 auto;
}
table td{
    line-height: 200%;
}
.title{
    font-size: 200%;
    font-weight:bold;
    color:palegreen;
    margin:80px 0;
}
.small{
    font-size:80%;
}

/*production*/

.productionpage div{
    margin:100px;
}
.productiontable{
    margin-top:50px;
}
.productiontable td{
    padding:50px;
}
.productiontable tr{
    height: 200px;
}
.square{
    border: 1px solid;
    padding:50px 30px;
    margin:10px;
}

/*bouquet*/

.bouquetpage{
    background-image:url("../img/bouquetbg.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-bottom:100px;
}
.bouquetpage ul li{
    list-style-type:square;
    list-style-position: inside;
}
.bouquetpage div{
    margin:80px 0;
}
.bouquettable th{
    padding-top: 50px;
}
.bouquettable th{
    width:350px;
}
.bouquettable2 th{
    padding:10px auto;
}
.bouquettable2 td{
    padding:20px;
}
.bouquetimg{
    width:200px;
    margin:10px;
}
.hairdress ul{
    padding-left:15px;
    text-align: left;
}
.hairdress{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.right{
    text-align: right;
}
    
/*gallery*/

.gallerypage{
    background-image: url(../img/gallerybg.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-bottom:100px;
}
.gallerytable img{
    max-width: 250px;
    max-height: 300px;
    margin-top:100px;
    margin-bottom: 20px;
}

/*contact*/

.contactpage p{
    margin:50px 0;
}

/*footer*/

footer{
    width:100%;
    background-color:black;
    color:white;
    text-align: center;
}
.footer{
    display: flex;
    justify-content: space-between;
    padding:30px;
}
footer img{
    width: 300px;
}
.menu{
    padding: 30px;
}
.menu a{
    color:white;
}

/*tb*/

@media(min-width:961px){
    .pc{
        display: block;
    }
    .tb{
        display: none;
    }
    .mb{
        display: none;
    }
}

@media(max-width:960px) and (min-width:561px){
    .pc{
        display: none;
    }
    .tb{
        display: block;
    }
    .mb{
        display: none;
    }
    
    /*header*/
    
    nav ul li{
        margin:30px; 
    }
    nav ul li a{
        font-size:150%;
    }
    h1 img{
        margin:15px;
        width: 150px;
    }
    .slide {
        height:500px;
    }
    
    /*top*/
    
    .area{
        width:100%;
        flex-wrap: wrap;
    }
    section{
        width: 100%;
        margin:10px auto;
    }
    aside{
        width: 100%;
        margin:10px auto;
        padding:0px;
}
    /*production*/
    
    .productionpage div{
        margin:50px auto;
    }
    .productiontable td{
        padding:30px auto;
    }
    .square{
        padding:50px auto;
    }

    /*bouquet*/
    
    .bouquettable2 td{
        width:250px;
    }
    /*footer*/
    
    .footer{
        flex-wrap: wrap;
    }
    footer div{
        margin:20px auto;
        padding:50px;
    }
    .menu{
        text-align: center;
    }
}

/*mb*/

@media(max-width:560px){
    .pc{
        display: none;
    }
    .tb{
        display: none;
    }
    .mb{
        display: block;
    }

    /*header*/
    
    nav ul li{
        margin:10px auto; 
    }
    nav ul li a{
        font-size:100%;
    }
    h1 img{
        margin:10px;
        width: 150px;
    }
    .slide {
        height:250px;
    }
    
    /*top*/
    
    article{
        margin:50px auto;
    }
    h2{
        margin:25px auto;
    }
    .btn{
        font-size:150%;
     }
    .area{
        width:100%;
        flex-wrap: wrap;
    }
    section{
        width: 100%;
        margin:50px auto;
        padding:0px;
    }
    .profile{
        flex-wrap: wrap;
    }
    aside{
        width: 100%;
        margin:50px auto;
        padding:0px;
    }
    
    /*production*/
    
    .productionpage div{
        margin:50px 0;
    }
    .productiontable td{
        padding:30px auto;
    }
    .square{
        padding:50px auto;
    }
    
    /*bouquet*/

    .bouquetpage div{
        margin:80px 0;
    }
    .bouquettable th{
        width:auto;
    }
    .bouquettable td{
        padding:10px;
        vertical-align: text-top;
    }
    .bouquettable2 td{
        width: 100px;
    }
    .bouquetimg{
        width:150px;
        margin:auto;
    }
    .bouquettable2 td{
        padding:20px auto;
    }
    .b{
        font-size:120%;
        font-weight: bold;
        margin-top:50px;
        margin-bottom: 20px;
    }
    
    /*gallery*/

    .gallerytable img{
        max-width: 180px;
    }

    /*footer*/
    
    footer div{
        margin:20px auto;
        padding:30px auto;
    }
    .footer{
        flex-wrap: wrap;
        margin-top: 100px;
        padding:30px auto;
    }
    footer img{
        width: 200px;
        margin:20px auto;
    }
    .menu{
        text-align: left;
        padding: 30px auto;
    }
}