@charset "utf-8";
/* CSS Document */
body {
	margin: 0;
	padding: 0;
	width: 100%;
	height:100%;
	overflow-x: hidden;
}
#header img, #footer img, #side img, #btmBox img {
	width: 100%;
}
#basisDatetimeURL {
	width: 20px !important;
}
/*header*/
#header {
	position: relative;
	padding-bottom: 27.75%;
}
#header .header_logo {
	position: absolute;
	width: 54.6%;
	top: 0;
	left: 2.5%;
	margin-top: 7%;
	font-size: 0 !important;
}
#header #userNavi > * {
	position: absolute;
	top: 0;
}
#header #userNavi #keySearch {
	box-sizing: border-box;
    letter-spacing: -.4em;
    margin-top: 16.5%;
    padding-left: 2.5%;
    width: 100%;
}
#header #userNavi #keySearch select {
    border: none;
    padding: 2px 0 3px;
    width: 34.4%;
	height: 35px;
	height: 8.75vw;
    background: #f0f0f0;
	letter-spacing: normal;
    font-size: 3vw;
    font-family: "genno", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    vertical-align: top;
}
#header #userNavi #keySearch .keySearch_select {
    position: relative;
    display: inline;
}
#header #userNavi #keySearch .keySearch_select:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -1px;
	margin-top: -11px;
	margin-top: -2.75vw;
    width: 1px;
    height: 22px;
    height: 5.5vw;
    background: #666666;
}
#header #userNavi #keySearch input {
    border: none;
    padding: 2px 0 3px;
    width: 38.3%;
	height: 35px;
	height: 8.75vw;
    background: #f0f0f0;
	letter-spacing: normal;
    font-size: 3.5vw;
    font-family: "genno", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#header #userNavi #keySearch input[type='text'] {
	padding: 0 3px;
}
#header #userNavi #keySearch input[type='text']::-ms-clear {
	visibility:hidden;
}
#header #userNavi #keySearch input[type='text'] + a {
	width: 1em;
	margin-top: -0.5em;
}
#header #userNavi #keySearch input[type='button'] {
	overflow: hidden;
    width: 12.5%;
	height: 35px;
	height: 8.45vw;
    background: #666 url(/shop/image/top/common/images/search_ico.png) no-repeat center;
	background-size: 18px 18px;
	white-space: nowrap;
	text-indent: -200%;
    vertical-align: top;
}
#header #userNavi #rankInfomation {
	width: 100%;
	text-align:  right;
	margin-top: 1.25%;
}
#header #userNavi #rankInfomation #rank_txt {
	padding-right: 2.5%;
	line-height: 1;
}
#header #userNavi #rankInfomation #rank_txt p.txt {
	position: relative;
	display: inline;
	font-size: 0.86em;
	font-size: 3vw;
	line-height: 1;
	letter-spacing: 0;
}
#header #userNavi #rankInfomation #rank_txt p.txt:before {
	content: "";
	position: absolute;
	left: -22px;
	top: 50%;
	margin-top: -9px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 20.5px;
    height: 21px;
}
@media only screen and (max-width: 480px) {
#header #userNavi #rankInfomation #rank_txt p.txt:before {
	left: -18px;
	margin-top: -7px;
	width: 14.5px;
    height: 15px;
}
}
#header #userNavi #rankInfomation #rank_txt.regular p.txt:before {
	background-image: url(../images/ico_regular.png);
}
#header #userNavi #rankInfomation #rank_txt.bronze p.txt:before {
	background-image: url(../images/ico_bronze.png);
}
#header #userNavi #rankInfomation #rank_txt.silver p.txt:before {
	background-image: url(../images/ico_silver.png);
}
#header #userNavi #rankInfomation #rank_txt.gold p.txt:before {
	background-image: url(../images/ico_gold.png);
}
#header #userNavi #rankInfomation #rank_txt.platinum p.txt:before {
	background-image: url(../images/ico_platinum.png);
}
#header #userNavi #rankInfomation #rank_txt.diamond p.txt:before {
	background-image: url(../images/ico_diamond.png);
}
#header #userNavi #rankInfomation #rank_txt p.txt .memberRank {
	padding-right: 3.125%;
}
#header #toMyPage {
	margin-top: 6.5%;
    right: 25.625%;
    width: 12.5%;
    background: url(/shop/image/top/common/images/sp/ico_mypage.png) no-repeat;
    background-size: 100% auto;
}
#header #toMyPage > p > a {
    display: block;
	white-space: nowrap;
    text-indent: -200%;
    overflow: hidden;
    width: 100%;
    padding-bottom: 70%;
    line-height: 0;
    height: 0;
}
#header #cartBox {
	margin-top: 6.5%;
	right: 2.5%;
    width: 21.625%;
	padding-bottom: 8.75%;
	background: url(/shop/image/top/common/images/sp/img_cart.png) no-repeat;
	background-size: 100% auto;
}
#header #cartBox > #cart_item_nums[data-cart-items]:before {
    content: attr(data-cart-items);
    position: absolute;
    text-align: center;
    right: 3.18%;
    letter-spacing: 0;
    font-size: 1.29em;
    font-size: 4.5vw;
    line-height: 1.9;
    width: 45%;
}
#header #cartBox p a {
	position: relative;
	display: block;
    width: 100%;
    padding-bottom: 40.46%;
    text-indent: -200%;
    overflow: hidden;
    line-height: 0;
    height: 0;
}
#header #manuOpen {
	position: absolute;
	top: 0;
	margin-top: 16.5%;
	right: 2.5%;
	width: 8.75%;
	padding-bottom: 8.75%;
	background: url(/shop/image/top/common/images/sp/btn_menu_open.png) no-repeat;
	background-size: 100% auto;
}
#header #manuOpen.open {
	background: url(/shop/image/top/common/images/sp/btn_menu_close.png) no-repeat;
	background-size: 100% auto;
}
#header #manuOpen + ul {
    position: absolute;
	top: 0;
	margin-top: 27.75%;
    display: block;
    overflow: hidden;
    width: 100%;
	height: 0;
    background: rgba(127,127,127,0.8);
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    z-index: 100;
}
#header #manuOpen.open + ul {
    height: auto;
    filter: progid: DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}
