@charset "UTF-8";
/* -----------------------------------------------
FileName: style.css
----------------------------------------------- */
html,
body {
	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	position: relative;
	color: #000;
}
.pc_none_img,
.br_sp {
	display: none;
}
img {
	width: 100%;
	height: auto;
}
.inner {
	margin: 0 auto;
	position: relative;
	max-width: 1000px;
	width: 94%;
}
@media screen and (max-width: 768px) {
	.sp_none_img,
	.br_pc {
		display: none;
	}
	.pc_none_img,
	.br_sp {
		display: inline;
	}
}
.clearfix::after,
.Lens section ul li::after {
	content:"";
    display:block;
    clear:both;
}
/* -------------------------------
	header
------------------------------- */
header {
	border-top: 4px solid #306F64;
	background: #fff;
	display: block;
	padding: 5px 0 16px;
	position: relative;
	z-index: 9999;
}
	header img {
		display: block;
		margin: 0 auto;
	}
		header p {
			color: #312927;
			font-size: 12px;
			letter-spacing: .15em;
			line-height: 1.4;
			margin-bottom: 0;
		}
		header #logo {
			float: left;
			margin: 2.4% 0 2.0%;
			max-width: 300px;
			width: 30.0%;
		}
		header #contact {
			float: right;
			margin: .8% 0 3.5%;
			max-width: 312px;
			width: 31.2%;
		}
@media screen and (min-width: 769px) {
		header #contact {
			pointer-events: none;
		}
		header #switch {
			display: none;
		}
		header nav{
			display: block !important;
		}
		header nav ul {
			border-left: 1px solid transparent;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			list-style: none;
			text-align: center;
			display: table;
			width: 100%;
			position: relative;
		}
			header nav ul::before {
				content: "";
				background: #312927;
				margin: auto;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				width: 1px;
				height: 20px;
			}
			header nav ul li {
				border-right: 1px solid transparent;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				display: table-cell;
				vertical-align: middle;
				padding: 0 1px;
				position: relative;
				width: calc(100% / 6);
			}
				header nav ul li::after {
					content: "";
					background: #312927;
					margin: auto;
					position: absolute;
					top: 0;
					bottom: 0;
					right: 0;
					width: 1px;
					height: 20px;
				}
				header nav ul li a {
					display: block;
					font-size: 16px;
					text-decoration: none;
				}
					header nav ul li a img {
						max-width: 70px;
					}
					header nav ul li.w80 a img {
						max-width: 81px;
					}
				header nav ul li#close {
					display: none;
				}
				header nav ul li .sub {
					background: rgba(255,255,255,0.6);
					padding: 0 0 7px;
					position: absolute;
					top: 100%;
					right: 0;
					left: -2px;
					width: 100%;
					z-index: -1;
				}
					header nav ul li .sub a {
						background-size: 100%;
						padding: 13px 0;
					}
}
@media screen and (max-width: 768px) {
	html.hidden,
	body.hidden {
		height: 100%;
		position: relative;
		overflow: hidden;
	}
	header {
		padding: 1% 0 0;
	}
	header p {
		font-size: 10px;
		width: 100%;
	}
	header #logo {
		margin: 2% 0 2%;
		/* width: 58.904%; */
		width: 48.904%;
	}
	header #contact {
		margin: 1.5% 0 2%;
		/* width: 38.493%; */
		width: 46.493%;
		max-width:281px;
	}
		header #contact .contact-ico {
			display: none;
		}
		header #contact a {
*			width: 64.07%;
		}
		header #contact .tel01 {
			padding: 0 4% 0 0;
		}
	header #switch {
		border-top: 1px solid #312927;
		border-bottom: 1px solid #312927;
		display: block;
		padding: 2vh 0;
		width: 100%;
	}
		header #switch img {
			display: block;
			margin: 0 auto;
			height: 2vh;
			max-height: 20px;
			width: auto;
		}
	header nav {
		display: none;
		position: absolute;
		left: 0;
		width: 100%;
	}
		header nav ul.inner {
			list-style: none;
			width: 100%;
		}
			header nav ul li#close {
				cursor: pointer;
			}
				header nav ul li a {
					background: #f3ebd9;
					border-bottom: 1px solid #312927;
					display: block;
					margin: 0 auto;
					padding: 2vh 0;
					text-align: center;
					text-decoration: none;
				}
					header nav ul li a img {
						height: 2.5vh;
						/* max-height: 20px; */
						width: auto;
					}
}
/* -------------------------------
	footer
------------------------------- */
footer {
	background: #e5e5e5;
	display: block;
	padding: 23px 0 0;
	position: relative;
}
	footer img {
		display: block;
		margin: 0 auto;
	}
	footer #toTop {
		color: #312927;
		display: inline-block;
		font-size: 12px;
		letter-spacing: .1em;
		margin: 0 0 33px;
		position: absolute;
		right: 0;
		bottom: 100%;
		text-decoration: none;
	}
	footer #footer {
		margin: 0 auto 21px;
		width: 100%;
	}
		footer ul {
			display: table-cell;
			letter-spacing: -.3em;
			line-height: 1.2;
			text-align: left;
			vertical-align: middle;
			width: 55%;
		}
			footer ul li {
				border-right: 1px solid #312927;
				display: inline-block;
				letter-spacing: .1em;
				padding: 0 2%;
			}
			
				footer ul li a {
					display: block;
				}
		footer .rightColum {
			display: table-cell;
			width: 36%;
			text-align: right;
		}
			footer .rightColum p {
				line-height: 0;
				margin: 0 0 5px auto;
				width: 100%;
				max-width: 188px;
			}
			footer .rightColum a {
				color: #312927;
				display: inline-block;
				font-size: 11px;
				letter-spacing: .1em;
				line-height: 1.4;
				text-decoration: none;
			}
	footer #copy {
		background: #306F64;
		color: #fff;
		font-size: 11px;
		letter-spacing: .1em;
		padding: 10px 3%;
		text-align: center;
		margin-bottom: 0;
	}
