@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;
}

body {
	color: #333;
	font-size: 16px;
	word-break: break-all;
	word-wrap: break-word;
}

body:not(:target) {
	font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

a:hover img {
	opacity: 0.7;
}

img {
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}

b,
em,
strong {
	font-weight: bold;
}

/* Android版Chrome用hack */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl {
	max-height: 100%;
}

@media (max-width: 1000px) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	li,
	dt,
	dd {
		background-image: url(/co/common/images/bg-text.png);
	}
}


/*----------------------

*RIA用定義

----------------------*/

#wrapper .is-disabled .is-hide {
	display: none;
}

.is-pointer {
	cursor: pointer;
}

.is-hide {
	display: none;
}

/*----------------------

*カラム定義

----------------------*/

#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;
}

/* ミニ商品詳細ウィンドウ */
.miniItemDetailWindow #wrapper,
.miniItemDetailWindow #header {
	min-width: 880px;
}

.miniMapWindow #wrapper {
	min-width: auto;
}

.miniMapWindow #mainContent {
	margin-bottom: 0;
}

/* カラムリセット用クラス */

.oneColumnWrap {
	clear: both;
}

/* 汎用2カラム */
.row.col2Wrap {
	padding-right: 20px;
}

.col2Inner {
	float: left;
	width: 50%;
	margin-right: 20px;
}

.col2Inner.last {
	margin-right: -20px;
}

/* 汎用3カラム */
.row.col3Wrap {
	padding-right: 80px;
}

.col3Inner {
	float: left;
	width: 33.3%;
	margin-right: 40px;
}

.col3Inner.last {
	margin-right: -80px;
}

/*----------------------
**FR-02
----------------------*/
.col2FasetLeft .mainColumn {
	float: left;
	width: 100%;
}

.col2FasetLeft .columnInner {
	margin-left: 200px;
}

.col2FasetLeft .mainColumn+.faset {
	margin-left: -100%;
}

/*----------------------
**FR-02_01
----------------------*/
.col2FasetLeft .faset {
	float: left;
	position: relative;
	width: 180px;
	margin-right: -100%;
}


/*----------------------
**FR-02_02
----------------------*/
.col2FasetLeft.var-col1 .mainColumn {
	float: none;
}

.col2FasetLeft.var-col1 .columnInner {
	margin-left: 0;
}

/*----------------------
**FR-03
----------------------*/

.productContent {
	margin-bottom: 40px;
}

.productContent:after {
	clear: both;
	content: "";
	display: table;
}

.productContentImg {
	float: left;
	width: 355px;
}

.productContentDetails {
	margin-left: 375px;
}


/*----------------------
**FR-05
----------------------*/
.col3FasetRight {
	margin-bottom: 20px;
}

.col3FasetRight .mainColumn {
	width: 100%;
	float: left;
	margin-right: -250px;
}

.col3FasetRight .columnInner {
	margin-right: 250px;
}

.col3FasetRight .columnInnerLeft {
	float: left;
	width: 50%;
	box-sizing: border-box;
	padding-right: 10px;
}

.col3FasetRight .columnInnerRight {
	float: left;
	width: 50%;
	box-sizing: border-box;
	padding-left: 10px;
}

.col3FasetRight .faset {
	float: right;
	width: 230px;
}

/*----------------------
**FR-06
----------------------*/

.col3 .mainColumn {
	width: 100%;
	float: left;
	margin-right: -320px;
}

.col3 .mainColumn .columnInner {
	margin: 0 320px 0 200px;
}

.col3 .fasetPrimary {
	width: 180px;
	float: left;
	margin-right: -200px;
	position: relative;
}

.col3 .fasetSecondary {
	float: right;
	width: 300px;
	position: relative;
}

/*----------------------
**FR-07,FR-08,FR-09,FR-10
----------------------*/

.widthFixedContent {
	width: 980px;
	margin: 0 auto 0 auto;
}

.col2FasetRight.row {
	display: table;
	width: 100%;
}

.col2FasetRight.row>form:first-child {
	display: table;
}

.col2FasetRight .mainColumn {
	width: 100%;
	min-width: 980px;
	float: left;
	margin-right: -230px;
}

.col2FasetRight .columnInner {
	margin-right: 250px;
}

.col2FasetRight .faset {
	width: 230px;
	position: relative;
}


/*----------------------
**FR-11
----------------------*/

.col2FasetRightTable {
	display: table;
	width: 100%;
}

