@charset "utf-8";

/* common
-----------------------------------------------------*/
#concept,
#quality,
#collection,
#thanks{
	padding-left: 25px;
	padding-right: 25px;
	padding-bottom: 50px;
}
br.sp{
	display: inline;
}

/* nav
-----------------------------------------------------*/
nav#global > a{
	width: 75px;
	height: 75px;
}
nav#global > a span.ico{
	margin: 25px 2px 8px 0;
}
nav#global > a span{
	font-size: 10px;
}
nav#global > a span.ico img{
	width: 24px;
	height: auto;
}
.hamburger{
	width: 32px;
	margin: 26px auto 9px auto;
}
.bar1, .bar2, .bar3{
	width: 32px;
}
.bar2{
	margin: 6px 0;
}
.active .bar1{
	transform: rotate(-45deg) translate(-4px, 3px);
}
.active .bar3{
	transform: rotate(45deg) translate(-10px, -9px);
}
nav#global #menu{
	padding: 30px 0 30px 20px;
	width: 150px;
}
nav#global #menu ul li{
	font-size: 13px;
}

/* footer
-----------------------------------------------------*/
footer a img{
	width: 196px;
}

/* top
-----------------------------------------------------*/
#visual{
	background-image: url(../img/main_sp.jpg);
	height: auto;
	padding-top: 100%;
	position: relative;
}
#visual h1{
	margin-left: 0;
	padding-top: 0;
	position: absolute;
	top: 20px;
	left: 20px;
}
#visual h1 img{
	width: 160px;
}
#visual .scroll{
	right: 34px;
	bottom: 20px;
}
h2.en{
	font-size: 16px;
	margin-bottom: 30px;
}
h2.en:after{
	width: 36px;
}
#concept {
	position: relative;
	margin-top: 185px;
}
#concept #logoimg{
	position: absolute;
	top: -148px;
	left: 0;
	margin: 0;
	width: 100%;
	text-align: center;
}
#concept .conceptimg{
	padding-right: 0;
}
#concept .conceptimg img{
	width: 168px;
	height: auto;
}
div.verticaltext{
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
div.verticaltext .text{
  -ms-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
	margin: 0;
	margin-bottom: 15px;
}
div.verticaltext .text h3{
	font-size: 22px;
}
div.verticaltext .text p{
	font-size: 12px;
	margin-right: 0;
}
@media screen and (max-width: 370px) {
	div.verticaltext .text p br{
		display: none;
	}
	div.verticaltext .text h3{
		font-size: 18px;
	}
}
#concept .conceptimg p:nth-child(2){
	font-size: 12px;
}
#concept .conceptimg p:last-child{
	font-size: 24px;
}
#concept .conceptimg p:last-child small{
	font-size: 14px;
}
#quality{
	padding-bottom: 0;
}
#quality .qualityimg{
	padding-right: 0;
}
#quality .qualityimg img{
	width: 170px;
}
#quality .sptext{
	display: block;
	margin-top: 1em;
}
#quality .sptext p{
	font-size: 12px;
	line-height: 1.5em;
	text-indent: -19px;
	padding-left: 19px;
}
#quality .sptext p:before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: #7d9d36;
	margin-right: 5px;
	vertical-align: -2px;
}
#quality .sptext p{
	margin-top: 1em;
}
#collection .circle span{
	font-size: 16px;
	border-width: 2px;
	width: 250px;
	padding: 10px 0;
}
#collection .circle + p{
	font-size: 12px;
}
#collection .price{
	font-size: 17px;
	text-align: left;
}
#collection .price + p{
	font-size: 12px;
}
#collection table{
	font-size: 12px;
	margin: 25px 0;
}
#collection table th,
#collection table td{
	padding: 0.3em;
}
#collection table + a img{
	width: 314px;
	height: auto;
}
#collection .circle + p.open{
	font-size: 18px;
	margin-top: 30px;
}
span.disabled + p.open{
	font-size: 12px;
}
#formlink {
	padding: 25px;
}
#formlink > p:first-child{
	font-size: 16px;
	text-align: center;
	line-height: 1.5em;
}
#formlink > p:first-child span{
	display: inline-block;
}
a.btn{
	padding: 15px 0;
	font-size: 16px;
	max-width: 300px;
}
#formlink .note p{
	font-size: 10px;
	line-height: 1.5em;
	text-indent: -1em;
	padding-left: 1em;
}
p.h2lead{
	font-size: 16px;
}
#sns{
	padding-bottom: 0px;
}
#sns .ico{
	margin: 20px 0;
}
#sns .ico img{
	width: 50px;
}
#sns .photos{
	flex-wrap: wrap;
	padding: 0 3px;
}
#sns .photos a{
	width: 33.33%;
	padding: 3px;
}
#thanks h3{
	font-size: 18px;
}
#thanks p{
	font-size: 10px;
}
#thanks .wrap .img img{
	width: 104px;
}
#thanks .wrap .img{
	bottom: -38px;
}
#thanks p + p{
	margin-top: 2em;
}
#thanks + figure{
	display: none;
}
/* form
-----------------------------------------------------*/
#contact form > table th{
  display: block;
  border-bottom: 0;
  border-top: 0;
}
#contact form > table th br{
  display: none;
}

#contact form > table td{
  display: block;
}

#contact .note{
  display: block;
	margin-top: 1em;
}

#contact form input[type="text"],
#contact form input[type="email"]{
  width: 100%;
}

#contact form > table td table{
  width: 100%;
}

#contact form > table td table th{
  text-align: left;
}

#contact form > table th,
#contact form > table td{
  padding: 10px;
}

#contact .required{
  font-size: 10px;
}

#contact form .btnbox{
  margin-top: 50px;
}
#contact p{
	margin: 1em 0;
}
.btnbox a, .btnbox button{
  width: 100%;
  max-width: 300px;
}
.btnbox a,
.btnbox button{
  display: block;
  width: 100%;
  max-width: 300px;
  line-height: 53px;
  height: 53px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
}

.btnbox a + a,
.btnbox a + button{
  margin-left: auto;
  margin-top: 10px;
}

/* 320
-----------------------------------------------------*/
@media screen and (max-width: 320px) {
	#visual h1 img{
		width: 135px;
	}
	#formlink > p:first-child span{
		display: inline;
	}
	#thanks h3 br{
		display: none;
	}
	#thanks h3 + p br{
		display: none;
	}
}












