@charset "UTF-8";

/*
■ リセット

■ テキスト・フォント設定

■ 変数設定

■ カラー設定

■ 横幅最大値・左右余白設定

■ ヘッダー
■ 検索

■ グローバルナビ
■ ドロワー

■ Stage

■ SNS
■ フッター

■ メインバナー
■ ランキング
■ ランキング（関連特集マスタ）
■ 最近見た商品
■ おすすめ商品（プラグイン）

■ パン屑リスト

■ コンテンツ領域

■ 見出し

■ リード・画像

■ 商品情報

■ セクション

■ カラム

■ リスト
■ 記述リスト
■ 表組み
■ 囲み
■ よくある質問（旧class）

■ タブメニュー
■ CSSスライダー

■ テキストリンクアイコン
■ リンクアイコン

■ ボタン

■ シェア

■ アイコン

■ 動画埋め込み
■ マップ埋め込み

■ ページネーション

■ モーダル

■ ニュースティッカー

■ ステッパー

■ 検索窓

■ フォーム


■ TOPページ
■ 商品一覧・ジャンル
■ 商品詳細
■ カート

■ マイページ

■ その他

■ おすすめ特集

■ バナー

■ フローティングバナー

■ AIチャット
■ Letro

■ セキュリティコードとは

■ パーツ（旧class）
■ ClearFix

■ 個別調整

■ 印刷用設定

■ JSライブラリ
*/



/* ■ リセット（#Beta） ==================================================================================== */

* { margin: 0; padding: 0; }
*,*:before,*:after,*::before,*::after { box-sizing: border-box; }
body { -webkit-text-size-adjust: none; }
*:focus { outline: none; }
figure,img,picture,video,canvas,svg { max-width: 100%; height: auto; border: none; vertical-align: bottom; }
form { margin: 0; padding: 0; }
li { list-style-type: none; }
table { width: 100%; border-collapse: collapse; border-spacing: 0; }
strong, em { font-style: normal; }
input, select, textarea, button { border-style: none; font-size: inherit; }
button { cursor: pointer; }

pre {
max-height: 300px;
margin-top: 1rem;
padding: 0 2rem;
border: 1px solid #ededed;
font-size: 1.4rem;
line-height: 1.6em;
background-color: #f8f8f8;
overflow: scroll;
}



/* ■ テキスト・フォント設定 ==================================================================================== */

body {
font-size: 1.6rem;
line-height: 1.7;
font-family: "Helvetica Neue",Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
}

/* フォームにもフォントを指定する場合（#Beta） */
input, select, textarea {
font-family: "Helvetica Neue",Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
}

.WF1 {
font-family: "Albert Sans",Sans-Serif;
}

.WF2 {
}

h1,h2,h3,h4,h5,h6,th,dt,strong,em {
font-weight: 700;
}

small {
font-size: calc(1.6rem * 0.9);
}

html {
font-size: calc(10 / 16 * 100%);
}



/* ■ 変数設定 ==================================================================================== */

/*
横幅
フォントサイズ
カラー
gap（余白）
border-radius
*/


/* 横幅 --------------------------------------------------- */

:root {

/* 商品詳細ページ調整用 */
--item-detail-width: 600px;

}


/* フォントサイズ --------------------------------------------------- */

:root {
--fontsize-int: 1.6rem;
}


/* カラー --------------------------------------------------- */

:root {

--primary: #0068B6;
--primary-pale: #B2D2E9;

--base: #231815;
--base-deep: #999;
--base-middle: #E6E6E6;
--base-pale: #F4F3F1;
--bace-light: #FAFAFA;

--background-1: #FFF;
--background-2: #FFFBEF;
--background-3: #FCF2D7;
--background-4: #F2FFF5;
--background-footer: #F1F2EF;

--attention-attention-1: #B51124;
--attention-attention-2: #F53C3C;
--attention-attention-3: #EB6D8E;
--attention-attention-4: #F7AF00;
--attention-attention-5: #88C85E;

--color-overlay: rgba(0,0,0,0.3);

--color-link: #0068B6;
--color-alert: #e90000;

}


/* gap（余白） --------------------------------------------------- */

/* パーツ初期値 */
:root {
--gap-int: 1.5rem;
}


/* border-radius --------------------------------------------------- */

:root {
--border-r1: 100vh;
}



/* ■ カラー設定 ==================================================================================== */

/*
bodyテキスト色・背景色
リンク色
アラート色
テキスト色
ボーダー色
背景色
*/


/* bodyテキスト色・背景色 --------------------------------------------------- */

body {
color: var(--base);
background-color: #fff;
}


/* リンク色 --------------------------------------------------- */

a:link {
color: var(--color-link);
text-decoration: none;
}

a:active {
color: var(--color-link);
text-decoration: none;
}

a:visited {
color: var(--color-link);
text-decoration: none;
}

a:hover {
color: var(--color-link);
text-decoration: none;
}


/* アラート色 --------------------------------------------------- */

.Alert {
color: var(--attention-attention-2) !important;
}

.Box.Alert {
border-color: var(--attention-attention-2) !important;
}

.ListDisc.Alert li:before,
.ListDiscS.Alert li:before {
background-color: var(--attention-attention-2) !important;
}


/* テキスト色 --------------------------------------------------- */

.TxtColorWhite {
color: #fff !important;
}

.TxtColor1 {
color: #fff !important;
}

.TxtColor2 {
color: #b8b8b8 !important;
}

.TxtColor3 {
color: #b8b8b8 !important;
}


/* ボーダー色 --------------------------------------------------- */

.BorderColor1 {
border-color: #ccc !important;
}

.BorderColor2 {
border-color: #ccc !important;
}

.BorderColor3 {
border-color: #ccc !important;
}


/* 背景色 --------------------------------------------------- */

.BgColor1 {
background-color: var(--color-sub1) !important;
}

.BgColor2 {
background-color: var(--color-sub2) !important;
}

.BgColor3 {
background-color: var(--color-sub5) !important;
}



/* ■ 横幅最大値・左右余白設定 ==================================================================================== */

body {
min-width: 320px;
}

#Stage {
overflow: hidden;
/* 仮指定 */
padding-top: 1rem;
}

#Wrapper {
max-width: 640px;
margin: 0 auto;
}

#Layout1,
#Layout2,
#Layout3,
.Width1 {
padding: 0 3.2rem;
}



/* ■ ヘッダー ==================================================================================== */

/*
ヘッダー上バナー：通常
ヘッダー上バナー：特別
ヘッダー下バナー
*/


#Header {
background-color: #fff;
}

#HeaderUnit {
display: flex;
position: relative;
}

.Header_Logo a {
display: flex;
align-items: center;
}

/* ロゴ */
.Header_ServiceName {
display: inline-block;
}

.Header_TagLine {
color: var(--primary);
}

.Header_TagLine_1 {
display: inline-block;
font-size: 1rem;
font-weight: 500;
transform: scale(0.8);
transform-origin: left;
white-space: nowrap;
}

.Header_TagLine_2 {
font-size: 1.8rem;
line-height: 1;
font-weight: 700;
}

/* メニュー */
.Header_Menu {
}

.Header_Menu a {
position: relative;
color: var(--base);
}

.Header_Menu a::before {
position: absolute;
content: '';
}

.Header_Menu_Search::before {
background: url(../images_rev2/common/icon/Icon_Search.png) no-repeat;
}

.Header_Menu_Login::before {
background: url(../images_rev2/common/icon/Icon_Login.png) no-repeat;
}

#Header {
position: sticky;
top: 0;
z-index: 5000;
border-bottom: 1px solid var(--base-pale);
}

#HeaderUnit {
display: flex;
align-items: center;
height: 8rem;
}

/* ロゴ */
.Header_Logo {
display: inline-block; /* flexの親要素の横幅を子要素に合わせるために外側の要素をinline-block化 */
margin-right: auto;
padding-left: 1.6rem;
}

.Header_Logo a {
display: flex;
align-items: center;
height: 5.6rem;
}

.Header_ServiceName {
width: 5.6rem;
}

.Header_TagLine {
line-height: 1.5rem;
padding-left: 1rem;
padding-bottom: 0.2rem;
}

/* メニュー */
.Header_Menu {
display: flex;
align-items: center;
}

.Header_Menu li {
margin-right: 0.75rem;
}

.Header_Menu a {
display: flex;
justify-content: center;
align-items: flex-end;
width: 5rem;
height: 5rem;
padding-bottom: 0.2rem;
font-size: 0.9rem;
line-height: 1;
}

.Header_Menu a::before {
top: 0.6rem;
width: 2.4rem;
height: 2.4rem;
background-size: contain;
}

/* ヘッダー2 */
#Header.Header2 {
position: inherit;
}


/* ヘッダー上バナー：通常 --------------------------------------------------- */

#Header_Banner {
display: flex;
align-items: center;
justify-content: center;
height: 3.5rem;
border-bottom: 1px solid var(--base-middle);
background-color: var(--background-2);
}

#Header_Banner a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 3.5rem;
font-size: 1.2rem;
line-height: 1;
font-weight: 500;
}


/* ヘッダー上バナー：特別 --------------------------------------------------- */

#Header_Banner_Special {
display: flex;
align-items: center;
justify-content: center;
height: 3.5rem;
}

#Header_Banner_Special a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 3.5rem;
font-size: 1.2rem;
line-height: 1;
font-weight: 500;
color: #f1e7d6;
background-color: #004481;
}

#Header_Banner_Special a span {
display: inline-block;
padding: 2rem 0 2rem 2.4rem;
background-image: url(/images_rev2/common/icon/Icon_XmasTree.png);
background-repeat: no-repeat;
background-position: top 48% left 0;
background-size: 2rem 2rem;
}

@media only screen and (max-width: 372px) {

	#Header_Banner_Special a {
	font-size: 1rem;
	}

}


/* ヘッダー下バナー --------------------------------------------------- */

#Header_BannerUnder {
display: flex;
align-items: center;
justify-content: center;
}

#Header_BannerUnder a {
display: block;
width: 100%;
padding: 1.1rem 1.6rem 1rem 4.8rem;
color: #f1e7d6;
background-color: #23487d;
background-image: url(/images_rev2/common/icon/Icon_Arrow_White.png),url(/images_rev2/common/icon/Icon_XmasTree.png);
background-repeat: no-repeat,no-repeat;
background-position: top 50% right 1.2rem,top 48% left 1.6rem;
background-size: 1.2rem 1.2rem,2.8rem 2.8rem;
}

#Header_BannerUnder span {
display: block;
line-height: 1;
}

#Header_BannerUnder .Header_BannerUnder_Lead1 {
font-size: 1rem;
}

#Header_BannerUnder .Header_BannerUnder_Lead2 {
margin-top: 0.5rem;
font-size: 1.2rem;
font-weight: 500;
}

@media only screen and (max-width: 372px) {

	#Header_BannerUnder .Header_BannerUnder_Lead1 {
	font-size: 0.9rem;
	}

	#Header_BannerUnder .Header_BannerUnder_Lead2 {
	font-size: 1rem;
	}

}



/* ■ グローバルナビ ==================================================================================== */

#GlobalNav {
position: fixed;
left: 0;
bottom: 0;
z-index: 10002;
width: 100%;
height: 6rem;
padding: 0 1.6rem;
border-top: 1px solid var(--base-deep);
background-color: #fff;
transition: all 1s;
}

#GlobalNav.GlobalNav_Hide {
transform: translateY(6rem);
}

#GlobalNav.GlobalNav_Show {
transform: translateY(0);
}

.GlobalNav_List {
display: flex;
height: 6rem;
align-items: center;
justify-content: space-around;
}

.GlobalNav_List a {
display: flex;
justify-content: center;
align-items: flex-end;
width: 6rem;
height: 3.8rem;
font-weight: 500;
letter-spacing: -0.9px;
color: var(--base-deep);
}

.GlobalNav_List a span {
display: inline-block;
font-size: 1rem;
line-height: 1;
transform: scale(0.9);
transform-origin: left;
white-space: nowrap;
}

.GlobalNav_List a::before {
position: absolute;
background-repeat: no-repeat;
background-size: contain;
content: '';
}

.GlobalNav_Ranking {
margin-left: 0.5rem;
}

.GlobalNav_Category {
margin-left: 0.5rem;
}

.GlobalNav_Category span {
padding-left: 0.4rem;
}

.GlobalNav_Menu::before {
background-image: url(../images_rev2/common/icon/Icon_Menu_Grey.png);
top: 1.4rem;
width: 2.4rem;
height: 1.45rem;
margin-right: 0.3rem;
}

.GlobalNav_Age::before {
background-image: url(../images_rev2/common/icon/Icon_Age_Grey.png);
top: 0.8rem;
width: 4.5rem;
height: 2.4rem;
margin-right: 0.4rem;
}

.GlobalNav_Ranking::before {
background-image: url(../images_rev2/common/icon/Icon_Ranking_Grey.png);
top: 0.9rem;
width: 2.4rem;
height: 2.2rem;
margin-right: 0.3rem;
}

.GlobalNav_Category::before {
background-image: url(../images_rev2/common/icon/Icon_Category_Grey.png);
top: 0.9rem;
width: 2.2rem;
height: 2.2rem;
margin-right: 0.5rem;
}

.GlobalNav_Cart::before {
background-image: url(../images_rev2/common/icon/Icon_Cart_Grey.png);
top: 1.1rem;
width: 2.2rem;
height: 2.1rem;
margin-right: 0.5rem;
}

/* カート：バッジ */
.Cart_Badge {
display: block;
position: relative;
}

.Cart_Badge::after {
display: inline-block;
position: absolute;
top: -3rem;
right: -1.5rem;
width: 1.2rem;
height: 1.2rem;
border-radius: 100vh;
background-color: var(--attention-attention-2);
content: '';
}



/* ■ ドロワー ==================================================================================== */

#DrawerNav,
#DrawerNav_Age,
#DrawerNav_Category,
#DrawerNav_Gift {
background-color: #fff;
background-image: url(../images_rev2/common/pict/Pict_Church.png);
background-repeat: no-repeat;
background-position: 18rem 15rem;
background-size: 25rem 55rem;
}

#DrawerNav {
position: fixed;
left: -120%;
top: 0;
z-index: 10002;
width: 88%;
height: 100%;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
transition: all 0.4s;
}

.DrawerNav_Plate {
padding-bottom: 10rem;
}

.DrawerNav_Close {
display: flex;
justify-content: flex-end;
}

#DrawerNav_Age,
#DrawerNav_Category,
#DrawerNav_Gift {
position: fixed;
left: -120%;
top: 0;
z-index: 10001;
width: 88%;
height: 100%;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
transition: all 0.4s;
}

.DrawerNav_Bg {
display: none;
position: fixed;
left: 0;
top: 0;
z-index: 10000;
width: 100%;
height: 100%;
background-color: var(--color-overlay);
}

#DrawerNav.DrawerNav_Opened,
#DrawerNav_Age.DrawerNav_Opened,
#DrawerNav_Category.DrawerNav_Opened,
#DrawerNav_Gift.DrawerNav_Opened {
left: 0;
}

.DrawerNav_Sub_Hidden {
display: none;
}

.DrawerNav_Unit:not(:first-of-type) {
margin-top: 4rem;
}

.DrawerNav_Unit {
padding: 0 3.2rem;
}

.DrawerNav_Btn {
margin-top: 1.4rem;
}

.DrawerNav_Btn a {
display: block;
padding: 1.6rem 0;
border: 1px solid var(--primary);
border-radius: 8px;
font-size: 1.4rem;
line-height: 1;
text-align: center;
color: var(--base);
}

.DrawerNav_Mds {
padding-bottom: 1.6rem;
border-bottom: 1px solid var(--primary);
font-size: 2rem;
line-height: 1;
font-weight: 700;
}

.DrawerNav_Item {
margin-top: 2rem;
}

