
html{
	touch-action: manipulation;
}

body{
	margin:0px;
	padding:0px;
	overflow-x:hidden;
	overflow-y:hidden;
	/*background-color:rgb(37, 35, 35);*/
	background-color: rgba(255, 255, 255, 1);
	font-family: sans-serif;
}
body.layout2{
	overflow-y:auto;
}

/* ヘッダー */
header{
	height:80px;
	width:100vw;
	background-color:#009e96;
}
body.layout2 header{
	height:48px;
	touch-action: manipulation;
}
/* ヘッダーロゴ */
header .logo{
	display:inline-block;
	vertical-align:middle;
}
header .logo > a > img{
	display:inline-block;
	vertical-align:middle;
	margin-left:10px;
	width:auto;
	height:80px;
	width:auto;
}
body.layout2 header .logo > a > img{
	margin-left:10px;
	height:48px;
	width:auto;
}
header .btns{
	display:inline-block;
	vertical-align:middle;
}
body.layout2 header .btns{
	width: calc(100vw - 112px);
	touch-action: manipulation;
}
header .btns .btn{
	display:
	inline-block;
	color:#ba342f;
	/* background-color:rgba(255,255,255,1); */　←この行をコメントアウト
	/* padding:0px 30px 0px 20px; */　←この行をコメントアウト
	border-radius:15px;
	cursor:
	pointer;
	font-size: 0.8em;
}
body.layout2 header .btns .btn{
	color:transparent;
	background-color:transparent;
	padding:0px;
	border-radius:0px;
	height:48px;
	width:48px;
	vertical-align:middle;
}

body header .btns .btn .icon.pc{
	display:inline-block;
	vertical-align:middle;
	width:18px;
	height:18px;
	margin:6px;
}

body header .btns .btn .icon.sp{
	display:none;
}
body.layout2 header .btns .btn .icon.pc{
	display:none;
}
body.layout2 header .btns .btn .icon.sp{
	vertical-align:middle;
	display:inline-block;
	width:26px;
	height:26px;
	margin:11px;
}
header .btns .btn label{
	cursor:pointer;
	vertical-align:middle;
	display: none;
}

body.layout2 header .btns .btn label{
	display:none;
}
header .btns .btn:hover{
	color:#ba342f;
}
/* コンテンツ */
.subconents{
	display:none;
	position:absolute;
	top:80px;
	left:0px;
	right:0px;
	width:100vw;
	height:calc(100vh - 80px);
	z-index:100;
	background-color:rgba(0, 0, 0,0.8);
}

body.layout2 .subconents{
	top:48px;
	height:auto;
}

/* モーダル */
.modal{
	position:relative;
	padding:20px;
	height:calc(100vh - 120px);
	background-color:rgb(255, 255, 255);
}
body.layout2 .modal{
	width:auto;
	height:calc(100vh - 44px);
	margin:0px;
}
/* モーダル閉じる */
.modal .close_modal{
	position: absolute;
    right: 20px;
    top: 20px;
	cursor:pointer;
}
body.layout2 .modal .close_modal{
	top: 22px;
}
/* カテゴリ */
#category{
}
/* お気に入り */
#favorite{
}
/* 商品検索 */
#itemsearch .modal{
	width:750px;
	height:400px;
	margin-top:50px;
	margin-left:calc((100vw - 750px) / 2);
	margin-bottom:1em;
}
body.layout2 #itemsearch .modal{
	width:auto;
	height:calc(100vh - 48px);
	margin:0px;
}
/* 商品詳細 */
body.layout2 #itemdetail .modal{
	width: 100vw;
	height:auto;
	margin:0px;
	min-height: 100vh;
	padding: 20px;
}
#itemdetail .modal{
	position: relative;
	width:920px;
	height:auto;
	margin-top:50px;
	margin-left:calc(50vw - 410px - 40px);
	align-items: center;
	padding: 0;
}
/* 商品詳細 画像 */
#itemdetail .image{
	width:350px;
	height:auto;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	float:left;
}
body.layout2 #itemdetail .image{
	width:calc(-50px + 100vw);
	height: auto;
	text-align:center;
}

body.layout1 #itemdetail .icon_wrap{
	display: inline-block;
	margin-left: auto;
}

#itemdetail .arrow_left,
#itemdetail .arrow_right{
	display: inline-block;
	width: 50px;
	height:auto;
	text-align: left;
	vertical-align: middle;
	cursor:pointer;
}

#itemdetail .mainimage_block{
	display: inline-block;
	width:250px;
	height:250px;
	vertical-align: middle;
	overflow:hidden;
}
body.layout2 #itemdetail .mainimage_block{
	width:calc(100vw - 150px);
	height: calc(100vw - 150px);
	text-align:center;
}

#itemdetail .image_list{
	width:auto;
	height:250px;
	text-align:left;
}
body.layout2 #itemdetail .image_list{
	height: calc(100vw - 150px);
}

