@charset "utf-8";
html{
    font-size: 62.5%;
}
h1,h2,h3,h4,h5,p,a,button,li{
    font-family: "Shippori Mincho B1", serif;
    font-weight: 700px;
    font-style: normal;
    color: #7F4435;
}
h1{
    margin-bottom: 60px;
    margin-top: 30px;
}
td,th{
    font-family: "Shippori Mincho B1", serif;
    font-size: 20px;
    font-style: normal;
    color: #7F4435;
}

img{
    width:50%;
}

/* ヘッダー */
.menu {
    display:flex;
    font-size: 24px;
    list-style: none;
    text-align: right;
    width: 500px;
    margin: 0 auto;
    justify-content: space-between;
    padding: 35px 10px 10px;

    }
.menu li a{
    color:#7F4435;
    text-decoration: none;
}
.menu li a:hover{
    color:#b970fd;
}
header{
    padding: 5px 80px;
    text-decoration: none;
    background-color:#FFD9E7;
    height: 90px;
    justify-content: space-between;
    display: flex;
}
header img{
    width: 55px;
    padding-top: 15px;
}
/* ヘッダーここまで */

/*ABOUT*/
.top{
    display: flex;
    width:1200px;
    margin: 0 auto;
    height: 700px;
    padding:100px;
}
.top1 img{
    width: 400px;
    padding-left: 100px;
    margin: 30px;
}
.top2 img{
    width: 700px;
}

.about{
    width: 1200px;
    margin: 40px auto;
    display: flex;
    border: 4px solid #FFD9E7;
    height: 500px;
    padding: 40px;
}
.about img{
    width: 630px;
    height: 420px;
    padding-top: 40px;
}
h2{    
    font-size: 48px;
    color:#7F4435;
    text-align: center;
    margin: 40px;
    margin-bottom: 70px;
    
}
h1{
    font-size: 48px;
    color:#7F4435;
    text-align: center;  
}
.about p{
    font-size: 20px;
    word-break:keep-all;
    padding-left: 20px;
}
.aboutin{
    padding-left: 50px;
    position: relative;
}

button{
    display: inline-block;
    outline: 0;
    cursor: pointer;
    border: 2px solid #7F4435;
    border-radius: 0;
    color: #7F4435;
    background: #fff;
    font-size: 36px;
    font-weight: normal;
    line-height: 70px;
    padding: 0 30px;
    text-align:center;
    transition-duration: .15s;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    margin: 0 auto;
}
.aboutbtn{
    position: absolute;
    top: 300px;
    left: 240px;
}
button:hover{
    background-color: #FFD9E7;
}

/*ABOUTここまで*/

/*WORKS*/
.works{
    height: 900px;
    background-color: #FFD9E7;
    padding: 90px;
}
.works img{
    width: 350px;
    height: 230px;
}
.gallery{
    width: 1080px;
    margin: 0 auto;
}
.galleryopen{
    width: 100%;
    table-layout: fixed;
    align-items: center;
    text-align: center;
}
th,td{
    align-items: center;
    display: galleryopen;
	vertical-align: middle;
    line-height: 70px;
}
td{
    text-align: left;
}

/*WORKSここまで*/

/*CONTACT*/
h3{
    font-size: 32px;
    text-align: center;  
}
.contact{
    text-align: center;
    height: 600px;
    padding:110px;
}

.contactbtn{
    margin-top: 100px;
}

.contactform{
    margin-top: 40px;
}

/*CONTACTここまで*/

/*フッター*/
footer{
    height: 120px;
    padding: 20px 120px;
    text-decoration: none;
    background-color:#FFD9E7;

}
.lastmenu li {
    font-size: 20px;
    list-style: none;
    display: inline;
    justify-content: space-between;
    margin-bottom: 50px;

}
.lastmenu li a {
    text-decoration: none;
    padding: 10px 20px;
}
.lastmenu li a:hover{
    color:#b970fd;
}


.copyright{
    text-align: center;
    align-items: flex-end;
    position: relative;
    margin-top: 30px;
}
.copyright{
    font-size: 20px;
    position: relative;
        top: 10px;
}




/*フッターここまで*/


/*ABOUT html*/
.about2{
    display: flex;
    margin: 40px;
    height: 700px;
    padding-top: 40px;
    text-align: center;
}
.about3{
    width:545px;
    margin: 50px;
    display: flex;
    border: 4px solid #FFD9E7;
    height: 440px;
    padding: 30px;
    flex-direction: column;
}
.about3 p{
    line-height: 30px;
    text-align: left;
    font-size: 20px;
}
.top3 img{
    margin: 50px;
    width: 545px;
    height: 500px;
    padding-left: 80px;
}
h4{
    font-size: 40px;
    margin-bottom: 60px;
    margin-top: 40px;
    text-align:left
}
.skill{
    display: flex;
    margin: 40px;
    height: 750px;
    flex-direction: column;
    text-align: center;
}
.skills{
    background-color: #FFD9E7;
    width: 865px;
    height: 340px;
    text-align: center;
    margin: 0 auto;
}
.skills td{
    vertical-align: middle;
    margin: 0 auto;
    text-align: center;
    font-size: 30px;
}
.homebtn{
    margin-top: 80px;
    text-align: center;

}
/*ABOUT html*/