.DrawerNav_Item a {
display: block;
margin-top: 1.8rem;
padding-left: 2rem;
font-size: 1.4rem;
line-height: 1;
font-weight: 700;
color: var(--base);
background: url(../images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
background-position: 0 0.2rem;
background-size: 1rem 1rem;
}

.DrawerNav_Link {
margin-top: 1.8rem;
}

.DrawerNav_Link a {
display: block;
margin-top: 1.4rem;
font-size: 1.2rem;
line-height: 1;
color: var(--base, #231815);
}

/* サブ：見出し */
.DrawerNav_Sub_Header {
display: block;
position: sticky;
left: 0;
top: 0;
z-index: 10002;
width: 100%;
padding-bottom: 1.6rem;
border-bottom: 1px solid var(--base-middle);
text-align: center;
background-color: #fff;
}

.DrawerNav_Sub_Mds_Unit {
position: relative;
}

.DrawerNav_Sub_Back {
position: absolute;
left: 2.2rem;
bottom: -1.4rem;
width: 4rem;
height: 4rem;
line-height: 1;
text-indent: -9999px;
background: url(../images_rev2/common/icon/Icon_Allow_Blue_Back.png) no-repeat;
background-position: 50% 50%;
background-size: 1.2rem 1.2rem;
}

.DrawerNav_Sub_Mds {
font-size: 1.4rem;
line-height: 1;
font-weight: 700;
}

/* レイアウト */
.DrawerNav_Col1 {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 1rem;
}

.DrawerNav_Col2 {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0 1rem;
}

.DrawerNav_Col3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem 0.8rem;
margin-top: 1.4rem;
}

.DrawerNav_Col_Login {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}

.DrawerNav_Col_Login a:nth-child(1) {
grid-column: span 2;
}

.DrawerNav_Col_Login.DrawerNav_Col_Login_Logined a:nth-child(1) {
grid-column: span 1;
}

.DrawerNav_Btn .DrawerNav_Login,
.DrawerNav_Btn .DrawerNav_Bookmark,
.DrawerNav_Btn .DrawerNav_Guide {
padding: 0;
}

.DrawerNav_Login span,
.DrawerNav_Bookmark span,
.DrawerNav_Guide span {
display: inline-block;
padding: 1.6rem 0;
}

.DrawerNav_Login span {
display: block;
padding-left: 0.5rem;
background: url(../images_rev2/common/icon/Icon_Login_Blue.png) no-repeat;
background-position: 1.6rem 1.2rem;
background-size: 2rem 2rem;
}

.DrawerNav_Col_Login_Logined .DrawerNav_Login span {
padding-left: 2.8rem;
}

.DrawerNav_Bookmark span {
padding-left: 2.8rem;
background: url(../images_rev2/common/icon/Icon_Bookmark_Blue.png) no-repeat;
background-position: 0 1.3rem;
background-size: 2.1rem 1.9rem;
}

.DrawerNav_Guide span {
padding-left: 2.4rem;
background: url(../images_rev2/common/icon/Icon_Guide_Blue.png) no-repeat;
background-position: 0 1.25rem;
background-size: 2rem 2rem;
}

.DrawerNav_Col_Age {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 1rem;
margin-top: 3rem !important;
}

.DrawerNav_Col_Age a:nth-child(1) {
grid-column: span 6;
}

.DrawerNav_Col_Age a:nth-child(2),
.DrawerNav_Col_Age a:nth-child(3),
.DrawerNav_Col_Age a:nth-child(4) {
grid-column: span 2;
}

.DrawerNav_Col_Age a:nth-child(n+5) {
grid-column: span 3;
}

.DrawerNav_Col_Price {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}

.DrawerNav_Col_Price a:nth-child(4) {
grid-column: span 1;
}

.DrawerNav_Col_Price a:nth-child(5) {
grid-column: span 2;
}

.DrawerNav_Gift_Scene .DrawerNav_ItemName {
text-align: center;
}

.DrawerNav_Gift_Set a {
margin-bottom: 1rem;
}

.DrawerNav_Gift_Online a {
margin-bottom: 1rem;
}

.DrawerNav_Gift_Online_Notice {
margin-top: 1.6rem;
font-size: 1.2rem;
line-height: 1;
text-align: center;
}

.DrawerNav_Photo img {
border-radius: 8px;
border: 1px solid var(--primary);
}

.DrawerNav_ItemName {
margin-top: 0.5rem;
font-size: 1.2rem;
font-weight: 500;
line-height: 1.3;
color: var(--base);
}

/* 閉じるボタン：下部 */
a.DrawerNav_CloseBtm {
display: flex;
align-items: center;
justify-content: center;
position: sticky;
left: 0;
bottom: 0;
z-index: 10002;
width: 100%;
height: 4.8rem;
padding-right: 1.6rem;
font-size: 1.5rem;
font-weight: 500;
color: #fff;
background-color: var(--primary);
}

.DrawerNav_CloseBtm .IconClose {
position: absolute;
right: 6.5rem;
top: 0.3rem;
width: 4rem;
height: 4rem;
}

.DrawerNav_CloseBtm .IconClose_Item {
position: absolute;
top: 2rem;
}



/* ■ SNS ==================================================================================== */

.OfficalSNS_Menu {
display: flex;
justify-content: center;
}

.OfficalSNS_Menu a {
display: inline-block;
text-indent: -9999px;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: contain;
}

.OfficalSNS_Instagram {
background-image: url(../images_rev2/common/icon/Icon_SNS_Instagram.png);
}

.OfficalSNS_LINE {
background-image: url(../images_rev2/common/icon/Icon_SNS_Line.png);
}

.OfficalSNS_YouTube {
background-image: url(../images_rev2/common/icon/Icon_SNS_YouTube.png);
}

.OfficalSNS_Facebook {
background-image: url(../images_rev2/common/icon/Icon_SNS_Facebook.png);
}

.OfficalSNS_Mail {
background-image: url(../images_rev2/common/icon/Icon_SNS_Mail.png);
}

.OfficalSNS {
padding: 4rem 3.2rem 11rem;
}

.OfficalSNS_Menu {
gap: 2rem;
}

.OfficalSNS_Menu a {
width: 4rem;
height: 4rem;
}



/* ■ フッター ==================================================================================== */

#FooterWrap {
overflow: hidden;
}

#Footer {
position: relative;
background-color: var(--background-footer);
}

#Footer a {
display: inline-block;
color: var(--base);
}

/* ご利用ガイド */
.Footer_Guide_Menu {
position: relative;
}

.Footer_Guide_Menu a {
font-weight: 700;
background: url(../images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
}

/* ユーティリティ */
.Footer_Utility {
border-top: 1px solid #dfe0de;
}

/* 装飾 */
#Footer::after {
position: absolute;
background: url(../images_rev2/common/pict/Pict_Gear.png) no-repeat;
background-size: contain;
content: "";
}

.Footer_Guide_Menu::after {
position: absolute;
background: url(../images_rev2/common/pict/Pict_Fish.png) no-repeat;
background-size: contain;
content: '';
}

#Footer {
padding: 6rem 3.2rem 16rem;
}

#Footer.Footer_Adjusted {
padding-bottom: 16rem;
}

#Footer.Footer2.Footer_Adjusted {
padding-bottom: 18rem;
}

/* ご利用ガイド */
.Footer_Guide_Mds {
font-size: 2.4rem;
line-height: 1;
}

.Footer_Guide_Menu {
margin-top: 2.5rem;
}

.Footer_Guide_Menu li {
margin-top: 1.5rem;
line-height: 1;
}

.Footer_Guide_Menu a {
padding-left: 2.5rem;
font-size: 1.4rem;
line-height: 1.5;
background-size: 10.25px 10px;
background-position: 0 0.55rem;
}

/* ユーティリティ */
.Footer_Utility {
margin-top: 5rem;
padding-top: 2rem;
}

#Footer.Footer2 .Footer_Utility {
margin-top: 0;
padding-top: 0;
border-top: none;
}

.Footer_Utility_Menu {
display: grid;
grid-template-columns: repeat(2, 1fr);
}

.Footer_Utility_Menu li {
margin-top: 0.75rem;
line-height: 1;
}

.Footer_Utility_Menu a {
font-size: 1.2rem;
line-height: 1.5;
}

.Footer_Copyright {
margin-top: 3rem;
font-size: 1.2rem;
line-height: 1;
}

/* 装飾 */
#Footer::after {
left: -2.3rem;
top: -9.4rem;
width: 12.2rem;
height: 15.6rem;
}

.Footer_Guide_Menu::after {
right: -4.7rem;
bottom: -3rem;
width: 17.7rem;
height: 13.7rem;
}

/* フッター2 */
#Footer.Footer2 {
margin-top: 4rem;
padding: 4rem 3.2rem 6rem;
}

#Footer.Footer2::after {
display: none;
}

/* 旧CSS */
#Footer.Footer2 .Copyright {
font-size: 1.2rem;
line-height: 1;
text-align: center;
}

#Footer.Footer2 .Copyright {
font-size: 1.2rem;
line-height: 1;
text-align: center;
}



/* ■ メインバナー ==================================================================================== */

.BannerMain {
position: relative;
z-index: 100;
margin-bottom: 6rem;
opacity: 0.8;
}



/* ■ ランキング ==================================================================================== */

.Ranking_Contents {
display: none;
}

.Ranking_Contents.Current {
display: block;
}

.Ranking_Each,
.ItemList_List_Ranking {
counter-reset: listnum;
}

.Ranking_Each li,
.ItemList_List_Ranking li {
position: relative;
}

.Ranking_Each li::before,
.ItemList_List_Ranking li::before {
position: absolute;
left: 0;
top: 0;
z-index: 2;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
counter-increment: listnum;
content: counter(listnum) "";
font-family: "Albert Sans",Sans-Serif;
}

.Ranking_Each li:nth-child(1)::before,
.Ranking_Each li:nth-child(2)::before,
.Ranking_Each li:nth-child(3)::before,
.ItemList_List_Ranking li:nth-child(1)::before,
.ItemList_List_Ranking li:nth-child(2)::before,
.ItemList_List_Ranking li:nth-child(3)::before {
left: -1rem;
top: -1rem;
width: 3.3rem;
height: 2.9rem;
line-height: 3.5rem;
color: #fff;
background-repeat: no-repeat;
background-size: contain;
}

.Ranking_Each li:nth-child(1)::before,
.ItemList_List_Ranking li:nth-child(1)::before {
background-image: url(../images_rev2/common/icon/Icon_Ranking_1.png);
}

.Ranking_Each li:nth-child(2)::before,
.ItemList_List_Ranking li:nth-child(2)::before {
background-image: url(../images_rev2/common/icon/Icon_Ranking_2.png);
}

.Ranking_Each li:nth-child(3)::before,
.ItemList_List_Ranking li:nth-child(3)::before {
background-image: url(../images_rev2/common/icon/Icon_Ranking_3.png);
}

.Ranking_Each li:nth-child(n+4)::before,
.ItemList_List_Ranking li:nth-child(n+4)::before {
left: -1rem;
top: -1rem;
width: 2.8rem;
height: 2.8rem;
border-radius: 100vh;
line-height: 2.8rem;
background: var(--base-middle);
}

#Ranking {
margin-top: 10rem;
}

#Ranking .MdsUnit_Sub::before {
top: -5.4rem;
width: 4.2rem;
height: 3.8rem;
margin-left: -2.1rem;
background-image: url(../images_rev2/common/icon/Icon_Ranking_Gold.png);
}

.Ranking_Tab {
margin-left: 3.2rem;
margin-top: 4.8rem;
}

.Ranking_Tab_Genre {
margin-top: 5.2rem;
}

.Ranking_Tab a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 4.8rem;
font-size: 1.3rem;
line-height: 1;
font-weight: 500;
text-align: center;
color: var(--base);
background: var(--base-pale);
}

.Ranking_Tab_Genre a {
padding: 0 1.4rem;
line-height: 1.2;
}

.Ranking_Tab a.Current {
color: #fff;
background: var(--primary);
}

.Ranking_Tab li:first-child a {
border-radius: 0.4rem 0 0 0;
}

.Ranking_Tab li:last-child a {
border-radius:  0 0.4rem 0 0;
}

.Ranking_Contents {
margin-top: 3.2rem;
}

#Page_Home_ .Ranking_Contents {
margin-top: 0.6rem;
}

.Ranking_More {
display: flex;
justify-content: center;
margin-top: 3rem;
}

.Ranking_More a {
width: 26.2rem;
}

/* ページ下部バナー */
#BannerRanking_Common {
margin-top: 4rem;
}


/* ■ ランキング（関連特集マスタ） ==================================================================================== */

#Ranking2 {
position: relative;
margin-bottom: 6rem;
padding: 6rem 0 10rem;
background-color: var(--background-2);
}

.Ranking2_Mds {
font-size: 2rem;
font-weight: 700;
text-align: center;
}

#Ranking2 .Ranking_Each {
margin-top: 3.2em;
}

/* 装飾 */
#Ranking2::before {
position: absolute;
left: -10rem;
top: -16rem;
width: 21.6rem;
height: 20.6rem;
background: url(../images_rev2/common/pict/Pict_Trees.png) no-repeat;
background-size: contain;
content: "";
}

#Ranking2::after {
position: absolute;
right: -14rem;
bottom: -5rem;
width: 36.7rem;
height: 12rem;
background: url(../images_rev2/common/pict/Pict_Sea.png) no-repeat;
background-size: contain;
content: '';
}

.Ranking2_More {
display: flex;
justify-content: center;
margin-top: 4rem;
}



/* ■ 最近見た商品 ==================================================================================== */

#History {
margin-top: 4rem;
padding: 0 0 6rem;
}

#History.History__Adjusted {
margin-top: 0;
}

.History_Mds {
font-size: 2rem;
line-height: 1;
text-align: center;
}

.Slider_History {
margin-top: 3.2rem;
}



/* ■ おすすめ商品（プラグイン） ==================================================================================== */

#ItemRecommend {
position: relative;
margin-bottom: 6rem;
padding: 6rem 0 12rem;
background-color: var(--background-2);
}

.ItemRecommend_Mds {
padding: 0 3.2rem;
font-size: 2rem;
line-height: 1.5;
font-weight: 700;
text-align: center;
}

.ItemRecommend_List {
position: relative;
z-index: 500;
margin-top: 3.2rem;
}

/* 装飾 */
#ItemRecommend::before {
position: absolute;
left: -10rem;
top: -16rem;
width: 21.6rem;
height: 20.6rem;
background: url(../images_rev2/common/pict/Pict_Trees.png) no-repeat;
background-size: contain;
content: "";
}

#ItemRecommend::after {
position: absolute;
right: -14rem;
bottom: -5rem;
width: 36.7rem;
height: 12rem;
background: url(../images_rev2/common/pict/Pict_Sea.png) no-repeat;
background-size: contain;
content: '';
}



/* ■ パン屑リスト ==================================================================================== */

/*
旧class（フリーページに使用）
*/

.BreadCrumb_Wrap {
position: relative;
margin-top: 3rem;
margin-bottom: 3rem;
padding-bottom: 1rem;
overflow: hidden;
}

.BreadCrumb_Wrap::before {
position: absolute;
left: 3.2rem;
bottom: 0;
width: 100%;
height: 0.1rem;
background: var(--base-middle);
content: '';
}

.BreadCrumb_Wrap::after {
position: absolute;
right: 0;
bottom: 0;
width: 3.2rem;
height: 0.1rem;
background: #fff;
content: '';
}

.BreadCrumb {
width: 100%;
padding: 0.8rem 0;
-webkit-overflow-scrolling: touch;
overflow-x: scroll;
white-space: nowrap;
}

.BreadCrumbUnit {
width: 100%;
padding: 0 3.2rem;
white-space: nowrap;
}

.BreadCrumb_List {
display: flex;
align-items: center;
gap: 0.6rem;
}

.BreadCrumb_List li {
display: flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
position: relative;
font-size: 1.2rem;
line-height: 1;
}

.BreadCrumb_List li::after {
width: 6px;
height: 6px;
border-top: solid 1px var(--base-deep);
border-right: solid 1px var(--base-deep);
transform: rotate(45deg);
content: '';
}

.BreadCrumb_List li:last-child {
padding-right: 3.2rem;
}

.BreadCrumb_List li:last-child::after {
display: none;
}

.BreadCrumb_List li a {
color: var(--base-deep);
}

.BreadCrumb_List li:last-child a {
color: var(--base);
}


/* 旧class（フリーページに使用）--------------------------------------------------- */

.TopicPath {
margin-bottom: 30px;
}

.TopicPath ul {
margin: 5px 10px;
line-height: 1.4em;
}

.TopicPath li {
display: inline;
padding: 0 0 0 1px;
font-size: 79%;
}