#itemdetail .mainimage_block .thumb_wrap{
	display: inline-block;
	position: relative;
	width: 250px;
	height: 250px;
	text-align:center;
}
body.layout2 #itemdetail .mainimage_block .thumb_wrap{
	width: calc(100vw - 150px);
	height: calc(100vw - 150px);
}
#itemdetail .mainimage_block .thumb{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
body.layout2 #itemdetail .mainimage_block .thumb{

}

#itemdetail .subimage_block{
	width:330px;
	height:135px;
	overflow:hidden;
	overflow-x:auto;
}
body.layout2 #itemdetail .subimage_block{
	width:calc(100vw - 40px);
	height:calc((100vw - 40px) / 3 + 4px);
}

#itemdetail .subimage_wrap{
	height:106px;
	text-align:left;
}
body.layout2 #itemdetail .subimage_wrap{
	height:calc((100vw - 40px) / 3 + 4px);
}

#itemdetail .subimage_wrap .thumb_wrap{
	display: inline-block;
	position: relative;
	width: 106px;
	height: 106px;
	text-align:center;
	border-style:solid;
	border-width:2px;
	border-color:transparent;
	cursor:pointer;
}
body.layout2 #itemdetail .subimage_wrap .thumb_wrap{
	width: calc((100vw - 40px) / 3);
	height: calc((100vw - 40px) / 3);
}
#itemdetail .subimage_block .thumb_wrap.selected{
    border-color: #ba342f;
}

#itemdetail .subimage_block .thumb_wrap:hover{
	border-color:rgba(100,100,100,0.5);
}

#itemdetail .subimage_block .thumb{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
body.layout2 #itemdetail .subimage_block .thumb{
}

/* 商品詳細 情報 */
#itemdetail .info{
}
body.layout2 #itemdetail .info{
}

/* 商品詳細 商品名 */
#itemdetail .info .name{
	display:inline-block;
	font-weight:bold;
	font-size:1.5em;
	margin:1em 0px 0em 0px;
	width: 100%;
}

/* 商品詳細 お気に入り、いいね */
#itemdetail .social{
	display: flex;
	margin: 10px 0;
}

#itemdetail .social .icon.like{
	position: relative;
	height: 28px;
	vertical-align:middle;
	cursor:pointer;
	padding-left: 40px;
}

#itemdetail .social .like_count{
	display:inline-block;
	font-size: 16px;
}

#itemdetail .social .icon.favorite{
	display: inline-block;	
	cursor:pointer;
}

#itemdetail .social .favorite span{
	padding: 0 5px;
}

#itemdetail .social span{
	padding: 5px;
	vertical-align: middle;
	font-size: 0.9em;
}

#itemdetail .social .icon img{
	height: 28px;
	width: 28px;
	margin:2px;
	vertical-align:middle;
}

#itemdetail .social .like img{
	height: 28px;
	width: 28px;
	margin:2px;
	vertical-align:middle;
}

/* 商品詳細 概要 */
#itemdetail .summary{
	display:inline-block;
	margin:1em 0px;
	width: 430px;
	margin-left: 40px;
	font-weight: bold;
}
body.layout2 #itemdetail .summary{
	width: calc(100vw - 40px);
	margin-left: 0px;
}

/* 商品詳細 詳細 */
#itemdetail .info .detail{
	display:inline-block;
	font-size:0.8em;
	height:auto;
	width: 430px;
	margin-left: 40px;
	overflow:hidden;
	overflow-y:auto;
}
body.layout2 #itemdetail .info .detail{
	height:auto;
	width: calc(100vw - 40px);
	margin-left: 0px;
	overflow:hidden;
}

/* 商品詳細 動画 */
#itemdetail .relation{
	clear:both;
	text-align: left;
	width: 350px;
	min-height:160px;
    float: left;
	margin:1em 0px;
}
body.layout2 #itemdetail .relation{
	min-height: 0px;
	margin: 5px;
}
#itemdetail .relation .mov{
	display: inline-block;
	width:153px;
	height:86px;
}
body.layout2 #itemdetail .relation .mov{
	display: block;
	width:calc(100vw - 40px);
	height:calc((100vw - 40px) / 16 * 9);
}

#itemdetail .mov:not(:last-child){
	margin-right: 20px;
}

/* 商品詳細 機能アイコン */
#itemdetail .info .func_icon{
	display:inline-block;
	width: 430px;
	margin: 10px 0px 20px 40px;
	font-size:1.6em;
}
body.layout2 #itemdetail .info .func_icon{
	margin: 0px;
	width: calc(100vw - 40px);
}

#itemdetail .info .func_icon>img{
	width: 430px;
}

body.layout2 #itemdetail .info .func_icon>img{
	width: calc(100vw - 40px);
}

/* 商品詳細 価格 */
#itemdetail .info .price{
	display:inline-block;
	width: 430px;
	margin: 10px 0px 20px 40px;
	font-size:1.6em;
}
body.layout2 #itemdetail .info .price{
	width:calc(100vw - 40px);
	margin: 0px;
}