@media screen and (min-width: 769px) {
	footer #footer {
		display: table;
	}
	footer ul li:first-child {
		border-left: 1px solid #312927;
	}
}
@media screen and (max-width: 768px) {
	footer {
		padding: 5% 0 0;
	}
		footer #toTop {
			margin: 0 0 8%;
		}
		footer #footer {
			margin: 0 auto 7%;
		}
		footer ul {
			display: block;
			margin: 0 auto 7%;
			text-align: center;
			width: 80%;
			max-width: 400px;
		}
			footer ul li {
				margin: 2% 0;
				vertical-align: middle;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				padding-top: 0;
				padding-right: calc(3% - 1px);
				padding-bottom: 0;
				padding-left: calc(3% - 1px);
			}
			footer ul li:nth-child(3n+1) {
				/* border-left: 1px solid #312927;
				width: 34.148%; */
			}
			footer ul li:nth-child(3n+2) {
				/* width: 32.486%; */
			}
			footer ul li:nth-child(3n+3) {
				/* width: 24.365%; */
			}
		footer .rightColum {
			display: block;
			width: 100%;
			text-align: center;
		}
			footer .rightColum p {
				margin: 0 auto 3%;
				max-width: 340px;
				width: 58%;
			}
			footer .rightColum a {
				width: 100%;
			}
	footer #copy {
		font-size: 10px;
		padding: 2% 3%;
	}
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {

}
/* -------------------------------
	common
------------------------------- */
#bread {
	background: #306F64;
	padding: 5px 0;
	width: 100%;
}
	#bread ul {
		color: #fff;
		font-size: 10px;
		letter-spacing: -.3em;
		list-style: none;
	}
		#bread ul li {
			display: inline-block;
			letter-spacing: .2em;
		}
			#bread ul li::after {
				content: ">";
				margin: 0 .3em;
			}
			#bread ul li:last-child::after {
				content: none;
			}
				#bread ul li a {
					color: #fff;
					text-decoration: none;
				}
main {
	display: block;
}
#mainV,
.mainV {
	background: #f7f8f8;
	height: 174px;
	overflow: hidden;
}
	#mainV h1,
	.mainV h2 {
		width: 1500px;
	}
	#mainV .txt,
	.mainV .txt {
		position: absolute;
		right: 0;
		left: 0;
		margin: 0 auto;
		max-width: 1000px;
	}
		#mainV .txt p,
		.mainV .txt p {
			color: #312927;
			font-size: 12px;
			letter-spacing: .15em;
		}
@media screen and (-webkit-min-device-pixel-ratio:0) {
	#mainV .txt p,
	.mainV .txt p {
		letter-spacing: .05em;
	}
}
@media screen and (max-width: 768px) {
	#bread {
		display: none;
	}
	#mainV,
	.mainV {
		background: none;
		height: auto;
	}
		#mainV .inner,
		.mainV .inner {
			width: 100%;
		}
		#mainV h1,
		.mainV h2 {
			width: 100%;
		}
		#mainV .txt,
		.mainV .txt {
			position: static;
			margin: 2% 3%;
			width: 94%;
		}
			#mainV .txt p,
			.mainV .txt p {
				font-size: 16px;
			}
}
/* -------------------------------
	top
------------------------------- */
#Top #mainVt {
	background: #fefaf7;
	padding: 50px 0 42px;
	position: relative;
}
	#Top #mainVt .inner {
		max-width: 1064px;
	}
		#Top #mainVt li img {
			-webkit-box-shadow: 0 0 4px 0 rgba(0,0,0,0.35);
			box-shadow: 0 0 4px 0 rgba(0,0,0,0.35);
			display: block;
			margin: 4px auto;
			max-width: 940px;
			width: 90%;
		}
	.bx-wrapper .bx-viewport {
		overflow: visible !important;
	}
	.bx-wrapper .bx-controls-direction {
		position: static;
	}
		.bx-wrapper .bx-controls-direction a {
			margin-top: -25px;
			width: 50px;
			height: 50px;
			z-index: 9900;
		}
	.bx-wrapper .bx-pager {
		position: absolute;
		bottom: -25px;
	}
		.bx-wrapper .bx-pager.bx-default-pager a {
			background: #312927;
			margin: 0 4px;
			width: 12px;
			height: 12px;
		}
		.bx-wrapper .bx-pager.bx-default-pager a:hover,
		.bx-wrapper .bx-pager.bx-default-pager a.active {
			background: #c2a681;
		}
#Top h2 {
	margin: 0 auto;
	width: 75%;
	max-width: 442px;
}
#Top img {
	display: block;
}
#Top #item {
	padding: 55px 0 30px;
}
	#Top #item ul {
		display:-webkit-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		list-style: none;
		margin: 29px auto 0;
		max-width: 840px;
		width: 94%;
	}
		#Top #item ul li {
			border: 1px solid #f0ede6;
			border-radius: 7px;
			margin: 0 1.082%;
			padding: 3% 2.4% 0;
			width: calc( 43% - 2px );
			position: relative;
		}
			#Top #item ul li div {
				height: 100%;
			}
					#Top #item ul li div p {
						color: #393939;
						letter-spacing: 0em;
						line-height: 1.67;
						margin: 11.5% auto 0;
						padding-bottom:75px;
					}
					#Top #item ul li div a,
					#Top #news #more a,
					#Top #shop a#detail,
					.Lens #select a,
					#Ha #select a,
					#Ha #certified .btn a,
					#Ha #rootColum a,
					.frame-flex .btn a {
						background: #312927;
						border-radius: 5px;
						color: #fff;
						display: block;
						font-size: 14px;
						letter-spacing: .1em;
						margin: 0 auto;
						padding: .65em 0 .65em 15px;
						text-align: center;
						text-decoration: none;
						max-width: 190px;
						width: 94%;
					}
						#Top #item ul li div a::after,
						#Top #news #more a::after,
						#Top #shop a#detail::after,
						#Ha #select a::after,
						#Ha #certified .btn a::after,
						#Ha #rootColum a::after,
						.frame-flex .btn a:after {
							content: "";
							background: url(../images/common/link.png) center no-repeat;
							background-size: contain;
							display: inline-block;
							width: 5px;
							height: 9px;
							margin: 0 0 0 10px;
							position: relative;
							top: -1px;
						}
					#Top #item ul li div a {
						position: absolute;
						right: 0;
						left: 0;
						bottom: 7%;
					}

