@charset "utf-8";

/*////////////////////////////////////////////////////////////
Name : style.css
////////////////////////////////////////////////////////////*/

/*----------------------------------------------------------------------------------------
	Reset
---------------------------------------------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
ol,ul {list-style:none}

/*----------------------------------------------------------------------------------------
	common settting
---------------------------------------------------------------------------------------- */
html {
	font-size:62.5%;
}
body {
	color:#555;
	line-height:1.5;
	font-family: YuMincho, 'Yu Mincho', 'EB Garamond', serif;
	letter-spacing: 0.3rem;
	min-width:1280px;
}
a {
	color: #004e2d;
	text-decoration: none;
	border:0;
	outline:none;
}
a:hover {
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
}
a:hover img {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.fontYuMincho {
	font-family: YuMincho, 'Yu Mincho', serif;
}
.fontEbGaramond {
	font-family: 'EB Garamond', serif;
}
/*----------------------------------------------------------------------------------------
	common parts
---------------------------------------------------------------------------------------- */
.btn a {
	width:310px;
	height:80px;
	text-align:center;
	background-color:#a67c52;
	display:inline-block;
	vertical-align: middle;
	font-size:1.7rem;
	color:#fff;
	letter-spacing: 0.4rem;
}
.btn a span {
	display:block;
	margin:2px;
	border:1px solid #fff;
	height:74px;
	line-height:74px;
}
.btn a.targetBlank {
	background-image:url(../images/ic_targetBlank.svg);
	background-repeat:no-repeat;
	background-position: right 15px center;
	background-size:18px auto;
}
.btn.white a {
	background-color:#fff;
	color:#337157;
}
.btn.white a span {
	border: 1px solid #337157;
}
.more a {
	width:298px;
	height:64px;
	border:1px solid #004e2d;
	font-size:1.5rem;
	display:block;
	margin:0 auto;
	line-height:64px;
	position:relative;
	text-align:left;
	text-indent:50px;
}
.more a span:after {
	content:"";
	display:block;
	opacity:0;
	transition:all 0.8s;
}
.more a:hover span:after {
	content:"";
	opacity:1;
	width:100%;
	height:100%;
	position:absolute;
	top:-6px;
	left:-10px;
	background-color:rgba(214,195,175,0.7);
	z-index:-2;
}
.more a:before {
	content: "";
	position:absolute;
	top:50%;
	right:-20px;
	border-top:1px solid #004e2d;
	width:76px;
	height:1px;
}
.more a:after {
	content:"";
	position:absolute;
	top:50%;
	right:48px;
	width:14px;
	height:14px;
	margin-top:-7px;
	background-image:url(../images/ic_bt_004e2d.svg);
	background-position:left center;
	background-repeat: no-repeat;
}
.more.white a {
	border:1px solid #fff;
	color:#fff;
}
.more.white a:before {
	border-top:1px solid #fff;
}
.more.white a:after {
	background-image:url(../images/ic_bt_ffffff.svg);
}
.more.white a:hover span:after {
	background-color:rgba(255,255,255,0.3);
}
.ilBottom {
	padding-bottom:35px;
	background-image:url(../images/il_titleBottom.svg);
	background-position:center bottom;
	background-repeat: no-repeat;
	background-size:auto 21px;
}
.fadeIn {
	opacity: 0
}
.scrollIn {
	opacity: 1;
	transition: all 0.8s;
}
/*----------------------------------------------------------------------------------------
	header
---------------------------------------------------------------------------------------- */
#header {
	position:absolute;
	width:100%;
	z-index:4;
}
#header.show {
	position:fixed;
	background-color:rgba(255,255,255,0.8);
}
#header .logo {
	display:none;
}
#header.show .logo {
	margin:10px 0;
	text-align:center;
	display:block;
}
#header .logo img {
	height:auto;
	width:280px;
}
#header .navIcon {
	position: absolute;
	top: 62px;
	right:50px;
	width:50px;
	cursor:pointer;
}
#header.show .navIcon {
	top: 10px;
	right:20px;
}
#header .navIcon:hover {
	opacity: 0.7;
}
#header .navIcon span {
	display:block;
	height:2px;
	background-color:#004e2d;
	margin:8px 0 8px auto;
}
#header .navIcon span:nth-child(2) {
	width:40px;
}
#header .navIcon span:nth-child(3) {
	width:33px;
}
#header .navBody {
	position: fixed;
	top:0;
	right:0;
	height:100vh;
	background-color:rgba(255,255,255,0.85);
	z-index:3;
	width:480px;
	overflow-y:auto;
	display:none;
}
#header .navBodyWrap {
	position:relative;
	padding:160px 50px 30px 65px;
}
#header .navList {
	font-size:1.8rem;
	line-height:1;
}
#header .navList > div {
	margin-bottom:30px;
}
#header .navBtn {
	padding-top:40px;
}
#header .navBtn a {
	width:280px;
	height:72px;
}
#header .navBtn a span {
	height:66px;
	line-height:66px;
}
#header .navBtn a.targetBlank {
	background-size:18px auto;
}
#header .socialList {
	margin-top:55px;
	letter-spacing: -0.4rem;
}
#header .socialList > div {
	letter-spacing:normal;
	display:inline-block;
	margin-right:25px;
	width:30px;
}
#header .btClose  {
	position:absolute;
	top: 62px;
	right:50px;
	cursor:pointer;
	width:38px;
	height:38px;
}
#header .btClose:hover  {
	opacity:0.7;
}
#header .btClose:before,
#header .btClose:after {
    display: block;
    content: '';
    width: 2px;
    height: 38px;
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: #004e2d;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top:-18px;
}
#header .btClose:after {
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*----------------------------------------------------------------------------------------
	topTitle
