@charset "UTF-8";

html{font-size: 62.5%;/*10px*/}

body{
	font-size: 1.4rem;
}

*{box-sizing: border-box;}

.sp{display: block;}
.pc{display: none;}





.none{
	display: none;
}
/*inline要素とinputタグに擬似要素は付与不可*/
#coming_soon{
	position: relative;
	float: none;
	max-width: 800px;
}
#coming_soon::before{
	content: "jewelry [Ruby] coming soon";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.8);
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.3em;
}


.item_box{
	box-sizing: border-box;
	padding: 0 2.5%;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.item_box p{
	width: 48%;
	margin-right: 4%;
	margin-bottom: 4%;
}
.item_box p:nth-of-type(even){
	margin-right: 0;
}
section:last-of-type .main_info{
	margin-bottom: 64px!important;
}


#sc_body{
	box-sizing: border-box;
	background-color: #fff;
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体', serif;
	color: #2f566b;
	overflow: hidden;
}
#sc_body img{
	width: 100%;
}
/*lightbox関連*/
#sc_body .lb-container .lb-image{
	width: 100%;
}
#sc_body #lightbox{
	top: 50%;
	transform: translateY(-50%);
}
/*ここまでlightbox関連*/
.slider{
	position: relative;
}
.slider li{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.slider li:first-of-type{
	animation: sliderph 12s infinite linear;
	z-index: 3;
}
.slider li:nth-of-type(2){
	animation: slider-ph 12s infinite linear;
	z-index: 2;
}
.slider li:nth-of-type(3){
	animation: slider_ph 12s infinite linear;
	z-index: 1;
}
/*若干ぎこちないが、「重なり順」で各スライドごとのリンク遷移も可能*/
@keyframes sliderph{
	0%{opacity: 1;z-index: 3;}
	10%{opacity: 1;z-index: 3;}
	20%{opacity: .5;z-index: 3;}
	40%{opacity: 0;z-index: 1;}
	50%{opacity: 0;z-index: 1;}
	60%{opacity: 0;z-index: 1;}
	70%{opacity: 0;z-index: 1;}
	80%{opacity: 0;z-index: 1;}
	90%{opacity: 1;z-index: 1;}
	100%{opacity: 1;z-index: 3;}
}
@keyframes slider-ph{
	0%{opacity: 0;z-index: 2;}
	10%{opacity: 0;z-index: 2;}
	20%{opacity: .5;z-index: 2;}
	40%{opacity: 1;z-index: 3;}
	50%{opacity: 1;z-index: 3;}
	60%{opacity: .5;z-index: 2;}
	70%{opacity: 0;z-index: 2;}
	80%{opacity: 0;z-index: 2;}
	90%{opacity: 0;z-index: 2;}
	100%{opacity: 0;z-index: 2;}
}
@keyframes slider_ph{
	0%{opacity: 0;z-index: 1;}
	10%{opacity: 0;z-index: 1;}
	20%{opacity: 0;z-index: 1;}
	30%{opacity: 0;z-index: 1;}
	40%{opacity: 0;z-index: 1;}
	50%{opacity: 0;z-index: 1;}
	60%{opacity: .5;z-index: 3;}
	70%{opacity: 1;z-index: 3;}
	80%{opacity: 1;z-index: 3;}
	90%{opacity: .5;z-index: 3;}
	100%{opacity: 0;z-index: 1;}
}
#pa_firstsecton h2{
	margin: 50px 0;
	text-align: center;
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: normal;
	position: relative;
}
#pa_firstsecton h2::before,#pa_firstsecton h2::after{
	content: "";
	width: 30%;
	height: 1px;
	background-color: #a67c52;
	position: absolute;
	top: 105%;
	left: 50%;
	transform: translateX(-50%);
}
#pa_firstsecton h2::after{
	width: 15%;
	top: 115%;
}
#pa_firstsecton div:last-of-type{
	padding: 0 5%;
}
#pa_firstsecton div:last-of-type p{
	line-height: 30px;
	margin-bottom: 1.5rem;
}
#pa_firstsecton{
	margin-bottom: 10rem;
	position: relative;
}
#pa_firstsecton::before,#pa_firstsecton::after{
	content: "";
	width: 1px;
	height: 50px;
	background-color: #eaeaea;
	position: absolute;
	top: 102%;
	left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
}
#pa_firstsecton::after{
	height: 5px;
	background-color: #a67c52;
	z-index: 1;
	opacity: 0;
	animation: scroolbar 3s infinite linear;
}
@keyframes scroolbar{
	0%{top: 102%;height: 10px;opacity: .3}
	25%{top: 102%;height: 50px;opacity: .5}
	50%{top: 105%;height: 35px;opacity: .3}
	75%{top: 106%;height: 25px;opacity: .1}
	100%{top: 106%;height: 20px;opacity: 0}
}
.main_section{
	margin-bottom: 20rem;
}
.main_section h2 span{
	display: block;
	font-size: 1.2rem;
}
.main_section h2{
	color: #a67c52;
	font-weight: normal;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.5;
	text-shadow: 2px 2px 3px rgba(0,0,0,.3);
	margin-bottom: 1.5rem;
}
.item_txt{
	padding: 5% 5% .5%;
	margin: -4rem 5% 0;
	line-height: 30px;
	background-color: #385F86;
	color: #fff;
/*	box-shadow: 2px 2px 3px rgba(0,0,0,.3);*/
	position: relative;
	z-index: 2;
}
.item_txt p{
	margin-bottom: 1.5rem;
	font-weight: normal;
}
.item_txt p:first-of-type{
	position: relative;
}
.item_txt p:first-of-type::before{
	content: "";
	width: 100%;
	height: 1px;
	background-color: #b0ae8a;
	position: absolute;
	top: -5px;
	left: 0;
}
.flowchart{
	padding: 0 5%;
	margin: 6.5rem auto;
	max-width: 1200px;
}
.flowchart h3{
	text-align: center;
	position: relative;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.5;
	margin-bottom: 5rem;
}
.flowchart h3::before,.flowchart h3::after{
	content: "";
	position: absolute;
	top: 105%;
	left: 50%;
	transform: translateX(-50%);
	width: 25%;
	height: 1px;
	background-color: #2f566b;
}
.flowchart h3::after{
	width: 10%;
	top: 115%;
}
.flowchart dl{
	position: relative;
	margin-bottom: 2rem;
	z-index: 1;
}
.flowchart dl::before{
	content: "";
	width: 100%;
	height: 120%;
	background: url(../img/spbg.png)no-repeat top center/100%;
	position: absolute;
	top: -10%;
	left: 0;
	z-index: -1;
}
.flowchart dl div dt span{
	padding-left: 10px;
	line-height: 50px;/*画像と同じ高さに*/
	font-size: 1.6rem;
	color: #68c3c4;
	letter-spacing: 0.1em;
}
.flowchart dl div dt .swis,.flowchart dl dt:last-child{
	color: #a67c52;
}
.flowchart dl div dt img{
	max-width: 50px;
}
.flowchart dl div dt{
	border-bottom: 1px solid;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.flowchart dl div dd{
	line-height: 1.5;
}
.flowchart dl div{
	margin-bottom: 5rem;
}
.fs12px{
	font-size: 1.2rem;
	display: block;
}
.item_phbox p{
	max-width: 420px;
	position: relative;
    z-index: 1;
}
.item_phbox a{
	text-decoration: none;
	display: block;
	text-align: center;
	color: #1c1c1c;
	font-size: 1.8rem;
	font-family: 'optima',serif;
	margin-top: 3rem;
	position: relative;
	border: 1px solid;
	width: 50%;
	padding: 10px 20px;
}
.item_phbox a::after{
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(241,237,228,0.5);
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	transition: .5s;
}
.item_phbox a:hover::after{
	transition: .5s;
	top: 0;
	left: 0;
}
.item_phbox a span{
	position: relative;
	z-index: 3;
}
.item_phbox a span::before,.item_phbox a span::after{
	content: "";
	width: 115%;
	height: 1px;
	background-color: #1c1c1c;
	position: absolute;
	top: 98%;
	left: 0;
	transition: .5s;
}
.item_phbox a span::after{
	width: 15%;
	left: 105%;
	top: 90%;
	transform: rotate(45deg);
	transition: .5s;
}
.item_phbox a:hover span::before{
	transition: .5s;
	width: 120%;
}
.item_phbox a:hover span::after{
	width: 15%;
	left: 110%;
}
.flowchart dl dd{
	line-height: 1.5;
}
.main_section:nth-of-type(3){
	position: relative;
	z-index: 1;
}
.main_section:nth-of-type(3)::before{
	content: "";
	width: 100%;
	height: 105%;
	background-color: #f3fafa;
	position: absolute;
	top: -2%;
	left: 0;
	z-index: -1;
	transform: skewY(-10deg);
}
.bn_link{
	padding: 1.5% 2.5%;
	text-align: center;
	margin-bottom: 10rem;
}
.bn_link a{
	line-height: 1.5;
	text-decoration: none;
	color: #1c1c1c;
	font-family: sans-serif;
	font-size: 1.2rem;
	position: relative;
	display: block;
}
.bn_link a img{
	width: 100%;
	max-width: 320px;
	display: block;
	margin-bottom: .5rem;
}
.bn_link a::before{
	content: "view items";
	width: 100%;
	max-width: 320px;
	height: 100%;
	background-color: rgba(0,0,0,.3);
	position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	color: #fff;
	letter-spacing: 0.6em;
	opacity: 0;
	transition: .5s;
}
.bn_link a:hover::before{
	transition: .5s;
	letter-spacing: 0.2em;
	background-color: rgba(0,0,0,.8);
	opacity: 1;
}
#sc_body a:hover img{
	opacity: 1;
}



