@charset "utf-8";
/*id service news concept shopinfo*/

html {
    scroll-behavior: smooth;
}

#wrapper{
    overflow:hidden;
}

/*ここからヘッダーの設定*/
header{
    width:100%;
    height: 0;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 100;
   
   
}

.fixed{
    height: 90px;
    background-color: #fff;
    opacity: 1;
    position: fixed;
    top: 0;
    left: 0;
    }

header h1{
    height: 100%;
   

}

header a{
    display: block;
    width: fit-content;
    height: 100%;
    
}

header img{
    width: 220px;
    padding-top: 5px;
}

.sns_icon{
    display: flex;
    justify-content: space-around;
    width:150px;
    margin-right: 130px;
    padding: 25px 0 25px;
}

.sns_icon img{
    width:40px;
    height: 40px;
}

/*ここまでヘッダーの設定*/
/*ここからメインビジュアルの設定*/
.main_visual{
    width: 100%;
    height: 100vh;
    background-image: url(../images/fv.jpg);
    
}

.main_visual p{
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.3);
    text-align: center;
}

.main_visual p img{
    width:60%;
   
}
/*ここまでメインビジュアルの設定*/
/*ここからナビゲーションの設定*/

nav{
   
    color: #fff;
    font-weight: bold;
    font-size: 28px;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top:0;
    left:0;
    z-index: 9999;
    overflow: hidden;
    background-color:  rgba(0,92,76,0.6);

}

nav ul{
    width:70%;
    margin:0 auto;
    padding-top: 100px;

}

nav ul li{
    line-height: 70px;
}

nav ul li:nth-child(6){
    background-color: #000;
    color: #fff;
    width:fit-content ;
    padding: 0 20px;
}

nav ul li:last-child a{
    display: block;
}
nav ul li span{
    font-size: 18px;
    font-weight: 300;
    padding-left: 30px;
}
.menu-btn{
    width:50px;
    height: 60px;
    position: fixed;
    top:20px;
    right: 30px;
    z-index: 10000;
    cursor: pointer;
}
.menu-btn span{
    display: block;
    width:40px;
    border-bottom: 4px solid #000;
    margin: 0 auto;
}

.menu-btn span:first-child{
    top: 10px;
}
.menu-btn span:nth-child(2){
    top: 29px;
}
.menu-btn span:last-child{
    bottom: 10px;
}
.menu{
    transform: translateX(100vw);
    transition: all .3s linear;
  }
  .menu_bar{
    transition: all .3s linear ;
    position: absolute;
  }
  /* アニメーション後のメニューの状態 */
  .menu.is-active{
    transform: translateX(0);
  }

.menu_bar.is-active:first-child{
    transform: rotate(45deg);
    top:27px;

}
.menu_bar.is-active+span{
    transform: translateX(300px);
}
.menu_bar.is-active+span+span{
    transform: rotate(-45deg);
    bottom:29px;
}
/*ここまでナビゲーションの設定*/
/*ここからメインの設定*/
main{
    width: 75%;
    margin: 0 auto;
    padding-top: 80px;
}

main section{
    margin-bottom: 80px;
}

section h2{
    font-size: 40px;
    font-weight: bold;
   
}
section h2 p{
    display: inline-block;
    width: fit-content;
}

section h2 p:last-child{
    font-size: 22px;
    font-weight: 300;
    margin-left: 20px;
}
/*ここまでメインの設定*/
/*ここからサービスの設定*/
#service article{
    display: flex;
    padding-top: 30px;
    justify-content: space-around;
}

#service>p:last-child,#news>p:last-child{
    text-align: center;
    border: solid 1px #000;
    width: fit-content;
    padding:10px 25px;
    margin: 0 auto;
}
.annai{
    width:45%;
    background-color: #000;
    color: #fff;
    margin-bottom: 50px;

}
.annai p:first-child{
    height: 75px;
    line-height: 75px;
    font-size: 18px;
    font-weight: bold;
}

.annai p:last-child{
    background-color: #005c4c;
    height: 35px;
    line-height: 35px;
}
.annai p{
    text-align: center;
}


/*ここまでサービスの設定*/

/*ここからお知らせの設定*/

#news article{
    background-color: #ccc;
    width: 22%;
    min-width: 200px;
    position: relative;
    margin-top: 30px;
}
#news_area .time{
    position: absolute;
    top:-20px;
    left: 0;
    padding: 0;
}

#news article h3{
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    text-align: center;
    background-color: #000;
    color: #fff;
}