/* プライバシーポリシー */
#privacy{
    width: 100%;
    height: 420px;
    margin-top: 70px;
    margin-bottom: 70px;
}
.first{
    border: 4px solid #FFD9E7;
    width: 1180px;
    height: 190px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 40px;
}
h5{
    font-size: 24px;
    line-height: 50px;
}
.privacy{
    width: 100%;
    height: 3880px;
}

.privacy-top{
    color: #7F4435;
    font-size: 35px;
    line-height: 80px;
    margin-left: 140px;
    background-color: #FFD9E7;
    display: inline-block;
}

.privacy-detail{
    font-size: 20px;
    margin: 20px 140px ;
    line-height: 40px;

}
.privacybtn{
    width: 100%;
    height: 300px;
    text-align: center;
}
.contactbtn{
    margin-top: 80px;
    text-align: center;

}
/*プライバシーポリシー*/


/*===モーダル表示のためのcss　*/

.hide-area{/*モーダル表示をする場所をあらかじめ隠す*/
	display: none;
}

.modaal-fullscreen .modaal-content-container{/*full画面の色設定*/
	background: #FFD9E7;
	color: #7F4435;
	text-align: center;
    z-index: 999999;
}

.modaal-fullscreen .modaal-close{/*ボタンの色、位置*/
	background-color:#7F4435;
	right:20px;
}

/*クローズボタンの×の色変更*/
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#7F4435;
}

/*キャプション*/
.caption{
    display: block;
    padding: 10px 0;
}

/*===　サムネイル表示のためのcss　*/

.gallery{/*ベースになるギャラリーを横並びに*/
	display: flex;
    justify-content: space-between;
}

.gallery li{
    padding: 20px 10px;
    list-style:none;
}
.gallery li img{
    width: 100%;
    height: 100%;
}

/*画像の横幅を100%にしてレスポンシブ化*/
img{
	max-width:100%;
	height:auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}
/*==================================================
ふわっ
===================================*/


/* fadeUp */

.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeUpAnime{
    from {
        opacity: 0;
    transform: translateY(100px);
    }
    
    to {
        opacity: 1;
    transform: translateY(0);
    }
    }
    
    
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
    .fadeUpTrigger{
        opacity: 0;
    }


/*　画像の拡大　*/

