<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* CSS Document */
body {
	position: relative;
	z-index: 0;
}
[class^="page-top-bg"] {
	width: 100%;
	height: 0;
	padding-bottom: 82vw;
	background: var(--theme02);
	position: absolute;
	top: 0;
	z-index: -1;
}
.page-top-bg-pic {
	padding-bottom: 63.8vw;
	top: 66.6vw;
}
@media screen and (min-width:768px) {
	[class^="page-top-bg"],.page-top-bg-pic {
	padding-bottom: 17vw;
	    top: 0;
}
/*
	body.page-template::before {
		padding-bottom: 17vw;
	    top: 0;
	}
*/
}
/*pc-nav-wrap --------------------------------*/
@media screen and (min-width:1060px) {
	.single-stones .pc-nav-wrap, 
	.single-works .pc-nav-wrap,
    .customsample-template-default .pc-nav-wrap,
	.post-type-archive-works .pc-nav-wrap, 
	.page-id-14 .pc-nav-wrap, 
	.page-id-12 .pc-nav-wrap, 
	.page-template-page-faq .pc-nav-wrap,
	[class*="page-template-tpl_contact"] .pc-nav-wrap,
	.page-template-page-ring .pc-nav-wrap, 
	[class*="page-template-tpl_custom"] .pc-nav-wrap,
	[class*="page-template-tpl_cart"] .pc-nav-wrap {
		display: none;
	}
}
@media screen and (min-width:1660px) {
	.single-stones .pc-nav-wrap, 
	.single-works .pc-nav-wrap, 
    .customsample-template-default .pc-nav-wrap,
	.post-type-archive-works .pc-nav-wrap, 
	.page-id-14 .pc-nav-wrap, 
	.page-id-12 .pc-nav-wrap, 
	.page-template-page-faq .pc-nav-wrap,
	body[class*="page-template-tpl_contact"] .pc-nav-wrap {
		display: block;
	}
}
/*art --------------------------------*/
.art {
	padding: 65px 0 0;
/*
	position: relative;
	z-index: 0;
*/
}
.page-template .ttl-eng {
	top: 69vw;
}
.ttl-eng {
	font-size: 5.4rem;
}
.ttl-eng, #ttl-eng {
	font-family: 'Roboto', sans-serif;
	text-align: right;
	color: rgba(255, 255, 255, .5);
	position: absolute;
	top: 20.8vw;
	right: 0;
	z-index: -1;
	transition: all .8s;
}
.ttl-eng.ttl-eng-cmn {
	font-size: 9.2rem;
}
.page-id-12 .ttl-eng {
	font-size: 4rem;
}
.art-txt-wrap {
	font-size: 1.5rem;
	line-height: 1.5;
}
.art-txt-wrap h2 {
	padding: 24px 0 13px;
	font-size: 1.6rem;
	font-weight: 700;
}
.page-id-12 .art-txt-wrap h2:first-of-type {
	padding-top: 0;
}
.art-txt-wrap p {
	padding-bottom: 26px;
	color: var(--sub01);
}
.art-txt-wrap p:last-of-type {
	padding-bottom: 0;
}
.art-txt-wrap ul {
	padding: 0 0 26px 26px;
}
.art-txt-wrap ul li {
	list-style-type: disc;
}
@media screen and (min-width:768px) {
	body::before {
		padding-bottom: 17vw;
	}
	body.page-template::before {
		padding-bottom: 17vw;
		top: 0;
	}
	.ttl-eng {
		font-size: 11vw;
		top: 10.5vw;
	}
	.ttl-eng.ttl-eng-cmn, #ttl-eng {
		font-size: 20.8vw;
		top: 4vw;
	}
	.page-id-12 .ttl-eng {
		font-size: 8.85vw;
		top: 11.5vw;
	}
}@media screen and (min-width:1500px) {
	.page-id-14 .art-ttl-ja, .page-id-12 .art-ttl-ja {
		margin-bottom: 41.5px;
	}
}
/*page-intro --------------------------------*/
.page-intro .art-inner {
	padding-top: 0;
}
.page-intro .intro-pic-r {
	margin: 0 -30px;
	height: 66.6vw
}
.page-intro .intro-pic-l {
	padding-bottom: 83.3vw;
	margin: 0 -30px 0 -10px;
}
.page-intro .intro-pic-r img,
.page-intro .intro-pic-l img {
	height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 0;
    left: auto;
    transform: translate(0);
}
.intro-txt-area {
	padding: 50px 0;
}
.intro-txt-wrap p {
	margin-bottom: 35px;
	font-size: 1.5rem;
	line-height: 2;
	color: var(--sub01);
}
.intro-txt-wrap p:last-of-type {
	margin-bottom: 0;
}
.intro-txt-area p[class^="btn-cmn"] {
	margin-top: 30px;
}
@media screen and (min-width:768px) {
	.page-intro [class^="art-ttl"] {
		padding-left: 30px;
	}
	.page-intro [class^="art-ttl"]::before {
		left: 0;
	}
	.page-intro .art-inner {
		padding-top: 12.7vw;
		position: relative;
	}
	.page-intro .intro-pic-r {
		padding-bottom: 33%;
		margin: 0 0 0 50%;
		height: 0;
	}
	.page-intro .intro-pic-l {
		padding-bottom: 50.4%;
		margin: 0;
		margin-top: 16vw;
		width: 40.3%;
		position: absolute;
		top: 0;
		z-index: 0;
	}
	.intro-txt-area {
		padding: 50px 0 0;
		margin-left: 50%;
	}
}
@media screen and (min-width: 1060px) {
	.page-intro [class^="art-ttl"] {
		padding-left: 70px;
	}
}
@media screen and (min-width:1500px) {
	.page-intro [class^="art-ttl"] {
		padding-left: 90px;
	}
	.intro-txt-area {
		padding: 80px 0 0;
	}
	.intro-txt-wrap p {
		font-size: 1.6rem;
	}
}
/*video --------------------------------*/
.video-wrap .art-inner {
	padding: 0;
}
.video-inner {
	margin: auto;
    padding-bottom: 56.25%;
	width: 100%;
	max-width: 800px;
    height: 0px;
    position: relative;
}
.v-wrap .art-inner {
	padding-top: 0;
}
.v-inner {
	margin: 0 -30px;
	max-width: 800px;
}
.v-inner .video {
	margin-bottom: 50px;
	padding-bottom: 56.25%;
	width: 100%;
    height: 0px;
    position: relative;
}
.v-inner .video:last-of-type {
	margin-bottom: 0;
}
.video-inner video,
.video iframe {
    width: 100%;
    height: 100%;
	position: absolute;
    top: 0;
    left: 0;
}
@media screen and (min-width:768px) {
	.v-inner {
		margin: auto;
	}
}
@media screen and (min-width:1400px) {
	.v-wrap .art-inner {
		padding-top: 50px;
	}
}
@media screen and (min-width:1500px) {
	.v-wrap .art-inner {
		padding-top: 0;
	}
}
/*products-nav --------------------------------*/
.page-template-page-original .item-original,
.page-template-page-custom .item-custom,
.page-template-page-bridal .item-bridal,
.page-template-page-bridalorder .item-bridal,
.page-template-page-bridalhandmade .item-bridal,
.page-template-page-fullorder .item-fullorder,
.page-template-page-reform .item-reform {
	display: none;
}