.TopicPath li:first-child {
padding: 0 0 0 13px;
background: url(https://d2130aokgzcx3l.cloudfront.net/images/common/icon/Icon_PathHome.png) no-repeat left center;
}

.TopicPath li.Current {
padding: 0 0 0 1px;
}

.TopicPath li a {
padding: 0 12px 0 0;
background: url(https://d2130aokgzcx3l.cloudfront.net/images/common/icon/Icon_PathAllow.png) no-repeat right center;
}



/* ■ コンテンツ領域 ==================================================================================== */

#Contents {
padding-top: 2.5rem;
padding-bottom: 3rem;
}



/* ■ 見出し ==================================================================================== */

/*
見出しユニット
旧class
*/


/* 見出しユニット --------------------------------------------------- */

.MdsUnit_Sub,
.MdsUnit_Main {
font-weight: 700;
text-align: center;
}

.MdsUnit_Sub {
position: relative;
font-size: 4.2rem;
line-height: 1;
}

.MdsUnit_Sub::before {
position: absolute;
left: 50%;
background-repeat: no-repeat;
background-size: contain;
content: '';
}

.MdsUnit_Main {
margin-top: 1.6rem;
font-size: 1.4rem;
line-height: 1;
}


/* 旧class --------------------------------------------------- */

.BorderL {
position: relative;
}

.BorderL::before {
display: block;
width: 100%;
height: 0.2rem;
margin-bottom: 1.5rem;
border-radius: 50px;
background: var(--primary);
content: "";
}



/* ■ 商品情報 ==================================================================================== */

.Item_ a {
color: var(--base);
}

.Item_Photo img {
border: 1px solid var(--base-middle);
}

.Item_Lead {
margin-top: 0.8rem;
font-size: 1.3rem;
line-height: 1.5;
font-weight: 700;
}

.Item_Name {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
margin-top: 1rem;
font-size: 1.3rem;
line-height: 1.5;
overflow: hidden;
}

.Item_Price {
margin-top: 0.5rem;
font-size: 2rem;
line-height: 1;
font-weight: 700;
}

.Item_Price_Yen {
margin-right: 0.4rem;
font-size: 1.2rem;
}



/* ■ セクション ==================================================================================== */

/*
旧class
*/


/* 旧class --------------------------------------------------- */

.SectionBasic:not(:first-of-type) {
margin-top: 3rem;
}


.SectionSub {
margin-top: 2rem;
}



/* ■ カラム ==================================================================================== */

/*
成り行き
固定
*/


.Cols {
display: grid;
gap: 2rem;
margin-top: var(--gap-int);
}


/* 成り行き --------------------------------------------------- */

.ColAuto3 {
grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}

.ColAuto4 {
grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
}


/* 固定 --------------------------------------------------- */

.Col2 {
grid-template-columns: repeat(2, 1fr);
}

.Col3 {
grid-template-columns: repeat(3, 1fr);
}

.Col4 {
grid-template-columns: repeat(4, 1fr);
}

.Col5 {
grid-template-columns: repeat(5, 1fr);
}

.Col6 {
grid-template-columns: repeat(6, 1fr);
}


@media only screen and (max-width: 767px) {

	.Col2_SP {
	grid-template-columns: repeat(2, 1fr);
	}

	.Col3_SP {
	grid-template-columns: repeat(3, 1fr);
	}

	.Col4_SP {
	grid-template-columns: repeat(4, 1fr);
	}

	.Col5_SP {
	grid-template-columns: repeat(5, 1fr);
	}

	.Col6_SP {
	grid-template-columns: repeat(6, 1fr);
	}

	/* 2対1 */
	.Col2v1 {
	grid-template-columns: 1fr;
	}

	/* 1対2 */
	.Col1v2 {
	grid-template-columns: 1fr;
	}

}

@media print, screen and (min-width: 768px) {

	.Col2_PC {
	grid-template-columns: repeat(2, 1fr);
	}

	.Col3_PC {
	grid-template-columns: repeat(3, 1fr);
	}

	.Col4_PC {
	grid-template-columns: repeat(4, 1fr);
	}

	.Col5_PC {
	grid-template-columns: repeat(5, 1fr);
	}

	.Col6_PC {
	grid-template-columns: repeat(6, 1fr);
	}

	/* 2対1 */
	.Col2v1 {
	grid-template-columns: 2fr 1fr;
	}

	/* 1対2 */
	.Col1v2 {
	grid-template-columns: 1fr 2fr;
	}

}



/* ■ リスト各種 ==================================================================================== */

/*
マーカーなし（ListNoMarker）
ディスク：中（ListDisc）
ディスク：小（ListDiscS）
米印：中（ListKome）
米印：小（ListKomeS）
連番：中（ListNum）
連番：小（ListNumS）
連番米印：小（ListKomeNumS）
入れ子調整
旧class
*/

.List li {
position: relative;
}

.List li::before {
display: inline-block;
position: absolute;
}

/* ディスク：中（ListDisc） */
.ListDisc li::before {
border-radius: 100%;
background-color: var(--base);
content: '';
}

/* ディスク：小（ListDiscS） */
.ListDiscS li::before {
border-radius: 100%;
background-color: var(--base);
content: '';
}

/* 米印：中（ListKome） */
.ListKome li::before {
content: '※';
}

/* 米印：小（ListKomeS） */
.ListKomeS li::before {
content: '※';
}

/* 連番：中（ListNum） */
.ListNum {
counter-reset: ListNum;
}

.ListNum li::before {
counter-increment: ListNum;
content: counter(ListNum)".";
}

/* 連番：小（ListNumS） */
.ListNumS {
counter-reset: ListNumS;
}

.ListNumS li::before {
counter-increment: ListNumS;
content: counter(ListNumS)".";
}

/* 連番米印：小（ListKomeNumS） */
.ListKomeNumS {
counter-reset: ListKomeNumS;
}

.ListKomeNumS li::before {
counter-increment: ListKomeNumS;
content: "※"counter(ListKomeNumS);
}

.ListNoMarker li,
.ListDisc li,
.ListKome li,
.ListNum li {
margin-top: 0.8rem;
font-size: 1.4rem;
line-height: 1.5;
}

.ListDiscS li,
.ListKomeS li,
.ListNumS li,
.ListKomeNumS li {
margin-top: 0.4rem;
font-size: 1.2rem;
line-height: 1.5;
}


/* マーカーなし（ListNoMarker） --------------------------------------------------- */


/* ディスク：中（ListDisc） --------------------------------------------------- */

.ListDisc li > .ListDisc li::before {
width: 0.8rem;
height: 0.1rem;
border-radius: 0;
}

.ListDisc li {
padding-left: 1.7rem;
}

.ListDisc li::before {
left: 0.2rem;
top: 0.6rem;
width: 0.8rem;
height: 0.8rem;
}

/* 入れ子時 */
.ListDisc li > .ListDisc li {
padding-left: 1.8rem;
}

.ListDisc li > .ListDisc li::before {
top: 1.4rem;
}

/* Android */
.Android .ListDisc li::before {
top: 0.9rem;
}

.Android .ListDisc li > .ListDisc li::before {
top: 1.3rem;
}


/* ディスク：小（ListDiscS） --------------------------------------------------- */

.ListDiscS li {
padding-left: 1.5rem;
}

.ListDiscS li::before {
left: 0.4rem;
top: 0.6rem;
width: 0.6rem;
height: 0.6rem;
}

/* Android */
.Android .ListDiscS li:before {
top: 0.7rem;
}


/* 米印：中（ListKome） --------------------------------------------------- */

.ListKome li:before {
left: 0.2rem;
}

.ListKome li {
padding-left: 1.7rem;
}

.ListKome li::before {
top: -0.25rem;
font-size: 1.5rem;
}

/* Android */
.Android .ListKome li::before {
top: 0;
}


/* 米印：小（ListKomeS） --------------------------------------------------- */

.ListKomeS li {
padding-left: 1.3rem;
}

.ListKomeS li::before {
left: 0.2rem;
top: -0.15rem;
}

/* Android */
.Android .ListKomeS li::before {
top: 0;
}


/* 連番：中（ListNum） --------------------------------------------------- */

.ListNum {
padding-left: 0.5rem;
}

.ListNum li {
padding-left: 1.8rem;
}

.ListNum li::before {
left: 0.1rem;
top: 0;
}

.ListNum li:nth-child(n+10)::before {
left: -0.7rem;
}


/* 連番：小（ListNumS） --------------------------------------------------- */

.ListNumS {
padding-left: 0.4rem;
}

.ListNumS li {
padding-left: 1.7rem;
}

.ListNumS li::before {
left: 0.1rem;
top: 0;
}

.ListNumS li:nth-child(n+10)::before {
left: -0.7rem;
}


/* 連番米印：小（ListKomeNumS） --------------------------------------------------- */

.ListKomeNumS {
padding-left: 0.4rem;
}

.ListKomeNumS li::before {
letter-spacing: 0.1em;
}

.ListKomeNumS li {
padding-left: 2.4rem;
}

.ListKomeNumS li::before {
left: 0.1rem;
top: 0;
}

.ListKomeNumS li:nth-child(n+10)::before {
left: -0.7rem;
}


/* インライン表示 --------------------------------------------------- */

.List.ListInline_SP li {
display: inline-block;
margin-right: 1rem;
}


/* 入れ子調整 --------------------------------------------------- */

.List li > .List {
margin-top: 0;
}


/* 旧class --------------------------------------------------- */

/* 米印：小（ListKomeS） */
.ListKomeAlertS li {
position: relative;
padding-left: 1.3rem;
padding-left: 1.3rem;
font-size: 1.2rem;
line-height: 1.5;
color: var(--attention-attention-2);
}

.ListKomeAlertS li::before {
position: absolute;
left: 0.2rem;
top: -0.15rem;
content: '※';
}

/* 米印：小（非liタグ） */
.KomeS {
display: inline-block;
position: relative;
padding-left: 1.3rem;
font-size: 1.2rem !important;
line-height: 1.5 !important;
}

.KomeS::before {
display: inline-block;
position: absolute;
left: 0.2rem;
top: -0.15rem;
content: '※';
}

/* 米印アラート：小（非liタグ） */
.KomeAlertS {
display: inline-block;
position: relative;
padding-left: 1.3rem;
font-size: 1.2rem !important;
line-height: 1.5 !important;
color: var(--attention-attention-2);
}

.KomeAlertS::before {
display: inline-block;
position: absolute;
left: 0.2rem;
top: -0.15rem;
content: '※';
}



/* ■ 記述リスト（DLHori、DLVert、DLTable） ==================================================================================== */

/*
左右（dlh）
上下（dlv）
テーブルスタイル（dlt）
*/


/* 左右（dlh） --------------------------------------------------- */

.DLHori dl {
display: flex;
line-height: 1.6;
}

.DLHori dd {
flex: 1;
}

/* 縦並び */
.DLHori_SP dl {
flex-flow: column;
}


/* 上下（dlv） --------------------------------------------------- */

.DLVert dl {
line-height: 1.6;
}


/* テーブルスタイル（dlt） --------------------------------------------------- */

.DLTable {
margin-top: var(--gap-int);
border-top: 1px solid var(--background-4);
}

.DLTable dl {
display: flex;
line-height: 1.6;
border-left: 1px solid var(--background-4);
}

.DLTable dt,
.DLTable dd {
padding: 0.75rem 1.5rem;
border-right: 1px solid var(--background-4);
border-bottom: 1px solid var(--background-4);
}

.DLTable dt {
background: var(--color-sub5);
}

.DLTable dd {
flex: 1;
}

.DLTable dt {
width: 40%;
}

/* 縦並び */
.DLTable_SP dl {
flex-flow: column;
}

.DLTable_SP dt {
width: 100%;
}



/* ■ 表組み ==================================================================================== */

/*
旧class
*/

.Table1_,
.Table2_ {
border-top: 1px solid var(--base-middle);
}

.Table1_ th,
.Table2_ th,
.Table1_ td,
.Table2_ td {
padding: 1.2rem 1.6rem;
border-bottom: 1px solid var(--base-middle);
border-radius: 4px;
line-height: 1.5;
vertical-align: top;
}

.Table1_ th,
.Table2_ th {
font-weight: 700;
color: var(--base-deep);
background: var(--bace-light);
}

.Table1_ td,
.Table2_ td {
background-color: #fff;
}

.Table1_ th {
border-right: 1px solid var(--base-middle);
text-align: left;
}

.Table1_ th,
.Table2_ th,
.Table1_ td,
.Table2_ td {
font-size: 1.2rem;
}

.Table1_ th {
width: 40%;
}

/* 縦並び */
.Table1_SP th,
.Table1_SP td {
display: block;
}

.Table1_SP tr:not(:first-of-type) th,
.Table1_SP td {
border-top: none;
}

.Table1_SP th {
width: 100%;
}

/* 横スクロール表示 */
.TableScroll {
overflow-x: scroll;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}


/* 旧class --------------------------------------------------- */

/* Table1（項目：左） */
.Table1 {
border-left: solid 1px var(--base-middle);
border-top: solid 1px var(--base-middle);
}

.Table1 th {
padding: 0.8rem 1.6rem;
border-right: solid 1px var(--base-middle);
border-bottom: solid 1px var(--base-middle);
text-align: left;
background: var(--base-pale);
}

.Table1 td {
padding: 0.8rem 1.6rem;
border-right: solid 1px var(--base-middle);
border-bottom: solid 1px var(--base-middle);
text-align: right;
background: #ffffff;
}

/* Table2（項目：上） */
.Table2 {
border-left: solid 1px var(--base-middle);
border-top: solid 1px var(--base-middle);
}

.Table2 th {
padding: 0.8rem 2rem;
border-right: solid 1px var(--base-middle);
border-bottom: solid 1px var(--base-middle);
background: var(--base-pale);
}

.Table2 td {
padding: 1.6rem 2rem;
border-right: solid 1px var(--base-middle);
border-bottom: solid 1px var(--base-middle);
background: #fff;
}



/* ■ 囲み（Box） ==================================================================================== */

.Box {
margin-top: var(--gap-int);
border: 1px solid var(--background-4);
}

.Box {
padding: 1.25em 1.25em;
}



/* ■ よくある質問（旧class） ==================================================================================== */

.FaqUnit dl {
margin: 15px 0 0 0;
}

.FaqUnit dt, .FaqUnit dd {
margin: 0 0 10px 0;
line-height: 1.6em;
}

.FaqUnit dt {
padding: 6px 0 6px 50px;
font-size: 108%;
font-weight: bold;
background: url(https://d2130aokgzcx3l.cloudfront.net/images/common/icon/Icon_FaqQ.png) no-repeat left center;
}

.FaqUnit dd {
padding: 0 0 14px 50px;
background: url(https://d2130aokgzcx3l.cloudfront.net/images/common/icon/Icon_FaqA.png) no-repeat left top;
}



/* ■ タブメニュー ==================================================================================== */

.TabMenu {
display: flex;
gap: 0.2rem;
}

.TabMenu li {
width: 100%;
}

.TabMenu a {
display: block;
padding: 1.2rem 0;
font-size: 1.4rem;
line-height: 1;
font-weight: 500;
text-align: center;
color: var(--base);
background: var(--base-pale);
}

.TabMenu a.Current {
color: #fff;
background: var(--primary);
}

.TabMenu li:first-child a {
border-radius: 0.4rem 0 0 0;
}

.TabMenu li:last-child a {
border-radius:  0 0.4rem 0 0;
}



/* ■ CSSスライダー ==================================================================================== */

.SliderCSS {
display: inherit !important;
margin-top: 3.2rem;
padding-left: 3.2rem;
white-space: nowrap;
overflow-x: auto;
scroll-snap-type: x mandatory;
}

.SliderCSS li {
display: inline-block;
width: 42.9% !important;
margin-right: 1.1rem !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
vertical-align: top;
white-space: normal;
scroll-snap-align: center;
}



/* ■ テキストリンクアイコン ==================================================================================== */

/*
旧class
*/

/* .LinkFwd, */
.LinkBack,
.LinkDown,
.LinkNewWin,
.LinkPDF {
display: flex;
align-items: center;
/* justify-content: flex-end; */
}

/* .LinkFwd::after, */
.LinkBack::after,
.LinkDown::after,
.LinkNewWin::after,
.LinkPDF::after {
display: inline-block;
margin-left: 0.7rem;
content: '';
}

/* .LinkFwd::after, */
.LinkBack::after,
.LinkDown::after {
width: 0.8rem;
height: 0.8rem;
border-top: 2px solid var(--primary);
border-right: 2px solid var(--primary);
}

/* 進む（LinkFwd） */
.LinkFwd::after {
transform: rotate(45deg);
}

/* 戻る（LinkBack） */
.LinkBack::after {
left: 0.2rem;
transform: rotate(225deg);
}

/* 下へ（LinkDown） */
.LinkDown::after {
margin-top: -0.5rem;
transform: rotate(135deg);
}

/* 別ウインドウ（LinkNewWin） */
.LinkNewWin::after {
width: 1.2rem;
height: 1rem;
background: url(../../images_rev2/common/icon/Icon_NewWin.png) no-repeat;
background-size: contain;
}

/* PDF（LinkPDF） */


/* 旧class --------------------------------------------------- */
.LinkFwdR {
text-align: right;
}

.LinkFwdS a {
padding-left: 1.5rem;
font-size: 1.3rem;
background: url(../images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
background-position: 0 50%;
background-size: 10px 10px
}



/* ■ リンクアイコン ==================================================================================== */

/*
矢印1
プラス・マイナス
*/


/* 矢印1 --------------------------------------------------- */

.LinkIcon1 {
display: block;
position: relative;
}

.LinkIcon1::before {
display: block;
position: absolute;
border-top: solid 1px #000;
border-right: solid 1px #000;
transform: rotate(45deg);
content: '';
}

.LinkIcon1 {
padding-right: 4rem;
}

.LinkIcon1::before {
top: 50%;
right: 1.5rem;
width: 0.8rem;
height: 0.8rem;
margin-top: -0.4rem;
}


/* プラス・マイナス --------------------------------------------------- */

.LinkIconPlus {
display: block;
position: relative;
}

.LinkIconPlus::before,
.LinkIconPlus::after {
display: block;
position: absolute;
top: 50%;
right: 1.5rem;
width: 1.5rem;
height: 0.1rem;
background-color: #000;
content: "";
}

.LinkIconPlus::after {
transform: rotate(90deg);
}

.LinkIconPlus.Current::after {
display: none;
}

.LinkIconPlus {
padding-right: 4rem;
}



/* ■ ボタン ==================================================================================== */

/*
通常
フォーム系
設定系
*/


/* 通常 --------------------------------------------------- */

.BtnS,
.BtnM,
.BtnL,
.BtnForm_M {
display: inline-block;
position: relative;
border: 1px solid;
border-radius: var(--border-r1);
line-height: 1;
font-weight: 700;
text-align: center;
}

/* 文字サイズ */
.BtnS {
font-size: calc(1.6rem * 0.9);
}

.BtnM {
font-size: calc(1.6rem * 1);
}

.BtnL {
font-size: calc(1.6rem * 1.2);
}

/* 矢印 */
.BtnAllowRight::after {
display: block;
position: absolute;
top: 50%;
width: 1.6rem;
height: 1.6rem;
margin-top: -0.8rem;
content: '';
}

/* 矢印：右 */
.BtnAllowRight::after {
right: 2rem;
background: url(../images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
background-size: contain;
transition: transform 0.2s ease 0.01s;
}

/* カラー：1 */
.BtnColor1,
a.BtnColor1 {
color: var(--base);
border-color: var(--primary);
background-color: #fff;
}

.BtnColor1::after {
border-color: var(--primary);
}

/* カラー：2 */
.BtnColor2,
a.BtnColor2 {
color: #fff;
border-color: var(--primary);
background-color: var(--primary);
}

.BtnColor2::after {
border-color: var(--primary);
}

/* カラー：3 */
.BtnColor3,
a.BtnColor3 {
color: var(--base);
border-color: var(--base-middle);
background-color: #fff;
}

.BtnColor2::after {
border-color: var(--base-middle);
}

/* 開く・閉じる */
.BtnOpenClose,
a.BtnOpenClose {
display: inline-block;
position: relative;
border-radius: 4px;
border: 1px solid var(--base-middle);
font-weight: 500;
color: var(--base);
background: #fff;
}

.BtnOpenClose::before,
.BtnOpenClose::after {
display: block;
position: absolute;
top: 50%;
right: 1.6rem;
width: 1.6rem;
height: 0.1rem;
background-color: var(--base);
content: "";
}

.BtnOpenClose::after {
transform: rotate(90deg);
}

.BtnOpenClose.BtnClose::after {
display: none;
}

.BtnS,
.BtnM,
.BtnL {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}

.BtnS {
padding: 1rem 3rem;
}

.BtnM {
width: 26.2rem;
height: 4.8rem;
}

.BtnL {
padding: 2.25rem 3rem;
}

/* 開く・閉じる */
.BtnOpenClose {
width: 24rem;
padding: 1rem 3rem;
font-size: 1.4rem;
}


/* フォーム系 --------------------------------------------------- */

.BtnForm_M {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 6rem;
border-radius: 4px;
font-size: 1.8rem;
font-weight: 700;
}


/* 設定系 --------------------------------------------------- */

.BtnSet1,
a.BtnSet1 {
display: inline-block;
padding: 1rem 1.2rem;
border-radius: 4px;
font-size: 1.6rem;
line-height: 1;
font-weight: 500;
color: #fff;
background: var(--primary);
}



/* ■ シェア ==================================================================================== */

.Share {
display: flex;
align-items: center;
gap: 0.6rem;
}

.Share_Mds {
margin-right: 1rem;
font-weight: 500;
}

.Share_Twitter,
.Share_Line {
display: inline-block;
width: 4rem;
height: 4rem;
text-indent: -9999px;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: contain;
}

.Share_Twitter {
background-image: url(../images_rev2/common/icon/Icon_SNS_X.png);
}

.Share_Line {
background-image: url(../images_rev2/common/icon/Icon_SNS_Line.png?ver=2);
}

.Share_Copy {
display: flex;
align-items: center;
justify-content: center;
flex-grow: 1;
position: relative;
height: 4rem;
margin-left: auto;
border: 1px solid var(--base-middle);
border-radius: 100vh;
font-size: 1.2rem;
font-weight: 500;
color: var(--base) !important;
}

.Share_Copy em {
display: flex;
align-items: center;
justify-content: center;
height: 4rem;
padding-left: 2.4rem;
background: url(../images_rev2/common/icon/Icon_Copy.png) no-repeat;
background-position: 0 50%;
background-size: 1.8rem 1.8rem;
}

#CopyURL_Done {
position: absolute;
background: #fff;
}

.Share_Mds {
font-size: 1.2rem;
}



/* ■ アイコン ==================================================================================== */

/*
ステータスアイコン
対象年齢
送料無料
レビュー
閉じる
はてなマーク
*/


/* ステータスアイコン --------------------------------------------------- */

.ItemIcon,
.IconStatus {
display: flex;
flex-wrap: wrap;
}

.IconStatus img {
width: auto;
height: 2.2rem;
margin-right: 0.8rem;
}

.ItemIcon img,
.IconStatus.IconStatus_S img {
height: 1.5rem;
margin-right: 0.2rem;
}


/* 対象年齢 --------------------------------------------------- */

.IconAge {
display: inline-block;
padding: 0.6rem 1.2rem;
font-size: 1.2rem;
line-height: 1.1;
font-weight: 500;
color: var(--base);
border: 1px solid var(--base-middle);
}


/* 送料無料 --------------------------------------------------- */

.IconFreeShipping {
display: inline-block;
padding: 0.6rem 0.6rem;
font-size: 1.2rem;
line-height: 1;
font-weight: 500;
color: #fff;
background: var(--attention-attention-5);
}


/* レビュー --------------------------------------------------- */

.IconReview {
display: inline-block;
width: 10rem;
height: 1.6rem;
background-repeat: no-repeat;
background-position: 0 0;
background-size: contain;
}

.IconReview_0 {
background-image: url(../images_rev2/common/icon/Icon_Review0.png);
}

.IconReview0_5 {
background-image: url(../images_rev2/common/icon/Icon_Review0_5.png);
}

.IconReview1 {
background-image: url(../images_rev2/common/icon/Icon_Review1.png);
}

.IconReview1_5 {
background-image: url(../images_rev2/common/icon/Icon_Review1_5.png);
}

.IconReview2 {
background-image: url(../images_rev2/common/icon/Icon_Review2.png);
}

.IconReview2_5 {
background-image: url(../images_rev2/common/icon/Icon_Review2_5.png);
}

.IconReview3 {
background-image: url(../images_rev2/common/icon/Icon_Review3.png);
}

.IconReview3_5 {
background-image: url(../images_rev2/common/icon/Icon_Review3_5.png);
}

.IconReview4 {
background-image: url(../images_rev2/common/icon/Icon_Review4.png);
}

.IconReview4_5 {
background-image: url(../images_rev2/common/icon/Icon_Review4_5.png);
}

.IconReview5 {
background-image: url(../images_rev2/common/icon/Icon_Review5.png);
}


/* 閉じる --------------------------------------------------- */

.IconClose {
display: inline-block;
position: relative;
width: 5.6rem;
height: 5.6rem;
cursor: pointer;
}

.IconClose_Item {
position: absolute;
display: block;
width: 1.8rem;
height: 0.2rem;
top: 2.53rem;
left: 0;
right: 0;
margin: auto;
background-color: var(--primary);
}

.IconClose_Item:nth-child(1) {
transform: translateY(0px) rotate(45deg);
}

.IconClose_Item:nth-child(2) {
transform: translateY(0px) rotate(-45deg);
}

.IconClose_White .IconClose_Item {
background-color: #fff;
}


/* はてなマーク --------------------------------------------------- */

.IconHatena {
position: relative;
padding-right: 1.8rem;
}

.IconHatena::after {
display: block;
position: absolute;
right: 0;
top: 50%;
width: 1.5rem;
height: 1.5rem;
margin-top: -0.75rem;
font-size: 1rem;
line-height: 1.5;
transform: scale(0.8);
transform-origin: left;
white-space: nowrap;
border-radius: 100vh;
text-align: center;
color: #fff;
background: var(--primary);
content: '?';
}

.IconHatena_Alert::after {
background: var(--attention-attention-2);
}



/* ■ 動画埋め込み ==================================================================================== */

/* video */
video {
margin-top: var(--gap-int);
}

/* iframe */
.MovieWrap,
.Movie {
position: relative;
width: 100%;
margin-top: var(--gap-int);
padding-bottom: 56.25%;
overflow: hidden;
}

.MovieWrap iframe,
.Movie iframe {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}



/* ■ マップ埋め込み ==================================================================================== */

.MapWrap {
position: relative;
width: 100%;
/* aspect-ratio: 16 / 9; */
margin-top: var(--gap-int);
padding-top: 56.25%;
overflow: hidden;
}

.MapWrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



/* ■ ページネーション ==================================================================================== */

/*
旧class
*/

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

/* 商品詳細レビュー用：暫定設定 */
#Page_ItemDetail_ .PageNation_Menu {
flex-wrap: wrap;
}

.PageNation_Menu a,
.PageNation_Menu span {
display: flex;
align-items: center;
justify-content: center;
width: 3.4rem;
height: 3.4rem;
border-radius: 100vh;
font-size: 1.2rem;
font-weight: 500;
color: var(--base);
}

.PageNation_Prev a,
.PageNation_Next a {
position: relative;
}

.PageNation_Prev a em,
.PageNation_Next a em {
text-indent: -9999px;
}

.PageNation_Prev a:before,
.PageNation_Next a:before {
width: 1.3rem;
height: 1.3rem;
border-top: solid 2px var(--primary);
border-right: solid 2px var(--primary);
content: '';
}

.PageNation_Prev a:before {
transform: rotate(225deg);
}

.PageNation_Next a:before {
transform: rotate(45deg);
}

.PageNation_Current a {
color: #fff;
background: var(--primary);
}

.PageNation_Disabled a {
opacity: 0.2;
pointer-events: none;
}

@media only screen and (max-width: 372px) {

	.PageNation_Menu a,
	.PageNation_Menu span {
	width: 3.2rem;
	height: 3.2rem;
	}

}


/* 旧class --------------------------------------------------- */

.PageNation {
margin-top: 3.2rem;
text-align: center;
}

.PageNation .Num {
font-size: 1.2rem;
line-height: 1;
}

.PageNation ul {
display: flex;
align-items: center;
justify-content: center;
margin-top: 1.6rem;
padding: 0 1.6rem;
}

.PageNation li a {
display: flex;
align-items: center;
justify-content: center;
width: 4rem;
height: 4rem;
	/* 商品詳細レビュー用：暫定設定 */
	width: 3.8rem;
	height: 3.8rem;
border-radius: 100vh;
font-size: 1.2rem;
font-weight: 500;
color: var(--base);
}

.PageNation li a.Current {
border: 1px solid #337bc6;
font-weight: bold;
color: #fff;
background: #337bc6;
}

.PageNation li.Prev a,
.PageNation li.Next a {
position: relative;
text-indent: -9999px;
}

.PageNation li.Prev a:before,
.PageNation li.Next a:before {
width: 1.3rem;
height: 1.3rem;
border-top: solid 2px var(--primary);
border-right: solid 2px var(--primary);
content: '';
}

.PageNation li.Prev a:before {
transform: rotate(225deg);
}

.PageNation li.Next a:before {
transform: rotate(45deg);
}



/* ■ モーダル ==================================================================================== */

/*
汎用
*/


/* 汎用 --------------------------------------------------- */

.ModalWindow_ {
position: relative;
width: auto;
margin: 0 auto;
margin-top: 1.6rem;
border-radius: 8px;
padding: 0 3.2rem 4rem;
background: #fff;
}

.ModalWindow_Mds {
display: flex;
align-items: center;
justify-content: center;
height: 5.6rem;
margin: 0 -3.2rem 0;
border-bottom: 1px solid var(--base-middle);
font-size: 1.4rem;
line-height: 1;
}

.ModalWindow_Unit {
margin-top: 3.2rem;
}

/* 閉じるボタン */
.ModalWindow_Close {
position: absolute;
z-index: 10000;
right: 0;
top: 0;
}

/* overlay at start */
.mfp-fade.mfp-bg {
opacity: 0;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
opacity: 0.4;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
opacity: 0;
transition: all 0.2s ease-out;
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
opacity: 0;
}



/* ■ ニュースティッカー ==================================================================================== */

.NewsTicker {
position: relative;
z-index: 1;
background-color: #fff;
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.08);
}

.NewsTickerUnit {
width: 100%;
padding: 0 1.6rem;
overflow: hidden;
}

.NewsTicker_List {
position: relative;
}

.NewsTicker_Each {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
}

.NewsTicker_Each a {
display: inline-block;
width: auto;
white-space: nowrap;
transition: transform 5s linear;
}

.NewsTicker_Date {
position: relative;
color: var(--base-deep);
}

.NewsTicker_Date::after {
position: absolute;
top: 50%;
right: -0.7rem;
width: 0.1rem;
height: 1.2rem;
margin-top: -0.6rem;
background: var(--base-pale);
content: '';
}

.fadeInDown {
opacity: 0;
}

.fadeInDown.run {
animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}

.fadeOutDown {
opacity: 1;
}

.fadeOutDown.run {
animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeOutDown {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(-30px);
	}
}

.NewsTicker {
margin: -2rem 3.2rem 0 3.2rem;
height: 4rem;
}

.NewsTickerUnit {
height: 4rem;
}

.NewsTicker_Each {
padding-top: 1rem;
line-height: 1;
}

.NewsTicker_Date {
margin-right: 1rem;
font-size: 1.2rem;
}

.NewsTicker_Txt {
font-size: 1.2rem;
text-decoration: underline;
color: var(--base);
}



/* ■ ステッパー ==================================================================================== */

.Stepper {
display: flex;
align-items: center;
gap: 0.8rem;
}

.Stepper_Mds {
margin-right: 0.8rem;
font-size: 1.2rem;
}

.Stepper button,
.Stepper input {
border-radius: 4px;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
}

	input[type="number"]::-webkit-outer-spin-button,
	input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
	}

	input[type="number"] {
	-moz-appearance:textfield;
	}

.Stepper button {
width: 4rem;
height: 4rem;
padding-bottom: 0.2rem;
background: var(--base-middle);
}

.Stepper input {
width: 6.4rem;
height: 4rem;
border: 1px solid var(--base-middle);
text-align: center;
}

#Page_Cart_ .Stepper input {
width: 5rem;
}