#Top #news {
	background: #f7f5ee;
	padding: 62px 0 60px;
}
	#Top #news #feed {
		margin: 23px auto 13px;
	}
		#Top #news #feed ul {
			list-style: none;
		}
			#Top #news #feed ul li {
				border-bottom: 1px dotted #000;
				font-size: 14px;
			}
			#Top #news #feed ul li:last-child {
				border: none;
			}
				#Top #news #feed ul li a {
					color: #1b20da;
					display: block;
					letter-spacing: -.4em;
					padding: 1.7% 5px;
					padding-left: calc( 5px + 6.5rem);
					text-indent: -6.5rem;
					text-decoration: none;
				}
				#Top #news #feed ul li a:hover {
					background-color: #fff4d0;
				}
					#Top #news #feed ul li a span,
					#Top #news #feed ul li a p,
					#Top #news #feed ul li a time {
						display: inline;
						letter-spacing: 0.1rem;
					}
					#Top #news #feed ul li a:hover p{
						text-decoration: underline;
					}
					#Top #news #feed ul li a .new {
						color: #f00;
						padding-right: 0.5rem;
					}
					#Top #news #feed ul li a time {
						padding-right: 1.0rem;
					}
					#Top #news #feed ul li a .category:before {
						content: "\FF5C";
						padding-right: 0.3rem;
					}
					#Top #news #feed ul li a .category {
						font-weight: bold;
						padding-right: 0;
					}
					#Top #news #feed ul li time {
						color: #312927;
						line-height: 1.3;
					}
					#Top #news #feed ul li p {
						color: #1b20da;
						line-height: 1.3;
					}
	#Top #news #more a,
	#Top #shop a#detail {
		margin: 0 0 0 auto;
		max-width: 190px;
	}
#Top #shop {
	padding: 68px 0 80px;
}
	#Top #shop h3{
		font-size: 18px;
		font-weight:normal;
		margin-bottom:8px;
	}
	#Top #shop>div {
		margin: 39px auto 0;
	}
		#shop .lefts {
			width: 57.9%;
		}
			#shop dl {
				display:-webkit-box;
				display:-ms-box;
				display:-webkit-flexbox;
				display:-moz-flexbox;
				display:-ms-flexbox;
				display:-moz-flex;
				display:-ms-flex;
				display:flex;
				-webkit-box-lines:multiple;
				-moz-box-lines:multiple;
				-ms-flex-wrap:wrap;
				flex-wrap:wrap;
				margin: 0 0 16px;
			}
				#shop dl dt {
					background: #312927;
					border-top: 1px solid #fff;
					-webkit-box-sizing: border-box;
					box-sizing: border-box;
*					clear: both;
					color: #fff;
					font-size: 16px;
*					float: left;
					letter-spacing: .1em;
					line-height: 1.2;
					padding: 8.58px 22px;
					text-align: right;
					width: 118px;
				}
				#shop dl dd {
					background: #ececec;
					border-top: 1px solid #fff;
					border-left: 1px solid #fff;
					-webkit-box-sizing: border-box;
					box-sizing: border-box;
					color: #262626;
					font-size: 14px;
*					float: left;
					letter-spacing: .2em;
					line-height: 1.4;
					padding: 8.58px 13px;
					width: calc(100% - 118px);
				}
					#shop dl dd a {
						color: #262626;
						text-decoration: none;
					}
		#shop .map {
			float: right;
			margin: 0 0 3.1%;
			width: 41%;
		}
			#shop .map iframe {
				width: 100%;
			}
@media screen and (max-width: 768px) {
	#Top #mainVt {
		padding: 6% 0;
	}
		#Top #mainVt .inner {
			width: 100%;
		}
		.bx-wrapper .bx-controls-direction a {
			background-size: contain;
			margin-top: -3.5vw;
			width: 7vw;
			height: 7vw;
		}
			.bx-wrapper .bx-prev {
				left: 2%;
			}
			.bx-wrapper .bx-next {
				right: 2%;
			}
		.bx-wrapper .bx-pager {
			bottom: -9%;
		}
			.bx-wrapper .bx-pager.bx-default-pager a {
				width: 2vw;
				height: 2vw;
			}
	#Top #item,
	#Top #news,
	#Top #shop {
		padding: 10% 0;
	}
		#Top #item ul {
			display: block;
			margin: 5% auto 0;
		}
			#Top #item ul li {
				display: block;
				margin: 3% auto 0;
				padding: 0;
				width: 100%;
			}
				#Top #item ul li div {
					padding: 9% 7.4%;
				}
					#Top #item ul li div .pict {
						margin: 0 auto;
						max-width: 265px;
					}
					#Top #item ul li div h3 {
						margin: 0 auto;
						max-width: 400px;
					}
					#Top #item ul li div p {
						margin: 8% auto 0;
						padding-bottom:0;
					}
					#Top #item ul li div a {
						margin: 5% auto 0;
						position: static;
					}
		#Top #news #feed {
			margin: 5% auto 3%;
		}
			#Top #news #feed ul li a{
				padding: 3% 5px;
				padding-left: calc( 5px + 6.4rem);
				text-indent: -6.4rem;
			}
		#Top #news #more a,
		#Top #shop a#detail {
			margin: 0 auto;
		}
		#Top #shop>div {
			margin: 6% auto 0;
		}
		#shop dl {
			margin:1% 0 0;
		}
			#shop .lefts {
				float: none;
				width: 100%;
				margin-bottom: 6vw;
			}
				#Top #shop a#detail {
					margin: 3% auto;
				}
			#shop .map {
				float: none;
				width: 100%;
			}
				#shop .map iframe {
					height: 320px;
				}
}
/* -------------------------------
	frame
------------------------------- */
.Frame #bread .inner li h1,
.Lens #bread .inner li h1{font-weight:normal;}
.Frame .mainV,
#WJ #mainV,
#Ha #mainV,
#Shop #mainV{
	background-color:#fefaf7;
}
	.Frame .mainV .txt {
		top: 90px;
	}
