/*====================================================================================*/
/* Common
/*====================================================================================*/
/*====================================================================================*/
/* PC 
/*====================================================================================*/
.ContentsLayoutWrapper{
    padding-top: 43px;
	padding-left:260px;
	padding-right:50px;
}
/* __ProductMainArea _____________*/
.ProductMainArea{
	margin-bottom: 75px;
}


.ProductMainImage{
    display: inline-block;
	margin-bottom: 20px;
	margin-right:15px;
	vertical-align:top;
	position:relative;
	width: calc(100vw - 680px);
	height: calc((100vw - 680px) * 0.75);
	overflow: hidden;
	
}
.ProductMainImage img{
	min-width: 100%;
    min-height: 100%;
/*    width: 100%;
    height: auto;	*/
    position: absolute;
    display: block;	
}

@media screen and (min-width: 2200px) {
	.ProductMainImage{
		display: inline-block;
		margin-bottom: 20px;
		margin-right:15px;
		vertical-align:top;
		position:relative;
		width: calc(100vw - 800px);
		height: calc((100vw - 800px) * 0.75);
		overflow: hidden;
		
	}
}

.SuperimposeMark{
	position:absolute;
	bottom:20px;
	right:20px;
}
.SExp img{
	position:initial;
    width: 100px;
    margin-bottom: 20px;
}

.prevSlideBtn{
	min-width: initial !important;
	min-height: initial !important;
	width: 50px;
	top: 50% !important;
	left: 0% !important;
	transform: translate(0, 0) !important;
	cursor:pointer;
}
.nextSlideBtn{
	min-width: initial !important;
	min-height: initial !important;
	width: 50px;
	top: 50% !important;
	left: 100% !important;
	transform: translate(-100%, 0) !important;
	cursor:pointer;
	
}
.MainImageApear{
	opacity:1;
	
	width:100%;
	height:100%;
	object-fit:cover;

	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.MainImageCover{
	position:absolute;
	opacity:0;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
	
	object-fit:cover;
	
	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
	transition: all 0.5s;
	
}

.ProductMainThumnailWrapper{
    display: inline-block;
	vertical-align:top;
	width: 140px;

	height: calc((100vw - 680px) * 0.75);
	overflow-y:scroll;
	margin-right: 10px;

}

@media screen and (min-width: 2200px) {
	
	.ProductMainThumnailWrapper{
		display: inline-block;
		vertical-align:top;
		width: 140px;
	
		height: calc((100vw - 800px) * 0.75);
		overflow-y:scroll;
		margin-right: 10px;
	
	}
}

/* スクロールバーの幅 */
.ProductMainThumnailWrapper.has-custom-scrollbar::-webkit-scrollbar {
    width: 10px; /* スクロールバーの幅を常に表示させるために設定 */
}

/* スクロールバーの背景 */
.ProductMainThumnailWrapper.has-custom-scrollbar::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* スクロールバーのつまみ */
.ProductMainThumnailWrapper.has-custom-scrollbar::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

/* ホバー時のつまみ */
.ProductMainThumnailWrapper.has-custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #555;
}
.ProductMainThumnailList{
    vertical-align: top;
	width: 120px;
}
.ProductMainThumnailList img{
    width: 120px;
    height: calc(120px * 0.75);
    margin-bottom: 22px;
    display: block;
    cursor:pointer;
    object-fit: cover;
}

.ProductMainCaption{
	width:900px;
}
.ProductMainTitle{
	margin-bottom: 16px;
    display: inline-block;
    padding-bottom: 18px;
}
.ProductMainDescription{
	margin-bottom: 75px;
}
.ProductMainDescription img{
    width: 100% !important;
    height: auto;
}
.ProductMainMaker{
	display:inline-block;
	margin-bottom: 10px;
}
.ProductMainMaker a{
	text-decoration:none;
	color:black;
}

.ProductMainMakerContentsWrapper{
    display: inline-block;
	position:relative;
    text-align: center;
    vertical-align: middle;
    margin-right:20px;
}
.ProductMainMakerTitle{
	margin-bottom:15px;
}
.ProductMainMakerImage{
}
.ProductMainMakerImage img{
	width:220px;
    border: solid 1px #dddddd;
}
.ProductMainMakerName{
	display:inline-block;
}
.ProductMainDesigner{
	display:inline-block;	
    margin-right: 80px;
}
.ProductMainDesigner a{
	text-decoration:none;
	color:black;
}
.ProductMainDesignerContentsWrapper{
    display: inline-block;
	position:relative;
    text-align: center;
    vertical-align: middle;
}
.ProductMainDesignerTitle{
	margin-bottom:15px;
}
.ProductMainDesignerImage{
}
.ProductMainDesignerImage img{
	width:220px;
}
.ProductMainDesignerName{
	display:inline-block;
}
/* __ ProductSubArea _____________*/
.ProductSubArea{
	margin-bottom: 150px;
}
.ProductSubList{
	margin-bottom: 40px;
}
.imageAreaWrapper{
	display:inline-block;
}