[class^="products-nav"] .art-inner {
	padding: 50px 0 50px 30px;
}
.products-nav-list {
	display: flex;
	overflow: scroll;
}
.products-nav-item {
	margin-right: 20px;
}
.products-nav-item a {
	display: block;
}
.products-nav-pic-wrap {
	margin-bottom: 12px;	
}
.products-nav-item figure {
	width: 140px;
}
.products-nav-ttl {
	font-size: 2.5rem;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
	line-height: 1.2;
}
.products-nav-item .btn-cmn-v {
	display: none;
}
@media screen and (min-width:768px) {
	.products-nav-item figure {
		width: 210px;
	}
	.products-nav-other .products-nav-item figure {
		width: 265px;
	}
	.products-nav-pic-wrap {
		position: relative;
	}
	.products-nav-item .btn-cmn-v {
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
	}
}
@media screen and (min-width:1024px) {
	[class^="products-nav"] .art-inner {
	padding: 50px 30px;
	}
	.products-nav-list {
		justify-content: space-between;
	}
	.products-nav-item {
		margin-right: 0;
		width: 18%;
	}
	.products-nav-item figure, .products-nav-other .products-nav-item figure {
		width: auto;
	}
	.products-nav-other .products-nav-item {
		width: 22.8%;
	}
	.products-nav-ttl {
		font-size: 2.8rem;
	}
}
@media screen and (min-width:1500px) {
	[class^="products-nav"] .art-inner {
		padding: 75px 0;
	}
}
/*collapsible --------------------------------*/
.collapsible {
	margin: 0 -30px;
	padding: 0 30px;
	border-bottom: 4px solid var(--theme02);
}
.collapsible dt {
	padding: 20px 30px;
	margin: 0 -30px;
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
	border-top: 4px solid var(--theme02);
	position: relative;
}
.collapsible dt::after {
	content: "";
	width: 6px;
	height: 6px;
	border-right: 2px solid #222;
	border-bottom: 2px solid #222;
	position: absolute;
	top: 30px;
	right: 30px;
	transform: rotate(45deg);
	transition: transform .2s;
	display: block;
}
.collapsible dt.open::after {
	transform: rotate(225deg);
}
.collapsible dd {
	padding-bottom: 20px;
	font-size: 1.4rem;
	line-height: 1.6;
	display: none;
	position: relative;
}
@media screen and (min-width:1060px) {
	.collapsible {
		padding: 0;
		margin: 0;
	}
	.collapsible dt {
		margin: 0;
	}
	.collapsible dd {
		padding: 0 30px 20px;
	}
}
@media screen and (min-width:1500px) {
	.collapsible dt {
		padding: 30px 40px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.collapsible dd {
		padding: 0 40px 30px;
		font-size: 1.6rem;
	}
	.collapsible dt::after {
		width: 11px;
		height: 11px;
		top: 23px;
	}
}
/*cj-btn --------------------------------*/
.cj-btn .art-inner {
	padding-bottom: 0;
}
.cj-btn figure {
	margin: 0 -10px 0 -30px;
	height: 65vw;
}
.cj-btn figure img {
/*	max-width: 120%;*/
}
.cj-btn-inner {
	background: #fff;
	margin: -130px -30px 0;
	padding: 180px 30px 50px;
}
.cj-btn-ttl {
	margin-bottom: 30px;
	font-size: 3rem;
	font-family: 'Roboto', sans-serif;
}
.cj-btn-inner .txt-b {
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 5px;
}
.cj-btn-inner .txt-b + p {
	font-size: 1.5rem;
	line-height: 2.6;
	color: var(--sub01);
	margin-bottom: 18px;
}
.cj-btn-bg {
	display: none;
}
@media screen and (min-width:768px) {
	/*cj-btn --------------------------------*/
	.cj-btn {
		position: relative;
	}
	.cj-btn-bg {
		width: 100%;
		background: rgba(255,255,255,.5);
		display: block;
		position: absolute;
		bottom: 0;
		z-index: -1;
	}
	.cj-btn-inner {
		margin: -25% 0 0 37%;
		padding: 50px 10.4% 50px 18%;
	}
	.cj-btn figure {
		margin: 0;
		padding-bottom: 33.9%;
		width: 50%;
		height: 0;
	}
}
@media screen and (min-width:1500px) {
	/*cj-btn --------------------------------*/
	.cj-btn-inner {
		padding: 70px 10.4% 70px 18%;
	}
}
/*art-list art-item --------------------------------*/
.art-item {
	margin: 0 0 50px;
	line-height: 1.6;
}
.art-item:last-of-type {
	margin-bottom: 0;
}
figure + .art-item-ttl {
	margin-top: 13px;
}
.art-item-ttl {
	margin-bottom: 11px;
	color: #222;
	font-size: 1.6rem;
	font-weight: 700;
}
.art-item-txt {
	font-size: 1.5rem;
	color: var(--sub01);
}
/*custom pgae --------------------------------*/
.cj .art-inner, .imp .art-inner {
	padding-top: 0;
}
.cj .art-inner &gt; figure, .imp .art-inner &gt; figure {
	margin: 0 -30px 50px;
	padding-bottom: 66.6%;
}
.cj .contact-btn {
	margin-top: 35px;
	padding: 0 10px
}
@media screen and (min-width:768px) {
	.cj .art-inner, .imp .art-inner {
		padding-top: 50px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
	}
	.cj-none figure img {
		max-width: 120%;
	}
	.cj .art-inner &gt; figure, .imp .art-inner &gt; figure {
		margin: 0;
		width: 46.5%;
	}
	.cj .art-inner &gt; figure {
		padding-bottom: 29%;
	}
	.imp .art-inner &gt; figure {
		padding-bottom: 60%;
	}
	.art-list-wrap {
		width: 46.5%;
	}
}
@media screen and (min-width:1060px) {
	.cj .contact-btn-wrap {
		display: flex;
		justify-content: flex-end;
	}
	.cj .contact-btn {
		padding: 0;
		width: 280px;
		justify-content: flex-end;
		position: static;
	}
}
@media screen and (min-width:1500px) {
	.cj .art-inner, .imp .art-inner {
		padding-top: 75px;
	}
}
/*bridal page --------------------------------*/
.art-product-item {
	margin-bottom: 50px;
}
.art-product-item:last-of-type {
	margin-bottom: 0;
}
.art-product-item a {
	display: block;
}
.art-product-pic-wrap {
	margin: 0 -30px;
	position: relative;
}
.art-product-pic-wrap figure {
	padding-bottom: 66.6%;
}
.art-product-pic-wrap p {
	position: absolute;
	right: 0;
	bottom: -14px;
}
.art-product-ttl {
	margin-top: 20px;
	font-size: 3rem;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
}
.art-product-ttl span {
	margin-top: 12px;
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Verdana, Meiryo, sans-serif;
	font-size: 1.5rem;
	color: var(--sub02);
	display: block;
}
.bridal-order .btn-cmn {
	margin: 30px 0 50px;
}
.bridal-handmade .txt-b {
	margin-bottom: 0;
}
@media screen and (min-width:768px) {
	.video-wrap .art-inner {
		padding: 0 30px 50px;
	}
	.art-product-list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.art-product-item {
		width: 46.5%;
	}
	.bridal-order .art-product-item:nth-of-type(even) {
		margin-top: -12.93%;
	}
	.art-product-item:nth-last-of-type(-n + 2) {
		margin-bottom: 0;
	}
	.art-product-pic-wrap {
		margin: 0;
	}
	.bridal-handmade.page-intro .intro-pic-l {
		margin-top: 12.93%;
	}
	.bridal-handmade .art-inner {
		padding-top: 50px;
	}
}
@media screen and (min-width:1500px) {
	.bridal-original .art-ttl {
		margin-bottom: 44.4px;
	}
	.video-wrap .art-inner {
		padding: 0 0 75px;
	}
	.art-product-ttl {
		margin-top: 13px;
		font-size: 3.5rem;
	}
	.art-product-ttl span {
		font-size: 1.6;
	}
	.bridal-order .btn-cmn {
		margin: 45px 0 50px;
	}
	.bridal-handmade .art-inner {
		padding-top: 75px;
	}
}
/*Bridal Order --------------------------------*/
.flow .art-inner {
	padding-top: 0;
}
.flow-pic {
	display: none;
}
.flow-slider-wrap {
	margin: 0 -30px 50px;
}
.flow-slider-wrap .slick-slide {
	margin: 0 5px;
}
.flow-slider-wrap .slick-list {
	padding: 0 15px!important;
}
.flow-slider-wrap .slick-slide img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.intro-txt-ttl {
	margin-bottom: 16.5px;
	font-size: 2.4rem;
	line-height: 1.5;
}
.course-txt {
	margin-bottom: 25.5px;
	line-height: 1.6;
}
.course .art-item-ttl, .art-list .step {
	text-align: center;
	color: #fff;
	background: #222;
    letter-spacing: .05em;
	position: relative;
}
.course .art-item-ttl::after, .art-list .step::after {
	content: "";
	border-top: 10px solid #222;
	position: absolute;
	left: 0;
	bottom: -10px;
}
.course .art-item-ttl {
	margin-bottom: 30px;
	width: 156px;
    padding: 7px 10px;
}
.course .art-item-ttl::after {
	border-left: 78px solid transparent;
	border-right: 78px solid transparent;
}
.art-list .step {
	margin-bottom: 25px;
	width: 100px;
	font-size: 1.6rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
    padding: 3px 10px 1px;
}
.art-list .step::after {
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
}
.art-list p[class^="btn-cmn"] {
	margin-bottom: 20px;
	display: block;
}
.art-list p[class^="btn-cmn"] + br {
	display: none;
}
.budget .art-inner {
	padding-bottom: 0;
}
.budget-table {
	margin: 0 -30px;
	border-collapse: collapse;
	width: calc(100% + 60px);
}
.budget-table tr {
	font-size: 1.5rem;
	line-height: 1.6;
	color: var(--sub01);
	text-align: left;
	border-top: 4px solid var(--theme02);
	display: flex;
	flex-direction: column;
}
.budget-table tr:nth-of-type(odd) {
	background: var(--theme04);
}
.budget-table tr:last-of-type {
	border-bottom: 4px solid var(--theme02);
}
.budget-table th, .budget-table td {
	padding: 20px 30px;
}
.budget-table th {
	padding-bottom: 0;
	font-size: 1.6rem;
	font-weight: 700;
}
.budget-txt-area {
	margin-top: 30px;
	padding-bottom: 50px;
	font-size: 1.5rem;
	line-height: 1.6;
	color: var(--sub01);
}
.budget-txt-area a {
	font-weight: 700;
	text-decoration: underline;
}
@media screen and (min-width:768px) {
	.course .art-list {
		display: flex;
		justify-content: space-between;
	}
	.course .art-item {
		width: 46.5%;
	}
	.course .art-item:nth-last-of-type(-n + 2) {
		margin-bottom: 0;
	}
	.flow .art-inner {
		padding-top: 50px;
	}
	.flow .art-inner {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	.flow-slider-wrap {
		display: none;
	}
	.flow-pic, .flow-txt-area {
		width: 46.5%;
		display: block;
	}
	.flow-pic-item {
		padding-bottom: 62%;
		margin-bottom: 50px;
	}
	.flow-pic-item:last-of-type {
		margin-bottom: 0;
	}
	.art-list p[class^="btn-cmn"] {
		margin-bottom: 10px;
	}
	.budget .art-inner {
		padding-bottom: 50px;
	}
	.budget-table {
		margin: 0;
		width: 100%;
	}
	.budget-table tr {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	.budget-table tr::after {
		content: "";
		width: 4px;
		height: 100%;
		background: var(--theme02);
		position: absolute;
		left: 36%;
	}
	.budget-table th {
		text-align: center;
		width: 36%;
		padding-bottom: 20px;
	}
	.budget-table td {
		width: 64%;
	}
	.budget-txt-area {
		padding-bottom: 0;
	}
}
@media screen and (min-width:1500px) {
	.intro-txt-ttl {
		font-size: 3.4rem;
	}
	.budget .art-inner {
		padding-bottom: 75px;
	}
	.budget-table th, .budget-table td {
		padding: 30px 40px;
	}
	.budget-table th {
		font-size: 1.8rem;
	}
	.budget-table td, .budget-txt-area {
		font-size: 1.6rem;
		line-height: 2;
	}
}
/*fullorder page--------------------------------*/
.choose-txt-area {
	margin-bottom: 50px;
}
.choose-list a {
	display: block;
}
.choose-list a .art-product-pic-wrap {
	margin: 0;
	position: relative;
	z-index: 0;
}
.choose-list a .art-product-pic-wrap::before, .choose-list a .art-product-pic-wrap::after {
	content: "";
	position: absolute;
	z-index: 1;
}
.choose-list a .art-product-pic-wrap::before {
	width: 32px;
	height: 32px;
	background: #222;
	right: 0;
	bottom: 0;
}
.choose-list a .art-product-pic-wrap::after {
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	right: 14px;
	bottom: 13px;
}
.choose-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.choose-item {
	width: 46.6%;
	margin-bottom: 40px;
}
.choose-item:nth-last-of-type(-n + 2) {
	margin-bottom: 0;
}
.choose-item .art-product-pic-wrap figure {
	padding-bottom: 100%;
}
.choose-item .art-product-ttl {
	margin-top: 14px;
	font-size: 1.6rem;
}
.choose-item .art-product-ttl span {
	margin-top: 7px;
	font-size: 1.4rem;
}
.payment-inner:first-of-type {
	padding-bottom: 80px;
}
.payment-inner .fab {
	font-size: 7rem;
	margin: 25.5px 24px 0 0;
}
@media screen and (min-width:768px) {
	.choose-list::before, .choose-list::after {
		content: "";
		width: 28.7%;
	}
	.choose-list::before {
		order: 1;
	}
	.choose-item {
		width: 28.7%;
		margin-bottom: 40px;
	}
	.choose-item:nth-last-of-type(-n + 3) {
		margin-bottom: 0;
	}
	.choose-item .art-product-ttl {
		font-size: 3rem;
	}
	.choose-item .art-product-ttl span {
		margin-top: 12px;
		font-size: 1.5rem;
	}
	.payment-wrap {
		display: flex;
		justify-content: space-between;
	}
	.payment-inner {
		width: 46.5%;
	}
	.payment-inner:first-of-type {
		padding-bottom: 0;
	}
}
@media screen and (min-width:1500px) {
	.choose-item {
			margin-bottom: 80px;
	}
	.choose-list a .art-product-pic-wrap::before {
		width: 50px;
		height: 50px;
	}
	.choose-list a .art-product-pic-wrap::after {
		width: 9px;
		height: 9px;
		right: 22px;
		bottom: 19px;
	}
	.choose-item .art-product-ttl {
		margin-top: 16px;
		font-size: 3.5rem;
	}
	.choose-item .art-product-ttl span {
		margin-top: 15px;
		font-size: 1.6rem;
	}
}
/*reform page --------------------------------*/
.attention-txt-area p {
	font-size: 1.5rem;
	line-height: 1.8;
	font-weight: 700;
	color: var(--sub01);
}
@media screen and (min-width:1500px) {
	.attention-txt-area p {
		font-size: 1.6rem;
	}
}
/*pricing --------------------------------*/
.pricing .art-inner {
	padding-bottom: 0;
}
.pricing-sp,.pricing-pc {
	margin-bottom: 30px;
	padding: 30px;
	font-weight: 700;
	color: var(--sub01);
	background: var(--theme04);
}
.pricing-sp {
	margin: 0 -30px 30px;
	line-height: 1.8;
}
.pricing-pc {
	display: none;
}
.pricing-txt-area {
	font-size: 1.5rem;
	line-height: 1.6;
	color: var(--sub01);
}
@media screen and (min-width:768px) {
	.pricing-sp {
		display: none;
	}
	.pricing-pc-wrap {
		display: flex;
		justify-content: center;
	}
	.pricing-pc {
		text-align: center;
	}
	.pricing-pc,
	.pricing-txt-area {
		font-size: 1.6rem;
		line-height: 1.6;
		display: block;
	}
}
/*materials page --------------------------------*/
.ttl-eng.ttl-eng-cmn.materials-ttl-eng {
	font-size: 6.2rem;
}
.page-template-page-materials .intro-txt-area .art-ttl span {
	margin-left: 1ex;
}
.page-template-page-materials .intro-pic-l img {
	max-width: 131%;
}
.stones-list {
	display: grid;
	grid-gap: 25px;
	grid-template-columns: repeat(3,1fr);
}
.stones-item a {
	display: block;
}
.stones-item figure {
	margin-bottom: 10px;
	padding-bottom: 117%;
	height: 0;
	position: relative;
}
.stones-item figure::before, .stones-item figure::after {
	content: "";
	position: absolute;
	z-index: 1;
}
.stones-item figure::before {
	width: 20px;
	height: 20px;
	background: var(--theme01);
	right: 0;
	bottom: 0;
}
.stones-item figure::after {
	width: 4px;
	height: 4px;
	border-top: 1px solid var(--sub04);
	border-right: 1px solid var(--sub04);
	transform: rotate(45deg);
	right: 8px;
	bottom: 8px;
}
.stones-item-ttl {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.materials-stones .btn-cmn-ja-link {
	margin-top: 25px;
}
.material, .clasp {
	color: var(--sub01);
}
.material dd &gt; div &gt; br, .m-pic &gt; br {
	display: none;
}
.m-pic figure {
	margin-bottom: 20px;
}
.coating figure {
	margin: 0 -30px;
	padding-bottom: 33.3%;
}
.clasp dt {
	display: flex;
	align-items: center;
}
.clasp dt figure {
	margin-right: 20px;
	width: 80px;
	height: 80px;
}
.clasp.collapsible dt::after {
	top: 57px;
}
.surface-finish figure {
	padding-bottom: 33.3%;
}
@media screen and (min-width: 768px) {
	.ttl-eng.ttl-eng-cmn.materials-ttl-eng {
		font-size: 16.14vw;
	}
	.page-template-page-materials .intro-txt-area {
		padding-bottom: 90px;
	}
	.stones-list {
		grid-gap: 40px;
		grid-template-columns: repeat(5,1fr);
	}
	.materials-stones .btn-cmn-ja-link {
		margin-top: 5px;
	}
	.stones-item-ttl {
		font-size: 1.2rem;
	}
	.material dd &gt; div {
		display: flex;
		justify-content: space-between;
	}
	.m-pic {
		width: 42.5%;
	}
	.m-pic figure:last-of-type {
		margin-bottom: 0;
	}
	.m-txt {
		width: 50%;
	}
	.coating, .surface-finish {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.coating .art-item, .surface-finish .art-item {
		width: 46.5%;
	}
	.coating .art-item:nth-last-of-type(-n + 2), .surface-finish .art-item:nth-last-of-type(-n + 2) {
		margin-bottom: 0;
	}
	.coating figure {
		margin: 0;
	}
}
@media screen and (min-width:1024px) {
	.stones-list {
		grid-template-columns: repeat(7,1fr);
	}
	.stones-item figure {
		padding-bottom: 120%;
	}
}
@media screen and (min-width:1500px) {
	.page-template-page-materials .intro-txt-area .art-ttl {
		line-height: 1.5;
	}
	.stones-item figure::before {
		width: 30px;
		height: 30px;
	}
	.stones-item figure::after {
		width: 6px;
		height: 6px;
		right: 12px;
		bottom: 11px;
	}
	.stones-item-ttl {
		font-size: 1.5rem;
	}
	.material.collapsible dt::after {
		top: 35px;
	}
}
/*stones single--------------------------------*/
[class^="pc-single-page"] {
	display: none;
}
.slider-gallery-wrap {
	margin: 0 -30px;
}
.slider-gallery .slick-slide img {
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	position: absolute;
	top: 0;
}
.slider-gallery-wrap .slider-thumb-list {
	padding-top: 10px;
}
.slider-gallery-wrap .slider-thumb-list .thumb-item:first-of-type,
.slider-gallery-wrap .slider-thumb-list .thumb-item:nth-of-type(5n+1) {
	margin-left: 5px;
}
.slider-gallery-wrap .slider-thumb-list .thumb-item {
	margin: 0 0 10px 10px;
	width: calc(20% - 10px);
	float: left;
	height: 0;
	padding-bottom: 17%;
	overflow: hidden;
	position: relative;
}
.slider-gallery-wrap .slider-inner {
	padding-top: 100%;
}
.slider-gallery-wrap .slider-thumb-list .thumb-item img {
	height: 100%;
	position: absolute;
	top: 0;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.single-page-ttl-area .art-ttl {
	margin-bottom: 2.5px;
}
.single-page-ttl-area .art-ttl span {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	display: block;
}
.single-page-pic-area {
	margin: 22.5px 0 20px;
}
.single-page-ttl-area p {
	color: var(--sub02);
}
[class*="single-page-txt-area"] div p {
	font-size: 1.5rem;
	line-height: 1.6;
	margin-bottom: 27.5px;
}
[class*="single-page-details-area"] {
	font-size: 1.5rem;
	line-height: 1.6;
	color: var(--sub01);
}
[class*="single-page-details-area"] dl {
	margin-bottom: 19.5px;
	display: flex;
	flex-wrap: wrap;
}
[class*="single-page-details-area"] dt {
	font-weight: 700;
	width: 21.7%;
}
[class*="single-page-details-area"] dd {
	width: 78.3%;
	margin-bottom: 5.5px;
}
@media screen and (min-width:768px) {
	.slider-gallery-wrap {
		max-width: 440px;
	}
	[class^="pc-single-page"] {
		display: block;
	}
	.single-page-txt-area, .single-page-details-area, .single-page-btn-area {
		display: none;
	}
	.single-page-art-inner {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	.single-page-inner {
		padding-top: 5.77%;
		width: 50%;
	}
	.single-page-ttl-area .art-ttl, .single-page-ttl-area p {
		padding-left: 30px;
	}
	.single-page-ttl-area .art-ttl::before {
		left: 0;
	}
	.single-page-pic-area {
		margin: 0 0 20px;
		width: 37.93%;
	}
	.slider-gallery-wrap .slider-thumb-list .thumb-item {
		padding-bottom: 17.73%;
	}
	.slider-gallery-wrap {
		margin: 0 0 20px;
	}
	.pc-single-page-txt-area {
		margin-top: 22.5px;
	}
}
@media screen and (min-width:1060px) {
	.single-page-ttl-area .art-ttl, .single-page-ttl-area p {
		padding-left: 70px;
	}
}
@media screen and (min-width:1300px) {
	.single-page-ttl-area .art-ttl {
		display: flex;
		align-items: baseline;
	}
	.single-page-ttl-area .art-ttl span {
		margin-left: 14px;
	}
}
@media screen and (min-width:1500px) {
	.single-page-ttl-area .art-ttl, .single-page-ttl-area p {
		padding-left: 90px;
	}
	.single-page-ttl-area .art-ttl {
		font-size: 3.4rem;
	}
	.single-page-ttl-area .art-ttl span {
		font-size: 2rem;
	}
	.single-page-ttl-area .art-ttl::before {
		top: 19px;
	}
	.slider-gallery-wrap, .single-page-ttl-area p {
		margin-bottom: 50px;
	}
	[class*="single-page-txt-area"] div p:last-of-type {
		margin-bottom: 40.5px;
	}
}
/*gallery 
gallery single--------------------------------*/
.sort_gallery .cat-item figure img {
    width: 100%;
    height: inherit;
}
.gallery-single .slider-gallery .slick-slide img {
    width: 100%;
	height: inherit;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	position: absolute;
	top: 0;
}
.gallery-single .single-page-txt-list {
    margin: 0 -30px;
}
.gallery-single .single-page-txt-list-item {
    padding: 36px 30px 4px;
    font-size: 1.6rem;
    line-height: 1.6;
    border-bottom: 4px solid var(--theme02);
}
.gallery-single .single-page-txt-list-item:first-of-type {
    padding-top: 0;
}
.gallery-single .single-page-txt-list-item-inner {
    padding-top: 7px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.gallery-single .single-page-txt-list-item-inner form {
    margin: 0;
}
.gallery-single .single-page-txt-list-item p,
.gallery-single .single-page-txt-list-item-inner div,
.gallery-single .single-page-txt-list-item-link {
    font-weight: 700;
}
.gallery-single .single-page-txt-list-item-link {
    margin: 0;
    padding: 0;
    text-decoration: underline;
    font-weight: bold;
    background: transparent;
    border: none;
}
.gallery-single .single-page-txt-list-item-span {
    font-weight: 400;
}
.gallery-single .single-page-txt-list-item-tax {
    margin-left: 9px;
    font-size: 1.4rem;
}
.gallery-single .note {
    margin-top: 36px;
    font-size: 1.5rem;
    line-height: 1.6;
    color: var(--sub01);
}
.gallery-single .slick-slide {
    height: inherit!important;
}
/*gallery-parts --------------------------------*/
.gallery-parts .art-inner {
    padding-bottom: 100px;
}
.gallery-parts .art-ttl {
    margin-bottom: 2.5px;
}
.gallery-parts .art-ttl + p {
    margin-bottom: 43px;
    padding: 0 2px;
}
.gallery-parts .stones-item figure {
    background: #fff;
    overflow: hidden;
}
.gallery-parts .stones-item figure img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) scale(.8);
}
.gallery-parts .stones-item .pic-stone img {
    transform: translateY(-50%) scale(1.5);
}
.gallery-parts .stones-item figure + p {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
}
.gallery-parts .stones-item figure::before,
.gallery-parts .stones-item figure::after {
    display: none;
}
.gallery-parts .stones-list {
    margin-bottom: 30px;
}
@media screen and (min-width:768px) {
    .gallery-single .single-page-inner {
        padding-top: 0;
    }
    .gallery-single .single-page-art-inner {
        flex-direction: row;
    }
    .gallery-single .single-page-pic-area {
        width: 54%;
    }
    .gallery-single .single-page-inner {
        width: 39%;
    }
    .gallery-single .slider-gallery-wrap {
        max-width: 630px;
    }
    .gallery-single .single-page-txt-list {
        margin: 0;
    }
    .gallery-single .single-page-txt-list-item {
        padding: 36px 0 4px;
    }
    .gallery-parts .art-inner {
        padding-bottom: 75px;
    }
    .gallery-parts .stones-list {
        margin-bottom: 40px;
    }
}
@media screen and (min-width:1060px) {
    .page-template-page-custom .cj-online [class^="art-ttl"] ~ p {
        padding: 0 70px;
    }
    .gallery-parts .art-ttl + p {
        padding-left: 70px;
    }
}
@media screen and (min-width:1660px) {
    .page-template-page-custom .cj-online [class^="art-ttl"] ~ p {
        padding: 0;
    }
}
/*works 
sort --------------------------------*/
.cat-nav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cat-nav li {
	margin-bottom: 20px;
	width: 46.6%;
}
.cat-nav li:nth-last-of-type(-n + 2) {
	margin-bottom: 0;
}
.cat-nav a,.cat-nav .cat-nav-btn {
	padding: 0 0 0 20px;
	font-size: 1.6rem;
    font-family: 'Roboto', sans-serif;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 40px;
	color: #fff;
	background: #222;
	display: block;
	position: relative;
}
.cat-nav a::after,.cat-nav .cat-nav-btn::after {
	content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.cat-art {
	padding-top: 50px;
}
.cat-list .coming-soon {
	margin-bottom: 20px;
    font-size: 2rem;
    font-family: 'Roboto', sans-serif;
    letter-spacing: .15em;
}
.cat-item {
	width: 46.6%;
	margin: 0 6.8% 20px 0;
	float: left;
}
.cat-item:nth-of-type(even) {
	margin-right: 0;
}
.cat-item figure {
	padding-bottom: 100%;
}
.cat-item figure  img {
	height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 0;
    left: auto;
    transform: translate(0);
}
.cat-item a {
	display: block;
	position: relative;
	z-index: 0;
}
.cat-item a::before, .cat-item a::after {
	content: "";
	position: absolute;
	z-index: 1;
}
.cat-item a::before {
	width: 32px;
    height: 32px;
    background: var(--theme02);
    right: 0;
    bottom: 0;
}
.cat-item a::after {
	width: 6px;
    height: 6px;
    border-top: 2px solid #808080;
    border-right: 2px solid #808080;
    transform: rotate(45deg);
    right: 14px;
    bottom: 13px;
}
.cat-nav .cat-nav-btn {
    width: 100%;
    text-align: left;
    font-size: 12px;
    line-height: 35px;
}
.sort_category {
    padding-top: 26px;
}
@media screen and (min-width:768px) {
	.cat-nav li {
		width: 28.7%;
	}
	.cat-nav li:nth-last-of-type(-n + 3) {
		margin-bottom: 0;
	}
	.cat-item {
		margin: 0 1.75% 20px 0;
		width: 18.6%;
	}
	.cat-item:nth-of-type(even) {
		margin-right: 1.75%
	}
	.cat-item:nth-of-type(5) {
		margin-right: 0;
	}
    .cat-nav-sort li {
        width: 22%;
    }
    .cat-nav .cat-nav-btn {
        font-size: 16px;
    }
    .sort_gallery .cat-item {
        margin: 0 .9% 20px;
        width: 18%;
        float: inherit;
    }
}
@media screen and (min-width:1200px) {
	.cat-nav li {
		width: 14.9%;
		margin-bottom: 30px;
	}
	.cat-nav a {
		line-height: 50px;
	}
    .cat-nav-sort li {
        width: 22%;
    }
}
@media screen and (min-width:1500px) {
	.cat-list .coming-soon {
		font-size: 2.5rem;
	}
	.cat-item a::before {
		width: 50px;
    	height: 50px;
	}
	.cat-item a::after {
		width: 9px;
		height: 9px;
		right: 22px;
		bottom: 19px;
	}
}
/*shop page --------------------------------*/
.intro-txt-wrap .single-page-details-area dt {
	width: 27%;
}
.intro-txt-wrap .single-page-details-area dd {
	width: 73%;
}
.intro-txt-wrap .single-page-details-area p {
	font-size: 1.5rem;
	line-height: 1.6;
}
.intro-txt-wrap .single-page-details-area a {
	text-decoration: underline;
}
.shop .art-txt-wrap {
	font-weight: 700;
	line-height: 1.8;
	color: var(--sub01);
}
.access .map {
	margin: 0 -30px;
}
.access .map iframe {
	width: 100%;
	height: 320px;
}
.access .art-item {
	margin: 50px 0 0;
}
.map-pic {
	padding-top: 30px;
}
.map-pic img {
	width: 100%;
}
@media screen and (min-width:768px) {
	.intro-txt-wrap .single-page-details-area {
		display: block;
	}
	.access .map {
		margin: 0;
	}
	.access .art-list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.access .art-item {
		width: 46.5%;
	}
	.map-pic {
		margin: auto;
		padding: 0;
		width: 40%;
	}
}
@media screen and (min-width:1024px) {
	.intro-txt-wrap .single-page-details-area dt {
		width: 18%;
	}
	.intro-txt-wrap .single-page-details-area dd {
		width: 82%;
	}
}
@media screen and (min-width:1500px) {
	.access .map iframe {
		height: 420px;
	}
	.access .art-item-ttl {
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.access .art-item-txt {
		font-size: 1.6rem;
	}
}
/*faq page --------------------------------*/
.page-template-page-faq .art-inner {
	padding-bottom: 0;
}
.page-template-page-faq .faq {
	background: var(--theme03);
}
.page-template-page-faq .faq dt {
	padding: 20px 75px 20px 50px;
	margin: 0 -30px;
	color: var(--sub02);
}
.page-template-page-faq .faq dd {
	padding: 0 0 20px 20px;
}
.page-template-page-faq .faq dt a,.page-template-page-faq .faq dd a {
	margin-top: 5px;
	text-decoration: underline;
	display: inline-block;
}
.page-template-page-faq .faq dt::before, .page-template-page-faq .faq dd::before {
	font-family: 'Roboto', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	position: absolute;
}
.page-template-page-faq .faq dt::before {
	content: "Q";
	top: 16px;
	left: 30px;
}
.page-template-page-faq .faq dd::before {
	content: "A";
	top: -3px;
	left: 0;
}
@media screen and (min-width:1060px) {
	.page-template-page-faq .art-inner {
		padding: 50px 30px;
	}
	.page-template-page-faq .faq dt {
		margin: 0;
	}
	.page-template-page-faq .faq dd {
		padding: 0 75px 20px 50px;
	}
	.page-template-page-faq .faq dd::before {
		left: 30px;
	}
}
@media screen and (min-width:1500px) {
	.page-template-page-faq .art-inner {
		padding: 75px 0;
	}
	.page-template-page-faq .art-txt-wrap {
		font-size: 1.6rem;
	}
	.page-template-page-faq .faq dt {
		padding: 20px 97px 20px 64px;
	}
	.page-template-page-faq .faq dd {
		padding: 0 97px 20px 64px;
	}
	.page-template-page-faq .faq dt::before, .page-template-page-faq .faq dd::before {
		font-size: 2rem;
		left: 40px;
	}
}
/*contact --------------------------------*/
.contact-imp-txt-area {
	margin: 0 -30px 50px;
	padding: 16.5px 30px;
	font-size: 1.4rem;
	line-height: 1.5;
	background: var(--theme04);
    border: 5px solid var(--theme02);
}
.contact-imp-txt-area li {
	margin-bottom: 16.5px;
}
.contact-imp-txt-area li:last-of-type {
	margin-bottom: 0;
}
.contact-imp-txt-area a {
	font-weight: 700;
	text-decoration: underline;
}
.contact-page-btn-list {
	display: grid;
	grid-gap: 16px;
}
.contact-page-btn-item {
	font-size: 1.5rem;
    line-height: 1.5;
}
.contact-page-btn-item a {
	padding: 10px 32px 9px 14px; 
    font-weight: 700;
    color: #222;
    background: #fff;
    border: 2px solid #222;
	display: block;
	position: relative;
}
.contact-page-btn-item a::after {
	content: "";
    width: 6px;
    height: 6px;
	border-top: 2px solid #222;
    border-right: 2px solid #222;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width:768px) {
	.contact-imp-txt-area {
		margin: 0 0 50px;
	}
	.contact-page-btn-list {
		grid-template-columns: repeat(3,1fr);
	}
}
@media screen and (min-width:1500px) {
	.contact-imp-txt-area  {
		padding:  26.25px 40px;
		font-size: 1.5rem;
	}
}
/*
.general-reserve-ttl,
.general-reserve-ttl + nav,
.contact-page-btn-list .contact-page-btn-item:nth-of-type(6),
.contact-page-btn-list .contact-page-btn-item:nth-of-type(7),
.contact-page-btn-list .contact-page-btn-item:nth-of-type(8),
.contact-page-btn-list .contact-page-btn-item:nth-of-type(9),
.contact-page-btn-list .contact-page-btn-item:nth-of-type(10) {
	display: none;
}
*/
.contact-page-btn-list .contact-page-btn-item:nth-of-type(9) {
	display: none;
}
/*contact input --------------------------------*/
.contact-form {
    margin: auto;
	max-width: 780px;
	font-size: 1.5rem;
	line-height: 1.5;
	word-break: break-all;
}
.contact-form-txt {
    margin-bottom: 30px;
	color: var(--sub01);
}
.required-mark {
	color: var(--red);
}
.contact-form .required-mark {
	margin-left: 5px;
}
.error input,
.error select,
.error textarea{
	box-shadow: 0 0 0 1px var(--red);
}
.error::after {
	content: "必須項目に不足があります";
	display: block;
	color: var(--red);
	margin-top: 4px;
	font-size: 1.4rem;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="number"],
.contact-form input[type="date"],
.contact-form input[type="password"],
.contact-form textarea,
.customer-art-inner input[type="text"],
.customer-art-inner input[type="email"],
.customer-art-inner input[type="tel"],
.customer-art-inner input[type="password"],
.customer-art-inner textarea {
	padding-left: 10px;
	font-size: 1.5rem;
	background: #fff;
    width: 100%;
    height: 35px;
    border: 1px solid var(--theme02);
	border-radius: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.contact-form dd select {
    margin: 10px 0;
    padding: 3px;
    font-size: 1.4rem;
}
.contact-form input[type="number"] {
	width: 110px;
}
.contact-form input[type="date"],
.contact-form input[type="password"] {
	margin-right: 5px;
	width: 50%;
}
.contact-form textarea {
    height: 160px;
}
.contact-form dt {
	font-weight: 700;
}
.contact-form dd {
	margin: 3px 0 25px;
}
.contact-form dd span:nth-of-type(2) {
	margin-top: 5px;
	display: block;
}
.contact-form dd p {
	margin-bottom: 5px;
	color: var(--sub01);
}
.contact-form dd a {
	text-decoration: underline;
}
.contact-form dd label input {
	margin-right: 3px;
}
.contact-form-file input {
	margin-bottom: 5px;
}
.contact-form .submit-wrap {
	margin: 50px auto 0;
	max-width: 634px;
}
.contact-form input[type="submit"],
.customer-art-inner input[type="submit"] {
    margin: auto;
	width: 46.6%;
	min-width: 210px;
    max-width: 287px;
	font-size: 1.4rem;
	line-height: 45px;
    background: #222;
    border-radius: 0;
	border: none;
    text-align: center;
    color: #fff;
	display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.contact-form input[type="submit"]:last-of-type {
	color: #222;
	background: #fff;
	border: 2px solid #222;
}
/*ご予約カレンダー --------------------------------*/
#selectmonth {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 20px 0;
}
#selectmonth label {
	margin: 6px 0;
	padding: 8px 12px;
    width: 47%;
	font-size: 1.4rem;
	line-height: 1;
	color: var(--sub01);
    background: #fff;
    border: 2px solid var(--theme01);
	position: relative;
}
#selectmonth label::after {
	content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--sub01);
    border-right: 1px solid var(--sub01);
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%) rotate(45deg);
}
.noreserve input {
	box-shadow: 0px 0px 6px 0px #4D53EB;
}
.noreserve::after {
	content: "該当する予約が見つかりませんでした";
	display: block;
	color: #4D53EB;
}
.thismonth-ttl {
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
}
.calendar {
	list-style-type: none;
	margin: 0 0 30px;
	padding: 0;
}
.calendar li.youbi,
.calendar li.empty{
	display: none;
}
.calendar li {
	padding: 8px 6px 1px;
	border-bottom: solid 3px var(--theme01);
    display: flex;
	align-items: baseline;
}
.calendar li em {
	font-size: 1.6rem;
	font-style: normal;
    flex-basis: 8ex;
    flex-grow: 0;
}
.calendar li div {
    flex-basis: 0;
    flex-grow: 1;
}
.calendar li label {
	margin-right: 5px;
    display: inline-block;
    white-space: nowrap;
}
.calendar li div label:last-of-type {
	margin-right: 0;
}
.calendar li div label input {
	margin: 0 3px 0 0;
}
.sunday em, .holiday em {
    color: var(--red);
}
.saturday em {
    color: var(--blue);
}
.calendar li em::after {
	padding-left: 4px;
	font-size: 1.4rem;
}
.sunday em::after {
	content: "sun";
	color: var(--red);
}
.monday em::after {
	content: "mon";
}
.tuesday em::after {
	content: "tue";
}
.wednesday em::after {
	content: "wed";
}
.thursday em::after {
	content: "thu";
}
.friday em::after {
	content: "fri";
}
.saturday em::after {
	content: "sat";
	color: var(--blue);
}
#fileimage {
	width: 80px;
	height: 80px;
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
}
label.disabled {
	position: relative;
}
label.disabled::before {
	content: "";
	display: block;
	height: 1px;
	border-top: solid 1px #222;
	border-bottom: solid 1px #222;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.calendarbox,
.hidden {
	display: none;
}
#calendar0:checked ~ #thismonth,
#calendar1:checked ~ #plus1month,
#calendar2:checked ~ #plus2month,
#calendar3:checked ~ #plus3month{
	display: block;
}
@media screen and (min-width:360px) {
	.calendar li em {
		font-size: 1.8rem
	}
	.calendar li label {
	    margin-right: 12px;
	}
}
@media screen and (min-width:768px) {
	.page-template-tpl_contact_input .art-ttl-ja, .page-template-tpl_contact_confirm .art-ttl-ja {
		margin: 0 auto 24px;
		max-width: 780px;
	}
	.contact-form-list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.contact-form dt {
		width: 19%;
	}
	.contact-form dd {
		margin: 0 0 20px;
		width: 80%;
	}
	.contact-form .submit-wrap {
		margin: 30px auto 0 20%;
        display: flex;
        justify-content: space-between;
	}
    .contact-form input[type="submit"],
    .customer-art-inner input[type="submit"] {
        margin: 0;
    }
	/*ご予約カレンダー --------------------------------*/
	#selectmonth label {
		margin: 0;
		width: 23%;
	}
	.thismonth-ttl {
		margin-bottom: 10px;
	}
	.calendar {
		display: grid;
		grid-template-columns: repeat(7,1fr);
/*		grid-gap: 1px;*/
		border: 2px solid var(--theme01);
	}
	.youbi {
		font-weight: 700;
		background-color: #e1dcd6;
		text-align: center;
	}
	.youbi.saturday {
		color: var(--blue);
	}
	.youbi.sunday {
		color: var(--red);
	}
	.calendar li em::after {
		display: none;
	}
	.calendar li.youbi,
	.calendar li.empty {
		display: list-item;
	}
	.calendar li {
		display: list-item;
		border: solid 2px var(--theme01);
		padding: 10px;
	}
	.calendar li div {
		margin-top: 5px;
	}
	.calendar li label {
		margin:  0 0 5px;
		display: block;
	}
	.calendar li label:last-of-type {
		margin: 0;
	}
}
/*confirm --------------------------------*/
.contact-confirm dd {
	padding: 0 10px 6px;
	color: var(--sub02);
	border-bottom: 1px solid rgba(128,128,128,.34);
}
.contact-confirm .submit-wrap {
	padding: 0;
	border: none;
}
/*contact-thanks 
404 --------------------------------*/
.page-template-tpl_contact_thanks .art-ttl-ja, .not-found .art-ttl {
	margin: 0 auto 24px;
	max-width: 780px;
}
.contact-thanks-txt-area, .not-found-txt-area {
	margin: auto;
	font-size: 1.6rem;
	line-height: 1.5;
	max-width: 780px;
	color: var(--sub01);
}
.contact-thanks-txt-area p, .not-found-txt-area p {
	margin-bottom: 20px;
}
p.top-page-btn {
	margin: 0;
}
p.top-page-btn a {
	margin-top: 50px;
	font-size: 1.4rem;
	line-height: 45px;
	width: 100%;
	background: #222;
	color: #fff;
	display: block;
	text-align: center;
}
@media screen and (min-width:768px) {
	.top-page-btn a {
		max-width: 287px;
	}
}
/*llogin
（customer） --------------------------------*/
.customer-art-inner {
	max-width: 620px;
    font-size: 1.5rem;
    line-height: 1.5;
    word-break: break-all;
}
.customer-art-inner h2.art-ttl-ja {
	margin-top: 50px;
}
p.customer-error-txt {
	margin-bottom: 10px;
	color: var(--red);
	line-height: 1.5;
}
.customer-error-txt a {
	text-decoration: underline;
	color: var(--red);
}
.page-template-tpl_login .customer-art-inner dd {
	margin: 3px 0 15px;
}
.customer-art-inner dd {
	margin: 3px 0 20px;
}
.customer-art-inner dd label input {
    margin-right: 3px;
}
.customer-art-inner .customer-list ~ p {
	margin-bottom: 5px;	
}
.customer-art-inner .customer-list ~ p a {
    color: var(--theme05);
}
.page-template-tpl_customer_info #ttl-eng,
.page-template-tpl_customer_info_change #ttl-eng,
.page-template-tpl_customer_info_shipping_regist #ttl-eng,
.page-template-tpl_customer_info_shipping_change #ttl-eng,
.page-template-tpl_resetpassword #ttl-eng,
.page-template-tpl_reissuepassword #ttl-eng,
.page-template-tpl_customer_mail_regist #ttl-eng {
	font-size: 6rem;
}
.customer-art-inner dt {
	font-weight:700;
}
.customer-art-inner a {
	 color: var(--theme05);
}
.customer-art-inner dd input ~ p {
	margin-top: 3px;
	color: var(--sub01);
}
.customer-art-inner dd select {
	margin: 10px 0;
	padding: 3px;
	font-size: 1.4rem;
}
.customer-art-inner address {
	font-style: inherit;
}
.c-shipping-address li {
	margin-bottom: 20px;
}
#item_history li {
	margin-bottom: 50px;
}
#item_history li:last-of-type {
	margin-bottom: 0;
}
#item_history .item_title {
	font-weight: 700;
	font-size: 1.5rem;
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
}
#item_history p {
	font-size: 1.3rem;
}
#item_history figure {
	margin-bottom: 10px;
}
#item_history li p.amount {
	text-align: right;
}
#item_history .amount {
	font-weight: 700;
	font-size: 1.5rem;
}
@media screen and (min-width:768px) {
	.page-template-tpl_customer_info #ttl-eng,
	.page-template-tpl_customer_info_change #ttl-eng,
	.page-template-tpl_customer_info_shipping_regist #ttl-eng,
	.page-template-tpl_customer_info_shipping_change #ttl-eng,
	.page-template-tpl_resetpassword #ttl-eng,
	.page-template-tpl_reissuepassword #ttl-eng,
	.page-template-tpl_customer_mail_regist #ttl-eng {
		font-size: 12.8vw;
	}
	#item_history li {
		margin-bottom: 60px;
	} 
	#item_history li {
		display: flex;
		justify-content: space-between;
	}
	#item_history li &gt; a {
		width: 47%;
	}
	#item_history li &gt; div {
		width: 50%;
	}
}
/*law --------------------------------*/
.page-id-12 .art-txt-wrap a {
	text-decoration: underline;
}
/*custom jewelry online --------------------------------*/
.cj-intro-txt {
	margin-bottom: 30px;
}
.cj-intro-txt p {
	display: none;
}
/*step --------------------------------*/
.custom-step-nav {
	margin: 0 -10px;
}
.custom-step-nav ul {
	margin-bottom: 30px;
	display: flex;
	justify-content: center;
}
.custom-step-nav li {
	font-weight: 700;
	text-align: center;
	background: #fff;
	font-size: 1.3rem;
	line-height: 1.2;
	position: relative;
	width: 100%;
	max-width: 40px;
}
.custom-step-nav .current_step_menu::after {
	content: "";
    display: block;
    height: 10px;
    width: 100%;
    background-image: url(../images/sp-step.svg);
    background-size: cover;
    background-position: center;
	background-repeat: no-repeat;
    position: absolute;
    bottom: -10px;
/*
    border-top: 10px solid #222;
    border-left: 19px solid transparent;
    border-right: 19px solid transparent;
    position: absolute;
    bottom: -10px;
    height: 10px;
    width: 100%;
    left: 0;
    right: 0;
*/
}
.custom-step-nav li:first-of-type {
	display: none;
}
.custom-step-nav a,
.custom-step-nav strong {
	padding: 25% 0;
	display: block;
	font-weight: 500;
}
.custom-step-nav a strong {
	padding: 0;
}
.custom-step-nav li span {
	display: none;
	font-weight: 700;
}
.custom-step-nav li strong span {
	display: block;
	font-weight: 500;
}
.custom-step-nav .current_step_menu {
	background: #222;
	color: #fff;
}
.custom-step-nav .current_step_menu a {
	color: #fff;
}
#box_item .container,
.stone_genre_container,
#ring_list,
#box_item .box_item-option {
	margin-bottom: 30px;
}
/*stone1 stone2 stone3 --------------------------------*/
#select_stone ol {
	font-size: 1.5rem;
	font-family: 'Roboto', sans-serif;
	display: flex;
	align-items: flex-start;
	padding: 0px 10px 1px;
	height: 45px;
}
#select_stone ol li {
	width: 33.33%;
	text-align: center;
	line-height: 45px;
	background: var(--theme04);
    border-top: 2px solid var(--theme02);
    border-left: 2px solid var(--theme02);
}
#select_stone ol li label {
	font-family: 'Roboto', YuGothic, "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Verdana, Meiryo, sans-serif;
}
#select_stone ol li:last-of-type {
	border-right: 2px solid var(--theme02);
}
#stone_item_list1:checked ~ #select_stone li:nth-of-type(1)::after,
#stone_item_list2:checked ~ #select_stone li:nth-of-type(2)::after,
#stone_item_list3:checked ~ #select_stone li:nth-of-type(3)::after {
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}
.fs_box {
    max-height: 460px;
    overflow: auto;
}
#box_item {
	margin: 0 -20px;
}
#box_item.box_item-w {
	margin: 0;
}
#box_item .container {
    border: 2px solid var(--theme02);
}
#box_item .container, .selector_box {
	background-color: #fff;
	padding: 30px 20px 30px;
	position: relative;
	z-index: 0;
}
#material_list {
	max-height: 220px;
    overflow: auto;
	margin-bottom: 30px;
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}
#box_item p {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	word-break: break-all;
}
#box_item #gil_1 p {
	text-align: center;
}
[id^="gil"] p span {
	display: block;
	font-weight: 500;
}
#box_item #parts_list figure ~ p {
	text-align: left;
}
#box_item .genrelist p,
#box_item #material_list p {
	text-align: center;
}
#material_list p span {
	text-align: justify;
}
.stone_genre_container ul li figure,
.thumbnailbox,
#box_item li figure {
	margin: 0 auto 10px;
	background: #f4f4ef;
	width: 100%;
	max-width: 85px;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#box_item li figure {
	background: #fff;
}
.thumbnailbox {
	overflow: hidden;
	position: relative;
}
.thumbnailbox img {
	vertical-align: middle;
	width: 180px;
	height: auto;
	max-width: none;
}
.thumbnailbox ~ p {
	max-width: 90px;
	margin: auto;
}
.stone_genre_container ul {
	max-height: 220px;
	overflow: auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
}
.stone_genre_container ul li.active figure,
.modal label input[type="radio"]:checked + div figure,
#material_list input:checked + div figure,
#parts_list input[type="radio"]:checked + label figure img,
.box-hang #parts_list label input[type="radio"]:checked + figure,
input[type='radio']:checked + .frame_selector,
#ring_list input[type="radio"]:checked + div,
input:checked + .sizeimage,
#option_finishing li input:checked + figure,
#custom_font_sans-serif:checked ~ #font_select #sans-serif label,
#custom_font_serif:checked ~ #font_select #serif label {
	box-shadow: 0 5px 15px rgba(34,34,34,.25);