#header #gNavi > ul > li {
	margin: 0 2.5%;
	display: block;
	border-bottom: 1px solid #fff;
	background: #666666;
	width: 95%;
	line-height: 40px;
	text-align: center;
	font-size: 1.14em;
	font-size: 4vw;
}
#header #gNavi > ul > li:first-child {
	margin-top: 2.5%;
}
#header #gNavi > ul > li:last-child {
	margin-bottom: 2.5%;
}
#header #gNavi > ul > li > a {
	display: block;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}
#header #gNavi > ul > li.hasMenu > a span {
	padding-right: 5.2%;
	background: url(../images/sp/ico_acordion.gif) no-repeat center right;
	background-size: 11px 7px;
	font-weight: bold;
	text-decoration: none;
}
#header #gNavi .hasMenu .ddMenu {
	display: block;
    position: relative;
    height: 0;
	background: #fff;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    overflow: hidden;
}
#header #gNavi .hasMenu.open .ddMenu {
    z-index: 2;
    height: auto;
    filter: progid: DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}
#header #gNavi ul > li .ddMenu ul {
	overflow: hidden;
	padding: 0 4.1%;
}
#header #gNavi ul > li .ddMenu ul li {
	border-top: 1px solid #f3f1f1;
	width: 47.1%;
	font-size: 3.5vw;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: left;
}
#header #gNavi ul > li .ddMenu ul li:nth-child(-n+2) {
	border-top: none;
}
#header #gNavi ul > li .ddMenu ul li:nth-child(odd) {
	float: left;
}
#header #gNavi ul > li .ddMenu ul li:nth-child(even) {
	float: right;
}
#header #gNavi ul > li .ddMenu ul li a {
	display: block;
	padding: 8.48% 0 8.48% 1%;
	color: #333;
	text-decoration: none;
}
/**/
.headTxt {
	margin-bottom: 4.75%;
	font-size: 1.14em;
	font-size: 4vw;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
}
/**/
#side {
	border-top: 3px solid #1e1e1e;
	padding: 5% 0 0;
}
#side .headTxt {
	padding: 0 2.5%;
}
#side .bnr ul li {
	position: relative;
	margin-bottom: 3%;
	width: 47.5%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#side .bnr ul li:nth-child(odd) {
	float: left;
	padding-left: 2.5%;
}
#side .bnr ul li:nth-child(even) {
	float: right;
	padding-right: 2.5%;
}
#side .bnr ul li .bnrTxt {
	position: relative;
    margin-top: -11.1%;
    margin-left: -5.5%;
	padding: 3.6% 0 4.7% 5.27%;
	width: 89%;
	background: rgba(255,255,255,0.8);
	font-size: 0.93em;
	font-size: 3.25vw;
	line-height: 1.4;
    letter-spacing: 0;
}
/**/
#btnPageTop {
	display: block !important;
}
#btnPageTop a {
	margin: 5.625% auto 5%;
    background: url(/shop/image/top/common/images/sp/pageTop.png) no-repeat;
	background-size: 100% auto;
	white-space: nowrap;
	text-indent: -200%;
    width: 95%;
	padding-bottom: 10%;
    display: block;
    line-height: 0;
    height: 0;
}
/**/
#btmBox {
	padding: 5% 2.5% 7.5%;
	background: #7c7c7c;
	color: #fff;
    letter-spacing: 0.05em;
}
#btmBox a {
	color: #fff;
	text-decoration: none;
}
#contactBox {
	padding: 5.1% 0 5.26%;
	border: 1px solid #cccccc;
}
#contactBox .contactHead {
	padding: 0 0 5%;
	font-size: 1.29em;
	font-size: 4.5vw;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