.ProductSubAreaImage {
    display: inline-block;
	margin-right: 26px;
	margin-bottom:10px;
    vertical-align: top;
    position: relative;
    width: 420px;
    height: calc(420px * 0.75);
    overflow: hidden;
	cursor: pointer;
	
	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;

}
.ProductSubAreaImageCart {
    display: inline-block;
	margin-right: 26px;
    margin-bottom: 10px;
    vertical-align: top;
    position: relative;
    width: 480px;
    height: calc(480px * 0.75);
	overflow: hidden;
	
	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;	
}

.ProductSubAreaImage img{
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ProductSubAreaImage > .SExp img{
    min-width: initial;
    min-height: initial;
    width: 18% !important;
    top: 100%;
    left: 100%;
    transform: translate(calc(-100% - 10px),calc(-100% - 10px));
}
.thumnailArea{
	width: 430px;
	text-align:left;
}
.thumnailArea img{
	width: calc((430px / 5) - 10px);
    height: calc((430px / 5) - 10px);
    object-fit: cover;
	margin-right:10px;
	cursor:pointer;
}

.thumnailAreaCart{
    width: 490px;
}
.thumnailAreaCart img{
	width: calc((490px / 5) - 10px);
    height: calc((490px / 5) - 10px);
    object-fit: cover;
	margin-right:10px;
	cursor:pointer;
}


.ProductSubAreaImageCart img{
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
    cursor: pointer;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ProductSubAreaImageCart > .SExp img{
    min-width: initial;
    min-height: initial;
    width: 18% !important;
    top: 100%;
    left: 100%;
    transform: translate(calc(-100% - 10px),calc(-100% - 10px));
}


.ProductSubCaptionArea{
	display:inline-block;
	vertical-align:top;
}
.favoriteEmptyParts{
    margin-bottom:5px;
    cursor: pointer;
}
.favoriteEmptyParts img{
    width: 30px;
    padding-right: 6px;
    display:inline-block;
    vertical-align: middle;
}

.favoriteFillParts{
    margin-bottom:5px;
    cursor: pointer;
}
.favoriteFillParts img{
    width: 30px;
    padding-right: 6px;
    display:inline-block;
    vertical-align: middle;
}
.ProductSubCaptionParts{
	margin-bottom:13px;
}
.ProductSubCaptionPartsTitle{
	display:inline-block;
	width:130px;
	vertical-align:top;
}
.ProductSubCaptionPartsData{
	display:inline-block;
	width:700px;
}
.ProductSubCaptionParts > .subparts{
	display:inline-block;
    border:solid 1px #fafafa;
    user-select: none;
}
.ProductSubCaptionParts > .subparts > .add{
	
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    /* border: solid 0.5px; */
    background-color: #fafafa;;
    cursor: pointer;
    content: "▲";

}
.ProductSubCaptionParts > .subparts > .count{
	display:inline-block;
    text-align: center;
    width: 40px;
    height: 30px;
}
.ProductSubCaptionParts > .subparts > .subtract{
	
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    /* border: solid 0.5px; */
    background-color: #fafafa;;
    cursor: pointer;
    content: "▼";
}
.cartArea{
	border-top:solid 1px;
	padding-top:20px;
}
.ShoppingContents{
}
.ShoppingContents > .Line{
	padding-top: 10px;
}
.ShoppingContents > .Line> .Parts{
	margin-right:10px;
}

.ShoppingContents > .Line> #Price{
	display:inline;
}
.ShoppingContents > .Line> #Quantity{
	display:inline;
}
.ShoppingContents > .Line> #CartButton{
	display:inline;
    background-color: black;
    color: white;
	border:solid 1px;
    padding: 7px 10px 7px 10px;
    cursor: pointer;

	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.AddToCart_button:hover{

	/* Design */
	background-color:#ffffff !important;
	color:black !important;
    border: solid 1px #dddddd!important;
	text-align:center;
	cursor:pointer !important;
}