/* ■ 検索窓 ==================================================================================== */

.SearchBox_Txt:-webkit-autofill {
box-shadow: 0 0 0 1000px var(--base-pale) inset;
}

.SearchBox {
display: flex;
}

.SearchBox_Btn {
cursor: pointer;
}

.Search {
position: fixed;
left: 0;
top: -120%;
z-index: 5001;
height: 100%;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
padding: 0.4rem 3.2rem 12rem;
background-color: #fff;
transition: all 0.4s;
}

.Search_Bg {
display: none;
position: fixed;
left: 0;
top: 0;
z-index: 5000;
width: 100%;
height: 100%;
background-color: var(--color-overlay);
}

.Search.Search_Opened {
top: 0;
}

.SearchBox_Txt,
.SearchBox_Btn {
display: block;
height: 3.2em;
background-color: var(--base-pale);
}

.SearchBox_Close_Wrap {
display: flex;
justify-content: flex-end;
height: 5.6rem;
margin-right: -1.6rem;
}

.SearchBox_Txt {
width: 100%;
padding: 0 1.5rem 0 2rem;
border-radius: 100vh 0 0 100vh;
vertical-align: middle;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
}

.SearchBox_Txt::placeholder {
font-size: 1.4rem;
}

.SearchBox_Btn {
width: 8rem;
border-radius: 0 100vh 100vh 0;
text-indent: -9999px;
background-image: url(../images_rev2/common/icon/Icon_Search_Line.png);
background-repeat: no-repeat;
background-position: 0 50%;
background-size: 3.5rem 2.1rem;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
}

/* 絞り込み */
.Filter_Unit_Header .Filter_SelectBox_Unit {
margin-top: 2.4rem;
}

.Filter_Unit_Header .Filter_Action {
margin-top: 2rem;
}

.Filter_Unit_Header .Filter_Action_Submit {
width: 100%;
cursor: pointer;
}

/* おすすめのキーワード */
.SearchOptions_Keywords {
margin-top: 3.2rem;
}

.SearchOptions_Keywords_Mds {
font-size: 1.2rem;
line-height: 1;
font-weight: 500;
}

.SearchOptions_Keywords_List {
display: flex;
flex-wrap: wrap;
gap: 0.2rem;
margin-top: 1rem;
}

.SearchOptions_Keywords_List li {
display: inline-block;
margin-right: 1rem;
}

.SearchOptions_Keywords_List a {
display: inline-block;
font-size: 1.2rem;
line-height: 1;
color: var(--primary);
}



/* ■ TOPページ ==================================================================================== */

#Page_Home_ #History {
margin-top: 8rem;
}



/* ■ 商品一覧・ジャンル ==================================================================================== */

/*
レイアウト
TitleUnit
絞り込み
商品一覧
追従絞り込みボタン
絞り込み（モーダル）
ジャンル一覧
年齢別ランキングリンク
年齢別ランキングバナー
エラー表示
バナー
*/


/* レイアウト --------------------------------------------------- */

.ItemList_Wrap {
padding: 4rem 3.2rem 8rem;
}


/* TitleUnit --------------------------------------------------- */

.ItemList_TitleUnit {
padding-bottom: 2rem;
border-bottom: 1px solid var(--base-middle);
}

.ItemList_TitleUnit_Mds {
font-size: 2rem;
line-height: 1.4;
font-weight: 700;
}

.ItemList_TitleUnit_Lead {
margin-top: 2rem;
line-height: 1.8;
}


/* 絞り込み --------------------------------------------------- */

.ItemList_Filter {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 3.6rem;
}

