@charset "UTF-8";

/*-----------------------------------

	base

-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: "Noto Sans JP","メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 14px;
    font-size: 1.4em;
	color: #000;
    line-height: 1.8em;
	letter-spacing:0.03rem;
	font-weight: 400;
	background: #fff;
	margin:0 !important;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	z-index: 999;
}

::selection {
	background: #3399ff;
	color: #fff;
}

//Firefox
::-moz-selection {
	background: #3399ff;
	color: #fff;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
	color:#fff;
	text-decoration:none;
    cursor: pointer;
}
a:hover {
	color:#333434;
	text-decoration:none;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a img{
	transition : 0.2s ;
	-webkit-transition : 0.2s ;
	-moz-transition    : 0.2s ;
	-o-transition      : 0.2s ;
	-ms-transition     : 0.2s ;
}
a:hover img {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

/* device */
.sp {
	display:none;
}
.tab {
	display:none;
}
.pc {
	display:block;
}

/* contents */
.contents_inner{
	width: 1000px;
	margin: 0 auto;
}
section {
    clear: both;
    width: 100%;
    text-align: center;
    padding-top: 90px;
}
.inner {
    clear: both;
    max-width: 1020px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 30px;
    padding-left: 30px;
}
.picture {
	margin-bottom: 60px;	
}
.renner {
    font-family: Renner;
}
@media screen and (max-width: 1080px) {

	.contents_inner{
		width: 95%;
		margin: 0 auto;
	}

}

@media screen and (max-width: 840px) {

	body {
		font-size: 13px;
		font-size: 1.3em;
		line-height: 1.6em;
		font-weight: normal;
		letter-spacing: 0.05rem;
	}

/* device */
	.sp{
		display:none;
	}
	.pc{
		display:none;
	}
	.tab{
		display:block;
	}

}

@media screen and (max-width: 640px) {

/* device */
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}

/* contents */
	.contents_inner{
		width: 90%;
	}
	.inner {
		padding-right: 20px;
		padding-left: 20px;
	}
	section {
		padding-top: 40px;
	}
	.picture {
		margin-bottom: 40px;
	}

}

/*-----------------------------------

	clearfix

-----------------------------------*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}

/*-----------------------------------

	header

-----------------------------------*/
header {
	z-index: 999;
	background: #000;
	padding: 50px 0;
}
header h1{
	text-align:center;
	margin:0 auto;
}
header .flex_box {
	position:relative;
}
#nav_sp {
    width: 100%;
    height: auto;
    background: rgba(0,0,0,0.9);
    position: absolute;
    top: 148px;
    right: -100%;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    display: inline-block;
    z-index: 998;
    box-sizing: border-box;
    border-top: 2px solid #fff;
}
#nav_sp.toggle{
	right: 0 !important;
}
#nav_sp ul{
	padding:30px;
}
#nav_sp li {
	text-align: center;
	display: block;
	padding: 0 0 15px 0;
}
#nav_sp li:last-child {
	padding: 0;
}
#nav_sp li a{
	font-size:16px;
}
#nav_sp li a:hover{
	color:#fff !important;
	text-decoration:underline;
}
.menu_btn_wrap {
	width: 100px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
	z-index: 9999;
	cursor:pointer;
}
@media screen and (max-width: 640px) {

	header {
		padding: 30px 0;
	}
	header h1 img{
		width:170px;
	}
	header .contents_inner {
		width:100%;	
	}
	#nav_sp {
		top: 87px;
		right: -100%;
	}
	#nav_sp li a{
		font-size:14px;
	}
	.menu_btn_wrap {
		width:auto;	
	}
}

/*-----------------------------------

	footer

-----------------------------------*/

footer {
	background:#000;
	padding:40px 0;
}
footer h1{
	text-align: center;
}

@media screen and (max-width: 640px) {

	footer {
		background:none;
		padding-bottom: 15px;
	}
	footer #footer_tel{
		background:#000;
		padding:15px 0;
		position: fixed;
		bottom: 0;
		right: 0;
		left: 0;
	}

}