@media screen and (min-width: 769px) {
		.Frame .mainV .txt p {
			max-width: 512px;
		}
}
.Frame section {
	padding: 59px 0 45px;
}
.Frame h3 {
	margin: 0 auto;
	max-width: 396px;
	width: 90%;
}
.Frame .subTxt {
	color: #393939;
	letter-spacing: .27em;
	line-height: 2.1;
	margin: 22px auto 25px;
	text-align: center;
}

.Frame section .shop-detail {
	margin-top: 50px;
	background-color:#f7f8f8;
}
	.Frame section .shop-detail h4 {
		font-size: 24px;
		font-weight: normal;
		text-align: center;
	}

.Frame #bList {
	display:-webkit-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	list-style: none;
	margin: 0 auto 0;
	padding-bottom:30px;
}
	.Frame #bList li {
		margin: 32px 2.5% 0 0;
		width: 23.1%;
	}
		.Frame #bList li a {
			color: #393939;
			text-decoration: none;
		}
			.Frame #bList li img {
				display: block;
				border: 1px solid #f0ede6;
				border-radius: 4px;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
			}
			.Frame #bList li p {
				font-size: 12px;
				line-height: 1.4;
				letter-spacing: .15em;
				margin: 5px auto 0;
			}
				.Frame #bList li p span {
					display: inline-block;
				}
					.Frame #bList li p .eng::after {
						content: "\FF5C";
					}
	.Frame #bList li.etc {
		padding-top:7%;
	}
.Frame .atend {
	color: #393939;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
	.Frame #bList li:nth-child(4n) {
		margin: 32px 0 0;
	}
}
@media screen and (max-width: 768px) {
	.Frame section {
		padding: 10% 0 10%;
	}
		.Frame h3 {
			max-width: 616px;
			width: 85%;
		}
		.Frame .subTxt {
			margin: 5% auto 0; 
		}
		.Frame #bList {
			margin: 0 auto 0;
		}
			.Frame #bList li {
				margin:0 4% 0 0;
				width: 48%;
			}
			.Frame #bList li:nth-child(2n) {
				margin:0;
			}
			.Frame #bList li a{display:block;margin-top:8%;}
			.Frame #bList li.etc {padding-top:calc(22.4% - 1em);}
}
/* -------------------------------
	lens
------------------------------- */
.Lens .mainV{
	background-color:#fefbf6;
}
.Lens .mainV .txt {
	top: 80px;
}
@media screen and (min-width: 769px) {
	.Lens .mainV .txt p {
		max-width: 728px;
	}
}
.Lens img {
	display: block;
}
.Lens>section {
	padding: 59px 0 30px;
}
.Lens h3 {
	margin: 0 auto;
	max-width: 372px;
}
.Lens #select {
	padding: 26px 0 51px;
	text-align: center;
}
	.Lens #select a {
		display: inline-block;
		letter-spacing: .2em;
		margin: 1%;
		padding: 1.08em 0;
		width: 29%;
		max-width: 290px;
	}
		.Lens #select a::after {
			content: "";
			background: url(../images/common/plink.png) center top no-repeat;
			background-size: contain;
			display: inline-block;
			width: 9px;
			height: 5px;
			margin: 0 0 0 7px;
			padding: 0 0 2px;
			vertical-align: middle;
		}
.Lens #type,
.Lens #coating {
	background: #f7f8f8;
}
.Lens #type,
.Lens #appearance,
.Lens #coating {
	padding: 45px 0 60px;
}
.Lens #coating {
	margin-bottom:15px;
}
.Lens h4 {
	border-bottom: 1px dotted #000;
	color: #312927;
	font-size: 20px;
	letter-spacing: .1em;
	margin: 0 auto;
	padding: 15px 0;
}
.Lens .subText {
	color: #312927;
	font-size: 14px;
	letter-spacing: .2em;
	line-height: 1.4;
	margin: 10px auto 0;
}
.Lens section ul {
	margin: 30px auto 0;
	list-style: none;
}
	.Lens section ul li {
		margin: 2% auto 0;
	}
		.Lens section ul li img {
			border: 1px solid #f3ebd9;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			float: left;
		}
		.Lens section ul li .text {
			color: #312927;
			float: right;
			letter-spacing: .03em;
		}
			.Lens section ul li .text h5 {
				font-size: 16px;
				font-weight: bold;
				line-height: 1.4;
				margin: 0 0 10px;
			}
			.Lens section ul li .text p,
			.Lens section ul li .text dl {
				font-size: 14px;
				line-height: 1.7;
			}
				.Lens section ul li .text dl dt {
					clear: both;
					float: left;
				}
					.Lens section ul li .text dl dt::after {
						content: "\FF0F";
					}
			.Lens section ul li .text h6 {
				font-size: 14px;
				font-weight: normal;
				line-height: 1.7;
			}
				.Lens section ul li .text h6::before {
					content: "";
					display: inline-block;
					background: #312927;
					width: 8px;
					height: 8px;
					margin: 0 .25em 0;
					vertical-align: middle;
					position: relative;
					top: -1px;
				}
			.Lens section ul li .text section:last-child {
				margin: 3.5% 0 0;
			}
		.Lens #type ul li img,
		.Lens #coating ul li img {
			width: 30.2%;
		}
		.Lens #appearance ul li img {
			width: 40.2%;
		}
		.Lens #type ul li .text,
		.Lens #coating ul li .text {
			width: 67%;
		}
		.Lens #appearance ul li .text {
			width: 57.7%;
		}