/*	box-shadow: 0 5px 15px rgba(34,34,34,.15), inset 0 0 0 4px rgba(161,132,95,.5);*/
	opacity: 1;
}
.stone_genre_container h3,
#box_item h3 {
	margin-bottom: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.8;
}
.selector_box h3 {
	width: calc(100% - 45px);
}
#box_item.box_item-option h3 {
	margin-bottom: 14px;
}
/*.stone_genre_container h3::before,*/
#box_item h3::before {
	content: "\f45c";
	font-family: 'Font Awesome 5 Free';
	font-weight: solid;
	margin-right: 12px;
}
.btn_close {
	font-size: 1.8rem;
	width: 33px;
	height: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #222;
	color:#fff;
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
}
.modal {
	padding: 0 20px 0;
    display: grid;
    grid-gap: 30px;
	grid-template-columns: repeat(2, 1fr);
/*    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));*/
    position: absolute;
    top: 90px;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
/*	max-height: 220px;*/
}
.modal label:last-of-type {
	padding-bottom: 30px;
}
/*	explain --------------------------------*/
.explain {
	display: none;
}
.explain_sp, .explain {
	margin-bottom: 30px;
	font-size: 1.4rem;
	line-height: 1.7;
}
.explain_sp h4,.explain h4 {
	margin-bottom: 10px;
	font-weight: 700;
}
#box_item .explain_sp p,#box_item .explain p {
	font-size: 1.4rem;
	color: var(--sub01);
	font-weight: 500;
}
.note {
	margin: 10px 0 30px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.note li {
	padding-left: 15px;
	position: relative;
}
.note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
/*visual_area --------------------------------*/
#visual_box,
.visual_box {
	margin: 0 -30px;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
}
#visual_area #price,
.visual_area #price {
	margin-bottom: 30px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: right;
}
#visual_area #price:first-letter,#visual_area #price span,
.visual_area #price:first-letter,.visual_area #price span{
	font-size: 2.6rem;
}
#visual_area #price span,
.visual_area #price span {
	margin-right: 10px;
}
.material_list-wrap ul {
	max-height: 220px;
    overflow: auto;
    margin-bottom: 30px;
}
#zoom_up, #zoom_normal, #zoom_out {
	display: none;
}
#zoom_button {
	display: flex;
	position: absolute;
	top: 0;
	right: auto;
	bottom: auto;
	left: 0;
	z-index: 98;
}
#zoom_button label {
	display: block;
	width: 32px;
	height: 32px;
	background-color: var(--base_color_bright);
	border: solid 6px var(--base_color_bright);
	border-radius: 4px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 10px 0px 0px 10px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
