@charset "UTF-8";

*{
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}
html{
	overflow-y: scroll;
}
body, th, td, input, select, textarea{
	font-size: 1em;
	line-height: 150%;
	color: #333;
	font-family: Meiryo,'メイリオ','ＭＳ Ｐゴシック',sans-serif;
}
body{
	margin: 0px;
}
figure{
	margin: 0px;
}
h1,h2,h3,h4,h5,h6{
	margin: 0px;
}
img{
	border: 0px;
	max-width: 100%;
	vertical-align: bottom;
}
figure img {
	display: block;
}
a{
	color: #333;
	text-decoration: none;
	transition: 0.3s;
}
a:hover{
	text-decoration: none;
	opacity: 0.6;
}
dl, ul, ol{
	font-size: 0.9em;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
p{
	margin: 0px;
	font-size: 0.9em;
	line-height: 150%;
	color: #333;
}
* + p{
	margin-top: 15px;
}
.margin20{
	padding-top: 20px;
	padding-bottom: 20px;
}
.margin30{
	padding-top: 30px;
	padding-bottom: 30px;
}
.margin40{
	padding-top: 40px;
	padding-bottom: 40px;
}
.margin50{
	padding-top: 50px;
	padding-bottom: 50px;
}
.padding20{
	padding: 0 20px;
}
.mt20{
	padding-top: 20px;
}
.hr{
	margin: 130px 0 100px 0;
}
.center{
	text-align: center !important;
}
.left{
	text-align: left !important;
}
.bold{
	font-weight: bold;
}
.red{
	color: #ff0000;
}
.block{
	display: block;
}
.w_auto{
	width: auto !important;
}

.size_l{
	font-size: 1.4em;
}
.indent{
	margin-left: 1.25em;
	text-indent: -1.25em;
}
.image{
	text-align: center;
}
.image img{
	display: block;
	max-width: 100%;
	margin: auto;
}
.image a{
	display: inline-block;
	margin: auto;
}
.image a img{
	display: inline-block;
}
.contents{
	position: relative;
	width: 1260px;
	max-width: 100%;
	margin: auto;
	background: #fffcf2;
}
.contents .inner{
	padding: 0 20px 40px;
}
.contents .inner > div{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
}
.contents .inner > div.menu01{
	display: flex;
	justify-content: center;
	gap: 30px;
	padding: 35px 65px 25px;
	background: url(../../images/menu01_bg.png) no-repeat center center / cover;
}
.contents .inner > div.menu01 + div{
	padding-top: 10px;
}
.lineup{
	display: flex;
	justify-content: center;
	gap: 0;
}
.menu02{
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 30px;
	margin-bottom: 35px;
}
.menu03{
	display: flex;
	gap: 20px;
	justify-content: center;
}
.note{
	padding: 50px 20px;
	font-size: 1.6em;
	text-align: center;
}
.contents .inner > div.under_block{
	padding-top: 50px;
	background: none;
}
.product{
	margin: 40px auto 0;
	display: flex;
	width: 800px;
	max-width: 100%;
	
	> .tx{
		width: 60%;
		padding-left: 30px;
		
		p{
			color: #5c5d5f;
		}
		
		.lead{
			margin: 0 0 30px -30px;
			font-size: 1.8em;
			font-weight: bold;
			color: #e80041;
		}
		
		.name{
			font-size: 1.6em;
			font-weight: bold;
			color: #5c5d5f;
			border-bottom: dotted 1px #5c5d5f;
		}
		
		.image{
			margin-top:10px;
			text-align: left;
		}
	}
	> .image{
		width: 40%;
	}
}

footer{
	margin: 0px auto;
	background: #fff;
}
footer .inner{
	display: flex;
	gap: 20px;
	width: 880px;
	max-width: 100%;
	margin: 0 auto;
	padding: 50px 20px;
	border-top: 1px solid #b8b8b8;
}
footer .logo{
	width; 72px;
}
footer .copy{
	font-size: 0.8em;
	margin-bottom: 15px;
}
footer .inner > div{
	width: calc(100% - 92px);
}
footer .inner > div> div{
	display: flex;
	align-items: center;
}
footer .inner > div> div > *{
	width: 50%;
}
footer .inner > div> div p + p{
	margin: 0;
}
#pagetop{
	width: 880px;
	max-width: 100%;
	margin: 80px auto 0;
	background: none;
}
#pagetop a{
	display: block;
	text-align: center;
}
#pagetop a:hover{
	opacity: 0.7;
}
.pc_center{
	text-align: center;
}
.view_pc{
	display: block !important;
}
.view_sp{
	display: none !important;
}
.right{
	text-align: right;
}
.youtube {
	display: flex;
	gap: 30px;
	justify-content: center;
	align-items: center;
	margin: 80px 0 60px;
	padding: 0 60px;
}
.youtube > div.video {
	position: relative;
	padding-bottom: 28%;
	height: 0;
	overflow: hidden;
	width: 60%;
}
.youtube > div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#sns {
	padding: 50px 0;
	margin-top: 40px;
	background: #fff;
}
#sns > div{
	display: flex;
	gap: 40px;
	justify-content: center;
	align-items: center;
	margin: 0 auto 0;
	max-width: 780px;
	padding: 0 20px;
}
#sns .tx p{
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}
#sns .tx p span{
	font-size: 1.7em;
	vertical-align: middle;
}
#sns > div .img{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 35px;
	font-size: 0.8em;
}
#sns > div .img .image{
	display: flex;
	align^items: center;
	height: 64px;
	margin-bottom: 10px;
}