@media screen and (max-width: 768px) {
	.Lens>section {
		padding: 10% 0 35px;
	}
	.Lens h3 {
		max-width: 616px;
		width: 85%;
	}
	.Lens #select {
		padding: 3% 0 10%;
	}
		.Lens #select a {
			display: block;
			margin: 2% auto 0;
			width: 80%;
		}
	.Lens #type,
	.Lens #appearance,
	.Lens #coating {
		padding: 8% 0 10%;
	}
	.Lens #coating {
		margin-bottom:20px;
	}
	.Lens h4 {
		font-size: 18px;
		padding: 2% 0;
	}
	.Lens .subText {
		margin: 2% auto 11%;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
	.Lens section ul {
		margin: -7% auto 0;
	}
		.Lens section ul li {
			margin: 10% auto 0;
		}
		.Lens #type ul li img,
		.Lens #appearance ul li img,
		.Lens #coating ul li img {
			float: none;
			margin: 0 auto 5%; 
			width: 100%;
		}
		.Lens #type ul li .text,
		.Lens #appearance ul li .text,
		.Lens #coating ul li .text {
			float: none;
			width: 100%;
		}
			.Lens section ul li .text h5 {
				letter-spacing: 0;
				margin: 0 auto 2%;
			}
			.Lens section ul li .text p,
			.Lens section ul li .text dl {
				letter-spacing: 0;
				line-height: 1.5;
			}
}
/* -------------------------------
	WJ(watch Jewelry)
------------------------------- */
	#WJ #mainV .txt {
		top: 90px;
	}
@media screen and (min-width: 769px) {
		#WJ #mainV .txt p {
			max-width: 512px;
		}
}
#WJ section {
	padding: 59px 0 0;
}
#WJ section.jewelry {
	padding: 59px 0 45px;
}
#WJ h2 {
	margin: 0 auto;
	max-width: 356px;
	width: 90%;
}
#WJ .subTxt {
	color: #393939;
	letter-spacing: .27em;
	line-height: 2.1;
	margin: 22px auto 25px;
	text-align: center;
}

#WJ section .shop-detail {
	margin-top: 10px;
	background-color:#f8f8f8;
}
	#WJ section .shop-detail h3 {
		font-size: 24px;
		font-weight: normal;
		text-align: center;
	}

#WJ #bList {
	display:-webkit-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	list-style: none;
	margin: 0 auto 0;
	padding-bottom:30px;
}
	#WJ #bList li {
		margin: 32px 2.5% 0 0;
		width: 23.1%;
	}
		#WJ #bList li img {
			display: block;
			border: 1px solid #f0ede6;
			border-radius: 4px;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
		}
		#WJ #bList li p {
			color: #393939;
			text-decoration: none;
			font-size: 12px;
			line-height: 1.4;
			letter-spacing: .15em;
			margin: 5px auto 0;
		}
			#WJ #bList li p span {
				display: inline-block;
			}
				#WJ #bList li p .eng::after {
					content: "\FF5C";
				}
				#WJ #bList li.etc {
					padding-top:7%;
				}

#WJ #Repair {
	background: #f8f8f8;
	padding: 56px 0 52px;
	margin-bottom:52px;
}
	#WJ #Repair img {
		display: block;
		margin: 0 auto;
	}
	#WJ #Repair .pattern1 {
		background: #fff;
		margin: 31px auto 25px;
		padding: 20px 0;
		text-align: center;
	}
		#WJ #Repair .pattern1 p {
			color: #231815;
			font-size: 16px;
			line-height: 1.44;
		}
		#WJ #Repair .pattern1 img {
			max-width: 182px;
		}
		#WJ #Repair .pattern1 .base {
			border-bottom: 2px solid #d5b27a;
			margin: 0 auto 49px;
			padding: 0 0 51px;
			position: relative;
			width: 63%;
			max-width: 518px;
		}
			#WJ #Repair .pattern1 .base p {
				margin: 0 auto 15px;
			}
			#WJ #Repair .pattern1 .base img {
				width: 60%;
			}
			#WJ #Repair .pattern1 .base::after {
				content: "";
				background: url(../images/wj/arow-l.png) top left no-repeat,url(../images/wj/arow-c.png) top center no-repeat,url(../images/wj/arow-r.png) top right no-repeat;
				height: 54px;
				position: absolute;
				bottom: -28px;
				right: 0;
				left: 0;
			}
		#WJ #Repair .pattern1 .left,#WJ #Repair .pattern1 .right {
			display: inline-block;
			margin: 0 1%;
			width: 47%;
			vertical-align: top;
		}
			#WJ #Repair .pattern1 .left img,#WJ #Repair .pattern1 .right img {
				width: 80%;
			}
			#WJ #Repair .pattern1 .left p,#WJ #Repair .pattern1 .right p {
				margin: 20px auto 0;
			}
	#WJ #Repair .pattern2 {
		list-style: none;
	}
		#WJ #Repair .pattern2 li h3 {
				background: #3f1111;
				color: #fff;
				font-size: 16px;
				line-height: 1.3;
				margin: 0 auto 7px;
				padding: .5em .7em;
			}
		#WJ #Repair .pattern2 li p {
				color: #231815;
				font-size: 14px;
				line-height: 1.44;
				margin: 10px 4% 5px;
			}