@media screen and (min-width:760px){
#pa_firstsecton h2::before,#pa_firstsecton h2::after{
	width: 5%;
}
#pa_firstsecton h2::after{
	width: 2%;
}
.item_txt{
	margin-left: 10%;
	margin-right: 10%;
	padding: 2.5% 2.5% .5%;
}
.flowchart h3::before, .flowchart h3::after {
    width: 15%;
}
.flowchart h3::after {
    width: 10%;
    top: 120%;
}
.item_phbox a{
	max-width: 200px;
}
	.item_box{
		padding: 0 1.5%;
	}
.item_box p{
	width: 23.5%;
	margin-right: 2%;
	margin-bottom: 0;
}
.item_box p:nth-of-type(even){
	margin-right: 2%;
}
	.item_box p:last-of-type{
		margin-right: 0;
	}
}




@media screen and (min-width:960px){
html{font-size: 87.5%;}
	
.sp{display: none;}
.pc{display: block;}

#pa_firstsecton{
	padding-top: 30%;
}	
	
#pa_firstsecton p img{
	width: 100%;
}

#pa_firstsecton h2{
	font-size: 26px;
}
#pa_firstsecton div:last-of-type{
	text-align: center;
	font-size: 20px;
}
#pa_firstsecton div:last-of-type p{
	line-height: 40px;
	margin-bottom: 30px;
}
#pa_firstsecton{
	margin-bottom: 200px;
}
#pa_firstsecton::before, #pa_firstsecton::after {
    height: 65px;
}
.main_section{
	max-width: 1200px;
	margin: 0 auto 300px;
	position: relative;
}
.main_section h2 span{
	font-size: 18px;
}
.main_section h2{
	font-size: 48px;
	margin-bottom: 0;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	position: absolute;
	top: 1.5%;
	left: 8%;
	text-align: left;
	text-shadow: -5px 5px 0 #eaeaea;
	z-index: 5;
}
.main_section:nth-of-type(3){
	max-width: 100%;
}
.main_section:nth-of-type(3) .skex{
	max-width: 1200px;
}
.main_section:nth-of-type(3)::before{
	height: 105%;
	transform: skewY(-5deg);
}
.main_section:nth-of-type(3) h2{
	left: 70.5%;
}
.main_section:last-of-type{
	margin-bottom: 100px;
	}