.ShoppingContents > #CartButton:hover{
	background-color:black;
	color:white;
	border:solid 1px;
}
.Line > .viewcart{
	display:inline-block;
	color:gray;
	cursor:pointer;
}
.Line > .viewcart a{
	text-decoration:none;
	color:#bbbbbb;
}
.Line > .viewcart a:hover{
	color:black;
}
.soldout
{
    /* color: red; */
    position: absolute;
    background: #f20000;
    display: inline;
    color: white;
	padding: 7px 10px 7px 10px;
    line-height: normal;
}
/* ____ form __________________________________*/
select {
    min-width: 30px !important;
    width: 90px !important;
	
}

button {
    font-size: 12pt;
    letter-spacing: 0.1em;
    
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    /* width: 150px; */
    border-style: solid;
    border-width: 0.5px;
    background-color: black;
    border: solid 1px #dddddd;
    color: white;
    text-align: center;
    transition: background-color 0.75s ease;
    transition: color 0.75s ease;
    font-size: 12pt;
    letter-spacing: 0.1em;
	cursor:pointer;
}
.formBtn{
    padding: 7px 10px 7px 10px;
}
.disablebtn {
    background: #eeeeee !important;
    color: #888888;
    cursor: default !important;
}
@media only screen and (max-width: 1490px) {


.ProductSubCaptionPartsTitle {
    display: inline-block;
    width: 140px;
}
.ProductSubCaptionPartsData {
    display: inline-block;
	width: 310px;
}
.ProductSubCaptionParts > .subparts{
	display:inline-block;
    border:solid 1px #fafafa;
    user-select: none;
}
.ProductSubCaptionParts > .subparts > .add{
	
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    /* border: solid 0.5px; */
    background-color: #fafafa;;
    cursor: pointer;
    content: "▲";

}
.ProductSubCaptionParts > .subparts > .count{
	display:inline-block;
    text-align: center;
    width: 40px;
    height: 30px;
}
.ProductSubCaptionParts > .subparts > .subtract{
	
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    /* border: solid 0.5px; */
    background-color: #fafafa;;
    cursor: pointer;
    content: "▼";
}
.ProductMainImage img {
}

.ProductMainDescription {
    margin-bottom: 55px;
    width: 90%;
}

}/* end 1490px */
@media only screen and (max-width: 1220px) {
.ContentsLayoutWrapper{
	padding-left:180px;
}
.ProductMainThumnailWrapper{
    height: calc((100vw - 370px) * 0.75);
    width: 90px;
	}	
	..ProductMainThumnailList{
		width: 100%;
	}
	
.ProductMainImage{
    width: calc(100vw - 370px);
    height: calc((100vw - 370px) * 0.75);
}
.ProductMainImage img {
}

.ProductMainThumnailList{
    display: inline-block;
    margin-right: 0px;
    vertical-align: top;
    margin-bottom: 15px;
	width: 75px;
	height: calc(75px * 0.75);
}
.ProductMainThumnailList img {
	cursor: pointer;
	width: 100%;
	height: calc(75px * 0.75);
}
}/* end 1220px */

.LinkListWrapper{
	padding-top:100px;
}
.PrevWrapper{
	position:relative;
    display: inline-block;
    width: 50%;
    height: 50px;
}
.PrevLink{
	position:absolute;
	top:15px;
	height: 30px;
}
.PrevLink > .SideBar{
    width: 75px;
    height: 1px;
    background: black;
    transform: translate(0px,15px);
}

.PrevLink > .DiagBar{
    width: 20px;
    height: 1px;
    background: black;
    -moz-transform: translate(-3px,7px) rotate(45deg);
    -webkit-transform: translate(-3px,7px) rotate(45deg);
    -o-transform: translate(-3px,7px) rotate(45deg);
    -ms-transform: translate(-3px,7px) rotate(45deg);
    transform: translate(-3px,7px) rotate(-45deg);
}
.PrevLink > .Caption{
	display:inline-block;
}
.NextWrapper{
	position:relative;
    display: inline-block;
	width: 30%;
    height: 50px;
    text-align: right;
}
.NextLink{
	position:absolute;
	top:15px;
    left: 100%;
    transform: translateX(-100%);
    height: 30px;
}
.NextLink > .SideBar{
    width: 75px;
    height: 1px;
    background: black;
    transform: translate(0px,15px);
}

