@charset "UTF-8";


@media screen and (max-width: 640px) {

p{
	font-size: 1em;
}
.inner{
	max-width: 100% !important;
}
.spmargin20{
	padding-top: 20px;
	padding-bottom: 0;
}
.spmargin0{
	padding-top: 0px;
	padding-bottom: 0px;
}
.spmb0{
	padding-bottom: 0;
}
.spmt10{
	padding-top: 10px;
}
.hr{
	margin: 50px 0 80px 0;
}
.contents{
	width: 100%;
	background: none;
}
.contents .inner{
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.contents .inner .image img{
	width: 100%;
}
.contents .inner > div.menu01{
	display: none;
	gap: 5px;
	padding: 30px 20px;
}
.contents .inner > div.menu01 + div{
	padding-top: 0;
}
.lineup{
	display: block;
}
.menu02{
	display: block;
	padding: 0 20px;
	margin: 20px 0 0;
}
.menu02 > div{
	padding-bottom: 20px;
	border-bottom: 1px solid #d5d5d5;
}
.menu02 > div + div{
	margin-top: 20px;
}
.menu03{
	display: block;
	margin: auto;
}
.menu03 > div + div{
	margin-top: 10px;
}
.contents .inner > div.under_block{
	padding-top: 80px;
}
.product{
	margin-top: 0;
	padding-top: 40px;
	border-top: 1px solid #d5d5d5;
	max-width: calc(100% - 40px);
}
.product > .tx{
	padding-left: 20px;
}
.product > .tx .image{
	margin-top: 40px;
}
.product > .tx p{
	font-size: 1em;
}
.product > .tx .lead{
	margin:  0 0 0 -20px;
	font-size: 1.4em;
}
.product > .tx .name{
	margin-bottom: 0;
	font-size: 1.2em;
}
.product > .image img{
	max-width: 160px;
}

footer{
	margin-top: 0;
	padding: 0 10px;
}
footer .logo{
	float: none;
	margin-bottom: 10px;
}
footer .inner{
	display: block;
	width: 100%;
	padding: 60px 10px 60px 10px;
	margin: 0;
	border-top: 2px solid #cccccc;
}
footer .logo{
	text-align: left;
	margin-bottom: 30px;
}
footer .logo img{
	width: 110px;
}
footer .copy{
	font-size: 1.2em;
	text-align: left;
	margin-bottom: 0;
}
footer .copy p{
	margin: 0;
	font-size: 1.2rem;
}
footer .copy p span{
	margin-bottom: 20px;
	font-size: 2rem;
}
footer .inner > div{
	width: 100%;
}
footer .inner > div> div{
	margin-top: 10px;
}
footer .inner > div> div > *{
	width: 100%;
}
.view_pc{
	display: none !important;
}
.view_sp{
	display: block !important;
}
.sp_left{
	text-align: left !important;
}
.sp_center{
	text-align: center !important;
}
.youtube {
	display: block;
	margin: 40px 0 80px;
	padding: 0 20px;
}
.youtube > div.video {
	margin-top: 20px;
	width: 100%;
	padding-bottom: 56%;
}
#pagetop{
	display: none !important;
}
#sns {
	margin-top: 50px;
	padding: 0 20px;
}
#sns > div{
	display: block;
	padding: 80px 0 60px;
	border-top: 1px solid #b8b8b8;
}
#sns > div .img{
	margin-top: 30px;
}
.view_100{
	margin-left: -20px;
	margin-right: -20px;
	width: calc(100% + 40px);
}

