@charset "UTF-8";

/*----------------------

*要素

----------------------*/

img {
	max-width: 100%;
}

.mod-shoppingContents .is-gridDisplay .productMessage,
.mod-shoppingContents .is-gridDisplay .productAttribute,
.mod-shoppingContents .is-gridDisplay .productMile,
.mod-shoppingContents .is-gridDisplay .productPrice {
	margin: 5px 0 0 0;
}

.mod-shoppingContents .productAttribute {
	font-size: 12px;
}

.mod-shoppingContents .is-gridDisplay {
	border: none;
	font-size: 0;
}

.mod-headingWrap_txt {
	display: table-cell;
	text-align: right;
	color: #333;
	vertical-align: middle;
}

.mod-headingWrap .mod-headingWrap_header {
	font-size: 18px;
}

.mod-headingWrap_header {
	display: table-cell;
	margin: 0;
	padding-bottom: 0;
	border-bottom: none;
	vertical-align: middle;
}

.is-gridDisplay .mod-shoppingContents_item {
	display: inline-block;
	vertical-align: top;
	width: 180px;
	margin: 0 10px 40px 10px;
	padding: 0;
	border: none;
	position: relative;
	line-height: 1.3;
}

.is-gridDisplay .mod-shoppingContents_item {
	display: inline-block;
	vertical-align: top;
	width: 180px;
	margin: 0 10px 40px 10px;
	padding: 0;
	border: none;
	position: relative;
	line-height: 1.3;
}

.mod-headingWrap {
	display: table;
	width: 100%;
	margin: 40px 0 20px 0;
	padding-bottom: 5px;
	border-bottom: solid 3px #F2F2F2;
}

a:hover img {
	opacity: 0.7;
}

img {
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}


/*----------------------

*カラム定義

----------------------*/

#wrapper {
	min-width: 1000px;
}

#header {
	min-width: 1000px;
	margin-bottom: 20px;
}

#mainContent {
	margin-bottom: 60px;
	padding: 0 10px;
}

#footer {
	clear: both;
}

.row {
	clear: both;
	margin-bottom: -20px;
}

.row:after {
	content: "";
	clear: both;
	display: table;
}


/*----------------------

*共通パーツ

----------------------*/

/*heading*/

.h1ProductName {
	margin-bottom: 30px;
	padding-bottom: 0;
	font-size: 18px;
	font-weight: bold;
	border: none;
}


h2,
.headingH2 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: solid 3px #F2F2F2;
	font-size: 18px;
}

.headingH1 em,
h2 em,
.headingH2 em {
	font-weight: normal;
}


.headingH3 h3 {
	display: inline;
	margin: 0;
	padding: 0;
}

.headingH3Txt {
	display: inline;
	margin-left: 0.5em;
	font-weight: normal;
	font-size: 12px;
}

h1+h2,
h1+headingH2,
headingH1+headingH2,
h2+h3,
h1+.headingH3,
h2+.headingH3 {
	margin-top: 20px;
}

h4,
.headingH4 {
	margin-top: 40px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
}

h5,
.headingH5 {
	margin-top: 40px;
	margin-bottom: 20px;
	font-size: 12px;
	font-weight: bold;
}

.headingBgGrey {
	padding: 8px;
	font-weight: bold;
	color: #FFF;
	background-color: #666;
	border-bottom: none;
}

/*text*/

.txtNormal {
	margin-bottom: 20px;
	word-break: normal;
}

.txtSSS {
	font-size: 10px !important;
}

.txtSS {
	font-size: 12px !important;
}

.txtS {
	font-size: 14px !important;
}

.txtM {
	font-size: 16px !important;
}

.txtL {
	font-size: 18px !important;
}

.txtLL {
	font-size: 20px !important;
}

.txtLeft {
	text-align: left !important;
}

.txtCenter {
	text-align: center !important;
}

.txtRight {
	text-align: right !important;
}

.txtAlert {
	color: #C00 !important;
}

.txtAttention {
	color: #D43500 !important;
}

.txtSale {
	color: #933 !important;
}

.txtDelete {
	text-decoration: line-through !important;
}

.txtDelete .u-unit {
	padding: 0;
}

.txtDelete .u-inTax {
	font-size: 14px;
}