.ItemList_Filter_Unit {
display: flex;
align-items: center;
margin-left: auto;
}

.ItemList_Filter_Num {
display: flex;
align-items: center;
line-height: 1;
font-weight: 700;
}

.ItemList_Filter_Num span {
margin-left: 0.4rem;
font-size: 1.2rem;
}

.ItemList_Filter_SelectBox {
position: relative;
}

.ItemList_Filter_SelectBox select {
width: 100%;
height: 2.2rem;
padding-left: 3rem;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
color: var(--base);
background: url(../images_rev2/common/icon/Icon_Filter1.png) no-repeat;
background-position: 0 0.2rem;
background-size: 2.4rem 1.8rem;
cursor: pointer;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
}

a.ItemList_Filter_Btn {
display: flex;
align-items: center;
position: relative;
height: 2.2rem;
margin-left: 2.2rem;
padding-left: 2.8rem;
font-size: 1.2rem;
font-weight: 700;
color: var(--base);
background: url(../images_rev2/common/icon/Icon_Filter2.png) no-repeat;
background-position: 0 0;
background-size: 2.1rem 2rem;
}

a.ItemList_Filter_Btn::before {
position: absolute;
left: -1.2rem;
top: 50%;
width: 0.1rem;
height: 2rem;
margin-top: -1rem;
background: var(--base-middle);
content: '';
}


/* 商品一覧 --------------------------------------------------- */

.ItemList_List_Wrap {
margin-top: 0.8rem;
}

.ItemList_List {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.6rem;
}

.ItemList_List li {
margin-top: 1.6rem;
padding-bottom: 1.2rem;
border-bottom: 1px solid var(--base-middle);
}

.ItemList_List .Item_Icon img {
margin-top: 1.2rem;
}

.ItemList_List .Item_Name_Wrap {
margin-top: 0.8rem;
}

.ItemList_List .Item_Name {
margin-top: 0;
color: var(--base);
}

.ItemList_List .Item_Age {
margin-top: 1.2rem;
}

.ItemList_List_Price {
display: flex;
align-items: center;
margin-top: 1rem;
}

.ItemList_List_Price .Item_Price {
margin-top: 0;
}

.ItemList_List_Price .Item_Bookmark {
position: relative;
width: 2.4rem;
height: 2.4rem;
margin-left: auto;
border: 1px solid var(--base-middle);
border-radius: 50%;
text-indent: -9999px;
}

.ItemList_List_Price .Item_Bookmark::before {
position: absolute;
width: 1.4em;
height: 1.3rem;
left: 50%;
top: 50%;
margin-left: -0.7rem;
margin-top: -0.6rem;
background: url(../images_rev2/common/icon/Icon_Bookmark_Grey.png) no-repeat;
background-size: contain;
content: '';
}

/* ページネーション */
.ItemList_PageNation {
margin-top: 5rem;
}


/* 追従絞り込みボタン --------------------------------------------------- */

.ItemList_FilterBtn_Unit {
display: none;
position: fixed;
left: 1.6rem;
bottom: 7.6rem;
z-index: 200;
}

#ItemList_FilterBtn_Btn {
display: flex;
align-items: center;
width: 17rem;
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.08);
}

#ItemList_FilterBtn_Btn span {
display: inline-block;
padding: 1rem 0 1rem 3rem;
background: url(../images_rev2/common/icon/Icon_Filter2.png) no-repeat;
background-position: 0 0.8rem;
background-size: 2.1rem 2rem;
}


/* 絞り込み（モーダル） --------------------------------------------------- */

.FormUnit.Filter_Unit {
margin-bottom: 0;
border-bottom: none;
}

.Filter_CheckBox {
margin-top: 1.6rem;
}

.Filter_SelectBox_Unit {
margin-top: 3.2rem;
}

.Filter_SelectBox {
margin-top: 0.8rem;
}

.Filter_Action {
display: flex;
align-items: center;
gap: 0.8rem;
margin-top: 4rem;
}


/* ジャンル一覧 --------------------------------------------------- */

.GenreList_Wrap {
margin-top: 3.2rem;
}

.GenreList_List {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem 0.8rem;
}

.Genre_Photo img {
border-radius: 8px;
border: 1px solid var(--primary);
}

.Genre_Name {
margin-top: 0.8rem;
font-size: 1.2rem;
line-height: 1.3;
font-weight: 500;
color: var(--base);
}


/* 年齢別ランキングリンク --------------------------------------------------- */

.RankingAge_List {
margin-top: 4rem;
}

.RankingAge_List {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}

.RankingAge_List li:first-child {
grid-column: span 2;
}

.RankingAge_List a {
display: block;
padding: 1.6rem 0;
border: 1px solid var(--primary);
border-radius: 8px;
font-size: 1.4rem;
line-height: 1;
text-align: center;
color: var(--base);
}


/* エラー表示 --------------------------------------------------- */

#Page_ItemList_ .AlertBox {
margin: 1.6rem 0 0 0;
}



/* ■ 商品詳細 ==================================================================================== */

/*
MainUnit
SubUnit
レビュー
関連記事
追従カートボタン
ギフト包装
*/


#Page_ItemDetail_ {
overscroll-behavior-y: none;
}


/* MainUnit --------------------------------------------------- */

.ItemDetail_MainUnit {
margin-top: 2rem;
padding: 0 3.2rem;
}

/* 商品画像 */
.ItemDetail_Photo_List {
margin: 0 -1rem 4rem;
}

.ItemDetail_Photo_List li img {
border: 1px solid var(--base-middle);
}

/* ステータスアイコン */
.ItemDetail_Cart_IconStatus {
margin-top: 5rem;
line-height: 1;
}

/* 対象年齢 */
.ItemDetail_Cart_Age {
margin-top: 2rem;
}

/* 商品名 */
.ItemDetail_Cart_ItemName {
margin-top: 1rem;
font-size: 1.8rem;
font-weight: 700;
line-height: 1.6;
}

/* レビュー */
.ItemDetail_Cart_Review {
display: flex;
align-items: center;
gap: 0.8rem;
margin-top: 1.6rem;
}

.ItemDetail_Cart_Review_Num {
font-size: 1.2rem;
}

.ItemDetail_Cart_Review_Link {
font-size: 1.2rem;
}

/* 価格 */
.ItemDetail_Cart_Price {
display: flex;
align-items: center;
gap: 1rem;
margin-top: 3.6rem;
}

.ItemDetail_Cart_Price_Num {
display: flex;
align-items: center;
font-size: 3.2rem;
line-height: 1;
font-weight: 700;
}

.ItemDetail_Cart_Price_Num span {
padding-top: 0.5rem;
font-size: 1.2rem;
}

.ItemDetail_Cart_Price_Icon {
margin-top: -0.3rem;
}

.ItemDetail_Cart_Price_Notice {
font-size: 1.1rem;
}

/* 数量 */
.ItemDetail_Cart_Quantity {
margin-top: 2.5rem;
}

/* 注意書き */
.ItemDetail_Cart_Notice {
margin-top: 2.5rem;
}

/* 特典案内 */
.ItemDetail_Cart_Privilege {
margin-top: 2.5rem;
}

.ItemDetail_Cart_Privilege li {
display: flex;
align-items: center;
margin-top: 1rem;
font-size: 1.2rem;
line-height: 1.3;
font-weight: 500;
}

.ItemDetail_Cart_Privilege li::before {
margin-right: 0.5rem;
}

.ItemDetail_Cart_Privilege li:nth-child(1)::before {
width: 1.6rem;
height: 1.23rem;
background: url(/images_rev2/common/icon/Icon_Privilege_Wrapping_Base.png) no-repeat;
background-size: contain;
content: '';
}

.ItemDetail_Cart_Privilege li:nth-child(2)::before {
width: 1.6rem;
height: 1.23rem;
background: url(/images_rev2/common/icon/Icon_Privilege_Shipping_Base.png) no-repeat;
background-size: contain;
content: '';
}

.ItemDetail_Cart_Privilege_Link {
margin-left: 0.6rem;
font-weight: 400;
}

/* CTA */
.ItemDetail_Cart_CTA {
margin-top: 2.5rem;
}

.ItemDetail_Cart_CTA_Main {
display: flex;
align-items: center;
gap: 0.8rem;
}

.ItemDetail_Cart_CTA_Cart {
width: inherit;
flex-grow: 1;
}

.ItemDetail_Cart_CTA_SoldOut {
color: var(--attention-attention-1);
}

.ItemDetail_Cart_CTA_Bookmark {
position: relative;
width: 4.8rem;
height: 4.8rem;
border-radius: 50%;
border: 1px solid var(--base-middle);
text-indent: -9999px;
}

.ItemDetail_Cart_CTA_Bookmark::before {
position: absolute;
width: 2.4rem;
height: 2.3rem;
left: 50%;
top: 50%;
margin-left: -1.2rem;
margin-top: -1.15rem;
background-repeat: no-repeat;
background-size: contain;
content: '';
}

.ItemDetail_Cart_CTA_Bookmark.Bookmark_Off::before {
background-image: url(../images_rev2/common/icon/Icon_Bookmark_Grey.png);
}

.ItemDetail_Cart_CTA_Bookmark.Bookmark_On::before {
background-image: url(../images_rev2/common/icon/Icon_Bookmark_Pink.png);
}

.ItemDetail_Cart_CTA_Restock {
margin-top: 1.6rem;
}

.ItemDetail_Cart_CTA_Restock_Btn {
width: 100%;
}

.ItemDetail_Cart_CTA_Sub {
display: flex;
align-items: center;
gap: 0.8rem;
margin-top: 1.6rem;
}

.ItemDetail_Cart_CTA_Sub a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 4.8rem;
border: 1px solid var(--base-middle);
border-radius: 100vh;
font-size: 1.2rem;
font-weight: 500;
color: var(--base);
}

.ItemDetail_Cart_CTA_Shop.ItemDetail_Cart_CTA_Shop_Highlight {
border-color: var(--primary);
background-color: var(--primary);
color: #fff;
}

.ItemDetail_Cart_CTA_Refund {
margin-top: 1rem;
text-align: right;
}

.ItemDetail_Cart_CTA_Refund a {
font-size: 1.2rem;
line-height: 1;
}

/* eGiftボタン */
.ItemDetail_Cart_CTA_eGift {
display: flex;
align-items: center;
gap: 0.8rem;
margin-top: 1.6rem;
}

.ItemDetail_Cart_CTA_eGift::after {
width: 4.8rem;
content: "";
}

a.ItemDetail_Cart_CTA_eGift_Btn {
display: flex;
flex-flow: column;
align-items: center;
justify-content: center;
flex-grow: 1;
width: inherit;
height: 4.8rem;
padding-bottom: 0.2rem;
border: 1px solid var(--base);
border-radius: var(--border-r1);
line-height: 1;
font-weight: 500;
color: var(--base);
background-color: #fff;
}

.ItemDetail_Cart_CTA_eGift_Btn_Catch {
margin-bottom: 0.4rem;
font-size: 1.1rem;
font-weight: 400;
}

.ItemDetail_Cart_CTA_eGift_Link {
display: flex;
align-items: center;
justify-content: center;
margin-top: 0.4rem;
font-size: 1.2rem;
}

/* AmazonPay バナー */
.ItemDetail_Cart_CTA_AmazonPay_Banner {
margin-top: 1.6rem;
}

/* 注意事項 */
.ItemDetail_Cart_CTA_Notice {
margin-top: 1.6rem;
padding: 1.8rem 1.6rem;
border: 1px solid var(--base-middle);
border-radius: 4px;
color: var(--attention-attention-2);
}

.ItemDetail_Cart_CTA_Notice_Mds {
font-size: 1.6rem;
line-height: 1.3;
}

.ItemDetail_Cart_CTA_Notice_Lead {
margin-top: 1rem;
font-size: 1.4rem;
line-height: 1.7;
}

/* シェア */
.ItemDetail_Cart_Share {
margin-top: 2rem;
padding-top: 2.3rem;
border-top: 1px solid var(--base-middle);
}

/* リンクをコピー */
#CopyURL_Done {
display: none;
}

/* バリエーション */
.ItemDetail_Cart_Variation {
margin-top: 2rem;
padding-top: 2rem;
border-top: 1px solid var(--base-middle);
}

.ItemDetail_Cart_Variation_Mds {
font-size: 1.6rem;
}

.ItemDetail_Cart_Variation_Lead {
margin-top: 0.3rem;
font-size: 1.2rem;
}

.ItemDetail_Cart_Variation_Unit {
margin-top: 2rem;
}

.ItemDetail_Cart_Variation_List {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.2rem;
margin-top: 1.4rem;
}

.ItemDetail_Cart_Variation_Each {
display: flex;
align-items: center;
height: 5.8rem;
border: 1px solid var(--base-middle);
}

.ItemDetail_Cart_Variation_Each.Current {
border: 1px solid var(--primary);
color: var(--base);
pointer-events: none;
}

.ItemDetail_Cart_Variation_Unit_Mds {
position: relative;
padding-left: 1.6rem;
font-size: 1.4rem;
line-height: 1;
}

.ItemDetail_Cart_Variation_Unit_Mds::before {
position: absolute;
left: 0.1rem;
top: 50%;
width: 1rem;
height: 1rem;
margin-top: -0.5rem;
background-color: var(--base);
content: "";
}

.ItemDetail_Cart_Variation_Photo {
width: 5.6rem;
}

.ItemDetail_Cart_Variation_Name {
font-size: 1.3rem;
line-height: 1.2;
letter-spacing: 0.01em;
font-feature-settings: "palt";
}

#ItemDetail_Cart_Variation_Unit_1 .ItemDetail_Cart_Variation_Name {
flex: 1;
padding-left: 0.4rem;
}

#ItemDetail_Cart_Variation_Unit_2 .ItemDetail_Cart_Variation_Name {
padding-left: 1.2rem;
}


/* SubUnit --------------------------------------------------- */

.ItemDetail_SubUnit {
padding-top: 6rem;
}

/* タブメニュー */
.ItemDetail_TabMenuUnit {
border-bottom: 1px solid var(--base-middle)
}

.ItemDetail_TabMenu {
padding: 0 3.2rem;
}

/* 商品情報 */
.ItemDetail_ItemInfoUnit {
margin-top: 3rem;
padding: 0 3.2rem;
}

.ItemDetail_ItemInfo {
font-size: 1.4rem;
line-height: 1.7;
}

.ItemDetail_ItemInfo h3,
.ItemDetail_ItemInfo h4,
.ItemDetail_ItemInfo h5 {
line-height: 1.5;
}

/* もっと見る */
#ItemDetail_ItemInfo_More_Wrap {
display: none;
}

#ItemDetail_ItemInfo_1 {
position: relative;
}

.ItemDetail_ItemInfo_More {
display: flex;
align-items: flex-end;
justify-content: center;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 15rem;
text-align: center;
background: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,5));
}

/* 商品情報2 */
#ItemDetail_ItemInfo_2 {
display: none;
}

/* 閉じる */
.ItemDetail_ItemInfo_Close_Wrap {
margin-top: 4rem;
text-align: center;
}

/* ダウンロード */
.ItemDetail_ItemInfo_Download {
margin-top: 6rem;
padding-top: 2rem;
border-top: 1px solid var(--base-middle);
}

.ItemDetail_ItemInfo_Download_Menu li {
margin: 0.4rem 0;
}

.ItemDetail_ItemInfo_Download_Menu a {
display: inline-block;
position: relative;
font-size: 1.4rem;
line-height: 1.5;
padding-left: 3rem;
}

.ItemDetail_ItemInfo_Download_Menu a::before {
position: absolute;
left: 0;
top: -0.2rem;
width: 2.4rem;
height: 2.4rem;
background: url(../images_rev2/common/icon/Icon_File_File.png) no-repeat;
background-size: contain;
content: "";
}

.ItemDetail_ItemInfo_Download_Menu a[href$='.pdf']::before {
position: absolute;
left: 0;
top: -0.2rem;
width: 2.4rem;
height: 2.4rem;
background: url(../images_rev2/common/icon/Icon_File_PDF.png) no-repeat;
background-size: contain;
content: "";
}

/* サイズ・素材 */
.ItemDetail_SpecUnit {
margin-top: 3rem;
padding: 0 3.2rem;
}

.ItemDetail_SpecUnit_Mds {
font-size: 1.6rem;
font-weight: 700;
}

.ItemDetail_SpecUnit_Table {
margin-top: 2rem;
}

/* 注意事項 */
.ItemDetail_NoticeUnit {
margin-top: 3rem;
padding: 0 3.2rem;
}

.ItemDetail_NoticeUnit_Mds {
font-size: 1.6rem;
font-weight: 700;
}

.ItemDetail_NoticeUnit_Table {
margin-top: 2rem;
}


/* レビュー --------------------------------------------------- */

.ItemDetail_Review {
margin-top: 5rem;
padding: 6rem 0 6rem;
border-top: 1px solid var(--base-middle);
border-radius: 4px;
}

.ItemDetail_ReviewUnit {
padding: 0 3.2rem;
}

.ItemDetail_Review_Mds {
font-size: 1.8rem;
line-height: 1;
font-weight: 700;
}