.NextLink > .DiagBar{
    width: 20px;
    height: 1px;
    background: black;
    -moz-transform: translate(58px,7px) rotate(45deg);
    -webkit-transform: translate(58px,7px) rotate(45deg);
    -o-transform: translate(58px,7px) rotate(45deg);
    -ms-transform: translate(58px,7px) rotate(45deg);
    transform: translate(58px,7px) rotate(45deg);
}
.NextLink > .Caption{
	display:inline-block;

}
/* For PupImage */
.PupImageWrapper{
	position:fixed;
    z-index: 2000;
	top:0;
	left:0;
	width: 100%;
    height: 100%;
}
.PupImageWrapper > .Contents{
    position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.PupImage{
	width:750px;
}
.PupImageWrapper > .backGround{
	width:100%;
	height:100%;

    background-color: rgba(0, 0, 0, 0.75);
    cursor: pointer;
}
.PupImageWrapper > .Back{
	/* Layout */
    position: absolute;
	top:0;
	left:0;
	width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.75);

	/* Graphic */
    background-color: rgba(0,0,0,0.75);	
}
.PupCaptionArea{
	color:white;
    width: 650px;
    padding-top: 10px;
    padding-left: 100px;
}
.PupCaptionPartsData{
    display: inline-block;
    width: 500px;	
}
.PrevPup{
	position:fixed;
	top:50%;
	left:10%;
    transform: translateY(-50%);    
	width: 60px;
    height: 60px;
    cursor: pointer;
}
.PrevPup > .up{
	width:30px;
	height:1px;
	background:white;

    -moz-transform: translate(0,20px) rotate(-45deg);
    -webkit-transform: translate(0,20px) rotate(-45deg);
    -o-transform: translate(0,20px) rotate(-45deg);
    -ms-transform: translate(0,20px) rotate(-45deg);
    transform: translate(0,20px) rotate(-45deg);
    
}
.PrevPup > .down{
	width:30px;
	height:1px;
	background:white;
    -moz-transform: translate(0,40px) rotate(45deg);
    -webkit-transform: translate(0,40px) rotate(45deg);
    -o-transform: translate(0,40px) rotate(45deg);
    -ms-transform: translate(0,40px) rotate(45deg);
    transform: translate(0,40px) rotate(45deg);
}

.NextPup{
	position:fixed;
	top:50%;
	left:90%;
    transform: translateY(-50%);    
	width: 60px;
    height: 60px;
    cursor: pointer;
}
.NextPup > .up{
	width:30px;
	height:1px;
	background:white;
    -moz-transform: translate(0,20px) rotate(45deg);
    -webkit-transform: translate(0,20px) rotate(45deg);
    -o-transform: translate(0,20px) rotate(45deg);
    -ms-transform: translate(0,20px) rotate(45deg);
    transform: translate(0,20px) rotate(45deg);
}
.NextPup > .down{
	width:30px;
	height:1px;
	background:white;
    -moz-transform: translate(0,40px) rotate(-45deg);
    -webkit-transform: translate(0,40px) rotate(-45deg);
    -o-transform: translate(0,40px) rotate(-45deg);
    -ms-transform: translate(0,40px) rotate(-45deg);
    transform: translate(0,40px) rotate(-45deg);
}
.ClosePup{
	position:fixed;
	top:30px;
	left:100%;
    transform: translateX(-110px);    
	width: 60px;
    height: 60px;
    cursor: pointer;
}
.ClosePup > .left{
	width:50px;
	height:1px;
	background:white;
    -moz-transform: translate(0,20px) rotate(-45deg);
    -webkit-transform: translate(0,20px) rotate(-45deg);
    -o-transform: translate(0,20px) rotate(-45deg);
    -ms-transform: translate(0,20px) rotate(-45deg);
    transform: translate(0,20px) rotate(-45deg);
}
.ClosePup > .right{
	width:50px;
	height:1px;
	background:white;
    -moz-transform: translate(0,20px) rotate(45deg);
    -webkit-transform: translate(0,20px) rotate(45deg);
    -o-transform: translate(0,20px) rotate(45deg);
    -ms-transform: translate(0,20px) rotate(45deg);
    transform: translate(0,20px) rotate(45deg);

}

.ForContactWrapper{
    position: fixed;
    display: FLEX;
    left: 100%;
    top: 200px;
    transform: translate(calc(-100% - 40px));
    width: 400px;
    padding-top: 25px;
    margin-top: 50px;
}
.ForContact{
	width: 400px;
    text-align: left;
    display: inline-block;
    background-color: #f8f8f8;
    padding:30px;
}
.TotalArea > .parts{
    margin-bottom: 16px;
    padding-bottom: 6px;
/*    border-bottom: solid 1px #eeeeee;*/
}
.TotalArea > .parts > .title{
    display: inline-block;
	width: 90px;
    margin-right: 10px;
	border-bottom: solid 1px #e0e0e0;
    padding-bottom: 10px;
}
.TotalArea > .parts > .data{
    display: inline-block;
    width: 120px;
	border-bottom: solid 1px #e0e0e0;
    padding-bottom: 10px;
}
.LinkButton{
	display:inline-block;
	padding:7px 15px 7px 15px;
	border:solid 1px;
	cursor:pointer;
	background-color:black;
	color:white;
	
	/* For animation */
    transition: background-color 0.75s ease;
    transition: color 0.75s ease;
}
.LinkButton:hover{
	background-color:white;
	color:black;
}