.txtDelete .u-dash {
	padding: 0;
}

.txtDelete b {
	font-weight: 100;
}

.txtNotes {
	color: #666;
}

.txtAlert .txtNotes {
	color: #666 !important;
}

.bulletNotes {
	display: block;
	position: relative;
	padding-left: 1em;
	text-indent: -1em;
	word-break: normal;
}

.bulletNotes:before {
	content: "\00203b";
	position: relative;
	left: 0;
}

.bulletError {
	display: block;
	position: relative;
	margin-bottom: 7px;
	padding-left: 1.125em;
}

.bulletError:before {
	content: "\0025bc";
	position: absolute;
	top: 0;
	left: 0;
}

.txtLeadL {
	line-height: 1.75;
}

.txtLeadS {
	line-height: 1.3;
}

.floatLeft {
	float: left;
}

.floatRight {
	float: right;
}


/*link*/

.boxedLink {
	display: inline-block;
	padding: 2px 5px 1px 5px;
	text-decoration: none;
	background-color: #F2F2F2;
	border-radius: 3px;
}

.boxedLink.bulletNotes {
	padding-left: 1.4em;
}

.boxedLink.bulletNotes:before {
	left: 0.4em;
}


.bullet {
	display: inline-block;
	text-decoration: none;
	background-repeat: no-repeat;
}

.bullet:hover {
	color: #D43500 !important;
	text-decoration: underline;
}

.bullet.bulletUnderline {
	text-decoration: underline;
}

.bullet.bulletLink.txtM {
	background-position: 2px 0.4em;
}

.bullet.bulletLink.txtSS {
	background-position: 2px 0.3em;
}

.bulletLink {
	padding-left: 15px;
	background-image: url(/shop_assets/img/genre/00/common/bg-icon-arrow-09.png);
	background-position: 2px 0.35em;
}

.bulletLinkExternal {
	background-image: url(/shop_assets/img/genre/00/common/bg-icon-link-external.png);
	padding-left: 17px;
	background-position: 0 0.35em;
}

.bulletIndexUp {
	padding-left: 17px;
	background-image: url(/shop_assets/img/genre/00/common/bg-icon-index-up.png);
	background-position: 0 0.35em;
}

.bulletIndexDown {
	padding-left: 17px;
	background-image: url(/shop_assets/img/genre/00/common/bg-icon-index-down.png);
	background-position: 0 0.35em;
}

.bulletLinkModal {
	padding-left: 19px;
	background-image: url(/shop_assets/img/genre/00/common/bg-icon-link-modal.png);
	background-position: 0 0.35em;
}

/* 特集エリア */

.spe-col .row,
.spe-bnr .row {
	margin-bottom: 0;
}

.spe-bnr .row~.row {
	margin-top: 20px;
}

.spe-btn {
	text-align: center;
}

.spe-bnr img {
	width: 980px;
}

.col2FasetLeft .spe-bnr .u-img,
.col2FasetLeft .spe-col .u-img {
	width: 780px;
}

.spe-txtBox {
	clear: both;
	min-width: 100%;
	margin: 40px -10px 20px -10px;
}

.spe-txtBox:after {
	content: "";
	clear: both;
	display: table;
}

.spe-txtBox_col {
	float: left;
	padding: 0 10px 0 10px;
	box-sizing: border-box;
}

.spe-txtBox_col .u-img {
	max-width: 100%;
}

.spe-txtBox_col .txtL {
	margin-bottom: 10px;
}

.spe-txtBox_col .txtL+.txtS {
	margin-bottom: 20px;
}

.spe-txtBox_col .txtLink {
	font-size: 14px;
}

.spe-txtBox_col-3 {
	width: 25%;
}

.spe-txtBox_col-4 {
	width: 33.3%;
}

.spe-txtBox_col-6 {
	width: 50%;
}

.spe-txtBox_col-8 {
	width: 66.6%;
}

.spe-txtBox_col-9 {
	width: 75%;
}

.spe-txtBox_col-12 {
	width: 100%;
}

.spe-txtBox_col-6 .u-img {
	width: 480px;
}

.spe-txtBox_col-4 .u-img {
	width: 300px;
}

.spe-txtBox_col-3 .u-img {
	width: 230px;
}

