
@import 'https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese&display=swap';
@import 'https://fonts.googleapis.com/css?family=Poppins:400,500&display=swap';
@import 'https://fonts.googleapis.com/css?family=Oswald:400,500&display=swap';

@charset "UTF-8";
/*
///////////////////////////////////////////////////////////////////////

This template is part of EC-CUBE Design template.

Copyright(c) JAPAN ELECTRONIC INDUSTRIAL ARTS CO.LTD.

http://www.jeia.co.jp/

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

本テンプレートの著作権は、「株式会社日本電子工藝社」に帰属いたします。

※本テンプレートを譲渡・再頒布・転用・第三者へ開示することは禁止いたします。
ただし、事業者によるショップ運営者への設置代行を禁止するものではございません。
※本テンプレートを申請されたご利用サイトへの設置以外の目的で複製することは禁止いたします。
※本テンプレートデータ内のライセンス条項、および著作権に関する記述を削除することはできません。
※ご利用サイトを変更することはできません。申請と異なるサイトにてご利用になる場合は、
別途、ご利用費用をお支払いただく必要がございます。
※本テンプレートの改変にあたり、一切のサポートはいたしかねます。
※本テンプレートは、すべての設置環境で動作する事は保証しておりません。

///////////////////////////////////////////////////////////////////////
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

/* Document
   ========================================================================== */

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}
/*
Sass変数

_variables.scss

各パーツの色やサイズを変数として定義しています。

Styleguide 24.7
*/
/*
ヘッダーロゴ
*/
/*
デバイス別設定
*/
/*
ボタン
*/
/*
文字色・背景色
*/
/*
ヘッダー・ドロワー
当テンプレートでは白系でデザインしていますがフラグにより黒系に切り替える事ができます
*/
/*
フッター
*/
/*
シェア・SNSカラー
*/
/*
フォーム部品
*/
/*
カート
*/
/*
アニメーションkeyframes

_animation.scss

定義mixin：<br>
@mixin fadeIn<br>
@mixin fadeOut<br>

<br>
定義CSS：<br>
@keyframes fadeIn<br>
@keyframes fadeOut<br>
.bg-load-overlay

Styleguide 24.6
*/
@keyframes fadeIn {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
  }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
  }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
  }
}