---------------------------------------------------------------------------------------- */
#topTitle {
	position:relative;
	background-image:url(../images/ph_topFeature.png);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	height:100vh;
	overflow:hidden;
}
#topTitle .logo {
	position:absolute;
	top:40%;
	left:14%;
	text-align:center;
	width:21.5%;
	max-width:413px;
}
#topTitle .logo h1 img {
	width:100%;
}
#topTitle .logo .lead {
	font-size:1.6rem;
	color:#004e2d;
	margin-top:35px;
}
#topTitle .scrollBorder {
	position:absolute;
	bottom:0;
	right:60px;
	height:150px;
	border-left:1px solid #004e2d;
	font-size:1.1rem;
	line-height:1;
}
#topTitle .scrollBorder:after {
	content: "";
	width:14px;
	height:14px;
	position:absolute;
	bottom:30px;
	left:-7px;
	background-image:url(../images/ic_bt_004e2d.svg);
	background-position:center;
	background-repeat:no-repeat;
}
#topTitle .scrollText {
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
	display:inline-block;
	position: absolute;
  bottom: 70px;
  right: 10px;
	color:#004e2d;
}
/*----------------------------------------------------------------------------------------
	pageTItle
---------------------------------------------------------------------------------------- */
#pageTitle {
	position:relative;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	width:100%;
	padding-top:26%;
	height:0;
	position:relative;
	border-bottom:2px solid #004e2d;
}
#pageTitle:after {
	content:"";
	display:block;
	border-bottom:1px solid #004e2d;
	padding-bottom:7px;
}
#pageTitle.titleAbout {
	background-image:url(../images/ph_titleAbout.png);
}
#pageTitle.titleShopList {
	background-image:url(../images/ph_titleShopList.png);
}
#pageTitle.titleEngagement {
	background-image:url(../images/ph_titleEngagement.png);
}
#pageTitle.titleMarriage {
	background-image:url(../images/ph_titleMarriage.png);
}
#pageTitle.titleContact {
	border:0;
}
#pageTitle.titleContact:after {
	display:none;
}
.pageTitleText {
	position:absolute;
	top:46%;
	left:12%;
}
#pageTitle.titleAbout .pageTitleText,
#pageTitle.titleEngagement .pageTitleText,
#pageTitle.titleMarriage .pageTitleText {
	top:34%;
}
#pageTitle.titleContact .pageTitleText {
	width:100%;
	text-align:center;
	left:0;
	top:34%;
}
.pageTitleText h1 {
	color:#004e2d;
	font-size:4.2rem;
}
#pageTitle.titleContact .pageTitleText h1 {
	font-size:4.8rem;
}
.pageTitleText .localNav {
	color:#004e2d;
	font-size:1.6rem;
	margin-top:15px;
}
.pageTitleText .localNav li {
	margin-bottom:8px;
}
.pageTitleText .localNav a {
	color:#004e2d;
}
.pageTitleText .localNav a:hover {
	opacity:0.7;
}
/*----------------------------------------------------------------------------------------
	topAbout
---------------------------------------------------------------------------------------- */
.topAbout {
	position:relative;
	background-image:url(../images/ph_topAbout.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	padding-top:34%;
	height:0;
	margin-top:15px;
}
.topAboutText {
	position:absolute;
	top:14%;
	right:14%;
	text-align:center;
}
.topAboutText h2 {
	font-size:4.2rem;
	color:#004e2d;
}
.topAboutText .lead {
	font-size:1.4rem;
	line-height:2.4;
	margin-top:20px;
}
.topAboutText .more {
	margin-top:40px;
}
/*----------------------------------------------------------------------------------------
	topService
---------------------------------------------------------------------------------------- */
.topService {
	position:relative;
	background-image:url(../images/bg_topService.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	margin-top:15px;
	padding:120px 0;
}
.topServiceText {
	text-align:center;
	color:#fff;
}
.topServiceText h2 {
	font-size:3.8rem;
}
.topServiceText .lead {
	font-size:1.4rem;
	line-height:2.4;
	margin-top:40px;
}
.topServiceText .lead .small {
	font-size:1.2rem;
}
.topServiceList {
	letter-spacing:-0.4rem;
	padding:0 7%;
	margin-top:50px;
}
.topServiceList > div {
	display:inline-block;
	vertical-align:top;
	letter-spacing:normal;
	width:33.333333333333333333333%;
}
.topServiceList > div:first-child {
	padding-top:45px;
}
.topServiceList > div:nth-child(3) {
	padding-top:56px;
}
.topServiceList .topServiceListWrap {
	padding:0 5%;
	position:relative;
}
.topServiceList .topServiceListWrap h3 {
	position:absolute;
	top:-5%;
	right:1%;
	width:46%;
	background-color:#004e2d;
	color:#fff;
	text-align:center;
	padding:4px 0;
	font-size:1.4rem;
	z-index:2;
	-webkit-box-shadow: 1px -1px 0px 0 rgba(255,255,255,1);
	-moz-box-shadow: 1px -1px 0px 0 rgba(255,255,255,1);
	box-shadow: 1px -1px 0px 0 rgba(255,255,255,1);
	letter-spacing:0.25rem;
}
.topServiceList .topServiceListWrap .photo img {
	width:100%;
	height:auto;
}
.topServiceMore {
	margin-top:60px;
	text-align:center;
}
/*----------------------------------------------------------------------------------------
	productCategory
---------------------------------------------------------------------------------------- */
.productCategoryList {
	letter-spacing:-0.4rem;
	padding:0 2%;
	margin-top:120px;
}
.productCategoryList > div {
	display:inline-block;
	vertical-align:top;
	letter-spacing:normal;
	width:33.333333333333333333333%;
}
.productCategoryListWrap {
	margin:0 1%;
}
.productCategoryListWrap a,
.productCategoryListWrap span {
	display:block;
	height:0;
	padding-top:100%;
	width:100%;
	position:relative;
	background-position:center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color:#f1eff1;
}
.productEngagementRing a {
	background-image:url(../images/ph_productEngagement.png);
}
.productMarriageRing a {
	background-image:url(../images/ph_productMarriage.png);
}
.productCategoryListInner {
	position:absolute;
	top:0;
	left:0;
	width:calc(100% - 24px);
	height:calc(100% - 24px);
	padding:12px;
}
.productCategoryListBody {
	padding:6px;
	width:calc(100% - 14px);
	height:calc(100% - 2px);
	display:table;
	border:1px solid #004e2d;
}
@-moz-document url-prefix(){
	.productCategoryListBody {
		height:calc(100% - 14px);
	}
}
.productCategoryListBodyInner {
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border:2px solid #004e2d;
	display:table-cell;
	vertical-align: middle;
	text-align:center;
}
.productCategoryList a .text {
	display:none;
	color:#fff;
}
.productCategoryList .text h3 {
	font-size:3rem;
	letter-spacing:0.45rem;
	line-height:1.2;
}
.productCategoryList .text .comingsoon {
	margin-top:10px;
	font-size:1.4rem;
}
.productCategoryListWrap a .productCategoryListInner,
.productCategoryListWrap a .productCategoryListBody,
.productCategoryListWrap a .productCategoryListBodyInner {
	transition: all 0.5s;
}
.productCategoryListWrap a:hover .productCategoryListInner {
	background-color:rgba(166,124,82,0.7);
}
.productCategoryListWrap a:hover .productCategoryListBody,
.productCategoryListWrap a:hover .productCategoryListBodyInner {
	border-color: #fff;
}
.productCategoryList .productCategoryListWrap a:hover .text {
	display:block;
}
/*----------------------------------------------------------------------------------------
	shopList
---------------------------------------------------------------------------------------- */
.topShopList {
	margin-top:170px;
}
.shopList {
	margin-top:50px;
}
.shopList .shopListInner {
	width:90%;
	max-width:1500px;
	margin:0 auto;
}
.shopList h2.topShopListTitle {
	font-size:4.2rem;
	text-align:center;
	border-bottom:1px solid #004e2d;
	padding-bottom:5px;
	color:#004e2d;
}
.shopList h2.topShopListTitle:after {
	content:"";
	display:block;
	border-bottom:2px solid #004e2d;
	padding-bottom:50px;
}
.shopListBody {
	margin:60px auto 0;
	width:92%;
	display:table;
}
.shopListMap,
.shopListRegion {
	display:table-cell;
	vertical-align:top;
}
.shopListMap {
	width:33.333333333333333333333%;
}
.shopListMap img {
	width:100%;
	height:auto;
}
.shopListRegion {
	letter-spacing: -0.4rem;
	padding-left:12%;
}
.shopListRegion > div {
	letter-spacing:normal;
	width:33.33333333333333333333333%;
	display:inline-block;
	vertical-align:top;
	position:relative;
}
.shopListRegion a {
	display:table;
	width:calc(100% - 32px);
	height:200px;
	border:1px solid #004e2d;
	margin:15px;
	color:#004e2d;
}
.shopListRegion a .shopListRegionInner:after {
	content:"";
	display:block;
	opacity:0;
	transition:all 0.8s;
}
.shopListRegion a:hover .shopListRegionInner:after {
	content:"";
	background-color:rgba(214,195,175,0.7);
	opacity:1;
	position:absolute;
	top:-10px;
	left:-10px;
	width:100%;
	height:100%;
	z-index:-1;
}
.shopListRegionInner {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	position:relative;
	letter-spacing:0.45rem;
}
.shopListRegion .region {
	font-size:1.6rem;
	position:relative;
}
.shopListRegion .region span {
	display:block;
	margin-top:8px;
	font-size:1.1rem;
}
/*----------------------------------------------------------------------------------------
	shopListDetail
---------------------------------------------------------------------------------------- */
.shopListDetail {
	border-top:2px solid #004e2d;
	padding-top:6px;
	margin-top:100px;
}
.shopListDetail > div {
	border-top:1px solid #004e2d;
	padding:60px 140px;
}
.shopListDetailHead h2 {
	font-size:2rem;
	color:#004e2d;
}
.shopListDetailHead h2 span {
	display:block;
	font-size:1.4rem;
}
.shopListDetailBody {
	padding-top:50px;
}
.shopListItem {
	display:table;
	width:100%;
	padding:25px 0;
}
.shopListItem h3,
.shopListItem .contact,
.shopListItem .map {
	display:table-cell;
	vertical-align:top;
	line-height:2;
}
.shopListItem h3 {
	font-size:1.6rem;
	width:40%;
}
.shopListItem .contact {
	width:50%;
	font-size:1.4rem;
	margin:0;
}
.shopListItem .map {
	width:10%;
	font-size:1.5rem;
}
/*----------------------------------------------------------------------------------------
	aboutMessage
---------------------------------------------------------------------------------------- */
.aboutMessage {
	padding:150px 0 100px;
	background-image:url(../images/bg_aboutMessage.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.aboutMessage h2 {
	text-align:center;
	font-size:4.2rem;
	color:#004e2d;
}
.aboutMessageBody {
	letter-spacing:-0.4rem;
	margin:50px auto 0;
	text-align:center;
}
.aboutMessageBody > div {
	width:calc(40% - 3%);
	max-width:642px;
	display:inline-block;
	vertical-align: top;
	padding:0 3%;
	letter-spacing:normal;
	text-align:left;
}
.aboutMessageBody > div:first-child {
	padding-left:0;
}
.aboutMessageBody > div:last-child {
	padding-right:0;
}
.aboutMessageBody p {
	font-size:1.4rem;
	line-height:2;
	margin-bottom:25px;
	letter-spacing:0.2rem;
	text-align: justify;
}
.aboutMessageBody p.signiture {
	margin-top:60px;
	text-align:right;
}
.aboutMessageBody p.signiture img {
	width:126px;
	height:auto;
}
/*----------------------------------------------------------------------------------------
	aboutConcept
---------------------------------------------------------------------------------------- */
.aboutConcept {
	padding:100px 0 150px;
	background-image:url(../images/bg_aboutConcept.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.aboutConcept .logo {
	text-align:center;
}
.aboutConcept .logo img {
	width:233px;
	height:auto;
}
.aboutConcept h2 {
	text-align:center;
	font-size:2.3rem;
	margin-top:10px;
	color:#fff;
}
.aboutConceptBody {
	letter-spacing:-0.4rem;
	text-align:center;
	margin-top:60px;
}
.aboutConceptBody > div {
	display:inline-block;
	vertical-align:top;
	padding:0 6%;
	letter-spacing:normal;
	text-align:left;
}
.aboutConceptBody > div:first-child {
	padding-left:0;
}
.aboutConceptBody > div:last-child {
	padding-right:0;
}
.aboutConceptBody p {
	font-size:1.5rem;
	line-height:2.2;
	letter-spacing:0.25rem;
	color:#fff;
}
.aboutConceptBody > div:last-child p {
	font-size:1.6rem;
}
.aboutConceptBody p span {
	font-size:2rem;
	margin-right:8px;
	color:#c69c6d;
	display:inline-block;
	vertical-align:baseline;
}
.aboutConceptBody > div:last-child p span {
	min-width:30px;
}
/*----------------------------------------------------------------------------------------
	aboutService
---------------------------------------------------------------------------------------- */
.aboutService {
	padding:150px 0 100px;
}
.aboutService h2 {
	text-align:center;
	font-size:4.2rem;
	color:#004e2d;
}
.aboutService .lead {
	text-align:center;
	font-size:1.6rem;
	margin-top:20px;
}
.aboutServiceSet {
	position:relative;
	margin:50px 9% 0;
}
.aboutServiceSetPhoto {
	position:absolute;
}
.aboutServiceSetPhoto.sampleRings {
	width:45%;
	min-width:530px;
	top:0;
	left:0;
}
.aboutServiceSetPhoto.ringGauge {
	width:26%;
	min-width:310px;
	bottom:-100px;
	left:24%;
	z-index:2;
}
.aboutServiceSetPhotoInner {
	position:relative;
}
.aboutServiceSetPhoto .text {
	position:absolute;
	background-color:#004e2d;
	color:#fff;
	width:40%;
	font-size:1.2rem;
	text-align:center;
	padding:2px 0;
}
.aboutServiceSetPhoto.sampleRings .text {
	top:-10px;
	left:-20px;
}
.aboutServiceSetPhoto.ringGauge .text {
	bottom:-10px;
	right:-60px;
	width:60%;
}
.aboutServiceSetPhoto img {
	width:100%;
	height:auto;
}
.aboutServiceSetText {
	width:47%;
	min-width:540px;
	background-color:#337157;
	position:relative;
	padding:7px 0;
	top:70px;
	margin:0 0 0 auto;
}
.aboutServiceSetTextInner {
	margin:0 7px;
	border:1px solid #fff;
}
.aboutServiceSetTextWrap {
	margin:6px;
	border:2px solid #fff;
	padding:50px 5%;
}
.aboutServiceSetText h3 {
	color:#fff;
	text-align:center;
	font-size:2.4rem;
}
.aboutServiceSetText h3 span {
	display:block;
	font-size:2rem;
}
.aboutServiceSetText p {
	font-size:1.3rem;
	color:#fff;
	margin-top:30px;
	line-height:2;
}
.aboutServiceSetText p:first-child {
	margin-top:0;
}
.aboutServiceHowto {
	margin-top:220px;
}
.aboutServiceHowto h3 {
	text-align:center;
	color:#004e2d;
	font-size:3.2rem;
}
.aboutServiceHowto .lead {
	text-align:center;
	color:#004e2d;
	font-size:2rem;
}
.aboutServiceHowtoList {
	letter-spacing:-0.4rem;
	text-align:center;
	margin-top:50px;
}
.aboutServiceHowtoList > div {
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
	width:374px;
	margin:0 2%;
	position:relative;
}
.aboutServiceHowtoList > div:first-child:after,
.aboutServiceHowtoList > div:nth-child(2):after {
	position:absolute;
	content:"";
	min-width:40px;
	min-height:40px;
	background-image:url(../images/ic_aboutServiceHowtoArrow.png);
	background-position:right center;
	background-repeat: no-repeat;
	top:50%;
	right:-50px;
}
.aboutServiceHowtoWrap {
	background-image:url(../images/bg_aboutServiceHowto.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
	letter-spacing:0.35rem;
	height:462px;
	position:relative;
}
.aboutServiceHowtoStep {
	font-size:1.8rem;
	line-height:1.2;
	padding-top:40px;
	color:#004e2d;
}
.aboutServiceHowtoStep span {
	display:block;
	font-size:3.8rem;
}
.aboutServiceHowtoTitle {
	padding:40px 0;
}
.aboutServiceHowtoTitle h4 {
	font-size:2.2rem;
	color:#004e2d;
}
.aboutServiceHowtoBody {
	border-top:1px solid #004e2d;
	padding:50px 30px;
	margin:0 16px;
	text-align:left;
}
.aboutServiceHowtoBody li {
	font-size:1.4rem;
	line-height:2;
}
.aboutService .btn {
	margin-top:50px;
	text-align:center;
}
.aboutService .btn a.targetBlank {
	background-size:20px;
	background-position:right 20px center;
	width:480px;
	font-size:2rem;
	height:100px;
}
.aboutService .btn a span {
	line-height:1.7;
	padding:12px 0;
	height:70px;
}
/*----------------------------------------------------------------------------------------
	aboutMaintenance
---------------------------------------------------------------------------------------- */
.aboutMaintenance {
	padding: 150px 0 100px;
	background-color: #F1EFF1;
}
.aboutMaintenance h2{
	text-align:center;
	font-size:4.2rem;
	color:#004e2d;
}
.aboutMaintenance .lead {
	text-align:center;
	font-size:1.6rem;
	margin-top:20px;
}
.aboutMaintenanceBody {
	margin-top: 100px;
	position: relative;
	max-width: 1320px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.aboutMaintenanceCont {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}
.aboutMaintenanceItem {
	width: 33.3333%;
	padding: 3.5rem;
	box-sizing: border-box;
}
.aboutMaintenanceItemMedia {
	text-align: center;
	width: 100%;
	height: 100px;
	display: flex;
	align-items: flex-end;
}
.aboutMaintenanceItemMedia img {
	width: 100%;
	height: 100px;
}
.aboutMaintenanceItemMedia--sm img {
	height: 70px;
}
.aboutMaintenanceItemSummary {
	font-size: 2.4rem;
	color: #004E2D;
	text-align: center;
	margin-top: 1.6rem;
}
.aboutMaintenanceItemText {
	font-size: 1.6rem;
	margin-top: 2.8rem;
	text-align: center;
	line-height: 2;
}
.aboutMaintenanceItemSummary .sm {
	font-size: 1.6rem;
}
.aboutMaintenance .marker {
	background-color: #C9D9D3;
}
@media screen and (max-width: 767px) {
	.aboutMaintenance {
		padding: 40px 20px;
	}
	.aboutMaintenanceItem {
		width: 50%;
		padding: 3.5rem 0;
	}
	.aboutMaintenance h2 {
		font-size:2.4rem;
	}
	.aboutMaintenance .lead {
		font-size:1.3rem;
		margin-top:30px;
	}
}
@media screen and (max-width: 414px) {
	.aboutMaintenanceItem {
		width: 100%;
		padding: 4rem 0;
	}
}
/*----------------------------------------------------------------------------------------
	productList
---------------------------------------------------------------------------------------- */
.productList {
	padding:40px 0 0;
	width:84%;
	max-width:1612px;
	margin:0 auto;
	letter-spacing:-0.4rem;
}
.productList > div {
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
	width:25%;
	margin-top:100px;
}
.productListItem {
	padding:0 4%;
	text-align:center;
}
.productListPhoto img {
	width:100%;
	height:auto;
}
.productListName {
	margin-top:30px;
	font-size:1.6rem;
	color:#004e2d;
}
/*----------------------------------------------------------------------------------------
	productDetail
---------------------------------------------------------------------------------------- */
.productDetail {
	position:fixed;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,0.6);
	z-index:99;
	display:none;
	top:0;
	left:0;
}
.productDetail.show {
	display:table;
}
.productDetailInner {
	display:table-cell;
	vertical-align:middle;
}
.productDetailWrap {
	width:80%;
	max-width:1400px;
	height:80%;
	max-height:680px;
	background-color:#fff;
	box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
	overflow-y:auto;
	margin:0 auto;
	position:relative;
}
.productDetailClose {
	position:absolute;
	top:40px;
	right:40px;
	cursor:pointer;
	width:28px;
	height:28px;
}
.productDetailClose:hover {
	opacity:0.7;
}
.productDetailClose:before,
.productDetailClose:after {
    display: block;
    content: '';
    width: 1px;
    height: 38px;
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: #004e2d;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top:-19px;
}
.productDetailClose:after {
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.productDetailBody {
	padding:40px;
	letter-spacing: -0.4rem;
}
.productDetailPhoto,
.productDetailText {
	display:inline-block;
	vertical-align:top;
	letter-spacing: normal;
}
.productDetailPhoto {
	width:40%;
}
.productDetailPhotoMain {
	width:100%;
	padding-top:100%;
	height:0;
	position:relative;
}
.productDetailPhotoMain > div {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	line-height:1%;
}
.productDetailPhotoMain > div:first-child {
	z-index:2;
}
.productDetailPhotoMain > div img {
	width:100%;
	height:auto;
}
.productDetailPhotoThumbnails {
	letter-spacing: -0.4rem;
	text-align:left;
	margin-right:-10px;
}
.productDetailPhotoThumbnails > div {
	letter-spacing:normal;
	display:inline-block;
	vertical-align: top;
	width:20%;
	line-height:1%;
	margin-top:10px;
}
.productDetailPhotoThumbnails > div:nth-child(5n) {
}
.productDetailPhotoThumbnails > div > span {
	display:block;
	margin-right:10px;
	cursor:pointer;
}
.productDetailPhotoThumbnails > div > span img {
	width:100%;
	height:auto;
}
.productDetailText {
	width:calc(60% - 6%);
	padding-left:6%;
	text-align:left;
}
.productDetailText h2 {
	font-size:2.2rem;
	margin-top:50px;
	color:#004e2d;
	letter-spacing: 0.45rem;
}
.productDetailText .btn {
	margin-top:40px;
}
.productDetailPrice {
	letter-spacing: -0.4rem;
}
.productDetailPrice > div {
	letter-spacing:normal;
	display: inline-block;
	vertical-align: top;
	width:50%;
	margin-top:30px;
}
.productDetailPrice p {
	font-size:1.4rem;
	letter-spacing: 0.45rem;
	line-height:2;
}
.productDetailPrice .category {
	font-size:1.2rem;
}
.productDetailInfo {
	border-top:1px solid #555;
	margin-top:50px;
	padding-top:50px;
	letter-spacing: 0.45rem;
}
.productDetailInfo .detail {
	font-size:1.3rem;
	line-height:1.8;
}
.productDetailInfo .detail span {
	display:block;
}
.productDetailInfo .supplement {
	font-size:1.3rem;
	margin-top:20px;
	line-height:1.8;
}
.productDetailInfo .supplement span {
	display:block;
}
/*----------------------------------------------------------------------------------------
	contact
---------------------------------------------------------------------------------------- */
.contact {
	width:700px;
	margin:0 auto;
}
.contactHead {
	margin-top:-50px;
}
.contactHead .lead {
	text-align:center;
	font-size:1.4rem;
	line-height:2;
}
.contactHead .tel {
	margin-top:80px;
	border-top:2px solid #004e2d;
	border-bottom:2px solid #004e2d;
	text-align:center;
	padding:6px 0;
	line-height:1;
	color:#004e2d;
}
.contactHead .tel:before {
	content:"";
	display:block;
	border-top:1px solid #004e2d;
	padding-top:25px;
}
.contactHead .tel:after {
	content:"";
	display:block;
	border-bottom:1px solid #004e2d;
	padding-bottom:30px;
}
.contactHead .tel p:first-child {
	font-size:4.8rem;
}
.contactHead .tel p:nth-child(2) {
	font-size:1.6rem;
	margin-top:12px;
}
.contactBody {
	margin-top:40px;
}
.contactComplete {
	text-align:center;
}
.contactComplete p {
	font-size:1.6rem;
	line-height:2;
}
.contactForm > div {
	display:table;
	width:100%;
	margin:50px 0;
}
.contactForm .contactFormTitle,
.contactForm .contactFormValue {
	display:table-cell;
	vertical-align: top;
	font-size:1.4rem;
	line-height:2;
}
.contactForm .contactFormTitle {
	position:relative;
	top:18px;
}
.contactForm .contactFormValue {
	width:540px;
}
.contactForm .contactFormValue input {
	width:100%;
	height:60px;
	line-height:60px;
	border:0;
	background-color:rgba(217,228,223,1);
	text-indent:15px;
	font-size:1.5rem;
}
::placeholder {
  color: #aaa;
}
::-ms-input-placeholder {
  color: #aaa;
}
:-ms-input-placeholder {
  color: #aaa;
}
.contactForm .contactFormValue textarea {
	width:calc(100% - 30px);
	height:200px;
	border:0;
	background-color:rgba(217,228,223,1);
	font-size:1.4rem;
	padding:15px;
}
.privacyPolicyText {
	border:1px solid #555;
	padding:30px;
	overflow-y:auto;
	height:290px;
	font-size:1.2rem;
	line-height:1.8;
}
.privacyPolicyAgree {
	text-align:center;
	font-size:1.3rem;
	margin-top:50px;
}
.privacyPolicyAgree input {
	position:relative;
	top:-2px;
	margin-right:8px;
}
.contact .more {
	margin-top:60px;
}
/*----------------------------------------------------------------------------------------
	footer
---------------------------------------------------------------------------------------- */
#footer {
	width:100%;
	background-color:#337157;
	color:#fff;
	padding:30px 0;
	margin-top:100px;
}
#footer a {
	color:#fff;
}
#footer a:hover {
	opacity:0.7;
}
#footer .footerInner {
	max-width:1460px;
	width:90%;
	margin:0 auto;
}
#footer .btPageTop {
	text-align:center;
}
#footer .footerBody {
	margin-top:60px;
	display:table;
	width:100%;
}
#footer .footerInfo,
#footer .footerNav {
	display:table-cell;
	vertical-align:top;
}
#footer .footerInfo {
	width:30%;
	font-size:1.3rem;
}
#footer .footerInfo .logo img {
	width:233px;
	height:auto;
}
#footer .footerInfo .text {
	margin-top:43px;
}
#footer .footerInfo .text p {
	margin:15px 0;
}
#footer .socialList {
	letter-spacing:-0.4rem;
	margin-top:25px;
}
#footer .socialList > div {
	letter-spacing:normal;
	vertical-align:top;
	margin-right:20px;
	display:inline-block;
	width:30px;
}
#footer .footerNav {
	width:70%;
	padding-top:45px;
}
#footer .navList {
	letter-spacing:-0.4rem;
	line-height:1;
}
#footer .navList > div {
	display:inline-block;
	vertical-align:top;
	font-size:1.4rem;
	letter-spacing:normal;
	margin-right:25px;
	margin-bottom:25px;
}
#footer .navList a {
	letter-spacing:0.45rem;
	margin-right:25px;
}
#footer .contactList {
	margin-top:30px;
	padding-top:55px;
	border-top:1px solid #fff;
	letter-spacing:-0.4rem;
}
#footer .contactList > div {
	letter-spacing: normal;
	display:inline-block;
	vertical-align:top;
	text-align:center;
	margin-right:100px;
}
#footer .contactList > div:last-child {
	margin-right:0;
}
#footer .contactList p {
	font-size:1.6rem;
	margin-bottom:20px;
}
#footer .contactList .btMailContact a {
	color:#337157;
}
#footer .contactList .btTakeSample a.targetBlank {
	background-size: 6.4% auto;
}
#footer .copyright {
	text-align:right;
	font-size: 1rem;
	margin-top:78px;
}