/* 商品詳細 型番とECサイトの外側の枠 */
body.layout1 #itemdetail .info .id_wrap{
	margin-left: 40px;
}
/* 商品詳細 型番のラベル */
body.layout1 #itemdetail .info .id_label{
	vertical-align: top;
	margin-left: 40px;
}
body.layout2 #itemdetail .info .id_label{
	vertical-align: top;
}
/* 商品詳細 型番 */
body.layout1 #itemdetail .info .id{
	display:inline-block;
	width:315px;
	vertical-align: top;
}
body.layout2 #itemdetail .info .id{
	margin: 0px;
	display: inline-block;
    width: calc(100vw - 80px);
}

/* 商品詳細 ECサイト */
#itemdetail .info .link{
	display:block;
}
body.layout2 #itemdetail .info .link{
	width:calc(100vw - 40px);
	margin: 0px;
}

/* 商品詳細 ECサイトボタン */
#itemdetail .btn{
	display:inline-block;
	color:rgba(0,0,0,1);
	background-color:rgba(212,212,212,1);
	padding:5px 20px;
	border-radius:15px;
	font-size: 0.8em;
	margin-left: 40px;
	margin-top: 10px;
}

#itemdetail .btn label{
	cursor:pointer;
}

#itemdetail .modal .modal_wrap{
	overflow: hidden;
}

#itemdetail .scroll_icon img{
	width:50px;
	cursor:pointer;
}

#itemdetail .scroll_icon.left_bar{
	position: absolute;
	left:-50px;
	top:calc(50vh - 160px);
}
body.layout2 #itemdetail .scroll_icon.left_bar{
	position: fixed;
	left:10px;
	top:50vh;
	z-index:100;
}
body.layout2 #itemdetail .scroll_icon.left_bar img{
	width: 25px;
	height: 25px;
}

#itemdetail .scroll_icon.right_bar{
	position: absolute;
	right: -50px;
    top: calc(50vh - 160px);
}
body.layout2 #itemdetail .scroll_icon.right_bar{
	position: fixed;
	right:10px;
	top:50vh;
	margin-left: calc(-25px + 100vw);
	z-index:100;
}
body.layout2 #itemdetail .scroll_icon.right_bar img{
	width: 25px;
	height: 25px;
}

#itemdetail .detail_wrapper{
}
body.layout2 #itemdetail .detail_wrapper{
	width: calc(100vw - 40px);
}

/* メイン */
#main{
	width:100vw;
	height:auto;
	z-index:50;
}
/* カタログ */
#catalog{
	display:inline-block;
	width:calc(100vw - 400px);
	height:calc(100vh - 80px);
	margin:0px;
	padding:0px;
	vertical-align: bottom;
}
body.layout2 #catalog{
	height:calc(100vh - 200px);
}
#catalog.open{
	animation: catalogMenuOpen 0.5s ease forwards;
	-webkit-animation: catalogMenuOpen 0.5s forwards;
}
/* IE8-11 */
@media screen\0 {
	#catalog.open{
		width:calc(100vw - 400px);
	}
}
/* IE10以降(Edge含む) */
_:-ms-lang(x), #catalog.open{
	width:calc(100vw - 400px);
}
#catalog.close{
	animation: catalogMenuClose 0.5s forwards;
	-webkit-animation: catalogMenuClose 0.5s forwards;
}
/* IE8-11 */
@media screen\0 {
	#catalog.close{
		width:100vw;
	}
}
/* IE10以降(Edge含む) */
_:-ms-lang(x), #catalog.close{
	width:100vw;
}
@keyframes catalogMenuOpen {
    from {
        width:100vw;
    }
    to {
        width:calc(100vw - 400px);
    }
}
@-webkit-keyframes catalogMenuOpen {
    from {
        width:100vw;
    }
    to {
        width:calc(100vw - 400px);
    }
}
@keyframes catalogMenuClose {
    from {
        width:calc(100vw - 400px);
    }
    to {
        width:100vw;
    }
}
@-webkit-keyframes catalogMenuClose {
    from {
        width:calc(100vw - 400px);
    }
    to {
        width:100vw;
    }
}
body.layout2 #catalog{
	width:100vw;
}
/* アイテム一覧 */
#items{
	display:inline-block;
	position:relative;
	width:400px;
	height:calc(100vh - 80px);
	margin:0px;
	padding:0px;
	background-color:rgb(255, 255, 255);
	vertical-align: bottom;

	/* 右寄せ */
	float:right;
}
#items_wrap{
	width:400px;
	height:calc(100vh - 80px);
	margin:0px;
	padding:0px;

	overflow-y:auto;
	overflow-x:hidden;
}
body.layout2 #items{
	float:none;
	width:100vw;
	height:auto;
}
body.layout2 #items_wrap{
	width:100vw;
	height:auto;
}
#items.open{
	animation: itemMenuOpen 0.5s forwards;
	-webkit-animation: itemMenuOpen 0.5s forwards;
}
/* IE8-11 */
@media screen\0 {
	#items.open{
        width:400px;
	}
}
/* IE10以降(Edge含む) */
_:-ms-lang(x), #items.open{
	width:400px;
}
#items.close{
	animation: itemMenuClose 0.5s forwards;
	-webkit-animation: itemMenuClose 0.5s forwards;
}
/* IE8-11 */
@media screen\0 {
	#items.close{
		width:0px;
	}
}
/* IE10以降(Edge含む) */
_:-ms-lang(x), #items.close{
	width:0px;
}
@keyframes itemMenuOpen {
    from {
        width:0px;
    }
    to {
        width:400px;
    }
}
@-webkit-keyframes itemMenuOpen {
    from {
        width:0px;
    }
    to {
        width:400px;
    }
}
@keyframes itemMenuClose {
    from {
        width:400px;
    }
    to {
        width:0px;
    }
}
@-webkit-keyframes itemMenuClose {
    from {
        width:400px;
    }
    to {
        width:0px;
    }
}
#items ul{
	margin:0px;
	padding:10px 20px 10px 10px;
	list-style:none;
	width:370px;
}
body.layout2 #items ul{
	width:calc(100vw - 20px);
}
#items ul li{
	margin:0px;
	padding:5px;
	clear: both;
	list-style:none;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}