.main_info{
	overflow: hidden;
	margin-bottom: 150px;
}
.main_section h3{
	float: right;
}
.main_section:nth-of-type(3) h3{
	float: left;
}
.main_section:nth-of-type(3) .flowchart h3{
	float: none;
	}
.main_section .item_txt{
	padding: 20px 15px 10px;
	margin: -90px 0 0 1.5%;
	float: left;
	width: 50%;
	font-size: 16px;
}
.main_section:nth-of-type(3) .item_txt{
	padding: 20px 15px 10px;
	margin: -90px 0 0 1.5%;
	float: right;
	width: 50%;
	font-size: 16px;
}
.item_txt p{
	margin-bottom: 0;
}
.flowchart{
	padding: 0 2.5%;
	margin: 0 auto;
	text-align: center;
}
.flowchart h3{
	float: none;
	font-size: 32px;
	margin-bottom: 100px;
}
.flowchart h3::before,.flowchart h3::after{
	width: 25%;
}
.flowchart h3::after{
	width: 15%;
    top: 125%;
}
.flowchart dl{
	margin-bottom: 150px;
	display: flex;
	flex-flow: row wrap;
	padding: 0 2.5%;
}
.flowchart dl::before,.flowchart dl::after{
	width: 50%;
	background: url(../img/pcbg.png)no-repeat top center/contain;
	left: auto;
	right: 0;
	z-index: 0;
}
.flowchart dl::after{
	content: "";
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: rotate(180deg);
	}