.ItemDetail_Review_Rating {
display: flex;
align-items: center;
margin-top: 1.8rem;
padding-bottom: 3.2rem;
border-radius: 4px;
border-bottom: 1px solid var(--base-middle);
}

.ItemDetail_Review_Rating_Num {
margin-left: 0.9rem;
font-size: 1.2rem;
line-height: 1;
}

.ItemDetail_Review_Rating_Write {
margin-left: auto;
font-size: 1.4rem;
line-height: 1;
}

.ItemDetail_Review_Each {
margin-top: 3.2rem;
padding-bottom: 2.4rem;
background-image: linear-gradient(to right, #999 1px, transparent 1px);
background-repeat: repeat-x;
background-size: 6px 1px;
background-position: left bottom;
}

.ItemDetail_Review_Each_Mds {
font-size: 1.4rem;
line-height: 1.4;
font-weight: 700;
}

.ItemDetail_Review_Each_Rating {
display: flex;
align-items: center;
margin-top: 1.2rem;
}

.ItemDetail_Review_Each_Date {
margin-left: auto;
font-size: 1.2rem;
line-height: 1;
color: var(--base);
opacity: 0.5;
}

.ItemDetail_Review_Each_Lead {
margin-top: 1rem;
font-size: 1.4rem;
line-height: 1.7;
}

.ItemDetail_Review_PageNation {
margin-top: 4rem;
}

/* レビュー無し */
.ItemDetail_Review_NoReview_Mds {
font-size: 1.8rem;
line-height: 1;
font-weight: 700;
}

.ItemDetail_Review_NoReview_Lead {
margin-top: 2rem;
font-size: 1.2rem;
line-height: 1.4;
}

.ItemDetail_Review_NoReview_Write {
margin-top: 1rem;
font-size: 1.4rem;
line-height: 1;
}

/* 臨時案内 */
.ItemDetail_Review_Notice {
margin-top: -2rem;
margin-bottom: 3.2rem;
padding: 1.6rem;
border: 1px solid var(--base-middle);
font-size: 1.3rem;
line-height: 1.8;
color: #333;
}


/* 関連記事 --------------------------------------------------- */

.ItemDetail_Related {
padding: 6rem 0 8rem;
background-color: var(--background-2);
background-image: url(../images_rev2/common/pict/Pict_Town1.png);
background-repeat: no-repeat;
background-size: 25.7rem 13.4rem;
background-position: right -3rem bottom 0;
}

.ItemDetail_Related_Mds {
font-size: 2rem;
line-height: 1;
font-weight: 700;
text-align: center;
}

.ItemDetail_Related_List {
margin-top: 3.2rem;
}

.ItemDetail_Related_Lead1 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
margin-top: 1.6rem;
font-size: 1.1rem;
line-height: 1;
color: var(--base-deep);
overflow: hidden;
}

.ItemDetail_Related_Lead2 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
margin-top: 0.8rem;
font-size: 1.4rem;
font-weight: 700;
line-height: 1.5;
color: var(--base);
overflow: hidden;
}


/* 追従カートボタン --------------------------------------------------- */

#ItemDetail_CartBtn {
position: fixed;
left: 0;
bottom: 6rem;
z-index: 10001;
width: 100%;
height: 6.4rem;
padding: 0 3.2rem;
border-top: 1px solid var(--bace-light);
background: #fff;
transform: translateY(6.4rem);
transition: all 1s;
}

.ItemDetail_CartBtn_Unit {
display: flex;
align-items: center;
height: 6.4rem;
}

.ItemDetail_CartBtn_Unit .ItemDetail_Cart_CTA_Bookmark {
margin-left: 1.6rem;
}

#ItemDetail_CartBtn.ItemDetail_CartBtn_Show {
transform: translateY(0);
}

#ItemDetail_CartBtn.ItemDetail_CartBtn_Adjusted {
transform: translateY(-6rem);
}


/* ギフト包装 --------------------------------------------------- */

.ItemDetail_WrappingInfo_Wrap {
position: relative;
max-width: 70rem;
margin: 0 auto;
padding: 3rem 0 4rem;
border-radius: 8px;
background: #fff;
}

.ItemDetail_WrappingInfo {
max-width: 64rem;
margin: 0 auto;
}

.ItemDetail_WrappingInfo #BtnCloseModal {
position: absolute;
top: 1.3rem;
right: 2.2rem;
width: 2rem;
height: 2rem;
text-indent: -9999px;
background: url(/images_rev2/common/icon/Icon_Close_Blue.png) no-repeat left center;
background-size: contain;
cursor: pointer;
opacity: 1;
}

.ItemDetail_WrappingInfo_Header {
height: 2rem;
margin: 0 2rem;
border-bottom: 3px solid var(--primary);
}

.ItemDetail_WrappingInfo_Inner {
height: 32rem;
overflow: scroll;
}

.ItemDetail_WrappingInfo #Page_Guide {
margin-left: 0;
padding-bottom: 0;
}

.ItemDetail_WrappingInfo #Page_Guide .SectionBasic {
margin-top: 4rem;
padding: 0 2rem;
}

.ItemDetail_WrappingInfo #Page_Guide .SectionBasic:nth-of-type(1) {
margin-top: 2rem;
}

.ItemDetail_WrappingInfo #Page_Guide .SectionBasic h2 {
margin: 0;
padding: 1.2rem 0 0;
border-top: 2px solid var(--primary);
font-size: 1.8rem;
color: var(--base);
background: none;
}

.ItemDetail_WrappingInfo #Page_Guide .SectionBasic:nth-of-type(1) h2 {
padding-top: 0;
border-top: none;
}

.ItemDetail_WrappingInfo #Page_Guide .SectionSub {
margin-top: 1rem;
}

/* 背景スクロール禁止 */
body.mfp-open {
overflow: hidden;
overscroll-behavior: none;
}




/* ■ カート ==================================================================================== */

/*
TitleUnit
レイアウト
MainUnit
SubUnit
最近見た商品
おすすめ商品
追従注文ボタン
カート空
バナー
*/


/* TitleUnit --------------------------------------------------- */

.Cart_TitleUnit {
padding: 4rem 3.2rem;
}

.Cart_MdsUnit {
display: flex;
align-items: center;
}

.Cart_MdsUnit_Mds {
font-size: 2rem;
line-height: 1;
font-weight: 700;
}

.Cart_MdsUnit_Notice {
margin-left: auto;
}

.Cart_MdsUnit_Notice a {
display: block;
padding: 0.3rem 0.2rem 0.3rem 0.7rem;
border: 1px solid var(--attention-attention-2);
font-size: 1.2rem;
line-height: 1;
font-weight: 500;
color: var(--attention-attention-2);
}

/* Promotion */
.Cart_Promotion {
margin-top: 3.8rem;
}

.Cart_Promotion_Lead {
display: flex;
align-items: center;
margin-top: 0.6rem;
}

.Cart_Promotion_Lead1 {
font-size: 1.5rem;
line-height: 1.5rem;
font-weight: 700;
}

.Cart_Promotion_Lead2 {
margin-left: 0.6rem;
font-size: 1.2rem;
line-height: 1.5rem;
}

.Cart_Promotion_Lead2 .LinkDown {
text-indent: -9999px;
}

.Cart_Promotion_Lead2 .LinkDown::after {
margin-left: 0.2rem;
margin-top: -0.3rem;
}

/* ノベルティ */
.Cart_Promotion #TitleUnit_Novelty {
margin-top: 1rem;
}

@media only screen and (max-width: 372px) {

	.Cart_TitleUnit {
	padding: 2rem 3.2rem 4rem;
	}

	.Cart_MdsUnit_Mds {
	font-size: 1.6rem;
	}

	.Cart_MdsUnit_Notice a {
	padding: 0.3rem 0.2rem 0.3rem 0.7rem;
	font-size: 1rem;
	}

	.Cart_Promotion_Lead1 {
	font-size: 1.2rem;
	font-feature-settings: "palt";
	}

}


/* レイアウト --------------------------------------------------- */

.Cart_Wrap {
padding-bottom: 6rem;
border-top: 2px solid var(--base-middle);
}


/* MainUnit --------------------------------------------------- */

.Cart_MainUnit {
padding: 0 3.2rem;
}

.Cart_ItemList {
padding: 3rem 0;
border-bottom: 1px solid var(--base-middle);
}

.Cart_ItemList_Item {
display: flex;
}

.Cart_ItemList_Item_Photo {
width: 8rem;
margin-right: 1.6rem;
}

.Cart_ItemList_Item_Photo img {
border: 1px solid var(--base-middle);
}

.Cart_ItemList_Item_Unit {
flex: 1;
margin-left: auto;
}

.Cart_ItemList_Item_Name {
font-size: 1.3rem;
line-height: 1.5;
font-weight: 700;
}

.Cart_ItemList_Item_Price {
margin-top: 0.8rem;
font-size: 1.2rem;
line-height: 1;
}

.Cart_ItemList_Item_Price .Mark_Tax {
font-size: 1rem;
font-feature-settings: "palt";
}

.Cart_ItemList_Item_Notice {
margin-top: 0.8rem;
font-size: 1rem;
}

.Cart_ItemList_Subtotal {
display: flex;
align-items: center;
margin-top: 1.6rem;
}

.Cart_ItemList_Subtotal_Price {
display: flex;
align-items: center;
margin-left: auto;
font-size: 2rem;
font-weight: 700;
}

.Cart_ItemList_Subtotal_Price .Mark_Yen {
margin-right: 0.3rem;
padding-top: 0.5rem;
font-size: 1.4rem;
}

.Cart_ItemList_Subtotal_Price .Mark_Tax {
padding-top: 0.2rem;
font-size: 1.2rem;
font-weight: 500;
font-feature-settings: "palt";
}

.Cart_ItemList_Delete {
margin-top: 1.6rem;
font-size: 1.2rem;
line-height: 1;
}


/* SubUnit --------------------------------------------------- */

.Cart_SubUnit {
margin-top: 4rem;
padding: 0 1.6rem;
}

.Cart_SubUnit_Wrap {
padding: 3rem 1.6rem 3.2rem;
background: var(--background-2);
}

.Cart_SubUnit_MdsUnit {
display: flex;
align-items: center;
padding-bottom: 1.1rem;
border-radius: 4px;
border-bottom: 1px solid var(--base-middle);
}

.Cart_SubUnit_MdsUnit_Mds {
font-size: 1.6rem;
line-height: 1;
font-weight: 700;
}

.Cart_SubUnit_MdsUnit_Icon {
margin-left: 1.2rem;
}

.Cart_SubUnit_Total_Mds {
margin-top: 2.6rem;
font-size: 1.4rem;
line-height: 1;
font-weight: 700;
}

.Cart_SubUnit_Total {
display: flex;
align-items: center;
}

.Cart_SubUnit_Total_Price {
display: flex;
align-items: center;
font-size: 3.2rem;
line-height: 1;
font-weight: 700;
}

.Cart_SubUnit_Total_Price .Mark_Yen {
margin-right: 0.2rem;
padding-top: 1.2rem;
font-size: 1.4rem;
}

.Cart_SubUnit_Total_Price .Mark_Tax {
padding-top: 0.8rem;
font-size: 1.4rem;
font-feature-settings: "palt";
}

.Cart_SubUnit_Total_Recalc {
margin-left: auto;
}

.Cart_SubUnit_CTA_Buy {
margin-top: 2.4rem;
}

.Cart_SubUnit_CTA_Buy a span {
display: inline-block;
padding: 1rem 0 1rem 3rem;
background: url(../images_rev2/common/icon/Icon_Cart_White.png) no-repeat;
background-position: 0 0.6rem;
background-size: 2.2rem 2rem;
}

.Cart_SubUnit_CTA_Back {
margin-top: 2.4rem;
font-size: 1.4rem;
line-height: 1;
font-weight: 500;
text-align: center;
}

/* AmazonPay */
.Cart_SubUnit_CTA_AmazonPay {
margin-top: 2.4rem;
}

/* AmazonPay バナー */
.Cart_SubUnit_CTA_AmazonPay_Banner {
margin-top: 1.6rem;
}

/* ノベルティ */
.Cart_SubUnit_Novelty {
margin-top: 4rem;
border: 1px solid var(--attention-attention-3);
}

.Cart_SubUnit_Novelty_Mds {
padding: 1.6rem 1.6rem;
font-size: 1.4rem;
line-height: 1.6;
font-weight: 700;
font-feature-settings: "palt";
color: #fff;
background: var(--attention-attention-3);
}

.Cart_SubUnit_Novelty_Wrap {
padding: 2rem 1.6rem;
background: #fff;
}

.Cart_SubUnit_Novelty_Catch {
margin-bottom: 1.6rem;
font-size: 1.4rem;
line-height: 1.4;
font-weight: 700;
}

.Cart_SubUnit_Novelty_Catch span {
color: var(--attention-attention-3);
}

.Cart_SubUnit_Novelty_Lead {
margin-bottom: 1.6rem;
font-size: 1.4rem;
line-height: 1.4;
}

.Cart_SubUnit_Novelty_Item {
display: flex;
flex-flow: column;
margin-top: 2rem;
}

.Cart_SubUnit_Novelty_Item_Photo img {
border: 1px solid var(--base-middle);
}

.Cart_SubUnit_Novelty_Item_Unit {
margin-top: 1rem;
}

.Cart_SubUnit_Novelty_Item_Lead1 {
font-size: 1.4rem;
line-height: 1.6;
}

.Cart_SubUnit_Novelty_Item_Lead2 {
margin-top: 0.5rem;
font-size: 1.2rem;
line-height: 1.2;
}

.Cart_SubUnit_Novelty_Notice {
margin-top: 1.8rem;
}


/* 最近見た商品 --------------------------------------------------- */

#Page_Cart_ #History {
position: relative;
margin-top: 0;
margin-bottom: 6rem;
padding: 6rem 0 12rem;
background-color: var(--background-2);
}

/* 装飾 */
#Page_Cart_ #History::after {
position: absolute;
right: -14rem;
bottom: -5rem;
width: 36.7rem;
height: 12rem;
background: url(../images_rev2/common/pict/Pict_Sea.png) no-repeat;
background-size: contain;
content: '';
}


/* おすすめ商品 --------------------------------------------------- */

#Page_Cart_ #ItemRecommend {
padding: 0 0 0;
background-color: #fff;
}

#Page_Cart_ #ItemRecommend::before,
#Page_Cart_ #ItemRecommend::after {
display: none;
}

#Page_Cart_ #ItemRecommend .SliderCSS li {
border-bottom: none;
}


/* 追従注文ボタン --------------------------------------------------- */

#Cart_BuyBtn {
position: fixed;
left: 0;
bottom: 6rem;
z-index: 10001;
width: 100%;
height: 6.4rem;
padding: 0 3.2rem;
border-top: 1px solid var(--bace-light);
background: #fff;
transform: translateY(6.4rem);
transition: all 1s;
}

.Cart_BuyBtn_Unit {
display: flex;
align-items: center;
height: 6.4rem;
}

#Cart_BuyBtn.Cart_BuyBtn_Show {
transform: translateY(0);
}

#Cart_BuyBtn.Cart_BuyBtn_Adjusted {
transform: translateY(-6rem);
}

.Cart_BuyBtn_Mds {
font-size: 1.2rem;
line-height: 1;
}

.Cart_BuyBtn_Price {
margin-top: 0.2rem;
font-size: 2.4rem;
line-height: 1;
font-weight: 700;
}

.Cart_BuyBtn_Price .Mark_Yen {
margin-right: 0.2rem;
font-size: 1.4rem;
}

.Cart_BuyBtn_Price .Mark_Tax {
font-size: 1.2rem;
font-weight: 400;
font-feature-settings: "palt";
}

.Cart_BuyBtn_Buy {
margin-left: auto;
width: 16rem;
height: 4.8rem;
font-size: 1.5rem;
}

.Cart_BuyBtn_Buy span {
display: inline-block;
padding: 1rem 0 1rem 2.5rem;
background: url(../images_rev2/common/icon/Icon_Cart_White.png) no-repeat;
background-position: 0 0.6rem;
background-size: 2.2rem 2rem;
}


/* カート空 --------------------------------------------------- */

.Cart_Empty_Unit {
padding: 4rem 3.2rem 8rem;
text-align: center;
}

.Cart_Empty_Unit_Lead {
font-size: 2rem;
font-weight: 700;
}

.Cart_Empty_Unit_Back {
margin-top: 2rem;
font-size: 1.4rem;
font-weight: 500;
}


/* バナー --------------------------------------------------- */

.Cart_Banners_ {
padding: 1.6rem 3.2rem 4rem;
}



/* ■ マイページ ==================================================================================== */

/*
バナー
*/


/* バナー --------------------------------------------------- */

.MyPageTop_Banners_ {
padding: 0 1.6rem 2rem;
}

.MyPageTop_Banners_List li {
margin-top: 1rem;
}



/* ■ その他 ==================================================================================== */

/*
エクストラ ボタン
法人向け案内
店舗案内
*/


/* エクストラ ボタン --------------------------------------------------- */

.BtnExtra_ {
margin-top: 3.2rem;
}

#DrawerNav .BtnExtra_ {
padding: 0 3.2rem;
}