#WJ .atend {
	color: #393939;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
	#WJ #bList li:nth-child(4n) {
		margin: 32px 0 0;
	}
	#WJ #Repair .pattern2 {
		display: table;
	}
		#WJ #Repair .pattern2 li {
			background: #fff;
			border-right: 13px solid #f8f8f8;
			border-left: 13px solid #f8f8f8;
			display: table-cell;
			padding: 10px;
		}
			#WJ #Repair .pattern2 li:first-child {
				border-left: none;
			}
			#WJ #Repair .pattern2 li:last-child {
				border-right: none;
			}
}
@media screen and (max-width: 768px) {
	#WJ section {
		padding: 10% 0 0;
	}
	#WJ section.jewelry {
		padding: 10% 0 10%;
	}
		#WJ h2 {
			max-width: 522px;
			width: 65%;
		}
		#WJ .subTxt {
			margin: 5% auto 0; 
		}
		#WJ #bList {
			margin: 0 auto 0;
		}
			#WJ #bList li {
				margin:0 4% 0 0;
				width: 48%;
			}
			#WJ #bList li:nth-child(2n) {
				margin:0;
			}
			#WJ #bList li a,
			#WJ #bList li.nolink{display:block;margin-top:8%;}
			#WJ #bList li.etc {padding-top:calc(22.4% - 2.2em);margin-top:8%;}

	#WJ #Repair {
		padding: 10% 0 13%;
	}
		#WJ #Repair .pattern1 {
			margin: 6% auto 0;
		}
			#WJ #Repair .pattern1 p,#WJ #Repair .pattern2 li p {
				font-size: 12px;
			}
		#WJ #Repair .pattern2 {
			background: #fff;
			display: block;
			letter-spacing: -.45em;
			position: relative;
		}
			#WJ #Repair .pattern2::after {
				content: "";
				background: #f8f8f8;
				width: 3%;
				margin: auto;
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
			}
			#WJ #Repair .pattern2 li {
				border-top: 2.5vw solid #f8f8f8;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				display: inline-block;
				letter-spacing: 0;
				padding: 2%;
				width: 48.5%;
				vertical-align: top;
			}
				#WJ #Repair .pattern2 li:nth-child(odd) {
					margin: 0 1.5% 0 0;
				}
				#WJ #Repair .pattern2 li:nth-child(even) {
					margin: 0 0 0 1.5%;
				}
				#WJ #Repair .pattern2 li h3 {
					font-size: 14px;
				}
}
/* -------------------------------
	hearingaid
------------------------------- */
#Ha #mainV .txt {
	top: 100px;
}
@media screen and (min-width: 769px) {
	#Ha #mainV .txt p {
		max-width: 580px;
	}
}
#Ha img {
	display: block;
}
#Ha {
	padding: 0 0 30px;
}
#Ha h2 {
	margin: 0 auto;
	max-width: 967px;
	width:96.7%;
}

#Ha #select {
	padding: 26px 0 51px;
	text-align: center;
}
	#Ha #select a{
		display: inline-block;
		letter-spacing: .2em;
		margin: 1%;
		padding: 1.08em 0;
		width: 29%;
		max-width: 290px;
	}
		#Ha #select a::after {
			content: "";
			background: url(../images/common/plink.png) center top no-repeat;
			background-size: contain;
			display: inline-block;
			width: 9px;
			height: 5px;
			margin: 0 0 0 7px;
			padding: 0 0 2px;
			vertical-align: middle;
		}

#Ha #certified{padding:20px 0 70px; margin-top:20px;background-color:#f8f8f8;}
	#Ha #certified .ph{letter-spacing:-.4em;padding:30px 0;}
		#Ha #certified .ph p{display:-moz-inline-box;display:inline-block;/display:inline;vertical-align:bottom;/zoom:1;letter-spacing:normal;text-align:center;}
		#Ha #certified .ph .certificate{width:52.9%;}
		#Ha #certified .ph .pass{width:46.3%;margin-left:0.8%;}
			#Ha #certified .ph p span{display:block;font-size:20px;font-weight:bold;text-align:center;}


#Ha #checkColum{padding: 10px 0 70px; margin-top:20px;}
	#Ha #checkColum .inner{position:relative; margin-top:35px;}
		#Ha #checkColum .inner h3{padding:3.1% 0 3px 8px;border-left:11px solid;font-size:25px;}
			#Ha #checkColum .inner .lists ul{list-style:none; width:62%; padding:1.9% 0 0.9%; margin-top:1.5%;}
				#Ha #checkColum .inner .lists ul li{
					font-weight:bold;
					padding:0 0 1.9% 4.4em;
					line-height:1.4;
					position:relative;
					font-size:20px;
				}
				#Ha #checkColum .inner .lists ul li:after{
					content:"";
					height:0.8em;
					width:0.8em;
					display:block;
					border:2px solid;
					position:absolute;
					left:3.2em;
					top:0.15em;
				}
		#Ha #checkColum .ph-img{position:absolute; top:0;font-size:0; line-height:0;}
		#Ha #checkColum .confirm{font-size:20px;font-weight:bold;text-align:center;}

		#Ha #checkColum .self-check h3{border-color:#86ad3d;color:#86ad3d;}
		#Ha #checkColum .self-check .lists{background-color:#e5eed6;}
			#Ha #checkColum .self-check .lists ul{width:62%;}
			#Ha #checkColum .self-check .lists ul li{color:#86ad3d;}
			#Ha #checkColum .self-check .ph-img{width:29.4%; padding-top:3.1%; right:2.9%;}

		#Ha #checkColum .family-check h3{border-color:#4a8bcb;color:#4a8bcb;}
		#Ha #checkColum .family-check .lists{background-color:#e8f3f6;}
			#Ha #checkColum .family-check .lists ul{width:55.8%;}
			#Ha #checkColum .family-check .lists ul li{color:#4a8bcb;}
			#Ha #checkColum .family-check .ph-img{width:42.3%; padding-top:0; right:0;}