/*////////////////////////////////////////////////////////////////////////////////////

	for smartphone override

////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width: 767px) {

/*----------------------------------------------------------------------------------------
	common settting
---------------------------------------------------------------------------------------- */
body {
	min-width:0;
	letter-spacing: 0.15rem;
	-webkit-text-size-adjust: 100%;
}
/*----------------------------------------------------------------------------------------
	common parts
---------------------------------------------------------------------------------------- */
.btn a {
	width:280px;
}
.more a {
	width:278px;
	height:54px;
	font-size:1.3rem;
	line-height:54px;
	text-indent:40px;
}
/*----------------------------------------------------------------------------------------
	header
---------------------------------------------------------------------------------------- */
#header .logo img {
	width:43.7%;
}
#header .navIcon {
	position: absolute;
	top: 14px;
	right:20px;
	width:25px;
}
#header .navIcon span {
	display:block;
	height:2px;
	background-color:#004e2d;
	margin:4px 0 4px auto;
}
#header .navIcon span:nth-child(2) {
	width:20px;
}
#header .navIcon span:nth-child(3) {
	width:15px;
}
#header .navBody {
	background-color:rgba(255,255,255,0.85);
	width:100%;
}
#header .navBodyWrap {
	position:relative;
	padding:120px 35px 30px 35px;
}
#header .navList {
	font-size:2rem;
}
#header .navList > div {
	margin-bottom:25px;
}
#header .navBtn {
	padding-top:25px;
}
#header .navBtn a {
	width:250px;
	height:57px;
	font-size:1.5rem;
}
#header .navBtn a span {
	height:51px;
	line-height:51px;
}
#header .socialList {
	margin-top:40px;
}
#header .socialList > div {
	margin-right:20px;
}
#header .btClose {
	top: 15px;
	right:20px;
	width:24px;
	height:24px;
}
#header .btClose:before,
#header .btClose:after {
    height: 24px;
    margin-top:-12px;
}
/*----------------------------------------------------------------------------------------
	topTitle
---------------------------------------------------------------------------------------- */
#topTitle {
	background-image:url(../images/ph_topFeatureSp.png);
}
#topTitle .logo {
	top:15%;
	left:0;
	width:100%;
	max-width:none;
}
#topTitle .logo h1 {
	width:56.5%;
	margin:0 auto;
}
#topTitle .logo .lead {
	font-size:1.3rem;
	margin-top:15px;
}
#topTitle .scrollBorder {
	right:30px;
	height:100px;
	font-size:0.9rem;
}
#topTitle .scrollText {
	right:-10px;
	bottom:50px;
}
/*----------------------------------------------------------------------------------------
	pageTItle
---------------------------------------------------------------------------------------- */
#pageTitle {
	padding-top:66.666666666666666666%;
	background-size:100% auto;
}
#pageTitle.titleAbout {
	background-image:url(../images/ph_titleAboutSp.jpg);
}
#pageTitle.titleShopList {
	background-image:url(../images/ph_titleShopListSp.jpg);
}
#pageTitle.titleEngagement {
	background-image:url(../images/ph_titleEngagementSp.jpg);
}
#pageTitle.titleMarriage {
	background-image:url(../images/ph_titleMarriageSp.jpg);
}
.pageTitleText {
	position:absolute;
	top:46%;
	left:12%;
}
#pageTitle.titleAbout .pageTitleText,
#pageTitle.titleShopList .pageTitleText {
	top:17%;
	left:0;
	width:100%;
}
#pageTitle.titleEngagement .pageTitleText,
#pageTitle.titleMarriage .pageTitleText {
	top:30%;
	left:8%;
}
#pageTitle.titleAbout .pageTitleText h1,
#pageTitle.titleShopList .pageTitleText h1 {
	text-align:center;
}
.pageTitleText h1 {
	font-size:3.4rem;
}
.pageTitleText .localNav {
	display:none;
}
/*----------------------------------------------------------------------------------------
	topAbout
---------------------------------------------------------------------------------------- */
.topAbout {
	background-image:url(../images/ph_topAboutSp.png);
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
	padding:50px 0;
	height:auto;
	margin-top:5px;
}
.topAboutText {
	position:static;
}
.topAboutText h2 {
	font-size:3.2rem;
}
.topAboutText .lead {
	margin-top:120px;
	font-size:1.2rem;
	line-height:2;
}
.topAboutText .more {
	margin-top:30px;
}
/*----------------------------------------------------------------------------------------
	topService
---------------------------------------------------------------------------------------- */
.topService {
	margin-top:5px;
	padding:50px 25px;
}
.topServiceText h2 {
	font-size:3rem;
}
.topServiceText h2 span {
	display:block;
}
.topServiceText .lead {
	font-size:1.2rem;
	line-height:1.8;
	margin-top:30px;
}
.topServiceText .lead br {
	display:none;
}
.topServiceText .lead span {
	display:block;
	padding-top:0;
}
.topServiceList {
	padding:0;
	margin-top:30px;
}
.topServiceList > div {
	display:block;
	width:auto;
	margin-top:30px;
}
.topServiceList > div:first-child {
	padding-top:0;
}
.topServiceList > div:nth-child(3) {
	padding-top:0;
}
.topServiceList .topServiceListWrap {
	padding:0;
}
.topServiceList .topServiceListWrap h3 {
	position:absolute;
	top:-10px;
	right:-5px;
	width:46%;
}
.topServiceMore {
	margin-top:30px;
}
/*----------------------------------------------------------------------------------------
	productCategory
---------------------------------------------------------------------------------------- */
.productCategoryList {
	padding:0 25px;
	margin-top:30px;
}
.productCategoryList > div {
	display:block;
	width:auto;
	margin:5px 0;
}
.productCategoryListWrap {
	margin:0 auto;
}
.productCategoryListWrap a {
	background-color:rgba(255,255,255,0.6);
	background-blend-mode:lighten;
}
.productCategoryList a .text {
	display:block;
}
.productCategoryList .text h3 {
	font-size:2rem;
	color:#004e2d;
}
/*----------------------------------------------------------------------------------------
	shopList
---------------------------------------------------------------------------------------- */
.topShopList,
.shopList {
	margin-top:30px;
}
.shopList .shopListInner {
	width:100;
	max-width:none;
	padding:0 15px;
}
.topShopList h2 {
	font-size:3.2rem;
	border-bottom:1px solid #004e2d;
	padding-bottom:5px;
}
.topShopList h2:after {
	padding-bottom:25px;
}
.shopListBody {
	margin:30px auto 0;
	display:block;
	width:auto;
}
.shopListMap,
.shopListRegion {
	display:block;
}
.shopListMap {
	display:none;
}
.shopListRegion {
	padding-left:0;
	margin:0;
}
.shopListRegion > div {
	width:50%;
}
.shopListRegion .region {
	font-size:1.3rem;
}
.shopListRegion a {
	display:table;
	width:calc(100% - 20px);
	height:150px;
	margin:10px;
}
/*----------------------------------------------------------------------------------------
	shopListDetail
---------------------------------------------------------------------------------------- */
.shopListDetail {
	margin-top:30px;
}
.shopListDetail > div {
	padding:30px 10px;
}
.shopListDetailHead h2 {
	font-size:1.8rem;
}
.shopListDetailBody {
	padding-top:20px;
}
.shopListItem {
	display:block;
	padding:15px 0;
}
.shopListItem h3,
.shopListItem .contact,
.shopListItem .map {
	display:block;
	width:auto;
}
.shopListItem .contact {
	margin-top:8px;
}
.shopListItem .map {
	margin-top:8px;
}
/*----------------------------------------------------------------------------------------
	aboutMessage
---------------------------------------------------------------------------------------- */
.aboutMessage {
	padding:40px 25px;
}
.aboutMessage h2 {
	font-size:2.4rem;
}
.aboutMessageBody > div {
	width:100%;
	max-width:100%;
	display:block;
	padding:0;
}
.aboutMessageBody p {
	text-align: left;
}
.aboutMessageBody p.signiture {
	margin-top:30px;
	font-size:1.8rem;
}
.aboutMessageBody p.signiture span {
	font-size:1.2rem;
}
/*----------------------------------------------------------------------------------------
	aboutConcept
---------------------------------------------------------------------------------------- */
.aboutConcept {
	padding:50px 25px;
	background-image:url(../images/bg_aboutConceptSp.png);
}
.aboutConcept h2 {
	font-size:1.8rem;
}
.aboutConceptBody {
	margin-top:40px;
}
.aboutConceptBody > div {
	display:block;
	padding:10px 0;
}
.aboutConceptBody p {
	font-size:1.5rem;
	line-height:2.2;
	letter-spacing:0.25rem;
	color:#fff;
}
/*----------------------------------------------------------------------------------------
	aboutService
---------------------------------------------------------------------------------------- */
.aboutService {
	padding:40px 20px;
}
.aboutService h2 {
	font-size:2.4rem;
}
.aboutService .lead {
	font-size:1.3rem;
	margin-top:30px;
}
.aboutService .lead br {
	display:none;
}
.aboutServiceSet {
	position:relative;
	margin:30px 0 0;
}
.aboutServiceSetPhoto {
	position:static;
	margin:8px 0;
}
.aboutServiceSetPhoto.sampleRings {
	width:100%;
	min-width:0;
}
.aboutServiceSetPhoto.ringGauge {
	width:100%;
	min-width:0;
}
.aboutServiceSetPhoto.sampleRings .text {
	top:-10px;
	left:-5px;
}
.aboutServiceSetPhoto.ringGauge .text {
	bottom:-10px;
	right:-5px;
}
.aboutServiceSetPhoto .photo {
	line-height:0;
}
.aboutServiceSetText {
	width:100%;
	min-width:0;
	position:static;
	top:0;
	margin:15px 0 0;
}
.aboutServiceSetTextWrap {
	padding:30px;
}
.aboutServiceHowto {
	margin-top:40px;
}
.aboutServiceHowto h3 {
	font-size:2rem;
}
.aboutServiceHowto .lead {
	font-size:1.6rem;
	margin-top:5px;
}
.aboutServiceHowtoList {
	margin-top:20px;
}
.aboutServiceHowtoList > div {
	width:100%;
	margin:0;
}
.aboutServiceHowtoList > div:first-child:after,
.aboutServiceHowtoList > div:nth-child(2):after {
	display:none;
}
.aboutServiceHowtoWrap {
	height: calc(100vw * 1.23 - 30px);
}
.aboutServiceHowtoStep {
	font-size:1.6rem;
	line-height:1.2;
	padding-top:30px;
}
.aboutServiceHowtoStep span {
	display:block;
	font-size:3rem;
}
.aboutServiceHowtoTitle {
	padding:30px 0;
}
.aboutServiceHowtoTitle h4 {
	font-size:1.8rem;
}
.aboutServiceHowtoBody {
	border-top:1px solid #004e2d;
	padding:20px 14px;
	margin:0 12px;
	text-align:left;
}
.aboutServiceHowtoBody li {
	font-size:1.4rem;
	line-height:2;
}
.aboutServiceHowtoBody li br {
	display:none;
}
.aboutService .btn {
	margin-top:20px;
	text-align:center;
}
.aboutService .btn a.targetBlank {
	background-size:20px;
	background-position:right 20px center;
	width:100%;
	height:auto;
	font-size:1.6rem;
}
.aboutService .btn a span {
	line-height:1.7;
	padding:10px 0;
	height:54px;
}
/*----------------------------------------------------------------------------------------
	productList
---------------------------------------------------------------------------------------- */
.productList {
	padding:0 20px 20px;
	width:auto;
	max-width:100%;
}
.productList > div {
	width:50%;
	margin-top:50px;
}
.productListItem {
	padding:0 2%;
}
.productListName {
	margin-top:20px;
	font-size:1.5rem;
}
/*----------------------------------------------------------------------------------------
	productDetail
---------------------------------------------------------------------------------------- */
.productDetailWrap {
	width:95%;
	max-width:95%;
	height:95%;
	max-height:95%;
}
.productDetailClose {
	position:fixed;
	top:20px;
	right:20px;
	z-index:3;
}
.productDetailBody {
	padding:20px 20px 50px;
}
.productDetailPhoto,
.productDetailText {
	display:block
}
.productDetailPhoto {
	width:auto;
}
.productDetailText {
	width:auto;
	padding-left:0;
}
.productDetailText h2 {
	font-size:2.2rem;
	margin-top:50px;
}
.productDetailText .btn a {
	width:100%;
}
.productDetailPrice {
	letter-spacing: -0.4rem;
	margin-top:30px;
}
.productDetailPrice > div {
	display: block;
	margin:8px 0;
}
.productDetailPrice p {
	font-size:1.4rem;
	letter-spacing: 0.45rem;
	line-height:2;
}
.productDetailPrice .category {
	font-size:1.2rem;
}
.productDetailInfo {
	border-top:1px solid #555;
	margin-top:50px;
	padding-top:50px;
	letter-spacing: 0.45rem;
}
.productDetailInfo .detail {
	font-size:1.3rem;
	line-height:1.8;
}
.productDetailInfo .detail span {
	display:block;
}
.productDetailInfo .supplement {
	font-size:1.3rem;
	margin-top:20px;
	line-height:1.8;
}
.productDetailInfo .supplement span {
	display:block;
}
/*----------------------------------------------------------------------------------------
	contact
---------------------------------------------------------------------------------------- */
.contact {
	width:auto;
	margin:0 25px;
}
.contactHead {
	margin-top:-30px;
}
.contactHead .lead {
	font-size:1.3rem;
}
.contactHead .lead br {
	display:none;
}
.contactHead .tel {
	margin-top:60px;
}
.contactHead .tel p:first-child {
	font-size:2.8rem;
}
.contactHead .tel p:nth-child(2) {
	font-size:1.4rem;
}
.contactBody {
	margin-top:40px;
}
.contactForm > div {
	display:block;
	width:auto;
	margin:15px 0;
}
.contactForm .contactFormTitle,
.contactForm .contactFormValue {
	display:block;
}
.contactForm .contactFormTitle {
	position:static;
	margin-bottom:5px;
}
.contactForm .contactFormValue {
	width:auto;
}
.contactForm .contactFormValue input {
	height:40px;
	line-height:40px;
}
.privacyPolicyText {
	height:200px;
}
/*----------------------------------------------------------------------------------------
	footer
---------------------------------------------------------------------------------------- */
#footer {
	margin-top:40px;
}
#footer .footerInner {
	max-width:none;
	width:100%;
}
#footer .btPageTop img {
	width:40px;
	height:auto;
}
#footer .footerBody {
	margin-top:30px;
}
#footer .footerInfo,
#footer .footerNav {
	display:block;
}
#footer .footerInfo {
	width:auto;
	text-align:center;
}
#footer .footerInfo .text {
	margin-top:30px;
}
#footer .footerInfo .text p {
	margin:10px 0;
}
#footer .socialList {
	display:none;
}
#footer .footerNav {
	width:auto;
	display:none;
}
#footer .copyright {
	text-align:center;
	font-size: 1rem;
	margin-top:40px;
}


}