.BtnExtra_Lead1 {
padding: 1.6rem 0;
border: 1px solid var(--primary);
border-radius: 8px;
font-size: 1.4rem;
line-height: 1;
text-align: center;
color: var(--base);
}

.BtnExtra_Lead2 {
margin-top: 0.5rem;
font-size: 1.2rem;
text-align: center;
color: var(--base);
}


/* 法人向け案内 --------------------------------------------------- */

.NoticeForCorp_ {
margin-top: 3.2rem;
}

#DrawerNav .NoticeForCorp_ {
padding: 0 3.2rem;
}

.ModalWindow_ .NoticeForCorp_Lead li {
letter-spacing: -0.02em;
}

.NoticeForCorp_Link {
margin-left: 0.2rem;
margin-top: 0.6rem;
font-size: 1.4rem;
}

.NoticeForCorp_Link a {
padding-left: 1.6rem;
background: url(/images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
background-size: 10.25px 10px;
background-position: 0 0.35rem;
}


/* 店舗案内 --------------------------------------------------- */

.ShopAppeal_Wrap {
padding: 3.2rem 3.2rem;
background: var(--background-2) url(/images_rev2/common/pict/Pict_Gate.png) no-repeat;
background-position: top 0 right -1rem;
background-size: 22.3rem 34rem;
}

.ShopAppeal_Mds {
font-size: 2.4rem;
line-height: 1.5;
text-align: center;
}

.ShopAppeal_Info_Lead {
margin-top: 1.6rem;
font-size: 1.4rem;
text-align: center;
}

.ShopAppeal_Info_Link {
display: flex;
justify-content: center;
margin-top: 2.4rem;
}

.ShopAppeal_Online {
margin-top: 3.2rem;
padding-top: 2.4rem;
background-image: linear-gradient(to right, var(--base) 1px, transparent 1px);
background-repeat: repeat-x;
background-size: 6px 1px;
background-position: left top;
}

.ShopAppeal_Online_Mds {
font-size: 1.3rem;
line-height: 1.5;
text-align: center;
}

.ShopAppeal_Online_Lead {
margin-top: 0.4rem;
font-size: 1.3rem;
text-align: center;
}

.ShopAppeal_Online_Link {
margin-top: 0.4rem;
text-align: center;
}

.ShopAppeal_Online_Link a {
padding-left: 1.6rem;
font-size: 1.3rem;
font-weight: 500;
background: url(/images_rev2/common/icon/Icon_Allow_Blue.png) no-repeat;
background-size: 10.25px 10px;
background-position: 0 0.35rem;
}



/* ■ おすすめ特集 ==================================================================================== */

.RecCamp_ {
margin: 0 1.6rem;
border-top: 2px solid var(--primary);
}

.RecCamp_Mds {
padding: 1rem 0;
font-size: 1.9rem;
}

.RecCamp_List {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 1.4rem;
}

.RecCamp_List li {
padding-bottom: 1.4rem;
border-bottom: 1px solid var(--base-middle);
}

.RecCamp_List a {
display: flex;
align-items: center;
}

.RecCamp_List_Photo {
width: 9.4rem;
}

.RecCamp_List_Photo img {
border: 1px solid var(--base-middle);
}

.RecCamp_List_Lead {
flex: 1;
padding-left: 1.5rem;
font-size: 1.4rem;
line-height: 1.6;
font-weight: 700;
}

.RecCamp_List_Lead span {
display: block;
font-weight: 400;
}



/* ■ バナー ==================================================================================== */

/*
汎用
ランキング
ジャンル
*/


/* 汎用 --------------------------------------------------- */

.BannerList_Wrap {
margin-top: 2.8rem;
}

.BannerList_ {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 1.6rem;
}


/* ランキング --------------------------------------------------- */

.BannerRanking_ {
margin-top: 4rem;
}


/* ジャンル --------------------------------------------------- */

.BannerGenre_ {
margin-top: 5rem;
}



/* ■ フローティングバナー ==================================================================================== */

#FloatingBanner {
display: none;
position: fixed;
left: 0.6rem;
bottom: 6.4rem;
z-index: 1000;
}

#FloatingBanner img {
/* width: 20rem; */
width: 22rem;
}



/* ■ AIチャット ==================================================================================== */

/*
フレーム
ヘッダー
チャット
フッター
*/


/* フレーム --------------------------------------------------- */

.chatbot-container {
z-index: 5000 !important;
width: 60px !important;
bottom: 42px !important;
}

.Body_Page_Cart_ .chatbot-container {
display: none !important;
}

.chatbot-container.is-open {
bottom: 60px !important;
z-index: 10001 !important;
width: calc(100vw - 20px) !important;
}

.close-chatbot {
display: none;
}

.chatbot-container.is-open .close-chatbot {
display: block;
}

/* ヘッダー --------------------------------------------------- */

/* AIアイコン */
.chatbot-header {
padding: 36px 0 10px !important;
font-size: 9px !important;
line-height: 1 !important;
background-image: url('/images_rev2/common/icon/Icon_Chat_Header.png') !important;
background-size: 28px auto !important;
background-position: center 25% !important;
}

.chatbot-container.is-open .chatbot-header {
padding-top: 10px !important;
padding-bottom: 10px !important;
padding: 10px 15px 10px 62px !important;
font-size: 13px !important;
line-height: 17px !important;
background-position: center left 15px !important;
}

/* 背景色 */
.chatbot-header {
background-color: var(--primary) !important;
}

/* タイトル */
.chatbot-title, .chatbot-title * {
color: #fff !important;
}

.chatbot-container.is-open .chatbot-header .chatbot-sp-only::after {
content: 'でキーワード検索する';
}

/* 注意文 */
.chatbot-disclaimer {
display: none;
padding-left: 0 !important;
color: #fff !important;
}

/* 注意文の下（JSで挿入） */
#ChatBot_Disclaimer_Lead {
display: none;
margin-top: 0.2rem;
font-size: 10px;
line-height: 1.8;
}

.chatbot-container.is-open #ChatBot_Disclaimer_Lead {
display: block;
}

#ChatBot_Disclaimer_Lead a {
color: #fff;
border-bottom: 1px solid #fff;
}


/* チャット --------------------------------------------------- */

/* AIアイコン */
.chatbot-message-bot-icon {
background-image: url('/images_rev2/common/icon/Icon_Chat_Operator.png') !important;
}

/* AIのメッセージ：背景色 */
.chatbot-message-bot {
background-color: var(--primary-pale) !important;
}

/* 参考URL */
.chatbot-answer-reference-url a {
color: var(--primary) !important;
}


/* フッター --------------------------------------------------- */

/* マイクアイコン */
.mic-chat {
background: url('https://chatbot.ecbeing.io/data/design/chatbot-mic-white.png') center center / 20px auto no-repeat !important;
}

/* 送信アイコン */
.send-chat {
background-image: url('/images_rev2/common/icon/Icon_Chat_Send.png') !important;
}

/* 背景色 */
.chatbot-footer {
background-color: var(--primary) !important;
}

/* 入力欄のテキスト */
input.chat-input {
font-size: 16px !important;
}



/* ■ Letro ==================================================================================== */

.letroUgcsetModal[data-contents=letro-ugcset] {
z-index: 50000 !important;
}



/* ■ セキュリティコードとは ==================================================================================== */

.SecurityCode_Wrap {
padding: 3.2rem 3.2rem 6rem;
}

.SecurityCode_Mds {
font-size: 2rem;
}

.SecurityCode_Lead {
margin-top: 1rem;
font-size: 1.4rem;
}

.SecurityCode_Section {
margin-top: 3.2rem;
padding-top: 1.6rem;
border-top: 1px solid var(--base);
}

.SecurityCode_Section_Mds {
font-size: 1.6rem;
}

.SecurityCode_Section_Photo {
display: flex;
justify-content: center;
margin-top: 2.4rem;
}

.SecurityCode_Close {
display: flex;
justify-content: center;
margin-top: 6rem;
}



/* ■ パーツ（旧class）==================================================================================== */

/*
汎用
回り込み
左右ボックス
リスト型メニュー
*/


/* 汎用 --------------------------------------------------- */

.LeadMain {
margin-bottom: 1.6rem;
font-size: 1.3rem;
}

.Lead_Notice,
.message_ {
margin-bottom: 1.6rem;
padding: 0 1.6rem;
font-size: 1.2rem;
}


/* 回り込み --------------------------------------------------- */

/* 左 */
.FloatL, .PhotoL {
float: left;
margin: 0 15px 10px 0;
}

/* 右 */
.FloatR, .PhotoR {
float: right;
margin: 0 0 10px 15px;
}


/* 左右ボックス --------------------------------------------------- */

.LRBox .LBox {
float: left;
}

.LRBox .RBox {
float: Right;
}


/* リスト型メニュー --------------------------------------------------- */

/* IndexMenu1 */
.IndexMenu li,
.IndexMenu1 li {
float: left;
}

.IndexMenu li.EndSide,
.IndexMenu1 li.EndSide {
margin-right: 0 !important;
}

/* IndexMenu2 */
.IndexMenu2 li {
float: left;
}

.IndexMenu2 li a {
display: block;
/* float: left; */
}

.IndexMenu2 li.EndSide {
margin-right: 0 !important;
}



/* ■ ClearFix ==================================================================================== */

.ClearFix {
zoom: 1;
}

.ClearFix:after {
content: "";
display: block;
clear: both;
}

.SubNav2 .SubNav3 .SubNav4 .IndexMenu, .IndexMenu1, .IndexMenu2, .TabMenu, .LRBox, .PageNation {
zoom: 1;
}

.SubNav2:after, .SubNav3:after, .SubNav4:after, .IndexMenu:after, .IndexMenu1:after, .IndexMenu2:after, .TabMenu:after, .LRBox:after, .PageNation:after {
content: "";
display: block;
clear: both;
}



/* ■ 個別調整 ==================================================================================== */

/*
汎用
左・右・中央 寄せ
マージントップ
マージンボトム
横幅「%」指定
フォントサイズ
非推奨
旧class
*/


/* 汎用 --------------------------------------------------- */

/* ボーダー無し */
.NoBorder {
border: none !important;
}

/* パディング無し */
.NoPadding {
padding: 0 !important;
}

/* 横幅「Inherit」 */
.WidthInherit {
width: inherit !important;
}

/* opacity:1 */
.Opacity1 {
opacity: 1 !important;
}

/* 太字にしない */
.FontWN {
font-weight: normal !important;
}

/* 文字詰め「palt」 */
.TxtPalt {
font-feature-settings: "palt" !important;
}

/* 箱組「TxtJustify」 */
.TxtJustify {
text-align: justify !important;
}

/* 非アクティブ */
.Disabled {
opacity: 0.3;
pointer-events: none;
}

.Disabled:hover {
opacity: 0.3;
}

@media only screen and (max-width: 767px) {

	.PC {
	display: none !important;
	}

}

@media print, screen and (min-width: 768px) {

	.SP {
	display: none !important;
	}

}


/* 左・右・中央 寄せ --------------------------------------------------- */

.AlignL {
text-align: left !important;
}

.AlignC {
text-align: center !important;
}

.AlignR {
text-align: right !important;
}

@media only screen and (max-width: 767px) {

	.AlignL_SP {
	text-align: left !important;
	}

	.AlignC_SP {
	text-align: center !important;
	}

	.AlignR_SP {
	text-align: right !important;
	}

}

@media print, screen and (min-width: 768px) {

	.AlignL_PC {
	text-align: left !important;
	}

	.AlignC_PC {
	text-align: center !important;
	}

	.AlignR_PC {
	text-align: right !important;
	}

}


/* マージントップ --------------------------------------------------- */

.MT0 {
margin-top: 0 !important;
}

.MT5 {
margin-top: 0.5rem !important;
}

.MT10 {
margin-top: 1rem !important;
}

.MT15 {
margin-top: 1.5rem !important;
}

.MT20 {
margin-top: 2rem !important;
}

.MT25 {
margin-top: 2.5rem !important;
}

.MT30 {
margin-top: 3rem !important;
}

.MT35 {
margin-top: 3.5rem !important;
}

.MT40 {
margin-top: 4rem !important;
}

.MT45 {
margin-top: 4.5rem !important;
}

.MT50 {
margin-top: 5rem !important;
}

.MT60 {
margin-top: 6rem !important;
}

.MT70 {
margin-top: 7rem !important;
}

.MT80 {
margin-top: 8rem !important;
}

.MT90 {
margin-top: 9rem !important;
}

.MT100 {
margin-top: 10rem !important;
}

@media only screen and (max-width: 767px) {

	.MT0_SP {
	margin-top: 0 !important;
	}

	.MT5_SP {
	margin-top: 0.5rem !important;
	}

	.MT10_SP {
	margin-top: 1rem !important;
	}

	.MT15_SP {
	margin-top: 1.5rem !important;
	}

	.MT20_SP {
	margin-top: 2rem !important;
	}

	.MT25_SP {
	margin-top: 2.5rem !important;
	}

	.MT30_SP {
	margin-top: 3rem !important;
	}

	.MT35_SP {
	margin-top: 3.5rem !important;
	}

	.MT40_SP {
	margin-top: 4rem !important;
	}

	.MT45_SP {
	margin-top: 4.5rem !important;
	}

	.MT50_SP {
	margin-top: 5rem !important;
	}

	.MT60_SP {
	margin-top: 6rem !important;
	}

	.MT70_SP {
	margin-top: 7rem !important;
	}

	.MT80_SP {
	margin-top: 8rem !important;
	}

	.MT90_SP {
	margin-top: 9rem !important;
	}

	.MT100_SP {
	margin-top: 10rem !important;
	}

}

@media print, screen and (min-width: 768px) {

	.MT0_PC {
	margin-top: 0rem !important;
	}

	.MT5_PC {
	margin-top: 0.5rem !important;
	}

	.MT10_PC {
	margin-top: 1rem !important;
	}

	.MT15_PC {
	margin-top: 1.5rem !important;
	}

	.MT20_PC {
	margin-top: 2rem !important;
	}

	.MT25_PC {
	margin-top: 2.5rem !important;
	}

	.MT30_PC {
	margin-top: 3rem !important;
	}

	.MT35_PC {
	margin-top: 3.5rem !important;
	}

	.MT40_PC {
	margin-top: 4rem !important;
	}

	.MT45_PC {
	margin-top: 4.5rem !important;
	}

	.MT50_PC {
	margin-top: 5rem !important;
	}

	.MT60_PC {
	margin-top: 6rem !important;
	}

	.MT70_PC {
	margin-top: 7rem !important;
	}

	.MT80_PC {
	margin-top: 8rem !important;
	}

	.MT90_PC {
	margin-top: 9rem !important;
	}

	.MT100_PC {
	margin-top: 10rem !important;
	}

}


/* マージンボトム --------------------------------------------------- */

.MB0 {
margin-bottom: 0 !important;
}

.MB5 {
margin-bottom: 0.5rem !important;
}

.MB10 {
margin-bottom: 1rem !important;
}

.MB15 {
margin-bottom: 1.5rem !important;
}

.MB20 {
margin-bottom: 2rem !important;
}

.MB25 {
margin-bottom: 2.5rem !important;
}

.MB30 {
margin-bottom: 3rem !important;
}

.MB35 {
margin-bottom: 3.5rem !important;
}

.MB40 {
margin-bottom: 4rem !important;
}

.MB45 {
margin-bottom: 4.5rem !important;
}

.MB50 {
margin-bottom: 5rem !important;
}

@media only screen and (max-width: 767px) {

	.MB0_SP {
	margin-bottom: 0 !important;
	}

	.MB5_SP {
	margin-bottom: 0.5rem !important;
	}

	.MB10_SP {
	margin-bottom: 1rem !important;
	}

	.MB15_SP {
	margin-bottom: 1.5rem !important;
	}

	.MB20_SP {
	margin-bottom: 2rem !important;
	}

	.MB25_SP {
	margin-bottom: 2.5rem !important;
	}

	.MB30_SP {
	margin-bottom: 3rem !important;
	}

	.MB35_SP {
	margin-bottom: 3.5rem !important;
	}

	.MB40_SP {
	margin-bottom: 4rem !important;
	}

	.MB45_SP {
	margin-bottom: 4.5rem !important;
	}

	.MB50_SP {
	margin-bottom: 5rem !important;
	}

}

@media print, screen and (min-width: 768px) {

	.MB0_PC {
	margin-bottom: 0rem !important;
	}

	.MB5_PC {
	margin-bottom: 0.5rem !important;
	}

	.MB10_PC {
	margin-bottom: 1rem !important;
	}

	.MB15_PC {
	margin-bottom: 1.5rem !important;
	}

	.MB20_PC {
	margin-bottom: 2rem !important;
	}

	.MB25_PC {
	margin-bottom: 2.5rem !important;
	}

	.MB30_PC {
	margin-bottom: 3rem !important;
	}

	.MB35_PC {
	margin-bottom: 3.5rem !important;
	}

	.MB40_PC {
	margin-bottom: 4rem !important;
	}

	.MB45_PC {
	margin-bottom: 4.5rem !important;
	}

	.MB50_PC {
	margin-bottom: 5rem !important;
	}

}


/* 横幅「%」指定 --------------------------------------------------- */

.W5 {
width: 5% !important;
}

.W10 {
width: 10% !important;
}