#contactBox ul li {
	text-align: center;
	margin: 0 3.68%;
}
#contactBox dt, #contactBox .contactNum {
    display: inline;
    font-size: 1.71em;
    font-size: 6vw;
    font-weight: bold;
	line-height: 1;
}
#contactBox dt:after {
    content: '：';
}
#contactBox li + li {
	margin-top: 5.7%;
	padding-top: 5.7%;
	border-top: 1px solid #cccccc;
}
#contactBox li .contactNum + .contactTxt {
	margin-top: 2.1%;
    line-height: 1;
}
#contactBox li .contactTxt {
	font-size: 3.5vw;
}
#contactBox li.form .linkBtn a {
	position: relative;
    display: inline-block;
	margin: 0 auto;
	padding: 2.28% 0 2%;
	border: 1px solid #acacac;
	width: 92%;
    color: #666666;
	font-size: 1.29em;
	font-size: 4.5vw;
    font-weight: bold;
	line-height: 1;
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#contactBox li.form .linkBtn a:before {
    content: '';
    display: inline-block;
    width: 5.78%;
	padding-bottom: 4.21%;
    margin-right: 2.96%;
    background: url(/shop/image/top/common/images/ico_contact.png) no-repeat center;
	background-size: 100% auto;
}
#contactBox li.form .contactTxt {
	margin-top: 2.85%;
	line-height: 1;
}
#contactBox li.form .contactTxt a + a {
	margin-left: 1.4%;
	border-left: 1px solid #fff;
	padding-left: 1.4%;
}
/**/
ul.snsBtnList {
	overflow: hidden;
	margin-top: 7.89%;
	text-align: center;
	letter-spacing: -.40em;
}
ul.snsBtnList li {
	letter-spacing: normal;
	display: inline-block;
	width: 9.7%;
}
@media only screen and (max-width: 480px) {
ul.snsBtnList li {
	/* width: 12.78%; */
}
}