#ui_button label:last-of-type {
	margin: 4px 4px 0px auto;
}
#button_zoom_up {
	background-image: url("../images_custom/icon/icon_zoom_up.svg");
	opacity: 0.5;
}
#button_zoom_normal {
	background-image: url("../images_custom/icon/icon_zoom_normal.svg");
	opacity: 0.5;
}
#button_zoom_out {
	background-image: url("../images_custom/icon/icon_zoom_out.svg");
	opacity: 0.5;
}
input#zoom_up:checked ~ #visual_box #button_zoom_up, input#zoom_normal:checked ~ #visual_box #button_zoom_normal, input#zoom_out:checked ~ #visual_box #button_zoom_out {
	opacity: 1;
}
.moviecontroller {
	display: flex;
	justify-content: space-around;
	padding: 10px 2px 2px;
}
.moviecontroller div, .moviecontroller a {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #222;
	cursor: pointer;
	line-height: 18px;
	padding: 2px 4px;
	flex-basis: 33%;
}
.frame_selector {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas:
		"FN FN FN"
		"P1 P2 M"
		"L L M";
}
.frame_selector label {
	display: block;
}
.frame_selector .frame_name {
	grid-area: FN;
}
.frame_selector figure {
	box-sizing: border-box;
	margin: auto;
	max-width: 85px;
	height: 95px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.frame_selector label figure.fit img {
	object-fit: contain;
	max-width: 85%;
	max-height: 85%;
	width: auto;
	height: auto;
}
.frame_selector label.rough figure img {
	width: 150px;
	height: auto;
}
.frame_selector label.photo_diagonal.rough {
	opacity: 0;
}
.frame_selector .movie_container {
	grid-area: M;
}
.movie_container.rough {
	opacity: 0;
}
.movie_container video {
	width: 85px;
	height: auto;
}
video.frame_movie {
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: auto;
}
.frame_selector p {
	margin: 0;
	grid-area: L;
}
/*c-submit --------------------------------*/
.c-submit-wrap input,
.c-submit-list input {
	border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.c-submit-list {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 30px;
}
.c-submit-list input,
.c-submit-list a {
    padding: 0 22px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 50px;
    text-align: inherit;
	background: #fff;
    border: 2px solid #222;
    width: 38vw;
    max-width: 183px;
	display: block;
	cursor: pointer;
	color: #222;
}
[class^="c-submit-item"] {
	position: relative;	
	line-height: 50px;
}
[class^="c-submit-item"]::before {
	content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #222;
    position: absolute;
    top: 50%;
}
.c-submit-item01 {
	text-align: right;
}
.c-submit-item01::before {
	border-left: 2px solid #222;
    left: 22px;
	transform: translateY(-50%) rotate(-45deg);
}
.c-submit-item02::before {
	border-right: 2px solid #222;
	right: 22px;
	transform: translateY(-50%) rotate(45deg);
}
.c-submit-wrap .c-submit-list {
	margin-bottom: 20px;
}
.c-submit-cart {
	margin-bottom: 30px;
	line-height: 50px;
	position: relative;
}
.c-submit-cart input[type="submit"] {
	padding: 0 40px;
	line-height: 50px;
	background: #222;
	color: #fff;
	font-size: 1.5rem;
	width: 100%;
	border: 2px solid #222;
	text-align: inherit;
	cursor: pointer;
}
.c-submit-cart::before {
	content:"\f07a";
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}
.c-submit-cart::after {
	content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
    position: absolute;
    top: 50%;
	right: 22px;
}
/*frame_selector --------------------------------*/
#ring_list {
	max-height: 410px;
	overflow: auto;
}
.frame_selector,
#ring_list li &gt; div {
	margin-bottom: 25px;
	padding: 10px;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.6;
	background: #fff;
	color: #222;
	border: 1px solid rgba(34,34,34, .15);
}
.frame_selector .movie_container label,
#ring_list .movie_container label {
	margin: auto;
	width: 80px;
    height: 80px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.frame_selector .movie_container label video {
	width: 160px;
    height: auto;
}
#ring_list .movie_container label video {
	width: 120px;
    height: auto;	
}
#ring_list li &gt; div {
	border: none;
}
.frame_name,
#box_item .rd_heading p {
	font-size: 1.4rem;
}
.frame_selector em {
	font-style: inherit;	
}
.movie_container  {
	text-align: center;
}
#cboxOverlay {
	background: rgba(255,255,255,.85);
}
#colorbox {
	box-shadow: none!important;
	border-radius: 0!important;
}
#cboxLoadedContent {
    padding: 0px!important;
    border: 5px solid var(--theme02);
	-ms-overflow-style: none;
	scrollbar-width: none;
}
#cboxLoadedContent::-webkit-scrollbar {
	display:none;
}
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	top: -38px!important;
	width: 28px!important;
	height: 28px!important;
	background: transparent!important;
}
#cboxClose::before,
#cboxClose::after {
	content: "";
	display: block;
	height: 2px;
	width: 100%;
	background: #222;
}
#cboxClose::before {
	transform: translateY(4px) rotate(45deg);
}
#cboxClose::after {
	transform: translateY(2px) rotate(-45deg);
}
/*rotate --------------------------------*/
#box_item.box_item-rotate .container {
	padding-bottom: 30px;
}
#box_item.box_item-rotate .container::before,
#box_item.box_item-rotate .container::after {
	display: none;
}
.field {
	position: relative;
	width: 100%;
	min-height: 360px;
}
.field .item {
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.field label {
	width: 45px;
    height: 45px;
    border-radius: 50%;
	display: block;
	line-height: 45px;
    position: absolute;
    z-index: 500;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
	opacity: 0.6;
}
.d0:checked ~ .field .pos_t, .d45:checked ~ .field .pos_rt, .d90:checked ~ .field .pos_r, .d135:checked ~ .field .pos_rb, .d180:checked ~ .field .pos_b, .d225:checked ~ .field .pos_lb, .d270:checked ~ .field .pos_l, .d315:checked ~ .field .pos_lt {
	opacity: 1;
	background: var(--theme03);
}
/*ring_size --------------------------------*/
#ring_size_selector li {
	margin: 0 12px 25px;
}
#ring_size_selector li p {
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}
.size_str {
	font-size: 1.5rem;
	font-weight: 700;
}
.sizeimage {
	margin-bottom: 5px;
}
.ring_size-txt {
	margin: 0 0 30px;
    font-size: 1.2rem;
    line-height: 1.5;
}
/*box_item-option  --------------------------------*/
#box_item #option_finishing li {
	margin-right: 18px;
}
#box_item #option_finishing p {
	text-align: center;
}
#box_item #option_finishing figure {
	width: 88px;
	max-width: 88px;
	height: 100px;
	position: relative;
	overflow: hidden;
}
#option_finishing figure {
	opacity: .4;
}
#option_finishing figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.option_finishing-txt a::after {
	content: "";
	width: 6px;
    height: 6px;
    border-top: 2px solid #222;
	border-right: 2px solid #222;
    transform: rotate(45deg);
	margin-left: 10px;
    position: relative;
    top: -2px;
	display: inline-block;
}
.cnt_danger {
	color: var(--red);
	font-size: 140%;
}
#engrave_select li label{
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
	padding-left: 20px;
}
#engrave_true {
	margin-right: 20px;
}
@media screen and (min-width:360px) {
	#engrave_true {
		margin-right: 50px;
	}
}
#engrave_select li label::before {
	content: "";
	display: block;
	width: 14.5px;
	height: 14.5px;
	border: 1px solid #222;
	border-radius: 50%;
	background: #fff;
	margin-right: 12px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#custom_engrave_true:checked ~ #engrave_select #engrave_true label::after,