#items ul li:hover{
    border-width: 2px;
    border-style: solid;
    border-color: #ba342f;
    cursor:pointer;
}
#items .image{
	display:inline-block;
    /*border-width: 1px;
    border-style: solid;
    border-color: rgb(206, 206, 206);*/
}

#items .image:hover{
	display:inline-block;
	cursor:pointer;
}

#items .thumb{
	width: 80px;
    height: auto;
    vertical-align:top;
}
#items .info{
	display:inline-block;
	vertical-align: top;
  width: 255px;
  margin: 0px 10px;
  font-size:15px;
}
body.layout2 #items .info{
    width:calc(100vw - 140px);
}

#items .info .name{
	display:inline-block;
	font-weight:bold;
}
#items .info .detail{
	display:inline-block;
	font-size:0.8em;
	padding-bottom: 4px;
	margin-bottom: 5px;
}
#items .info .detail .checkmovie{
	display:block;
	padding:4px 4px 0 4px;
	font-weight:bold;
	color:rgb(186, 52, 47);
}
#items .info .link{
	display:inline-block;
}
#items .info .price{
    display: inline-block;
    width: 280px;
	font-weight:bold;
}

#items .info .ec .btn{
	display:
	inline-block;
	color:
	rgba(0,0,0,1);
	background-color:
	rgba(212,212,212,1);
	padding:5px 20px;
	/*border-radius:15px;*/　←この行をコメントアウト
	font-size: 0.8em;
}

#items .info .ec .btn label{
	cursor:pointer;
}

#items .social{
	width: 32px;
    height: auto;
    vertical-align:bottom;
    display:inline-block;
    margin-left:8px;
}
#items .social .icon img{
	width: 24px;
    height: auto;
    margin:4px;
    vertical-align:middle;
}

/* アイテム一覧のトグルボタン */
#item_toggle {
	display: inline-block;
	position:absolute;
	top:0px;
	left:-45px;
	padding:0px;
	cursor: pointer;
}
#item_toggle .ic_menu_close {
	display:none;
	width:45px;
	height:45px;
}
#item_toggle .ic_menu_open {
	display:inline-block;
	width:45px;
	height:45px;
}
#item_toggle.close .ic_menu_close {
	display:inline-block;
}
#item_toggle.close .ic_menu_open {
	display:none;
}

/* 閉じるボタン */
.close_icon .bar1,.close_icon .bar2,.close_icon .bar3 {
  width: 35px;
  height: 3px;
  background-color: #333;
  margin: 6px 0;
  transition: 0.4s;
}

/* Rotate first bar */
.close_icon.close .bar1 {
	-webkit-transform: rotate(-45deg) translate(-9px, 7px) ;
	transform: rotate(-45deg) translate(-9px, 7px) ;
}

/* Fade out the second bar */
.close_icon.close .bar2 {
  opacity: 0;
}

/* Rotate last bar */
.close_icon.close .bar3 {
	-webkit-transform: rotate(45deg) translate(-5px, -4px) ;
	transform: rotate(45deg) translate(-5px, -4px) ;
}

/* ローディング */
#loading{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:2000;
	background-color:rgba(51,54,59,1);
}
#loadingbase{
	position:absolute;
	top:calc(100vh / 2 - 33px);
	left:calc(100vw / 2 - 33px);
}
.scaling-squares-spinner, .scaling-squares-spinner * {
  box-sizing: border-box;
}

.scaling-squares-spinner {
  height: 65px;
  width: 65px;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  animation: scaling-squares-animation 1250ms;
  animation-iteration-count: infinite;
  transform: rotate(0deg);
}

