@charset "utf-8";
@media screen and (max-width:768px){
body {
	font-size:16px;
}

img{
	max-width:100%;
}


.only_pc{
	display:none !important;
}
.only_smart{
	display:block !important;
}
.only_smart_i{
	display:inline-block !important;
}


#wrapper{
	min-width:auto;
	min-width:initial;
}


/* header */
header{
}
header > div{
	width:100%;
	height:50px;
	line-height:50px;
	margin:auto;
	padding: 0 10px 0;
	box-shadow:0 0 3px rgba(0,0,0,0.3);
	position:fixed;
	z-index:100;
	background-color:#fff;
}
header > div > a{
	width:100px;
	float:left;
}	

header > div nav{
	width:150px;
	float:none;
	position:fixed;
	right:-150px;
	top:50px;
	background-color:#454545;
	transition : right 0.4s;
	-webkit-transition : right 0.4s;
}
header > div nav.close{
		right:0;
}
header > div nav ul{
	height:auto;
	display: block;
}
header > div nav ul li{
	line-height:1.2;
}
header > div nav ul li:last-child{
	border-bottom:none;
}
header > div nav ul li a{
	line-height:40px;
	padding-left:20px;
	color:#fff;
	font-size:15px;
	font-weight:normal;
	display:block;
	text-align:left;
}


/* article */
article{
	padding-top:50px;
}


/* .lower */
.lower > h1{
	line-height:4;
	font-size:7vw;
	font-family: 'Roboto', sans-serif;
	color:#fff;
	background:url(../images/h1_bg.png)no-repeat center center;
	background-size:cover;
}
.lower > section{
	padding:10% 0 12%;
}
.lower > section h2{
	margin-bottom:8%;
	line-height:1.5;
	font-size:6vw;
	letter-spacing:0.03em;
	text-indent:0.03em;
}
.lower > section h2:after{
	content:'';
	display:block;
	width:15%;
	height:6px;
	margin:3% auto 0;
	background-color:#e6e4de;
}



/* smart_nav */
#btnmenu{
	width:40px;
	height:42px;
	margin:0;
	padding:0;
	position:fixed;
	right:5px;
	top:5px;
	cursor:pointer;
}

#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 3px;
	margin: -3px 0 0 -14px;
	background: #666;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-ms-transition: .2s;
	-o-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 3px;
	background: #666;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
#btnmenu span:before{
	margin-top: -11px;
}

#btnmenu span:after{
	margin-top: 7px;
}

#btnmenu .close{
	background: transparent;
	width:42px;
	height:40px;
	margin-top:-20px;
	margin-left:-20px;
}

#btnmenu .close:before,
#btnmenu .close:after{
	margin-top: 0;
}

#btnmenu .close:before{
	width: 28px;
	height: 3px;
	margin: -2px 0 0 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu .close:after{
	width: 28px;
	height: 3px;
	margin: -2px 0 0 6px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	transform: rotate(-135deg);
}


/* article */
article{
	padding-top:50px;
}


/* h1.lower */
h1.lower{
	line-height:150px;
	font-size:21px;
	font-weight:normal;
	font-family: 'Noto Serif JP', serif;
	color:#fff;
	background:url(../images/h1_bg.png)no-repeat center center;
	background-size:cover;
}


/* #contact/#confirm/#thanks */
#contact{
	padding:40px 0;
}
#contact h2 + p{
	display:inline-block;
	text-align:left;
}
#contact form > dl,
#confirm dl{
	width:90%;
	margin:30px auto 20px;
	padding:0;
	text-align:left;
	font-size:14px;
	font-weight:500;
}
#contact form > dl dt,
#confirm form > dl dt{
	float:none;
}
#contact form > dl dt.hissu:after{
	content:'※必須';
	color:#cf183f;
}
#contact form > dl dd,
#confirm form > dl dd{
	margin-bottom:20px;
	padding-left:0;
}
#contact form section{
	width:auto;
	height:120px;
	padding:3%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
	margin:auto;
	text-align:left;
	border:1px solid #d2d2d2;
	font-size:12px;
}
#contact form section h3{
	font-size:16px;
}
#contact form section h3 + p{
	margin:10px 0;
}
#contact form section > dl > dt{
	font-size:14px;
	font-weight:bold;
}
#contact form section > dl > dd{
	margin-bottom:10px;
}
#contact form section > dl > dd dt{
	font-weight:bold;
}
#contact form section > dl > dd dd{
	margin-bottom:10px;
}
#contact form section > dl > dd p{
	margin-top:10px;
	text-align:right;
	line-height:1.5;
}
#contact form section > dl > dd ul{
	margin:10px 0 10px 1.5em;
}
#contact form section > dl > dd ul li{
	list-style:disc;
}
#contact form section > dl > dd ol{
	margin:10px 0 10px 1.5em;
}
#contact form section > dl > dd ol li{
	list-style-type: lower-latin;
}



#thanks p{
	margin-top:1.8em;
	padding:0 8%;
	text-align: justify;
	text-justify: inter-ideograph;
}


/* footer */
footer{
	padding:30px 0;
	background-color:#454545;
}
footer > a{
	display:block;
	margin:0;
	padding:0;
}
footer > a img{
	width:120px;
}
footer nav{
	margin:30px 0 0;
	padding:0;
	display:block;
	line-height:0;
}
footer nav ul{
	margin:0;
	padding:0;
}
footer nav ul li{
	display:inline-block;
	margin:0 10px;
}
footer nav ul li a{
	font-size:14px;
	font-weight:500;
	color:#fff;
	text-align:left;
	line-height:2;
}
footer p{
	margin-top:40px;
	padding-bottom:20%;
	font-size:12px;
	font-weight:500;
	color:#fff;
}
footer p.no_banner{
	padding-bottom:0;
}



/* #bottom_banner */
#bottom_banner{
	width:100%;
	position:fixed;
	bottom:-30%;
	z-index:99;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
#bottom_banner a{
	line-height:4;
	display:block;
	font-size:4.5vw;
	font-weight:bold;
	color:#fff;
	background-color:#171c61;
}

}