#custom_engrave_false:checked ~ #engrave_select #engrave_false label::after {
	content: "";
	display: block;
	width: 8.5px;
	height: 8.5px;
	border-radius: 50%;
	background: #222;
	position: absolute;
	left: 3px;
	top: 50%;
	transform: translateY(-50%);
}

#engrave_select,
#engrave_select + .hide {
	margin-bottom: 50px;
}
#engrave_select + .hide {
	margin-top: 50px;
}
#box_item #engrave_text + ul,
#box_item .option_finishing-txt {
	margin: 25px 0 50px;
    font-size: 1.4rem;
    line-height: 1.6;
	font-weight: 500;
}
#engrave_text + ul li {
	padding-left: 15px;
    position: relative;
}
#engrave_text + ul li::before {
	content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
#box_item #engrave_text {
	font-size: 1.5rem;
}
#engrave_text input {
	margin-bottom: 10px;
	padding-left: 10px;
    font-size: 1.5rem;
    background: #fff;
    width: 100%;
    height: 45px;
    border: 2px solid #222;
    border-radius: 0;
    box-shadow: none;
	text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
#font_select label {
	padding: 10px 0;
	width: 100%;
	font-size: 1.5rem;
	line-height: 1.4;
	text-align: center;
	display: block;
	background: #fff;
	border: 2px solid #222;
	opacity: .6;
}
#font_select li {
	margin-bottom: 25px;
}
#font_select li :last-of-type {
	margin-bottom: 0;
}
#sans-serif {
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
#serif {
	font-family: serif;
}
/*infobox --------------------------------*/
#infobox {
	margin: 0 -30px;
	padding: 0 30px;
	border-top: 4px solid var(--theme02);
	border-bottom: 4px solid var(--theme02);
}
#infobox h5 {
	padding: 20px 0 15px;
	font-size: 1.4rem;
	font-weight: 700;
	position: relative;
}
#infobox h5::before {
	content: "";
	height: 4px;
	width: 100vw;
	background: var(--theme02);
	position: absolute;
	top: 0;
	left: -30px;
}
#infobox div {
	padding-bottom: 20px;
	font-size: 1.3rem;
	line-height: 1.6;
	color: var(--sub01);
}
#heading_stone_lr {
	margin: 10px 0 0;
    padding: 6px 10px 5px;
	font-size: 1.3rem;
	text-align: left;
    line-height: 1.5;
	background: var(--theme02);
}
#heading_stone_lr::before {
	content: "※";
	position: static;
}
#infobox div[id^="info_stone"],
#heading_stone_genre + div,
#heading_stone_genre + div + div,
#heading_stone_genre + div + div + div,
#heading_stone_shape_str + div,
#heading_stone_shape_str + div + div,
#heading_stone_shape_str + div + div + div,
#heading_frame + div,
#heading_frame + div + div,
#heading_frame +div + div +div,
div[id^="info_frame"],
div[id^="info_item"] {
	padding: 0 20px 10px 0;
	font-size: 1.3rem;
	line-height: 1.6;
	color: var(--sub01);
	padding-left: 53px;
	position: relative;
}
div[id^="info_stone"]::before,
#heading_stone_genre + div::before,
#heading_stone_genre + div + div::before,
#heading_stone_genre + div + div + div::before,
#heading_stone_shape_str + div::before,
#heading_stone_shape_str + div + div::before,
#heading_stone_shape_str + div + div + div::before,
#heading_frame + div::before,
#heading_frame + div + div::before,
#heading_frame +div + div +div::before,
div[id^="info_frame"]::before,
div[id^="info_item"]::before {
	font-weight: 500;
	position: absolute;
	left: 0;
	font-family: 'Roboto', YuGothic, "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Verdana, Meiryo, sans-serif;
}
div[id^="info_stone1"]::before,
#heading_stone_genre + div::before,
#heading_stone_shape_str + div::before,
#heading_frame + div::before,
div#info_frame1::before,
div#info_item1_pos::before {
	content: "stone1";
}
div[id^="info_stone2"]::before,
#heading_stone_genre + div + div::before,
#heading_stone_shape_str + div + div::before,
#heading_frame + div + div::before,
div#info_frame2::before,
div#info_item2_pos::before {
	content: "stone2";
}
div[id^="info_stone3"]::before,
#heading_stone_genre + div + div + div::before,
#heading_stone_shape_str + div + div + div::before,
#heading_frame +div + div +div::before,
div#info_frame3::before,
div#info_item3_pos::before {
	content: "stone3";
}
.ring_1stone div[id^="info_stone1"]::before,
.ring_1stone #heading_stone_genre + div::before,
.ring_1stone #heading_stone_shape_str + div::before,
.ring_1stone #heading_frame + div::before, div#info_frame1::before, 
.ring_1stone div#info_item1_pos::before,
.necklace div[id^="info_stone1"]::before,
.necklace #heading_stone_genre + div::before,
.necklace #heading_stone_shape_str + div::before,
.necklace #heading_frame + div::before, div#info_frame1::before, 
.necklace div#info_item1_pos::before{
	display: none;
}
#infobox.ring_1stone div,
#infobox.necklace div {
	padding-left: 0;
}
#infobox #change_stone::before,
#infobox #change_frame::before {
	display: none;
}
#infobox #change_stone,
#infobox #change_frame {
	border-right: none;
}
div#info_item1_pos,
div#info_item2_pos,
div[id^="info_item"] {
	padding-bottom: 10px;
}
#heading_stone_shape_str + div + div + div,
#heading_frame +div + div +div,
div#info_item3_pos {
	padding-bottom: 20px;
}
#infobox .infobox_link {
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#infobox .infobox_link a {
	padding: 0 10px;
	width: 70px;
	line-height: 30px;
	font-size: 1.3rem;
	font-weight: 700;
	background: #fff;
	border: 2px solid #222;
	position: relative;
}
#infobox .infobox_link a::after {
	content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
}
#heading_stone_genre::before,
#heading_stone_shape::before,
#heading_stone_shape_str::before,
#heading_stone_pos::before {
	display: none;
}
#infobox #info_option div,
#infobox #info_option {
	padding-bottom: 10px;
}
/*fix --------------------------------*/
#fix li &gt; div {
	margin-bottom: 20px;
}
#fix .img_finishing {
	background: transparent;
}
.fix-mail a {
	font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 30px;
    padding-left: 20px;
    position: relative;
    display: block;
	text-decoration: underline;
}
.fix-mail a::before {
	content: "\f0e0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.5rem;
    position: absolute;
    left: 0;
}
.step8_item_info,
.step7_item_info {
    max-width: 85px;
    margin: auto;
}
#fix li .img_stone img,
#fix li .imagephoto img_ring img {
	max-width: none;
	width: 180px;
	max-height: inherit;
}
/*necklace --------------------------------*/
.box-hang #parts_list ul {
	max-height: inherit;
}
.box-hang #parts_list li {
/*	width: 45%;*/
}
.box-hang #parts_list li input {
	display: none;
}
#box_item.box-hang #parts_list li figure {
	margin-bottom: 10px;
	max-width: 100%;
	height: auto;
}
#box_item.box-hang #parts_list figure ~ p {
	text-align: center;
	font-size: 1.4rem;
}
/*carte --------------------------------*/
.carte-mail-txt {
	padding: 0 0 50px;
	font-size: 1.5rem;
	line-height: 1.5;
}
.carte-mail-txt input[type="email"],
.carte-mail-txt input[type="submit"] {
	border-radius: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.carte-mail-txt input[type="email"] {
	margin-bottom: 30px;
	padding-left: 10px;
    font-size: 1.5rem;
    background: #fff;
    width: 100%;
    height: 35px;
    border: 1px solid var(--theme02);
}
.carte-mail-txt input[type="submit"] {
	margin-top: 30px;
    padding: 0 40px;
    line-height: 40px;
    background: #222;
    color: #fff;
    font-size: 1.5rem;
    width: 100%;
	position: relative;
	text-align: center;
	border: none;
}
.carte-mail-txt p {
	margin-bottom: 15px;
	text-align: left;
}
.receive-txt.error {
	margin-bottom: 0;
}
.carte-mail-txt p strong {
	display: inline-block;
	margin-bottom: 5px;
	font-weight: 700;
}
.carte-mail-wrap + #infobox.necklace {
	display: block;
}
@media screen and (min-width:360px) {
	.stone_item_select p,
	.genrelist p,
	#box_item p {
		font-size: 1.2rem;
		text-align: left;
	}
}
@media screen and (min-width:414px) {
	.custom-step-nav ul {
		justify-content: center;
	}
}
@media screen and (min-width:768px) {
	.cj-intro-txt {
		margin-bottom: 50px;
	}
	.cj-intro-txt p {
		display: block;
	}
	.carte-mail-wrap + #infobox.necklace {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"HSG ..."
			"HSN ..."
			"HSS ..."
			"HSZ ..."
			"HM IM"
			"HSF ..."
			"HCN ..."
			"HHH ..."
			"HSD ..."
			"HOP IOP";
	}