#news article p{
    padding: 20px;
}

#news_area{
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}
/*ここまでお知らせの設定*/

/*ここからコンセプトの設定*/

#concept{
    padding-top: 100px;
    color: #fff;
}

#concept h2{
    width:80%;
    margin-bottom:-150px;
    position: relative;
    z-index: 10;
}

#concept h2 p:first-child{
    font-size: 50px;
}

#concept article:first-of-type{
    background-image: url(../images/concept.jpg);
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 200px 0;
    position: relative;
    z-index: -1;
}

#concept article:first-of-type::after{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: rgba(0,0,0,0.3);
    top:0;
    left:0;

}
#concept article:first-of-type h3{
    width:60%;
    margin:0 auto;
    padding-bottom: 30px;
    font-size: 34px;
    font-weight: bold;
    position: relative;
    z-index: 10;
    /*color: #fff;*/
}

#concept article:first-of-type p{
    width:50%;
    margin:0 auto;
    font-weight: bold;
    font-size: 18px;
    line-height: 30px;
    position: relative;
    z-index: 10;
}

#concept article:last-child{
    color: #000;
}

#concept article:last-child h3{
    font-size: 26px;
    margin-bottom: 10px;
}
.concept_area{
    width: 70%;
    margin: 0 auto;
    background-color: rgba(0,92,76,0.2);
    padding: 40px 0 20px 0;
    margin-top: 30px;
}

.concept_area p{
    margin-left: 65px;
}

.concept_area h3 img{
    width:50px;
    vertical-align: middle;
    margin: 0 15px 15px 10px;
}

/*ここまでコンセプトの設定*/

/*ここから店舗情報の設定*/
#shop_address{
    display: flex;
    justify-content: space-around;
    padding-top: 50px;
}

#shop_address>p{
    width:40%;
}

address p{
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}
table{
    margin-left: 20px;
}
table tr{
    line-height: 40px;
}

table th{
    font-weight: bold;
}
table td{
    padding-left: 25px;
}


/*ここまで店舗情報の設定*/
/*ここからフッターの設定*/
footer p{
    text-align: center;
}

.map{
	border: 1px solid #005c4c;
	border-radius: 5px;
	color:#005c4c;
	padding: 8px 15px;
	font-weight: bold;
	font-size: 18px;
}

.map:hover{
	opacity: 0.6;
}

/*ここまでフッターの設定*/
#cv{
    position: fixed;
    bottom:30px;
    right:30px;
    text-align: center;
    background-color: #005c4c;
    padding:10px 15px 10px;
    color: #fff;
    font-weight: bold;
    z-index: 9998;
    border-radius: 10px;
}
#service article,#news_area,#concept article:last-child,#shop_address{
    flex-wrap: wrap;
}

@media screen and (max-width:680px){
	
	main{
		width: 95%;
		margin-bottom: 110px;
	}
	


    header{
        height: 15vh;
    }
	
	.main_visual{
		height: 30vh;
		background-size: cover;
	}
	
	nav ul li:nth-child(6){
	font-size: 18px;
}
	
	nav ul li span {
    font-size: 12px;
    font-weight: 300;
    padding-left: 10px;
}
	
	section h2 p:last-child{
		display: block;
	}
    #service article,#news_area,#concept article:last-child,#shop_address{
        flex-direction: column;
    }
    #service article .annai{
        width:80%;
        margin: 0 auto 50px;
    }
    
    #news article ,.concept_area {
        width:100%;
        margin-bottom: 40px;
    }
    section h2 p:last-child {
        margin-left: 0;
        margin-bottom: 20px;
    }
    #concept article:first-of-type{
        background-image:url(../images/concept_sp.jpg);
        background-size: cover;
    }
    #concept article:first-of-type h3 {
        width:91%;
    }
    #concept article:first-of-type p  {
        width:80%;
        font-size: 14px;
    }
	
	#concept article:last-child h3{
		font-size: 22px;
		font-weight: 700;
		text-align: center;
	}
	
	#concept article:last-child h3 img{
		display: none;
	}
	
	.concept_area p{
		margin-left: 20px;
	}
	
	#news_area article h3{
		font-size: 16px;
	}

    #concept article:first-of-type p:last-of-type {
        width:73%;
    }

    #shop_address>p {
        margin: 0 auto;
    }
    address p{
        font-size: 22px;
    }
	address table{
		margin-left: 0;
		width: 100%;
	}
	
	address table th{
		min-width: 70px;
	}
	


}