.scaling-squares-spinner .square {
  height: calc(65px * 0.25 / 1.3);
  width: calc(65px * 0.25 / 1.3);
  margin-right: auto;
  margin-left: auto;
  border: calc(65px * 0.04 / 1.3) solid #ff1d5e;
  position: absolute;
  animation-duration: 1250ms;
  animation-iteration-count: infinite;
}

.scaling-squares-spinner .square:nth-child(1) {
  animation-name: scaling-squares-spinner-animation-child-1;
}

.scaling-squares-spinner .square:nth-child(2) {
  animation-name: scaling-squares-spinner-animation-child-2;
}

.scaling-squares-spinner .square:nth-child(3) {
  animation-name: scaling-squares-spinner-animation-child-3;
}

.scaling-squares-spinner .square:nth-child(4) {
  animation-name: scaling-squares-spinner-animation-child-4;
}


@keyframes scaling-squares-animation {

  50% {
    transform: rotate(90deg);
  }

  100% {
    transform: rotate(180deg);
  }
}

@keyframes scaling-squares-spinner-animation-child-1 {
  50% {
    transform: translate(150%,150%) scale(2,2);
  }
}

@keyframes scaling-squares-spinner-animation-child-2 {
  50% {
    transform: translate(-150%,150%) scale(2,2);
  }
}

@keyframes scaling-squares-spinner-animation-child-3 {
  50% {
    transform: translate(-150%,-150%) scale(2,2);
  }
}

@keyframes scaling-squares-spinner-animation-child-4 {
  50% {
    transform: translate(150%,-150%) scale(2,2);
  }
}


/* 回転してねメッセージ */
#go_rotete{
	position:absolute;
	display:none;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:3000;
	background-color:rgba(236, 236, 236,0.9);
}
#go_rotete_base{

}
#go_rotete_base .icon{
	width:256px;
	height:256px;
	margin-left: calc(50vw - 128px);
    margin-top: calc(50vh - 128px);
}

#itemsearch .modal{
	position: relative;
	width:900px;
	height:auto;
	margin-top:50px;
	margin-left:calc((100vw - 940px) / 2);
	margin-bottom:1em;
	overflow: hidden;
	overflow-y: auto;
}



#items .info{
	width: 215px;
	font-size: 15px;
}

#items .icon{
	/*margin-bottom: 10px;*/
	position: relative;
}

#items .icon .like_count{
	font-size: 14px;
	margin-top:-6px;
	color: #c04837;
	text-align: center;
	/*position: absolute;
	width: 100%;
	left: 0;
	top: calc(50% - 23px);*/
}

#items .info .f_icon{
	width: 215px;
}

#items .info .f_icon{
	width: 215px;
}

.layout2 #items .info .f_icon{
	width: calc(100vw - 190px);
}


.tabs{
	width:100%;
	text-align:center;
}
.tab_navi{
	border-style:none none solid none;
	border-width:1px;
	border-color:#cccccc;
}
/*お気に入りタブボタンのスタイル*/
.tab_item{
	display: inline-block;
	font-size: 1em;
	padding: 10px 30px;
	border-style:none none none none;
	border-width:3px;
}
label.tab_item:hover {
	opacity: 0.5;
	cursor:pointer;
}
.tabs > label{
	font-size: 1.3em;
}

/*選択されているタブのスタイルを変える*/
.tab_item.selected{
	font-weight:bold;
	border-style:none none solid none;
	border-color:#ba342f;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
	display: none;
	clear: both;
}

#favorite .scroll_block{
	width: 100%;
	overflow: hidden;
	overflow-x: auto;
}

/*お気に入り一覧表示タブページのスタイル*/
#favorite h1{
	text-align:center;
	margin: 0;
	padding: 20px 0;
}
#favorite h1 .icon{
	width: 30px;
	height: auto;
	vertical-align: middle;
	margin: 4px;
	margin-bottom:7px;
}
body.layout2 #favorite h1 .icon {
	width: 25px;
	height: 25px;
}
#favorite h1 label{
	display:inline-block;
	vertical-align: middle;
	font-size: 30px;
	padding-left: 13px;
}

#favorite ul{
	margin:10px;
	padding:10px;
	list-style:none;
}

#favorite ul li{
	margin:0px;
	padding:10px;
	clear: both;
	list-style:none;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}
#favorite ul li:hover{
    background-color: rgba(100, 100, 100,0.5);
}

#favorite .drop_column{
	display:inline-block;
    cursor:pointer;
}#favorite .drop_column .drop_icon{
	width: 32px;
  height: auto;
  vertical-align:middle;
}

#favorite .exsist_compare_column{
	min-width: 40px;
	display:inline-block;
}

#favorite .compare_icon{
	width: 40px;
	height: auto;
	vertical-align:middle;
}

#favorite .image_column{
	display:inline-block;
    /*border-width: 1px;
    border-style: solid;
    border-color: rgb(206, 206, 206);*/
}
#favorite .image_column .thumb{
	width: 160px;
    height: auto;
    vertical-align:middle;
	cursor: pointer;
}

