@charset "UTF-8";
/* Semi Custom Made／セミオーダーメイド／chapelier han（シャプリエ・ハン） */

/*--common------------------------------------------*/	

*{
	margin: 0;
	padding:0;
	box-sizing: border-box;
	list-style: none;
	text-decoration: none;
	color: inherit; /*aが青文字になるのをを防ぐ*/
	}

body{
	font-family: 'Lato', 'Helvetica Neue', Helvetica, serif;
	background: url("../img/gray.concrete.jpg") no-repeat;
	background-size:cover;
	color:#fff;
	/*text-shadow: 1px 1px 5px rgba(0,0,0,.8);*/
}

html{
	font-size: 18px;
}

img {
 width: 100%;
}

a {
 transition: .3s;
}

/*--header------------------------------------------*/

header{
	height: 105px; /*注意；スマホ広げて*/
	position: relative;
	}

header img{ /*無いとheaderを無視して巨大な写真に*/
	width: 100px;
	position: absolute;
	top:5px;
	left:5px;
	}
/*img-height = header-height にしていたがレスポンシブに合わせimg-height削除*/

/*ロゴ変更のため中止*/
	/*header .hat img:hover{
	transform:rotate(-40deg);
	transition-duration: 2s;
	transition-delay: .1s;
	}*/

header .chapelierhan{
	position: absolute;
	top:15px;
	left:115px;
	font-size: .5rem;
	}

header span{
	font-size: .8rem;
	letter-spacing: 1.5px;
	}
	
	nav{
		position:fixed;
		top:77px;
		right:3%;
		width:70%;
	}
	
	nav ul{
		display: flex;
		justify-content: space-between;
		flex:1;
		text-align: center;
		font-weight: bold;
		color:#fff;
		text-shadow: 1px 1px 5px rgba(0,0,0,.8);
		transition: 1s;
	}

	nav ul li:hover{
		font-size: 1.2rem;
		color:antiquewhite;
		background: #393E46;
		padding: 0 1em;
		border-radius: 10px;
		cursor:grab;
	}


/*--semi.css----------------------------------------*/

h2{
	margin: 3% 0 0 5%;
	color:#595260; /*灰紫系*/
}

h2 span{
	display: block;
	font-size: .7em;
}

.flex-container{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin:0 5%;
}

.right,.left{
	width: 40%;
}

.right p{
	font-size: 1.2rem;
	color:#595260; /*灰紫系*/
	line-height: 2;
}

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

.flex-container h3{
	margin:10% 0 3%;
}

.op1,.op2,.op3{
	width: 28%;
}

.op1 p,
.op2 p,
.op3 p{
	font-size: 1.2rem;
	color:#595260; /*灰紫系*/
	margin-left:5%;
}

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

h4{
	text-align: center;
	margin: 10% auto;	
}

h4:hover{
	color: antiquewhite;
}

h4 a{
	display: inline-block;
	text-align: center;
	padding:.5em 1em;
	border-radius:20px;
	background: #393E46;
	font-size: 1.1rem;
	font-weight: bold;
}

/*--back-button-------------------------------------*/

	.back{
	z-index: 999;
	width: 83px;
	height: 83px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: #393E46;
	text-align: center;
	color: antiquewhite;
	font-size: 16px;
	font-weight: bold;	
	padding-top: .2em; /*--D.Forget-文字高さの調節はシンプル--*/
	line-height: 1;
	position: fixed;
	bottom:-200px;
	right: 30px;
	animation: button 3s 1s forwards;}
/*--そのまま留まり消えない--*/
/*--animationの指定位置に注意--aタグでない--*/


@keyframes button{
	100%{bottom:30px;} 
/*--変更をしないright:30px;は書かなくて良い--*/
}

/*--footer---------------------------------------*/

footer{
	height: 100px;
	line-height: 100px;
	text-align: center;
	background: #fffbe0;
	position:relative;
	text-shadow: none;
}

.logo{
	width: 150px;
	position: absolute;
	top:15%;
	left:5%;
}

.icon{
	width:50px;
	position:absolute;
	top:23%;    /*ブラウザー縮めても重ならない位置*/
	right:14%; /*ブラウザー縮めても重ならない位置*/
}

footer small{
	color: #333;
	font-size: .9rem;
	box-shadow: 0 0 0 0;
}

footer .small322{
	display: none;
}





/*--max-width(1000)------------------------------*/

@media(max-width:1000px){
	
	header nav{
		width:90%;
	}
	
	footer{
	height: 300px;
	}
	
	footer small{
		position: absolute;
		top:100px;
		left: 3px;
	}
	}

/*--max-width(768)------------------------------*/

@media(max-width:768px){
	
	header{
		position: relative;
		height: 277px;
	}
	
	header nav{
		position:static;
		display: flex;
		padding-top: 15px;
	}
	
	header nav ul{
		/*flex: 1;*/     /*間違え*/
		/*width: 100%;*/ /*間違え*/
		display: block;
		line-height: 2;
	}
	
	header nav ul li{
	text-align: center;
	}
	}

/*--max-width(480)------------------------------*/

@media(max-width:480px){
	
	header{
		height: 300px;
	}
	
	header span{
		display:block;
	}
	
	header nav{
		padding-top: 30px;
	}
	
	footer small{
		display: none;
	}
	
	footer{
		position: relative;
	}
	
	footer .small322{
		display: block;
		color: #111;
		line-height: 1;
		position:absolute;
		top:150px;
	}
	}

/*--max-width(320)------------------------------*/

@media(max-width:320px){
	
	header{
		height:330px;
	}
	
	header .leftbody{
		padding-bottom: 30px;
	}
	
	header span{
		font-size:.7rem;
	}
	}
/*-----------------------------stylesheet--END--*/