ul.snsBtnList li + li {
	margin-left: 3.125%;
}
/**/
#footer {
	position: relative;
	padding: 3.75% 0 3%;
	background: #1e1e1e;
	overflow: hidden;
    letter-spacing: 0.05em;
}
#footer *+p {
	margin-top: 0;
}
#footer p.guide {
	text-align: center;
	padding-top: 3.75%;
	line-height: 1;
}
#footer p.guide a {
	padding: 0 10px;
	border-left: 1px solid #fff;
	font-size: 3.5vw;
	text-decoration: none;
	color: #fff;
	margin: 0 0 10px;
	display: inline-block;
	line-height: 1.5em;
}
#footer p.guide a + a {
	border-right: 0;
}
#footer p.guide a + a + a,
#footer p.guide a:last-child {
	border-right: 1px solid #fff;
}
#footer .globalsign {
	padding-top: 3.75%;
	width: 93.75%;
	margin: 0 auto;
	display: table;
}
#footer .globalsign > * {
	display: table-cell;
	vertical-align: middle;
}
#footer .globalsign p {
	position: relative;
	padding-left: 2%;
	font-size: 0.72em;
	font-size: 2.5vw;
	text-align: left;
	color: #999999;
	line-height: 1.3;
	letter-spacing: 0;
}
#footer .copy {
	margin-top: 5%;
	font-size: 0.72em;
	font-size: 2.5vw;
	color: #999999;
	line-height: 1;
	text-align: center;
}
/* ノウム */
body.formPage-novum {
	overflow: inherit !important;
}
body.formPage-novum #header #keySearch {
	display: none;
}
body.formPage-novum #header fieldset {
	border: none;
    margin: 0;
    padding: 0;
}
body.formPage-novum div.container_ {
	margin-top: 0;
}
body.formPage-novum #footer {
	margin-top: 0;
	border: none;
}
/**/
#header .np-keyword-suggest{
    left: -86.5% !important;
  width: 240% !important;
}
#header .np-item-suggest{
    left: -86.5% !important;
  width: 240% !important;
}
#header .np-item-suggest .img img {
	max-width: 90% !important;
}
#header .np-item-suggest table td {
	width: 20%;
}
#header .np-item-suggest table td + td {
    width: 80%;
}
#header .np-item-suggest .item .item_title {
  font-size: 16px;
  font-size: 4vw;
}
#header .np-item-suggest .item .item_desc {
  font-size: 13px;
  font-size: 3.25vw;
}
#header .np-item-suggest .item a {
  width: 100%;
}
#pageTop header h1 {
	max-width: inherit;
}

/* 一番下に移動　190917 */
.pc {
	display:none !important;
}

/* 横揺れ対策　200228 */
@media (max-width: 767px) {
  article .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}

#header .header_logo_only {
	width: 54.6%;
	margin-left: 2.5%;
	margin-top: 2.5%;
	font-size: 0 !important;
}

#footer_copyright_only {
	position: relative;
	padding: 3.75% 0 3%;
	background: #1e1e1e;
	overflow: hidden;
    letter-spacing: 0.05em;
}

#footer_copyright_only .globalsign p {
	position: relative;
	padding-left: 2%;
	font-size: 0.72em;
	font-size: 2.5vw;
	text-align: left;
	color: #999999;
	line-height: 1.3;
	letter-spacing: 0;
}

#footer_copyright_only .globalsign {
	padding-top: 3.75%;
	width: 93.75%;
	margin: 0 auto;
	display: table;
}

#footer_copyright_only p.copyright_only {
	margin-top: 5%;
	font-size: 0.72em;
	font-size: 2.5vw;
	color: #999999;
	line-height: 1;
	text-align: center;
}