.col2FasetRightTable .mainColumn,
.col2FasetRight .faset {
	display: table-cell;
	vertical-align: top;
}

.col2FasetRight .faset.vertical-bottom {
	vertical-align: bottom;
}

.col2FasetRightTable .mainColumn {
	width: 100%;
	padding-right: 20px;
}

.col2FasetRightTable .faset {
	width: 230px;
}


/*----------------------
**FR-POP
----------------------*/

#popupWrapper {
	min-width: 720px;
}


/*----------------------
**FR-TP01
----------------------*/

.topFasetRight .mainColumn {
	width: 100%;
	float: left;
	margin-right: -300px;
}

.topFasetRight .columnInner {
	margin-right: 320px;
}

.topFasetRight .faset {
	float: right;
	width: 300px;
	position: relative;
}


/*----------------------
**FR-TP02
----------------------*/

.row.topFaset3col .col2FasetLeft.row {
	margin-bottom: 0;
}

.topFaset3col>.mainColumn {
	width: 100%;
	float: left;
	margin-right: -300px;
}

.topFaset3col>.columnInner {
	margin-right: 320px;
}

.topFaset3col>.faset {
	float: right;
	width: 300px;
	position: relative;
}

.topFaset3col .col2FasetLeft .columnInner {
	margin-right: 320px;
}

.is-tablet .topFaset3col>.mainColumn {
	width: 100%;
	float: none;
	margin-right: 0;
}

.is-tablet .topFaset3col>.columnInner {
	margin-right: 0;
}

.is-tablet .topFaset3col>.faset {
	clear: both;
	float: none;
	width: auto;
	margin-top: 20px;
	margin-left: 200px;
}

.is-tablet .topFaset3col .col2FasetLeft .columnInner {
	margin-right: 0;
}

.topFaset2col .col2FasetLeft {
	margin-bottom: 0;
}

/*----------------------
**FR-TP03
----------------------*/

.topFasetLeft {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}

.topFasetLeft .mainColumn {
	width: 100%;
	float: right;
	margin-left: -300px;
}

.topFasetLeft .columnInner {
	margin-left: 320px;
}

.topFasetLeft .faset {
	float: left;
	width: 300px;
}

/*----------------------
**FR-nanaco01
----------------------*/

.row.nanacoFasetRight {
	margin: 0 auto 0 auto;
}

.nanacoFasetRight .mainColumn {
	width: 100%;
	float: left;
	margin-right: -300px;
}

.nanacoFasetRight .columnInner {
	margin-right: 320px;
}

.nanacoFasetRight .faset {
	float: right;
	width: 300px;
}



/*----------------------

*共通パーツ

----------------------*/

/*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;
}

/*フォントサイズ*/
.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; }


/*フォントレベル調整*/
.txtAnnotation { font-size: 12px; !important;} /*注釈用小さめサイズ*/
.txtBold {font-weight: bold !important; } /*太字*/


/*回り込み*/
.floatLeft { float: left; }
.floatRight { float: right; }


/*余白調整 */
.mrgB00 { margin-bottom: 0 !important; }
.mrgT05 { margin-bottom: 5px !important; }
.mrgB10 { margin-bottom: 10px !important; }
.mrgB15 { margin-bottom: 15px !important; }
.mrgB20 { margin-bottom: 20px !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; }

.mrgB-10 { margin-bottom: -10px !important; }
.mrgB-15 { margin-bottom: -15px !important; }
.mrgB-20 { margin-bottom: -20px !important; }
.mrgB-30 { margin-bottom: -30px !important; }
.mrgB-40 { margin-bottom: -40px !important; }

.mrgT0 { margin-top: 0 !important; }
.mrgT10 { margin-top: 10px !important; }
.mrgT20 { margin-top: 20px !important; }
.mrgT30 { margin-top: 30px !important; }
.mrgT40 { margin-top: 40px !important; }
.mrgT50 { margin-top: 50px !important; }
.mrgT60 { margin-top: 60px !important; }

.mrgT-01 { margin-top: -1px !important; }
.mrgT-05 { margin-top: -5px !important; }
.mrgT-10 { margin-top: -10px !important; }
.mrgT-20 { margin-top: -20px !important; }


/*行間調整*/
.lh13{line-height: 1.3;}
.lh14{line-height: 1.4;}
.lh15{line-height: 1.5;}
.lh16{line-height: 1.6;}