#favorite .name_column{
	display:inline-block;
	text-align: left;
	vertical-align:middle;
	width:200px;
  margin: 0px 10px;
}
#favorite .name_column .name{
	display:inline-block;
	font-weight:bold;
}
#favorite .name_column .itemno{
	display:inline-block;
	font-size: 0.8em;
}

#favorite .info_column{
	display:inline-block;
	text-align: left;
	vertical-align: middle;
	width:290px;
	margin: 0px 10px;
}
#favorite .info_column .info{
	display:inline-block;
	font-size:0.8em;
}

#favorite .price_column{
	display:inline-block;
	vertical-align: middle;
	width:160px;
	margin: 0px 10px;
}
#favorite .price_column .price{
	display:inline-block;
	font-weight:bold;
}

#favorite .link_column{
	display:inline-block;
	vertical-align: middle;
	width:120px;
    margin: 0px 10px;
}

#favorite .link_column .link{
	display:inline-block;
}

#favorite .link_column .link .btn{
	display:inline-block;
	color:rgba(0,0,0,1);
	background-color:rgba(212,212,212,1);
	padding:5px 20px;
	border-radius:15px;
	font-size: 0.8em;
}

/*お気に入りページカテゴリ別比較デザイン*/
#favorite th,
#favorite td{
	letter-spacing: 0.1em;
}

#favorite .modal{
	height: calc(-100 + 100vh);
	width: calc(-40 + 100vw);
	overflow-y: auto;
}

#favorite .compare_block{
	text-align: left;
}


.compare_block h2{
	width:200px;
	text-align: left;
	padding-left: 20px;
	min-width: 200px;
  border-left: solid 3px #a22041;
}

.compare_table {
	display:inline-block;
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
	margin: 15px;
}

.compare_table th{
	white-space: nowrap;
}

.compare_table th,
.compare_table td{
	min-width: 80px;
	/*max-width: 250px;*/
	font-size: 0.9em;
	padding: 0 10px;
}

.compare_table th:empty,
.compare_table td:empty{
	display: none;
}

.compare_table th,
.compare_table td{
  border: 1px solid #bbb;
}

.compare_table th{
	padding: 10px;
	background-color: #F2F2F2;
}

#favorite_bycategory_content .thumb{
	width: 80px;
	height: auto;
	cursor: pointer;
}

#template,
#template2{
	display:none;
}

/*商品検索ページスタイル*/
#itemsearch .tab_navi{
	border-style: none;
}

#itemsearch .tab_item{
	display: none;
}

#itemsearch .icon.search_icon{
	display:inline-block;
	vertical-align:middle;
	width:25px;
	height:25px;
	margin: 0 12px 0 0;
}

#itemsearch .back_area{
	text-align: left;
}

#itemsearch .back_btn{
	text-align: left;
	display: inline-block;
	cursor:pointer;
}

#itemsearch .back_btn span{
	cursor:pointer;
	vertical-align: middle;
	line-height: 35px;
}

#itemsearch .back_btn .icon.back_icon{
	cursor:pointer;
	display:inline-block;
	vertical-align:top;
	width:20px;
	height:20px;
	margin:6px;
}

#itemsearch h1{
	font-size: 30px;
	text-align:center;
	margin: 0;
	padding: 0 3.2% 20px;
}

.layout2 #itemsearch h1 {
	font-size: 24px;
}

#itemsearch h1 span{
	vertical-align: middle;
	line-height: 30px;
}

.search_area{
	display: flex;
	flex-flow:column nowrap;
}

.search_item{
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.search_item .title{
	text-align:right;
	width: 260px;
	padding-right: 10px;
}

.search_item .form_item{
	text-align: left;
	width: 350px;
	padding-left: 10px;
}

.search_item .form_item span{
	font-size: 14px;
}

.layout2 .search_item .form_item span{
	position: absolute;
	left: 51.5%;
	top: 6px;
	transform: translateX(-50%);
}

.search_item select{
	max-width: 282px;
}

.search_item .search_keyword{
	max-width: 278px;
}

.layout2 .search_item input[type=text] {
	font-size: 16px;
	transform: scale(0.9);
}

.search_item .price_row,
.search_item .price_high{
	width: 125px;
}

.search_button{
	margin-top: 30px;
	text-align: center;
}

.search_button #search{
	display:inline-block;
	color:rgba(255,255,255,1);
	background-color:#ba342f;
	padding:5px 40px;
	border-radius:15px;
	cursor:pointer;
	font-size: 0.8em;
}

.search_button #clear{
	display:inline-block;
	color:rgba(0,0,0,1);
	background-color:rgba(255,255,255,1);
	padding:5px 40px;
	border-radius:15px;
	border-style: solid;
	border-width: 1px;
	border-color: #cccccc;
	cursor:pointer;
	font-size: 0.8em;
}

.search_button label{
	cursor:pointer;
}

.search_button button:hover{
	cursor:pointer;
}

#search_page select option:hover{
	background-color: #ba342f;
}

.result_list{
	max-height: calc(-350px + 100vh);
}