#Ha #maker{padding: 10px 0 70px; margin-top:20px;}

#Ha #bList {
	display:-webkit-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	list-style: none;
	margin: 0 auto 0;
	padding-bottom:30px;
}
	#Ha #bList li {
		margin: 32px 2.5% 0 0;
		width: 23.1%;
	}
		#Ha #bList li a {
			color: #393939;
			text-decoration: none;
		}
			#Ha #bList li img {
				display: block;
				border: 1px solid #f0ede6;
				border-radius: 4px;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
			}
			#Ha #bList li p {
				font-size: 12px;
				line-height: 1.4;
				letter-spacing: .15em;
				margin: 5px auto 0;
			}
				#Ha #bList li p span {
					display: inline-block;
					vertical-align:top;
				}
					#Ha #bList li p .eng::after {
						content: "\FF5C";
					}

#Ha #equipment{padding: 10px 0 70px; margin-top:20px;}
	#Ha #equipment .lead-txt{margin-top:20px;}
	#Ha #equipment .service{margin-top:20px;}
		#Ha #equipment .equip ul,
		#Ha #equipment .service ul{
			display:-webkit-box;
			display:-ms-box;
			display:-webkit-flexbox;
			display:-moz-flexbox;
			display:-ms-flexbox;
			display:-moz-flex;
			display:-ms-flex;
			display:flex;
			-webkit-box-lines:multiple;
			-moz-box-lines:multiple;
			-ms-flex-wrap:wrap;
			flex-wrap:wrap;
			list-style: none;
			margin: 15px auto 0;
			padding-bottom:30px;
		}
			#Ha #equipment .equip ul li{
				padding-right:2%;
				width:32%;
			}
				#Ha #equipment .equip ul li:last-child{
					padding-right:0;
				}
			#Ha #equipment .service ul li{
				margin-right:1.2%;
				width:24.1%;
				-moz-box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
				-webkit-box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
				-o-box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
				-ms-box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
			}
				#Ha #equipment .service ul li:last-child{
					margin-right:0;
				}

	#Ha #local-shop h3 {font-size:25px; color:#4e1512; text-align:center;margin-top:45px; letter-spacing:0.2em;}
	#Ha #local-shop .lead-txt{font-size:20px; color:#4e1512;text-align:center;margin-top:45px;}
	#Ha #local-shop .ph-img{margin-top:30px;font-size:0;line-height:0;}

#Ha #rootColum,
#Ha #local-shop,
#Ha #faq {
	background: #f7f5ee;
	padding: 35px 0 40px;
	margin-top:30px;
}
#Ha #rootColum,
#Ha #maker,
#Ha #faq{
	background: #f8f8f8;
}
#Ha #local-shop{
	background: #fff;
}

	#Ha #rootColum ol,
	#Ha #faq ol {
		color: #312927;
		list-style: none;
		margin: 20px auto 50px;
	}
		#Ha #rootColum ol li,
		#Ha #faq ol li {
			border-bottom: 1px dotted #000;
			padding: 20px 0;
		}
		#Ha #rootColum ol li:last-child,
		#Ha #faq ol li:last-child {
			border: none;
		}
			#Ha #rootColum ol li h3,
			#Ha #faq ol li h3 {
				font-size: 22px;
				letter-spacing: .1em;
				line-height: 1.4;
			}
			#Ha #rootColum ol li h3{
				padding: 0 0 0 80px;
				text-indent: -80px;
			}
				#Ha #rootColum ol li h3 img,
				#Ha #faq ol li h3 img {
					display: inline-block;
					padding: 0 20px 0 0;
					vertical-align: middle;
					max-width: 60px;
				}
				#Ha #faq ol li h3 span {
					display: inline-block;
					max-width: 100%;
					vertical-align: middle;
				}
			#Ha #rootColum ol li p,
			#Ha #faq ol li p {
				letter-spacing: .155em;
				line-height: 1.89;
				margin: 8px 0 0;
			}
	#Ha #certified .btn a,
	#Ha #rootColum a {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		font-size: 18px;
		max-width: 424px;
		padding: 1.17em 3%;
	}
@media screen and (min-width: 769px) {
	#Ha #bList li:nth-child(4n) {
		margin: 32px 0 0;
	}
}

@media screen and (max-width: 768px) {
	#Ha  {
		padding: 0 0 55px;
	}
	#Ha h2 {
		max-width: 882px;
		width: 85%;
	}
	#Ha #select {
		padding: 3% 0 10%;
	}
		#Ha #select a {
			display: block;
			margin: 2% auto 0;
			width: 100%;
			max-width: 100%;
		}

		#Ha #bList {
			margin: 0 auto 0;
		}
			#Ha #bList li {
				margin:0 4% 0 0;
				width: 48%;
			}
			#Ha #bList li:nth-child(2n) {
				margin:0;
			}
			#Ha #bList li a{
				display:block;margin-top:8%;
			}

			#Ha #equipment .service ul li{
				margin:0 1.2% 1.2% 0;
				width:49.4%;
			}
				#Ha #equipment .service ul li:nth-child(2n) {
					margin-right:0;
				}

	#Ha #certified .ph p span,
	#Ha #certified .btn a,
	#Ha #rootColum a {
		/* font-size:3vw; */
		font-size: 14px;
		/* max-width:480px; */
		max-width:100%;
	}

	#Ha #checkColum .inner .lists ul{width:90% !important;}
	#Ha #checkColum .ph-img{display:none;}
	#Ha #checkColum .inner h3{font-size:3.5vw;}
	#Ha #checkColum .inner .lists ul li{font-size:3vw;}
	#Ha #checkColum .confirm{font-size:2.8vw;}

	#Ha #local-shop h3{font-size:3.5vw;margin-top:8%;}
	#Ha #local-shop .lead-txt{font-size:3vw;text-align:left;margin-top:8%;}
	#Ha #local-shop .ph-img{margin-top:8%;}

	#Ha #checkColum,
	#Ha #rootColum,
	#Ha #local-shop,
	#Ha #maker,
	#Ha #equipment,
	#Ha #faq {
		padding: 5% 0 5%;
		margin:5% 0 0;
	}
	#Ha #rootColum ol,
	#Ha #faq ol {
		margin: 2% auto 5%;
	}
		#Ha #rootColum ol li,
		#Ha #faq ol li {
			padding: 3% 0;
		}
			#Ha #rootColum ol li h3,
			#Ha #faq ol li h3 {
				font-size: 16px;
			}
			#Ha #rootColum ol li h3{
				padding: 0 0 0 50px;
				text-indent: -50px;
			}
				#Ha #rootColum ol li h3 img,
				#Ha #faq ol li h3 img {
					padding: 0 10px 0 0;
					width: 45px;
				}
				#Ha #faq ol li h3 span{
					width:calc(100% - 55px);
				}
}
/* -------------------------------
	shop
------------------------------- */
#Shop {
	padding: 0 0 30px;
}
	#Shop #shop {
		padding: 69px 0 50px;
	}
		#Shop #shop .text {
			color: #312927;
			letter-spacing: .2em;
			line-height: 1.4;
		}
			#Shop #shop .text h2 {
				font-size: 16px;
			}