/*	step --------------------------------*/
	.custom-step-nav {
		margin: 0;
	}
	.custom-step-nav ul {
		margin-bottom: 80px;
		justify-content: center;
	}
	.custom-step-nav li {
		max-width: 144px;
		width: calc(100% - 1px);
		margin-right: 0;
	}
	.custom-step-nav li:last-of-type {
		margin-right: 0;
	}
	.custom-step-nav li span {
		display: block;
		padding: 6% 0 7%;
	}
	.custom-step-nav li strong span {
		display: inline-block;
		margin-left: 4px;
		padding: 0;
	}
	.custom-step-nav a, .custom-step-nav strong {
		padding: 10% 0 0;
	}
	.custom-step-nav .current_step_menu::after {
		background-image: url(../images/pc-step.svg);
	}
	#box_item {
		width: 43%;
		margin: 0;
		max-width: 500px;
	}
	#box_item.box_item-option {
		max-width: 460px;
	}
	.stone_genre_container ul,
	#material_list,
	#ring_list,
	.material_list-wrap ul,
	.fs_box,
	.modal {
	    max-height: 460px;
	}
	.modal {
		max-height: 450px;
	}
	#box_item .container, .selector_box {
		padding: 30px 20px 55px;
	}
	/*explain --------------------------------*/
	.explain {
		display: block;
	}
	.explain_sp {
		display: none;
	}
	/*visual_area --------------------------------*/
	#system_box {
		display: flex;
		justify-content: space-between;
	}
	#visual_box,
	.visual_box {
		margin: 0;
	}
	#visual_area,
	.visual_area {
		width: 54%;
		max-width: 630px;
	}
	#box_item {
		position: relative;
	}
	.mt #box_item {
		margin-top: -45px;
	}
	.material_list-wrap {
		padding-bottom: 35px;
		position: relative;
	}
	#box_item .container::before,
	.material_list-wrap::before {
		content: "";
		width: 6px;
		height: 6px;
		border-bottom: 2px solid var(--sub02);
		border-right: 2px solid var(--sub02);
		position: absolute;
		bottom: 17px;
		left: 50%;
		transform: translateX(-50%) rotate(45deg);
		z-index: 1;
		display: block;
	}
	.material_list-wrap::before {
		bottom: 32px;
	}
	#box_item .container::after,
	.material_list-wrap::after {
		content: "Scroll";
		font-size: 1.4rem;
		font-family: 'Roboto', sans-serif;
		color: var(--su02);
		position: absolute;
/*		padding-top: 25px;*/
		bottom: 29px;
		text-align: center;
		left: 0;
		right: 0;
		display: block;
/*		background-image: linear-gradient(to top , #fff, transparent);*/
	}
	.material_list-wrap::after {
		bottom: 42px;
	}
	.fix-item .material_list-wrap::before,
	.fix-item .material_list-wrap::after {
		display: none;
	}
	#box_item #option_finishing figure {
		width: 130px;
		max-width: 130px;
		height: 150px;
	}
	/*c-submit --------------------------------*/
	.c-submit-wrap {
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
	}
	.c-submit-list {
		justify-content: flex-end;
		align-items: flex-start;
	}
	.c-submit-item02 {
		margin-left: 30px;
	}
	.c-submit-cart input[type="submit"] {
		max-width: 183px;
	}
	.c-submit-cart {
		margin-left: 30px;
	}
	/*infobox --------------------------------*/
	#infobox {
		margin: 0;
		padding: 0;
		border-top: none;
	}
	p[id^="heading_stone"] {
		padding: 20px;
		font-size: 1.6rem;
		font-weight: 500;
		color: var(--sub01);
		font-family: 'Roboto', YuGothic, "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Verdana, Meiryo, sans-serif;
		position: relative;
	}
	p[id^="heading_stone"]::before {
		content: "";
		height: 100%;
		width: 4px;
		background: var(--theme02);
		position: absolute;
		top: 0;
		left: -4px;	
	}
	#heading_stone_lr {
		margin: 0 0 0 -4px;
		padding: 8px 20px 4px;
	}
	#infobox .infobox_link a {
		font-size: 1.5rem;
	}
	#infobox h5 {
		margin: 0;
		padding: 15px 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#infobox h5::before {
		width: 100%;
		top: 0;
		left: 0;
	}
	#infobox h5::after {
		content: "";
		height: 100%;
		width: 4px;
		background: var(--theme02);
		position: absolute;
		top: 0;
		right: 0;
	}
	#heading_stone_genre::before,
	#heading_stone_shape::before,
	#heading_stone_shape_str::before {
		content: "";
		height: 4px;
		background: var(--theme02);
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
		display: block;
	}
	#infobox div[id^="info_stone"],
	#heading_stone_genre + div,
	#heading_stone_genre + div + div,
	#heading_stone_genre + div + div + div,
	#heading_stone_shape_str + div,
	#heading_stone_shape_str + div + div,
	#heading_stone_shape_str + div + div + div,
	#heading_frame + div,
	#heading_frame + div + div,
	#heading_frame +div + div +div,
	div[id^="info_frame"],
	div[id^="info_item"],
	#heading_parts + div,
	#heading_parts + div + div,
	#heading_chain + div,
	#heading_hanging + #info_hanging,
	#heading_stone_deg +div {
		padding: 15px 20px;
		border-top: 4px solid var(--theme02);
		border-right: 4px solid var(--theme02);
	}
	div[id^="info_stone"]::before,
	#heading_stone_genre + div::before,
	#heading_stone_genre + div + div::before,
	#heading_stone_genre + div + div + div::before,
	#heading_stone_shape_str + div::before,
	#heading_stone_shape_str + div + div::before,
	#heading_stone_shape_str + div + div + div::before,
	#heading_frame + div::before,
	#heading_frame + div + div::before,
	#heading_frame +div + div +div::before,
	div[id^="info_frame"]::before, div[id^="info_item"]::before {
		display: none;
		padding: 0 20px;
	}
	#infobox #info_material,
	#infobox #info_ring_arm,
	#infobox #info_ring_size,
	#infobox #info_option {
		margin: 0;
		border-top: 4px solid var(--theme02);
		border-right: 4px solid var(--theme02);
	}
	#infobox #info_option div,
	div#info_item1_pos,
	div#info_item2_pos,
	div[id^="info_item"] {
		margin-bottom: 0;
		padding: 0 0 15px;
	}
	#infobox #info_option {
		padding-bottom: 0;
	}
	#infobox div,
	#infobox.ring_1stone div,
	#infobox.necklace div {
    	padding: 15px 20px;
	}
	#infobox .infobox_link {
		padding: 0;
		border-top: 4px solid var(--theme02);
	}