.result_item{
	display: flex;
	margin: 10px;
	border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

.result_item:hover{
	border-width: 2px;
	border-style: solid;
	border-color: #ba342f;
	cursor:pointer;
}

.result_item div{
	margin: 5px;
}

.result_item .info{
	width: 60%;
}

/*商品検索で結果が0件の時に表示するテキストのスタイル*/
#search_result_page .result_item_none{
	text-align: center;
}
#search_result_page .result_item_none span{
	vertical-align: middle;
}

.transition{
	display: flex;
	justify-content: center;
  align-items: center;
}

#itemsearch .transition .link{
	display:inline-block;
}
#itemsearch .transition .btn{
	display:inline-block;
	color:rgba(0,0,0,1);
	background-color:rgba(212,212,212,1);
	padding:5px 20px;
	border-radius:15px;
	font-size: 0.8rem;
}

#itemsearch .to_detail:hover,
#itemsearch .to_page:hover{
	opacity: 0.5;
	cursor:pointer;
}

.result_item span{
	font-size: 0.9em;
	display: block;
	text-align:left;
}

.result_item .name{
	font-weight: bold;
}

.result_item .thumb{
	width: 80px;
	max-width: 80px;
	height: auto;
}

#items .not_exsist_item{
	font-size: 1.0em;
	text-align: center;
}

/*スマホ版レイアウト*/
.layout2 #favorite .modal{
	padding: 20px 0;
}

.layout2 #favorite h1 {
	padding: 0 3.2% 20px;
}

.layout2 #favorite h1 label{
	font-size: 24px;
}

.layout2 #favorite_bycategory_content .compare_table{
	margin: 0;
}

.layout2 #favorite_bycategory_content .compare_block h2{
	margin-left: 5px;
}

/*テンプレートtd列を非表示*/
.layout2 #favorite_bycategory_content .compare_table td:nth-of-type(1){
	display: none;
}

.layout2 #favorite_bycategory_content .compare_table th{
	min-width: 25vw;
	max-width: 25vw;
	white-space: pre-wrap;
}

.layout2 #favorite_bycategory_content .compare_table td{
	min-width: 30vw;
	max-width: 30vw;
	white-space: pre-wrap;
}

.layout2 #favorite{
	width: 100vw;
}

.layout2 #favorite_item div{
	margin: 0;
}

.layout2 #favorite .info_column{
	display:inline-block;
	text-align: left;
	vertical-align: middle;
	width:100%;
  margin: 0px 10px;
}

.layout2 #favorite .name_column{
	width: 100%;
	margin: 0;
}

.layout2 #favorite .info_column{
	width: 100%;
	margin: 0;
}

.layout2 #favorite .favorite_item div:not(:last-child){
	margin-bottom: 5px;
}

.layout2 #favorite .name_column span{
	display: block;
}

.layout2 #favorite .price_column{
	display: block;
	text-align: left;
}

.layout2 #favorite .link_column{
	vertical-align: text-top;
	width:50%;
	text-align: left;
	margin: 0;
}

.layout2 #favorite .drop_column{
	width: 50%;
	text-align: right;
}

.layout2 #favorite .scroll_block_sp {
	width: calc(100% - 2%);
	margin: 0 0 0 2%;
	overflow-x: scroll;
}

.layout2 #favorite .compare_table {
	border-collapse: collapse;
	width: 100%;
	word-break: break-all;
	word-wrap: break-all;
}

.layout2 #favorite .compare_table th {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	border-left: none;
	border-right: none;
	border-collapse: separate;
}

.layout2 #favorite .compare_table th::before{
    content: "" ;
    position: absolute ;
    top: 0;
    left: 0;
    width: 99%;
    height: 100% ;
    border-right: 1px solid #bbb;
    border-left: 1px solid #bbb;
}

.layout2 #favorite .compare_table td {
	border-left: none;
}

.layout2 .result_list{
	height:75vh;
}

.layout2 .result_item{
	display: block;
	margin: 10px;
}

.layout2 .result_item .info{
	width: 80%;
}

.layout2 .result_item span{
	margin-bottom: 5px;
}

.layout2 .result_item .link,
.layout2 .result_item .price{
	text-align:center;
}

.layout2 .result_list .result_item div{
	margin: 0 auto;
}

.layout2 .result_list .transition{
	display: inline-block;
}

.layout2 .result_list .transition span{
	font-size: 1.0em;
	margin: 10px 5px;
}

.layout2 .search_item .title{
	text-align:right;
	width: 50%;
	padding-right: 10px;
}

.layout2 .search_item .form_item{
	text-align: left;
	width: 50%;
	padding-left: 10px;
	position: relative;
}

.search_item select{
	width: 90%;
}

.layout2 .search_item select{
	width: 96%;
	font-size: 16px;
	transform: scale(0.9);
	position: absolute;
	left: 0;
}

.layout2 .search_item select option{
	font-size: 16px;
	transform: scale(0.9);
}

.search_item .search_keyword{
	width: 88%;
}

.layout2 .search_item .search_keyword{
	width: 92.5%;
	position: absolute;
	left: 1px;
}