.W15 {
width: 15% !important;
}

.W20 {
width: 20% !important;
}

.W25 {
width: 25% !important;
}

.W30 {
width: 30% !important;
}

.W35 {
width: 35% !important;
}

.W40 {
width: 40% !important;
}

.W45 {
width: 45% !important;
}

.W50 {
width: 50% !important;
}

.W55 {
width: 55% !important;
}

.W60 {
width: 60% !important;
}

.W65 {
width: 65% !important;
}

.W70 {
width: 70% !important;
}

.W75 {
width: 75% !important;
}

.W80 {
width: 80% !important;
}

.W85 {
width: 85% !important;
}

.W90 {
width: 90% !important;
}

.W95 {
width: 95% !important;
}

.W100 {
width: 100% !important;
}

@media only screen and (max-width: 767px) {

	.W5_SP {
	width: 5% !important;
	}

	.W10_SP {
	width: 10% !important;
	}

	.W15_SP {
	width: 15% !important;
	}

	.W20_SP {
	width: 20% !important;
	}

	.W25_SP {
	width: 25% !important;
	}

	.W30_SP {
	width: 30% !important;
	}

	.W35_SP {
	width: 35% !important;
	}

	.W40_SP {
	width: 40% !important;
	}

	.W45_SP {
	width: 45% !important;
	}

	.W50_SP {
	width: 50% !important;
	}

	.W55_SP {
	width: 55% !important;
	}

	.W60_SP {
	width: 60% !important;
	}

	.W65_SP {
	width: 65% !important;
	}

	.W70_SP {
	width: 70% !important;
	}

	.W75_SP {
	width: 75% !important;
	}

	.W80_SP {
	width: 80% !important;
	}

	.W85_SP {
	width: 85% !important;
	}

	.W90_SP {
	width: 90% !important;
	}

	.W95_SP {
	width: 95% !important;
	}

	.W100_SP {
	width: 100% !important;
	}

}

@media print, screen and (min-width: 768px) {

	.W5_PC {
	width: 5% !important;
	}

	.W10_PC {
	width: 10% !important;
	}

	.W15_PC {
	width: 15% !important;
	}

	.W20_PC {
	width: 20% !important;
	}

	.W25_PC {
	width: 25% !important;
	}

	.W30_PC {
	width: 30% !important;
	}

	.W35_PC {
	width: 35% !important;
	}

	.W40_PC {
	width: 40% !important;
	}

	.W45_PC {
	width: 45% !important;
	}

	.W50_PC {
	width: 50% !important;
	}

	.W55_PC {
	width: 55% !important;
	}

	.W60_PC {
	width: 60% !important;
	}

	.W65_PC {
	width: 65% !important;
	}

	.W70_PC {
	width: 70% !important;
	}

	.W75_PC {
	width: 75% !important;
	}

	.W80_PC {
	width: 80% !important;
	}

	.W85_PC {
	width: 85% !important;
	}

	.W90_PC {
	width: 90% !important;
	}

	.W95_PC {
	width: 95% !important;
	}

	.W100_PC {
	width: 100% !important;
	}

}


/* テキストサイズ（#Beta） --------------------------------------------------- */

.FontSizeSSS {
font-size: calc(var(--fontsize-int) * 0.7) !important;
}

.FontSizeSS {
font-size: calc(var(--fontsize-int) * 0.8) !important;
}

.FontSizeS {
font-size: calc(var(--fontsize-int) * 0.95) !important;
}

.FontSizeM {
font-size: var(--fontsize-int) !important;
}

.FontSizeL {
font-size: calc(var(--fontsize-int) * 1.25) !important;
}

.FontSizeLL {
font-size: calc(var(--fontsize-int) * 1.5) !important;
}

.FontSizeLLL {
font-size: calc(var(--fontsize-int) * 2) !important;
}

@media only screen and (max-width: 767px) {

}

@media print, screen and (min-width: 768px) {

}


/* 非推奨 --------------------------------------------------- */

/* フロート */
.FloatL {
float: left;
margin: 3rem 3rem 1rem 0;
}

.FloatR {
float: right;
}

/* ClearFix */
.CF::after { display: block; clear: both; content: ""; }

@media only screen and (max-width: 767px) {

	/* フロート */
	.FloatL {
	margin: 2rem 2rem 1rem 0;
	}

	.FloatR {
	margin: 2rem 0 1rem 2rem;
	}

}

@media print, screen and (min-width: 768px) {

	/* フロート */
	.FloatL {
	margin: 3.5rem 3rem 1rem 0;
	}

	.FloatR {
	margin: 3.5rem 0 1rem 3rem;
	}

}


/* 旧class --------------------------------------------------- */

/* 太字初期化 */
.FWN {
font-weight: normal !important;
}

/* マージントップ調整 */
.M0 {
margin-top: 0 !important;
}

.M5 {
margin-top: 5px !important;
}

.M10 {
margin-top: 10px !important;
}

.M15 {
margin-top: 15px !important;
}

.M20 {
margin-top: 20px !important;
}

.M25 {
margin-top: 25px !important;
}

.M30 {
margin-top: 30px !important;
}

.M35 {
margin-top: 35px !important;
}

.M40 {
margin-top: 40px !important;
}

.M45 {
margin-top: 45px !important;
}

.M50 {
margin-top: 50px !important;
}

.M55 {
margin-top: 55px !important;
}

.M60 {
margin-top: 60px !important;
}

.M65 {
margin-top: 65px !important;
}

.M70 {
margin-top: 70px !important;
}

.M75 {
margin-top: 75px !important;
}

.M80 {
margin-top: 80px !important;
}

.M85 {
margin-top: 85px !important;
}

.M90 {
margin-top: 90px !important;
}

.M95 {
margin-top: 95px !important;
}

.M100 {
margin-top: 100px !important;
}

/* マージンボトム調整 */
.MB0 {
margin-bottom: 0 !important;
}

.MB5 {
margin-bottom: 5px !important;
}

.MB10 {
margin-bottom: 10px !important;
}

.MB15 {
margin-bottom: 15px !important;
}

.MB20 {
margin-bottom: 20px !important;
}

.MB25 {
margin-bottom: 25px !important;
}

.MB30 {
margin-bottom: 30px !important;
}

.MB35 {
margin-bottom: 35px !important;
}

.MB40 {
margin-bottom: 40px !important;
}

.MB45 {
margin-bottom: 45px !important;
}

.MB50 {
margin-bottom: 50px !important;
}

.MB55 {
margin-bottom: 55px !important;
}

.MB60 {
margin-bottom: 60px !important;
}

.MB65 {
margin-bottom: 65px !important;
}

.MB70 {
margin-bottom: 70px !important;
}

.MB75 {
margin-bottom: 75px !important;
}

.MB80 {
margin-bottom: 80px !important;
}

.MB85 {
margin-bottom: 85px !important;
}

.MB90 {
margin-bottom: 90px !important;
}

.MB95 {
margin-bottom: 95px !important;
}

.MB100 {
margin-bottom: 100px !important;
}



/* ■ 印刷用設定 ==================================================================================== */

@media print {

	.Header_TagLine,
	.Header_Menu,
	.BreadCrumb,
	#GlobalNav,
	#LocalNav,
	#FooterNav,
	#Footer {
	display: none !important;
	}

	#Layout1,
	#Layout2,
	#Layout3,
	#Layout4,
	#Layout5 {
	padding-bottom: 0 !important;
	}

	#Contents {
	width: 100% !important;
	padding-left: 0 !important;
	}

	/* メインセクションで改ページさせない場合は以下をコメントアウト */
	.SectionMain:not(:first-of-type) {
	page-break-before: always;
	}

}



/* ■ JSライブラリ ==================================================================================== */

/*
アコーディオンメニュー
タブメニュー
slick
Magnific Popup
*/


/* アコーディオンメニュー：初期設定 --------------------------------------------------- */

.AccoTarget {
display: none;
}


/* タブメニュー：初期設定 --------------------------------------------------- */

.TabContent {
display: none;
}

.TabContent.Current {
display: block;
}


/* slick 初期設定 --------------------------------------------------- */

.slick-slider {
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list {
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}

.slick-list:focus {
outline: none;
}

.slick-list.dragging {
cursor: pointer;
cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}

.slick-track {
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}

.slick-track:before,
.slick-track:after {
display: table;
content: '';
}

.slick-track:after {
clear: both;
}

.slick-loading .slick-track {
visibility: hidden;
}

.slick-slide {
display: none;
float: left;
height: 100%;
min-height: 1px;
}

[dir='rtl'] .slick-slide {
float: right;
}

.slick-slide img {
display: block;
}

.slick-slide.slick-loading img {
display: none;
}

.slick-slide.dragging img {
pointer-events: none;
}

.slick-initialized .slick-slide {
display: block;
}

.slick-loading .slick-slide {
visibility: hidden;
}

.slick-vertical .slick-slide {
display: block;
height: auto;
border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
display: none;
}


/* slick カスタマイズ --------------------------------------------------- */

/* 読み込み時のレイアウトずれ対策 */
.Slider > li:not(:first-child) {
display: none;
}

/* 前後ボタン */
.slick-prev,
.slick-next {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
z-index: 10;
text-indent: -9999px;
cursor: pointer;
transition: color 0.2s ease 0.01s, background-color 0.2s ease 0.01s, opacity 0.2s ease 0.01s;
}

.slick-prev-arrow,
.slick-next-arrow {
display: block;
background-repeat: no-repeat;
background-size: contain;
}

.slick-prev-arrow {
background-image: url(../images_rev2/common/icon/Icon_Arrows_Prev.png);
}

.slick-next-arrow {
background-image: url(../images_rev2/common/icon/Icon_Arrows_Next.png);
}

.slick-disabled {
opacity: 0.2;
cursor: default;
}

/* ページネーション */
.slick-dots {
display: block;
position: absolute;
width: 100%;
line-height: 1;
text-align: center;
}

.slick-dots li {
display: inline-block;
position: relative;
border-radius: 100vh;
text-indent: -9999px;
background-color: var(--base-middle);
cursor: pointer;
}

.slick-dots .slick-active {
background-color: var(--primary);
}

/* スライド間の余白：centerModeを使用する場合 */
.Slider .slick-slide {
margin: 0 0.2rem;
}

/* 最近見た商品 */
#Slider_History {
padding-left: 3.2rem;
}

#Slider_History .slick-list {
padding-right: 5%;
}

#Slider_History .slick-slide {
margin-right: 1.6rem;
}

#Slider_History .slick-dots {
margin-left: -3.2rem;
}

/* ランキング：タブ */
.Ranking_Tab .slick-list {
padding-right: 5%;
}

.Ranking_Tab .slick-track {
display: flex;
}

.Ranking_Tab .slick-slide {
width: 25%;
height: auto;
margin-right: 0.2rem;
}

.Ranking_Tab_Genre .slick-slide {
width: 33.333333%;
}

/* ランキング：商品 */
.Ranking_Each {
padding-left: 3.2rem;
}

.Ranking_Each .slick-list {
margin-top: -1rem;
margin-left: -1.5rem;
padding-left: 1.5rem;
padding-top: 1rem;
padding-right: 5%;
}

.Ranking_Each .slick-slide {
margin-right: 1.6rem;
}

/* ランキング（関連特集マスタ） */
#Ranking2_List {
padding-left: 3.2rem;
}

#Ranking2_List .slick-list {
padding-right: 5%;
}

#Ranking2_List .slick-slide {
margin-right: 1.6rem;
}

#Ranking2_List .slick-dots {
margin-left: -3.2rem;
}

/* カルーセルバナー */
#BannerCarousel_List {
margin-left: -2.6rem;
margin-right: -2.6rem;
}

#BannerCarousel_List .slick-slide {
margin-left: 0.8rem;
margin-right: 0.8rem;
}

/* スタッフのこぼれ話 */
#NavRec_Unit_List {
margin-left: -2.4rem;
margin-right: -2.4rem;
}

#NavRec_Unit_List .slick-track {
display: flex;
}

#NavRec_Unit_List .slick-slide {
margin-left: 0.8rem;
margin-right: 0.8rem;
}

/* レビュー */
#NavReview_List {
margin-left: -1.8rem;
margin-right: -1.8rem;
}

#NavReview_List .slick-track {
display: flex;
}

#NavReview_List .slick-slide {
margin-left: 0.8rem;
margin-right: 0.8rem;
}

/* 商品詳細：メイン画像 */
#ItemDetail_Photo_List .slick-slide {
margin: 0 1rem;
}

/* 商品詳細：関連記事 */
#ItemDetail_Related_List {
padding-left: 3.2rem;
}

#ItemDetail_Related_List .slick-list {
padding-right: 5%;
}

#ItemDetail_Related_List .slick-slide {
margin-right: 1.6rem;
}

#ItemDetail_Related_List .slick-dots {
margin-left: -3.2rem;
}

/* おすすめ商品（プラグイン） */
#ItemRecommend_List {
padding-left: 3.2rem;
}

#ItemRecommend_List .slick-list {
padding-right: 5%;
}

#ItemRecommend_List .slick-slide {
margin-right: 1.6rem;
}

#ItemRecommend_List .slick-dots {
margin-left: -3.2rem;
}

/* 前後ボタン */
.slick-prev,
.slick-next {
top: 0.85rem;
width: 3rem;
height: 3rem;
}

.slick-prev {
left: -1.5rem;
}

.slick-next {
right: 0.5rem;
}

.slick-prev-arrow,
.slick-next-arrow {
width: 3rem;
height: 3rem;
}

.Ranking_Tab .slick-disabled {
display: none !important;
}

/* ページネーション */
.slick-dots {
bottom: -3.75rem;
}

.slick-dots li {
width: 0.8rem;
height: 0.8rem;
margin: 0 0.5rem;
}


/* Magnific Popup 初期設定 --------------------------------------------------- */

.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 300000 !important;
overflow: hidden;
position: fixed;
background-color: var(--color-overlay) !important;
/* opacity: 0.8; */
}

.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 300001 !important;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden;
}

.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 1.6rem;
box-sizing: border-box;
}

.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
display: none;
}

.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto;
}

.mfp-ajax-cur {
cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out;
}

.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}

.mfp-loading.mfp-figure {
display: none;
}

.mfp-hide {
display: none !important;
}

.mfp-preloader {
color: #ccc;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044;
}

.mfp-preloader a {
color: #ccc;
}

.mfp-preloader a:hover {
color: #fff;
}

.mfp-s-ready .mfp-preloader {
display: none;
}

.mfp-s-error .mfp-content {
display: none;
}

button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation;
}

button::-moz-focus-inner {
padding: 0;
border: 0;
}

.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #FFF;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
opacity: 1;
}

.mfp-close:active {
top: 1px;
}

.mfp-close-btn-in .mfp-close {
color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #FFF;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%;
}

.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #CCC;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}

.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent;
}

.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px;
}

.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7;
}

.mfp-arrow-left {
left: 0;
}

.mfp-arrow-left:after {
border-right: 17px solid #fff;
margin-left: 31px;
}

.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
right: 0;
}

.mfp-arrow-right:after {
border-left: 17px solid #fff;
margin-left: 39px;
}

.mfp-arrow-right:before {
border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
top: -40px;
}

.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000;
}

/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
line-height: 0;
}

.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444;
}

.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px;
}

.mfp-figure figure {
margin: 0;
}

.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto;
}

.mfp-title {
text-align: left;
line-height: 18px;
color: #F3F3F3;
word-wrap: break-word;
padding-right: 36px;
}

.mfp-image-holder .mfp-content {
max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

	/* Remove all paddings around the image on small screen */

	.mfp-img-mobile .mfp-image-holder {
	padding-left: 0;
	padding-right: 0;
	}

	.mfp-img-mobile img.mfp-img {
	padding: 0;
	}

	.mfp-img-mobile .mfp-figure:after {
	top: 0;
	bottom: 0;
	}

	.mfp-img-mobile .mfp-figure small {
	display: inline;
	margin-left: 5px;
	}

	.mfp-img-mobile .mfp-bottom-bar {
	background: rgba(0, 0, 0, 0.6);
	bottom: 0;
	margin: 0;
	top: auto;
	padding: 3px 5px;
	position: fixed;
	box-sizing: border-box;
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
	padding: 0;
	}

	.mfp-img-mobile .mfp-counter {
	right: 5px;
	top: 3px;
	}

	.mfp-img-mobile .mfp-close {
	top: 0;
	right: 0;
	width: 35px;
	height: 35px;
	line-height: 35px;
	background: rgba(0, 0, 0, 0.6);
	position: fixed;
	text-align: center;
	padding: 0;
	}

}

@media all and (max-width: 900px) {

	.mfp-arrow {
	-webkit-transform: scale(0.75);
	transform: scale(0.75);
	}

	.mfp-arrow-left {
	-webkit-transform-origin: 0;
	transform-origin: 0;
	}

	.mfp-arrow-right {
	-webkit-transform-origin: 100%;
	transform-origin: 100%;
	}

	.mfp-container {
	padding-left: 1.6rem;
	padding-right: 1.6rem;
	}

}

#lean_overlay {
position: fixed;
z-index: 100;
top: 0px;
left: 0px;
height: 100%;
width: 100%;
background: #000;
display: none;
}