.col2FasetLeft .spe-txtBox_col-6 .u-img {
	width: 380px;
}

.col2FasetLeft .spe-txtBox_col-4 .u-img {
	width: 250px;
}

.col2FasetLeft .spe-txtBox_col-3 .u-img {
	width: 180px;
}

.col2FasetLeft .spe-bnr .col2Inner .u-img {
	max-width: 380px;
}

.spe-bnr .col3Inner img {
	max-width: 300px;
}

/* テキスト仕様 */
.txtBold { font-weight: bold !important; } 
.txtCenter { text-align: center; }
.txtAnnotation { font-size: 12px; } /* 注釈テキスト用 */



/* ############ タブリンクボタンの背景色変更 ############ */
/* common-v2.css より抜粋して編集 */
.iconImg02{ display: table; }
.iconImgInner02{
    display: table-cell;
    vertical-align: top;
}
.iconImgInner02:first-child{ padding: 0 10px 0 0; }
.iconImg:hover .iconImgInner02 .u-img{ opacity: 1; }

.iconImg16 .iconImgInner02:first-child,
.iconImg20 .iconImgInner02:first-child{ padding: 0 6px 0 0; }

.spe-tabWrap{
    clear: both;
    min-width: 100%;
    margin: 0 -10px 5px -10px;
}
.spe-tabWrap:after{
    content: "";
    clear: both;
    display: table;
}
.spe-tab02{
    float: left;
    margin: 0 0 20px 0;
    padding: 0 10px 0 10px;
    box-sizing: border-box;
}
.spe-tabWrap.spe-tabWrapNoImg .spe-tab02 .bnrImgWrap.u-hoverLink{ height: 50px; }
.spe-tabWrap.spe-tabWrap_col-3{
    min-width: 0;
    margin: 0 0 20px 0;
    padding-right: 80px;
}
.spe-tabWrap_col-3 .spe-tab02.last{ margin-right: -80px; }
.spe-tabWrap_col-3 .spe-tab02{
    width: 20%;
    padding: 0;
    margin-right: 20px;
}
.spe-tabWrap_col-4 .spe-tab02{ width: 25%; }
.spe-tabWrap_col-5 .spe-tab02{ width: 20%; }
.spe-tab02 .bnrImgWrap{
    display: block;
    position: relative;
    font-size: 14px;
    z-index: 1;
}
.spe-tab02 .bnrImgWrap:after{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    content: "";
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    border: solid 1px #CCCCCC;
}
.spe-tab02 .bnrImgWrap.is-current:after{ border-color: #333; }
.spe-tab02 .bnrImgWrap .bnrImg{
    width: 100%;
}
.spe-tabWrapNoImg .spe-tab02 .bnrImgWrap .bnrImg{ height: 50px; }
.spe-tab02 .bnrImgWrap.u-hoverLink{
    color: #fff;
    background: #C2AB99;
}
.spe-tab02 .bnrImgWrap.is-current{
    color: #333;
    font-weight: bold;
}
.spe-tab02 .bnrImgWrap .u-img{
    max-width: 60px;
    border-radius: 0 4px 4px 0;
}
.spe-tab02 .iconImgInner02{
    text-align: right;
    vertical-align: middle;
}
.spe-tab02 .iconImgInner02:first-child{
    text-align: center;
    padding-left: 10px;
}
.spe-tab02 .u-hoverLink:hover .iconImgInner02:first-child{ text-decoration: underline; }
.spe-tab02 .bnrImgWrap.u-hoverLink{
    color: #fff;
    background: #C2AB99;
}


/* 1つ、縦並びリンクボタン */

.specialLinkBtn:hover {
	opacity: 0.8;
	/* カーソル合わせたときの透過 */
}

.linkBtn {
	outline: none;
	/* クリック時枠を出さない */
}



/* 2つ並びリンクボタン */

.specialLinkBtn02:hover {
	opacity: 0.8;
	/* カーソル合わせたときの透過 */
}



.specialLinkBtn02 .linkBtn02 {
	min-width: 360px !important;
	height: 52px;

	/*    padding: 10px 20px 10px 20px;*/
	font-weight: bold;
	/*background-image: url("/shop_assets/img/free/00/link_ya.png");*/
	background-image: none;
	background-repeat: no-repeat;
	background-position: 98% 50%;
	box-sizing: border-box;

}

button.linkBtn02 {
	font-size: 100%;

}

.linkBtn02 {
	display: table-cell;
	line-height: 1.2;
	vertical-align: middle;
	border: solid 1px transparent;
	border-radius: 4px;
	background: none;
	box-sizing: content-box;
	cursor: pointer;
	-webkit-appearance: none;
	outline: none;
	/* クリック時枠を出さない */

}

.specialLinkBtn02 {
	font-size: 14px;
	min-height: 52px !important;
	border-radius: 4px;
	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
	background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);

}