.search_item .price_row,
.search_item .price_high{
	width: 36%;
}

.layout2 .search_item .price_row,
.layout2 .search_item .price_high{
	width: 35%;
	position: absolute;
}

.layout2 .search_item .price_row {
	left: 3%;
}

.layout2 .search_item .price_high{
	right: 0;
}

/* ダイアログ */
#pr_dialog{
	position:absolute;
	padding:20px;
	height:calc(100vh - 120px);
	width:100vw;
	background-color:rgba(21, 16, 33,0.8);
	z-index:900;
	display:none;
}


/* メッセージダイアログ */
#pr_msgdialog{
	z-index:901;
	position:absolute;
	width:250px;
	left:calc(100vw / 2 - 125px);
	top:calc(100vh / 2 - 50px);
	display:none;

	-ms-border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;

	//filter: progid:DXImageTransform.Microsoft.Shadow(Color='#000000', Direction=180, Strength=20);
	-ms-box-shadow: 5px 5px 20px #000;
	-moz-box-shadow: 5px 5px 20px #000;
	-webkit-box-shadow: 5px 5px 20px #000;
	box-shadow: 5px 5px 20px #000;

	background-color:rgba(21, 16, 33,0.8);

	border-style:solid;border-color:#eeeeee;border-width:2px;

}
#pr_msgdialog .title{
	height:30px;
	font-size:10pt;
	color:#ffffff;
	padding-top:5px;
	padding-left:10px;
	padding-right:10px;
	clear:both;

	-ms-border-top-left-radius: 10px;
    -webkit-border-top-left-radius: 10px;
    -moz-border-top-left-radius: 10px;
    border-top-left-radius: 10px;

	-ms-border-top-right-radius: 10px;
    -webkit-border-top-right-radius: 10px;
    -moz-border-top-right-radius: 10px;
    border-top-right-radius: 10px;

	background-color:rgba(21, 16, 33,0.8);
}
#pr_msgdialog .title .left{
	margin-top:5px;
	float:left;
}
#pr_msgdialog .title .right{
	text-align:right;
	float:right;
}
#pr_msgdialog .title .right > img{
	clear:both;
}
#pr_msgdialog .msg{
	padding:10pt;
	overflow:scoll;
	vertical-align:bottom;
	font-size:12px;
	color:#000000;
	background-color:#ffffff;

	-ms-border-bottom-left-radius: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -moz-border-bottom-left-radius: 8px;
    border-bottom-left-radius: 8px;

	-ms-border-bottom-right-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    -moz-border-bottom-right-radius: 8px;
    border-bottom-right-radius: 8px;

}

/* いいねの投票済みメッセージのタイトル消し */
#pr_msgdialog .title{
	display:none;
}

#pr_msgdialog .msg{
	border-radius:7px;
}

/*商品詳細の画像説明文*/
#itemdetail .image_caption_block{
	width: 330px;
	height: 40px;
	display: inline-block;
	text-align: center;
	overflow: hidden;
}

#itemdetail .image_caption_block span{
	display: -webkit-box;
 	-webkit-box-orient: vertical;
 	-webkit-line-clamp: 2;
	text-align: left;
	font-size: 0.8rem;
}

/* 商品詳細、下部が切れるのを防ぐためheight修正 */
body.layout1 #itemdetail .modal_wrap{
	max-height: calc(100vh - 170px);
	overflow-y: auto;
	padding: 20px 40px;
}

/* 商品詳細、動画モーダル表示の設定 */
body.layout1 #itemdetail .mov_wrap{
	position: relative;
    width: 153px;
    height: 86px;
    display: inline-block;
    margin: 0px 0.5em;
}

body.layout1 #itemdetail .front_move_block{
	position: absolute;
	width: 153px;
	height: 86px;
    top: 0;
    left: 0;
	display:inline-block;
	cursor: pointer;
}

/* 動画モーダル表示時、動画モーダル以外のページ全体を触れなくするためにするdivの設定 */
body.layout1 .modal_hide_block{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
    width: 100vw;
    height: 100vh;
	margin: 0;
    padding: 0;
	z-index: 200;
	background-color: rgba(128,128,128,0.5);
}

/* 動画モーダル表示領域の設定 */
body.layout1 .mov_modal{
	display: none;
	position: absolute;
	top: calc(50vh - 315px);
	left: 0;
    width: 1120px;
    height: 630px;
    margin-left: calc(50vw - 560px);
    align-items: center;
    padding: 0;
	z-index: 200;
}

body.layout1 .expansion_mov{
	width: 1120px;
	height: 630px;
}

/* 動画モーダル閉じるアイコンの設定 */
body.layout1 .mov_modal .close_modal {
    position: absolute;
	right: -35px;
    top: -35px;
    cursor: pointer;
}

/* display */
body .pc {
    display: block;
}

body.layout2 .pc {
    display: none;
}

body .sp {
    display: none;
}

body.layout2 .sp {
    display: block;
}