.zoomIn img{
	transform: scale(1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomIn a:hover img{/*hoverした時の変化*/
	transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
}

/*　画像のマスク　*/

.mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}



/*サイズ調整*/
@media screen and (max-width: 1200px) {   /*769で検証で確認*/
/*top*/
    .menu {
        display:flex;
        font-size: 24px;
        list-style: none;
        text-align: right;
        width: 500px;
        margin: 0 auto;
        justify-content: space-between;
        padding: 35px 10px 10px;
    }
    header{
        padding: 5px 60px;
        text-decoration: none;
        background-color:#FFD9E7;
        height: 90px;
        justify-content: space-between;
        display: flex;
    }
    header img{
        width: 45px;
        padding-top: 15px;
    }
    
    .top{
        display: flex;
        width: 750px;
        margin: 0 auto;
        height: 370px;
        padding: 40px;
    }
    .top1 img{
        width: 400px;
        padding-left: 100px;
    }
    .top2 img{
        width: 700px;
    }
    
    .about{
        width: 720px;
        display: flex;
        border: 4px solid #FFD9E7;
        height: 320px;
        padding: 10px;
    }
    .about img{
        width: 310px;
        height: 210px;
        padding-top: 40px;
    }
    h2{
        font-size: 30px;
        margin: 20px;
        text-align: center;
    }
    .about p{
        font-size: 16px;
        word-break:keep-all;
    }
    
    button{
        font-size: 24px;
    }
    .aboutin{
        position: relative;
    }
    .aboutbtn{
        position: absolute;
        top: 140px;
        left: 180px;
    }
    
    .works{
        height: 1000px;
        background-color: #FFD9E7;
        padding: 90px 0;
    }
    .gallery{
        width: 680px;


    }
    .works img{
        width: 350px;
        height: 230px;
    }
    .galleryopen{
        width: 100%;
        table-layout: fixed;
        align-items: center;
        text-align: center;
    }
    h3{
        font-size: 30px;
        word-break:keep-all;
    }
    footer{
        height: 110px;
        padding: 20px 70px;
        text-decoration: none;
        background-color:#FFD9E7;
    }
    .copyright{
        position: relative;
        top: 10px;
    }
/*top終了*/    
/*ABOUT html*/
.about2{
    margin: 40px;
    height: 530px;
    padding-top: 40px;
    text-align: center;
}
.about3{
    width: 400px;
    margin: 0 auto;
    display: flex;
    border: 4px solid #FFD9E7;
    height: 390px;
    padding: 30px;
    flex-direction: column;
}
.about3 p{
    line-height: 18px;
    text-align: left;
    line-height: 30px;
}
.top3 img{
    margin: 0 auto;
    width: 335px;
    height: 280px;
    position: relative;
    top: 40px;
    left: -50px;
}
h4{
    font-size: 32px;
    margin-bottom: 40px;
    margin-top: 20px;
    text-align: left;
}
.skill{
    display: flex;
    margin: 40px;
    height: 600px;
    flex-direction: column;
    text-align: center;
}
.skills{
    background-color: #FFD9E7;
    width: 730px;
    height: 250px;
    text-align: center;
    margin: 0 auto;
}
.skills td{
    vertical-align: middle;
    margin: 0 auto;
    text-align: center;
    font-size: 30px;
}
.homebtn{
    margin-top: 80px;
    text-align: center;

}
/*ABOUT html終了*/
/*pripacy html*/
.first{
    border: 4px solid #FFD9E7;
    width: 760px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
    padding: 30px 20px;
}
/*pripacy html終了*/


}



@media screen and (max-width: 768px) {
/*top*/
    header{
        padding: 5px 10px;
        text-decoration: none;
        background-color:#FFD9E7;
        height: 70px;
        justify-content: space-between;
        display: flex;
    }

    .menu {
        font-size: 14px;
        list-style: none;
        text-align: right;
        width: 350px;
        margin: 0 auto;
        justify-content: space-between;
        padding: 20px 0;
    }
    header img{
        width: 30px;
        padding-top: 10px;
    }

    .top{
        text-align: center;
        display: contents;
    }
    .top1 img{
        width: 300px;
        padding-left: 0px;
    }
    .top2 img{
        width: 350px;
    }

    .about{
        width: 310px;
        margin: 40px auto;
        display: flex;
        flex-flow: column;
        border: 4px solid #FFD9E7;
        height: 450px;
        padding: 30px;
    }
    .about img{
        width: 280px;
        height: 190px;
    }
    h2{
        font-size: 40px;
        margin: 20px;
        position: relative;
        top: -230px;
        left: -30px;
    }
    .aboutin p{
        font-size: 16px;
        position: relative;
        top: -60px;
        left: -70px;
    }
    
    button{
        font-size: 24px;
    }
    .aboutin{
        padding-left: 50px;
    }
    .aboutbtn{
        position: relative;
        top: -30px;
        left: -20px;
    }
    
    .works{
        height: 1900px;
        background-color: #FFD9E7;
        padding: 50px 10px;
    }
    .gallery{
        width: 400px;
    }

    .contact{
        text-align: center;
        height: 450px;
        padding: 30px;
    }
    
    h3{
        font-size: 20px;
    }
    footer{
        height: 80px;
        padding: 20px 70px;
        text-decoration: none;
        background-color:#FFD9E7;
    }
    .lastmenu li {
        font-size: 16px;
        list-style: none;
        display: inline;
        justify-content: space-between;
        margin-bottom: 50px;   
    }
    .lastmenu li a {
        text-decoration: none;
        position: relative;
        top: -5px;
        left: -60px;
    }
    
    .copyright{
        font-size: 16px;
        position: relative;
        top: -20px;
    }
/*top終了*/
/*ABOUT html 作成途中*/
.about2{
    display: contents;
    margin: 40px;
    height: 740px;
    padding-top: 40px;
    text-align: center;
}
.about3{
    width: 330px;
    margin: 0 auto;
    display: flex;
    border: 4px solid #FFD9E7;
    height: 450px;
    padding: 30px;
    flex-direction: column;
}
.about3 p{
    line-height: 18px;
    text-align: left;
    line-height: 30px;
}
.top3 img{
    margin: 0 auto;
    width: 300px;
    height: 250px;
}
h4{
    font-size: 24px;
    margin-bottom: 40px;
    margin-top: 20px;
    text-align: left;
}
.skill{
    display: flex;
    margin: 40px;
    height: 400px;
    flex-direction: column;
    text-align: center;
}
.skills{
    background-color: #FFD9E7;
    width: 355px;
    height: 200px;
    text-align: center;
    margin: 0 auto;
}
.skills td{
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    font-size: 16px;
    padding-left: 15px;
}
.homebtn{
    margin-top: 80px;
    text-align: center;

}
/*ABOUT html終了*/



}
/*サイズ調整*/