@media screen and (max-width: 1063px) {
				#Shop #shop .text .lead-block .pc{
					display:none;
				}
}
			#Shop #shop .shop-dtl{
				padding-top:20px;
			}
				#Shop #shop .shop-dtl h3{
					font-size: 18px;
					font-weight:normal;
					margin: 0 0 8px;
				}
					#Shop #shop dl dt {
						line-height: 1.642;
					}
					#Shop #shop dl dd {
						line-height: 1.877;
					}
	#Shop .picts {
		background: #f7f8f8;
		padding: 20px 0 32px;
	}

		#Shop .picts .inner .shopPict{
			list-style:none;
		}

	#Shop .thumbs {
		letter-spacing: -.45em;
		list-style: none;
		margin: 0.3% auto 0;
	}
		#Shop .thumbs li {
			display: inline-block;
			margin: 1.25% 1.25% 0 0;
			width: 15.625%;
		}
		#Shop .thumbs li:last-child {
			margin: 1.25% 0 0;
		}
			#Shop .thumbs li a {
				cursor: pointer;
			}

@media screen and (max-width: 768px) {
	#Shop {
		padding: 0 0 35px;
	}
	#Shop #shop {
		padding: 10% 0;
	}
	#Shop .picts {
		padding: 5% 0;
	}
	#Shop #shop dl {
		margin: 0 auto 5%;
	}
	#Shop #shop .text {
		margin: 5% auto 0;
	}
		#Shop #shop .text .lead-block .tx-side,
		#Shop #shop .text .lead-block .ph-side{float:none;width:100%}
		#Shop #shop .text .lead-block .ph-side{margin-top:2%}
	#Shop .thumbs li {
		margin: 2% 2% 0 0;
		width: 18.4%;
	}
	#Shop .thumbs li:nth-child(5n),
	#Shop .thumbs li:last-child {
		margin: 2% 0 0;
	}
}



/*-----------------20210319*/
.frame-flex img {
	width: auto;
	max-width: 100%;
}
.frame-flex .flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -60px;
	align-items: center;
}
.frame-flex .flex .split {
	width: calc((100% / 2) - 60px);
	margin-left: 60px;
}
.frame-flex .btn a {
	max-width: 424px;
	height: 64px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 18px;
	padding: 0;
	position: relative;
}
.frame-flex .btn.pc {
	margin-top: 55px;
}
.frame-flex .btn a:after {
	position: absolute;
	content: "";
	right: 25px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.frame-flex .flex .split:first-child {
	text-align: center;
}
.frame-flex .flex .split:first-child img {
	/* margin-bottom: 160px; */
}
.frame-flex .shadow {
	-webkit-box-shadow: 0px 0px 24px rgb(103 103 103 / 40%);
	box-shadow: 0px 0px 24px rgb(103 103 103 / 40%);
}



.shop-pic__main img {
	vertical-align: top;
}
.shop-pic__thumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 18px;
	margin-left: -18px;
}
.shop-pic__thumb li {
	list-style-type: none;
	width: calc((100% / 4) - 18px);
	margin-left: 18px;
}

.frame-hr {
  display: block;
  height: 3px;
  background-color: #F7F8F8;
  margin: 40px 0 30px;
}

@media(min-width:769px) {
	.sp-only {
		display: none;
	}
	.main-contents {
		margin-bottom: 60px;
	}
}
@media(max-width:1000px) {
	header .inner {
		padding-left: 0;
		padding-right: 0;
	}
}
@media(max-width:768px) {
	header nav li {
		margin: 0;
	}
	.pc-only {
		display: none;
	}
	.frame-flex .btn a {
		font-size: 14px;
		height: auto;
		padding: 1.08em 0;
		letter-spacing: .2em;
		max-width: 100%;
		line-height: 1;
		width: 100%;
	}
	.frame-flex .flex .split {
		width: 100%;
	}
	.frame-flex .flex .split:first-child {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}
	.frame-flex .flex .split:first-child img {
		margin:30px 0 50px;
		max-width: 60%;
	}

	footer ul {
		max-width: 400px;
		width: 80%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	footer ul li {
		width: calc(100% / 3) !important;
		position: relative;
	}
	footer ul li:nth-child(1),
	footer ul li:nth-child(4) {
		border-left: 1px solid rgb(49, 41, 39);
	}

	.shop-pic__thumb {
		margin-left: -10px;
		margin-top: 10px;
	}
	.shop-pic__thumb li {
		width: calc((100% / 4) - 10px);
		margin-left: 10px;
	}
}