/*アンダーライン*/
.undl{text-decoration: underline;}

/*lists*/


/*矢印*/
.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;
}

/*breadcrumb*/

/* login, share */

/* btn_shoppinglist_m01 */

/*table*/


/*----------------------

*ボタンモジュール

----------------------*/
/*カテゴリボタン 長方形 4カラム*/
.c-btn_rec .btn_rec_4col{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
}
.c-btn_rec .btn_rec_4col li a p{
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*カテゴリボタン 正方形 4カラム*/
.c-btn_sqr ul{
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.c-btn_sqr ul li{
	flex-basis: 25%;
}


/*戻るボタン*/
.btnWrap {
	margin: 0;
	padding: 0;
}

.btnWrap>li {
	display: inline-block;
	vertical-align: top;
	margin-left: 30px;
}

.btnWrap>li:first-child {
	margin-left: 0;
}

.specialLinkBtn, .specialLinkBtn02{
	border: 1px solid #888;
	color: #000 !important;
	font-weight: bold;
	background: none;
	font-size: 12px !important;
	height: 52px;
	width: 360px;
	border-radius: 4px;
	text-align: center;
}

/* カーソル合わせたときの透過 */
.specialLinkBtn:hover {opacity: 0.8;}
.specialLinkBtn02:hover{opacity: 0.8;}

/*1カラム ボタン*/
.linkBtn {
	display: table-cell;
	vertical-align: middle;
	border: solid 1px transparent;
	border-radius: 4px;
	background: none;
	box-sizing: content-box;
	cursor: pointer;
	-webkit-appearance: none;
}

button.linkBtn {
	font-family: "モトヤLシーダ3等幅", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.linkBtn {outline: none;} /* クリック時枠を出さない */

/*2カラム 横並びボタン*/
.linkBtn02 {
	border: solid 1px transparent;
	border-radius: 4px;
	background: none;
	cursor: pointer;
	}


/*form*/

/*評価*/

/*div (variation)*/

/*アイコン*/

/*商品紹介タグ*/

/*数字*/

/*ランキング*/


/*----------------------

*img

----------------------*/
.bnrImgWrap {
	display: inline-block;
	border-radius: 4px;
}

.bnrImgWrap .bnrImg {
	position: relative;
	z-index: -1;
	border-radius: 4px;
}

.listMoviePR {
	width: 360px;
	margin: 0 -5px -5px 0;
}

.listMoviePR:after {
	content: "";
	clear: both;
	display: table;
}

.listMoviePR li {
	float: left;
	margin: 0 5px 5px 0;
}

.imgCoverWrap {
	position: relative;
}

.imgCover {
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.topFasetRight .faset .imgCover {
	width: 270px;
	cursor: default;
}

.bnrWrap {
	margin-bottom: 10px;
}

/* OMNI_DEV-6533 【ガイドライン】バナーへのボーダー付与依頼（CSSスタイル追加） */
.bnrWrap a {
	display: block;
	position: relative;
	z-index: 1;
}

.bnrWrap a:after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	content: "";
	width: 100%;
	min-height: 100%;
	box-sizing: border-box;
	border: solid 1px #E6E6E6;
}

.bnrWrap a:hover:after {
	opacity: 0.7;
}

.bnrWrap.u-img {
	position: relative;
	z-index: -1;
}

.bnrWrap .bnrImgWrap {
	display: block;
}

.bnrWrap .bnrImgWrap:after {
	border-radius: 4px;
}

.bnrWrap .bnrImgWrap .u-img {
	border-radius: 4px;
}


/*arrow*/

/*top_arrow*/

/*tabMenu*/

/*tabMenu 可変*/

/*上バージョン*/

/*下バージョン*/

/* tabMenu_l_lower_02 */

/*pagen_navi*/

/*dayPicker (calendar)*/

/* map */

/*PGN-04*/

/*arrow_01*/

/* icon_not_stock, icon_sale */

/* icon_carousel_navi */

/* icon_carousel_stop */

/* icon_list_nm */

/* Digital Book */

/* BAN_01 */

/* arrow_next_01_01 */

/*----------------------

*ナビゲーション

----------------------*/
/*トップパネルナビ*/
.c-nav_panel{
	background-color: #EEE;
	text-align: center;
	padding: 1%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.c-nav_panel li{
	height: 60px;
	background-color: #FFF;
	margin: 1%;
}
.c-nav_panel li a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	color: #000;
	width: 100%;
	height: 100%;
}
.c-nav_panel li a span.nav-en{
	padding-bottom: 5px;
	font-weight: 600;
}
.c-nav_panel li a:hover{
	text-decoration: none;
	border: 1px solid #fdd007;
	box-sizing: border-box;
}

/*角丸アンカーナビ*/
.c-nav_anchor{
	display: flex;
	justify-content: center;
	gap: 10px;
}
.c-nav_anchor li{
	position: relative;
	width: 30%;
	height: 42px;
	border: solid 2px #ccc;
	border-radius: 20px;
	font-size: 12px;
	text-align: center;
}
.c-nav_anchor li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.c-nav_anchor li a:after{
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	display: block;
	border-bottom: solid 2px #ffc040;
	border-right: solid 2px #ffc040;
	right: 10%;
	top: 40%;
	transform: rotate(45deg);
}
.c-nav_anchor li a:hover{
	text-decoration: none;
}

/*----------------------

*お知らせエリア

----------------------*/
.info-container li{
	margin-bottom: 20px;
}
.info-container li a p{
	color: #000;
	font-size: 12px;
	line-height: 1.5;
}
.info-container li a p span.day{
	color: #999999;
	margin-right: 10px;
}


/*----------------------

*おすすめ特集

----------------------*/
/*おすすめシリーズ 通常*/
.categorytop-container .contents-container article.colright .specialformat01-container .c-list .list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 1.3%;
}
.categorytop-container .contents-container article.colright .specialformat01-container .c-list .list li{
	margin: 0;
}
.categorytop-container .contents-container article.colright .specialformat01-container .c-list .list li a img{
	height: auto;
	margin-bottom: 10px;
}
.categorytop-container .contents-container article.colright .specialformat01-container .c-list .list li a p{
	margin-bottom: 15px;
}
/*おすすめシリーズ 正方形*/
.categorytop-container .contents-container article.colright .specialformat01-container .-add>li a img{
	height: auto;
	margin-bottom: 10px;
}

/*シーズンバナー*/
.season_bnr ul{
	display: flex;
	justify-content: flex-start;
	gap: 1.3%;
}
.season_bnr ul li{
	width: 20%;
}
.season_bnr ul li a img{
	height: auto;
	margin-bottom: 10px;
}
.season_bnr ul li a p{
	font-size: 80%;
	line-height: 1.8;
}

/*----------------------

*特集 作りこみコンテンツ

----------------------*/
/*終了文言 link*/
.spe_txtClosed a{
	position: relative;
	font-size: 14px;
	font-weight: bold;
	color: #2e75b6;
	text-decoration: underline;
	top: 5px;
}
.spe_txtClosed a:after{
	position: absolute;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-bottom: solid 2px #cccccc;
	border-right: solid 2px #cccccc;
	transform: rotate(314deg);
	-webkit-transform: rotate(314deg);
	box-sizing: initial;
	top: 8px;
	right: -10px;
}
/*アンカーリンク*/
.spe_anchor{
	display: flex;
	justify-content: center;
	gap: 30px;
}
.spe_anchor a{
	position: relative;
	text-decoration: underline;
	color: #2e75b6;
}
.spe_anchor a:after{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-bottom: solid 2px #2e75b6;
	border-right: solid 2px #2e75b6;
	transform: rotate(314deg);
	-webkit-transform: rotate(314deg);
	box-sizing: initial;
	top: 4px;
	right: -12px;
}
/*商品一覧バナー*/
.spe-bnr img {
	width: 980px;
}
/*イベント概要*/
.spe_project{
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 0 auto;
}
/*各種公式リンク*/
.snslink a{
	color: #2e75b6;
}
.snsicon{
	margin: 0 auto;
	text-align: center;
}
.snsicon ul{
	display: flex;
	justify-content: center;
	gap: 20px;
}
.snsicon img{
	width: 38px;
	height: 38px;
}
/*戻るボタン*/
/*1つ*/
.spe-btn{
	margin: 0 auto;
	text-align: center;
}
.spe-btn .spe-backBtn{
	display: inline-block;
	min-height: 52px;
}
.spe-btn .spe-backBtn button{
	color: #000 !important;
	width: 360px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
	border: solid 1px #cccccc;
	min-height: 52px;
}
.spe-btn .spe-backBtn button:hover{
	opacity: 0.7;
}

/* プレースホルダー */

/* OMNI_DEV-6072 iOSリンクアクション対策 */