.bg-load-overlay {
  background: rgba(255, 255, 255, 0.4);
  box-sizing: border-box;
  position: fixed;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2147483647;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/*
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
  padding: $padding-vertical $padding-horizontal;
  font-size: $font-size;
  line-height: $line-height;
  border-radius: $border-radius;
}
*/
/*
ボタン

_btn.scss

Styleguide 24.2
*/
/*
ボタンひな形

* @mixin _btn($color, $background, $border)

Styleguide 24.2.1
*/
/*
インラインボタン

* @mixin btn-default<br>
* @mixin btn-action<br>
* @mixin btn-cancel<br>
* @mixin btn-primary

Styleguide 24.2.2
*/
/*
ブロックボタン

* @mixin blockBtn-default<br>
* @mixin blockBtn-action<br>
* @mixin blockBtn-cancel<br>
* @mixin blockBtn-primary

Styleguide 24.2.3
*/
/*
User select

ボタンひな形（@mixin _btn()）から使用されてるmixinで、テキストを選択不可にしている様子。
ほかからの使用は無い様子。

* @mixin user-select

Styleguide 24.2.4
*/
/*
リンクボタン

使用箇所は無い様子

* @mixin linkBtn

Styleguide 24.2.5
*/
/*
Clearfix

_clearfix.scss

Styleguide 24.4
*/
/*
フォーム

_form.scss

Styleguide 24.3
*/
/*
フォームリセット

* @mixin forms-reset

Styleguide 24.3.1
*/
/*
フォームコントールひな形

* @mixin _form-control

Styleguide 24.3.2
*/
/*
メディア

_media.scss

Styleguide 24.1
*/
/*
メディアクエリ

* @mixin media_desktop

EC-CUBE4標準ではモバイルファースト（スマートフォン）でスタイリングしたのち適宜、デスクトップ用にメディアクエリで上書きする形でスタイリングしている様子ですが、
当テンプレートではタブレットも加えた3デバイスのスタイリングしています。

スタイリングの仕方はケースバイケースで、上書きや汚染が起きないようメディアクエリの内容を範囲を大きくとってがっつり分離してスタイリングする場合や、
一度、デスクトップ用（あるいはスマートフォン用）のスタイリングを施してから、適宜上書き用のメディアクエリを書く場合もあります。

メディアクエリに関しては、後からの変更・修正の際に「ごちゃごちゃしてどこをいじればいいのか判りづらい」コードにならないよう気を付けたいと思っています。
ですので上書きの多用は避けたいとしております、が、上書きスタイリングのほうがコードがすっきりするならそのようにします。ケースバイケースです。

* スマホ：320px～767px
* タブレット：768px～1279px
* PC：1280px以上

※デバイスごとのブレイクポイントは_variables.scssにて変数で設定。

Styleguide 24.1.1
*/
/*
コンテナ

コンテナブロックのmax-width、左右余白などブロックスタイルの共通定義。
各セクションの左右余白の統一感はコンテナによってもたらされます。

※ブラウザのフル幅で背景を敷いたデザインも可能とするため、`.ec-layoutRole__contents`側のmax-widthを解除し、こちらの「コンテナ」でmax-widthを定義。
コンテナを適用するセクションでmax-widthを変更したい場合は、そのコンテナで随時上書きします。

※コンテナの左右余白については、コンテナを「box-sizing:content-box;」としておいてから、希望のままの値でmax-widthを指定し、デバイスごとの左右余白を定義。

EC-CUBE4ではマイページ用に調整されたコンテナがありましたが、当テンプレートではマイページも汎用コンテナでスタイリングしています。

* @mixin container

Styleguide 24.1.2
*/
/*
ECCUBE 固有のスタイルユーティリティ

_projects.scss

* @mixin borderTop
* @mixin borderBottom
* @mixin reset_link

borderTop, borderBottomは、サイト内で一貫したborder線を敷くために使います。
一応、引数で色も指定できますが、一貫とは別種のborderなら直接borderプロパティでスタイリングしたほうがいいとは思います。

reset_linkは、.ec-link（リンクテキストの表現）をリセットさせる目的のmixinでしょうか。当テンプレートではその場その場で、
同等のスタイリングをしていますので、結果このmixinは使用していません。

Styleguide 24.5
*/
/*
追加mixin

当テンプレート用にmixinを追加しています。

Styleguide 24.5.1
*/
/*
offGridを無効にするmixin

テンプレート上、レイアウト的に幅狭め（offGird）を無効にしたい場合に適用

※offGrid自体の機能は崩さずそのまま残しておきたいので、部分的に挙動を無効化するmixinを用意。
※offGrid自体の挙動は変更していないが、タブレット時の挙動は別途追加している。
↓
結果的にoffGridの挙動を変更する形にした

Styleguide 24.5.2
*/
/*
画像マウスオーバー

マウスオーバーで画像を拡大・明度上げします。
mixinはa要素に適用してください。

Markup:
../styleguide/tmpl/24.5.3.html

Styleguide 24.5.3
*/
/*
画像マウスオーバー（カラーオーバーレイ）

マウスオーバーで画像にカラーフィルターをオーバーレイします。
mixinはa要素に適用してください。

* $color: フィルターの色

Markup:
../styleguide/tmpl/24.5.4.html

Styleguide 24.5.4
*/
/*
横並びメニューのボタンに短い区切り線を入れる

マイページのメニュー部分に使用しています。

* $length: ボーダー長さ（%のみ）
* $color: ボーダー色

Markup:
../styleguide/tmpl/24.5.5.html

Styleguide 24.5.5
*/
/*
商品一覧等の陳列レイアウト

商品一覧やお気に入り一覧など子アイテム（商品）を陳列レイアウト（縦横に並べる）スタイリングを施します。
横に配置する数、アイテム間の余白、子要素のタグを引数で指定できます。

商品詳細の画像ビジュアルナビでも使用しています。

* $amount: 横に配置する数
* $gutter_W: アイテム間の左右余白
* $gutter_h: アイテム間の上下余白
* $item: 子要素のタグ名称・class名称（デフォルトはli要素）

Styleguide 24.5.6
*/
/*
閉じる・削除ボタン

ヘッダーのカート状況のカート削除ボタン、マイぺージお気に入り削除ボタンなど、画像の上に被さるタイプの丸型の削除系ボタンです。

* $size ボタン自体のサイズを指定

Styleguide 24.5.7
*/
/*
テキストhoverで下線が伸びるエフェクト

* $color: 下線の色

Markup:
../styleguide/tmpl/24.5.8.html

Styleguide 24.5.8
*/
/*
ユーザビリティ タブフォーカス

タブフォーカスのデザインをスタイリングします。
タブフォーカス時だけでなくクリックした時も効果が出てしまいます。デフォルトでは効果をオフにしています。ユーザビリティを優先する場合はコメントアウトを解除してください。
いい具合に実装できるライブラリ「what-input」なるものもあるみたいですね。

Styleguide 24.5.9
*/
/*
ブラウザハック IE11

Styleguide 24.5.10
*/
/*
ベース

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 0.1
*/

body {
  background: transparent;
  margin: 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  color: #444;
}

a:focus {
  text-decoration: none;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

pre {
  /*
  background-color: transparent;
  border: none;
  padding: 16px 0;
  */
}

p {
  margin-bottom: 1em;
}

h1, h2, h3, h4, h5, h6 {
  color: #222;
  line-height: 1.2;
  font-weight: 500;
}

img {
  width: 100%;
  height: auto;
}

label {
  margin: 0;
  font-weight: normal;
}

/*
表組み（シンプル）

table要素、dl要素による表組レイアウト

商品詳細ページのフリーエリアや利用ガイド等の記事の中で差し込まれてくるシンプルな表組みについて基本スタイリングします。

特商や会員登録フォームといったコンテンツの表組みレイアウトは、_1.3.list.scssにて定義しています。

Markup:
../styleguide/tmpl/0.1.2.html

Styleguide 0.1.2
*/
/*
.table_basic 
*/
table.table_basic {
  width: 100%;
  table-layout: fixed;
  font-size: 14.928px;
  font-size: 0.933rem;
  margin: 32px 0;
  margin: 2rem 0;
  border-top: 1px solid #eee;
}

table.table_basic tr {
  border-bottom: 1px solid #eee;
}

table.table_basic tr:nth-child(odd) {
  background-color: #f8f8f8;
}

table.table_basic th {
  padding: 0.5em;
  width: 10em;
  white-space: nowrap;
  vertical-align: top;
}

table.table_basic td {
  padding: 0.5em;
  width: auto;
  vertical-align: top;
}

/* .caption */
.caption {
  margin: 0;
  padding: 0.5em 0;
  font-size: 14.928px;
  font-size: 0.933rem;
  color: #666;
}

/*
dl要素をtable風に
*/
.dl_table {
  width: 100%;
  font-size: 14.928px;
  font-size: 0.933rem;
  margin: 32px 0;
  margin: 2rem 0;
}

.caption + .dl_table {
  margin-top: 0;
}

.dl_table dl {
  margin: 0;
  border-bottom: 1px solid #eee;
}

.dl_table dl:nth-child(odd) {
  background-color: #f8f8f8;
}

.dl_table dl:first-child {
  border-top: 1px solid #eee;
}

.dl_table dt {
  display: inline-block;
  padding: 0.5em;
  min-width: 10em;
}

.dl_table dd {
  display: inline-block;
  padding: 0.5em;
}

/*
dl要素レスポンシブ（タブレット・デスクトップ時はtable風で、スマホ時はdtとddを改行して表示）
*/

/*
フォントファミリー

使用するフォントファミリー

Styleguide 0.2
*/
/*
 * MEMO
 * IE11でNoto表示するには「&subset=japanese」が必要。
 * Notoは字詰めカーニングが効かない。カーニングが必要であれば游ゴシックなど別フォントに変更。
 * Google Fontsが「display=swap」対応（フォントが読み込まれるまで代替フォントを表示）
*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

button, input, select, textarea {
  font-family: "Noto Sans JP", sans-serif;
}

/*
見出し

ページ内で見出しとして機能する要素のスタイル群です。

Styleguide 1.1
*/
/*
商品詳細ページ見出し（未使用）

EC-CUBE4では商品詳細ページのみ見出しに使用されているスタイルですが、当テンプレートでは使用していません。

使用箇所：なし

Markup:
../styleguide/tmpl/1.1.1.html

Styleguide 1.1.1
*/
.ec-headingTitle {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: normal;
  color: #525263;
}

/*
ページヘッダ（h1見出し）

各種ページで用いられるページヘッダのデザインです。

EC-CUBE4のHTML構成でページヘッダ見出しは「コンテナ」の中に含まれており、コンテナには左右余白が定義されています。<br>
当テンプレートではh1見出しには背景色を敷いたデザインですが、スマホ・タブレット時ではブラウザ幅フルにフィットさせたいので、
これをネガティブマージンを用いて左右余白を相殺することでスタイリングしています。

もし背景色を敷かないデザインに変更するのであればネガティブマージンによる余白相殺と余白の再定義は不要です。

h1要素に下マージンを持たせて、h1タイトル部とページコンテンツ本体との余白としています。

使用箇所：
Cart/index.twig
Contact/complete.twig
Contact/confirm.twig
Contact/index.twig
Entry/activate.twig
Entry/complete.twig
Entry/confirm.twig
Entry/index.twig
Forgot/complete.twig
Forgot/index.twig
Forgot/reset.twig
Help/about.twig
Help/agreement.twig
Help/guide.twig
Help/privacy.twig
Help/tradelaw.twig
Mypage/change.twig
Mypage/change_complete.twig
Mypage/delivery.twig
Mypage/delivery_edit.twig
Mypage/favorite.twig
Mypage/history.twig
Mypage/index.twig
Mypage/login.twig
Mypage/withdraw.twig
Mypage/withdraw_complete.twig
Mypage/withdraw_confirm.twig
Shopping/complete.twig
Shopping/confirm.twig
Shopping/index.twig
Shopping/login.twig
Shopping/nonmember.twig
Shopping/shipping.twig
Shopping/shipping_edit.twig
Shopping/shipping_multiple.twig
Shopping/shipping_multiple_edit.twig
Shopping/shopping_error.twig

Markup:
../styleguide/tmpl/1.1.2.html

Styleguide 1.1.2
*/
.ec-pageHeader h1 {
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  margin: 0;
  background-color: #f4f4f4;
  margin-bottom: 1.5em;
}

/*
サブ見出し（未使用）

文字主体のページで用いられるサブ見出しです。

使用箇所：なし

後述の「.ec-heading-bold」に対して太字でないスタイリングという位置づけでしょうか。
使用箇所はありませんが一応、スタイリングとして調整して残しておきます。

Markup:
../styleguide/tmpl/1.1.3.html

Styleguide 1.1.3
*/
.ec-heading {
  font-weight: 17.6px;
  font-weight: 1.1rem;
  font-weight: normal;
  margin-bottom: 1em;
}

/*
サブ見出し(太字)

文字主体のページで用いられるサブ見出しの太字のスタイルです。

EC-CUBE4では「プライバシーポリシー」の太字見出しで使用されているスタイルですが、当テンプレートでは規約条文用のコンポーネントを用意しましたので、
結果、使用箇所なしとなります。

使用箇所：なし

Markup:
../styleguide/tmpl/1.1.4.html

Styleguide 1.1.4
*/
.ec-heading-bold {
  font-weight: 17.6px;
  font-weight: 1.1rem;
  font-weight: 500;
  margin-bottom: 1em;
}

/*
背景付き見出し

h2の見出し要素を装飾するスタイリングです。<br>
h3以降の使用箇所はありません。使う場面があればh3以降も追加スタイリングしてください。

使用箇所：
Mypage/history.twig
Shopping/index.twig
Shopping/confirm.twig
Help/guide.twig

Markup:
../styleguide/tmpl/1.1.5.html

Styleguide 1.1.5
*/
.ec-rectHeading {
  margin: 0;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.ec-rectHeading h2 {
  margin: 0;
  font-size: 17.6px;
  font-size: 1.1rem;
  font-weight: normal;
  background-color: #f3f1eb;
  padding: 0.6em 0.75em;
}

/*
メッセージ見出し

ユーザが行った操作に対する、完了報告やエラー表示のページで使用される見出しのスタイルです。

使用箇所：
error.twig
Contact/complete.twig
Entry/activate.twig
Entry/complete.twig
Forgot/complete.twig
Mypage/change_complete.twig
Mypage/withdraw_complete.twig
Shopping/complete.twig

Markup:
../styleguide/tmpl/1.1.6.html

Styleguide 1.1.6
*/
.ec-reportHeading {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 0;
  margin-bottom: 1em;
  padding: 1em 0;
  text-align: center;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.ec-reportHeading h2 {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
}

/*
文字装飾

文字装飾をするためのスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 1.2
*/
/*
テキストリンク

テキストリンクのスタイルです。

使用箇所：
Entry/index.twig
Mypage/login.twig
Shopping/login.twig

※ログインページ（Mypage,Shopping）では上書き調整しておりますのでこちらのスタイリングは反映されない形です。

Markup:
../styleguide/tmpl/1.2.1.html

Styleguide 1.2.1
*/
.ec-link {
  text-decoration: none;
  cursor: pointer;
}

.ec-link:hover {
  text-decoration: none;
}

/*
テキスト（太字）

テキストを太くするためのスタイルです。

使用箇所：
Product/list.twig
Shopping/index.twig
Shopping/confirm.twig

Markup:
../styleguide/tmpl/1.2.2.html

Styleguide 1.2.2
*/
.ec-font-bold {
  font-weight: 500;
}

/*
テキスト（グレー）（未使用）

テキストをグレーにするためのスタイルです。

使用箇所：なし

Markup:
../styleguide/tmpl/1.2.3.html

Styleguide 1.2.3
*/
.ec-color-grey {
  color: #666;
}

/*
テキスト（赤）

テキストを赤にするためのスタイルです。

使用箇所：
Cart/index.twig
Mypage/history.twig

Markup:
../styleguide/tmpl/1.2.4.html

Styleguide 1.2.4
*/
.ec-color-red {
  color: #e2251f;
}

.ec-color-accent {
  color: #e2251f;
}

/*
フォントサイズ（未使用）

フォントサイズを指定するためのスタイルです。

EC-CUBE4ではカートブロックで使用しているようですが、当テンプレートでは未使用です。

※当テンプレートではモバイル時はデバイス幅に比例して文字サイズが変化するよう（1行あたりの文字数が固定）vw単位でスタイリングしていますし、
デスクトップにおいてもrem、emを用いた相対的なスタイリングを考えていますので、
文字装飾でOOCSS的にpx指定のスタイリングは使わない考えです。このスタイリング自体を削除しておきたい所ですが一応残してあります。

※.mini {font-size:0.9em;}みたいな適用する場所において相対的に働くOOCSSならスタイリングしておきたいところです。

使用箇所：なし

Markup:
../styleguide/tmpl/1.2.5.html

Styleguide 1.2.5
*/
.ec-font-size-1 {
  font-size: 12px;
}

.ec-font-size-2 {
  font-size: 14px;
}

.ec-font-size-3 {
  font-size: 16px;
}

.ec-font-size-4 {
  font-size: 20px;
}

.ec-font-size-5 {
  font-size: 32px;
}

.ec-font-size-6 {
  font-size: 40px;
}

/*
テキスト水平位置

テキストをセンタリングするためのスタイルです。

使用箇所：
Contact/complete.twig
Entry/activate.twig
Entry/complete.twig
Forgot/complete.twig
Mypage/change_complete.twig
Shopping/complete.twig

Markup:
../styleguide/tmpl/1.2.6.html

Styleguide 1.2.6
*/
.ec-text-ac {
  text-align: center;
}

/*
価格テキスト

価格を表示するテキストです。

使用箇所は商品詳細・一覧のみです。
こちらのページでは数字→価格表示の加工が動的に行われ（price関数）、「税込」表示もtransによる翻訳可能となっており、
それぞれが要素に囲まれた形になっています。
動的なので問題はないですが、別のブロック等で静的に商品リストをコーディングする際は簡単な後述の「.ec-price_in」の方を使用します。

font-familyと、価格部分と税込み表示部分の文字バランスだけにとどめています。
使う場面で親要素にfont-sizeを指定することでバランスを保ちつつ大きさを調整できるかと思います。

使用箇所：
* Product/list.twig
* Product/detail.twig

Markup:
../styleguide/tmpl/1.2.7.html

Styleguide 1.2.7
*/
.ec-price {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
}

.ec-price .ec-price__price {
  display: inline-block;
  vertical-align: baseline;
  font-size: 1em;
}

.ec-price .ec-price__tax {
  display: inline-block;
  vertical-align: baseline;
  font-size: 0.65em;
  color: #666;
}

/*
価格テキスト（簡易版）

価格表示のスタイルはサイト内各ページで統一しておきたいところです。
ちなみに、商品詳細ページでは金額部分ではTwigの「price」関数で数値を価格表示テキストに変換し、さらに「税込」の表示も「trans」関数で翻訳可能としてありますので、
その分の要素数も多く複雑になっています。
対して、トップページの商品アイテムを含む各ブロックでは動的ではなく静的にHTMLを記述しなくてはなりませんのでその意味で価格部分が複雑になるのは避けたいと思います。
（「税込」や「￥」の文字を多数記述するのも避けたいです。変更が入ったときに作業量が増え、ミスも誘発しかねないので）
そこで簡易にコーディングできるよう、専用のスタイリングを用意し商品詳細と同じ見た目になるようにします。
ただし、翻訳機能を考慮するのであればもう一工夫する必要があるかと思います。

Styleguide 1.2.7.2
*/
.ec-price_in {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
}

.ec-price_in:before {
  content: "￥";
}

.ec-price_in:after {
  content: "（税込）";
  font-size: 0.65em;
  color: #666;
}

/*
テキストの位置

テキストや、入れ子にしたインライン要素を「左揃え」「中央揃え」「右揃え」に設定することができます。

使用箇所は無い様子

Markup:
../styleguide/tmpl/1.2.8.html

Styleguide 1.2.8
*/
.text-left {
  text-align: left;
}

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

.text-right {
  text-align: right;
}

/*
メッセージテキスト

ユーザが行った操作に対する、完了報告やエラー表示のページで使用されるテキストのスタイルです。

使用箇所：
error.twig
Contact/complete.twig
Entry/activate.twig
Entry/complete.twig
Forgot/complete.twig
Mypage/change_complete.twig
Mypage/history.twig
Mypage/withdraw_complete.twig
Shopping/complete.twig

Markup:
../styleguide/tmpl/1.2.9.html

Styleguide 1.2.9
*/
.ec-reportDescription {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 2em;
  text-align: left;
}

/*
テキスト下部のスペース

テキストの下に余白を追加することができます。

使用箇所：
Contact/index.twig
Forgot/index.twig
Mypage/delivery.twig
Mypage/index.twig

Markup:
../styleguide/tmpl/1.2.10.html

Styleguide 1.2.10
*/
.ec-para-normal {
  margin-bottom: 1em;
}

/*
リスト

シンプルなリストを構成するためのスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 1.3
*/
/*
水平定義リスト

シンプルな定義リストのスタイルを定義します。

dl要素を用いてコーディングします。

使用Twig：
* Mypage/index.twig
* Mypage/history.twig

Markup:
../styleguide/tmpl/1.3.1.html

Styleguide 1.3.1
*/
.ec-definitions, .ec-definitions--soft {
  margin: 0.5em 0;
  display: block;
}

.ec-definitions dt, .ec-definitions--soft dt, .ec-definitions dd, .ec-definitions--soft dd {
  display: inline-block;
  margin: 0;
}

.ec-definitions dt, .ec-definitions--soft dt {
  font-weight: 500;
  min-width: 8em;
  margin-right: 1em;
}

.ec-definitions--soft dt {
  font-weight: normal;
}

/*
定義リスト

線が添えられた定義リストのスタイルを定義します。（dlリスト）

フォーム入力ページや、「当サイトについて」「特商表記」など、タイトルと本文のあるコンテンツのスタイル。

メモ：
dtの中では「.ec-label」とセットで使われるのが常のようですが、これはフォームページの名残ともとれますが（違うかもしれませんが）、
「.ec-label」という名前上、フォーム周りのタイトルという先入観が拭えませんのでいささか気になりますが、当定義リストのdt要素が、
あくまでレイアウト役割のみという要素で割り切るなら、見た目のスタイルを当てている「.ec-label」は汎用的ならラベル要素とも取れます。
（ただ、_3.3.form.scssの中で定義されているのでやはり本来はフォームラベルの目的でコーディングされたような気がします）

使用箇所：
* Contact/index.twig
* Contact/confirm.twig
* Entry/index.twig
* Entry/confirm.twig
* Forgot/index.twig
* Forgot/reset.twig
* Help/about.twig
* Help/tradelaw.twig
* Mypage/change.twig
* Mypage/delivery_edit.twig
* Shopping/index.twig
* Shopping/nonmember.twig
* Shopping/shipping_edit.twig
* Shopping/shipping_multiple_edit.twig

Markup:
../styleguide/tmpl/1.3.2.html

Styleguide 1.3.2
*/
.ec-borderedDefs dl {
  width: 100%;
  margin: 0;
}

/*
ボーダーリスト

線が添えられたリストを表示します。

使用場面はショッピングページのカート商品内容部分で、その中身は商品画像と商品詳細の「.ec-imageGrid」（_5.2.layout.scss）が入ります。

「.ec-borderedLis」も「.ec-imageGrid」もそのパターンでしか使われていない様子なので、
まとめて一つのコンポーネントにしても良いかとも思いますが、今のところはそのままにします。

それともう一点、
「.ec-imageGrid」の使用場面は先のショッピングページの商品内容と、マイページ注文履歴詳細の商品内容とになりますが、
ショッピングページではこれをリスト化（ul li要素）して括っているのが「.ec-borderedList」であるのに対して、
注文履歴詳細のほうではそのリストが含まれておりません。

どちらもさらにその外側で「.ec-orderDelivery__item」で括っているのですが、さらに、
ショッピングページ側では、「.ec-orderDelivery__item」は1つのみでその中にリストのul要素があり、商品ごとにli要素で
括っているのに対して、注文履歴詳細はリストが無く、商品ごとに「.ec-orderDelivery__item」で括っているという違いがあります。

意味合い的にもスタイリングにしても同一なものなので統一してもらいたい所ですが、今のところはCSSで統一させるに留めます。

まず、「.ec-orderDelivery__item」には何もスタイリングしなようにしておき、注文履歴詳細ページのみに働くように
「.ec-orderDelivery__item」に「.ec-borderedList」と同じ形のスタイリングを施しています。

〇ショッピングページ側
構成（※スタイルガイドページでは崩れますのでscssファイルでご覧ください）
.ec-orderDelivery__item
  > ul.ec-borderedList
    > li > .ec-imageGrid
    > li > .ec-imageGrid
    > li > .ec-imageGrid


〇注文履歴詳細ページ側
構成（※スタイルガイドページでは崩れますのでscssファイルでご覧ください）
.ec-orderDelivery__item > .ec-imageGrid
.ec-orderDelivery__item > .ec-imageGrid
.ec-orderDelivery__item > .ec-imageGrid

Markup:
../styleguide/tmpl/1.3.3.html

Styleguide 1.3.3
*/
.ec-borderedList {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #eee;
}

.ec-borderedList li {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

/*
注文履歴詳細用
本来は_15.2.order.scssにてスタイリングすべきですが（※これも厳密にいえばショッピングとマイページコンテンツとで分けておくべきかとも思いますが）、
上記のメモ書きの理由により、混雑しないようにこちらで「.ec-borderedList」と合わせてスタイリングします。
*/
body#page_mypage_history .ec-orderDelivery__item {
  padding: 10px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

body#page_mypage_history .ec-orderDelivery__item + .ec-orderDelivery__item {
  border-top: none;
}

/*
ボタン生成

mixinを利用して各パターンのボタンを生成します。

Styleguide 2.1
*/
/*
通常ボタン（インラインボタン）

インラインの要素としてボタンを定義出来ます。

〇.ec-inlineBtn
使用箇所：
* Mypage/delivery.twig
* Mypage/history.twig
* Mypage/index.twig
* Shopping/index.twig
* Shopping/shipping.twig
* Shopping/shipping_multiple.twig

〇.ec-inlineBtn--primary
使用箇所：なし

〇.ec-inlineBtn--action
使用箇所：
* Product/list.twig
* Product/detail.twig

〇.ec-inlineBtn--cancel
使用箇所：
* Product/list.twig
* Product/detail.twig

Markup:
../styleguide/tmpl/2.1.1.html

Styleguide 2.1.1
*/
.ec-inlineBtn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #242930;
  border-color: #444;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  font-size: 14.4px;
  font-size: 0.9rem;
}

.ec-inlineBtn:focus, .ec-inlineBtn.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-inlineBtn:hover {
  text-decoration: none;
  color: #fff;
  background-color: #0e1013;
  border-color: #252525;
}

.ec-inlineBtn.disabled, .ec-inlineBtn[disabled],
fieldset[disabled] .ec-inlineBtn {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-inlineBtn.disabled:hover, .ec-inlineBtn.disabled:focus, .ec-inlineBtn.disabled.focus, .ec-inlineBtn[disabled]:hover, .ec-inlineBtn[disabled]:focus, .ec-inlineBtn[disabled].focus,
fieldset[disabled] .ec-inlineBtn:hover,
fieldset[disabled] .ec-inlineBtn:focus,
fieldset[disabled] .ec-inlineBtn.focus {
  background-color: #999;
  border-color: #999;
}

.ec-inlineBtn .badge {
  color: #242930;
  background-color: #fff;
}

.ec-inlineBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #5CB1B1;
  border-color: #5CB1B1;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}

.ec-inlineBtn--primary:focus, .ec-inlineBtn--primary.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-inlineBtn--primary:hover {
  text-decoration: none;
  color: #fff;
  background-color: #479393;
  border-color: #438d8d;
}

.ec-inlineBtn--primary.disabled, .ec-inlineBtn--primary[disabled],
fieldset[disabled] .ec-inlineBtn--primary {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-inlineBtn--primary.disabled:hover, .ec-inlineBtn--primary.disabled:focus, .ec-inlineBtn--primary.disabled.focus, .ec-inlineBtn--primary[disabled]:hover, .ec-inlineBtn--primary[disabled]:focus, .ec-inlineBtn--primary[disabled].focus,
fieldset[disabled] .ec-inlineBtn--primary:hover,
fieldset[disabled] .ec-inlineBtn--primary:focus,
fieldset[disabled] .ec-inlineBtn--primary.focus {
  background-color: #999;
  border-color: #999;
}

.ec-inlineBtn--primary .badge {
  color: #5CB1B1;
  background-color: #fff;
}

.ec-inlineBtn--action {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #d41d17;
  border-color: #d41d17;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}

.ec-inlineBtn--action:focus, .ec-inlineBtn--action.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-inlineBtn--action:hover {
  text-decoration: none;
  color: #fff;
  background-color: #a61712;
  border-color: #9d1511;
}

.ec-inlineBtn--action.disabled, .ec-inlineBtn--action[disabled],
fieldset[disabled] .ec-inlineBtn--action {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-inlineBtn--action.disabled:hover, .ec-inlineBtn--action.disabled:focus, .ec-inlineBtn--action.disabled.focus, .ec-inlineBtn--action[disabled]:hover, .ec-inlineBtn--action[disabled]:focus, .ec-inlineBtn--action[disabled].focus,
fieldset[disabled] .ec-inlineBtn--action:hover,
fieldset[disabled] .ec-inlineBtn--action:focus,
fieldset[disabled] .ec-inlineBtn--action.focus {
  background-color: #999;
  border-color: #999;
}

.ec-inlineBtn--action .badge {
  color: #d41d17;
  background-color: #fff;
}

.ec-inlineBtn--action:hover {
  background-color: #e60c05;
  border-color: #e60c05;
}

.ec-inlineBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #333333;
  border-color: #333333;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}

.ec-inlineBtn--cancel:focus, .ec-inlineBtn--cancel.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-inlineBtn--cancel:hover {
  text-decoration: none;
  color: #fff;
  background-color: #1a1a1a;
  border-color: #141414;
}

.ec-inlineBtn--cancel.disabled, .ec-inlineBtn--cancel[disabled],
fieldset[disabled] .ec-inlineBtn--cancel {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-inlineBtn--cancel.disabled:hover, .ec-inlineBtn--cancel.disabled:focus, .ec-inlineBtn--cancel.disabled.focus, .ec-inlineBtn--cancel[disabled]:hover, .ec-inlineBtn--cancel[disabled]:focus, .ec-inlineBtn--cancel[disabled].focus,
fieldset[disabled] .ec-inlineBtn--cancel:hover,
fieldset[disabled] .ec-inlineBtn--cancel:focus,
fieldset[disabled] .ec-inlineBtn--cancel.focus {
  background-color: #999;
  border-color: #999;
}

.ec-inlineBtn--cancel .badge {
  color: #333333;
  background-color: #fff;
}

/*
ブロックボタン（全幅）

ボタンサイズは em で指定するため、テキストサイズの変更でボタンサイズを変更できます。

使用箇所：
error.twig
Block/cart.twig
Block/eyecatch.twig
Cart/index.twig
Contact/index.twig
Contact/complete.twig
Contact/confirm.twig
Entry/index.twig
Entry/activate.twig
Entry/complete.twig
Entry/confirm.twig
Forgot/index.twig
Forgot/reset.twig
Mypage/change.twig
Mypage/change_complete.twig
Mypage/delivery_edit.twig
Mypage/history.twig
Mypage/login.twig
Mypage/withdraw.twig
Mypage/withdraw_complete.twig
Mypage/withdraw_confirm.twig
Product/detail.twig
Product/list.twig
Shopping/index.twig
Shopping/complete.twig
Shopping/confirm.twig
Shopping/login.twig
Shopping/nonmember.twig
Shopping/shipping.twig
Shopping/shipping_edit.twig
Shopping/shipping_multiple.twig
Shopping/shipping_multiple_edit.twig
Shopping/shopping_error.twig

Markup:
../styleguide/tmpl/2.1.2.html

Styleguide 2.1.2
*/
.ec-blockBtn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #242930;
  border-color: #444;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn:focus, .ec-blockBtn.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn:hover {
  text-decoration: none;
  color: #fff;
  background-color: #0e1013;
  border-color: #252525;
}

.ec-blockBtn.disabled, .ec-blockBtn[disabled],
fieldset[disabled] .ec-blockBtn {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn.disabled:hover, .ec-blockBtn.disabled:focus, .ec-blockBtn.disabled.focus, .ec-blockBtn[disabled]:hover, .ec-blockBtn[disabled]:focus, .ec-blockBtn[disabled].focus,
fieldset[disabled] .ec-blockBtn:hover,
fieldset[disabled] .ec-blockBtn:focus,
fieldset[disabled] .ec-blockBtn.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn .badge {
  color: #242930;
  background-color: #fff;
}

.ec-blockBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #5CB1B1;
  border-color: #5CB1B1;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn--primary:focus, .ec-blockBtn--primary.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn--primary:hover {
  text-decoration: none;
  color: #fff;
  background-color: #479393;
  border-color: #438d8d;
}

.ec-blockBtn--primary.disabled, .ec-blockBtn--primary[disabled],
fieldset[disabled] .ec-blockBtn--primary {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn--primary.disabled:hover, .ec-blockBtn--primary.disabled:focus, .ec-blockBtn--primary.disabled.focus, .ec-blockBtn--primary[disabled]:hover, .ec-blockBtn--primary[disabled]:focus, .ec-blockBtn--primary[disabled].focus,
fieldset[disabled] .ec-blockBtn--primary:hover,
fieldset[disabled] .ec-blockBtn--primary:focus,
fieldset[disabled] .ec-blockBtn--primary.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn--primary .badge {
  color: #5CB1B1;
  background-color: #fff;
}

.ec-blockBtn--action {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #d41d17;
  border-color: #d41d17;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn--action:focus, .ec-blockBtn--action.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn--action:hover {
  text-decoration: none;
  color: #fff;
  background-color: #a61712;
  border-color: #9d1511;
}

.ec-blockBtn--action.disabled, .ec-blockBtn--action[disabled],
fieldset[disabled] .ec-blockBtn--action {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn--action.disabled:hover, .ec-blockBtn--action.disabled:focus, .ec-blockBtn--action.disabled.focus, .ec-blockBtn--action[disabled]:hover, .ec-blockBtn--action[disabled]:focus, .ec-blockBtn--action[disabled].focus,
fieldset[disabled] .ec-blockBtn--action:hover,
fieldset[disabled] .ec-blockBtn--action:focus,
fieldset[disabled] .ec-blockBtn--action.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn--action .badge {
  color: #d41d17;
  background-color: #fff;
}

.ec-blockBtn--action:hover {
  background-color: #e60c05;
  border-color: #e60c05;
}

.ec-blockBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #333333;
  border-color: #333333;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn--cancel:focus, .ec-blockBtn--cancel.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn--cancel:hover {
  text-decoration: none;
  color: #fff;
  background-color: #1a1a1a;
  border-color: #141414;
}

.ec-blockBtn--cancel.disabled, .ec-blockBtn--cancel[disabled],
fieldset[disabled] .ec-blockBtn--cancel {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn--cancel.disabled:hover, .ec-blockBtn--cancel.disabled:focus, .ec-blockBtn--cancel.disabled.focus, .ec-blockBtn--cancel[disabled]:hover, .ec-blockBtn--cancel[disabled]:focus, .ec-blockBtn--cancel[disabled].focus,
fieldset[disabled] .ec-blockBtn--cancel:hover,
fieldset[disabled] .ec-blockBtn--cancel:focus,
fieldset[disabled] .ec-blockBtn--cancel.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn--cancel .badge {
  color: #333333;
  background-color: #fff;
}

/*
カートインボタン

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/2.1.3.html

Styleguide 2.1.3
*/
.ec-blockBtn--cartin {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #000;
  border-color: #000;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn--cartin:focus, .ec-blockBtn--cartin.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn--cartin:hover {
  text-decoration: none;
  color: #fff;
  background-color: black;
  border-color: black;
}

.ec-blockBtn--cartin.disabled, .ec-blockBtn--cartin[disabled],
fieldset[disabled] .ec-blockBtn--cartin {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn--cartin.disabled:hover, .ec-blockBtn--cartin.disabled:focus, .ec-blockBtn--cartin.disabled.focus, .ec-blockBtn--cartin[disabled]:hover, .ec-blockBtn--cartin[disabled]:focus, .ec-blockBtn--cartin[disabled].focus,
fieldset[disabled] .ec-blockBtn--cartin:hover,
fieldset[disabled] .ec-blockBtn--cartin:focus,
fieldset[disabled] .ec-blockBtn--cartin.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn--cartin .badge {
  color: #000;
  background-color: #fff;
}

.ec-blockBtn--cartin:before {
  font-family: "jeiafont";
  content: "\e900";
  margin-right: 0.5em;
  display: inline-block;
  transform: scale(1.4);
}

.ec-blockBtn--cartin:hover {
  background-color: #d41d17;
  border-color: #d41d17;
}

/*
お気に入りボタン

お気に入りボタンのサイズは商品詳細ページの「カートイン枠（横一列）」に合わせて、$cartinRow-sizeで生成しています。

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/2.1.4.html

Styleguide 2.1.4
*/
.ec-blockBtn--favorite {
  display: block;
}

.ec-blockBtn--favorite i {
  display: block;
  margin: 0;
  width: 53.28px;
  width: 3.33rem;
  height: 53.28px;
  height: 3.33rem;
  text-align: center;
  border-radius: 50%;
  background-color: #666;
  color: #fff;
  transition: .2s;
  position: relative;
  /* ポップアップ */
}

.ec-blockBtn--favorite i:before {
  font-size: 26.64px;
  font-size: 1.665rem;
  line-height: 58.608px;
  line-height: 3.663rem;
}

.ec-blockBtn--favorite i span {
  position: absolute;
  bottom: calc(100% + 12px);
  left: calc(50% - 18px);
  display: block;
  padding: 0.75em 1em;
  background-color: #333;
  color: #fff;
  font-size: 12.8px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  border-radius: 2px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  transform: translate3d(0, 10px, 0);
  transition: .2s;
}

.ec-blockBtn--favorite i span:after {
  content: "";
  width: 0;
  height: 0;
  border: solid 8px transparent;
  border-top-color: #333;
  position: absolute;
  top: 100%;
  left: 10px;
}

.ec-blockBtn--favorite i:hover {
  background-color: #ff5555;
}

.ec-blockBtn--favorite i:hover span {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.ec-blockBtn--favorite.added i {
  background-color: #ff5555;
}

/*
アイコンボタン

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 2.2
*/
/*
閉じるボタン

使用箇所：
Mypage/favorite.twig

Markup:
../styleguide/tmpl/2.2.2.html

Styleguide 2.2.2
*/
.ec-closeBtn--circle:after {
  font-family: "jeiafont";
  content: "\e918";
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 21px;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
  color: #333;
  border: solid 1px #aaa;
  box-sizing: border-box;
  cursor: pointer;
  transform: translate3d(0, 0, 0);
  transition: .2s;
}

.ec-closeBtn--circle:hover:after {
  text-decoration: none;
  transform: translate3d(0, 1px, 0);
  box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.3);
}

.ec-closeBtn--circle:hover {
  text-decoration: none;
}

.ec-closeBtn--circle .ec-icon {
  display: none;
}

/*
その他のボタン

通常のボタンや、アイコンボタン以外のボタンを定義します。

Styleguide 2.3
*/
/*
ページトップボタン

ページトップボタンのスタイリングです。スタイリングに伴い、default_frame.twigを編集しています。

Markup:
../styleguide/tmpl/2.3.1.html

Styleguide 2.3.1
*/
.ec-blockTopBtn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  font-size: 30px;
  line-height: 1;
  width: 1.6em;
  height: 1.6em;
  color: #999;
  border: solid 3px #999;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom: 20px;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: .3s;
  /* ボタン表示 */
}

body.scrolled .ec-blockTopBtn {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-blockTopBtn i {
  transform: translate3d(0, 0, 0);
  transition: .5s;
}

.ec-blockTopBtn:hover {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.2);
}

.ec-blockTopBtn:hover i {
  transform: translate3d(0, -2px, 0);
}

/*
フォーム部品（入力要素）

テキストや数値の入力項目に関するフォーム要素の基本整形をスタイリングします。

Styleguide 3.1
*/
/*
テキスト入力フォーム

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.1.html

Styleguide 3.1.1
*/
.ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.5em 0.75em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.ec-input input:focus, .ec-halfInput input:focus, .ec-numberInput input:focus, .ec-zipInput input:focus, .ec-telInput input:focus {
  border-color: #3c8dbc;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.ec-input input::-moz-placeholder, .ec-halfInput input::-moz-placeholder, .ec-numberInput input::-moz-placeholder, .ec-zipInput input::-moz-placeholder, .ec-telInput input::-moz-placeholder {
  color: #ddd;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-input input:-ms-input-placeholder, .ec-halfInput input:-ms-input-placeholder, .ec-numberInput input:-ms-input-placeholder, .ec-zipInput input:-ms-input-placeholder, .ec-telInput input:-ms-input-placeholder {
  color: #ddd;
}

.ec-input input::-webkit-input-placeholder, .ec-halfInput input::-webkit-input-placeholder, .ec-numberInput input::-webkit-input-placeholder, .ec-zipInput input::-webkit-input-placeholder, .ec-telInput input::-webkit-input-placeholder {
  color: #ddd;
}

.ec-input input::-ms-expand, .ec-halfInput input::-ms-expand, .ec-numberInput input::-ms-expand, .ec-zipInput input::-ms-expand, .ec-telInput input::-ms-expand {
  border: 0;
  background-color: transparent;
}

.ec-input input[disabled], .ec-halfInput input[disabled], .ec-numberInput input[disabled], .ec-zipInput input[disabled], .ec-telInput input[disabled], .ec-input input[readonly], .ec-halfInput input[readonly], .ec-numberInput input[readonly], .ec-zipInput input[readonly], .ec-telInput input[readonly],
fieldset[disabled] .ec-input input,
fieldset[disabled] .ec-halfInput input,
fieldset[disabled] .ec-numberInput input,
fieldset[disabled] .ec-zipInput input,
fieldset[disabled] .ec-telInput input {
  background-color: #eee;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-input input[disabled], .ec-halfInput input[disabled], .ec-numberInput input[disabled], .ec-zipInput input[disabled], .ec-telInput input[disabled],
fieldset[disabled] .ec-input input,
fieldset[disabled] .ec-halfInput input,
fieldset[disabled] .ec-numberInput input,
fieldset[disabled] .ec-zipInput input,
fieldset[disabled] .ec-telInput input {
  cursor: not-allowed;
}

.ec-input textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.5em 0.75em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  height: auto;
  min-height: 8em;
}

.ec-input textarea:focus, .ec-halfInput textarea:focus, .ec-numberInput textarea:focus, .ec-zipInput textarea:focus, .ec-telInput textarea:focus {
  border-color: #3c8dbc;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.ec-input textarea::-moz-placeholder, .ec-halfInput textarea::-moz-placeholder, .ec-numberInput textarea::-moz-placeholder, .ec-zipInput textarea::-moz-placeholder, .ec-telInput textarea::-moz-placeholder {
  color: #ddd;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-input textarea:-ms-input-placeholder, .ec-halfInput textarea:-ms-input-placeholder, .ec-numberInput textarea:-ms-input-placeholder, .ec-zipInput textarea:-ms-input-placeholder, .ec-telInput textarea:-ms-input-placeholder {
  color: #ddd;
}

.ec-input textarea::-webkit-input-placeholder, .ec-halfInput textarea::-webkit-input-placeholder, .ec-numberInput textarea::-webkit-input-placeholder, .ec-zipInput textarea::-webkit-input-placeholder, .ec-telInput textarea::-webkit-input-placeholder {
  color: #ddd;
}

.ec-input textarea::-ms-expand, .ec-halfInput textarea::-ms-expand, .ec-numberInput textarea::-ms-expand, .ec-zipInput textarea::-ms-expand, .ec-telInput textarea::-ms-expand {
  border: 0;
  background-color: transparent;
}

.ec-input textarea[disabled], .ec-halfInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-telInput textarea[disabled], .ec-input textarea[readonly], .ec-halfInput textarea[readonly], .ec-numberInput textarea[readonly], .ec-zipInput textarea[readonly], .ec-telInput textarea[readonly],
fieldset[disabled] .ec-input textarea,
fieldset[disabled] .ec-halfInput textarea,
fieldset[disabled] .ec-numberInput textarea,
fieldset[disabled] .ec-zipInput textarea,
fieldset[disabled] .ec-telInput textarea {
  background-color: #eee;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-input textarea[disabled], .ec-halfInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-telInput textarea[disabled],
fieldset[disabled] .ec-input textarea,
fieldset[disabled] .ec-halfInput textarea,
fieldset[disabled] .ec-numberInput textarea,
fieldset[disabled] .ec-zipInput textarea,
fieldset[disabled] .ec-telInput textarea {
  cursor: not-allowed;
}

.ec-input + p, .ec-halfInput + p, .ec-numberInput + p, .ec-zipInput + p, .ec-telInput + p {
  margin: 0.75em 0 0;
}

.ec-input + .ec-input, .ec-halfInput + .ec-input, .ec-numberInput + .ec-input, .ec-zipInput + .ec-input, .ec-telInput + .ec-input, .ec-input + .ec-halfInput, .ec-halfInput + .ec-halfInput, .ec-numberInput + .ec-halfInput, .ec-zipInput + .ec-halfInput, .ec-telInput + .ec-halfInput, .ec-input + .ec-numberInput, .ec-halfInput + .ec-numberInput, .ec-numberInput + .ec-numberInput, .ec-zipInput + .ec-numberInput, .ec-telInput + .ec-numberInput, .ec-input + .ec-zipInput, .ec-halfInput + .ec-zipInput, .ec-numberInput + .ec-zipInput, .ec-zipInput + .ec-zipInput, .ec-telInput + .ec-zipInput, .ec-input + .ec-telInput, .ec-halfInput + .ec-telInput, .ec-numberInput + .ec-telInput, .ec-zipInput + .ec-telInput, .ec-telInput + .ec-telInput {
  margin-top: 16px;
  margin-top: 1rem;
}

.ec-input.error input, .error.ec-halfInput input, .error.ec-numberInput input, .error.ec-zipInput input, .error.ec-telInput input, .ec-input.error textarea, .error.ec-halfInput textarea, .error.ec-numberInput textarea, .error.ec-zipInput textarea, .error.ec-telInput textarea {
  border-color: #aa0b00;
  background-color: #FDF1F0;
}

/*
テキスト入力フォーム（左右2分割）

姓名など入力フォームが分割されている項目で使用します。

入力フォームを半分で用意したいときにも利用可能です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.2.html

Styleguide 3.1.2
*/
.ec-halfInput {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
}

.ec-halfInput > input,
.ec-halfInput > span.customer-form {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: calc( (100% - 15px ) / 2);
  margin-left: 15px;
}

.ec-halfInput > input:first-child,
.ec-halfInput > span.customer-form:first-child {
  margin-left: 0;
}

.ec-halfInput > span.customer-form input {
  width: 100%;
  margin: 0;
}

.ec-halfInput .ec-errorMessage {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
}

/*
数量ボタン

数量を表示するための小さなコンポーネントです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.3.html

Styleguide 3.1.3
*/
.ec-numberInput input[type='number'] {
  width: auto;
  max-width: 5em;
  text-align: center;
}

/*
数量ボタン（増減ボタンセット）
*/
.ec-quantityRole {
  font-size: 16px;
  font-size: 1rem;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  box-sizing: border-box;
  border: solid 1px #ccc;
}

.ec-quantityRole .ec-quantityRole__btn {
  width: 53.28px;
  width: 3.33rem;
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  text-align: center;
  font-size: 1.2em;
  background-color: #f0f0f0;
  cursor: pointer;
}

.ec-quantityRole .ec-numberInput {
  height: 53.28px;
  height: 3.33rem;
  padding: 0;
  border: none;
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
}

.ec-quantityRole .ec-numberInput input {
  height: 53.28px;
  height: 3.33rem;
  border: none;
  width: 53.28px;
  width: 3.33rem;
  font-family: "Oswald";
}

/*
郵便番号フォーム

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.4.html

Styleguide 3.1.4
*/
.ec-zipInput input {
  display: inline-block;
  width: auto;
  max-width: 8em;
  margin-left: .5em;
}

.ec-zipInput > span {
  display: inline-block;
}

.ec-zipInputHelp {
  display: inline-block;
  margin-left: 1em;
}

.ec-zipInputHelp .ec-zipInputHelp__icon {
  display: none;
}

.ec-zipInputHelp a {
  font-size: 12px;
  line-height: 1;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  height: 2em;
  border-radius: 3px;
  background-color: #16457e;
  color: #fff;
  padding-left: .5em;
  padding-right: .5em;
  transition: .3s;
}

.ec-zipInputHelp a:before {
  font-family: "jeiafont";
  content: "\e901";
  margin-right: .5em;
  padding-right: .5em;
  border-right: solid 1px rgba(255, 255, 255, 0.3);
}

.ec-zipInputHelp a:hover {
  text-decoration: none;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.2);
}

.ec-zipInput + .ec-select, .ec-zipInput + .ec-birth {
  margin-top: 1em;
  margin-bottom: 1em;
}

/*
電話番号ボタン

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.5.html

Styleguide 3.1.5
*/
.ec-telInput input {
  max-width: 10em;
}

/*
エラーメッセージ

エラー項目にポップアップ形式で表示するタイプにしたいが、.ec-harfInputの場合に2つ目のエラーも左に出てしまう。これを制御するにはTwig側に手をいれないといけないので断念。
普通にエラー項目の下にテキスト表示するに留めます。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.1.6.html

Styleguide 3.1.6
*/
.ec-errorMessage {
  font-size: 14.4px;
  font-size: 0.9rem;
  margin: .5em 0 0;
  color: #ca0000;
}

.ec-errorMessage:before {
  font-family: "jeiafont";
  font-weight: normal;
  content: "\e915";
  font-size: 20px;
  display: inline-block;
  vertical-align: -4px;
  margin-right: 3px;
}

/* その他 */
/*
input[type="number"]のスピンボタンを非表示

使用箇所：
利用ポイント、商品数量入力

Styleguide 3.1.90
*/
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;
}

/*
フォーム部品(ラジオ、チェックボックス、セレクト)

ラジオ、チェックボックス、セレクト要素の基本整形をスタイリングします。

Styleguide 3.2
*/
/*
ラジオボタン（横配置）

各要素をlabelでくくって、コーディングします。←マチガイ（ver4.0.2では、input + label の構造になっている様子（全部がそうかは未確認））<br>
input要素をlabelでくくってしまうと独自UIは表示されないので注意

ラジオボタンの独自UIはアイコンフォントを使っています。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.2.html

Styleguide 3.2.2
*/
.ec-radio, .ec-blockRadio {
  margin-top: -0.5em;
}

.ec-radio input, .ec-blockRadio input {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.ec-radio input + label, .ec-blockRadio input + label {
  display: inline-block;
  margin: 0;
  font-size: 16.8px;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 1;
  margin-right: 1em;
  margin-top: 0.5em;
}

.ec-radio input + label:before, .ec-blockRadio input + label:before {
  font-family: "jeiafont";
  content: "\e90c";
  font-size: 22px;
  display: inline-block;
  vertical-align: -3px;
  margin-right: 0;
  color: #999;
  transition: .3s;
}

.ec-radio input + label span, .ec-blockRadio input + label span {
  display: inline-block;
}

.ec-radio input:checked + label:before, .ec-blockRadio input:checked + label:before {
  font-family: "jeiafont";
  content: "\e90d";
  color: #0049a3;
}

.ec-radio input:focus + label, .ec-blockRadio input:focus + label {
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-radio.error, .error.ec-blockRadio {
  background-color: #FDF1F0;
}

/*
ラジオボタン(縦配置)

垂直に並ぶラジオボタンフィールドです。

※ショッピングページ「shopping/index.twig」においてはinputとlabelごとをdiv要素（ブロック要素）でくくる形でコーディングされているためCSSスタイリングせずとも縦配置になる。
一応、このブロック要素がない場合でも縦配置になるスタイリングは準備しておく。

EC-CUBE4標準において`.ec-blockRadio`が使われている箇所はshopping/confirm.twigだけの様子だが（お支払いとポイント）、確認画面ページなので表示要素は1点のみであるし、
またラジオボタンですらないので、厳密にいえばここで`.ec-blockRadio`を使うのはミスではないかと思われる。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.3.html

Styleguide 3.2.3
*/
.ec-blockRadio {
  margin-right: 0;
  margin-top: -1em;
}

.ec-blockRadio input + label {
  display: block;
  margin-right: 0;
  margin-top: 1em;
}

/*
チェックボックス （横配置）

各要素をlabelでくくって、コーディングします。←マチガイ<br>
input要素をlabelでくくってしまうと独自UIは表示されないので注意

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.4.html

Styleguide 3.2.4
*/
.ec-checkbox, .ec-blockCheckbox {
  margin-top: -0.5em;
}

.ec-checkbox input, .ec-blockCheckbox input {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.ec-checkbox input + label, .ec-blockCheckbox input + label {
  display: inline-block;
  margin: 0;
  font-size: 16.8px;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 1;
  margin-right: 1em;
  margin-top: 0.5em;
}

.ec-checkbox input + label:before, .ec-blockCheckbox input + label:before {
  font-family: "jeiafont";
  content: "\e90e";
  font-size: 22px;
  display: inline-block;
  vertical-align: -3px;
  margin-right: 0.2em;
  color: #999;
  transition: .3s;
}

.ec-checkbox input + label span, .ec-blockCheckbox input + label span {
  display: inline-block;
}

.ec-checkbox input:checked + label:before, .ec-blockCheckbox input:checked + label:before {
  font-family: "jeiafont";
  content: "\e90f";
  color: #0049a3;
}

.ec-checkbox input:focus + label, .ec-blockCheckbox input:focus + label {
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-checkbox.error, .error.ec-blockCheckbox {
  background-color: #FDF1F0;
}

/* 会員登録の利用規約チェックだけlabelがつけ方が通常のコーディングルールと違うのでCSS側で吸収 */
.ec-registerRole__actions .ec-checkbox input + label, .ec-registerRole__actions .ec-blockCheckbox input + label {
  margin-right: 0;
}

/*
チェックボックス (縦配置)

垂直に並ぶチェックボックス フィールドです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.5.html

Styleguide 3.2.5
*/
.ec-blockCheckbox {
  margin-right: 0;
  margin-top: -1em;
}

.ec-blockCheckbox input + label {
  display: block;
  margin-right: 0;
  margin-top: 1em;
}

/*
セレクトボックス

独自UIを施しています。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.6.html

Styleguide 3.2.6
*/
.ec-select select, .ec-birth select {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.5em 0.75em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  width: auto;
  background-color: #f8f8f8;
  cursor: pointer;
  padding-right: calc(20px + 1em);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.ec-select select:focus, .ec-birth select:focus {
  border-color: #3c8dbc;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.ec-select select::-moz-placeholder, .ec-birth select::-moz-placeholder {
  color: #ddd;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-select select:-ms-input-placeholder, .ec-birth select:-ms-input-placeholder {
  color: #ddd;
}

.ec-select select::-webkit-input-placeholder, .ec-birth select::-webkit-input-placeholder {
  color: #ddd;
}

.ec-select select::-ms-expand, .ec-birth select::-ms-expand {
  border: 0;
  background-color: transparent;
}

.ec-select select[disabled], .ec-birth select[disabled], .ec-select select[readonly], .ec-birth select[readonly],
fieldset[disabled] .ec-select select,
fieldset[disabled] .ec-birth select {
  background-color: #eee;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-select select[disabled], .ec-birth select[disabled],
fieldset[disabled] .ec-select select,
fieldset[disabled] .ec-birth select {
  cursor: not-allowed;
}

.ec-select select::-ms-expand, .ec-birth select::-ms-expand {
  display: none;
}

.ec-select .select_ui, .ec-birth .select_ui {
  display: inline-block;
  font-weight: normal;
  margin: 0;
  position: relative;
}

.ec-select .select_ui:after, .ec-birth .select_ui:after {
  font-family: "jeiafont";
  content: "\e913";
  font-size: 16px;
  line-height: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 20px;
  height: calc(100% - 2px);
  background: #ddd;
  color: #555;
  position: absolute;
  top: 1px;
  right: 1px;
  border-radius: 0;
  pointer-events: none;
}

.ec-select + .ec-select, .ec-birth + .ec-select, .ec-select + .ec-birth, .ec-birth + .ec-birth {
  margin-top: 16px;
  margin-top: 1rem;
}

.ec-select.error select, .error.ec-birth select {
  border-color: #aa0b00;
  background-color: #FDF1F0;
}

.ec-select label, .ec-birth label {
  margin: 0;
}

.ec-select label + .select_ui, .ec-birth label + .select_ui {
  margin-left: .5em;
}

.ec-select__delivery {
  display: block;
}

.ec-select__time {
  display: block;
}

/*
生年月日選択

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.2.7.html

Styleguide 3.2.7
*/
.ec-birth span {
  display: inline-block;
  margin: 0 .5em;
}

/*
フォーム部品（ラベル、他）

フォームのラベルに関する要素を定義します。

Styleguide 3.3
*/
/*
タイトルラベル

リストレイアウトでのタイトル部分など、会員登録ページでいえば「お名前」の部分のスタイリングになります。

メモ：
フォーム周りのタイトルラベルという位置づけの印象が強いですが、EC-CUBE4では「当サイトについて」や「特商」のページでも使われており、
どちらかというと汎用的なタイトルラベルという使い方なのかもしれません。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.3.1.html

Styleguide 3.3.1
*/
.ec-label {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
  margin: 0;
  color: #222;
  letter-spacing: 0.05em;
}

/*
必須ラベル

上記のタイトルラベルに付随する「必須」項目を示す部位になります。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/3.3.2.html

Styleguide 3.3.2
*/
.ec-required {
  display: inline-block;
  vertical-align: middle;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  padding: 0.4em 0.4em;
  background-color: #e2251f;
  color: #fff;
  margin-left: 1em;
}

/*
その他の調整

コーディングルールに則っていない（？）部位の調整。<br>
ミスなのか意図的なのかは不明ですがこれまでのフォーム構成（ルール）とは逸れている箇所があり、ミスであるならば本来はTwigを修正すべきですが、
テンプレート的にはTwigの編集は必要以外は極力しないでおきたいですので（バージョンアップの事も考慮しつつ）CSS側で吸収を試みます。

* なるべくピンポイントに働くように、他の部位に影響・汚染の無いよう心掛ける。
* もしバージョンアップでTwigの修正が施された際に悪影響のないようにしておきたい。

Styleguide 3.3.90
*/
/*
ショッピングページ「お客様情報」の変更フォーム

「都道府県」入力欄がここではテキスト入力だが、これを括る要素が.ec-selectとなっておりCSSルールから外れてしまっているので補正

Styleguide 3.3.91
*/
.ec-select .customer-address_pref input, .ec-birth .customer-address_pref input {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.5em 0.75em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.ec-select .customer-address_pref input:focus, .ec-birth .customer-address_pref input:focus {
  border-color: #3c8dbc;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.ec-select .customer-address_pref input::-moz-placeholder, .ec-birth .customer-address_pref input::-moz-placeholder {
  color: #ddd;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-select .customer-address_pref input:-ms-input-placeholder, .ec-birth .customer-address_pref input:-ms-input-placeholder {
  color: #ddd;
}

.ec-select .customer-address_pref input::-webkit-input-placeholder, .ec-birth .customer-address_pref input::-webkit-input-placeholder {
  color: #ddd;
}

.ec-select .customer-address_pref input::-ms-expand, .ec-birth .customer-address_pref input::-ms-expand {
  border: 0;
  background-color: transparent;
}

.ec-select .customer-address_pref input[disabled], .ec-birth .customer-address_pref input[disabled], .ec-select .customer-address_pref input[readonly], .ec-birth .customer-address_pref input[readonly],
fieldset[disabled] .ec-select .customer-address_pref input,
fieldset[disabled] .ec-birth .customer-address_pref input {
  background-color: #eee;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.ec-select .customer-address_pref input[disabled], .ec-birth .customer-address_pref input[disabled],
fieldset[disabled] .ec-select .customer-address_pref input,
fieldset[disabled] .ec-birth .customer-address_pref input {
  cursor: not-allowed;
}

/*
問い合わせフォーム

問い合わせフォームで、.ec-zipInputHelpが、.ec-zipInputの中ではなく外に出てしまっている

Styleguide 3.3.92
*/
#page_contact .ec-zipInput {
  display: inline-block;
}

#page_contact .ec-zipInputHelp + .ec-select, #page_contact .ec-zipInputHelp + .ec-birth {
  margin-top: 1em;
  margin-bottom: 1em;
}

/*
アイコン・WEBフォント

EC-CUBE4ではアイコンに[Font Awesome 5](https://fontawesome.com/) を使用しています。<br>
Font Awesome 5 で利用可能なフォント群については、 Font Awesome 5 公式サイト をご確認ください。

当テンプレートではそのほか、独自のWEBフォントと[Google Material Design](https://material.io/" target="_blank">Material Design)を使用しています。

Styleguide 4.1
*/
/*
SVGアイコン

デフォルトテンプレートのアイコンは`.ec-icon`>`img`タグで使用することができます

使用箇所：
error.twig
Block/search_product.twig
Cart/index.twig
Contact/index.twig
Entry/index.twig
Mypage/change.twig
Mypage/delivery.twig
Mypage/delivery_edit.twig
Mypage/favorite.twig
Mypage/login.twig
Mypage/withdraw.twig
Mypage/withdraw_confirm.twig
Product/detail.twig
Product/list.twig
Shopping/index.twig
Shopping/login.twig
Shopping/nonmember.twig
Shopping/shipping_edit.twig
Shopping/shipping_multiple_edit.twig

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/4.2.html

Styleguide 4.2
*/
.ec-icon img {
  max-width: 80px;
  max-height: 80px;
}

/*
JEIA WEBフォント

当テンプレート用に独自のWEBフォントを使用しています。

★WEBフォントの読み込みは__default_frame.twig__のheadの中で行っています。<br>
デザインテンプレートの適用時にassetsファイルがどんな名前のディレクトリに格納されるか予測できないため、Twigにてasset変数を使って記述しています。
テンプレート適用時にテンプレートコードを決め打ちにすればCSS内記述でも可能とは思いますが柔軟性は持たせておきたいと思います。

当テンプレートのWEBフォントには[Apache 2.0ライセンス](http://www.apache.org/licenses/LICENSE-2.0)の[Google Material Design](https://material.io/" target="_blank">Material Design)のアイコンが含まれています。

ex [アイコンリスト](/html/template/dtJEIA4005/assets/icon/jeiafont/demo.html)

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/4.3.html

Styleguide 4.3
*/
i.jeiafont {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'jeiafont';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: middle;
}

/* アイコン回転 */
i.rotate-90 {
  transform-origin: center center;
  transform: rotate(90deg);
}

/* 以下アイコン追加があれば適宜追加 */
.jeia-cart:before {
  content: "\e900";
}

.jeia-search:before {
  content: "\e901";
}

.jeia-arrow:before {
  content: "\e902";
}

.jeia-heart:before {
  content: "\e903";
}

.jeia-heart_fill:before {
  content: "\e904";
}

.jeia-user:before {
  content: "\e905";
}

.jeia-user_fill:before {
  content: "\e906";
}

.jeia-lock:before {
  content: "\e907";
}

.jeia-lock_fill:before {
  content: "\e908";
}

.jeia-cross:before {
  content: "\e909";
}

.jeia-menu:before {
  content: "\e90a";
}

.jeia-more:before {
  content: "\e90b";
}

.jeia-radio:before {
  content: "\e90c";
}

.jeia-radio_checked:before {
  content: "\e90d";
}

.jeia-checkbox:before {
  content: "\e90e";
}

.jeia-checkbox_checked:before {
  content: "\e90f";
}

.jeia-call:before {
  content: "\e910";
}

.jeia-mail:before {
  content: "\e911";
}

.jeia-place:before {
  content: "\e912";
}

.jeia-more_angle:before {
  content: "\e913";
}

.jeia-warning:before {
  content: "\e914";
}

.jeia-error:before {
  content: "\e915";
}

.jeia-add:before {
  content: "\e916";
}

.jeia-remove:before {
  content: "\e917";
}

.jeia-clear:before {
  content: "\e918";
}

.jeia-star:before {
  content: "\e919";
}

.jeia-caret:before {
  content: "\e91a";
}

.jeia-arrow-left:before {
  content: "\e91b";
}

/*
グリッド

画面を12分割し、グリッドレイアウトに対応するためのスタイルです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 5.1
*/
/*
2分割グリッド

画面２分割のグリッドです。
Bootstrap の col-sm-6 相当のグリッドを提供します。

使用箇所：
Mypage/login.twig
Product/detail.twig
Shopping/login.twig

Markup:
../styleguide/tmpl/5.1.1.html

Styleguide 5.1.1
*/
.ec-grid2 {
  display: block;
  margin: 0;
}

.ec-grid2 .ec-grid2__cell {
  min-height: 1px;
}

.ec-grid2 .ec-grid2__cell2 {
  min-height: 1px;
}

/*
3分割グリッド

画面３分割のグリッドです。

使用箇所：
Shopping/login.twig

Markup:
../styleguide/tmpl/5.1.2.html

Styleguide 5.1.2
*/
.ec-grid3 {
  display: block;
  margin: 0;
}

.ec-grid3 .ec-grid3__cell {
  min-height: 1px;
}

.ec-grid3 .ec-grid3__cell2 {
  min-height: 1px;
}

.ec-grid3 .ec-grid3__cell3 {
  min-height: 1px;
}

/*
4分割グリッド

画面４分割のグリッドです。

ex [※使用箇所は無し]

Markup:
../styleguide/tmpl/5.1.3.html

Styleguide 5.1.3
*/
.ec-grid4 {
  display: block;
  margin: 0;
}

.ec-grid4 .ec-grid4__cell {
  min-height: 1px;
}

/*
6分割グリッド

2つにまとめた cell2 や 3つをまとめた cell3 タグも使用可能です。

ex [※使用箇所は無し]

Markup:
../styleguide/tmpl/5.1.4.html

Styleguide 5.1.4
*/
.ec-grid6 {
  display: block;
  margin: 0;
}

.ec-grid6 .ec-grid6__cell {
  min-height: 1px;
}

.ec-grid6 .ec-grid6__cell2 {
  min-height: 1px;
}

.ec-grid6 .ec-grid6__cell3 {
  min-height: 1px;
}

/*
中央寄せグリッド 10/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の10グリッドです<br>

※当テンプレートでは、この.ec-off1Gridのスタイリングはオフにしております。
EC-CUBE標準で備わっている機能は殺したくない所ですが、この.ec-off1Gridはデザイン的に外しておきたく、本来であればTwig側で調整すべきですが、
テンプレート的にTwigの編集は必要以外、極力しない方向でいきたいと考えております。

使用箇所：
Contact/index.twig
Contact/confirm.twig
Entry/index.twig
Entry/confirm.twig
Forgot/index.twig
Forgot/reset.twig
Help/about.twig
Help/agreement.twig
Help/privacy.twig
Help/tradelaw.twig
Mypage/change.twig
Mypage/delivery.twig
Mypage/delivery_edit.twig
Shopping/nonmember.twig
Shopping/shipping.twig
Shopping/shipping_edit.twig
Shopping/shipping_multiple_edit.twig

Markup:
../styleguide/tmpl/5.1.5.html

Styleguide 5.1.5
*/
/*
中央寄せグリッド 8/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の8グリッドです

使用箇所：
Mypage/change_complete.twig
Mypage/login.twig

Markup:
../styleguide/tmpl/5.1.6.html

Styleguide 5.1.6
*/
.ec-off2Grid {
  display: block;
  margin: 0;
}

.ec-off2Grid .ec-off2Grid__cell {
  margin: 0;
}

/*
中央寄せグリッド 6/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の6グリッドです

使用箇所：
Cart/index.twig
Contact/complete.twig
Entry/activate.twig
Entry/complete.twig
Forgot/complete.twig
Mypage/withdraw.twig
Mypage/withdraw_confirm.twig
Shopping/complete.twig
Shopping/shopping_error.twig

Markup:
../styleguide/tmpl/5.1.7.html

Styleguide 5.1.7
*/
.ec-off3Grid {
  display: block;
  margin: 0;
}

.ec-off3Grid .ec-off3Grid__cell {
  margin: 0;
}

/*
中央寄せグリッド 4/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の4グリッドです

使用箇所：
error.twig
Contact/confirm.twig
Contact/complete.twig
Contact/index.twig
Entry/index.twig
Entry/activate.twig
Entry/complete.twig
Entry/confirm.twig
Forgot/index.twig
Forgot/reset.twig
Mypage/change.twig
Mypage/change_complete.twig
Mypage/delivery_edit.twig
Mypage/withdraw.twig
Mypage/withdraw_complete.twig
Mypage/withdraw_confirm.twig
Shopping/complete.twig
Shopping/complete.twig
Shopping/nonmember.twig
Shopping/shipping.twig
Shopping/shipping_edit.twig
Shopping/shipping_multiple.twig
Shopping/shipping_multiple_edit.twig
Shopping/shopping_error.twig

Markup:
../styleguide/tmpl/5.1.8.html

Styleguide 5.1.8
*/
.ec-off4Grid {
  display: block;
  margin: 0;
}

.ec-off4Grid .ec-off4Grid__cell {
  margin: 0;
}

/*
グリッドオプション

グリッドのセルに対して「左寄せ」「中央寄せ」「右寄せ」のオプションを付与することができます。

Styleguide 5.1.9
*/
/*
グリッドセルの左寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。

ex [※使用箇所は無し]

Markup:
../styleguide/tmpl/5.1.10.html

Styleguide 5.1.10
*/
.ec-grid--left {
  -ms-flex-pack: start;
      justify-content: flex-start;
}

/*
グリッドセルの右寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。

ex [※使用箇所は無し]

Markup:
../styleguide/tmpl/5.1.11.html

Styleguide 5.1.11
*/
.ec-grid--right {
  -ms-flex-pack: end;
      justify-content: flex-end;
}

/*
グリッドセルの中央寄せ

.ec-gridに.ec-grid--centerを付与すると内包してるセルを中央寄せにすることができます。（※デフォルトで中央寄せなので不要かと思われる）

ex [※使用箇所は無し]

Markup:
../styleguide/tmpl/5.1.12.html

Styleguide 5.1.12
*/
.ec-grid--center {
  -ms-flex-pack: center;
      justify-content: center;
}

/*
グリッドのタブレット時の挙動を追加

offGridを使う場面とは、メインコンテンツ幅に対して少し幅の狭いブロックでレイアウトデザインを組みたい場面と言えると思います。
（EC-CUBE標準ではメインコンテンツ自体を少し幅を狭めるorr1Gridも多用されておりますが…）
offGridはデスクトップ向けのスタイリングですのでタブレットでは適用されずフル幅になってしまいます。
ここではタブレット時もoffGridのスタイリングが加味されるよう調整しています。

Styleguide 5.1.90
*/

/*
レイアウト

様々なレイアウトを変更する為のスタイル群です。

Styleguide 5.2
*/
/*
画像レイアウト

画像とテキストを水平に並べるレイアウトです。

使用箇所：
Mypage/history.twig
Mypage/index.twig
Shopping/confirm.twig
Shopping/index.twig

Markup:
../styleguide/tmpl/5.2.1.html

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 5.2.1
*/
.ec-imageGrid {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.ec-imageGrid .ec-imageGrid__img {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 22vw;
  max-width: 120px;
}

.ec-imageGrid .ec-imageGrid__img img {
  width: 100%;
}

.ec-imageGrid .ec-imageGrid__content {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding-left: 1em;
}

.ec-imageGrid .ec-imageGrid__content p {
  font-size: 0.9em;
  margin: 0;
}

.ec-imageGrid .ec-imageGrid__content p:first-child {
  font-weight: 700;
}

.ec-imageGrid .ec-imageGrid__content p span {
  display: inline-block;
  margin-left: 1em;
}

/*
ログイン

主にログインフォームのスタイルを表示します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 6.1
*/
/*
ログインフォーム

ログインフォームを表示します。

使用箇所：
Mypage/login.twig
Shopping/login.twig

sg-wrapper:
<div class="ec-role">
  <div class="ec-off2Grid">
    <div class="ec-off2Grid__cell">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/6.1.1.html

Styleguide 6.1.1
*/
.ec-login .ec-login__icon .ec-icon {
  margin-bottom: 10px;
  text-align: center;
}

.ec-login .ec-login__icon .ec-icon img {
  width: 50px;
  height: 50px;
}

.ec-login .ec-login__input {
  margin-bottom: 10px;
}

.ec-login .ec-login__input input + input {
  margin-top: 1em;
}

.ec-login .ec-login__input .ec-checkbox, .ec-login .ec-login__input .ec-blockCheckbox {
  margin-top: 0.5em;
}

.ec-login .ec-login__input .ec-checkbox label, .ec-login .ec-login__input .ec-blockCheckbox label {
  font-size: 14.4px;
  font-size: 0.9rem;
}

.ec-login .ec-login__link {
  margin-top: .5em;
}

.ec-login .ec-login__link a {
  color: inherit;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  text-decoration: none;
}

.ec-login .ec-login__link a:hover {
  text-decoration: none !important;
}

.ec-login .ec-login__link a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: scaleX(0);
  transition: transform .3s;
}

.ec-login .ec-login__link a:hover:after {
  transform: scaleX(1);
}

.ec-login .ec-login__link a:hover {
  text-decoration: underline;
}

/*
ゲスト購入

ゲスト購入ボタンとそのフォームを表示します。

使用箇所：
Shopping/login.twig

Markup:
../styleguide/tmpl/6.1.2.html

Styleguide 6.1.2
*/
.ec-guest {
  display: table;
  width: 100%;
  margin-top: 20px;
  padding: 1.5em;
  box-sizing: border-box;
  background: #f0f0f0;
}

.ec-guest .ec-guest__inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.ec-guest .ec-guest__inner p {
  margin-bottom: 1em;
}

.ec-guest .ec-guest__actions {
  display: block;
  text-align: center;
}

/*
商品掲載アイテムバナー？（使用箇所なし）

トップページに商品掲載するスタイルガイド群です。

Styleguide 7.1
*/
/*
検索・一覧表示

検索欄や、一覧表示に使用するスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 7.2
*/
/*
ページャ

ページャは商品一覧ページ、マイページ注文履歴、お気に入りページで使用されています。

使用箇所：
pager.twig（ブロック）

pager.twigブロックは以下のページからincludeされます。
* Mypage\favorite.twig
* Mypage\index.twig
* Product\list.twig

Markup:
../styleguide/tmpl/7.2.2.html

Styleguide 7.2.2
*/
.ec-pager {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  font-family: "Oswald";
  font-size: 16px;
  font-size: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}

.ec-pager .ec-pager__item {
  margin: 0 3px;
}

.ec-pager .ec-pager__item a {
  display: block;
  min-width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0 0.75em;
  background-color: #555;
  color: #fff;
  transition: .2s;
}

.ec-pager .ec-pager__item a:hover {
  text-decoration: none;
  background-color: #000;
}

.ec-pager .ec-pager__item.is-active a {
  background-color: #619fbe;
  pointer-events: none;
}

.ec-pager .ec-pager__item.item--prev a {
  padding-left: 0.3em;
}

.ec-pager .ec-pager__item.item--prev a:before {
  font-family: "jeiafont";
  content: "\e91b";
  margin-right: 0.2em;
}

.ec-pager .ec-pager__item.item--next a {
  padding-right: 0.3em;
}

.ec-pager .ec-pager__item.item--next a:after {
  font-family: "jeiafont";
  content: "\e902";
  margin-left: 0.2em;
}

/*
カート

ショッピングカートに関するスタイルです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 7.3
*/
/*
プログレス表示

購入完了までの手順や、現在の進捗状況をプログレス表示します。

使用箇所：
Cart/index.twig
Shopping/index.twig
Shopping/confirm.twig
Shopping/complete.twig
Shopping/nonmember.twig

Markup:
../styleguide/tmpl/7.3.1.html

Styleguide 7.3.1
*/
.ec-progress {
  list-style: none;
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.ec-progress .ec-progress__item {
  font-family: "Poppins";
  font-size: 20.8px;
  font-size: 1.3rem;
  display: table-cell;
  text-align: center;
  position: relative;
  z-index: 10;
}

.ec-progress .ec-progress__item:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #888888;
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translate(0, -50%);
  z-index: -1;
}

.ec-progress .ec-progress__item:last-child:after {
  display: none;
}

.ec-progress .ec-progress__number {
  background-color: #555;
  color: #fff;
  display: inline-block;
  line-height: 2em;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  text-align: center;
  margin-bottom: 0.25em;
}

.ec-progress .ec-progress__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12.8px;
  font-size: 0.8rem;
  padding: 0;
  line-height: 1.2;
  white-space: nowrap;
}

.ec-progress .is-complete .ec-progress__number {
  background-color: #619fbe;
}

.ec-progress .is-complete .ec-progress__label {
  color: #619fbe;
}

/*
EC-CUBEオリジナルの「カートナビゲーション」Styleguide 7.3.5～7.3.7は、Styleguide 11.2.8～11.2.10へ移動
*/
/*
総計

会計時の合計金額、総計を表示します。

使用箇所：
Mypage/history.twig
Shopping/index.twig
Shopping/confirm.twig

Markup:
../styleguide/tmpl/7.3.8.html

Styleguide 7.3.8
*/
.ec-totalBox {
  background-color: #fbfbfb;
  border: solid 1px #ddd;
  padding: 1.5em;
  padding-top: 1em;
  /* 各項目 */
  /* 合計額 */
  /* 合計額：価格 */
  /* 合計額：「税込み」ラベル */
  /* お支払い合計 */
  /* 税率表示 */
  /* ポイント利用 */
  /* ボタンエリア */
}

.ec-totalBox .ec-totalBox__spec {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  border-bottom: 1px solid #eee;
  padding: 0.5em 0.25em;
  margin: 0;
  line-height: 1;
}

.ec-totalBox .ec-totalBox__spec dt {
  font-weight: normal;
}

.ec-totalBox .ec-totalBox__spec dt .ec-font-bold {
  font-weight: normal;
}

.ec-totalBox .ec-totalBox__spec dd {
  text-align: right;
}

.ec-totalBox .ec-totalBox__total {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  border-bottom: 1px solid #eee;
  padding: 0.5em 0.25em;
  line-height: 1;
  font-weight: 500;
  margin: 1em 0 1.5em;
}

.ec-totalBox .ec-totalBox__price {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  font-size: 25.6px;
  font-size: 1.6rem;
  color: #000;
  text-align: right;
  margin-bottom: -3px;
}

.ec-totalBox .ec-totalBox__taxLabel {
  margin-left: 5px;
  font-size: 13.6px;
  font-size: 0.85rem;
  font-weight: normal;
}

.ec-totalBox .ec-totalBox__paymentTotal {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  border-bottom: 1px solid #eee;
  padding: 0.5em 0.25em;
  line-height: 1;
  font-weight: 500;
  margin: 1em 0 1.5em;
}

.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
  color: #e2251f;
}

.ec-totalBox .ec-totalBox__taxRate {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  margin-bottom: .5em;
  font-size: 13.6px;
  font-size: 0.85rem;
}

.ec-totalBox .ec-totalBox__taxRate dt {
  font-weight: normal;
}

.ec-totalBox .ec-totalBox__btn {
  margin-top: 2em;
}

.ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
  margin-bottom: 10px;
}

/*
お知らせ（未使用）

新着情報やバナーなどの掲載項目を紹介していきます。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 8.1
*/
/*
バナー

※定義なし

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 8.2
*/
/*
マイページ

マイページで利用するためのスタイルガイド群です。

メモ：
マイページのほぼすべてのページ（login.twig, navi.twig以外）において、一番外枠に「ec-layoutRole__main」要素が挿入されています。
「ec-layoutRole__main」は、__default_frame.twig__が出力するフレームですので、「ec-layoutRole__main」が2重になっています。
レイアウトには全く影響はないのでスルーしておいてもいいとは思いますが、一応…

「ec-layoutRole__main」は1カラムレイアウト時に出力されるフレームで、2～3カラム時は別のフレームが出力されます。
2～3カラム時は、そのメインカラムの中で1カラム用「ec-layoutRole__main」が入る形になりますが、デザインレイアウト上の問題はありません。
気になる場合はマイページに挿入された「ec-layoutRole__main」を削除するといいと思います。（時期バージョンで解消希望）

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 9.1
*/
/*
マイページ メニューナビ

マイページで表示するメニューナビです。

スマホ時はこのメニューナビを非表示にしています。
代わりに、MENUボタンを配置しそのボタンによりドロワーをOPEN、ドロワー内にマイページのメニューが含まれています。

※スマホ用MENUボタンはjsで生成して挿入するようにしていますが、navi.twigにHTML記述しておいてもいいかもしれません。

使用箇所：
Mypage/navi.twig

Markup:
../styleguide/tmpl/9.1.1.html

Styleguide 9.1.1
*/
.ec-navlistRole {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 1em;
}

.ec-navlistRole .ec-navlistRole__navlist {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.928px;
  font-size: .933rem;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #eee;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

.ec-navlistRole .ec-navlistRole__item {
  property: 27.5%, 72.5%;
  border-left: solid 1px transparent;
  border-image-width: 0 0 0 1px;
  -o-border-image: linear-gradient(to top, transparent 27.5%, #ccc 27.5%, #ccc 72.5%, transparent 72.5%);
     border-image: linear-gradient(to top, transparent 27.5%, #ccc 27.5%, #ccc 72.5%, transparent 72.5%);
  border-image-slice: 1;
  transition: .2s;
}

.ec-navlistRole .ec-navlistRole__item:first-child, .ec-navlistRole .ec-navlistRole__item:hover,
.ec-navlistRole .ec-navlistRole__item:hover + li, .ec-navlistRole .ec-navlistRole__item.active,
.ec-navlistRole .ec-navlistRole__item.active + li {
  -o-border-image: linear-gradient(to top, transparent 0%, transparent 100%);
     border-image: linear-gradient(to top, transparent 0%, transparent 100%);
}

.ec-navlistRole .ec-navlistRole__item a {
  display: block;
  color: inherit;
  padding: .65em 1em;
  text-align: center;
  transition: .3s;
}

.ec-navlistRole .ec-navlistRole__item a:hover {
  text-decoration: none;
  background-color: #eee;
}

.ec-navlistRole .ec-navlistRole__item.active a {
  background-color: #333;
  color: #fff;
}

.ec-navlistRole .mypageMenuBtn {
  display: none;
}

/*
Welcome メッセージ

マイページで表示するログイン名の表示コンポーネントです。

使用箇所：
Mypage/navi.twig

Markup:
../styleguide/tmpl/9.1.3.html

Styleguide 9.1.3
*/
.ec-welcomeMsg {
  margin-bottom: 2em;
  margin-left: -1em;
  font-size: 14.928px;
  font-size: .933rem;
}

.ec-welcomeMsg p {
  display: inline-block;
  margin: 0;
  margin-left: 1em;
}

/*
マイページ：注文履歴一覧

→ _16.1.history.scss
*/
/*
マイページ：お気に入り一覧

使用箇所：
Mypage/favorite.twig

Markup:
../styleguide/tmpl/9.1.4.html

Styleguide 9.1.4
*/
.ec-favoriteRole .ec-favoriteRole__header {
  margin-bottom: 1em;
}

.ec-favoriteRole .ec-favoriteRole__itemList {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ec-favoriteRole .ec-favoriteRole__item {
  position: relative;
}

.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle {
  position: absolute;
  right: 7px;
  top: 7px;
  z-index: 9;
}

.ec-favoriteRole .ec-favoriteRole__item-image {
  margin: 0;
}

.ec-favoriteRole .ec-favoriteRole__item-image img {
  width: 100%;
  height: auto;
}

.ec-favoriteRole .ec-favoriteRole__itemThumb {
  display: block;
  display: block;
  overflow: hidden;
}

.ec-favoriteRole .ec-favoriteRole__itemThumb img {
  transition: .6s;
}

.ec-favoriteRole .ec-favoriteRole__itemThumb:hover img {
  transform: scale(1.1);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.05" /><feFuncG type="linear" slope="1.05" /><feFuncB type="linear" slope="1.05" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.05);
}

.ec-favoriteRole .ec-favoriteRole__itemTitle {
  margin: 0;
  margin-top: .5em;
  font-weight: 700;
}

.ec-favoriteRole .ec-favoriteRole__itemPrice {
  margin: 0;
}

/*
レイアウトフレーム

管理画面のレイアウト管理のブロック配置をレイアウトするスタイリングです。

「.ec-layoutRole」下層の各レイアウトフレームについて定義しています。

* .ec-layoutRole
* .ec-layoutRole\_\_contentTop
* .ec-layoutRole\_\_contents
* .ec-layoutRole\_\_main
* .ec-layoutRole\_\_mainWithColumn
* .ec-layoutRole\_\_mainBetweenColumn
* .ec-layoutRole\_\_left
* .ec-layoutRole\_\_right

当テンプレートは1カラムデザインとなっています。ここでは2～3カラムレイアウト定義は省いて1カラムデザインのみスタイリングしています。

Styleguide 11.1
*/
.ec-layoutRole {
  width: 100%;
  transition: transform 0.3s;
  background: transparent;
}

.ec-layoutRole .ec-layoutRole__contentTop {
  padding: 0;
}

.ec-layoutRole .ec-layoutRole__contents {
  width: 100%;
}

.ec-layoutRole .ec-layoutRole__main {
  width: 100%;
}

/*
レイアウトフレーム（2～3カラム）

当テンプレートは1カラムデザインとなっており、2～3カラムレイアウトは使っておりませんが、
別レイアウトの追加や、またカスタマイズが可能なように定義は準備してあります。

左カラム・右カラムに配置されたブロックは、EC-CUBE4ではモバイル時は（スマホ・タブレット時）非表示扱いのようですが、
当テンプレートではメインフレームの下に配置するようにしてあります。

Styleguide 11.1.1
*/

/*
汎用コンテナ

汎用的なコンテナブロックです。

mixin「コンテナ」を@includeしています。
mixin「コンテナ」は、コンテナ自体のmax-width、左右余白などブロックスタイルの共通スタイリングを施しています。
各セクションの左右余白の統一感はコンテナによってもたらされます。

背景色をブラウザ幅フルに敷く場合は「max-width:100%;」上書きしておいて、コンテナの中にinner的要素を設けてそちらで改めてmax-widthを指定します。

Styleguide 11.1.2
*/
.ec-role {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
マイページコンテナ

マイページ専用のコンテナブロックです。

※当テンプレートでは汎用コンテナと同一です。

Styleguide 11.1.3
*/
.ec-mypageRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
その他コンテナ

その都度、セクションごとに「@include container;」してコンテナ化させています。
上記、マイページコンテナもマイページ定義のscss側に移動したほうがいいかとも思います。

Styleguide 11.1.4
*/
/*
ヘッダー＆ドロワー

Styleguide 11.2
*/
/*
ヘッダーフレーム構造

まずはヘッダーのフレーム構造について定義しています。<br>
ヘッダーは横3列のフレーム構造になっております（デスクトップ時）。
スマホ・タブレット時では左のフレーム（ヘッダーメニュー部分）が非表示になり、代わりにドロワー開閉ボタンが表示される形です。

sg-wrapper:
<div class="ec-layoutRole__header">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/11.2.2.html

Styleguide 11.2.2
*/
.ec-layoutRole__header {
  background-color: #f4f4f4;
}

/* .ec-headerRole フレーム構造 */
.ec-headerRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

/*
ヘッダーナビ

ヘッダーナビは、ヘッダー中央フレームに配置されます。

sg-wrapper:
<div class="ec-layoutRole__header">
  <div class="ec-headerRole">
    <div class="ec-headerRole__center">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.3.html

Styleguide 11.2.3
*/
.ec-headerNav {
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 14px;
  color: #444;
}

.ec-headerNav__item {
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
  /* サブメニュー枠組み */
}

.ec-headerNav__item:last-child {
  margin-right: 0;
}

.ec-headerNav__item > a {
  display: block;
  color: inherit;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  text-decoration: none;
}

.ec-headerNav__item > a:hover {
  text-decoration: none !important;
}

.ec-headerNav__item > a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #444;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: scaleX(0);
  transition: transform .3s;
}

.ec-headerNav__item > a:hover:after {
  transform: scaleX(1);
}

.ec-headerNav__item.has-submenu {
  position: relative;
}

.ec-headerNav__item.has-submenu .submenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: auto;
  min-width: 300px;
  padding-top: 14px;
  /*くちばし分の余白*/
  pointer-events: none;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translate3d(0, -15px, 0);
  transition: .2s;
}

.ec-headerNav__item.has-submenu .submenu__body {
  background-color: #fff;
  color: #000;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
  /* くちばし */
}

.ec-headerNav__item.has-submenu .submenu__body:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 100%;
  left: 15px;
  border: solid 10px transparent;
  border-bottom-color: #fff;
}

.ec-headerNav__item.has-submenu:hover .submenu {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

/* サブメニュー内容（カテゴリツリー） */
.ec-categoryTree {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.ec-categoryTree li {
  margin: 0;
  padding: 0;
  border-bottom: solid 1px #eee;
  white-space: nowrap;
  position: relative;
}

.ec-categoryTree li a {
  display: block;
  padding: 0.2em 0;
  transition: .2s;
  color: inherit;
}

.ec-categoryTree li a:hover {
  text-decoration: none;
  background-color: #f0f1f2;
  padding-left: 3px;
}

.ec-categoryTree li ul.child {
  margin: 0;
  padding: 0;
  list-style-type: none;
  min-width: 10em;
  position: absolute;
  top: .5em;
  left: calc(100% - .5em);
  background-color: #fff;
  color: inherit;
  padding: 20px;
  z-index: 9;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: .2s;
}

.ec-categoryTree li:hover > ul.child {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/*
ドロワー開閉ボタン

ヘッダー左枠に、ヘッダータイトルとドロワー開閉ボタンが格納されます。
ドロワー開閉ボタンはスマホ・タブレット時に表示されます。

Markup:
../styleguide/tmpl/11.2.4.html

Styleguide 11.2.4
*/
/* ドロワーボタン（サイドメニュー開閉ボタン） */
.ec-drawerButton {
  display: block;
  cursor: pointer;
  position: relative;
}

.ec-drawerButton .burger {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #666;
  position: relative;
  top: 50%;
  text-indent: -9999px;
  transition: .3s;
  /* ドロワー（サイドメニュー）表示時 */
}

.ec-drawerButton .burger:before, .ec-drawerButton .burger:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #666;
  position: absolute;
  left: 0;
  transition: .3s;
}

.ec-drawerButton .burger:before {
  top: -8px;
}

.ec-drawerButton .burger:after {
  bottom: -8px;
}

body.have_curtain .ec-drawerButton .burger {
  background-color: transparent;
}

body.have_curtain .ec-drawerButton .burger:before {
  top: 0;
  transform: rotate(225deg);
}

body.have_curtain .ec-drawerButton .burger:after {
  bottom: 0;
  transform: rotate(135deg);
}

/*
ヘッダータイトル

ヘッダー左枠に、ヘッダータイトルとドロワー開閉ボタンが格納されます。

sg-wrapper:
<div class="ec-layoutRole__header">
  <div class="ec-headerRole">
    <div class="ec-headerRole__left">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.5.html

Styleguide 11.2.5
*/
.ec-headerTitle {
  display: block;
  /* 
   * デスクトップ時はページスクロールされるとヘッダー高さを縮小させますので、縮小に伴い、
   * ヘッダーロゴ画像が連動して縮小されるようにスタイリングします。
   * ロゴ画像自体の高さ（Sass変数）をmax-heightに設定しておくことでロゴ画像が引き延ばされて大きくならないようにしています。
   *
   * ロゴ画像のデザインにもよりますが、モバイル時のロゴの収まりも優先して画像生成して、デスクトップ時はそれに合わせて調整（上下中央配置）できた方がいいと思います。
   */
}

.ec-headerTitle a {
  transition: .3s;
}

.ec-headerTitle a:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}

/*
ヘッダーメニュー（ユーザメニュー）

ヘッダーメニューは、ヘッダー右枠フレームに配置されます。<br>
会員登録、ログインや、商品検索、カートといったユーザメニューが含まれます。<br>
またマウスホバーでボタンガイド的なポップアップを表示させる事もできます。

sg-wrapper:
<div class="ec-layoutRole__header">
  <div class="ec-headerRole">
    <div class="ec-headerRole__right">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.6.html

Styleguide 11.2.6
*/
.ec-headerMenu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  font-size: 14px;
  color: #444;
}

.ec-headerMenu .ec-headerMenu__item {
  padding: 0;
  /* スマホ時に非表示とするボタン */
  /* 最後のitemは右余白を除去 */
}

.ec-headerMenu .ec-headerMenu__item > a {
  display: block;
  color: inherit;
  line-height: 1;
  padding: 7px 7px;
  border-radius: 18px;
  border: solid 1px transparent;
  transition: .2s;
}

.ec-headerMenu .ec-headerMenu__item > a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.07);
}

.ec-headerMenu .ec-headerMenu__item:last-child {
  padding-right: 0;
}

.ec-headerMenu .ec-headerMenu__itemIcon {
  font-size: 20px;
}

.ec-headerMenu .ec-headerMenu__itemText {
  line-height: 20px;
}

/* ポップアップ */
.ec-headerMenu .ec-headerMenu__item.has-popup {
  position: relative;
}

.ec-headerMenu .ec-headerMenu__item.has-popup:hover .ec-headerMenu__itemPopup {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translate3d(-50%, 0, 0);
  pointer-events: auto;
}

.ec-headerMenu .ec-headerMenu__itemPopup {
  position: absolute;
  top: 100%;
  left: 50%;
  width: auto;
  min-width: 200px;
  padding-top: 15px;
  /*くちばし分の余白*/
  pointer-events: none;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translate3d(-50%, -15px, 0);
  transition: .2s;
}

.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner {
  background-color: #fff;
  color: #000;
  padding: 20px;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
  /* くちばし */
}

.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner:after {
  content: "";
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-bottom-color: #fff;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

/*
商品検索ボックス

ヘッダーメニューにある虫眼鏡ボタンをクリックする事で表示される商品検索ボックスのコンポーネントです。

※当テンプレートでは商品検索ボックスはヘッダーのみに実装する考えです。モバイル時でも検索ボックスの開閉ボタンがヘッダーにあります。

一応、ドロワー内にも「商品検索」ブロックは設置可能です（最低限のスタイリングはしています）。

sg-wrapper:
<div class="ec-layoutRole__header">
  <div class="ec-headerRole">
    <div class="__ec-headerRole__right">
      <div class="ec-headerMenu">
        <sg-wrapper-content/>
      </div>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.7.html

Styleguide 11.2.7
*/
.ec-headerSearch {
  /* 検索ボックス開閉ボタン */
  /* 検索ボックス全体枠 */
  /* 検索ボックス：カテゴリ&入力欄 レイアウト枠 */
  /* 検索ボックス：カテゴリ選択 */
  /* 検索ボックス：入力欄 */
  /* 検索ボタン */
}

.ec-headerSearch .ec-headerSearch__wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  background-color: #ccc;
  padding: 5px;
}

.ec-headerSearch .ec-headerSearch__category {
  margin-right: 1px;
}

.ec-headerSearch .ec-headerSearch__category .ec-select, .ec-headerSearch .ec-headerSearch__category .ec-birth {
  margin: 0;
}

.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui:after, .ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui:after {
  display: none;
}

.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui select, .ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui select {
  display: block;
  font-size: 13px;
  height: 40px;
  padding: 5px 0.7em !important;
  background-color: #fff;
  border: none;
}

.ec-headerSearch .ec-headerSearch__keyword {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
}

.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
  border: none;
  margin: 0;
  border-radius: 0;
  font-size: 13px;
  height: 40px;
  padding-left: 1em;
  padding-right: 40px;
}

.ec-headerSearch .ec-headerSearch__keywordBtn {
  border: none;
  background: none;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  font-size: 20px;
  color: #555;
}

/*
ヘッダーメニューに設置した商品検索コンポーネントのスタイリング
「商品検索ブロック」はレイアウト管理でドロワー内にも設置可能なので、お互いにスタイリングが汚染影響しないようヘッダーメニュー内に限定したスタイリングを施す
*/
.ec-headerMenu {
  /* 検索ボックス全体枠 */
}

.ec-headerMenu .ec-headerSearch__body {
  position: absolute;
  top: 100%;
  z-index: 998;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translate3d(0, -15px, 0);
  transition: .3s;
}

.ec-headerMenu .ec-headerSearch__body.is-active {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translate3d(0, 0, 0);
}

/*
ドロワー内に設置した商品検索コンポーネントのスタイリング
※当テンプレートでは商品検索はヘッダーのみの仕様ですが、一応、ドロワー用スタイリングも最低限なものを用意しています。
*/
.ec-drawerRole .ec-headerSearch {
  padding: 20px 0;
  /* 検索ボックス全体枠 */
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__button {
  display: none;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__wrap {
  -ms-flex-flow: column;
      flex-flow: column;
  -ms-flex-align: start;
      align-items: flex-start;
  padding: 0;
  background: none;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__category {
  margin: 0;
  margin-bottom: 5px;
  width: 100%;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__category select {
  width: 100%;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword {
  width: 100%;
}

/*
カートナビゲーション

カートインがあればカートアイコンに数量をバッジ表示します。<br>
カートボタンにマウスオンでカートナビゲーション（カート内容詳細）を表示します。

sg-wrapper:
<div class="ec-layoutRole__header">
  <div class="ec-headerRole">
    <div class="ec-headerRole__right">
      <div class="ec-headerMenu">
        <sg-wrapper-content/>
      </div>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.8.html

Styleguide 11.2.8
*/
.ec-cartNavi {
  position: relative;
  /* カート数バッジ */
  /* カート内容詳細ポップアップ枠組み */
}

.ec-cartNavi a {
  /* ボタンが小さい分、クリックカブル領域を少し拡張しておきたい理由と、同時に、
     * この余白分がバッジの右へずらす量、位置決めにもなっています。
     * これによりバッジ全体がクリック領域に含まれるので収まりもいいと思います。
     */
  padding-right: 0.75em;
}

.ec-cartNavi .ec-cartNavi__badge {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 10px;
  line-height: 1;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  background-color: #f55;
  color: #fff;
  pointer-events: none;
  position: absolute;
  top: 0px;
  right: 0px;
}

.ec-cartNavi .ec-cartNavi__body {
  position: absolute;
  top: 100%;
  right: 0;
  width: 320px;
  display: inline-block;
  padding-top: 14px;
  /*くちばし分の余白*/
  pointer-events: none;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translate3d(0, -15px, 0);
  transition: .2s;
}

.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap {
  background-color: #fff;
  color: #000;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
  /* くちばし */
}

.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 100%;
  right: 10px;
  border: solid 10px transparent;
  border-bottom-color: #fff;
}

.ec-cartNavi:hover .ec-cartNavi__body {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

/*
カートナビゲーションのポップアップ(カートイン在り)

カートに商品が追加されている場合のカートナビゲーションのスタイリングです。

sg-wrapper:
<div class="ec-cartNavi">
  <div class="ec-cartNavi__body" style="position:static;visibility:visible; opacity:1;">
    <div class="ec-cartNaviWrap">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.9.html

Styleguide 11.2.9
*/
.ec-cartNaviIsset {
  font-size: 13px;
  /* 商品画像 */
  /* カート削除ボタン */
  /* 商品詳細 */
  /* 商品名 */
  /* 商品規格 */
  /* 商品価格 */
}

.ec-cartNaviIsset .ec-cartNaviIsset__cart {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #eee;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
  -ms-flex: 0 0 90px;
      flex: 0 0 90px;
  -ms-flex-order: 2;
      order: 2;
  position: relative;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartImage > a {
  display: block;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a {
  position: absolute;
  top: -10px;
  right: -10px;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a:after {
  font-family: "jeiafont";
  content: "\e918";
  display: block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 14px;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
  color: #333;
  border: solid 1px #aaa;
  box-sizing: border-box;
  cursor: pointer;
  transform: translate3d(0, 0, 0);
  transition: .2s;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a:hover:after {
  text-decoration: none;
  transform: translate3d(0, 1px, 0);
  box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.3);
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a:hover {
  text-decoration: none;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  -ms-flex-order: 1;
      order: 1;
  padding-right: 10px;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTitle {
  margin-bottom: 0.5em;
  font-weight: 700;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentClass {
  margin: 0;
  margin-left: 10px;
  margin-bottom: 0.5em;
  font-size: 0.85em;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice {
  display: inline-block;
  vertical-align: bottom;
  margin-left: 10px;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .price {
  display: inline-block;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .tax {
  display: inline-block;
  font-size: 0.85em;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .quantity {
  display: inline-block;
  margin-left: 10px;
}

.ec-cartNaviIsset .ec-cartNaviIsset__TotalPrice {
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  font-size: 1.1em;
  font-weight: 500;
}

.ec-cartNaviIsset .ec-cartNaviIsset__TotalPrice dt {
  font-weight: inherit;
}

.ec-cartNaviIsset .ec-cartNaviIsset__action {
  margin-top: 30px;
}

.ec-cartNaviIsset .ec-cartNaviIsset__action .ec-blockBtn--action {
  background-color: #000;
  color: #fff;
  border: none;
}

/*
カートナビゲーションのポップアップ(カートイン無し)

カートが空の状態でのカートナビゲーションのスタイリングです。

sg-wrapper:
<div class="ec-cartNavi">
  <div class="ec-cartNavi__body" style="position:static;visibility:visible; opacity:1;">
    <div class="ec-cartNaviWrap">
      <sg-wrapper-content/>
    </div>
  </div>
</div>

Markup:
../styleguide/tmpl/11.2.10.html

Styleguide 11.2.10
*/
.ec-cartNaviNull {
  font-size: 13px;
}

.ec-cartNaviNull .ec-cartNaviNull__message {
  text-align: center;
}

.ec-cartNaviNull .ec-cartNaviNull__message p {
  margin: 0;
}

/*
ドロワー

スマホ・タブレット時に出現するドロワー（サイドメニュー）コンポーネントです。

ここではドロワーの枠組みを定義しています。<br>
EC-CUBE標準ではドロワーOPEN時はドロワー閉ボタンも表示されますが当テンプレートではヘッダーにあるドロワー開閉ボタンがありますので他の閉ボタンは排除しています。

ドロワーOPEN時にはページコンテンツを暗くするカーテンが表示されます。<br>
またその際、ページコンテンツをぼかすエフェクトも追加しています（デバイス幅が420px以上でコンテンツが見えます）。不要なら削除してください。

sg-wrapper:
<div style="position:static">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/11.2.11.html

Styleguide 11.2.11
*/
.ec-drawerRole {
  position: fixed;
  width: 100%;
  max-width: 420px;
  left: 0;
  z-index: 1000;
  box-sizing: border-box;
  overflow-y: scroll;
  background-color: #f4f4f4;
  color: #444;
  visibility: hidden;
  transform: translate3d(-100%, 0, 0);
  transition: .3s;
  /* 当テンプレートではヘッダーが上部固定でありヘッダー内のドロワー開閉ボタンを活かしたいので、ドロワーをヘッダーの高さ分だけ短くしておく */
}

.ec-drawerRole.is-active {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

/* ドロワー閉ボタン（※不使用） */
.ec-drawerRoleClose {
  display: none;
}

/* ドロワー背景カーテン */
.ec-overlayRole {
  position: fixed;
  width: 100%;
  left: 0;
  background: rgba(0, 0, 0, 0.75);
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: .4s;
  /* ドロワーと同様、ヘッダーが上部固定仕様でありヘッダー内にあるドロワー開閉ボタンを活かしたいので、
   * 背景かーテンもヘッダーの高さ分だけ短くしておく
   */
  /* 表示状態 */
}

.have_curtain .ec-overlayRole {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/* 背景下のページコンテンツをぼかす（不要なら削除） */
.ec-layoutRole > *:not(.ec-layoutRole__header) {
  transition: .4s;
}

.have_curtain .ec-layoutRole > *:not(.ec-layoutRole__header) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3" /></filter></svg>#filter');
  filter: blur(3px);
}

/*
ドロワーメニュー

ドロワーの中身をこちらでスタイリングしています。<br>
中身のコンテンツはブロック「ログインナビ（SP)」（login_sp.twig）になります。このブロックの中にすべてのコンテンツを記述しています。

EC-CUBE標準だと検索、カテゴリ、各メニューがそれぞれブロックで分離されておりますが、
メニュー差替え等のカスタマイズがわかりやすくなるよう「ログインナビ（SP)」ブロック1つで実装する形にしています。

Styleguide 11.2.12
*/
.ec-drawerMenu {
  font-size: 14.856px;
  font-size: 0.9285rem;
  /*
  カテゴリ折り畳み表示
  商品カテゴリとマイページカテゴリにて使用
  */
  /* ドロワーフッターナビ */
}

.ec-drawerMenu .ec-drawerMenu__item {
  border-bottom: dotted 1px rgba(0, 0, 0, 0.4);
}

.ec-drawerMenu .ec-drawerMenu__item a {
  display: block;
  padding: 0.75em 0;
  color: inherit;
  position: relative;
}

.ec-drawerMenu .ec-drawerMenu__itemIcon {
  display: inline-block;
  vertical-align: middle;
  color: #666;
  margin-left: 5px;
}

.ec-drawerMenu .ec-drawerMenu__itemBadge {
  display: inline-block;
  font-size: 10px;
  line-height: 1.6em;
  width: 1.6em;
  height: 1.6em;
  text-align: center;
  border-radius: 50%;
  background-color: #f55;
  color: #fff;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  pointer-events: none;
}

.ec-drawerMenu .ec-drawerMenu__item.has-category {
  position: relative;
}

.ec-drawerMenu .ec-drawerMenu__category ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.ec-drawerMenu .ec-drawerMenu__category ul li {
  margin: 0;
  padding: 0;
}

.ec-drawerMenu .ec-drawerMenu__category ul li a {
  display: block;
  padding: .5em 0;
  color: inherit;
}

.ec-drawerMenu .ec-drawerMenu__category ul li.has-child {
  position: relative;
}

.ec-drawerMenu .ec-drawerMenu__category ul.parent {
  display: none;
  margin-bottom: 1em;
}

.ec-drawerMenu .ec-drawerMenu__category ul.parent > li > a:before {
  font-family: "jeiafont";
  content: "\e91a";
  color: #666;
}

.ec-drawerMenu .ec-drawerMenu__category ul.child {
  margin-left: .75em;
  padding-left: .75em;
  border-left: solid 1px rgba(0, 0, 0, 0.2);
  display: none;
}

.ec-drawerMenu .ec-drawerMenu__category .categoyOpenBtn:after {
  font-family: "jeiafont";
  content: "\e902";
  font-size: 1em;
  display: block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  cursor: pointer;
  text-align: center;
  position: absolute;
  top: 0.5em;
  right: 0;
  transition: .2s;
}

.ec-drawerMenu .ec-drawerMenu__category .categoyOpenBtn.is-open:after {
  transform: rotate(90deg);
}

.ec-drawerMenu.footerNav {
  margin-top: 20px;
}

/*
ヘッダーの挙動

__ヘッダー挙動 その１__

当テンプレートではヘッダーをページ上部に固定させる仕様となっております。
ヘッダーを固定しますので、.ec-layoutRoleに上部余白を設けておく必要があります。

またデスクトップ時はページスクロールが発生するとヘッダーの高さを縮小させます。

__ヘッダー挙動 その２__

デスクトップ時のみの挙動ですが、
トップページ以外ではヘッダーの背景色は、ドロワーと同じ色になります（黒系）。
トップページのみ、トップスライダーとヘッダーが被る形となりその際ヘッダー背景は透過状態になります。
ただし、ページスクロールが発生するとヘッダー背景色はその他ページと同じ黒系背景色になります。

以下、挙動ごとにスタイリングを施します。

Styleguide 11.2.90
*/
/*
ヘッダー挙動 その１

当テンプレートではヘッダーをページ上部に固定させる仕様となっております。
ヘッダーを固定しますので、.ec-layoutRoleに上部余白を設けておく必要があります。

またデスクトップ時はページスクロールが発生するとヘッダーの高さを縮小させます。

Styleguide 11.2.91
*/
.ec-layoutRole .ec-layoutRole__header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /*z-index: 1001;*/
  z-index: 900;
}

/*
ヘッダー挙動 その２

デスクトップ時のみの挙動ですが、
トップページ以外ではヘッダーの背景色は、ドロワーと同じ色になります（黒系）。
トップページのみ、トップスライダーとヘッダーが被る形となりその際ヘッダー背景は透過状態になります。
ただし、ページスクロールが発生するとヘッダー背景色はその他ページと同じ黒系背景色になります。

Styleguide 11.2.92
*/

/*
.ec-layoutRole__header {
  background-color: $clrHeaderBase;// モバイル時にヘッダーとドロワーがくっついて表示させるため色を統一
  
  .ec-headerNav {
    color: $clrHeaderText;

    &.has-submenu {
      .submenu {
        &__body {
          background-color: #ecc;//#fff;
          color: #333;

          &:after {
            border-bottom-color: #c00;//#fff;
          }
        }
      }
    }
  }

  .ec-categoryTree {
    li a:hover {
      background-color: #f0f1f2;
    }

    ul.child {
      background-color:#fff;
    }
  }

  .ec-drawerButton {
    .burger {
      background-color: #fff;
    }

    &:before,
    &:after {
      background-color: #fff;
    }
  }

  .ec-headerMenu {
    color: #000;

    & &__item a:hover {
      background-color: rgba(255, 255, 255, 0.5);
    }

    & &__itemPopup {
      .itemPopupInner {
        background-color:#fff;
        color: #333;

        &:after {
          border-bottom-color: #fff;
        }
      }
    }
  }
}
*/
/*
フッター

全ページで使用されるフッターのプロジェクトコンポーネントです。

フッターガイド、フッターナビ、フッタータイトルの3段構成です。

※ページコンテンツ本体（.ec-layoutRole__contents）とフッターとの余白は、`.ec-layoutRole__footer`に持たせてあります。

Markup:
../styleguide/tmpl/11.3.html

Styleguide 11.3
*/

.ec-footerRole {
  background-color: #000;
  color: #aaa;
}

/*
フッターガイド

Markup:
../styleguide/tmpl/11.3.1.html

sg-wrapper:
<div class="ec-footerRole">
  <div class="ec-footerRole__inner">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.3.1
*/
.ec-footerGuide {
  background-color: #1f1f1f;
}

.ec-footerGuide .ec-footerGuide__inner {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
  margin: 0 auto;
}

.ec-footerGuide .ec-footerGuide__wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
}

.ec-footerGuide .ec-footerGuide__item {
  -ms-flex: 0 0 33.3%;
      flex: 0 0 33.3%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  border-left: solid 1px rgba(255, 255, 255, 0.2);
}

.ec-footerGuide .ec-footerGuide__item:first-child {
  border-left: none;
}

.ec-footerGuide .ec-footerGuide__itemIcon {
  font-size: 28.8px;
  font-size: 1.8rem;
  margin-right: 20px;
}

.ec-footerGuide .ec-footerGuide__itemText h3 {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.154em;
  color: #fff;
  margin: 0;
  margin-bottom: 0.5em;
}

.ec-footerGuide .ec-footerGuide__itemText p {
  margin: 0;
}

/*
フッターナビ

Markup:
../styleguide/tmpl/11.3.2.html

sg-wrapper:
<div class="ec-footerRole">
  <div class="ec-footerRole__inner">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.3.2
*/
.ec-footerNavi {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
  /* 各カラム */
  /* リスト */
}

.ec-footerNavi .ec-footerNavi__wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.ec-footerNavi .ec-footerNavi__item {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
}

.ec-footerNavi .ec-footerNavi__item h3 {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  color: #fff;
  margin: 0;
  margin-bottom: 1em;
}

.ec-footerNavi .ec-footerNavi__itemList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ec-footerNavi .ec-footerNavi__itemList li a {
  display: block;
  padding: 0.3em 0;
  color: inherit;
}

/* フッターロゴ */
.ec-footerLogo {
  max-width: 170px;
}

.ec-footerLogo a {
  display: block;
}

/* フッターアドレス（CONTACT US） */
.ec-footerAddress {
  margin: 0;
}

.ec-footerAddress h4 {
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1em;
  margin: 0;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  color: inherit;
}

.ec-footerAddress .ec-footerAddress__icon {
  font-size: 1.5em;
  margin-right: 4px;
}

.ec-footerAddress .ec-footerAddress__icon + span {
  color: #fff;
}

.ec-footerAddress a {
  color: inherit;
}

/*
フッター ソーシャルボタン

Markup:
../styleguide/tmpl/11.3.3.html

sg-wrapper:
<div class="ec-footerRole">
  <div class="ec-footerRole__inner">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.3.3
*/
.ec-footerSocial {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
  padding-top: 20px;
}

.ec-footerSocial .ec-footerSocial__itemList {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.ec-footerSocial .ec-footerSocial__itemList li {
  display: inline-block;
  margin: 5px;
  /* 各ソーシャルボタン毎に色付け（スマホ・タブレット時のみ） */
  /* デスクトップ時はマウスオーバーで色が付くようにします */
}

.ec-footerSocial .ec-footerSocial__itemList li a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  font-size: 24px;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
}

.ec-footerSocial .ec-footerSocial__itemList li a:hover {
  text-decoration: none;
  color: #fff;
}

.ec-footerSocial .ec-footerSocial__itemList li i {
  display: block;
}

/*
フッタータイトル

Markup:
../styleguide/tmpl/11.3.4.html

sg-wrapper:
<div class="ec-footerRole">
  <div class="ec-footerRole__inner">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.3.4
*/
.ec-footerTitle {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  text-align: center;
  line-height: 1.2;
}

.ec-footerTitle .ec-footerTitle__logo {
  font-size: 1.5em;
  color: #fff;
  margin-bottom: 0.5em;
}

.ec-footerTitle .ec-footerTitle__logo a {
  color: inherit;
}

.ec-footerTitle .ec-footerTitle__copyright {
  font-size: 12px;
}

/*
slick

トッププロモーションや商品ビジュアル画像、商品リストのスライド表示にはEC-CUBE4標準と同じく「slick」を使用しています。

slickを適用する要素は共通してclass「.ec-slickContainer」を設置してその要素に対して適用させるようにしています。

slick適用要素は、slickの準備ができるまではエリアを非表示としておき、準備が整ってからフェードイン表示としています。
非表示にしておく理由は、画像が一瞬大きく表示されてしまうのを避けるためです。
画像遅延ロード「lazyLoad」を使うのも良いかもしれません。

メモ：
slickの準備ができてから表示を開始するにあたって、「.ec-slickContainer」と「.slick-slider」は同じ要素になるので、ならば、
「.slick-slider」に対してスタイリングをまとめたほうがすっきりして良いかと思いましたが、このclassはslickが準備中に付けるもので
タイミングが合わない理由からやはりHTMLに最初から記述されている「.ec-slickContainer」に対して準備完了を見るスタイリングをしています。

Markup:
../styleguide/tmpl/12.0.1.html

Styleguide 12.0.1
*/
.ec-slickContainer {
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
  filter: blur(5px);
  transition: 1s;
}

.ec-slickContainer.slick-initialized {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  filter: blur(0);
}

/*
slick用パーツ

slick用パーツの共通スタイリングです。

* prev,nextボタン
* ドットボタン
* slickガター
* prev, nextボタン（slick領域外側配置）
* キャプション表示

Styleguide 12.0.2
*/
/*
prev,nextボタン

ボタンを画像に被せて左右に配置するるタイプのスタイリングです。
もしボタンをslick適用領域の外側に配置する場合は後述の「slickArrowOuter」を適用してください。

Markup:
../styleguide/tmpl/12.0.3.html

Styleguide 12.0.3
*/
.slick-slider {
  position: relative;
}

.slick-slider .slick-arrow {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 9;
  font-size: 48px;
  font-size: 3rem;
  color: #fff;
  cursor: pointer;
  opacity: .5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  transition: .2s;
}

.slick-slider .slick-arrow.slick-prev {
  left: 0;
}

.slick-slider .slick-arrow.slick-next {
  right: 0;
}

.slick-slider .slick-arrow:hover {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/*
ドットボタン

Markup:
../styleguide/tmpl/12.0.4.html

Styleguide 12.0.4
*/
.slick-slider .slick-dots {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  padding-top: 22.5px;
}

.slick-slider .slick-dots li {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #555;
  cursor: pointer;
}

.slick-slider .slick-dots li button {
  display: none;
}

.slick-slider .slick-dots li.slick-active {
  background-color: #619fbe;
}

.slick-slider .slick-dots li + li {
  margin-left: 10.5px;
}

/*
slickガター

slick適用内のアイテム間にガター（間隔）を設けます。

slickを適用する要素（基本は.ec-ec-slickContainer）に併せてclass「slickGutter」を記述しておきます。

※なお、レスポンシブでデバイス事にガター幅を可変できるようにmixin化しています。

メモ：
普通に、.slick-slide要素にマージンを設定し、先祖要素である.slick-listにネガティブマージンを設定して調整します。
しかし、それだけではスライド時に左側にわずかに商品アイテムがはみ出した形で見えてしまいます。これを防ぐ為には、
slick適用の要素（基本は.ec-ec-slickContainer）に「overflow:hidden;」すれば解決しますが、
prev,nectボタンをslick領域の外側に配置したい場合があり（position:absolute;で外に出しています）、overflowだと
この外側に配置したpreve,nextボタンが隠されてしまい見えない事になります。
ですので、ネガティブマージンをかけた.slick-list要素に「clip-path」プロパティを使い表示領域をクリップすることで対応しています。

※IE11、Edgeはclip-path非対応なのでクリップパスは適用されず結果、スライド時に左側が少しはみ出して見えます（2019/09）

Markup:
../styleguide/tmpl/12.0.5.html

Styleguide 12.0.5
*/
.slickGutter .slick-list {
  margin-left: -10px;
  -webkit-clip-path: inset(0 0 0 10px);
          clip-path: inset(0 0 0 10px);
}

.slickGutter .slick-list .slick-slide {
  margin-left: 10px;
}

/*
prev, nextボタン（slick領域外側配置）

slick適用領域の外側にprev,nextボタンを配置するタイプのスタイリングです。
スマホ・タブレット時はslick領域の上部の外、右側につめて配置させます。

slickを適用する要素（基本は.ec-slickContainer）に併せてclass「slickArrowOuter」を記述しておきます。

Markup:
../styleguide/tmpl/12.0.6.html

Styleguide 12.0.6
*/
.slickArrowOuter .slick-arrow {
  color: #666;
}

.slickArrowOuter .slick-arrow:hover {
  color: #333;
}

/*
slick キャプション表示

slick適用の各アイテムの中に「.caption」要素（説明文）を記述しておくと画像に被さる形でテキストが表示されます。

商品詳細ページでは、slickを適用する画像ビジュアル部分が動的に出力されますのでキャプション要素を追加できませんが、
フリーエリア内にてキャプション要素を記述しておき、javascirptで各キャプションを各画像アイテム内に挿入させて実装しています。

ここでのスタイリングは汎用の意味で商品詳細ページでのキャプション表示を想定してスタイリングしています。
ヘッドプロモーション（トップページ）は、このスタイリングをStyleguide 12.1にて上書きしてトッププロモーション用に調整しています。

Markup:
../styleguide/tmpl/12.0.7.html

Styleguide 12.0.7
*/
.slick-slider .slick-slide {
  position: relative;
}

.slick-slider .slick-slide .caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  font-size: 14.928px;
  font-size: .933rem;
  color: #000;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 1em;
  box-sizing: border-box;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: translate3d(0, 100%, 0);
  transition: .5s;
  transition-delay: .5s;
}

.slick-slider .slick-slide.slick-current .caption {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  transform: translate3d(0, 0, 0);
}

/*
トップページ ヘッドプロモーション

slickを使用してスライド表示します。

slickキャプション表示と、ドットボタンについては、上記のslick用パーツの定義を上書き調整してスタイリングしています。

JEIA4005ではサムネイル表示を付けています。

使用箇所：
index.twig

Markup:
../styleguide/tmpl/12.1.html

Styleguide 12.1
*/
.ec-headPromotionRole {
  /* サムネイル表示 */
}

.ec-headPromotionRole .ec-slickContainer {
  /* slickパーツ定義したキャプション表示を上書きしてヘッドプロモーション用に調整 */
  /* ドットボタンの形状と位置を上書き調整 */
  /*
    .slick-dots {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 1.5rem;

      li {
        width: 40px;
        height: 7px;
        border-radius: 0;
      }
    }
    */
}

.ec-headPromotionRole .ec-slickContainer .caption {
  color: #000;
  background-color: transparent;
  padding: 0;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  line-height: 1.3;
  transform: translate3d(0, 1em, 0);
  transition: .5s;
  transition-delay: 1s;
}

/*
アイキャッチ

トップページで使用されているアイキャッチブロックのスタイルです。

使用箇所：
* Block/eyecatch.twig

Markup:
../styleguide/tmpl/12.2.html

Styleguide 12.2
*/
.ec-eyecatchRole {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  /* メインタイトル（英字）*/
  /* 日本語タイトル */
  /* 説明文 */
  /* 詳細ボタン */
}

.ec-eyecatchRole .ec-eyecatchRole__intro {
  margin: 0 auto;
  box-sizing: content-box;
  max-width: 700px;
  text-align: center;
  color: #fff;
}

.ec-eyecatchRole h2 {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  color: inherit;
}

.ec-eyecatchRole .ec-eyecatchRole__introTitle {
  font-size: 24px;
  font-size: 1.5rem;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.ec-eyecatchRole .ec-eyecatchRole__introDescriptiron {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  text-align: justify;
}

.ec-eyecatchRole .ec-blockBtn {
  width: 20em;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

/*
ボタン（未使用）

トップページで使用されているボタンのスタイルです。

ボタンスタイルは「_2.1.buttonsize.scss」でサイト内のすべてのボタンをスタイリングする仕様と思われますが、
こちらではトップページ用に別のボタンスタイリングを用意するという事なのだと思います。

Styleguide 12.3
*/
/*
通常ボタン（未使用）

EC-CUBE4ではトップページの新着情報ブロックで使われていますが、当テンプレートでは新着情報ブロックを編集しており、
このボタンスタイルは使用していません。結果、未使用のパーツとなります。

使用箇所：なし

Markup:
../styleguide/tmpl/12.3.1.html

Styleguide 12.3.1
*/
.ec-inlineBtn--top {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: white;
  background-color: black;
  border-color: black;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}

.ec-inlineBtn--top:focus, .ec-inlineBtn--top.focus {
  color: white;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-inlineBtn--top:hover {
  text-decoration: none;
  color: white;
  background-color: black;
  border-color: black;
}

.ec-inlineBtn--top.disabled, .ec-inlineBtn--top[disabled],
fieldset[disabled] .ec-inlineBtn--top {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-inlineBtn--top.disabled:hover, .ec-inlineBtn--top.disabled:focus, .ec-inlineBtn--top.disabled.focus, .ec-inlineBtn--top[disabled]:hover, .ec-inlineBtn--top[disabled]:focus, .ec-inlineBtn--top[disabled].focus,
fieldset[disabled] .ec-inlineBtn--top:hover,
fieldset[disabled] .ec-inlineBtn--top:focus,
fieldset[disabled] .ec-inlineBtn--top.focus {
  background-color: #999;
  border-color: #999;
}

.ec-inlineBtn--top .badge {
  color: black;
  background-color: white;
}

/*
ロングボタン（未使用）

EC-CUBE4ではトップページのアイキャッチブロックで使われていますが、当テンプレートではアイキャッチブロックを編集しており、
このボタンスタイルは使用していません。結果、未使用のパーツとなります。

使用箇所：なし

Markup:
../styleguide/tmpl/12.3.2.html

Styleguide 12.3.2
*/
.ec-blockBtn--top {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: white;
  background-color: black;
  border-color: black;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  height: 56px;
  line-height: 56px;
  padding-top: 0;
  padding-bottom: 0;
}

.ec-blockBtn--top:focus, .ec-blockBtn--top.focus {
  color: white;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

.ec-blockBtn--top:hover {
  text-decoration: none;
  color: white;
  background-color: black;
  border-color: black;
}

.ec-blockBtn--top.disabled, .ec-blockBtn--top[disabled],
fieldset[disabled] .ec-blockBtn--top {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

.ec-blockBtn--top.disabled:hover, .ec-blockBtn--top.disabled:focus, .ec-blockBtn--top.disabled.focus, .ec-blockBtn--top[disabled]:hover, .ec-blockBtn--top[disabled]:focus, .ec-blockBtn--top[disabled].focus,
fieldset[disabled] .ec-blockBtn--top:hover,
fieldset[disabled] .ec-blockBtn--top:focus,
fieldset[disabled] .ec-blockBtn--top.focus {
  background-color: #999;
  border-color: #999;
}

.ec-blockBtn--top .badge {
  color: black;
  background-color: white;
}

/*
セクション見出し

トップページで使用されているセクションの見出しのスタイルです。

当テンプレートでは特集商品ブロック（Block/new_item.twig）と新着情報ブロックで使用しています。
トップページ用となっていますが、他ページのセクションブロックでも流用される事は十分にあるものと思います。
（※その意味では「_1.1.heading.scss」に属させるべきものかもしれませんが）

使用箇所：
Block/news.twig
Block/new_item.twig

Markup:
../styleguide/tmpl/12.4.html

Styleguide 12.4
*/
.ec-secHeading {
  text-align: center;
  line-height: 1.2;
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.ec-secHeading .ec-secHeading__maintitle {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0;
}

.ec-secHeading .ec-secHeading__subtitle {
  font-size: 14.928px;
  font-size: 0.933rem;
  color: #666;
  margin-top: 1em;
}

/*
トピック

トップページで使用されているトピックブロックのスタイルです。

トピックとしてピックアップしたいカテゴリや商品等、4点を表示します。

画像間の余白は変更可能です。余白に合わせて各アイテム領域のサイズは調整されます。

使用箇所：
* Block/topic.twig

Markup:
../styleguide/tmpl/12.5.html

Styleguide 12.5
*/
.ec-topicRole .ec-topicRole__list {
  padding: 0;
  overflow: hidden;
}

.ec-topicRole .ec-topicRole__list:after {
  content: "";
  display: table;
  clear: both;
}

.ec-topicRole .ec-topicRole__listItem {
  float: left;
  height: 0;
  position: relative;
}

.ec-topicRole .ec-topicRole__listItem a {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ec-topicRole .ec-topicRole__listItem a .pic {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: .6s;
}

.ec-topicRole .ec-topicRole__listItem a:hover {
  text-decoration: none;
}

.ec-topicRole .ec-topicRole__listItem:nth-child(1) {
  width: 30%;
  padding-top: 40%;
  margin-right: 0px;
}

.ec-topicRole .ec-topicRole__listItem:nth-child(2) {
  width: calc(35% - 0px);
  padding-top: 20%;
}

.ec-topicRole .ec-topicRole__listItem:nth-child(3) {
  width: calc(35% - 0px);
  padding-top: 20%;
  margin-left: 0px;
}

.ec-topicRole .ec-topicRole__listItem:nth-child(4) {
  width: calc(70% - 0px);
  padding-top: calc(20% - 0px);
  margin-top: 0px;
}

/*
特集商品・特集カテゴリ

トップページで使用されている特集商品「FEATURED PRODUCTS」と特集カテゴリ「FEATURED CATEGORY」ブロックのスタイルです。

「特集商品」と「特集カテゴリ」はそれぞれ別ブロックとして分離すべきですが、デザインテンプレートではブロックを追加できませんので、
「特集商品」ブロックの中に、「特集カテゴリ」のコードを記述する形をとっています。

Styleguide 12.6
*/
/*
特集商品「FEATURED PRODUCTS」

トップページで使用されている特集商品「FEATURED PRODUCTS」ブロックのスタイルです。

使用箇所：
* Block/new_item.twig

Markup:
../styleguide/tmpl/12.6.1.html

Styleguide 12.6.1
*/
.ec-featuredProductsRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
  /* タイトルとサブタイトルの文字色を上書き（当ブロックのタイトル部はセクション見出し「.ec-secHeading」（12.4.heading.scss）を使っています。必要に応じて上書き調整します */
  /* 商品アイテムスタイルを上書き（商品一覧スタイルは13.2.shelf.scssにて定義されています。当ブロック用に上書き調整します）*/
  /* slickドットボタンのアクティブ色を上書き（slickドットボタンは12.1.slider.scssにて定義されています。当ブロック用に上書き調整します） */
}

.ec-featuredProductsRole .ec-featuredProductsRole__listInner {
  max-width: 1920px;
  margin: 0 auto;
}

.ec-featuredProductsRole .ec-secHeading__maintitle {
  color: #fff;
}

.ec-featuredProductsRole .ec-secHeading__subtitle {
  color: #fff;
}

.ec-featuredProductsRole .ec-productItemRole__content {
  padding-top: 1em;
  padding-bottom: 1em;
}

.ec-featuredProductsRole .slick-dots li.slick-active {
  background-color: #fff;
}

/*
特集カテゴリ

トップページで使用されている特集カテゴリ「FEATURED CATEGORY」ブロックのスタイルです。

使用箇所：
* Block/new_item.twig

Markup:
../styleguide/tmpl/12.6.2.html

Styleguide 12.6.2
*/
.ec-featuredCategoryRole {
  /* 特集カテゴリ枠 */
  /* カテゴリ商品レイアウト */
  /* slickドットボタンの位置を調整 */
  /* slickドットボタンのアクティブ色を上書き（slickドットボタンは12.1.slider.scssにて定義されています。当ブロック用に上書き調整します） */
}

.ec-featuredCategoryRole .categoryContent {
  /* カテゴリを見るボタン（汎用ボタン.ec-blockBtnを必要に応じて上書き調整します） */
}

.ec-featuredCategoryRole .categoryContent h2 {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0;
  margin-bottom: 1em;
  color: #fff;
  text-align: center;
}

.ec-featuredCategoryRole .categoryContent .description {
  margin: 24px 0;
  margin: 1.5rem 0;
  color: #fff;
}

.ec-featuredCategoryRole .categoryContent .ec-blockBtn {
  margin-top: 24px;
  margin-top: 1.5rem;
  width: 15em;
  height: 50px;
  line-height: 50px;
  border: none;
}

.ec-featuredCategoryRole .categoryContentShelf {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 0;
}

.ec-featuredCategoryRole .categoryContentShelf > li {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: calc((100% - 1px - 40px ) / 5);
  margin-left: 10px;
  margin-top: 0;
}

.ec-featuredCategoryRole .categoryContentShelf > li:nth-child(5n+1) {
  margin-left: 0;
}

.ec-featuredCategoryRole .categoryContentShelf li a {
  display: block;
  overflow: hidden;
}

.ec-featuredCategoryRole .categoryContentShelf li a img {
  transition: .6s;
}

.ec-featuredCategoryRole .categoryContentShelf li a:hover img {
  transform: scale(1.1);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.05" /><feFuncG type="linear" slope="1.05" /><feFuncB type="linear" slope="1.05" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.05);
}

.ec-featuredCategoryRole .slick-dots {
  position: absolute;
  bottom: 15px;
  left: 0;
  width: 100%;
  padding: 0;
}

.ec-featuredCategoryRole .slick-dots li.slick-active {
  background-color: #fff;
}

/*
カテゴリランキング

トップページで使用されているカテゴリランキングブロックのスタイルです。
カテゴリ毎に登録された商品リストをスライド表示します。
カテゴリ選択ナビボタンにより対応するカテゴリの商品リストがスライドして切り替わります。

使用箇所：
* Block/category.twig

Markup:
../styleguide/tmpl/12.7.html

Styleguide 12.7
*/
.ec-categoryRankingRole {
  /* カテゴリ選択ナビ枠と商品リスト枠の、デバイス毎のレイアウトのスタイリングを先に定義しておきます
   * スマホ・タブレット時は上下に配置、デスクトップ時は左右2分割レイアウトにします
   */
  /* カテゴリ選択ナビ枠 */
  /* カテゴリ商品リスト枠 */
  /* カテゴリ毎の商品リスト */
  /* 商品配置レイアウト */
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav {
  /* ナビボタン */
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav h2 {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0;
  margin-bottom: 1em;
  text-align: center;
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav .description {
  margin: 16px 0;
  margin: 1rem 0;
  color: #666;
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav {
  margin: 0;
  margin-top: -0.5em;
  margin-left: -0.5em;
  padding: 0;
  list-style: none;
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav li {
  display: inline-block;
  margin-top: 0.5em;
  margin-left: 0.5em;
  font-size: 1em;
  padding: .7em 1em;
  line-height: 1;
  border: solid 1px #eee;
  border-radius: calc(1.2em + 1px);
  cursor: pointer;
  transition: .2s;
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav li:hover {
  background-color: #eee;
}

.ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav li.is-active {
  background-color: #000;
  border-color: #000;
  color: #fff;
  pointer-events: none;
}

.ec-categoryRankingRole .rankingProductsShelf {
  /* ランキング番号の表示 */
  counter-reset: rank;
}

.ec-categoryRankingRole .rankingProductsShelf li {
  position: relative;
  /* 1位 */
  /* 2位 */
  /* 3位 */
}

.ec-categoryRankingRole .rankingProductsShelf li:after {
  counter-increment: rank;
  content: counter(rank);
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 17.6px;
  font-size: 1.1rem;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  background-color: #666;
  color: #fff;
  position: absolute;
  top: 0px;
  left: 0px;
  pointer-events: none;
}

.ec-categoryRankingRole .rankingProductsShelf li:nth-child(1):after {
  background: linear-gradient(135deg, #fff200 0%, #ffbb00 50%);
}

.ec-categoryRankingRole .rankingProductsShelf li:nth-child(2):after {
  background: linear-gradient(135deg, #e5e5e5 0%, #888 50%);
}

.ec-categoryRankingRole .rankingProductsShelf li:nth-child(3):after {
  background: linear-gradient(135deg, #f0b7a1 0%, #a34e00 50%);
}

/*
新着情報

トップページで使用されている新着情報ブロックのスタイルです。

使用箇所：
Block/news.twig

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/12.8.html

Styleguide 12.8
*/
.ec-newsRole {
  margin: 20px 0;
  /* ニュース一覧枠 */
  /* ニュースアイテム*/
  /* 左枠（日付） */
  /* 右枠（ニュースタイトル、本文）*/
  /* ニュースタイトル */
  /* MOREボタン */
  /* ニュース本文 */
}

.ec-newsRole .ec-newsRole__news {
  margin-top: -16px;
  margin-top: -1rem;
}

.ec-newsRole .ec-newsRole__newsItem {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  padding: 16px 0;
  padding: 1rem 0;
  border-bottom: 1px solid #eee;
}

.ec-newsRole .ec-newsRole__newsHeading {
  min-width: 6em;
  margin-right: 16px;
  margin-right: 1rem;
}

.ec-newsRole .ec-newsRole__newsHeading time {
  font-family: "Poppins";
  font-size: 14.928px;
  font-size: 0.933rem;
}

.ec-newsRole .ec-newsRole__newsColumn {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  /* OPEN時の見せ方 */
  transition: .2s;
}

.ec-newsRole .ec-newsRole__newsColumn.is-active {
  padding: .5em;
  background-color: #f8f8f8;
}

.ec-newsRole .ec-newsRole__newsTitle {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  display: inline-block;
  vertical-align: middle;
}

.ec-newsRole .ec-newsRole__moreBtn {
  display: inline-block;
  font-family: "Poppins";
  font-size: 12.8px;
  font-size: 0.8rem;
  line-height: 1;
  padding: 3.2px 4.8px;
  padding: 0.2rem 0.3rem;
  border: solid 1px #666;
  background-color: #fff;
  margin-left: 16px;
  margin-left: 1rem;
  cursor: pointer;
}

.ec-newsRole .ec-newsRole__newsDescription {
  margin-top: 1em;
  display: none;
}

/*
商品一覧ヘッダーナビ

商品一覧ページのカテゴリトピックパスや、検索結果、また並び替えフォームをまとめたコンポーネントになります。

使用箇所：
Product/list.twig

Markup:
../styleguide/tmpl/13.1.html

Styleguide 13.1
*/
.ec-searchnavRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
  /*
  inner
  トピックパス枠（__topicspath）と表示件数＆並び替え枠（__infos）の2つのエリアをflexにて左右両極に配置
  */
  /* トピックパス枠 */
  /* 表示件数と並び替えフォーム枠 */
  /* 表示件数 */
  /* 並び替えフォーム */
}

.ec-searchnavRole .ec-searchnavRole__inner {
  background-color: #f4f4f4;
  padding: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}

.ec-searchnavRole .ec-searchnavRole__topicpath {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  padding-left: .5em;
  font-size: 16px;
  font-size: 1rem;
}

.ec-searchnavRole .ec-searchnavRole__infos {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: center;
      align-items: center;
}

.ec-searchnavRole .ec-searchnavRole__counter {
  font-size: 14.928px;
  font-size: 0.933rem;
  margin-right: 1em;
}

.ec-searchnavRole .ec-searchnavRole__actions select {
  background-color: #fff;
}

/*
トピックパス本体

sg-wrapper:
<div class="ec-searchnavRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/13.1.2.html

Styleguide 13.1.2
*/
.ec-topicpath {
  line-height: 1;
}

.ec-topicpath ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-align: center;
      align-items: center;
}

.ec-topicpath .ec-topicpath__item {
  white-space: nowrap;
  padding: 4px 0;
  /* 連結の「>」 */
  /* タイトルラベル */
  /* 検索キーワード */
  /* 最後のli要素を太字 */
}

.ec-topicpath .ec-topicpath__item a {
  color: inherit;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  text-decoration: none;
}

.ec-topicpath .ec-topicpath__item a:hover {
  text-decoration: none !important;
}

.ec-topicpath .ec-topicpath__item a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: scaleX(0);
  transition: transform .3s;
}

.ec-topicpath .ec-topicpath__item a:hover:after {
  transform: scaleX(1);
}

.ec-topicpath .ec-topicpath__item:before {
  font-family: "jeiafont";
  content: "\e902";
  font-size: 0.85em;
  margin-left: 4px;
}

.ec-topicpath .ec-topicpath__item.titleLabel {
  font-family: "Oswald";
}

.ec-topicpath .ec-topicpath__item.titleLabel:before {
  display: none;
}

.ec-topicpath .ec-topicpath__item.is-search span {
  margin-left: 0.2em;
}

.ec-topicpath .ec-topicpath__item:last-child a,
.ec-topicpath .ec-topicpath__item:last-child span {
  font-weight: 500;
  pointer-events: none;
}

/*
子カテゴリ表示

商品一覧ページにおいて現在表示しているカテゴリに、子カテゴリがあればそれを一覧表示します。

Markup:
../styleguide/tmpl/13.1.3.html

Styleguide 13.1.3
*/
.ec-childCategoryRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
  margin: 20px 0;
}

.ec-childCategoryRole ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.928px;
  font-size: 0.933rem;
}

.ec-childCategoryRole ul li {
  display: inline-block;
}

.ec-childCategoryRole ul li:before {
  font-family: "jeiafont";
  content: "\e91a";
  vertical-align: -1px;
}

.ec-childCategoryRole ul li a {
  color: inherit;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  text-decoration: none;
}

.ec-childCategoryRole ul li a:hover {
  text-decoration: none !important;
}

.ec-childCategoryRole ul li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: scaleX(0);
  transition: transform .3s;
}

.ec-childCategoryRole ul li a:hover:after {
  transform: scaleX(1);
}

.ec-childCategoryRole ul li.titleLabel {
  font-family: "Oswald";
  font-weight: 500;
  vertical-align: -1px;
}

.ec-childCategoryRole ul li.titleLabel:before {
  display: none;
}

/*
商品一覧

商品一覧 に関する Project コンポーネントを定義します。

使用箇所：
Product/list.twig

Markup:
../styleguide/tmpl/13.2.html

Styleguide 13.2
*/
.ec-shelfRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
}

/*
商品一覧グリッド

横1列あたりの商品配置数を2～5個で、デバイス幅のブレイクポイントを4パターンで定義します。

陳列レイアウト用のmixinを使用します。（_projects.scss）
@mixin shelfLayout($amount: 5, $gutter_w: 20px, $gutter_h: 20px, $item: li) {}
* $amount: 横に配置する数
* $gutter_W: アイテム間の左右余白
* $gutter_h: アイテム間の上下余白
* $item: 子要素のタグ名称・class名称（デフォルトはli要素）

使用箇所：
Product/list.twig

Markup:
../styleguide/tmpl/13.2.1.html

Styleguide 13.2.1
*/
.ec-shelfGrid {
  /* 商品レイアウト */
}

/*
商品アイテム

商品一覧だけでなく特集商品など、一覧表示される商品アイテムの共通スタイリングになります。

sg-wrapper:
<div class="ec-shelfRole">
  <ul class="ec-shelfGrid">
    <li class="ec-shelfGrid__item">
      <sg-wrapper-content/>
    </li>
  </ul>
</div>

Markup:
../styleguide/tmpl/13.2.2.html

Styleguide 13.2.2
*/
.ec-productItemRole {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
      flex-flow: column;
  position: relative;
  /* 商品画像ブロック */
  /* 商品内容ブロック */
  /* 底配置ブロック */
}

.ec-productItemRole .ec-productItemRole__image {
  position: relative;
  min-height: 0%;
  /* 品切れ表示 */
}

.ec-productItemRole .ec-productItemRole__image a {
  display: block;
  display: block;
  overflow: hidden;
}

.ec-productItemRole .ec-productItemRole__image a img {
  transition: .6s;
}

.ec-productItemRole .ec-productItemRole__image a:hover img {
  transform: scale(1.1);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.05" /><feFuncG type="linear" slope="1.05" /><feFuncB type="linear" slope="1.05" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.05);
}

.ec-productItemRole .ec-productItemRole__image a img {
  width: 100%;
  height: auto;
}

.ec-productItemRole .ec-productItemRole__image .productItem_stockout {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-family: "Oswald";
  font-size: 19.2px;
  font-size: 1.2rem;
  padding: .8em;
  background-color: rgba(189, 0, 0, 0.8);
  color: #fff;
  text-align: center;
  pointer-events: none;
}

.ec-productItemRole .ec-productItemRole__content {
  padding-top: 1em;
  background-color: #fff;
  /* 中央寄せ */
  text-align: center;
  /* 商品名称 */
  /* 商品属性タグ */
  /* 商品説明（一覧用） */
  /* 商品価格 */
}

.ec-productItemRole .ec-productItemRole__content .productItem_name {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  margin-bottom: 10px;
  /* テキストが長くて改行される場合は左寄せになるよう */
  display: inline-block;
  text-align: left;
}

.ec-productItemRole .ec-productItemRole__content .productItem_tags {
  margin: 0;
  padding: 0;
  margin-left: -3px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
}

.ec-productItemRole .ec-productItemRole__content .productItem_tags p {
  border: solid 1px #ddd;
  margin: 0;
  margin-left: 3px;
  margin-bottom: 3px;
  border-radius: 3px;
  font-size: 12.8px;
  font-size: 0.8rem;
  padding: 0.4em 0.75em;
  line-height: 1;
  white-space: nowrap;
}

.ec-productItemRole .ec-productItemRole__content .productItem_description {
  font-size: 14.928px;
  font-size: 0.933rem;
  margin-bottom: 10px;
}

.ec-productItemRole .ec-productItemRole__content .productItem_price {
  font-size: 19.2px;
  font-size: 1.2rem;
}

.ec-productItemRole .ec-productItemRole__bottom {
  margin: auto 0 0;
}

/*
商品アイテム内 カートインアクション

当テンプレートではコメントアウトにて除去している部分ですが、最低限のスタイリングをしております。
カートインアクション機能が必要な場合はlist.twigのカートイン部分とモーダル表示部分のコメントを解除しCSSスタイリングを調整してください。

sg-wrapper:
<div class="ec-shelfRole">
  <ul class="ec-shelfGrid">
    <li class="ec-shelfGrid__item">
      <sg-wrapper-content/>
    </li>
  </ul>
</div>

Markup:
../styleguide/tmpl/13.2.3.html

Styleguide 13.2.3
*/
.ec-productItemRole {
  /* タイトルラベル */
  /* 数量エリア */
  /* カートに入れるボタン */
}

.ec-productItemRole .ec-productItemRole__actions select {
  max-width: 100%;
}

.ec-productItemRole .ec-productItemRole__label {
  margin: 0;
  margin-top: 1em;
}

.ec-productItemRole .quantityLabel {
  display: inline-block;
  vertical-align: baseline;
  margin-top: 0;
  margin-right: .5em;
}

.ec-productItemRole .ec-quantityRole {
  margin-top: 1em;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: baseline;
}

.ec-productItemRole .ec-productItemRole__btn {
  margin-top: 1em;
}

.ec-productItemRole .ec-productItemRole__btn .ec-blockBtn--cartin {
  height: 48px;
  height: 3rem;
  line-height: 48px;
  line-height: 3rem;
}

/*
ページャ

商品一覧やマイページコンテンツで使われるページ送りコンポーネントを定義します。

使用箇所：
* Product/list.twig
* Mypage/favorite.twig
* Mypage/index.twig

※ページャ本体は「pager.twig」ブロックとなっており各ページからincludeされています。

Markup:
../styleguide/tmpl/13.3.html

Styleguide 13.3
*/
.ec-pagerRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
カート追加モーダル

カート追加モーダルに関する Project コンポーネントを定義します。

※EC-CUBE4標準のままです

使用箇所：
* Product/list.twig
* Product/detail.twig

Markup:
../styleguide/tmpl/13.4.html

Styleguide 13.4
*/
.ec-modal .checkbox {
  display: none;
}

.ec-modal .ec-modal-overlay {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: all 0.3s ease;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -100;
  transform: scale(1);
  display: -ms-flexbox;
  display: flex;
  background-color: rgba(0, 0, 0, 0.3);
}

.ec-modal .ec-modal-wrap {
  background-color: #fff;
  border: 1px solid #333;
  width: 90%;
  margin: 20px;
  padding: 40px 5px;
  border-radius: 2px;
  transition: all 0.5s ease;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
      align-self: center;
}

.ec-modal .ec-modal-wrap .ec-modal-box {
  text-align: center;
}

.ec-modal .ec-modal-wrap .ec-modal-box div {
  margin-top: 20px;
}

.ec-modal .ec-modal-wrap.small {
  width: 30%;
}

.ec-modal .ec-modal-wrap.full {
  width: 100%;
  height: 100%;
}

.ec-modal .ec-modal-overlay .ec-modal-close {
  position: absolute;
  right: 20px;
  top: 10px;
  font-size: 20px;
  height: 30px;
  width: 20px;
}

.ec-modal .ec-modal-overlay .ec-modal-close:hover {
  cursor: pointer;
  color: #4b5361;
}

.ec-modal .ec-modal-overlay-close {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -100;
}

.ec-modal input:checked ~ .ec-modal-overlay-close {
  z-index: 9998;
}

.ec-modal input:checked ~ .ec-modal-overlay {
  transform: scale(1);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  z-index: 9997;
  overflow: auto;
}

.ec-modal input:checked ~ .ec-modal-overlay .ec-modal-wrap {
  transform: translateY(0);
  z-index: 9999;
}

/*
商品詳細

商品詳細ページに関する Project コンポーネントを定義します。

使用箇所：
Product/detail.twig

Markup:
../styleguide/tmpl/14.1.html

Styleguide 14.1
*/
.ec-productRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  /*
  左右2分割グリッド（デスクトップ時）
  スマホ・タブレット時は2分割解除

  ※余談：flexboxでレイアウトした中ではslickは動作しない。対応策はあるが無難に動作するfloatを採用
  */
}

.ec-productRole .ec-productRole__grid {
  width: 100%;
}

.ec-productRole .ec-productRole__grid:after {
  content: "";
  display: table;
  clear: both;
}

/*
商品ビジュアル表示

EC-CUBE4標準と同じく、slickを利用して画像ビジュアルを実装しています

管理機能「フリーエリア」に、HTMLコードを記述するとビジュアル画像それぞれに説明文を表示させることができます。

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/14.1.1.html

Styleguide 14.1.1
*/
.ec-productRole__visual {
  /* メインビジュアル格納枠 */
  /* ビジュアル画像切り替えナビ */
}

.ec-productRole__visual .ec-productVisualMain {
  position: relative;
  overflow: hidden;
}

.ec-productRole__visual .ec-productVisualMain .slick-arrow {
  color: #aaa;
}

.ec-productRole__visual .ec-productVisualNav {
  /* 各サムネイル */
}

.ec-productRole__visual .ec-productVisualNav .slideThumb {
  cursor: pointer;
  display: block;
  overflow: hidden;
}

.ec-productRole__visual .ec-productVisualNav .slideThumb img {
  transition: .6s;
}

.ec-productRole__visual .ec-productVisualNav .slideThumb:hover img {
  transform: scale(1.1);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.05" /><feFuncG type="linear" slope="1.05" /><feFuncB type="linear" slope="1.05" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.05);
}

/*
商品プロフィール（商品データ）

画像ビジュアル枠に対してこちらは右枠の（デスクトップ時）、商品データ枠になります。

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/14.1.2.html

Styleguide 14.1.2
*/
.ec-productRole {
  /* 商品プロフィール枠 */
  /* 商品タイトル */
  /* 通常価格 */
  /* 通常価格：価格部分 */
  /* 通常価格：税込 */
  /* 販売価格 */
  /* 詳細コメント */
  /* 商品コード（商品タイトルの中で展開） */
  /* 属性タグ */
  /* 関連カテゴリ */
  /* アクション枠 */
  /* 規格枠 */
  /* カートイン枠数量・カートイン・お気に入り） */
  /* シェアボタン */
}

.ec-productRole .ec-productRole__title {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.ec-productRole .ec-productRole__title h1 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}

.ec-productRole .ec-productRole__priceRegular {
  margin-bottom: 0.5em;
}

.ec-productRole .ec-productRole__priceRegularPrice span {
  margin-left: .5em;
}

.ec-productRole .ec-productRole__priceRegularTax {
  font-size: .8em;
}

.ec-productRole .ec-productRole__price {
  font-size: 24px;
  font-size: 1.5rem;
  margin-bottom: 1em;
}

.ec-productRole .ec-productRole__price .ec-price__price {
  font-weight: 500;
}

.ec-productRole .ec-productRole__description {
  font-size: 16px;
  font-size: 1rem;
  margin: 1em 0;
  line-height: 1.7;
  color: #666;
}

.ec-productRole .ec-productRole__code {
  font-family: "Poppins";
  font-size: 14.928px;
  font-size: 0.933rem;
  color: #666;
  margin: 8px 0;
  margin: 0.5rem 0;
}

.ec-productRole .ec-productRole__tags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  margin: 8px 0;
  margin: 0.5rem 0;
  margin-left: -7px;
  font-size: 14.928px;
  font-size: 0.933rem;
}

.ec-productRole .ec-productRole__tags li {
  margin-left: 7px;
  line-height: 1;
  padding: 0.4em 0.7em;
  border: solid 1px #ccc;
  color: #666;
}

.ec-productRole .ec-productRole__category {
  margin: 16px 0;
  margin: 1rem 0;
  font-size: 14.928px;
  font-size: 0.933rem;
}

.ec-productRole .ec-productRole__category .titleLabel {
  color: #666;
}

.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item {
  /* 最後のli要素を太字 */
}

.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item:first-child:before {
  content: "・";
}

.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item:last-child a {
  font-weight: normal;
  pointer-events: auto;
}

.ec-productRole .ec-productRole__actions {
  border-top: 1px solid #eee;
  margin: 16px 0;
  margin: 1rem 0;
  padding-top: 16px;
  padding-top: 1rem;
}

.ec-productRole .ec-productRole__class {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
}

.ec-productRole .ec-productRole__class.classCategory2 {
  margin-top: 10px;
}

.ec-productRole .ec-productRole__class .classLabel {
  margin: 0;
  margin-right: 1em;
  min-width: 6em;
}

.ec-productRole .ec-productRole__class .classLabel:after {
  content: "：";
}

.ec-productRole .ec-productRole__class .ec-select select, .ec-productRole .ec-productRole__class .ec-birth select {
  max-width: 100%;
}

.ec-productRole .ec-productRole__cartinRow {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-top: 1em;
  /* 数量タイトルラベル */
  /* 数量 */
  /* カートインボタン・品切れ */
  /* お気に入りボタン */
}

.ec-productRole .ec-productRole__cartinRow .quantityLabel {
  margin: 0;
  margin-right: 1em;
  display: none;
}

.ec-productRole .ec-productRole__cartinRow .ec-quantityRole {
  margin-right: 10px;
}

.ec-productRole .ec-productRole__cartinRow .ec-productRole__btn {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  max-width: 350px;
}

.ec-productRole .ec-productRole__cartinRow .ec-productRole__btn button {
  height: 53.28px;
  height: 3.33rem;
  line-height: 53.28px;
  line-height: 3.33rem;
  width: 100%;
}

.ec-productRole .ec-productRole__cartinRow .ec-blockBtn--favorite {
  margin-left: 10px;
}

.ec-productRole .ec-productRole__share {
  margin-top: 32px;
  margin-top: 2rem;
}

.ec-productRole .ec-productRole__share .shareLabel {
  margin: 0;
  margin-right: .5em;
  display: inline-block;
}

.ec-productRole .ec-productRole__share .shareBtnList {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ec-productRole .ec-productRole__share .shareBtnList li {
  display: inline-block;
  margin-left: 3px;
}

.ec-productRole .ec-productRole__share .shareBtnList li a {
  display: block;
  font-size: 17.6px;
  font-size: 1.1rem;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  background: #666;
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  transition: .3s;
}

.ec-productRole .ec-productRole__share .shareBtnList li a i + span {
  display: none;
}

.ec-productRole .ec-productRole__share .shareBtnList li a.twitter:hover {
  background-color: #1B95E0;
}

.ec-productRole .ec-productRole__share .shareBtnList li a.facebook:hover {
  background-color: #3B5999;
}

.ec-productRole .ec-productRole__share .shareBtnList li a.googleplus:hover {
  background-color: #db4a39;
}

.ec-productRole .ec-productRole__share .shareBtnList li a.pinterest:hover {
  background-color: #cb2027;
}

/*
商品フリーエリア

フリーエリアのスタイリングになります。

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/14.1.90.html

Styleguide 14.1.90
*/
.ec-productRole .ec-productRole__freearea {
  margin-top: 30px;
}

/*
商品詳細タブ切り替えコンテンツ

管理機能「フリーエリア」に、HTMLコードを記述するとタブ切り替えコンテンツを表示させることができます。
HTMLコードはスタイルガイド「Show markup」を参考にしてください。（別途マニュアルを用意するかも）

サンプルコンテンツの、table要素、dl-table要素、dlレスポンシブの表組みスタイリングは、_0.1.base.scssにて行っています。

sg-wrapper:
<div class="ec-productRole">
  <sg-wrapper-content/>
</div>

Markup:
../styleguide/tmpl/14.1.91.html

Styleguide 14.1.91
*/
.ec-productDetailTab {
  /* タブ */
  /* コンテンツ枠 */
  /* コンテンツ */
}

.ec-productDetailTab .ec-productDetailTab__nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  border-bottom: 1px solid #eee;
}

.ec-productDetailTab .ec-productDetailTab__nav li {
  font-size: 16px;
  font-size: 1rem;
  margin-right: 1.5em;
  padding: 0.25em 0;
  color: #666;
  border-bottom: solid 2px transparent;
  cursor: pointer;
  transition: .2s;
}

.ec-productDetailTab .ec-productDetailTab__nav li:hover {
  border-color: #000;
}

.ec-productDetailTab .ec-productDetailTab__nav li.is-active {
  color: #222;
  border-color: #000;
}

.ec-productDetailTab .ec-productDetailTab__content {
  display: none;
}

.ec-productDetailTab .ec-productDetailTab__content.is-active {
  display: block;
  display: block;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  animation: fadeIn 150ms linear 0s;
}

.ec-productDetailTab .ec-productDetailTab__content h2 {
  font-size: 22.4px;
  font-size: 1.4rem;
  margin: 0;
  margin-bottom: 1em;
}

/*
カート

カート 注文詳細 に関する Project コンポーネントを定義します。

使用箇所：
* Cart/index.twig
* Shopping/complete.twig
* Shopping/confirm.twig
* Shopping/index.twig
* Shopping/nonmember.twig

※ここで定義される`.ec-cartRole__error`はShopping/alert.twigでも使用されている。

Markup:
../styleguide/tmpl/15.1.html

Styleguide 15.1
*/
.ec-cartRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

.ec-cartRole .ec-cartRole__progress {
  margin-bottom: 30px;
}

.ec-cartRole .ec-cartRole__error {
  margin-bottom: 20px;
}

.ec-cartRole .ec-cartRole__totalText {
  text-align: center;
  margin-bottom: 20px;
}

.ec-cartRole .ec-cartRole__totalText p {
  margin: 0;
}

.ec-cartRole .ec-cartRole__cart {
  margin: 2em 0;
}

.ec-cartRole .ec-cartRole__actions {
  width: 300px;
  margin-left: auto;
  margin-right: 0;
}

.ec-cartRole .ec-cartRole__total {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  margin: 1em 0 1.5em;
  border-bottom: 1px solid #eee;
}

.ec-cartRole .ec-cartRole__totalAmount {
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 500;
}

.ec-cartRole .ec-blockBtn--action {
  margin-bottom: 10px;
}

/*
カートページのコンテナ違反？

cart/index.twig
.ec-cartRoleの中に、さらに.ec-cartRoleが指定されていて2重コンテナになっているのをCSSにて吸収対処

shopping/nonmemberでも同様に「.ec-customerRole」の中に.ec-cartRoleが入っているので対処

Styleguide 15.1.1
*/
.ec-cartRole .ec-cartRole,
.ec-customerRole .ec-cartRole {
  padding: 0;
}

/*
カート商品表示

カート内の商品をを表示するテーブル枠です。

タブレット・デスクトップはtableでレイアウトを組みますが、スマホは.ec-cartRowごとにflexでレイアウトを組んでいます。

使用箇所：
Cart/index.twig

Markup:
../styleguide/tmpl/15.1.2.html

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.1.2
*/
.ec-cartTable {
  width: 100%;
  display: table;
  border-collapse: collapse;
}

/*
カート商品表示：テーブルヘッダ

カート商品表示のテーブルのヘッダです。
タブレット・デスクトップのみで、スマホでは非表示となります。

使用箇所：
Cart/index.twig

Markup:
../styleguide/tmpl/15.1.3.html

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.1.3
*/
.ec-cartHeader {
  display: table-row;
  background-color: #f3f1eb;
}

.ec-cartHeader .ec-cartHeader__label {
  display: table-cell;
  font-size: 14.4px;
  font-size: 0.9rem;
  padding: 0.75em 0;
  text-align: center;
  overflow-x: hidden;
  color: #222;
}

/*
カート商品単位（共通パーツ）

カート内のアイテムを表示する単位です。

スマホと、タブレット・デスクトップとでレイアウトの組み方を変えてあります。
タブレット・デスクトップではtable行としてのレイアウトですが、スマホはflexを使ってレイアウトを組んでいます。

デバイス事のCSSスタイリングが煩雑ですので、共通パーツをスタイリングしておき、あとはデバイス個別にスタイリングをする流れとなっております。

使用箇所：
Cart/index.twig

Markup:
../styleguide/tmpl/15.1.4.html

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.1.4
*/
.ec-cartRow {
  list-style: none;
  margin: 0;
  padding: 0;
  /* ■ 削除カラム（デバイス共通） */
  /* ■ 商品内容カラム（デバイス共通） */
  /* 商品画像 */
  /* 商品サマリ */
  /* ■ 数量カラム（デバイス共通） */
  /* ■ 小計カラム（デバイス共通） */
}

.ec-cartRow a:hover {
  text-decoration: none;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon {
  display: block;
  color: inherit;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon:before {
  font-family: "jeiafont";
  content: "\e918";
  display: block;
  font-size: 18px;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  text-align: center;
  color: #666;
  border: solid 1px #ccc;
  border-radius: 50%;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon img {
  display: none;
}

.ec-cartRow .ec-cartRow__contentColumn {
  text-align: left;
}

.ec-cartRow .ec-cartRow__img {
  display: inline-block;
  vertical-align: top;
}

.ec-cartRow .ec-cartRow__img a {
  display: block;
  overflow: hidden;
}

.ec-cartRow .ec-cartRow__img a img {
  transition: .6s;
}

.ec-cartRow .ec-cartRow__img a:hover img {
  transform: scale(1.1);
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.05" /><feFuncG type="linear" slope="1.05" /><feFuncB type="linear" slope="1.05" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(1.05);
}

.ec-cartRow .ec-cartRow__summary {
  display: inline-block;
  vertical-align: top;
  padding-left: 1em;
  /* 商品価格 */
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name {
  /* 規格名をくくる要素はないので、まず規格名称を基準にスタイリングしておいて、
        * それから商品名が格納されるa要素でスタイリングを施す
        */
  font-size: 0.9em;
  line-height: 1.2;
  margin-left: 8px;
  margin-left: 0.5rem;
  margin-bottom: .5em;
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name a {
  display: block;
  color: inherit;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin-left: -8px;
  margin-left: -0.5rem;
  margin-bottom: 0.4em;
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name a + br {
  display: none;
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__unitPrice {
  font-size: 16px;
  font-size: 1rem;
}

.ec-cartRow .ec-cartRow__amountColumn {
  /* 数量表示 */
  /* 数量変更ボタンエリア */
  /* 数量変更ボタン共通 */
  /* 数量プラスボタン */
  /* ボタン無効 */
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled {
  display: block;
  width: 36px;
  height: 36px;
  margin-left: 1px;
  color: inherit;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton__icon,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton__icon,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled__icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 100%;
  background-color: #f3f1eb;
  color: #000;
  padding: 5px;
  box-sizing: border-box;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton__icon:before,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton__icon:before,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled__icon:before {
  font-family: "jeiafont";
  content: "\e917";
  font-size: 1.5em;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton__icon img,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton__icon img,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled__icon img {
  display: none;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton__icon:before {
  content: "\e916";
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled .ec-cartRow__amountDownButton__icon {
  color: #bbb;
}

.ec-cartRow .ec-cartRow__subtotalColumn {
  font-weight: 500;
}

.ec-cartRow .ec-cartRow__sutbtotalSP {
  display: none;
}

.ec-cartRow .ec-cartRow__amountSP {
  display: none;
}

/*
カート商品単位（スマホ用）

flexを用いてまず、「商品内容カラム」を100%フル幅にして、
改行する形で「数量カラム」と「小計カラム」を左右2列で配置。
削除ボタンはpositionで右上に配置するレイアウトです。
*/

/*
カート商品単位（タブレット・デスクトップ用用）

*/

/*
アラート

カート内の商品に問題があることを示す警告メッセージです。

使用箇所：
* Cart/index.twig
* Shopping/shipping.twig
* Shopping/alert.twig

Markup:
../styleguide/tmpl/15.1.6.html

Styleguide 15.1.6
*/
.ec-alert-warning {
  background-color: #ff9999;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  padding: 1em;
  text-align: center;
}

.ec-alert-warning .ec-alert-warning__icon {
  display: inline-block;
  width: 2em;
  height: auto;
  margin-bottom: 0.5em;
}

/*
送料無料等のメッセージ

「送料無料」「あと〇〇円で送料無料になります」のメッセージ

このエリアのclass名が「.ec-cartRole__progress」となっており、これはカートやショッピングフローの
ページ冒頭にある「1-2-3-4」進捗状況を表示する部分と同じclass名称となっています。
コーティング上のミスだと思いますが、本来であればTwig側を編集すべきだと思いますが、
テンプレートとしては極力、必要以外の編集を加えたくないのでCSSで吸収したいと思います。

ただ、メッセージが空の場合でも要素自体は空のまま出力されてしまっているのでこのメッセージ欄の余白は影響を及ぼします。
その前提で上下のパーツの調整が必要となるかもしれません。

もし、Twig側を編集するのでありましたら、こちらのCSSも調整または削除してください。

Markup:
../styleguide/tmpl/15.1.8.html

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.1.8
*/
.ec-cartRole .ec-cartRole__cart + .ec-cartRole__progress {
  margin: 0;
  padding: 0;
  margin-top: 1em;
  text-align: right;
}

/*
ショッピング完了コンテナ
*/
.ec-cartCompleteRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
注文内容確認

ショッピングフロー（入力、確認）と、マイページの注文履歴詳細

使用箇所：
* Shopping/index.twig
* Shopping/confirm.twig
* Mypage/history.twig

Markup:
../styleguide/tmpl/15.2.html

Styleguide 15.2
*/
/*
ページレイアウト

タブレット・デスクトップは注文内容とカートサマリーを左右2分割。スマホは縦1列配置。
*/
.ec-orderRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/* 注文内容各項目の共通（下マージン） */

.ec-orderConfirm {
  margin-bottom: 0;
}

/*
オーダー情報（注文履歴詳細）

マイページ 注文履歴詳細の冒頭、注文日時や注文番号の記載の部分

使用箇所：
* Mypage/history.twig

※メモ：dt,dd要素で組まれているがdl親要素が無いのでできれば調整しておいたほうがベスト

Markup:
../styleguide/tmpl/15.2.1.html

sg-wrapper:
<div class="ec-orderRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.2.1
*/
.ec-orderOrder {
  font-size: 14.928px;
  font-size: 0.933rem;
}

.ec-orderOrder .ec-definitions, .ec-orderOrder .ec-definitions--soft {
  padding-bottom: 0.5em;
  border-bottom: dotted 1px #ccc;
}

.ec-orderOrder .ec-definitions dt, .ec-orderOrder .ec-definitions--soft dt {
  font-weight: normal;
}

/*
お客様情報（ショッピングフロー）

使用箇所：
* Shopping/index.twig
* Shopping/confirm.twig

Markup:
../styleguide/tmpl/15.2.2.html

sg-wrapper:
<div class="ec-orderRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.2.2
*/
.ec-orderAccount {
  /* お客様情報（確定情報） */
  /* ゲスト購入時の編集入力枠 */
  /* 変更ボタン */
}

.ec-orderAccount .ec-orderAccount__account {
  border: solid 1px #ddd;
  padding: 10px;
}

.ec-orderAccount .ec-orderAccount__account .ec-halfInput,
.ec-orderAccount .ec-orderAccount__account .ec-input,
.ec-orderAccount .ec-orderAccount__account .ec-halfInput,
.ec-orderAccount .ec-orderAccount__account .ec-numberInput,
.ec-orderAccount .ec-orderAccount__account .ec-zipInput,
.ec-orderAccount .ec-orderAccount__account .ec-telInput,
.ec-orderAccount .ec-orderAccount__account .ec-zipInput,
.ec-orderAccount .ec-orderAccount__account .ec-telInput {
  margin: 0;
  margin-bottom: 0.5em;
}

.ec-orderAccount .ec-orderAccount__account .ec-zipInput {
  margin-bottom: 0;
}

.ec-orderAccount .ec-orderAccount__account .ec-telInput:before {
  content: "電話番号　";
}

.ec-orderAccount .ec-orderAccount__account .customer-email:before {
  content: "メールアドレス　";
}

.ec-orderAccount .ec-borderedDefs {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.ec-orderAccount .ec-orderAccount__change {
  text-align: right;
  margin-bottom: 10px;
}

/*
配送情報

使用箇所：
* Shopping/index.twig
* Shopping/confirm.twig
* Mypage/history.twig

※メモ：dt,dd要素で組まれているがdl親要素が無いのでできれば調整しておいたほうがベスト

Markup:
../styleguide/tmpl/15.2.3.html

sg-wrapper:
<div class="ec-orderRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.2.3
*/
.ec-orderDelivery {
  /* タイトル「お届け先」 */
  /* 変更ボタン */
  /* 商品内容 */
  /* お届け先住所 */
  /* 配送方法・お届け日時 */
  /* お届け先追加ボタンエリア */
  /*
  複数配送先の場合　各お届け先ごとのエリア区分が判別しやすいように調整
  少し太めのborderを敷いています。
  
  ※お届け先ごとにグルーピングされる要素が無いので、2つ目以降のお届け先は、
  「__actions」に続く「__title」でしか判別できません
  */
}

.ec-orderDelivery .ec-orderDelivery__title {
  font-size: 16px;
  font-size: 1rem;
  line-height: 40px;
  font-weight: 700;
  position: relative;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.ec-orderDelivery .ec-orderDelivery__change {
  position: absolute;
  right: 0;
  top: 0;
}

.ec-orderDelivery .ec-orderDelivery__item {
  /* 軽減税率対象商品である事のコメント */
}

.ec-orderDelivery .ec-orderDelivery__item ul + p {
  font-size: 14.928px;
  font-size: 0.933rem;
  margin-top: .5em;
}

.ec-orderDelivery .ec-orderDelivery__address {
  margin-top: 24px;
  margin-top: 1.5rem;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.ec-orderDelivery .ec-orderDelivery__address p {
  margin: 0;
}

.ec-orderDelivery .ec-orderDelivery__actions label {
  font-weight: normal;
  min-width: 6em;
}

.ec-orderDelivery .ec-orderDelivery__edit {
  border-top: 1px solid #eee;
  padding-top: 20px;
  margin-top: 20px;
}

.ec-orderDelivery .ec-orderDelivery__actions + .ec-orderDelivery__title {
  margin-top: 1em;
  border-top: solid 2px #ddd;
  padding-top: 1em;
}

.ec-orderDelivery .ec-orderDelivery__actions + .ec-orderDelivery__title .ec-orderDelivery__change {
  top: 1em;
}

/*
注文詳細 お支払情報

※「お支払い方法」欄のほか、「利用ポイント」も同じclassを使用

使用箇所：
* Shopping/index.twig
* Shopping/confirm.twig
* Mypage/history.twig

Markup:
../styleguide/tmpl/15.2.4.html

sg-wrapper:
<div class="ec-orderRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.2.4
*/
.ec-orderPayment .ec-input input, .ec-orderPayment .ec-halfInput input, .ec-orderPayment .ec-numberInput input, .ec-orderPayment .ec-zipInput input, .ec-orderPayment .ec-telInput input {
  width: 10em;
  text-align: right;
}

/*
注文詳細 お問い合わせ

使用箇所：
* Shopping/index.twig
* Shopping/confirm.twig
* Mypage/history.twig

Markup:
../styleguide/tmpl/15.2.5.html

sg-wrapper:
<div class="ec-orderRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.2.5
*/
/*
お届け先の複数指定

お届け先の複数指定に関するコンポーネントを定義します。

ex [ショッピングページ　お届け先の複数指定](http://eccube-4.0.2.local/shopping/shipping_multiple)
(商品購入画面 → 「お届け先を追加する」を押下)

使用箇所：
* Shopping/shipping_multiple.twig

Markup:
../styleguide/tmpl/15.2.6.html

Styleguide 15.2.6
*/
.ec-AddAddress {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  /* 新規お届け先追加ボタンエリア */
  /* 商品単位のフレーム */
  /* 商品アイテム（画像とコンテンツ） */
  /* 商品アイテム：画像 */
  /* 商品アイテム：コンテンツ */
  /* 商品アイテムコンテンツ：商品名 */
  /* 商品アイテムコンテンツ：商品規格名 */
  /* 商品アイテムコンテンツ：商品価格 */
  /* 商品アイテムコンテンツ：数量 */
  /* 住所・数量選択欄 */
  /* 住所選択 */
  /* 数量指定 */
  /* お届け先追加ボタンエリア */
  /* 選択したお届け先に送るボタンエリア */
}

.ec-AddAddress .ec-AddAddress__new {
  padding-bottom: 32px;
  padding-bottom: 2rem;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  border-bottom: 1px solid #eee;
}

.ec-AddAddress .ec-AddAddress__add {
  border-bottom: 1px solid #eee;
  padding-bottom: 32px;
  padding-bottom: 2rem;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  font-size: 16px;
  font-size: 1rem;
}

.ec-AddAddress .ec-AddAddress__item {
  display: -ms-flexbox;
  display: flex;
}

.ec-AddAddress .ec-AddAddress__itemThumb {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 22vw;
  max-width: 120px;
}

.ec-AddAddress .ec-AddAddress__itemThumb img {
  width: 100%;
}

.ec-AddAddress .ec-AddAddress__itemtContent {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding-left: 1em;
}

.ec-AddAddress .ec-AddAddress__itemtTitle {
  font-weight: 500;
}

.ec-AddAddress .ec-AddAddress__itemtSize {
  font-size: 0.9em;
  margin-left: 0.75em;
}

.ec-AddAddress .ec-AddAddress__itemtPrice {
  margin-top: 0.5em;
  display: inline-block;
}

.ec-AddAddress .ec-AddAddress__itemtNumber {
  display: inline-block;
  margin-left: 1em;
}

.ec-AddAddress .ec-AddAddress__select {
  margin: 20px 0;
  background-color: #f3f1eb;
  padding: 1em;
  /* 削除ボタン */
}

.ec-AddAddress .ec-AddAddress__select .ec-inlineBtn.delete {
  display: inline-block;
  margin-left: 1em;
}

.ec-AddAddress .ec-AddAddress__selectAddress {
  display: inline-block;
}

.ec-AddAddress .ec-AddAddress__selectAddress label {
  font-weight: normal;
  margin-right: .5em;
}

.ec-AddAddress .ec-AddAddress__selectAddress .select_ui {
  margin: 0;
}

.ec-AddAddress .ec-AddAddress__selectNumber {
  display: inline-block;
  margin-left: 1em;
}

.ec-AddAddress .ec-AddAddress__selectNumber label {
  font-weight: normal;
  margin-right: .5em;
}

.ec-AddAddress .ec-AddAddress__selectNumber input {
  display: inline-block;
  width: 80px;
}

.ec-AddAddress .ec-AddAddress__actions .ec-blockBtn--action {
  margin-bottom: 10px;
}

/*
補正

EC-CUBE4標準では、フォーム送信系のページの確認ページにおいて、入力フォームではない部位に「.ec-input」などのフォーム部品包括要素が
そのまま入力ページと同じ構成で使われています。
これが仕様なのかコーディングミスなのかは判別つきませんが、それにより少々CSSスタイリングがしづらい面があります。

※フォームパーツの特性がそれぞれにあるからこそ包括要素もそれぞれにあるのだろうと思うのですが、確認ページはそもそもテキスト表示のみですから、
そこは意図するものが違いますから別物としてコーディングすべきかとも思います。


ショッピングフローの「確認ページ」において、「お支払い方法」「利用ポイント」は「.ec-blockRadio」が使われていますがそれにより崩れが生じます。
（※「.ec-blockRadio」はラジオ部品を縦に並べる際に部品間に与えた余白を、ネガティブマージンで全体調整しています）
「.ec-blockRadio」のネガティブマージンを別の手法に置き換えるか考えるところですが、しかし、「お支払い方法」は入力ページでは別要素「.ec-radio」で
括られており入力ページと確認ページとで包括要素が別物になってるあたりコーディングミスなのだろうと思いますので、
.ec-blockRadioを調整するよりは、部分的な補正にとどめるのがベストかと思います。
さらに言えば「利用ポイント」はblockRadioの要素はまったくないわけですし…。次期バージョンアップで修正を希望します。

確認ページ：お支払い方法、利用ポイントの補正

Styleguide 15.2.90
*/
body#page_shopping_confirm .ec-blockRadio {
  margin-top: 0;
}

/*
マイページ　注文履歴一覧

使用箇所：
Mypage/index.twig

Markup:
../styleguide/tmpl/16.1.html

Styleguide 16.1
*/
.ec-historyRole {
  font-size: 14.928px;
  font-size: .933rem;
  /* 左枠：注文データ */
  /* 右枠：商品内容 */
}

.ec-historyRole .ec-historyRole__contents {
  display: -ms-flexbox;
  display: flex;
  padding-top: 1em;
  padding-bottom: 1em;
  border-top: 1px solid #eee;
}

.ec-historyRole .ec-historyRole__header {
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
  background-color: #f7f6f6;
  padding: 1em;
}

.ec-historyRole .ec-historyRole__detail {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding-left: 10px;
  /* 商品内容 */
  /* 商品名称 */
  /* 商品価格＆数量 */
}

.ec-historyRole .ec-historyRole__detail .ec-imageGrid + .ec-imageGrid {
  margin-top: 10px;
}

/*
注文履歴一覧ヘッダ内容
*/
.ec-historyListHeader {
  /* 日付 */
  /* ご注文番号・状況*/
}

.ec-historyListHeader .ec-definitions dt, .ec-historyListHeader .ec-definitions--soft dt {
  font-weight: normal;
  min-width: auto;
}

.ec-historyListHeader .ec-historyListHeader__action {
  margin: 0;
  margin-top: 1.5em;
}

/*
注文履歴詳細

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

注文履歴詳細の構造は`.ec-orderRole`と同じで、これはスタイルガイド15.2「注文内容確認」でスタイリングが完了しておりここでは追加定義は何もありません。

Markup:
../styleguide/tmpl/16.2.html

Styleguide 16.2
*/
/*
注文履歴詳細 メール履歴

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

使用箇所：
* Mypage/history.twig

Styleguide 16.2.5
*/
/*
注文履歴詳細 メール履歴個別

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

使用箇所：
* Mypage/history.twig

メモ：
メール本文の`.ec-orderMail__body`は初期時は「display:none;」されており、function.jsにより`.ec-orderMail__link`クリックで展開されるようです。

Markup:
../styleguide/tmpl/16.2.6.html

Styleguide 16.2.6
*/
.ec-orderMail {
  padding-bottom: 16px;
  padding-bottom: 1rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  border-bottom: 1px solid #eee;
}

.ec-orderMail .ec-orderMail__time {
  margin: 0;
}

.ec-orderMail .ec-orderMail__body {
  display: none;
}

.ec-orderMail .ec-orderMail__time {
  margin-bottom: .5em;
}

.ec-orderMail .ec-orderMail__link {
  margin-bottom: 4px;
}

.ec-orderMail .ec-orderMail__link a {
  color: #0092C4;
  text-decoration: none;
  cursor: pointer;
}

.ec-orderMail .ec-orderMail__link a:hover {
  color: #33A8D0;
}

.ec-orderMail .ec-orderMail__close a {
  color: #0092C4;
  text-decoration: none;
  cursor: pointer;
}

.ec-orderMail .ec-orderMail__close a:hover {
  color: #33A8D0;
}

/*
住所一覧

マイページ「お届け先一覧」と、ショッピングページ「お届け先の指定」にて使用

ショッピングページ「お届け先の指定」は、配送情報の「変更」ボタンから入ることができます。
しかしながら、この「お届け先の指定」の選択ボタンの部位が、マイページ「お届け先一覧」の削除ボタン部位と同じ扱いとなっており、
その包括classが「.ec-addressList__remove」となっているのは非常に気持ち悪い所ですのでTwigの編集ができるのであればそうしたいところ

当テンプレートではそのままですが、レイアウト的に、選択ボタンは左に寄せ、削除ボタンは右に寄せるようにスタイリングしています。

使用箇所：
* Mypage/delivery.twig
* Shopping/shipping.twig

Markup:
../styleguide/tmpl/17.1.html

Styleguide 17.1
*/
.ec-addressRole {
  /* 新規お届け先を追加ボタンエリア */
}

.ec-addressRole .ec-addressRole__actions {
  margin-bottom: 2em;
}

/* 住所一覧 */
.ec-addressList {
  /* 削除ボタンエリア、兼、選択ボタンエリア */
  /* 住所エリア */
  /* 変更ボタン（マイページお届け先一覧のみ） */
}

.ec-addressList .ec-addressList__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  border-bottom: 1px solid #eee;
}

.ec-addressList .ec-addressList__item:first-child {
  border-top: 1px solid #eee;
}

.ec-addressList .ec-addressList__remove {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-width: 3em;
  text-align: center;
  /*
    選択ボタン（ラジオボタン）においては、ここでは.ec-radioがコーディングされておりませんので、javascriptで.ec-radioとlabelを挿入しています。
    また、住所内容にもlabelを挿入して、住所のクリックでもラジオボタンが反応するようにしてあります。
    javascriptで挿入するのは気がひけますが、もし編集可能であればTwig側をほかのフォームページと同等になるように修正してください（EC-CUBE時期バージョンで修正希望）
    */
}

.ec-addressList .ec-addressList__address {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 1em;
  padding-left: 0;
  /*
    住所エリアにlabelはコーディングされておりませんがUI的にあったほうがいいと判断しjavascriptで挿入させています。（「お届け先の指定」ページ）
    */
}

.ec-addressList .ec-addressList__address label {
  font-weight: normal;
  /* 氏名欄（識別classは振られていないので、やむなく1番目の要素を氏名と識別） */
}

.ec-addressList .ec-addressList__address label > :first-child {
  font-weight: 500;
}

.ec-addressList .ec-addressList__action {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  padding: 0;
}

/*
マイページ「お届け先一覧」用のカスタマイズ
削除ボタンエリアを右端に来るように変更し、削除アイコンは使わずインラインボタンを生成
*/
body#page_mypage_delivery .ec-addressList .ec-addressList__remove {
  -ms-flex-order: 3;
      order: 3;
  width: auto;
  padding-left: 10px;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after {
  content: "削除";
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: .3s;
  color: #fff;
  background-color: #242930;
  border-color: #444;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  font-size: 14.4px;
  font-size: 0.9rem;
  padding: 0.6em 1em;
  font-weight: normal;
  font-size: 14.4px;
  font-size: 0.9rem;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after:focus, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.focus {
  color: #fff;
  /* タブフォーカスを有効にする場合はコメントアウトを解除してください。
  outline: none;
  box-shadow: 0 0 0 1px $input-border-focus;// フォーム部品のfocusカラーを利用
  */
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after:hover {
  text-decoration: none;
  color: #fff;
  background-color: #0e1013;
  border-color: #252525;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.disabled, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after[disabled],
fieldset[disabled] body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after {
  background-color: #999;
  border-color: #999;
  cursor: not-allowed;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.disabled:hover, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.disabled:focus, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.disabled.focus, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after[disabled]:hover, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after[disabled]:focus, body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after[disabled].focus,
fieldset[disabled] body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after:hover,
fieldset[disabled] body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after:focus,
fieldset[disabled] body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after.focus {
  background-color: #999;
  border-color: #999;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove:after .badge {
  color: #242930;
  background-color: #fff;
}

body#page_mypage_delivery .ec-addressList .ec-addressList__remove .ec-icon {
  display: none;
}

/*
パスワードリセット

パスワードリセットのスタイルです。

使用箇所：
* Forgot/index.twig

Markup:
../styleguide/tmpl/18.1.html

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 18.1
*/
.ec-forgotRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

.ec-forgotRole .ec-forgotRole__form {
  margin-bottom: 0;
}

.ec-forgotRole .ec-forgotRole__intro {
  font-size: 16px;
  font-size: 1rem;
}

/*
会員登録系

会員登録 に関する Project コンポーネントを定義します。

会員登録ページのみでなく、会員情報を扱いフォームページにて使用されている様子

メモ：
.ec-registerRole__actionsの上マージンについて、入力ページと確認ページとでは「利用規約チェック」の有無の違いがあるので余白の微調整をしたいところだが、
入力ページと確認ページで識別classが付くわけではない様子なので、区別ができない（たぶん）。
Twigを編集すれば可能となるがテンプレートではTwigは極力変更しない考えなので、この件は保留。jsで実装するのもちょっとあれなので。

使用箇所：
* Entry/index.twig
* Entry/confirm.twig
* Forgot/reset.twig
* Shopping/shipping.twig
* Shopping/shipping_edit.twig
* Shopping/shipping_multiple_edit.twig

Markup:
../styleguide/tmpl/19.1.html

Styleguide 19.1
*/
.ec-registerRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

.ec-registerRole .ec-registerRole__actions .ec-checkbox, .ec-registerRole .ec-registerRole__actions .ec-blockCheckbox {
  margin: 1em 0;
}

.ec-registerCompleteRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
.ec-registerRole__actions

`.ec-registerRole__actions`は、会員情報系のフォームページ専用のアクションボタンの括り要素という位置づけで、
コンテナ`.ec-registerRole`に属するコンポーネントという設計思想かと思いましたが、実際のところ、
「お問い合わせ」ページのボタン部分にも使われており、しかし「お問い合わせ」ページはコンテナが`.ec-registerRole`ではありません。
どうやら`.ec-registerRole__actions`は、必ずしも`.ec-registerRole`の中に包含されているとは限らないようで、
ほかのさまざまなコンテナの中で使われています。コーディングルールから外れているように思いますが、CSS側で吸収してスタイリングし直しています。

※送信ボタンRole的なものは様々なフォームページで登場しますので、汎用な意味を持たせる意味で「register」とは違う名称を付けるべきかもしれません。

「.ec-registerRole__actions」使用箇所：
* Contact/confirm.twig
* Contact/index.twig
* Entry/confirm.twig
* Entry/index.twig
* Forgot/reset.twig
* Mypage/change.twig
* Mypage/delivery_edit.twig
* Shopping/nonmember.twig
* Shopping/shipping.twig
* Shopping/shipping_edit.twig
* Shopping/shipping_multiple_edit.twig

また、いくつかのページでは「.ec-RegisterRole__actions」と「r」が大文字「R」になっており、これはおそらくコーディングミスだと思われますが、
これもCSS側で吸収しておきます。（Twigの必要以外の編集はテンプレート的には極力避けたい所です）

大文字R該当ページ：

* Contact/confirm.twig
* Contact/index.twig
* Mypage/change.twig
* Mypage/delivery_edit.twig
* Shopping/nonmember.twig
* Shopping/shipping_edit.twig

Styleguide 19.1.2
*/
.ec-registerRole .ec-registerRole__actions,
.ec-registerRole .ec-RegisterRole__actions,
.ec-mypageRole .ec-registerRole__actions,
.ec-mypageRole .ec-RegisterRole__actions,
.ec-contactRole .ec-registerRole__actions,
.ec-contactRole .ec-RegisterRole__actions,
.ec-contactConfirmRole .ec-registerRole__actions,
.ec-contactConfirmRole .ec-RegisterRole__actions,
.ec-customerRole .ec-registerRole__actions,
.ec-customerRole .ec-RegisterRole__actions {
  margin-top: 6.25vw;
}

.ec-registerRole .ec-registerRole__actions .ec-blockBtn--action,
.ec-registerRole .ec-RegisterRole__actions .ec-blockBtn--action,
.ec-mypageRole .ec-registerRole__actions .ec-blockBtn--action,
.ec-mypageRole .ec-RegisterRole__actions .ec-blockBtn--action,
.ec-contactRole .ec-registerRole__actions .ec-blockBtn--action,
.ec-contactRole .ec-RegisterRole__actions .ec-blockBtn--action,
.ec-contactConfirmRole .ec-registerRole__actions .ec-blockBtn--action,
.ec-contactConfirmRole .ec-RegisterRole__actions .ec-blockBtn--action,
.ec-customerRole .ec-registerRole__actions .ec-blockBtn--action,
.ec-customerRole .ec-RegisterRole__actions .ec-blockBtn--action {
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

/*
コンテナ違反？

`.ec-registerRole`は「@include container」されて「コンテナ」として振舞いますが（EC-CUBE標準仕様）、
ゲスト購入時のショッピングページ「お届け先変更」フォームでは、同じコンテナの「.ec-role」の中に包含される形でコーディングされており、
結果、左右余白が2重にかかってしまいます。
会員ログイン時では2重コンテナにはなっておらずコンテナの住み分けができているので、こちらはコーディングミスではないかと思われます。
テンプレートとしてはTwig編集は極力避けたいのでCSS側にて吸収します。

Styleguide 19.1.3
*/
.ec-role .ec-registerRole {
  padding-left: 0;
  padding-right: 0;
}

/*
お問い合わせ

お問い合わせ に関する Project コンポーネントを定義します。

使用箇所：
* Contact/index.twig

Markup:
../styleguide/tmpl/19.2.html

Styleguide 19.2
*/
.ec-contactRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  /* .ec-contactRole__actions
   * EC-CUBE4では実際にはこれは使われておらず、「ec-RegisterRole__actions」となっています（しかもrの字が大文字R）
   * おそらくコーディングミスと思われますが、Twigを編集せずにCSS側で吸収して調整しています。（_19.1.register.scss）
   */
}

.ec-contactConfirmRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

.ec-contactCompleteRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
お客様情報の入力

ログインせずゲストとして商品を購入する際の、お客様情報の入力 に関する Project コンポーネントを定義します。

使用箇所：
* Shopping/nonmember.twig

Markup:
../styleguide/tmpl/19.3.html

Styleguide 19.3
*/
.ec-customerRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

/*
404ページ

404 エラー画面で使用するページコンポーネントです。

ex [404エラー画面](http://eccube-4.0.2.local/404)

使用箇所：
* error.twig

警告アイコンを包括するdiv要素で、Twig内で「style="font-size:100px;text-align:center;"」とインラインCSSが記述されており少々手荒な感じがしますが、
当テンプレートでのCSSスタイリングに影響は微小ととらえTwigは編集せずそのままにしておきます。

Markup:
../styleguide/tmpl/20.1.html

Styleguide 20.1
*/
.ec-404Role {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  margin-top: 30px;
  text-align: center;
}

.ec-404Role .ec-icon {
  line-height: 16px;
  line-height: 1rem;
}

.ec-404Role .ec-icon img {
  width: 60px;
  height: auto;
}

.ec-404Role .ec-404Role__title {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 1em 0;
  text-align: center !important;
}

.ec-404Role .ec-404Role__description {
  font-size: 17.6px;
  font-size: 1.1rem;
  text-align: center !important;
}

.ec-404Role .ec-blockBtn--cancel {
  margin-top: 30px;
  width: 100%;
  box-sizing: border-box;
}

/*
退会手続き（フロントページ）

使用箇所：
* Mypage/withdraw.twig

警告アイコンを包括するdiv要素で、Twig内で「style="font-size:100px;text-align:center;"」とインラインCSSが記述されており少々手荒な感じがしますが、
当テンプレートでのCSSスタイリングに影響は微小ととらえTwigは編集せずそのままにしておきます。

Markup:
../styleguide/tmpl/21.1.html

Styleguide 21.1
*/
.ec-withdrawRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  text-align: center;
}

.ec-withdrawRole .ec-icon {
  line-height: 16px;
  line-height: 1rem;
}

.ec-withdrawRole .ec-icon img {
  width: 60px;
  height: 60px;
}

.ec-withdrawRole .ec-withdrawRole__title {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 1em 0;
}

.ec-withdrawRole .ec-withdrawRole__description {
  font-size: 17.6px;
  font-size: 1.1rem;
}

.ec-withdrawRole .ec-blockBtn--cancel {
  margin-top: 30px;
}

/*
退会手続き（確認ページ）

使用箇所：
Mypage\withdraw_confirm.twig

フロントページでは「.ec-withdrawRole」がコンテナになっていますが、こちらの確認ページでは「.ec-withdrawConfirmRole」でスタイリングされているものの、
コンテナ要素にはなっておりません。この親要素として「.ec-maypageRole」がつけられておりこちらがコンテナとなっています。

Markup:
../styleguide/tmpl/21.1.2.html

Styleguide 21.1.2
*/
.ec-withdrawConfirmRole {
  text-align: center;
}

.ec-withdrawConfirmRole .ec-icon {
  line-height: 16px;
  line-height: 1rem;
}

.ec-withdrawConfirmRole .ec-icon img {
  width: 60px;
  height: auto;
}

.ec-withdrawConfirmRole .ec-withdrawConfirmRole__title {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 1em 0;
}

.ec-withdrawConfirmRole .ec-withdrawConfirmRole__description {
  font-size: 17.6px;
  font-size: 1.1rem;
}

.ec-withdrawConfirmRole .ec-blockBtn--cancel {
  margin-top: 30px;
  margin-bottom: 10px;
}

.ec-withdrawConfirmRole .ec-blockBtn {
  background-color: #a80000;
  border-color: #a80000;
}

/*
会員情報編集完了

会員情報編集完了で使用するページコンポーネントです。

ex [会員情報編集完了](http://eccube-4.0.2.local/mypage/change_complete)

使用箇所：なし

※現バージョンでの編集完了画面は`.ec-registerCompleteRole`となっており、これは「19.1 会員登録」の中で定義されていますので、
こちらのスタイリングは未使用につき不要と思われます。

Markup:
../styleguide/tmpl/22.1.html

Styleguide 22.1
*/
/*
.ec-userEditCompleteRole {
  @include container;
  text-align: center;
  padding: 0 16px;

  & &__title{
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 24px;
    @include media_desktop(){
      font-size: 32px;
    }
  }
  
  & &__description{
    margin-bottom: 32px;
    font-size: 16px;
  }
}
*/
/*
ヘルプ

各ヘルプページに関する Project コンポーネントを定義します。

該当ページ：
* Help/about.twig
* Help/agreement.twig
* Help/guide.twig
* Help/privacy.twig
* Help/tradelaw.twig

Styleguide 23.1
*/
.ec-helpRole {
  margin: 0 auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}

.ec-helpRole h3 {
  font-size: 1.1em;
  font-weight: normal;
  margin: 2em 0 1em;
  border-left: solid 5px #cdc4ab;
  padding: .25em .5em;
}

.ec-helpRole h4 {
  font-size: 1em;
  font-weight: 500;
  margin: 1em 0;
}

.ec-helpRole h4:before {
  content: "【";
}

.ec-helpRole h4:after {
  content: "】";
}

.ec-helpRole .fig img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*
規約条文

規約条文の汎用スタイルです。

該当ページ：
* Help/agreement.twig
* Help/privacy.twig

Styleguide 23.2
*/
.ec-provision .ec-provision__heading {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 2em;
}

.ec-provision dl {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 2em;
}

.ec-provision dl dt {
  font-weight: 700;
  margin-bottom: 0.5em;
}

.ec-provision dl dd {
  font-size: 1em;
  font-weight: normal;
  margin: 0;
}

/*
利用規約

agreement.twigでは{{ '（規約本文）'|raw|nl2br }}で全文がpre要素のごとく出力されていますが、内容を記述しやすいようにするためか、
アポストロフィ「'」で改行してコーディングされていますので、冒頭に<br>が入ってしまう形になります。
それをCSSで吸収しておきたいのでネガティブマージンを使用しています。
↓
利用規約もプライバシーポリシーと同じスタイルとしておきたいと思い、Twigを編集して規約条文と同じ「.ec-provision」で書き換えました。これにより「.ec-agreement」は未使用となります。

Styleguide 23.3
*/
.ec-agreement {
  margin-top: -1em;
}
@media only screen and (max-width: 767px){

  html{
    font-size: 3.73333vw;
  }

  .dl_table.rwd dl{
    margin: 0;
    border: none !important;
    background-color: transparent !important;
  }

  .dl_table.rwd dt{
    display: block;
    padding: 0.5em;
    margin-bottom: 0.5em;
    background-color: #f0f0f0;
  }

  .dl_table.rwd dd{
    display: block;
    padding: 0 0 1em;
  }

  .ec-pageHeader h1{
    margin-left: -6.25vw;
    margin-right: -6.25vw;
    padding: 0.85em 6.25vw;
    font-size: 1.2rem;
    border-bottom: solid 1px #ddd;
    margin-bottom: 1em;
  }

  .ec-reportHeading{
    text-align: left;
  }

  .ec-borderedDefs dl{
    padding: 0.5em 0;
  }

  .ec-borderedDefs dt{
    display: block;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #eee;
  }

  .ec-borderedDefs dd{
    display: block;
    padding: 1rem 0;
  }

  .ec-blockTopBtn{
    font-size: 26px;
    right: 10px;
    bottom: 10px;
  }

  .ec-label{
    font-weight: 500;
  }

  .ec-progress{
    width: calc(100% + 20px);
    transform: translateX(-10px);
  }

  .ec-progress .ec-progress__item{
    font-size: 1.2rem;
  }

  .ec-progress .ec-progress__label{
    font-size: 0.7rem;
  }

  .ec-totalBox{
    padding: 0.5em 1em 1em;
  }

  .ec-navlistRole{
    position: relative;
  }

  .ec-navlistRole .ec-navlistRole__navlist{
    display: none;
  }

  .ec-navlistRole .mypageMenuBtn{
    display: block;
    font-size: 0.8rem;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    padding-left: .5em;
  }

  .ec-navlistRole .mypageMenuBtn i{
    display: inline-block;
    vertical-align: -0.18em;
    font-size: 1.4em;
    margin-right: 3px;
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }

  .ec-favoriteRole .ec-favoriteRole__itemList{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 10px ) / 2);
    margin-left: 10px;
    margin-top: 20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li:nth-child(2n+1){
    margin-left: 0;
  }

  .ec-layoutRole .ec-layoutRole__contents{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-layoutRole .ec-layoutRole__mainWithColumn,
  .ec-layoutRole .ec-layoutRole__mainBetweenColumn{
    -ms-flex-order: 1;
        order: 1;
    width: 100%;
    max-width: 100%;
  }

  .ec-layoutRole .ec-layoutRole__left,
  .ec-layoutRole .ec-layoutRole__right{
    -ms-flex-order: 2;
        order: 2;
    width: 100%;
    max-width: 100%;
    margin-top: 6.25vw;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-layoutRole .ec-layoutRole__right{
    -ms-flex-order: 3;
        order: 3;
  }

  .ec-role{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-mypageRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-headerRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-headerRole{
    height: 45px;
    padding: 0;
  }

  .ec-headerRole .ec-headerRole__left{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .ec-headerRole .ec-headerRole__center{
    display: none;
  }

  .ec-headerRole .ec-headerRole__right{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding-right: 10px;
  }

  .ec-drawerButton{
    width: 45px;
    height: 45px;
    padding: 10px;
  }

  .ec-headerTitle{
    height: 100%;
  }

  .ec-headerTitle a{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    height: 100%;
  }

  .ec-headerTitle a img{
    height: 35px;
    width: auto;
  }

  .ec-headerMenu .ec-headerMenu__item.hidden_mobile{
    display: none;
  }

  .ec-headerMenu .ec-headerMenu__itemText{
    display: none;
  }

  .ec-headerMenu .ec-headerMenu__itemPopup{
    display: none;
  }

  .ec-headerRole{
    position: relative;
  }

  .ec-headerMenu .ec-headerSearch__body{
    width: 100%;
    left: 0;
  }

  .ec-drawerRole{
    height: calc(100vh - 45px);
    top: 45px;
    padding: 5px 20px 0;
  }

  .ec-overlayRole{
    height: calc(100vh - 45px);
    top: 45px;
  }

  .ec-layoutRole{
    padding-top: 45px;
  }

  .ec-layoutRole__footer{
    margin-top: 6.25vw;
  }

  .ec-footerRole{
    font-size: 0.9285rem;
  }

  .ec-footerGuide .ec-footerGuide__inner{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-footerGuide{
    padding-top: 6.25vw;
  }

  .ec-footerGuide .ec-footerGuide__item{
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0;
    border-left: none;
    margin-bottom: 6.25vw;
  }

  .ec-footerGuide .ec-footerGuide__itemText p{
    line-height: 1.3;
  }

  .ec-footerNavi{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-footerNavi{
    padding-top: 6.25vw;
  }

  .ec-footerNavi .ec-footerNavi__wrap{
    margin-top: -20px;
  }

  .ec-footerNavi .ec-footerNavi__item{
    width: 100%;
    margin-top: 20px;
  }

  .ec-footerLogo{
    max-width: 120px;
    margin: 0 auto;
  }

  .ec-footerSocial{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-footerTitle{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-footerTitle{
    padding-top: 3.125vw;
    padding-bottom: 3.125vw;
  }

  .ec-headPromotionRole .ec-slickContainer .caption{
    padding-left: 6.25vw;
    padding-bottom: 1rem;
    font-size: 1.5rem;
  }

  .ec-headPromotionRole .ec-slickContainerNav{
    display: none;
  }

  .ec-eyecatchRole .ec-eyecatchRole__intro{
    padding: 6.25vw;
  }

  .ec-eyecatchRole .ec-eyecatchRole__introDescriptiron{
    line-height: 1.7;
  }

  .ec-featuredProductsRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-featuredProductsRole{
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
  }

  .ec-featuredCategoryRole .categoryContent__inner{
    padding: 6.25vw;
    padding-bottom: 45px;
  }

  .ec-featuredCategoryRole .categoryContent .ec-blockBtn{
    margin-left: auto;
    margin-right: auto;
  }

  .ec-featuredCategoryRole .categoryContentShelf{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 14px ) / 3);
    margin-left: 7px;
    margin-top: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf > li:nth-child(3n+1){
    margin-left: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf li:nth-child(n+4){
    display: none;
  }

  .ec-categoryRankingRole{
    padding: 6.25vw;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav{
    margin-bottom: 6.25vw;
  }

  .ec-categoryRankingRole .rankingProductsShelf{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -10px;
    /* 上位6個までを表示し7個以降は非表示（個数制限が不要なら削除してください） */
  }

  .ec-categoryRankingRole .rankingProductsShelf > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 14px ) / 3);
    margin-left: 7px;
    margin-top: 10px;
  }

  .ec-categoryRankingRole .rankingProductsShelf > li:nth-child(3n+1){
    margin-left: 0;
  }

  .ec-categoryRankingRole .rankingProductsShelf li:nth-child(n+7){
    display: none;
  }

  .ec-newsRole .ec-newsRole__newsHeading{
    width: 100%;
    margin: 0;
  }

  .ec-newsRole .ec-newsRole__newsColumn{
    width: 100%;
    margin: 0;
  }

  .ec-searchnavRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-searchnavRole .ec-searchnavRole__inner{
    margin-left: -6.25vw;
    margin-right: -6.25vw;
    padding: 10px 10px;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-searchnavRole .ec-searchnavRole__topicpath{
    width: 100%;
    padding: 0;
    font-size: 0.9rem;
  }

  .ec-searchnavRole .ec-searchnavRole__infos{
    width: 100%;
    border-top: solid 1px #ddd;
    margin-top: 10px;
    padding-top: 10px;
  }

  .ec-childCategoryRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-shelfRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-productItemRole .ec-productItemRole__image .productItem_stockout{
    font-size: 1rem;
    padding: .5em;
  }

  .ec-productItemRole .ec-quantityRole .ec-quantityRole__btn{
    width: 2.65rem;
    height: 2.65rem;
    line-height: 2.65rem;
  }

  .ec-productItemRole .ec-quantityRole .ec-numberInput{
    height: 2.65rem;
  }

  .ec-productItemRole .ec-quantityRole .ec-numberInput input{
    height: 2.65rem;
    width: 2.65rem;
  }

  .ec-pagerRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-productRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-productRole .ec-productRole__gridCell.cellLeft{
    margin-left: -6.25vw;
    margin-right: -6.25vw;
  }

  .ec-productRole .ec-productRole__gridCell.cellRight{
    margin-top: 20px;
  }

  .ec-productRole__visual .ec-productVisualNav{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -1px;
    margin-top: 0;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 4px ) / 5);
    margin-left: 1px;
    margin-top: 1px;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb:nth-child(5n+1){
    margin-left: 0;
  }

  .ec-productRole .ec-productRole__cartinRow{
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-productRole .ec-productRole__cartinRow .quantityLabel{
    display: block;
  }

  .ec-productRole .ec-productRole__cartinRow .ec-quantityRole{
    margin-bottom: 10px;
  }

  .ec-cartRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-cartRole .ec-cartRole__progress{
    margin-bottom: 20px;
  }

  .ec-cartRole .ec-cartRole__actions{
    width: 100%;
    margin: 0;
  }

  .ec-cartTable{
    display: block;
    border-top: 1px solid #eee;
  }

  .ec-cartHeader{
    display: none;
  }

  .ec-cartRow{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    font-size: 1rem;
    padding-top: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #eee;
    position: relative;
    /* ■ 削除カラム */
    /* ■ 商品内容カラム */
    /* 商品画像 */
    /* ■ 数量カラム */
    /* ■ 小計カラム */
  }

  .ec-cartRow .ec-cartRow__delColumn{
    position: absolute;
    top: 0.5em;
    right: 0;
  }

  .ec-cartRow .ec-cartRow__contentColumn{
    -ms-flex-order: 1;
        order: 1;
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    width: 100%;
    margin-bottom: 5px;
  }

  .ec-cartRow .ec-cartRow__img{
    width: 22vw;
    max-width: 120px;
  }

  .ec-cartRow .ec-cartRow__amountColumn{
    -ms-flex-order: 3;
        order: 3;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    height: 36px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    /* 数量表示 */
    /* 数量変更ボタンエリア */
    /* 数量変更ボタンサイズ */
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount{
    margin-right: 1em;
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount:before{
    content: "数量";
    display: inline-block;
    margin-right: .5em;
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton,
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton,
  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled{
    width: 36px;
    height: 36px;
  }

  .ec-cartRow .ec-cartRow__subtotalColumn{
    -ms-flex-order: 4;
        order: 4;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    min-width: 25%;
    padding-left: 1em;
    height: 36px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
  }

  .ec-cartCompleteRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-orderRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-orderRole{
    display: block;
  }

  .ec-orderOrder,
  .ec-orderAccount,
  .ec-orderDelivery,
  .ec-orderPayment{
    margin-bottom: 6.25vw;
  }

  .ec-orderConfirm{
    margin-bottom: 6.25vw;
  }

  .ec-orderAccount .ec-borderedDefs{
    margin-bottom: 0;
  }

  .ec-AddAddress{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-AddAddress .ec-AddAddress__new{
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .ec-AddAddress .ec-AddAddress__add{
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .ec-AddAddress .ec-AddAddress__select{
    position: relative;
  }

  .ec-AddAddress .ec-AddAddress__select .ec-inlineBtn.delete{
    position: absolute;
    bottom: 1em;
    right: 1em;
    padding: 8px 1em;
  }

  .ec-AddAddress .ec-AddAddress__selectAddress{
    display: block;
  }

  .ec-AddAddress .ec-AddAddress__selectAddress label{
    margin: 0 0 1em;
  }

  .ec-AddAddress .ec-AddAddress__selectAddress select{
    max-width: 100%;
  }

  .ec-AddAddress .ec-AddAddress__selectNumber{
    display: block;
    margin-left: 0;
    margin-top: 1em;
  }

  .ec-historyRole .ec-historyRole__contents{
    display: block;
  }

  .ec-historyRole .ec-historyRole__header{
    width: 100%;
    padding: 10px;
  }

  .ec-historyRole .ec-historyRole__detail{
    width: 100%;
    padding: 0;
    margin-top: 10px;
  }

  .ec-historyListHeader{
    position: relative;
  }

  .ec-historyListHeader .ec-definitions, .ec-historyListHeader .ec-definitions--soft{
    margin: 0;
  }

  .ec-historyListHeader .ec-historyListHeader__action{
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }

  .ec-forgotRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-registerRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-registerCompleteRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-contactRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-contactConfirmRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-contactCompleteRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-customerRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-404Role{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-withdrawRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-helpRole{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }

  .ec-helpRole .ec-navlistRole{
    margin-bottom: 6.25vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px){

  html{
    font-size: 1.95313vw;
  }

  .ec-pageHeader h1{
    margin-left: -3.906vw;
    margin-right: -3.906vw;
    padding: 0.85em 3.906vw;
    font-size: 1.2rem;
    border-bottom: solid 1px #ddd;
  }

  .ec-borderedDefs dl{
    display: table;
    border-bottom: 1px solid #eee;
  }

  .ec-borderedDefs dt{
    display: table-cell;
    width: 30%;
    vertical-align: middle;
  }

  .ec-borderedDefs dd{
    display: table-cell;
    width: auto;
    vertical-align: middle;
    padding: 1.5rem 0;
  }

  .ec-off2Grid,
  .ec-off3Grid,
  .ec-off4Grid{
    display: block;
    margin: 0;
  }

  .ec-off2Grid .ec-off2Grid__cell,
  .ec-off3Grid .ec-off2Grid__cell,
  .ec-off4Grid .ec-off2Grid__cell, .ec-off2Grid
  .ec-off3Grid__cell,
  .ec-off3Grid
  .ec-off3Grid__cell,
  .ec-off4Grid
  .ec-off3Grid__cell, .ec-off2Grid
  .ec-off4Grid__cell,
  .ec-off3Grid
  .ec-off4Grid__cell,
  .ec-off4Grid
  .ec-off4Grid__cell{
    width: 450px;
    margin: 0 auto;
  }

  .ec-progress{
    max-width: 62.5vw;
  }

  .ec-totalBox{
    padding: 0.5em 1em 1em;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 60px ) / 4);
    margin-left: 20px;
    margin-top: 20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li:nth-child(4n+1){
    margin-left: 0;
  }

  .ec-layoutRole .ec-layoutRole__contents{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-layoutRole .ec-layoutRole__mainWithColumn,
  .ec-layoutRole .ec-layoutRole__mainBetweenColumn{
    -ms-flex-order: 1;
        order: 1;
    width: 100%;
    max-width: 100%;
  }

  .ec-layoutRole .ec-layoutRole__left,
  .ec-layoutRole .ec-layoutRole__right{
    -ms-flex-order: 2;
        order: 2;
    width: 100%;
    max-width: 100%;
    margin-top: 3.906vw;
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-layoutRole .ec-layoutRole__right{
    -ms-flex-order: 3;
        order: 3;
  }

  .ec-role{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-mypageRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-headerRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-headerRole{
    height: 50px;
    padding: 0;
  }

  .ec-headerRole .ec-headerRole__left{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
  }

  .ec-headerRole .ec-headerRole__center{
    display: none;
  }

  .ec-headerRole .ec-headerRole__right{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding-right: 10px;
  }

  .ec-drawerButton{
    width: 50px;
    height: 50px;
    padding: 12px;
  }

  .ec-headerTitle{
    height: 100%;
  }

  .ec-headerTitle a{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    height: 100%;
  }

  .ec-headerTitle a img{
    height: 45px;
    width: auto;
  }

  .ec-headerMenu .ec-headerMenu__itemPopup{
    display: none;
  }

  .ec-headerRole{
    position: relative;
  }

  .ec-headerMenu .ec-headerSearch__body{
    width: 100%;
    left: 0;
  }

  .ec-drawerRole{
    height: calc(100vh - 50px);
    top: 50px;
    padding: 10px 30px 0;
  }

  .ec-overlayRole{
    height: calc(100vh - 50px);
    top: 50px;
  }

  .ec-layoutRole{
    padding-top: 50px;
  }

  .ec-layoutRole__footer{
    margin-top: 3.906vw;
  }

  .ec-footerRole{
    font-size: 0.8666rem;
  }

  .ec-footerGuide .ec-footerGuide__inner{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-footerGuide{
    padding-top: 3.906vw;
    padding-bottom: 3.906vw;
  }

  .ec-footerGuide .ec-footerGuide__wrap{
    margin-left: -20px;
    margin-right: -20px;
  }

  .ec-footerGuide .ec-footerGuide__item{
    padding: 0 20px;
    display: block;
  }

  .ec-footerGuide .ec-footerGuide__itemIcon{
    margin-bottom: .5em;
  }

  .ec-footerGuide .ec-footerGuide__itemText p{
    line-height: 1.3;
  }

  .ec-footerNavi{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-footerNavi{
    padding-top: 3.906vw;
    /* 1カラム目（フッターロゴカラム）をフル幅に */
    /* フッターロゴ以降のカラムを3分割 */
    /* 区切り罫線 */
  }

  .ec-footerNavi .ec-footerNavi__wrap{
    margin-left: -15px;
    margin-right: -15px;
  }

  .ec-footerNavi .ec-footerNavi__item:nth-child(1){
    width: 100%;
    margin-bottom: 3.906vw;
  }

  .ec-footerNavi .ec-footerNavi__item{
    width: 33.33%;
    padding: 0 15px;
  }

  .ec-footerNavi .ec-footerNavi__item:nth-child(n+3){
    border-left: solid 1px rgba(255, 255, 255, 0.15);
  }

  .ec-footerLogo{
    max-width: 150px;
    margin: 0 auto;
  }

  .ec-footerSocial{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-footerTitle{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-footerTitle{
    padding-top: 1.953vw;
    padding-bottom: 1.953vw;
  }

  .ec-headPromotionRole .ec-slickContainer .caption{
    padding-left: 3.906vw;
    padding-bottom: 1rem;
    font-size: 1.5rem;
  }

  .ec-headPromotionRole .ec-slickContainerNav{
    display: none;
  }

  .ec-eyecatchRole .ec-eyecatchRole__intro{
    padding: 3.906vw;
  }

  .ec-featuredProductsRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-featuredProductsRole{
    padding-top: 3.906vw;
    padding-bottom: 3.906vw;
  }

  .ec-featuredCategoryRole .categoryContent__inner{
    padding: 3.906vw;
    padding-bottom: 45px;
  }

  .ec-featuredCategoryRole .categoryContentShelf{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 30px ) / 4);
    margin-left: 10px;
    margin-top: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf > li:nth-child(4n+1){
    margin-left: 0;
  }

  .ec-featuredCategoryRole .categoryContentShelf li:nth-child(n+5){
    display: none;
  }

  .ec-categoryRankingRole{
    padding: 3.906vw;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav{
    margin-bottom: 3.906vw;
  }

  .ec-categoryRankingRole .rankingProductsShelf{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -15px;
    /* 上位8個までを表示し9個以降は非表示（個数制限が不要なら削除してください） */
  }

  .ec-categoryRankingRole .rankingProductsShelf > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 30px ) / 4);
    margin-left: 10px;
    margin-top: 15px;
  }

  .ec-categoryRankingRole .rankingProductsShelf > li:nth-child(4n+1){
    margin-left: 0;
  }

  .ec-categoryRankingRole .rankingProductsShelf li:nth-child(n+9){
    display: none;
  }

  .ec-searchnavRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-searchnavRole .ec-searchnavRole__inner{
    margin-left: -3.906vw;
    margin-right: -3.906vw;
    padding: 10px 3.906vw;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-searchnavRole .ec-searchnavRole__topicpath{
    width: 100%;
    padding: 0;
    font-size: 0.9rem;
  }

  .ec-searchnavRole .ec-searchnavRole__infos{
    width: 100%;
    border-top: solid 1px #ddd;
    margin-top: 10px;
    padding-top: 10px;
  }

  .ec-childCategoryRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-shelfRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-pagerRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-productRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-productRole .ec-productRole__gridCell.cellLeft{
    margin-left: -3.906vw;
    margin-right: -3.906vw;
  }

  .ec-productRole .ec-productRole__gridCell.cellRight{
    margin-top: 30px;
  }

  .ec-productRole__visual .ec-productVisualNav{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -1px;
    margin-top: 0;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 4px ) / 5);
    margin-left: 1px;
    margin-top: 1px;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb:nth-child(5n+1){
    margin-left: 0;
  }

  .ec-cartRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-cartCompleteRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-orderRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-orderRole{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }

  .ec-orderRole .ec-orderRole__detail{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    padding-right: 30px;
  }

  .ec-orderRole .ec-orderRole__summary{
    -ms-flex: 0 0 250px;
        flex: 0 0 250px;
    /*
      スクロールしてもサマリー欄をページ内に粘着（sticky）させる
      EC-CUBE4標準ではJavascriptで実装している機能ですが、CSSの「position:sticky;」を使って実装してみます。
      当テンプレートではヘッダーがページ上部に固定させる仕様のため、そのままではヘッダーに隠れてしまいます。
      スクリプトを調整するよりはstickyでの実装が簡単だと判断しました。（※IE11では動作しません。）
      */
  }

  .ec-orderRole .ec-orderRole__summary .ec-totalBox{
    margin: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 70px;
  }

  .ec-orderOrder,
  .ec-orderAccount,
  .ec-orderDelivery,
  .ec-orderPayment{
    margin-bottom: 3.906vw;
  }

  .ec-AddAddress{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-AddAddress .ec-AddAddress__selectAddress select{
    max-width: 50vw;
  }

  .ec-historyRole .ec-historyRole__header{
    -ms-flex-preferred-size: 33%;
        flex-basis: 33%;
  }

  .ec-forgotRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-forgotRole .ec-forgotRole__form{
    margin-bottom: 3.906vw;
  }

  .ec-registerRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-registerCompleteRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-registerRole .ec-registerRole__actions,
  .ec-registerRole .ec-RegisterRole__actions,
  .ec-mypageRole .ec-registerRole__actions,
  .ec-mypageRole .ec-RegisterRole__actions,
  .ec-contactRole .ec-registerRole__actions,
  .ec-contactRole .ec-RegisterRole__actions,
  .ec-contactConfirmRole .ec-registerRole__actions,
  .ec-contactConfirmRole .ec-RegisterRole__actions,
  .ec-customerRole .ec-registerRole__actions,
  .ec-customerRole .ec-RegisterRole__actions{
    margin-top: 3.906vw;
  }

  .ec-contactRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-contactConfirmRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-contactCompleteRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-customerRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-404Role{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-withdrawRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-helpRole{
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }

  .ec-helpRole .ec-navlistRole{
    margin-bottom: 3.906vw;
  }
}
@media only screen and (min-width: 1280px){

  html{
    font-size: 15px;
  }

  .ec-pageHeader h1{
    padding: 0.75em 0.75em;
    font-size: 1.3em;
  }

  .ec-reportDescription{
    text-align: center;
  }

  .ec-borderedDefs dl{
    display: table;
    border-bottom: 1px solid #eee;
  }

  .ec-borderedDefs dl:first-child{
    border-top: 1px solid #eee;
  }

  .ec-borderedDefs dt{
    display: table-cell;
    width: 30%;
    vertical-align: middle;
  }

  .ec-borderedDefs dd{
    display: table-cell;
    width: auto;
    vertical-align: middle;
    padding: 1.5rem 0;
  }

  .ec-select__delivery{
    display: inline-block;
  }

  .ec-select__time{
    display: inline-block;
    margin-left: 1rem;
  }

  .ec-grid2{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-grid2 .ec-grid2__cell{
    width: 50%;
  }

  .ec-grid2 .ec-grid2__cell2{
    width: 100%;
  }

  .ec-grid3{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-grid3 .ec-grid3__cell{
    width: 33.33333%;
  }

  .ec-grid3 .ec-grid3__cell2{
    width: 66.66667%;
  }

  .ec-grid3 .ec-grid3__cell3{
    width: 100%;
  }

  .ec-grid4{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-grid4 .ec-grid4__cell{
    width: 25%;
  }

  .ec-grid6{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-grid6 .ec-grid6__cell{
    width: 16.66667%;
  }

  .ec-grid6 .ec-grid6__cell2{
    width: 33.33333%;
  }

  .ec-grid6 .ec-grid6__cell3{
    width: 50%;
  }

  .ec-off2Grid{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-off2Grid .ec-off2Grid__cell{
    min-height: 1px;
  }

  .ec-off3Grid{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-off3Grid .ec-off3Grid__cell{
    min-height: 1px;
  }

  .ec-off4Grid{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }

  .ec-off4Grid .ec-off4Grid__cell{
    min-height: 1px;
  }

  .ec-login .ec-login__icon .ec-icon{
    text-align: left;
  }

  .ec-login .ec-login__input{
    margin-bottom: 20px;
  }

  .ec-login .ec-login__link{
    margin-top: 0;
    margin-left: 1.5em;
    margin-bottom: 0.5em;
  }

  .ec-guest{
    width: auto;
    margin: 0;
    height: 100%;
    margin-left: 40px;
  }

  .ec-pager{
    margin-top: 60px;
  }

  .ec-progress{
    max-width: 600px;
  }

  .ec-welcomeMsg{
    margin-bottom: 60px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 120px ) / 5);
    margin-left: 30px;
    margin-top: 20px;
  }

  .ec-favoriteRole .ec-favoriteRole__itemList > li:nth-child(5n+1){
    margin-left: 0;
  }

  .ec-layoutRole .ec-layoutRole__contents{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .ec-layoutRole .ec-layoutRole__mainWithColumn{
    -ms-flex-order: 2;
        order: 2;
    width: 75%;
    max-width: 75%;
  }

  .ec-layoutRole .ec-layoutRole__mainBetweenColumn{
    -ms-flex-order: 2;
        order: 2;
    width: 50%;
    max-width: 50%;
  }

  .ec-layoutRole .ec-layoutRole__left{
    -ms-flex-order: 1;
        order: 1;
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%;
    box-sizing: border-box;
    padding-left: 40px;
  }

  .ec-layoutRole .ec-layoutRole__right{
    -ms-flex-order: 3;
        order: 3;
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%;
    box-sizing: border-box;
    padding-right: 40px;
  }

  .ec-role{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-mypageRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-headerRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-headerRole{
    height: 100px;
    /* 各ボタンなど改行されないよう幅調整をしてください
     * __leftと__rightの幅の大きさは同じ割合にしてください（ロゴのセンタリングのため）
     * うまく収まりがつかない場合はロゴのサイズや各ボタンの調整が必要になります
     */
  }

  .ec-headerRole .ec-headerRole__left{
    -ms-flex: 1 1 35%;
        flex: 1 1 35%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
  }

  .ec-headerRole .ec-headerRole__center{
    -ms-flex: 1 1 30%;
        flex: 1 1 30%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
  }

  .ec-headerRole .ec-headerRole__right{
    -ms-flex: 1 1 35%;
        flex: 1 1 35%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
  }

  .ec-drawerButton{
    display: none;
  }

  .ec-headerTitle{
    height: 100%;
  }

  .ec-headerTitle a{
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
  }

  .ec-headerTitle a img{
    width: auto;
    height: 100%;
    max-height: 80px;
  }

  .ec-headerMenu{
    position: relative;
  }

  .ec-headerMenu .ec-headerSearch__body{
    left: 0;
    width: 380px;
    padding-top: 14px;
  }

  .ec-headerMenu .ec-headerSearch__wrap{
    position: relative;
  }

  .ec-headerMenu .ec-headerSearch__wrap:after{
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: 100%;
    left: 10px;
    border: solid 10px transparent;
    border-bottom-color: #ccc;
  }

  .ec-drawerRole{
    display: none;
  }

  .ec-overlayRole{
    display: none;
  }

  .ec-layoutRole{
    padding-top: 140px;
  }

  .ec-layoutRole .ec-headerRole{
    transition: .3s;
  }

  body.scrolled .ec-layoutRole .ec-headerRole{
    height: 50px;
  }

  body#page_homepage .ec-layoutRole{
    padding-top: 0;
  }

  body#page_homepage .ec-layoutRole .ec-layoutRole__header{
    transition: .6s;
  }

  body#page_homepage.scrolled .ec-layoutRole__header{
    background-color: #f4f4f4;
  }

  .ec-layoutRole__footer{
    margin-top: 100px;
  }

  .ec-footerRole{
    font-size: 0.8666rem;
  }

  .ec-footerGuide .ec-footerGuide__inner{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-footerGuide{
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .ec-footerGuide .ec-footerGuide__wrap{
    margin-left: -20px;
    margin-right: -20px;
  }

  .ec-footerGuide .ec-footerGuide__item{
    padding: 0 20px;
  }

  .ec-footerGuide .ec-footerGuide__itemIcon{
    font-size: 28px;
  }

  .ec-footerNavi{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-footerNavi{
    padding-top: 40px;
    /* 区切り罫線 */
  }

  .ec-footerNavi .ec-footerNavi__wrap{
    margin-left: -20px;
    margin-right: -20px;
  }

  .ec-footerNavi .ec-footerNavi__item{
    width: 25%;
    padding: 0 20px;
  }

  .ec-footerNavi .ec-footerNavi__item:nth-child(n+2){
    border-left: solid 1px rgba(255, 255, 255, 0.15);
  }

  .ec-footerSocial{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-footerSocial .ec-footerSocial__itemList li a{
    color: #fff;
    background-color: rgba(255, 255, 255, 0.2);
    transition: .2s;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.facebook a:hover{
    background-color: #3B5999;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.twitter a:hover{
    background-color: #1B95E0;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.instagram a:hover{
    background-color: #f00075;
  }

  .ec-footerTitle{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-footerTitle{
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .slickGutter .slick-list{
    margin-left: -20px;
    -webkit-clip-path: inset(0 0 0 20px);
            clip-path: inset(0 0 0 20px);
  }

  .slickGutter .slick-list .slick-slide{
    margin-left: 20px;
  }

  .slickArrowOuter .slick-arrow{
    width: 1em;
  }

  .slickArrowOuter .slick-arrow.slick-prev{
    left: auto;
    right: 100%;
  }

  .slickArrowOuter .slick-arrow.slick-next{
    right: auto;
    left: 100%;
  }

  .ec-headPromotionRole .ec-slickContainer .caption{
    padding-left: 40px;
    padding-bottom: 30px;
    font-size: 1.75rem;
  }

  .ec-headPromotionRole{
    position: relative;
  }

  .ec-headPromotionRole .ec-slickContainerNav{
    position: absolute;
    bottom: 30px;
    right: 40px;
    width: 400px;
  }

  .ec-headPromotionRole .ec-slickContainerNav .item{
    margin: 0 10px;
  }

  .ec-headPromotionRole .ec-slickContainerNav .slick-arrow{
    font-size: 2rem;
    width: 1em;
  }

  .ec-headPromotionRole .ec-slickContainerNav .slick-prev{
    left: auto;
    right: 100%;
  }

  .ec-headPromotionRole .ec-slickContainerNav .slick-next{
    right: auto;
    left: 100%;
  }

  .ec-eyecatchRole .ec-eyecatchRole__intro{
    padding: 80px 40px;
  }

  .ec-eyecatchRole h2{
    font-size: 3rem;
  }

  .ec-blockBtn--top{
    max-width: 260px;
  }

  .ec-secHeading .ec-secHeading__maintitle{
    font-size: 2rem;
  }

  .ec-topicRole .ec-topicRole__list{
    padding: 20px;
  }

  .ec-topicRole .ec-topicRole__listItem a:hover .pic{
    transform: scale(1.1);
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.8" /><feFuncG type="linear" slope="0.8" /><feFuncB type="linear" slope="0.8" /></feComponentTransfer></filter></svg>#filter');
    filter: brightness(0.8);
  }

  .ec-topicRole .ec-topicRole__listItem:nth-child(1){
    margin-right: 20px;
  }

  .ec-topicRole .ec-topicRole__listItem:nth-child(2){
    width: calc(35% - 20px);
  }

  .ec-topicRole .ec-topicRole__listItem:nth-child(3){
    width: calc(35% - 20px);
    margin-left: 20px;
  }

  .ec-topicRole .ec-topicRole__listItem:nth-child(4){
    width: calc(70% - 20px);
    padding-top: calc(20% - 20px);
    margin-top: 20px;
  }

  .ec-featuredProductsRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-featuredProductsRole{
    padding: 80px 60px;
  }

  .ec-featuredCategoryRole .categoryContent__inner{
    width: 50%;
    margin-left: 50%;
    padding: 7%;
    padding-left: 0;
  }

  .ec-featuredCategoryRole .categoryContent h2{
    font-size: 2rem;
    text-align: left;
  }

  .ec-featuredCategoryRole .slick-dots{
    bottom: 30px;
  }

  .ec-categoryRankingRole{
    padding: 80px 40px;
  }

  .ec-categoryRankingRole:after{
    content: "";
    display: table;
    clear: both;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav{
    float: left;
    width: 25%;
    padding-right: 40px;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__list{
    float: right;
    width: 75%;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav h2{
    font-size: 2rem;
    text-align: left;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav{
    margin-top: 0;
  }

  .ec-categoryRankingRole .ec-categoryRankingRole__nav .categoryNav li{
    display: block;
  }

  .ec-categoryRankingRole .rankingProductsShelf{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -20px;
  }

  .ec-categoryRankingRole .rankingProductsShelf > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 80px ) / 5);
    margin-left: 20px;
    margin-top: 20px;
  }

  .ec-categoryRankingRole .rankingProductsShelf > li:nth-child(5n+1){
    margin-left: 0;
  }

  .ec-newsRole{
    margin: 40px 0;
  }

  .ec-searchnavRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-childCategoryRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-shelfRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-productItemRole .ec-productItemRole__content .productItem_tags{
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
  }

  .ec-productItemRole .ec-productItemRole__content .productItem_tags p{
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 2px;
  }

  .ec-pagerRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-modal .ec-modal-wrap{
    padding: 40px 10px;
    width: 50%;
    margin: 20px auto;
  }

  .ec-productRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-productRole .ec-productRole__gridCell{
    width: 50%;
    float: left;
  }

  .ec-productRole .ec-productRole__gridCell.cellRight{
    padding-left: 40px;
    box-sizing: border-box;
  }

  .ec-productRole__visual .ec-productVisualNav{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -5px;
    margin-top: 0;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 20px ) / 5);
    margin-left: 5px;
    margin-top: 5px;
  }

  .ec-productRole__visual .ec-productVisualNav > .slideThumb:nth-child(5n+1){
    margin-left: 0;
  }

  .ec-productRole .ec-productRole__freearea{
    margin-top: 60px;
  }

  .ec-cartRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-cartCompleteRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-orderRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-orderRole{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }

  .ec-orderRole .ec-orderRole__detail{
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    padding-right: 40px;
  }

  .ec-orderRole .ec-orderRole__summary{
    -ms-flex: 0 0 27%;
        flex: 0 0 27%;
    /* スクロール粘着（タブレット時と同様） */
  }

  .ec-orderRole .ec-orderRole__summary .ec-totalBox{
    margin: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 130px;
  }

  .ec-orderOrder,
  .ec-orderAccount,
  .ec-orderDelivery,
  .ec-orderPayment{
    margin-bottom: 40px;
  }

  .ec-orderDelivery .ec-orderDelivery__actions label{
    min-width: 5em;
  }

  .ec-AddAddress{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-forgotRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-forgotRole .ec-forgotRole__form{
    margin-bottom: 40px;
  }

  .ec-registerRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-registerCompleteRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-registerRole .ec-registerRole__actions,
  .ec-registerRole .ec-RegisterRole__actions,
  .ec-mypageRole .ec-registerRole__actions,
  .ec-mypageRole .ec-RegisterRole__actions,
  .ec-contactRole .ec-registerRole__actions,
  .ec-contactRole .ec-RegisterRole__actions,
  .ec-contactConfirmRole .ec-registerRole__actions,
  .ec-contactConfirmRole .ec-RegisterRole__actions,
  .ec-customerRole .ec-registerRole__actions,
  .ec-customerRole .ec-RegisterRole__actions{
    margin-top: 40px;
  }

  .ec-contactRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-contactConfirmRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-contactCompleteRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-customerRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-404Role{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-withdrawRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-helpRole{
    padding-left: 40px;
    padding-right: 40px;
  }

  .ec-helpRole .ec-navlistRole{
    margin-bottom: 40px;
  }
}
@media (max-width: 1450px){

  .ec-blockBtn--favorite i span{
    left: auto;
    right: 0;
  }

  .ec-blockBtn--favorite i span:after{
    left: auto;
    right: 10px;
  }
}
@media only screen and (min-width: 1280px) and (min-width: 1280px){

  .ec-off2Grid .ec-off2Grid__cell{
    width: 66.66667%;
  }

  .ec-off3Grid .ec-off3Grid__cell{
    width: 50%;
  }

  .ec-off4Grid .ec-off4Grid__cell{
    width: 33.33333%;
  }
}
@media all and (-ms-high-contrast: none){

  *::-ms-backdrop, body.scrolled .ec-layoutRole__header .ec-headerTitle img{
    width: 125px;
  }

  *::-ms-backdrop, .ec-footerGuide .ec-footerGuide__item{
    max-width: 33.3%;
  }
}
@media only screen and (max-width: 1279px){

  .ec-footerSocial .ec-footerSocial__itemList li a{
    color: #fff;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.facebook a{
    background-color: #3B5999;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.twitter a{
    background-color: #1B95E0;
  }

  .ec-footerSocial .ec-footerSocial__itemList li.instagram a{
    background-color: #f00075;
  }

  .slickArrowOuter .slick-arrow{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 35px;
    height: 35px;
    position: absolute;
    top: auto;
    bottom: 100%;
    font-size: 24.5px;
  }

  .slickArrowOuter .slick-arrow.slick-prev{
    left: auto;
    right: 35px;
  }

  .slickArrowOuter .slick-arrow.slick-next{
    left: auto;
    right: 0;
  }
}
@media (max-width: 767px){

  .ec-shelfGrid{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -20px;
  }

  .ec-shelfGrid > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 15px ) / 2);
    margin-left: 15px;
    margin-top: 20px;
  }

  .ec-shelfGrid > li:nth-child(2n+1){
    margin-left: 0;
  }
}
@media (min-width: 768px) and (max-width: 979px){

  .ec-shelfGrid{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -30px;
  }

  .ec-shelfGrid > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 30px ) / 3);
    margin-left: 15px;
    margin-top: 30px;
  }

  .ec-shelfGrid > li:nth-child(3n+1){
    margin-left: 0;
  }
}
@media (min-width: 980px) and (max-width: 1279px){

  .ec-shelfGrid{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -40px;
  }

  .ec-shelfGrid > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 60px ) / 4);
    margin-left: 20px;
    margin-top: 40px;
  }

  .ec-shelfGrid > li:nth-child(4n+1){
    margin-left: 0;
  }
}
@media (min-width: 1280px){

  .ec-shelfGrid{
    margin: 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-top: -40px;
  }

  .ec-shelfGrid > li{
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc((100% - 1px - 80px ) / 5);
    margin-left: 20px;
    margin-top: 40px;
  }

  .ec-shelfGrid > li:nth-child(5n+1){
    margin-left: 0;
  }
}
@media only screen and (min-width: 768px){

  .ec-cartRow{
    display: table-row;
    font-size: 1rem;
    border-bottom: 1px solid #eee;
    /* ■ 削除カラム */
    /* ■ 商品内容カラム */
    /* 商品画像 */
    /* ■ 数量カラム */
    /* ■ 小計カラム */
  }

  .ec-cartRow .ec-cartRow__delColumn{
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    width: 5em;
  }

  .ec-cartRow .ec-cartRow__delColumn .ec-icon{
    display: inline-block;
  }

  .ec-cartRow .ec-cartRow__delColumn .ec-icon:before{
    border: none;
  }

  .ec-cartRow .ec-cartRow__contentColumn{
    display: table-cell;
    padding-top: 1em;
    padding-bottom: 1em;
  }

  .ec-cartRow .ec-cartRow__img{
    width: 100px;
  }

  .ec-cartRow .ec-cartRow__amountColumn{
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    /* 数量表示 */
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount{
    display: inline-block;
    vertical-align: middle;
    margin-right: 1em;
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount:before{
    content: "数量";
    display: inline-block;
    margin-right: .5em;
  }

  .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown{
    vertical-align: middle;
  }

  .ec-cartRow .ec-cartRow__subtotalColumn{
    text-align: right;
    display: table-cell;
    vertical-align: middle;
  }
}

/*# sourceMappingURL=maps/style.css.map */