.col2FasetLeft .spe-txtBox_col-4 .u-img {
	width: 250px;
	min-width: 250px;
	margin-bottom: 80px;

}

.spe-btn {
	text-align: center;
}

.specialLinkBtn {
	font-size: 14px;
	height: 52px;
	border-radius: 4px;
	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
	background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
}

.specialLinkBtn .linkBtn {
	width: 360px;
	height: 52px;
	/*    padding: 10px 20px 10px 20px;*/
	font-weight: bold;
	font-size: 12px;

}

.linkBtn {
	display: table-cell;
	line-height: 1.2;
	vertical-align: middle;
	border: solid 1px transparent;
	border-radius: 4px;
	background: none;
	box-sizing: content-box;
	cursor: pointer;
	-webkit-appearance: none;
	background-image: none;
 	background-repeat: no-repeat;
	background-position: 98% 50%;
	box-sizing: border-box;
}

.btnWrap {
	margin: 0;
	padding: 0;
}

.btnWrap>li {
	display: inline-block;
	vertical-align: top;
	margin-left: 30px;
}

ol,
ul {
	list-style: none;
}

.spe-btn {
	text-align: center;
}

/*戻るボタン*/

.specialLinkBtn,
.specialLinkBtn02 {
	background-color: #FFF !important;
	border: 1px solid #888;
	color: #000 !important;
	font-weight: bold;
	background-image: none;
	background-repeat: no-repeat;
	background-position: 10px 50%;
	font-size: 12px !important;
	min-height: 52px;
	padding: inherit;
	line-height: 1.2;
	width: 360px; 

}

.widthVariableContent {
	width: 100%;
}

.widthVariableContent div p {
  line-height: 1.5;
}

.mainImg,
.mainImg img {
	margin: 0 auto;
	width: 100%;
	max-width: 750px;
}

/* マージン調整用 */
.mrgB10 { margin-bottom: 10px !important; }
.mrgB15 { margin-bottom: 15px !important; }
.mrgB20 { margin-bottom: 20px !important; }
.mrgB25 { margin-bottom: 25px !important; }
.mrgB30 { margin-bottom: 30px !important; }
.mrgB40 { margin-bottom: 40px !important; }
.mrgB50 { margin-bottom: 50px !important; }
.mrgB60 { margin-bottom: 60px !important; }
.mrgB70 { margin-bottom: 70px !important; }

.mrgT10 { margin-top: 10px !important; }
.mrgT15 { margin-top: 15px !important; }
.mrgT20 { margin-top: 20px !important; }
.mrgT25 { margin-top: 25px !important; }
.mrgT30 { margin-top: 30px !important; }
.mrgT40 { margin-top: 40px !important; }
.mrgT50 { margin-top: 50px !important; }
.mrgT60 { margin-top: 60px !important; }
.mrgT70 { margin-top: 70px !important; }


/*終了文言*/
.fordetails {
    position: relative;
    height: 16px;
    line-height: 1.5;
}

.fordetails a {
    font-size: 14px;
    font-weight: bold;
    color: #2e75b6;
    text-decoration: underline;
    position: relative;
    top: 5px;
}

.fordetails a:after {
    content: "";
    width: 6px;
    height: 6px;
    display: block;
    border-bottom: 2px solid #cccccc;
    border-right: 2px solid #cccccc;
    -webkit-transform: rotate(314deg);
    -ms-transform: rotate(314deg);
    transform: rotate(314deg);
    position: absolute;
    right: -12px;
    top: 6px;
    box-sizing: initial;
}