.flowchart dl div{
	width: 25%;
	margin-right: 12.5%;
	position: relative;
	z-index: 2;
}
.flowchart dl div:nth-of-type(3n + 3){
	margin-right: 0;
}
.flowchart dl div dt span{
	padding-left: 0;
	line-height: 30px;
	font-size: 22px;
}
.flowchart dl div dt img{
	max-width: 100px;
	display: block;
	margin-bottom: 15px;
}
.flowchart dl div{
	margin-bottom: 10%;
}
.flowchart dl div:nth-of-type(4),.flowchart dl div:nth-of-type(5),.flowchart dl div:nth-of-type(6){
	margin-bottom: 5%;
	}
.flowchart dl div dd{
	font-size: 16px;
	text-align: left;
	line-height: 30px;
	}
.fs12px{
	font-size: 14px;
}
.flowchart dl div::before,.flowchart dl div::after{
	content: "";
	width: 10%;
	height: 1px;
	background-color: #2f566b;
	position: absolute;
	top: 50%;
	left: 115%;
	transform: translateY(-50%);
}
.flowchart dl div::after{
	width: 4%;
	left: 121%;
	top: 49%;
	transform: translateY(-49%) rotate(25deg);
}
.flowchart dl div:nth-of-type(3n + 3)::before,.flowchart dl div:nth-of-type(3n + 3)::after{
	display: none;
}
.flowchart dl dt:last-child,.flowchart dl dd{
	margin: 0;
	font-size: 14px;
}
.item_phbox p{
	max-width: 1000px;
}
.item_phbox a{
	font-size: 24px;
	margin-top: 50px;
	width: 25%;
	padding: 20px 15px;
	max-width: 320px;
}
.flowchart dl dd{
	line-height: 1.5;
}
.bn_link{
	margin-bottom: 100px;
}
.bn_link a{
	font-size: 14px;
	display: inline-block;
}
.bn_link a::before{
	max-width: 420px;
}
.bn_link a img{
	margin-bottom: 10px;
	max-width: 420px;
}		
}


@media screen and (max-width:1600px) and (min-width:960px){
#pa_firstsecton{
	padding-top: 28%;
}	
.main_section:nth-of-type(3) h2{
	left: 82.5%;
}
}