/*
	#infobox #change_option {
		border-top: none;
	}
*/
	#heading_stone_shape_str + div + div + div,
	#heading_frame +div + div +div,
	div#info_item3_pos {
		margin-bottom: 0;
	}
	.ring_1stone #heading_stone1,
	.necklace #heading_stone1 {
		opacity: 0;
	}
/*	fix --------------------------------*/
	.fix-mail {
		display: flex;
		justify-content: flex-end;
	}
	#fix li figure {
		max-width: 130px;
		height: 150px;
	}
	.step8_item_info,
	.step7_item_info {
		max-width: 130px;
	}
	#fix li .img_stone img,
	#fix li .imagephoto img_ring img {
		max-width: none;
		width: 250px;
		max-height: inherit;
	}
/*	carte-mail --------------------------------*/
	.carte-mail-wrap {
		display: flex;
		justify-content: space-between;
	}
	.carte-mail-inner {
		width: 43%;
    	max-width: 500px;
	}
}
@media screen and (min-width:1024px) {
	.modal {
    	grid-template-columns: repeat(3, 1fr);
		grid-gap: 25px 10px;
/*		max-height: 370px;*/
	}
	.note {
		font-size: 1.3rem;
	}
	.custom-step-nav ul {
		margin-bottom: 100px;
	}
}
@media screen and (min-width:1200px) {
	.modal {
		grid-gap: 25px;
	}
}
@media screen and (min-width:1400px) {
	#material_list {
	    grid-template-columns: repeat(4,1fr);
	}
}
@media screen and (min-width:1500px) {
	#box_item .container,
	.stone_genre_container,
	#material_list,
	#ring_list,
	#box_item .box_item-option {
		margin-bottom: 50px;
	}
	.stone_genre_container ul {
	    grid-template-columns: repeat(4,1fr);
	}
	.modal {
    	grid-template-columns: repeat(4, 1fr);
	}
	.custom-step-nav li {
		font-size: 1.5rem;
	}
	.note {
		font-size: 1.5rem;
	}
	.explain h4,.explain_sp p {
		font-size: 1.6rem;
	}
	#visual_area #price {
		margin-bottom: 50px;
		font-size: 2rem;
	}
	#visual_area #price:first-letter,#visual_area #price span {
		font-size: 3.5rem;
	}
	/*	option --------------------------------*/
		#engrave_select li label {
		font-size: 1.8rem;
		padding-left: 30px;
	}
	#engrave_select li label::before {
		width: 17.5px;
		height: 17.5px;
	}
	#custom_engrave_true:checked ~ #engrave_select #engrave_true label::after,
	#custom_engrave_false:checked ~ #engrave_select #engrave_false label::after {
		width: 12px;
		height: 12px;
	}
	#box_item .option_finishing-txt {
		font-size: 1.6rem;
	}
	.option_finishing-txt a::after {
		top: -3px;
	}
/*	#infobox --------------------------------*/
	#infobox {
		grid-template-columns: auto 1fr 1fr 1fr 150px;
	}
}
/*pierce --------------------------------*/
@media screen and (min-width:768px) {
	.page-pierce .cj-online-art-list {
		justify-content: center;
	}
	.page-pierce .cj-online-art-item {
		margin: 0 20px;
	}
}
.c-re-list {
	margin-bottom: 20px;
	font-size: 1.7rem;
	letter-spacing: .05em;
	display: flex;
}
@media screen and (min-width:375px) {
	.c-re-list {
		font-size: 1.9rem;
	}
}
.c-re-list li {
	margin-left: 10px;
}
.c-re-list li:last-of-type {
	margin-right: 0;
}
.c-re-list .fas {
	margin-left: 5px;
}
.c-re-list a {
	color: var(--sub02);	
}



</pre></body></html>