/*====================================================================================*/
/* スマフォ縦表示
/*====================================================================================*/
/* ipad pro? */
@media only screen and (max-width: 1024px) and (orientation:portrait){

.ContentsLayoutWrapper{
	padding-top: 135px;
	padding-left: 40px;
	padding-right: 40px;
}
.ProductMainImage {
    display: inline-block;
    position: relative;
    vertical-align: top;
    margin-right: 0px;
    margin-bottom: 20px;
    padding-left: 0;
    padding-right: 10px;
	width: calc(100vw - 170px);
	height: calc((100vw - 170px) * 0.75);
}
.ProductMainImage img {
}
/* Thumnail ___________________*/
.ProductMainThumnailWrapper{
	width: 60px;
	height: calc((100vw - 170px) * 0.75);
	overflow-y: scroll;
	margin-right: 6px;
	display: inline-block;
}
.ProductMainThumnailList{
	margin-right: 0;
	margin-left: 0;
	width: 50px;
	height: calc(50px * 0.75);
}
.ProductMainThumnailList img{
	width: 50px;
	height: calc(50px * 0.75);
}
.ProductSubList{
	margin-bottom:40px;
	width:100%;
}
.imageAreaWrapper {
    width: 100%;
}
.ProductSubAreaImage img {
}
.ProductSubCaptionPartsTitle {
	display: inline-block;
	width: 100px;
}
	.ProductSubCaptionPartsData{
		width: calc(100% - 110px);
	}
	.thumnailArea {
		width: 100%;
	}
	
.NotAvailable{
	
}

/* Designer ___________________*/
.ProductMainDesigner {
    display: inline-block;
    margin-right: 10px;
	width: calc(50% - 10px);
	vertical-align:top;	
}
.ProductMainDesignerImage img {
    /* width: 220px; */
    width: 100%;
}
/* Maker ___________________*/
.ProductMainMaker {
    display: inline-block;
    margin-bottom: 10px;
    width: calc(50% - 10px);
}	
.ProductMainMakerContentsWrapper{
    width: 100%;
}
.ProductMainMakerImage{
}
.ProductMainMakerImage img {
    /* width: 220px; */
    width: 100%;
}
.MainImageApear{
		width:60px;
}
/* Product */
.ProductMainCaption {
    width: 100%;
}

.ProductSubAreaImage {
	width: 100%;
	height: calc((100vw - 80px) * 0.75);
}
.thumnailArea {
    width: 100%;
    text-align: left;
}
.thumnailArea img {
	width: calc(((100vw - 60px) / 5) - 14px);
	height: calc(((100vw - 60px) / 5) - 14px);
}	
.NextWrapper.NextWrapper{
	width: 49%;
}
.imageAreaWrapper {
    display: inline-block;
    width: 100%;
}
.prevSlideBtn {
    min-width: initial !important;
    min-height: initial !important;
    width: 30px;
    top: 50% !important;
    left: 0% !important;
    transform: translate(0, -50%) !important;
    cursor: pointer;
}
.nextSlideBtn {
    min-width: initial !important;
    min-height: initial !important;
    width: 30px;
    top: 50% !important;
    left: 100% !important;
    transform: translate(-100%, -50%) !important;
    cursor: pointer;
}
.PrevWrapper {
    width: calc(50% - 20px);
}
	
	
.ProductSubAreaImageCart{
	width:100%;
    height: auto;
	overflow: initial;
	position:initial;	
}
.ProductSubAreaImageCart img {
	min-width: initial;
	min-height: initial;
	width: initial;
	position: initial;
	top: initial;
	left: initial;
	transform: initial;
    display: block;
    cursor: pointer;
    width: 100%;
    height: initial;
	object-fit: cover;
	}	
/*====================================================================================*/
/* スマフォ　横表示
/*====================================================================================*/
@media only screen and (max-width: 1024px) and (orientation:landscape){
.ContentsLayoutWrapper{
	padding-left:100px;
}
}

