@charset "UTF-8";

/* -----------------------------------------------------------------------
## normalize ##################################################
----------------------------------------------------------------------- */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* 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: 0;
}

/**
 * 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 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and 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 */
    -webkit-text-decoration: underline dotted;
    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: #212121;
}

/**
 * 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: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", Osaka, "MS PGothic", arial, helvetica, 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"],
[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;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

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

/* -----------------------------------------------------------------------
## font ##################################################
----------------------------------------------------------------------- */
@font-face {
    font-family: "MyYuGothicM";
    font-weight: normal;
    src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
}

@font-face {
    font-family: "MyYuGothicM";
    font-weight: bold;
    src: local("YuGothic-Bold"), local("Yu Gothic");
}

@font-face {
    font-family: 'CONDENSEicon';
    src: url("../fonts/CONDENSEicon.woff") format("woff"), url("../fonts/CONDENSEicon.otf") format("opentype"), url("../fonts/CONDENSEicon.eot") format("eot");
    font-display: swap;
}

@font-face {
    font-family: 'Ionicons';
    src: url("../fonts/ionicons.eot");
}

@font-face {
    font-family: 'Ionicons';
    src: url("../fonts/ionicons.woff") format("woff"), url("../fonts/ionicons.ttf") format("truetype");
}

/*
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src:
  url("../fonts/NotoSansJP-Regular.woff2")format("woff2"),
  url("../fonts/NotoSansJP-Regular.woff")format("woff"),
  url("../fonts/NotoSansJP-Regular.eot")format("eot"),
  url("../fonts/NotoSansJP-Regular.ttf")format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src:
  url("../fonts/NotoSansJP-Medium.woff2")format("woff2"),
  url("../fonts/NotoSansJP-Medium.woff")format("woff"),
  url("../fonts/NotoSansJP-Medium.eot")format("eot"),
  url("../fonts/NotoSansJP-Medium.ttf")format("truetype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src:
  url("../fonts/NotoSansJP-Bold.woff2")format("woff2"),
  url("../fonts/NotoSansJP-Bold.woff")format("woff"),
  url("../fonts/NotoSansJP-Bold.eot")format("eot"),
  url("../fonts/NotoSansJP-Bold.ttf")format("truetype");
  font-weight: 700;
  font-style: normal;
}*/

body {
    color: #212121;
    /*font-size: 1.6rem;*/
    font-size: 14px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", Osaka, "MS PGothic", arial, helvetica, sans-serif;
    letter-spacing: 1.5px;
    /*20200910 add*/
    font-weight: 500;
    line-height: 1.5;
}

.is-ie body,
.is-edge body {
    font-family: "Segoe UI", "Meiryo", sans-serif;
}

.is-ie button,
.is-ie input,
.is-ie optgroup,
.is-ie select,
.is-ie textarea,
.is-edge button,
.is-edge input,
.is-edge optgroup,
.is-edge select,
.is-edge textarea {
    font-family: "Segoe UI", "Meiryo", sans-serif;
}

.wf-raleway {
    font-family: 'Raleway', sans-serif;
}

:root {
    font-size: 10px;
}

@media screen and (max-width: 374px) {
    :root {
        font-size: 8.5px;
    }
}

/* -----------------------------------------------------------------------
## base ##################################################
----------------------------------------------------------------------- */
/* ################# Easy Reset ################# */
h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

ul,
ol,
dl,
dd {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

li {
    list-style: none;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

a:focus,
button:focus {
    outline: none;
}

.top_member_reg {
    padding-top: 10px;
}

.top_member_reg a:hover {
    opacity: 0.7;
}



/* ################# Base setting ################# */
html.is-locked {
    overflow: hidden;
}

body {
    min-width: 1200px;
    padding-top: 125px;
}

input:-ms-input-placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder {
    color: #ccc;
}

input::-ms-input-placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder {
    color: #ccc;
}

input::placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder {
    color: #ccc;
}

select::-ms-expand {
    display: none;
}

select::-ms-value {
    background: none;
    color: #666;
}

a:link,
a:visited,
a:active {
    color: #212121;
    text-decoration: none;
}

/*a img {
  -webkit-transition: opacity .4s 0s ease;
  transition: opacity .4s 0s ease; }

a:hover img {
  opacity: .7; }*/

a {
    -webkit-transition: opacity .4s 0s ease;
    transition: opacity .4s 0s ease;
}

a:hover {
    opacity: .7;
}

.cmn-arrowLink {
    position: relative;
    color: #6a9cb9 !important;
    padding-left: 20px;
    text-decoration: underline !important;
    font-weight: 500;
}

.cmn-arrowLink:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #8ab7d2;
    border-right: 2px solid #8ab7d2;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 10px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .cmn-arrowLink:before {
        top: 7px;
        left: 0;
    }
}

img[data-pc],
img[data-sp] {
    opacity: 0;
}

[class^="btn-"] {
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

[class^="btn-"]:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    [class^="btn-"]:hover {
        opacity: 1 !important;
    }
}

/* ################# ページ構成要素 ################# */
.cmn-mainContents {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
    padding-top: 30px;
}

.cmn-main {
    flex-basis: 904px;
    max-width: 904px;
    /*margin-top: 20px;*/
    padding-bottom: 125px;
}

.page-top .cmn-main {
    flex-basis: auto;
    max-width: inherit;
    width: 100%;
    padding-bottom: 0;
}

.cmn-side {
    flex-basis: 248px;
    max-width: 248px;
    /*margin-top: 20px;*/
    padding: 0 48px 80px 0;
    line-height: 1.25;
}

.cmn-section_ttl {
    line-height: 1;
    padding-left: 10px;
    border-left: 6px solid #edeae5;
    font-size: 16px;
    font-weight: 500;
}

.cmn-section_lede {
    line-height: 1.75;
    margin-top: 34px;
    color: #666;
    font-weight: 500;
}

.cmn-section_lede a {
    color: #8ab7d2;
    text-decoration: underline;
}

.cmn-section_lede a:hover {
    text-decoration: none;
}

.cmn-section_ttl-lv4 {
    padding-bottom: 10px;
    position: relative;
    padding-left: 16px;
    font-size: 16px;
}

.cmn-section_ttl-lv4:before {
    content: "";
    display: block;
    width: 6px;
    height: 16px;
    background: #edeae5;
    position: absolute;
    top: 3px;
    left: 0;
}

.cmn-section_ttl-lv4 .miniBtn-change {
    position: absolute;
    right: 0;
    padding: 4px 10px;
}

@media screen and (max-width: 768px) {
    .cmn-section_ttl-lv4 {
        font-size: 14px;
    }
}

/* ページカラムが1カラムのとき */
.page-col1 .cmn-mainContents {
    display: block;
}

.page-col1 .cmn-main {
    flex-basis: auto;
    max-width: none;
}

.page-col1 .cmn-section {
    width: 980px;
    margin: 40px auto 0;
}

/* ページタイトル部分 */
.cmn-pageTtl {
    padding-bottom: 16px;
    border-bottom: 1px solid #212121;
    font-size: 2.8rem;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#loginNew .cmn-pageTtl {
    justify-content: left;
}

/* 日本語と英語の見出し */
.cmn-2langTtl {
    text-align: center;
    font-weight: 500;
    padding-bottom: 50px;
}

.cmn-2langTtl_ja {
    position: relative;
    display: inline-block;
    /*font-size: 2.6rem;
  letter-spacing: 1px;*/
    font-size: 26px;
    font-weight: 500;
    padding-bottom: 10px;
}

.cmn-2langTtl_ja::before,
.cmn-2langTtl_ja::after {
    position: absolute;
    top: -9px;
    bottom: 0;
    width: 24px;
    height: 3px;
    margin: auto;
    background: url(../img/bg_line01.png) repeat-x 0 0;
    content: "";
}

.cmn-2langTtl_ja::before {
    left: -48px;
}

.cmn-2langTtl_ja::after {
    right: -46px;
}

.cmn-2langTtl_en {
    /*display: block;
  margin-top: 4px;
  color: #999;
  text-transform: uppercase;
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  letter-spacing: 1px;*/
    display: block;
    font-size: 14px;
    color: #777;
}

/* ################# お知らせ ################# */
.top_margin {
    margin-top: 60px;
}



/* ################# 商品一覧 ################# */

.iLis-detailBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: none;
    text-decoration: none;
    width: 220px;
    height: 50px;
    border-radius: 100px;
    border: 1px solid #a10605;
    color: #a10605;
    font-size: 16px;
    position: relative;
    padding-bottom: 1px;
    overflow: hidden;
    font-size: 14px;
    font-weight: 500;
}

.iLis-detailBtn a:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #a10605;
    border-right: 1px solid #a10605;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 25px;
    right: 25px;
}

.iLis-detailBtn a:before {}

.iLis-detailBtn a:hover {}





/* ################# ListのH1 ################# */

.list_h1 {
    float: left;
    margin-left: 0px;
    color: #4f1f0b;
    font-size: 2.4rem;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .list_h1 {
        width: 100%;
        float: none;
        margin-left: 0px;
    }
}

/* ################# 商品詳細のh1 ################# */

.detail_h1 {
    display: block;
    line-height: 1.17;
    margin-top: 7px;
    font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
    .detail_h1 {
        line-height: 1.16;
        font-size: 1.9rem;
    }
}

/* ################# 汎用スタイル ################# */
/* clearfix */
.cmn-cf::after {
    display: block;
    content: "";
    clear: both;
}

/* 改行の表示・非表示 */
.cmn-brPc {
    display: inline;
}

.cmn-brSp {
    display: none;
}

/* インライン要素の表示・非表示 */
.cmn-inlinePc {
    display: inline;
}

.cmn-inlineSp {
    display: none;
}

/* ブロック要素の表示・非表示 */
.cmn-blockPc {
    display: block;
}

.cmn-blockSp {
    display: none;
}

/* スラッシュで挟まれているテキスト */
.cmn-slash01 {
    position: relative;
}

.cmn-slash01::before,
.cmn-slash01::after {
    position: absolute;
    bottom: -3px;
    width: 13px;
    height: 20px;
    content: "";
}

.cmn-slash01::before {
    left: -13px;
    background: url(../img/deco_slash01_l.svg) no-repeat 0 0;
    background-size: cover;
}

.cmn-slash01::after {
    right: -13px;
    background: url(../img/deco_slash01_r.svg) no-repeat 0 0;
    background-size: cover;
}

/* ページの先頭へ戻るボタン */
.cmn-pageTop {
    display: none;
    position: fixed;
    z-index: 100;
    right: 40px;
    bottom: 45px;
    width: 100px;
    height: 144px;
}

.cmn-pageTop a {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
}

.cmn-pageTop a:hover img {
    opacity: 1;
}

/* ################# Hover ################# */
/* ホバー時に下線を表示 */
.hov-line:hover {
    text-decoration: underline;
}

/* ホバー時に「Read more」表示 */
.hov-overlay {
    -webkit-transition: opacity .4s 0s ease;
    transition: opacity .4s 0s ease;
}

.hov-overlay_img {
    position: relative;
    overflow: hidden;
}

.hov-overlay_img::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    content: "";
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transition: all .2s 0s ease;
    transition: all .2s 0s ease;
}

.hov-overlay_img::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 10px;
    width: 103px;
    height: 78px;
    margin: auto;
    background: url(../img/ico_readmore01.png) no-repeat 0 0;
    opacity: 0;
    -webkit-transform: translate(-25px, 0);
    transform: translate(-25px, 0);
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
    content: "";
}

.hov-overlay:hover img {
    opacity: 1;
}

.hov-overlay:hover .hov-overlay_img::before {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.hov-overlay:hover .hov-overlay_img::after {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.hov-overlay:hover .hov-overlay_txt {
    text-decoration: underline;
}

/* ################# エラー表示 ################# */
.cmn-errorBox#error {
    padding: 0 1em;
    margin: 40px 0 40px 0;
}

.cmn-errorBox#error td {
    padding: 5px 0;
}

.cmn-errorBox#error .content {
    line-height: 1.75;
    padding-left: 10px;
    color: #a10605;
    font-size: 1.6rem;
    font-weight: bold;
}

.cmn-errorBox#error .ico {
    width: 45px;
    padding: 5px 0;
    vertical-align: middle;
    text-align: center;
}

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

    /* ################# Base setting ################# */
    body {
        min-width: 0;
        padding-top: 85px;
        font-weight: 400;
        /*font-size: 12px;*/
        font-size: 3.4vw;
    }

    a:hover img {
        opacity: 1;
    }

    /* ################# ページ構成要素 ################# */
    .cmn-mainContents {
        display: block;
        width: auto;
        margin-top: 0;
        padding-top: 0;
    }

    .cmn-main {
        margin-top: 0;
        padding-bottom: 66px;
    }

    .cmn-side {
        display: none;
    }

    .cmn-section {
        padding: 0 4vw 0;
    }

    .cmn-section_ttl {
        line-height: 1.39;
        font-size: 1.6rem;
    }

    .cmn-section_lede {
        line-height: 1.6;
        margin-top: 15px;
        font-size: 1.2rem;
    }

    .cmn-section_lede a:hover {
        text-decoration: underline;
    }

    /* ページカラムが1カラムのとき */
    .page-col1 .cmn-section {
        width: auto;
        margin: 6px auto 0;
        padding: 0 4vw 0;
    }

    /* ページタイトル部分 */
    .cmn-2langTtl {
        padding-bottom: 0px;
    }

    .cmn-pageTtl {
        padding-bottom: 12px;
        border-bottom: 1px solid #212121;
        font-size: 16px;
    }

    /* 日本語と英語の見出し */
    .cmn-2langTtl_ja {
        font-size: 16px;
    }

    .cmn-2langTtl_ja::before,
    .cmn-2langTtl_ja::after {
        width: 15px;
        height: 3px;
    }

    .cmn-2langTtl_ja::before {
        left: -25px;
    }

    .cmn-2langTtl_ja::after {
        right: -25px;
    }

    .cmn-2langTtl_en {
        /*margin-top: 4px;*/
        font-size: 1.1rem;
    }

    /* ################# 汎用スタイル ################# */
    /* 改行の表示・非表示 */
    .cmn-brPc {
        display: none;
    }

    .cmn-brSp {
        display: inline;
    }

    /* インライン要素の表示・非表示 */
    .cmn-inlinePc {
        display: none;
    }

    .cmn-inlineSp {
        display: inline;
    }

    /* スマホ画像幅いっぱい */
    .sp-fit {
        width: 100%;
        height: auto;
    }

    /* ブロック要素の表示・非表示 */
    .cmn-blockPc {
        display: none;
    }

    .cmn-blockSp {
        display: block;
    }

    /* ページの先頭へ戻るボタン */
    .cmn-pageTop {
        right: 10px;
        bottom: 60px;
        width: 50px;
        height: 72px;
    }

    /* ################# Hover ################# */
    /* ホバー時に「Read more」表示を打ち消し */
    .hov-overlay_img::before,
    .hov-overlay_img::after {
        display: none;
    }

    .hov-overlay:hover img {
        opacity: 1;
    }

    .hov-overlay:hover .hov-overlay_txt {
        text-decoration: none;
    }

    /* ################# エラー表示 ################# */
    .cmn-errorBox#error {
        padding: 0;
        margin: 10px 0;
    }

    .cmn-errorBox#error .content {
        line-height: 1.6;
        padding-left: 5px;
        color: #a10605;
        font-size: 1.4rem;
        font-weight: bold;
    }

    .cmn-errorBox#error .ico {
        width: 35px;
        padding: 5px 0;
        vertical-align: middle;
    }
}

/* -----------------------------------------------------------------------
## Button ##################################################
----------------------------------------------------------------------- */
/* ################# ボタンのラッパー ################# */
.cmn-submitBtns {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    margin-top: 60px;
}

.cmn-submitBtns > * {
    margin: 0 20px;
}

/* ################# ボタン（直接buttonやa要素に摘要） ################# */
.btn-login,
.btn-newMember,
.btn-sending,
.btn-change,
.btn-confirm,
.btn-toppage,
.btn-taikai,
.btn-add,
.btn-stop,
.btn-subscribe,
.btn-apply,
.btn-cartEmpty,
.btn-inputCardInfo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 370px;
    height: 50px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #a10605;
    color: #fff !important;
    font-weight: 500;
    font-size: 16px;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-login::after,
.btn-newMember::after,
.btn-sending::after,
.btn-change::after,
.btn-confirm::after,
.btn-toppage::after,
.btn-taikai::after,
.btn-add::after,
.btn-stop::after,
.btn-subscribe::after,
.btn-apply::after,
.btn-cartEmpty::after,
.btn-inputCardInfo::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
    content: '';
}

.btn-login:hover,
.btn-newMember:hover,
.btn-sending:hover,
.btn-change:hover,
.btn-confirm:hover,
.btn-toppage:hover,
.btn-taikai:hover,
.btn-add:hover,
.btn-stop:hover,
.btn-subscribe:hover,
.btn-apply:hover,
.btn-cartEmpty:hover,
.btn-inputCardInfo:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
    opacity: 0.75;
}

/* ################# 会員登録せずにお支払い（カート内） ################# */
.btn-noRegister,
.btn-addAddress,
.btn-next,
.btn-memberEdit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 420px;
    height: 60px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #ddd;
    color: #212121;
    font-weight: 500;
    font-size: 1.8rem;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-noRegister::after,
.btn-addAddress::after,
.btn-next::after,
.btn-memberEdit::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
    content: '';
}

.btn-noRegister:hover,
.btn-addAddress:hover,
.btn-next:hover,
.btn-memberEdit:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

/* ################# ご注文手続きへ進む ################# */
.btn-checkout {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 420px;
    height: 50px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #a10605;
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    /*box-shadow: 0 4px 0 #64000e;
  -webkit-transition: all .1s 0s ease;
  transition: all .1s 0s ease;*/
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-checkout:link,
.btn-checkout:visited,
.btn-checkout:active {
    color: #fff;
}

.btn-checkout:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 #64000e;*/
    opacity: 0.75;
}

/* ################# カートに入れる（直接button要素に摘要） ################# */
.btn-addCart {
    display: flex;
    width: 460px;
    box-sizing: border-box;
    position: relative;
    border: none;
    border-radius: 1000px;
    background: #a10605;
    /*box-shadow: 0 4px 0 #64000e;*/
    color: #fff;
    cursor: pointer;
    /*-webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease*/
    -webkit-appearance: none;
    font-size: 18px;
    height: 50px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}

.btn-addCart:before {
    content: "";
    display: block;
    width: 26px;
    height: 23px;
    background: url(../img/icon-shoppingcart.svg) no-repeat;
    margin-right: 8px;
}

.btn-addCart:hover {
    /*-webkit-transform: translate(0, 4px);
  transform: translate(0, 4px);
  box-shadow: 0 0 0 #64000e;*/
}

.btn-addCart:disabled,
.btn-addCart.is-disabled {
    background-color: #999;
    /*box-shadow: 0 0 0 #64000e;*/
    cursor: auto;
}

.btn-addCart:disabled:hover,
.btn-addCart.is-disabled:hover {
    /*-webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  box-shadow: 0 0 0 #64000e;*/
}

/* ################# カートに入れる（カートサイドバーの閲覧履歴エリア用） ################# */
.btn-addCart_mini {
    display: inline-block;
    flex-basis: 100%;
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
    padding: 7px 10px;
    border: none;
    border-radius: 1000px;
    background: #a10605;
    /*box-shadow: 0 4px 0 #64000e;*/
    color: #fff;
    cursor: pointer;
    text-align: center;
    /*-webkit-transition: all .1s 0s ease;
  transition: all .1s 0s ease;*/
    -webkit-appearance: none;
    font-size: 1.2rem;
}

.btn-addCart_mini:link,
.btn-addCart_mini:visited,
.btn-addCart_mini:active {
    color: #fff;
}

.btn-addCart_mini:hover {
    /*-webkit-transform: translate(0, 4px);
  transform: translate(0, 4px);
  box-shadow: 0 0 0 #64000e;*/
}

.btn-addCart_mini.is-disabled {
    background: #999;
    /*box-shadow: 0 0 0 #64000e;*/
    cursor: auto;
}

.btn-addCart_mini.is-disabled:hover {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

/* ################# ご注文手続きへ進む（サイドバー用） ################# */
.btn-checkoutSide {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 50px;
    position: relative;
    border: none;
    border-radius: 1000px;
    background: #a10605;
    /*box-shadow: 0 4px 0 #64000e;*/
    color: #fff;
    cursor: pointer;
    text-align: center;
    /*-webkit-transition: all .1s 0s ease;
  transition: all .1s 0s ease;*/
    -webkit-appearance: none;
    font-size: 1.6rem;
}

.btn-checkoutSide:link,
.btn-checkoutSide:visited,
.btn-checkoutSideactive {
    color: #fff;
}

.btn-checkoutSide:hover {
    /*-webkit-transform: translate(0, 4px);
  transform: translate(0, 4px);
  box-shadow: 0 0 0 #64000e;*/
    opacity: 0.75;
}

.btn-checkoutSide:disabled {
    background: #999;
    /*box-shadow: 0 0 0 #64000e;*/
    cursor: auto;
}

.btn-checkoutSide:disabled:hover {
    /*-webkit-transform: translate(0, 0);
  transform: translate(0, 0);*/
    opacity: 0.75;
}

/* ################# 買い物を続ける ################# */
.btn-continue,
.btn-backSide {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 50px;
    position: relative;
    border: none;
    border-radius: 1000px;
    background: #ddd;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    cursor: pointer;
    text-align: center;
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    font-size: 1.6rem;
    font-weight: bold;
}

.btn-continue:link,
.btn-continue:visited,
.btn-continueactive,
.btn-backSide:link,
.btn-backSide:visited,
.btn-backSideactive {
    color: #212121;
}

.btn-continue:hover,
.btn-backSide:hover {
    /*-webkit-transform: translate(0, 4px);
  transform: translate(0, 4px);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

/* ################# レビューに投稿（直接button要素に摘要） ################# */
.btn-reviewPost {
    position: relative;
    display: inline-block;
    width: 300px;
    padding: 13px 0;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #a10605;
    color: #fff;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-reviewPost::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
    content: '';
}

.btn-reviewPost:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

/* ################# 戻る（aタグ） ################# */
.btn-back,
.btn-notApply {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #ddd;
    color: #212121;
    font-weight: 500;
    font-size: 1.8rem;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-back::after,
.btn-notApply::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b03.png) no-repeat 0 0;
    content: '';
}

.btn-back:hover,
.btn-notApply:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

/* ################# ページトップに戻る（お問い合わせページ用） ################# */
.btn-backToTop {
    position: relative;
    display: inline-block;
    width: 300px;
    padding: 20px 0;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    -webkit-appearance: none;
    cursor: pointer;
    background: #ddd;
}

.btn-backToTop:link,
.btn-backToTop:visited,
.btn-backToTop:active {
    /*color: #fff;*/
}

.btn-backToTop::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b03.png) no-repeat 0 0;
    content: '';
}

.btn-backToTop:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 #657c8a;*/
}

/* ################# 閉じる ################# */
.btn-close,
.btn-delete {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #666;
    color: #fff;
    font-weight: 500;
    font-size: 1.8rem;
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-close::before,
.btn-delete::before {
    display: inline-block;
    margin-right: 5px;
    background: none;
    content: "\f12a";
    font-family: "Ionicons";
    font-size: 1.8rem;
    font-weight: normal;
}

.btn-close:hover,
.btn-delete:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 #555;*/
}

.btn-delete::before {
    display: none;
}

/* ################# 500ポイント還元バナー内のボタン ################# */
.btn-bnrInner {
    position: relative;
    display: inline-block;
    width: 300px;
    padding: 13px 0;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #a10605;
    color: #212121;
    font-weight: bold;
    font-size: 1.8rem;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-bnrInner::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
    content: '';
}

.btn-bnrInner:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

/* ################# Amazonアカウントでお支払いボタン ################# */
.btn-payAmazon {
    position: relative;
    display: block;
    width: 100%;
    padding: 10px 0 10px;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #ffca47;
    font-size: 14px;
    /*box-shadow: 0 4px 0 0 #b18200;
  -webkit-transition: all .1s 0s ease;
  transition: all .1s 0s ease;*/
    -webkit-appearance: none;
    cursor: pointer;
}

.btn-payAmazon:link,
.btn-payAmazon:visited,
.btn-payAmazon:active {
    /*color: #fff;*/
}

.btn-payAmazon:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 0 #8c5310;*/
}

/* ################# 中くらいのボタン（見出し横などの四角いボタン） ################# */
.mediumBtn-logout {
    display: inline-block;
    width: 171px;
    line-height: 1;
    padding: 12px 0;
    border-radius: 4px;
    background: #666;
    color: #fff;
    text-align: center;
    font-weight: normal;
    font-size: 1.6rem;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.mediumBtn-logout:link,
.mediumBtn-logout:active,
.mediumBtn-logout:visited {
    color: #fff;
}

.mediumBtn-logout:hover {
    opacity: .8;
}

/* ################# 小さいボタン（テーブル内などの四角いボタン） ################# */
.miniBtn-change,
.miniBtn-update,
.miniBtn-copy,
.miniBtn-select,
.miniBtn-edit,
.miniBtn-reflect,
.miniBtn-addAddress {
    display: inline-block;
    padding: 4px 0;
    border-radius: 4px;
    background: #8ab7d2;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
    cursor: pointer;
}

.miniBtn-change:link,
.miniBtn-change:active,
.miniBtn-change:visited,
.miniBtn-update:link,
.miniBtn-update:active,
.miniBtn-update:visited,
.miniBtn-copy:link,
.miniBtn-copy:active,
.miniBtn-copy:visited,
.miniBtn-select:link,
.miniBtn-select:active,
.miniBtn-select:visited,
.miniBtn-edit:link,
.miniBtn-edit:active,
.miniBtn-edit:visited,
.miniBtn-reflect:link,
.miniBtn-reflect:active,
.miniBtn-reflect:visited,
.miniBtn-addAddress:link,
.miniBtn-addAddress:active,
.miniBtn-addAddress:visited {
    color: #fff;
}

.miniBtn-change:hover,
.miniBtn-update:hover,
.miniBtn-copy:hover,
.miniBtn-select:hover,
.miniBtn-edit:hover,
.miniBtn-reflect:hover,
.miniBtn-addAddress:hover {
    opacity: .8;
}

.miniBtn-addCart {
    display: inline-block;
    padding: 4px 0;
    border-radius: 4px;
    background: #a10605;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
    cursor: pointer;
}

.miniBtn-addCart.is-disabled {
    background: #999;
}

.miniBtn-addCart:link,
.miniBtn-addCart:active,
.miniBtn-addCart:visited {
    color: #fff;
}

.miniBtn-addCart:hover {
    opacity: .8;
}

.miniBtn-cancel,
.miniBtn-delete {
    display: inline-block;
    border-radius: 4px;
    background: #ddd;
    color: #212121;
    text-align: center;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
    cursor: pointer;
    padding: 12px 25px;
}

.miniBtn-cancel.is-disabled,
.miniBtn-delete.is-disabled {
    background: #999;
    cursor: default;
}

.miniBtn-cancel.is-disabled:hover,
.miniBtn-delete.is-disabled:hover {
    opacity: 1;
}

.miniBtn-cancel:link,
.miniBtn-cancel:active,
.miniBtn-cancel:visited,
.miniBtn-delete:link,
.miniBtn-delete:active,
.miniBtn-delete:visited {
    /*color: #fff;*/
}

.miniBtn-cancel:hover,
.miniBtn-delete:hover {
    opacity: .8;
}

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

    .miniBtn-cancel,
    .miniBtn-delete {
        padding: 12px 15px;
    }
}

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

    /* ################# ボタンのラッパー ################# */
    .cmn-submitBtns {
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        margin-top: 50px;
        padding: 0;
    }

    .cmn-submitBtns > * {
        margin: 0;
    }

    .cmn-submitBtns.is-center {
        -webkit-box-pack: center;
        justify-content: center;
    }

    .cmn-submitBtns.is-goBack .btn-back {
        width: 44vw;
    }

    .cmn-submitBtns.is-goBack .btn-login,
    .cmn-submitBtns.is-goBack .btn-newMember,
    .cmn-submitBtns.is-goBack .btn-sending,
    .cmn-submitBtns.is-goBack .btn-change,
    .cmn-submitBtns.is-goBack .btn-confirm,
    .cmn-submitBtns.is-goBack .btn-toppage,
    .cmn-submitBtns.is-goBack .btn-taikai,
    .cmn-submitBtns.is-goBack .btn-add,
    .cmn-submitBtns.is-goBack .btn-stop,
    .cmn-submitBtns.is-goBack .btn-subscribe,
    .cmn-submitBtns.is-goBack .btn-inputCardInfo,
    .cmn-submitBtns.is-goBack .btn-checkout {
        width: 45vw;
    }

    /* ################# ボタン（直接buttonやa要素に摘要） ################# */
    .btn-login,
    .btn-newMember,
    .btn-sending,
    .btn-change,
    .btn-confirm,
    .btn-toppage,
    .btn-taikai,
    .btn-add,
    .btn-stop,
    .btn-subscribe,
    .btn-apply,
    .btn-cartEmpty,
    .btn-inputCardInfo {
        width: 80vw;
        height: 10vw;
        /*padding: 22px 0 20px;*/
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
        font-size: 1.4rem;
    }

    .btn-login:hover,
    .btn-newMember:hover,
    .btn-sending:hover,
    .btn-change:hover,
    .btn-confirm:hover,
    .btn-toppage:hover,
    .btn-taikai:hover,
    .btn-add:hover,
    .btn-stop:hover,
    .btn-subscribe:hover,
    .btn-apply:hover,
    .btn-cartEmpty:hover,
    .btn-inputCardInfo:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    /* ################# 会員登録せずにお支払い（カート内） ################# */
    .btn-noRegister,
    .btn-addAddress,
    .btn-next,
    .btn-memberEdit {
        width: 80vw;
        height: 10vw;
        /*padding: 22px 0 20px;*/
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
        font-size: 1.4rem;
    }

    .btn-noRegister:hover,
    .btn-addAddress:hover,
    .btn-next:hover,
    .btn-memberEdit:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    /* ################# ご注文手続きへ進む ################# */
    .btn-checkout {
        width: 100%;
        height: 10vw;
        /*box-shadow: 0 4px 0 0 #64000e;*/
        font-size: 1.4rem;
    }

    .btn-checkout:hover {
        /*-webkit-transform: translate(0, 0);
      transform: translate(0, 0);
      box-shadow: 0 4px 0 0 #64000e;*/
    }

    .btn-continue,
    .btn-backSide {
        font-size: 1.4rem;
        padding: 0;
        height: 10vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .btn-checkoutSide {
        width: 100%;
        height: 10vw;
        /*box-shadow: 0 4px 0 0 #64000e;*/
        font-size: 1.4rem;
    }

    /* ################# カートに入れる（直接button要素に摘要） ################# */
    .btn-addCart {
        font-size: 1.6rem;
        width: 100%;
        height: 15vw;
    }

    .btn-addCart:before {
        content: "";
        display: block;
        width: 6vw;
        height: 5vw;
        margin-right: 2vw;
    }

    .btn-addCart:hover {
        opacity: 1;
        /*-webkit-transform: translate(0, 0);
      transform: translate(0, 0);
      box-shadow: 0 4px 0 #64000e;*/
    }

    .btn-addCart:disabled:hover {
        /*box-shadow: 0 0 0 #64000e;*/
    }

    /* ################# レビューに投稿（直接button要素に摘要） ################# */
    .btn-reviewPost {
        margin: 0 auto;
    }

    .btn-reviewPost:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    /* ################# 戻る（aタグ） ################# */
    .btn-back,
    .btn-notApply {
        font-size: 1.4rem;
        height: 10vw;
    }

    .btn-back:hover,
    .btn-notApply:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    /* ################# トップへ戻る（aタグ） ################# */
    .btn-backToTop {
        display: inline-block;
        flex-basis: auto;
        width: auto;
        margin-top: 30px;
        padding: 0;
        background: none;
        font-size: 1.6rem;
        box-shadow: none;
    }

    .btn-backToTop:link,
    .btn-backToTop:visited,
    .btn-backToTop:active {
        color: #8ab7d2;
        text-decoration: underline;
    }

    .btn-backToTop:after {
        display: none;
    }

    .btn-backToTop:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        box-shadow: none;
    }

    /* ################# 閉じる ################# */
    .btn-close {
        font-size: 1.6rem;
    }

    .btn-close:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    /* ################# 500ポイント還元バナー内のボタン ################# */
    .btn-bnrInner {
        width: 100%;
        padding: 10px 0;
    }

    .btn-bnrInner:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    .btn-bnrInner_small {
        font-size: 1.2rem;
    }

    /* ################# Amazonアカウントでお支払いボタン ################# */
    .btn-payAmazon {
        font-size: 1.4rem;
        padding: 0;
        height: 10vw;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .btn-payAmazon::after {
        display: none;
    }

    .btn-payAmazon:hover {
        box-shadow: 0 0 0 0 #8c5310;
    }

    /* ################# 中くらいのボタン（見出し横などの四角いボタン） ################# */
    .mediumBtn-logout {
        width: 27.3vw;
        padding: 6px 0;
        font-size: 1.5rem;
        -webkit-transition: all .4s 0s ease;
        transition: all .4s 0s ease;
    }

    .mediumBtn-logout:link,
    .mediumBtn-logout:active,
    .mediumBtn-logout:visited {
        color: #fff;
    }

    .mediumBtn-logout:hover {
        opacity: .8;
    }
}

/* -----------------------------------------------------------------------
## Forms ##################################################
----------------------------------------------------------------------- */
/* -----------------------------------------------------------------------
## Form parts ##################################################
----------------------------------------------------------------------- */
.cmn-formBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 23px 0 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.cmn-section_ttl + .cmn-formBox {
    margin-top: 15px;
}

.cmn-formBox_ttl {
    position: relative;
    flex-basis: 20%;
    max-width: 20%;
    box-sizing: border-box;
    padding: 32px 19px 30px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background: #f5f5f5;
    color: #666;
    font-size: 1.4rem;
}

.cmn-formBox_ttl .cmn-formBox_notes {
    margin: 10px 0 0 0;
    font-size: 1.2rem;
}

.cmn-formBox_body {
    flex-basis: 780px;
    max-width: 780px;
    box-sizing: border-box;
    padding: 20px 10px 20px 25px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    color: #666;
    word-break: break-all;
    position: relative;
}

.cmn-formBox_body .cmn-formBox_txt {
    margin-right: 4px;
    font-size: 1.4rem;
}

.cmn-formBox_body.is-required input[type="text"],
.cmn-formBox_body.is-required input[type="password"],
.cmn-formBox_body.is-required input[type="mail"],
.cmn-formBox_body.is-required textarea,
.cmn-formBox_body.is-required .cmn-selectBox {
    border-width: 2px;
    border-color: #8ab7d2;
}

.cmn-formBox_body.valign-center {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.cmn-formBox.has-sidebar .cmn-formBox_body {
    flex-basis: 80%;
    max-width: 80%;
}

.cmn-formBox.is-confirm .cmn-formBox_body {
    padding: 32px 19px 30px;
    font-size: 1.4rem;
}

.cmn-formBox_bodyText {
    padding: 12px 0 10px 0;
    font-size: 1.4rem;
}

.cmn-formBox_intro {
    margin-top: 8px;
    font-size: 1.4rem;
    width: 100%;
}

.cmn-formBox_intro2 {
    margin-top: 8px;
    color: #F00;
    font-size: 1.4rem;
}

.freevalue-radio-wrap .HTMLFORM_ELEMENT {
    display: inline-block;
    padding-top: 10px;
}

.cmn-formBox_row + .cmn-formBox_row {
    margin-top: 30px;
}

.cmn-formBox_wrapper {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    flex-basis: 100%;
    max-width: 100%;
}

.cmn-selectBox {
    position: relative;
    border: 1px solid #ccc;
    background: #fff;
}

.cmn-selectBox select {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0 15px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 1.4rem;
}

.cmn-selectBox::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 1em;
    height: 1em;
    line-height: 1;
    margin: auto;
    content: "\f123";
    font-family: "Ionicons";
    font-size: 1.4rem;
}

.cmn-formBox_txt + .cmn-selectBox {
    margin-top: 4px;
}

.cmn-inputText > input {
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 8px 10px 9px;
    background: #fff;
    box-shadow: inset 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
    line-height: 1.5;
}

.cmn-formBox_txt + .cmn-inputText {
    margin-top: 4px;
}

.cmn-inputTextArea > textarea {
    width: 520px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 8px 10px 9px;
    background: #fff;
    box-shadow: inset 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}

.cmn-formBox_txt + .cmn-inputTextArea {
    margin-top: 4px;
}

.cmn-inputFile {
    margin-top: 0;
    font-size: 1.4rem;
}

.cmn-inputFile_hidden {
    display: none;
}

.cmn-inputFile_btn {
    width: 147px;
    padding: 7px 0 5px;
    border: 1px solid #666;
    border-radius: 100px;
    cursor: pointer;
}

.cmn-inputFile_name {
    margin: 0 0 0 15px;
}

.cmn-radioBtn {
    display: inline-block;
    padding-top: 10px;
}

.cmn-radioBtn + .cmn-radioBtn {
    margin-left: 28px;
}

.cmn-radioBtn .cmn-radioBtn_item {
    display: inline-block;
    position: relative;
    top: 3px;
    left: -2px;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 100px;
}

.cmn-radioBtn label {
    font-size: 1.4rem;
}

.cmn-radioBtn input[type="radio"] {
    margin-right: 4px;
}

.cmn-formRequire {
    display: inline-block;
    padding-right: 35px;
}

.cmn-formRequire::after {
    display: block;
    position: absolute;
    top: 30px;
    right: 19px;
    padding: 3px 5px 2px;
    border-radius: 2px;
    color: #fff;
    background: #a10605;
    content: "必須";
    font-size: 1.3rem;
    font-weight: normal;
}

.cmn-formBox_example {
    display: inline-block;
    margin-left: 10px;
    font-size: 1.3rem;
    letter-spacing: 0;
}

.cmn-formBox_notes {
    display: inline-block;
    font-weight: 500;
    padding-top: 5px;
    font-size: 12px;
}

.cmn-formBox_msg {
    margin-top: 10px;
    color: #a10605 !important;
    font-size: 1.2rem;
}

.cmn-formBox_lastName {
    display: inline-block;
}

.cmn-formBox_lastName input {
    width: 140px;
}

.cmn-formBox_firstName {
    display: inline-block;
    margin-left: 11px;
}

.cmn-formBox_firstName input {
    width: 140px;
}

.cmn-formBox_year {
    display: inline-block;
}

.cmn-formBox_year input {
    width: 75px;
}

.cmn-formBox_month {
    display: inline-block;
    margin-left: 8px;
}

.cmn-formBox_month input {
    width: 50px;
}

.cmn-formBox_day {
    display: inline-block;
    margin-left: 8px;
}

.cmn-formBox_day input {
    width: 50px;
}

.cmn-formBox_mail input {
    width: 280px;
}

.cmn-formBox_alias {
    display: inline-block;
}

.cmn-formBox_alias input {
    width: 120px;
    margin-right: 3px;
}

.cmn-formBox_domain {
    display: inline-block;
}

.cmn-formBox_domain input {
    width: 132px;
}

.cmn-formBox_zip {
    display: inline-block;
}

.cmn-formBox_zip input {
    width: 120px;
}

.cmn-formBox_getZip {
    display: inline-block;
}

.cmn-formBox_getZip input {
    font-size: 1.4rem;
    margin-left: 5px;
    padding: 4px;
}

.cmn-formBox_pref {
    width: 240px;
    height: 36px;
}

.cmn-formBox_pref select {
    font-size: 1.4rem;
    color: #666;
}

.cmn-formBox_kessai {
    font-size: 1.4rem;
}

.cmn-formBox_credit {
    margin-top: 30px;
}

.cmn-formBox_payments {
    margin-top: 15px;
}

.cmn-formBox_payments .cmn-selectBox {
    display: inline-block;
    width: 130px;
    height: 36px;
}

.cmn-formBox_payments select {
    padding: 0 15px;
}

.cmn-formBox_savedCards {
    line-height: 1.5;
    margin-top: 15px;
    font-size: 1.4rem;
}

.cmn-formBox_savedCards:first-child {
    margin-top: 0;
}

.cmn-formBox_CardMonth {
    display: inline-block;
    width: 150px;
    height: 36px;
}

.cmn-formBox_CardYear {
    display: inline-block;
    width: 150px;
    height: 36px;
}

.cmn-formBox_newsCard {
    font-size: 1.4rem;
}

.cmn-formBox_securityCode input {
    width: 5em;
}

.cmn-formBox_id {
    display: inline-block;
}

.cmn-formBox_id input {
    width: 200px;
}

.cmn-formBox_pw {
    display: inline-block;
}

.cmn-formBox_pw input {
    width: 200px;
}

.cmn-formBox_usePoint input {
    width: 5em;
}

.cmn-formBox_usePoint .cmn-formBox_txt {
    display: inline-block;
}

.cmn-submitBtns_back a,
.cmn-submitBtns_back button {
    width: 200px;
    padding: 20px 0;
    background: #ddd;
}

.cmn-submitBtns_delete a,
.cmn-submitBtns_delete button {
    width: 200px;
    padding: 20px 0;
    background: #a10605;
}

.cmn-submitBtns_submit button,
.cmn-submitBtns_submit a {
    width: 400px;
    padding: 17px 0 16px;
    background: #a10605;
    font-size: 2.4rem;
}

.cmn-submitBtns_back + .cmn-submitBtns_submit button {
    width: 420px;
}

/* ################# cmn-formMiniBox ################# */
.cmn-formMiniBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 15px 0 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    font-size: 1.4rem;
}

.cmn-formMiniBox_ttl {
    position: relative;
    flex-basis: 130px;
    max-width: 130px;
    box-sizing: border-box;
    padding: 32px 19px 30px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background: #eef4f8;
    color: #666;
    font-size: 1.4rem;
}

.cmn-formMiniBox_ttl .cmn-formMiniBox_notes {
    margin: 10px 0 0 0;
    font-size: 1.2rem;
}

.cmn-formMiniBox_body {
    flex-basis: 537px;
    max-width: 537px;
    box-sizing: border-box;
    padding: 20px 10px 20px 25px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    color: #666;
}

.cmn-formMiniBox_body .cmn-formMiniBox_txt {
    display: block;
    margin-top: 8px;
    font-size: 1.4rem;
}

.cmn-formMiniBox_bodyText {
    padding: 12px 0 10px 0;
}

.cmn-formMiniBox_CardMonth {
    display: inline-block;
    width: 150px;
    height: 36px;
}

.cmn-formMiniBox_CardYear {
    display: inline-block;
    width: 150px;
    height: 36px;
}

.form-w100 {
    width: 100%;
}



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

    /* -----------------------------------------------------------------------
## Form parts ##################################################
----------------------------------------------------------------------- */
    .cmn-formBox {
        display: block;
        margin: 31px 0 0;
        border-top: 0;
        border-left: 0;
    }

    .cmn-formBox_ttl {
        flex-basis: auto;
        max-width: none;
        padding: 5px 10px;
        border-bottom: 0;
        border-right: 0;
        border-left: 6px solid #8ab7d2;
        background: transparent;
        font-size: 1.8rem;
        font-weight: bold;
    }

    .cmn-formBox_body {
        flex-basis: auto;
        max-width: none;
        width: 100%;
        margin-top: 8px;
        padding: 0;
        border-bottom: 0;
        border-right: 0;
    }

    .cmn-formBox_body .cmn-formBox_txt {
        display: block;
        margin: 0 0 2px 5px;
        font-size: 1.6rem;
    }

    .cmn-formBox.is-confirm .cmn-formBox_body {
        padding: 5px 10px;
        font-size: 1.8rem;
    }

    .cmn-formBox_body + .cmn-formBox_ttl {
        margin-top: 47px;
    }

    .cmn-formBox_row + .cmn-formBox_row {
        margin-top: 20px;
    }

    .cmn-formBox_wrapper {
        /*margin-top: 47px;*/
    }

    .cmn-formBox_wrapper + .cmn-formBox_ttl {
        margin-top: 47px;
    }

    .cmn-formBox_wrapper:first-child {
        margin-top: 0;
    }

    .cmn-selectBox {
        border: 1px solid #ccc;
    }

    .cmn-selectBox select {
        width: 100%;
        height: 100%;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        padding: 0 15px;
        border: 0;
        font-size: 1.6rem;
    }

    .cmn-inputText > input {
        width: 100%;
        padding: 15px 10px;
    }

    .cmn-inputTextArea > textarea {
        width: 100%;
    }

    .cmn-formBox_txt + .cmn-inputTextArea {
        margin-top: 4px;
    }

    .cmn-inputFile {
        display: none;
    }

    .cmn-radioBtn {
        display: block;
        padding-top: 0;
    }

    .cmn-radioBtn + .cmn-radioBtn {
        margin: 0;
    }

    .cmn-radioBtn > label {
        font-size: 1.6rem;
    }

    .cmn-formRequire {
        position: relative;
        padding: 0;
    }

    .cmn-formRequire::after {
        display: inline-block;
        position: relative;
        top: -2px;
        right: auto;
        left: 13px;
        padding: 4px 7px 2px;
        border-radius: 1px;
    }

    .cmn-formBox_example {
        display: block;
        line-height: 1.36;
        margin: 9px 0 0 6px;
        font-size: 1.4rem;
    }

    .cmn-formBox_notes {
        display: block;
        line-height: 1.36;
        margin: 0;
        letter-spacing: 0;
    }

    .cmn-formBox_lastName {
        display: block;
    }

    .cmn-formBox_lastName input {
        width: 100%;
    }

    .cmn-formBox_firstName {
        display: block;
        margin: 18px 0 0 0;
    }

    .cmn-formBox_firstName input {
        width: 100%;
    }

    .cmn-formBox_year {
        display: inline-block;
    }

    .cmn-formBox_year input {
        width: 26vw;
    }

    .cmn-formBox_year .cmn-formBox_txt {
        display: inline-block;
        margin-left: 3px;
        vertical-align: bottom;
        font-size: 1.4rem;
    }

    .cmn-formBox_month {
        display: inline-block;
        margin-left: 0;
    }

    .cmn-formBox_month input {
        width: 18vw;
    }

    .cmn-formBox_month .cmn-formBox_txt {
        display: inline-block;
        margin-left: 3px;
        vertical-align: bottom;
        font-size: 1.4rem;
    }

    .cmn-formBox_day {
        display: inline-block;
        margin-left: 0;
    }

    .cmn-formBox_day input {
        width: 18vw;
    }

    .cmn-formBox_day .cmn-formBox_txt {
        display: inline-block;
        margin-left: 3px;
        vertical-align: bottom;
        font-size: 1.4rem;
    }

    .cmn-formBox_mail input {
        width: 100%;
    }

    .cmn-formBox_mail.is-split {
        position: relative;
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    .cmn-formBox_mail.is-split .cmn-formBox_alias .cmn-formBox_txt {
        position: absolute;
        top: 21px;
        left: 0;
        right: 0;
        width: 1em;
        margin: auto;
        text-align: center;
    }

    .cmn-formBox_mail.is-split .cmn-formBox_notes {
        flex-basis: 100%;
    }

    .cmn-formBox_alias {
        display: inline-block;
    }

    .cmn-formBox_alias input {
        width: 42vw;
    }

    .cmn-formBox_alias .cmn-formBox_txt {
        display: inline-block;
        margin-left: 3px;
        vertical-align: bottom;
        font-size: 1.4rem;
    }

    .cmn-formBox_domain {
        display: inline-block;
        padding-left: 0;
    }

    .cmn-formBox_domain input {
        width: 41.2vw;
        margin-left: 4px;
    }

    .cmn-formBox_zip {
        display: inline-block;
    }

    .cmn-formBox_zip input {
        width: 53vw;
    }

    .cmn-formBox_getZip {
        display: inline-block;
    }

    .cmn-formBox_getZip input {
        font-size: 1.4rem;
        margin-left: 12px;
        padding: 8px 4px;
        border: 1px solid #ccc;
    }

    .cmn-formBox_pref {
        width: 100%;
        height: 49px;
    }

    .cmn-formBox_savedCards {
        font-size: 1.4rem;
    }

    .cmn-formBox_savedCards input {
        display: inline-block;
    }

    .cmn-formBox_kessai {
        font-size: 1.6rem;
    }

    .cmn-formBox_payments .cmn-selectBox {
        width: 100%;
        height: 49px;
        margin-top: 3px;
    }

    .cmn-formBox_CardMonth {
        display: inline-block;
        width: 30vw;
        height: 49px;
    }

    .cmn-formBox_CardMonth + .cmn-formBox_txt {
        display: inline-block;
        margin-right: 10px;
    }

    .cmn-formBox_CardYear {
        display: inline-block;
        width: 30vw;
        height: 49px;
    }

    .cmn-formBox_CardYear + .cmn-formBox_txt {
        display: inline-block;
    }

    .cmn-formBox_creditNumber {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    .cmn-formBox_creditNumber input {
        display: inline-block;
        width: 23%;
    }

    .cmn-formBox_newsCard {
        margin-top: 12px;
    }

    .cmn-formBox_securityCode input {
        width: 5em;
    }

    .cmn-formBox_usePoint input {
        display: inline-block;
        width: 22vw;
    }

    .cmn-formBox_usePoint .cmn-formBox_txt {
        display: inline-block;
        font-size: 1.4rem;
    }

    .cmn-submitBtns_back a,
    .cmn-submitBtns_back button {
        width: 32vw;
        padding: 19px 0;
        background: #ddd;
        font-size: 1.6rem;
    }

    .cmn-submitBtns_delete a,
    .cmn-submitBtns_delete button {
        width: 32vw;
        padding: 19px 0;
        background: #a10605;
        font-size: 1.6rem;
    }

    .cmn-submitBtns_submit a,
    .cmn-submitBtns_submit button {
        width: 90vw;
        padding: 19px 0;
        background: #a10605;
        font-size: 1.6rem;
    }

    .cmn-submitBtns_back + .cmn-submitBtns_submit button {
        width: 54vw;
    }

    /* ################# cmn-formMiniBox ################# */
    .cmn-formMiniBox_ttl {
        flex-basis: 100%;
        max-width: 100%;
        padding: 16px 10px 15px;
    }

    .cmn-formMiniBox_body {
        flex-basis: 100%;
        max-width: 100%;
        padding: 16px 10px 15px;
    }

    .cmn-formMiniBox_body .cmn-formMiniBox_txt {
        display: block;
        margin-top: 8px;
        font-size: 1.4rem;
    }

    .cmn-formMiniBox_bodyText {
        padding: 12px 0 10px 0;
    }

    .cmn-formMiniBox_CardMonth {
        display: inline-block;
        width: 35vw;
        height: 49px;
    }

    .cmn-formMiniBox_CardYear {
        display: inline-block;
        width: 35vw;
        height: 49px;
    }

    .cmn-formMiniBox_creditNumber input {
        display: inline-block;
        width: 20.7vw;
    }

    .cmn-radioBtn label {
        font-size: 13px;
    }
}

/* -----------------------------------------------------------------------
## Header ##################################################
----------------------------------------------------------------------- */
.ph {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    width: 100%;
    background: #fff;
    line-height: 1.25;
    transition: 0.5s;
}

.ph::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 100%;
    background: #ddd;
    content: "";
}

.ph-inner {
    position: relative;
    z-index: 2;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
    align-items: center;
    background: #fff;
}

.ph-logo {
    padding: 0;
    position: relative;
}

.ph-menus {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
}

.ph-menus_item {
    width: 70px;
    height: 50px;
    box-sizing: border-box;
}

.ph-menus_item a {
}

.ph-menus_item.has-search {
    width: 320px;
    padding: 19px 20px 0 0;
}

.ph-menus_item.has-mypage a {
    /*color: #212121;*/
    background: transparent url(../img/icon-login-black03.svg) no-repeat center 9px;
    background-size: 22px;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ph-menus_item.has-mypage a:hover {
    opacity: 1;
    background-color: #f1f1f1;
}

.ph-menus_item.has-cart a {
    background: transparent url(../img/icon-shoppingcart-black.svg) no-repeat 18px 8px;
    background-size: 26px auto;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ph-menus_item.has-cart a:hover {
    opacity: 1;
    background-color: #f1f1f1;
}

.ph-menus_item.has-wishlist a {
    background: transparent url(../img/icon-favorite.svg) no-repeat 24px 11px;
    background-size: 22px auto;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ph-menus_item.has-wishlist a:hover {
    opacity: 1;
    background-color: #f1f1f1;
}

.ph-menus_item.has-menuBtn a {
    position: relative;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ph-menus_humbergerWrap{
    position: relative;
}

.ph-menus_humberger {
    display: block;
    width: 24px;
    height: 2px;
    background: #030303;
    transition: transform 0.3s ease-in-out;
    position: absolute;

}

.ph-menus_humberger:nth-child(1){
    left: 50%;
    top: 10px;
    margin-left: -12px;
}

.ph-menus_humberger:nth-child(2){
    width: 17px;
    right:0;
}

.ph-menus_humberger:nth-child(3){
    left: 50%;
    bottom: 10px;
    margin-left: -12px;
}

.ph-searchItem.is-sp {
    display: none;
}

.ph-menus_item .ph-menus_txt_menuClose,
.ph-menus_item .ph-menus_txt_menuOpen{
    transition: all .4s 0s ease;
}

.ph-menus_item .ph-menus_txt_menuOpen{
    display: none;
}

.ph-menus_item .is-open .ph-menus_txt_menuClose{display: none;}

.ph-menus_item .is-open .ph-menus_txt_menuOpen{display: block;}

.ph-menus_item.has-menuBtn a .ph-menus_humberger:nth-child(1){
    -webkit-transform: translate(0,0);
    transform: translate(0, 0);
}

.ph-menus_item.has-menuBtn a.is-open .ph-menus_humberger:nth-child(1){
    -webkit-transform: translate(0, 10px) rotate(45deg);
    transform: translate(0, 10px) rotate(45deg);
    left: 9px;
}

.ph-menus_item.has-menuBtn a .ph-menus_humberger:nth-child(3){
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.ph-menus_item.has-menuBtn a.is-open .ph-menus_humberger:nth-child(3){
    -webkit-transform: translate(0, -6px) rotate(-45deg);
    transform: translate(0, -6px) rotate(-45deg);
    left: 9px;
}

.ph-menus_item.has-menuBtn a.is-open .ph-menus_humberger:nth-child(2){
    opacity: 0;

}

.ph-searchItem_input {
    width: 280px;
    padding: 6px 50px 6px 25px;
    border: 2px solid #ccc;
    border-radius: 1000px;
    box-sizing: border-box;
    background: url(../img/ico_search01.png) no-repeat 242px center;
    background-size: 24px auto;
    font-size: 1.6rem;
}

.ph-searchItem_input:focus {
    outline: none;
}

.ph-searchItem {
    position: relative;
}

.ph-searchItem_submit {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0px;
    width: 40px;
    height: 34px;
}

.ph-searchItem_submit:hover {
    cursor: pointer;
}

#header.hide {
    transform: translateY(-118px);
}

@media screen and (max-width: 1040px) {
    .ph::after {
        height: 1px;
    }

    .ph-inner {
        width: auto;
        padding: 0 5px;
    }

    .ph-logo {
        width: 140px;
        padding: 0;
    }

    .ph-menus_item {
        width: 46px;
        height: 60px;
        font-size: 1rem;
        margin-left: 10px;
    }

    .ph-menus_item a {
    }

    .ph-menus_item.has-search {
        display: none;
    }

    .ph-menus_item.has-cart a:hover {
        opacity: 1;
        background-color: transparent;
    }


    .ph-menus_item.has-menuBtn a:hover {
    }

    .ph-menus_humberger:nth-child(2) {
        right: inherit;
    }

    .ph-menus_item.has-menuBtn .ph-menus_humberger {
    }

    .ph-searchItem.is-sp {
        display: block;
    }

    .ph-searchItem_input {
        width: 100%;
        padding: 9px 25px;
        border: 2px solid #ccc;
        border-radius: 1000px;
        box-sizing: border-box;
        background: url(../img/ico_search01.png) no-repeat 253px center;
        font-size: 1.6rem;
    }

    .ph-searchItem_input:focus {
        outline: none;
    }

    .ph-searchItem_submit {
        height: 40px;
    }

    .ph-inner .ph-searchItem {
        display: none;
    }

    .header-home {
        width: 46px;
        height: 60px;
        font-size: 10px;
        letter-spacing: 0;
        display: block;
        text-align: center;
        padding-top: 39px;
        box-sizing: border-box;
        position: relative;
    }

    .header-home:before {
        content: "";
        display: block;
        position: absolute;
        top: 7px;
        left: 0;
        width: 100%;
        height: 30px;
        background: transparent url(../img/icon-home.svg) no-repeat center;
        background-size: 22px;
    }

    #header.hide {
        transform: translateY(-62px);
    }

    .ph-menus_item.has-menuBtn a.is-open .ph-menus_humberger:nth-child(1){
        -webkit-transform: translate(0, 12px) rotate(45deg);
        transform: translate(0, 12px) rotate(45deg);
    }

}

/* -----------------------------------------------------------------------
## Global navi ##################################################
----------------------------------------------------------------------- */
.ph-gNavi {
    position: absolute;
    top: 100%;
    width: 100%;
    height: calc(100vh - 100px);
    overflow: auto;
    background: #f9f8f1;
}

.ph-gNavi_inner {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    width: 1200px;
    margin: 0 auto;
}

.ph-gNavi_side {
    flex-basis: 246px;
    max-width: 246px;
}

.ph-gNavi_main {
    position: relative;
    flex-basis: 954px;
    max-width: 954px;
    border-left: 2px solid #ddd;
}

.ph-gNaviInner {
    width: 246px;
    margin: 0 0 0 auto;
}

.ph-gNaviGenre_row.for-category {
    padding: 27px 0 38px 48px;
}

.ph-gNaviGenre_row.for-buy {
    padding: 37px 0 36px 48px;
}

.ph-gNaviGenre_row.for-brand {
    padding: 38px 0 38px 48px;
}

.ph-gNaviGenre_row:nth-child(even) {
    background: #f1efe0;
}

.ph-gNaviGenre_ttl {
    padding-top: 5px;
    padding-left: 28px;
    box-sizing: border-box;
    font-size: 1.8rem;
    font-weight: bold;
}

.for-category .ph-gNaviGenre_ttl {
    background: url(../img/ico_category01.png) no-repeat 0 bottom;
    background-size: 20px auto;
}

.for-buy .ph-gNaviGenre_ttl {
    background: url(../img/ico_buy01.png) no-repeat 0 bottom;
    background-size: 16px auto;
}

.for-brand .ph-gNaviGenre_ttl {
    background: url(../img/ico_brand01.png) no-repeat 0 bottom;
    background-size: 20px auto;
}

.ph-gNaviType {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
}

.ph-gNaviType_item {
    overflow: hidden;
    flex-basis: 144px;
    max-width: 144px;
}

.ph-gNaviType_item + .ph-gNaviType_item {
    margin-left: 8px;
}

.ph-gNaviType_thumb {
    display: block;
    border-radius: 4px;
    overflow: hidden;
}

.ph-gNaviType_text {
    display: block;
    line-height: 1.43;
    margin-top: 7px;
    padding-left: 12px;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 4px;
    font-size: 1.4rem;
    font-weight: bold;
}

.ph-gSideNavi {
    font-size: 1.8rem;
    font-weight: bold;
}

.ph-gSideNavi_item {
    overflow: hidden;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ph-gSideNavi_item:hover {
    background-color: #f1efe0;
}

.ph-gSideNavi_item a {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    height: 70px;
    padding-left: 96px;
    color: #212121;
}

.ph-gSideNavi_item:first-child a {
    padding-top: 9px;
}

.ph-gSideNavi_item.for-guide a {
    background: transparent url(../img/ico_guide01.png) no-repeat 20px 14px;
    background-size: 60px auto;
}

.ph-gSideNavi_item.for-faq a {
    background: transparent url(../img/ico_faq01.png) no-repeat 20px 5px;
    background-size: 60px auto;
}

.ph-gSideNavi_item.for-contact a {
    background: transparent url(../img/ico_contact01.png) no-repeat 20px 5px;
    background-size: 60px auto;
}

.ph-gSideNavi_item.for-magazine a {
    background: transparent url(../img/ico_magazine01.png) no-repeat 20px 5px;
    background-size: 60px auto;
}

.ph-gNaviSns {
    margin-top: 53px;
    padding: 0 20px;
}

.ph-gNaviSns_ttl {
    text-align: center;
    letter-spacing: -.03em;
    font-weight: bold;
    font-size: 1.8rem;
}

.ph-gNaviSns_body {
    margin-top: 11px;
}

.ph-gNaviSns_body + .ph-gNaviSns_body {
    margin-top: 16px;
}

@media screen and (max-width: 768px) {
    .ph-gNavi {
        height: calc(100vh - 60px);
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
    }

    .ph-gNavi_inner {
        display: block;
        width: auto;
    }

    .ph-gNavi_side {
        max-width: none;
        min-width: 0;
        padding-bottom: 105px;
        border-right: 0;
    }

    .ph-gNavi_main {
        min-width: 0;
        border-left: 0;
        padding-bottom: 0;
    }

    .ph-gNavi_search {
        padding: 20px 28px;
    }

    .ph-searchItem_input {
        padding: 10px 47px 10px 25px;
        border-width: 1px;
        background: #fff url(../img/ico_search01.png) no-repeat calc(100% - 18px) center;
        background-size: 20px auto;
    }

    .ph-gNaviGenre_row.for-category {
        padding: 0;
    }

    .ph-gNaviGenre_row.for-buy {
        padding: 0;
    }

    .ph-gNaviGenre_row.for-brand {
        padding: 0;
    }

    .ph-gNaviGenre_row:nth-child(even) {
        background: transparent;
    }

    .ph-gNaviGenre_ttl {
        position: relative;
        width: auto;
        line-height: 1;
        padding: 23px 0 23px 49px;
        border-top: 1px solid #ddd;
        font-size: 2rem;
        cursor: pointer;
    }

    .ph-gNaviGenre_ttl::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        width: 1em;
        height: 1em;
        line-height: 1;
        margin: auto;
        font-size: 2rem;
        font-family: "Ionicons";
        content: "\f123";
        text-align: center;
        -webkit-transition: all .4s 0s ease;
        transition: all .4s 0s ease;
        -webkit-transform-origin: center center;
        transform-origin: center center;
    }

    .ph-gNaviGenre_ttl.is-open::after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .for-category .ph-gNaviGenre_ttl,
    .for-buy .ph-gNaviGenre_ttl,
    .for-brand .ph-gNaviGenre_ttl {
        background: none;
    }

    .for-category .ph-gNaviGenre_ttl::before,
    .for-buy .ph-gNaviGenre_ttl::before,
    .for-brand .ph-gNaviGenre_ttl::before {
        position: absolute;
        top: -0.5px;
        bottom: 0;
        left: 24px;
        margin: auto;
        display: block;
        width: 20px;
        content: "";
    }

    .for-category .ph-gNaviGenre_ttl::before {
        height: 20px;
        background: url(../img/ico_category01.png) no-repeat center 0;
        background-size: 18px 20px;
    }

    .for-buy .ph-gNaviGenre_ttl::before {
        height: 18px;
        background: url(../img/ico_buy01.png) no-repeat center 0;
        background-size: 14px 18px;
    }

    .for-brand .ph-gNaviGenre_ttl::before {
        height: 18px;
        background: url(../img/ico_brand01.png) no-repeat center 0;
        background-size: 20px 18px;
    }

    .ph-gNaviGenre_body {
        display: none;
        width: auto;
        box-sizing: border-box;
    }

    .ph-gNaviType {
        display: block;
        border-top: 1px solid #ddd;
        margin-top: 0;
    }

    .for-category .ph-gNaviType {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
    }

    .for-category .ph-gNaviType_item:nth-child(even) {
        border-left: 1px dotted #aaa;
    }

    .for-category .ph-gNaviType_item:nth-child(n+3) {
        border-top: 1px dotted #aaa;
    }

    .for-category .ph-gNaviType_thumb {
        padding: 8px 36px 0;
    }

    .for-buy .ph-gNaviType_item,
    .for-brand .ph-gNaviType_item {
        border-top: 1px dotted #aaa;
    }

    .for-buy .ph-gNaviType_item:first-child,
    .for-brand .ph-gNaviType_item:first-child {
        border-top: 0;
    }

    .for-buy .ph-gNaviType_item a,
    .for-brand .ph-gNaviType_item a {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        padding: 9px 15px;
    }

    .for-buy .ph-gNaviType_thumb,
    .for-brand .ph-gNaviType_thumb {
        flex-basis: 23.19%;
        max-width: 23.19%;
    }

    .for-buy .ph-gNaviType_text,
    .for-brand .ph-gNaviType_text {
        margin-top: 0;
        padding-left: 14px;
    }

    .ph-gNaviType_item {
        flex-basis: 50%;
        max-width: 50%;
        box-sizing: border-box;
        background: #fff;
        text-align: center;
    }

    .ph-gNaviType_item a {
        position: relative;
        display: block;
    }

    .ph-gNaviType_item a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 14px;
        width: 7px;
        height: 10px;
        margin: auto;
        background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
        content: "";
    }

    .for-buy .ph-gNaviType_item,
    .for-brand .ph-gNaviType_item {
        flex-basis: 100vw;
        max-width: 100vw;
    }

    .for-brand .ph-gNaviType_item:last-child {
        margin-top: 0;
    }

    .for-brand .ph-gNaviType_item:last-child a {
        width: 100%;
        box-sizing: border-box;
    }

    .ph-gNaviType_item + .ph-gNaviType_item {
        margin-left: 0;
    }

    .ph-gNaviType_text {
        margin-top: 7px;
        padding-left: 0;
        padding-bottom: 2px;
        background: none;
    }

    .ph-gSideNavi {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        border-top: 1px dotted #aaa;
        font-size: 1.4rem;
    }

    .ph-gSideNavi_item {
        flex-basis: 50%;
        max-width: 50%;
        box-sizing: border-box;
        border-bottom: 1px solid #ddd;
    }

    .ph-gSideNavi_item:nth-child(even) {
        border-left: 1px solid #ddd;
    }

    .ph-gSideNavi_item a {
        position: relative;
        height: 60px;
        padding-left: 64px;
    }

    .ph-gSideNavi_item a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 14px;
        width: 7px;
        height: 10px;
        margin: auto;
        background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
        content: "";
    }

    .ph-gSideNavi_item:first-child a {
        padding-top: 0;
    }

    .ph-gSideNavi_item.for-guide a {
        background: transparent url(../img/ico_guide01.png) no-repeat 15px 10px;
        background-size: 40px auto;
    }

    .ph-gSideNavi_item.for-faq a {
        background: transparent url(../img/ico_faq01.png) no-repeat 15px 10px;
        background-size: 40px auto;
    }

    .ph-gSideNavi_item.for-contact a {
        background: transparent url(../img/ico_contact01.png) no-repeat 15px 10px;
        background-size: 40px auto;
    }

    .ph-gSideNavi_item.for-magazine a {
        background: transparent url(../img/ico_magazine01.png) no-repeat 15px 10px;
        background-size: 40px auto;
    }

    .ph-gNaviInner {
        width: auto;
    }

    .ph-gNaviBnr {
        margin-top: 20px;
        padding: 0 15px;
    }

    .ph-gNaviBnr a {
        display: block;
        padding: 7px 14px 12px;
        background: #e6776f;
        font-size: 1.5rem;
    }

    .ph-gNaviBnr .btn-bnrInner {
        margin-top: 11px;
        padding: 7px 0;
    }

    .ph-gNaviSns {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        margin-top: 38px;
        padding: 0 15px;
    }

    .ph-gNaviSns_ttl {
        flex-basis: 100vw;
        max-width: 100vw;
        font-size: 2rem;
    }

    .ph-gNaviSns_body {
        flex-basis: 48%;
        max-width: 48%;
        margin-top: 15px;
    }

    .ph-gNaviSns_body img {
        width: 100%;
        max-width: 100%;
    }

    .ph-gNaviSns_body + .ph-gNaviSns_body {
        margin-top: 15px;
    }

    .ph-gNaviClose {
        margin-top: 38px;
        text-align: center;
    }

    .ph-gNaviClose a {
        display: inline-block;
        width: 31.47vw;
        box-sizing: border-box;
        padding: 6px 0 6px 26px;
        background: url(../img/ico_close02.png) no-repeat 24px center;
        background-size: 11px auto;
        border: 1px solid #666;
        border-radius: 1000px;
        font-weight: bold;
        font-size: 1.5rem;
    }
}

/* -----------------------------------------------------------------------
## Sidebar ##################################################
----------------------------------------------------------------------- */
.ps-sideNavi {
    margin-top: 39px;
    background: url(../img/bg_line01.png) repeat-x 0 0;
}

.ps-sideNavi.by-category {
    margin-top: 0;
}

.ps-sideNaviList_ttl {
    padding: 22px 0 11px 40px;
    font-size: 1.8rem;
    font-weight: bold;
}

.ps-sideNaviList_item {
    font-size: 1.4rem;
    font-weight: bold;
}

.ps-sideNaviList_item > a {
    display: block;
    padding: 9px 0 9px 25px;
    background: transparent url(../img/ico_arrow_b02.png) no-repeat 10px 11px;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
}

.ps-sideNaviList_item > a:hover {
    background: #f1efe0 url(../img/ico_arrow_b02.png) no-repeat 10px 11px;
}

.ps-sideNaviList_item > span {
    display: block;
    padding: 9px 0 9px 25px;
    background: transparent url(../img/ico_arrow_b02.png) no-repeat 10px 12px;
}

.by-category .ps-sideNaviList_ttl {
    background: url(../img/ico_category01.png) no-repeat 11px 19px;
    background-size: 20px auto;
}

.by-buy .ps-sideNaviList_ttl {
    background: url(../img/ico_buy01.png) no-repeat 15px 21px;
    background-size: 16px auto;
}

.by-brand .ps-sideNaviList_ttl {
    background: url(../img/ico_brand01.png) no-repeat 13px 21px;
    background-size: 20px auto;
}

.for-beginner .ps-sideNaviList_ttl {
    background: url(../img/ico_beginner01.png) no-repeat 15px 22px;
    background-size: 16px auto;
}

.ps-guide {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    /*margin: 3px 0 11px;
  padding: 0 10px;*/
    padding-bottom: 10px;
}

.ps-guide_item {
    overflow: hidden;
    flex-basis: 117px;
    max-width: 117px;
    margin-bottom: 12px;
}

.ps-guide_item > a {
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    height: 55px;
    box-sizing: border-box;
    line-height: 1.29;
    padding: 0 11px;
    border: 1px solid #ccc;
    color: #666;
    font-size: 1.4rem;
    font-weight: 500;
    -webkit-transition: all .4s 0s ease;
    transition: all .4s 0s ease;
    letter-spacing: 0;
    /*20200910 add*/
}

.ps-guide_item > a::after {
    position: absolute;
    bottom: 1px;
    right: 1px;
    width: 5px;
    height: 5px;
    background: url(../img/ico_arrow_a03.png) no-repeat 0 0;
    content: "";
}

.ps-guide_item > a:hover {
    background: #f1efe0;
}

.cmn-side [class^="ps-"] {
    content-visibility: auto;
}

.ps-bnrArea {
    /*margin-top: 39px;*/
}

.ps-bnrArea .btn-bnrInner {
    width: 228px;
    margin-top: 12px;
    font-size: 2rem;
}

.ps-bnrArea .btn-bnrInner span {
    margin-left: 2px;
    font-size: 1.4rem;
}

.ps-bnrArea_item.for-joinus {
    padding: 12px 0 13px;
    background: #e6776f;
    text-align: center;
}

.ps-bnrArea_item + .ps-bnrArea_item {
    margin-top: 16px;
}

.ps-calender {
    margin: 41px 0 0;
}

.ps-calender_ttl {
    padding-left: 35px;
    background: url(../img/ico_calender.png) no-repeat 10px 0;
    font-weight: 500;
    font-size: 1.6rem;
}

.ps-calender_body .ps-calender_calender {
    margin-top: 19px;
}

.ps-calender_body .ui-datepicker-header {
    position: relative;
    padding: 6px 0;
    background: #f5f3e9;
    text-align: center;
}

.ps-calender_body .ui-datepicker-prev {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: url(../img/ico_arrow_b03.png) no-repeat 8px 11px;
    cursor: pointer;
}

.ps-calender_body .ui-datepicker-prev span {
    opacity: 0;
}

.ps-calender_body .ui-datepicker-prev.ui-state-disabled {
    background: none;
    pointer-events: none;
}

.ps-calender_body .ui-datepicker-title {
    font-weight: bold;
}

.ps-calender_body .ui-datepicker-next {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    background: url(../img/ico_arrow_b02.png) no-repeat 8px 11px;
    cursor: pointer;
}

.ps-calender_body .ui-datepicker-next span {
    opacity: 0;
}

.ps-calender_body .ui-datepicker-next.ui-state-disabled {
    background: none;
    pointer-events: none;
}

.ps-calender_body .ui-datepicker-calendar {
    width: 100%;
    margin-top: 11px;
    border-spacing: 1px;
    text-align: center;
    font-size: 1.4rem;
}

.ps-calender_body th {
    padding: 3px 0;
}

.ps-calender_body th.ui-datepicker-week-end {
    color: #e6776f;
}

.ps-calender_body th.ui-datepicker-week-end span,
.ps-calender_body th.ui-datepicker-week-end a {
    display: block;
    padding: 9px 0;
    pointer-events: none;
}

.ps-calender_body td {
    background: #f5f3e9;
    font-weight: bold;
}

.ps-calender_body td span,
.ps-calender_body td a {
    display: block;
    padding: 9px 0;
    pointer-events: none;
}

.ps-calender_body td.day_color1,
.ps-calender_body td.ui-datepicker-week-end {
    background: #e6776f;
    color: #fff;
}

.ps-calender_body td.day_color1 a,
.ps-calender_body td.ui-datepicker-week-end a {
    color: #fff;
}

.ps-calender_body th.ui-datepicker-other-month,
.ps-calender_body td.ui-datepicker-other-month {
    background: transparent;
    color: #999;
}

.ps-calender_legend {
    position: relative;
    margin-top: 9px;
    padding-left: 25px;
    font-size: 1.2rem;
    font-weight: bold;
}

.ps-calender_legend::before {
    position: absolute;
    top: 0;
    left: 2px;
    display: inline-block;
    width: 14px;
    height: 14px;
    background: #e6776f;
    content: "";
}

.ps-nf {
    margin: 50px 0 0;
}

.ps-nf_ttl {
    /*padding-left: 5px;*/
    font-weight: 500;
    font-size: 1.6rem;
}

.ps-nf_body {
    margin-top: 10px;
}

.ps-nf_body a {
    display: block;
}

.ps-nf_body a:hover .ps-nf_text {
    text-decoration: underline;
}

.ps-nf_text {
    line-height: 1.43;
    margin-top: 6px;
    /*padding-left: 22px;
    background: url(../img/ico_arrow_b02.png) no-repeat 10px 7px;*/
    font-size: 1.4rem;
    /*font-weight: bold;*/
}

/* -----------------------------------------------------------------------
## Footer ##################################################
----------------------------------------------------------------------- */
.pf {
    background: url(../img/bg_footer01.jpg) no-repeat center top;
    background-size: cover;
}

.pf-inner {
    width: 1180px;
    margin: 0 auto;
    padding: 80px 0 56px;
}

.pf-contact {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.pf-contact_item {
    width: 570px;
}

.pf-contact_item a {
    position: relative;
    display: block;
    border: 2px solid #fff;
    color: #fff;
    font-weight: bold;
    -webkit-transition: all .2s 0s ease;
    transition: all .2s 0s ease;
}

.pf-contact_item a::after {
    position: absolute;
    bottom: 3px;
    right: 3px;
    display: block;
    width: 9px;
    height: 9px;
    background: url(../img/ico_arrow_a01.png) no-repeat 0 0;
    content: '';
}

.pf-contact_item a:hover {
    background: #fff;
    color: #212121;
}

.pf-contact_item a:hover::after {
    background: url(../img/ico_arrow_a02.png) no-repeat 0 0;
}

.pf-contact_item.for-mail a {
    padding: 23px 0 22px 204px;
}

.pf-contact_item.for-mail .pf-contact_large {
    position: relative;
    display: block;
    font-size: 2.6rem;
    margin-bottom: 6px;
}

.pf-contact_item.for-mail .pf-contact_large::before {
    position: absolute;
    top: 6px;
    left: -95px;
    width: 63px;
    height: 40px;
    margin: auto;
    background: url(../img/ico_mail01.png) no-repeat 0 0;
    background-size: cover;
    content: "";
}

.pf-contact_item.for-mail a:hover .pf-contact_large::before {
    background: url(../img/ico_mail02.png) no-repeat 0 0;
    background-size: cover;
}

.pf-contact_item.for-tel a {
    padding: 26px 0 24px 101px;
}

.pf-contact_item.for-tel .pf-contact_large {
    position: relative;
    display: inline;
    font-size: 3.2rem;
    vertical-align: text-bottom;
}

.pf-contact_item.for-tel .pf-contact_large::before {
    position: absolute;
    top: -9px;
    left: -49px;
    width: 34px;
    height: 49px;
    margin: auto;
    background: url(../img/ico_tel01.png) no-repeat 0 0;
    background-size: cover;
    content: "";
}

.pf-contact_item.for-tel .pf-contact_small {
    display: inline-block;
    line-height: 1.7;
    margin-left: 10px;
}

.pf-contact_small {
    display: block;
    font-size: 1.3rem;
}

.pf-contact a:hover .pf-contact_large::before {
    background: url(../img/ico_tel02.png) no-repeat 0 0;
    background-size: cover;
}

.pf-contact_item.pf-contact_item_cp {
    width: 100%;
    text-align: center;
}

.pf-contact_item.pf-contact_item_cp.for-mail a {
    padding: 23px 0 22px 85px;
}

.pf-contact_item.pf-contact_item_cp.for-mail .pf-contact_large {
    display: inline-block;
}

.pf-guide {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 80px;
    padding-bottom: 122px;
    color: #fff;
}

.pf-guide > dl {
    position: relative;
    width: 340px;
    height: 440px;
}

.pf-guide > dl:nth-child(2) {
    padding: 0 40px;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.pf-guide_ttl {
    padding: 3px 0 14px 0;
    border-bottom: 1px dashed #fff;
    font-size: 1.8rem;
}

.pf-guide_body {
    margin-top: 17px;
    font-size: 1.2rem;
}

.pf-guide_body b {
    font-size: 1.4rem;
    line-height: 1;
}

.pf-guide_btn a {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: inline-block;
    width: 100%;
    margin: auto;
    padding: 13px 0;
    border: 0;
    border-radius: 1000px;
    text-align: center;
    background: #fff;
    color: #212121;
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;
    -webkit-appearance: none;
    cursor: pointer;
}

.pf-guide_btn a::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
    content: '';
}

.pf-guide_btn a:hover {
    /*-webkit-transform: translate(0, 4px);
      transform: translate(0, 4px);
      box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);*/
}

.pf-deliver .pf-guide_ttl {
    padding-left: 40px;
    background: url(../img/ico_deliver01.png) no-repeat 0 4px;
    background-size: 29px auto;
}

.pf-deliver .pf-guide_body {
    line-height: 2.17;
}

.pf-deliver .pf-guide_body p + p {
    margin-top: 26px;
}

.pf-payment .pf-guide_ttl {
    padding-left: 35px;
    background: url(../img/ico_payment01.png) no-repeat 0 4px;
    background-size: 27px auto;
}

.pf-payment .pf-guide_body {
    line-height: 2;
    font-size: 1.4rem;
}

.pf-payment .pf-guide_btn a {
    width: 340px;
}

.pf-payment img {
    margin-top: 12px;
}

.pf-return .pf-guide_ttl {
    padding-left: 30px;
    background: url(../img/ico_return01.png) no-repeat 0 0;
    background-size: 24px auto;
}

.pf-return .pf-guide_body {
    line-height: 2.17;
}

.pf-btmLinks {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.pf-btmLinksList {
    /*padding: 33px 104px 0 0;*/
}

.pf-btmLinksList_item {
    display: inline-block;
    padding: 0 23px;
    letter-spacing: .06em;
}

.pf-btmLinksList_item:first-child {
    padding-left: 0;
}

.pf-btmLinksList_item:last-child {
    padding-right: 0;
}

.pf-btmLinksList_item + .pf-btmLinksList_item {
    border-left: 1px solid #fff;
}

.pf-btmLinksList a {
    color: #fff;
}

.pf-btmLinksList a:hover {
    text-decoration: underline;
}

.pf-copyright {
    display: block;
    padding: 19px 0 18px;
    background: #fff;
    text-align: center;
    font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
    .pf {
        background: url(../img/bg_footer01.jpg) no-repeat center top;
        background-size: cover;
    }

    .pf-inner {
        position: relative;
        width: auto;
        padding: 146px 0 47px;
    }

    .pf-contact {
        padding: 0 4%;
    }

    .pf-contact_item {
        width: 44vw;
    }

    .pf-contact_item a:hover {
        background: transparent;
        color: #fff;
    }

    .pf-contact_item a:hover::after {
        background: url(../img/ico_arrow_a01.png) no-repeat 0 0;
    }

    .pf-contact_item.for-mail a {
        padding: 0;
        height: 100%;
    }

    .pf-contact_item.for-mail .pf-contact_large {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        min-height: 50px;
        box-sizing: border-box;
        font-size: 1.4rem;
        margin-bottom: 0;
        padding: 9px 0 9px 13px;
    }

    .pf-contact_item.for-mail .pf-contact_large::before {
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        min-width: 29px;
        width: 29px;
        height: 18px;
        margin: 0 9px 0 0;
        content: "";
    }

    .pf-contact_item.for-mail a:hover .pf-contact_large::before {
        background: url(../img/ico_mail01.png) no-repeat 0 0;
        background-size: cover;
    }

    .pf-contact_item.for-mail .pf-contact_small {
        padding: 6px 0;
        border-top: 1px solid #fff;
        font-size: 1.2rem;
        text-align: center;
    }

    .pf-contact_item.for-tel a {
        padding: 0;
        height: 100%;
    }

    .pf-contact_item.for-tel .pf-contact_large {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        min-height: 50px;
        box-sizing: border-box;
        font-size: 1.9rem;
        margin-bottom: 0;
        padding: 13px 0 14px;
        letter-spacing: -.06em;
    }

    .pf-contact_item.for-tel .pf-contact_large::before {
        position: relative;
        top: 0px;
        left: 0px;
        right: 0;
        min-width: 16px;
        width: 16px;
        height: 23px;
        margin: 0 4px 0 0;
        content: "";
    }

    .pf-contact_item.for-tel a:hover .pf-contact_large::before {
        background: url(../img/ico_tel01.png) no-repeat 0 0;
        background-size: cover;
    }

    .pf-contact_item.for-tel .pf-contact_small {
        display: block;
        line-height: 1.3;
        margin-left: 0;
        padding: 6px 0;
        border-top: 1px solid #fff;
        text-align: center;
        font-size: 1rem;
    }

    .pf-contact_small {
        display: block;
        font-size: 1.4rem;
    }

    .pf-contact_item.pf-contact_item_cp {
        width: 100%;
        text-align: center;
    }

    .pf-contact_item.pf-contact_item_cp.for-mail a {
        padding: 10px;
    }

    .pf-contact_item.pf-contact_item_cp.for-mail .pf-contact_large {
        display: flex;
        padding: 0 10px 10px;
        min-height: auto;
    }

    .pf-contact_item.pf-contact_item_cp.for-mail .pf-contact_large::before {
        width: 22px;
        height: 14px;
        margin: 0 5px 0 0;
        background-size: 22px;
    }

    .pf-contact_item.for-mail .pf-contact_small {
        padding: 0;
        border-top: none;
    }


    .pf-guide {
        display: block;
        margin-top: 66px;
        padding: 0 4% 67px;
        color: #fff;
    }

    .pf-guide > dl {
        position: relative;
        width: auto;
        height: auto;
        padding-bottom: 57px;
    }

    .pf-guide > dl:nth-child(2) {
        padding: 0 0 63px 0;
        border: 0;
    }

    .pf-guide > dl + dl {
        margin-top: 57px;
    }

    .pf-guide_ttl {
        padding: 3px 0 14px 0;
        border-bottom: 1px dashed #fff;
        font-size: 1.8rem;
    }

    .pf-guide_body {
        margin-top: 13px;
        font-size: 1.3rem;
    }

    .pf-guide_body b {
        line-height: 1.54;
        font-size: 1.3rem;
    }

    .pf-guide_btn {
        position: absolute;
        width: 100%;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        text-align: center;
    }

    .pf-guide_btn a {
        padding: 11px 0;
        font-size: 1.6rem;
        box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.5);
    }

    .pf-guide_btn a::after {
        right: 25px;
        width: 4px;
        height: 7px;
        background-size: cover;
    }

    .pf-guide_btn a {
        width: 80vw;
        padding: 10px 0;
    }

    .pf-guide_btn a:hover {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        /*box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.5);*/
    }

    .pf-deliver .pf-guide_ttl {
        padding-left: 47px;
        background: url(../img/ico_deliver01.png) no-repeat 0 2px;
        background-size: 34px auto;
    }

    .pf-deliver .pf-guide_body {
        line-height: 1.54;
    }

    .pf-deliver .pf-guide_body p + p {
        margin-top: 20px;
    }

    .pf-payment .pf-guide_ttl {
        padding-left: 40px;
        background: url(../img/ico_payment01.png) no-repeat 0 2px;
        background-size: 27px auto;
    }

    .pf-payment .pf-guide_body {
        line-height: 1.54;
        font-size: 1.3rem;
    }

    .pf-payment .pf-guide_btn a {
        width: 80vw;
    }

    .pf-payment img {
        margin-top: 9px;
    }

    .pf-return .pf-guide_ttl {
        padding-left: 35px;
        background: url(../img/ico_return01.png) no-repeat 0 0;
        background-size: 25px auto;
    }

    .pf-return .pf-guide_body {
        line-height: 1.54;
    }

    .pf-guide_ttl {
        padding-left: 35px;
        background: url(../img/ico_calender02.png) no-repeat 2px 0;
        background-size: 22px;
    }

    .pf-guide_body {
        margin-top: 20px;
        padding: 0 3.2vw;
    }

    .pf-guide_body .ps-calender_calender {
        margin-top: 19px;
    }

    .pf-guide_body .ui-datepicker-header {
        position: relative;
        padding: 9px 0 6px;
        background: #f5f3e9;
        color: #212121;
        text-align: center;
        font-size: 2.1rem;
    }

    .pf-guide_body .ui-datepicker-prev {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: url(../img/ico_arrow_b03.png) no-repeat 10px center;
        cursor: pointer;
    }

    .pf-guide_body .ui-datepicker-prev span {
        opacity: 0;
    }

    .pf-guide_body .ui-datepicker-title {
        font-weight: bold;
    }

    .pf-guide_body .ui-datepicker-next {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        background: url(../img/ico_arrow_b02.png) no-repeat 20px center;
        cursor: pointer;
    }

    .pf-guide_body .ui-datepicker-next span {
        opacity: 0;
    }

    .pf-guide_body .ui-datepicker-calendar {
        width: 100%;
        margin-top: 11px;
        border-spacing: 1px;
        text-align: center;
        font-size: 1.8rem;
    }

    .pf-guide_body th {
        padding: 6px 0;
    }

    .pf-guide_body th.ui-datepicker-week-end {
        color: #e6776f;
    }

    .pf-guide_body th.ui-datepicker-week-end a {
        display: block;
        padding: 11px 0;
    }

    .pf-guide_body td {
        background: #f5f3e9;
        font-weight: bold;
    }

    .pf-guide_body td a {
        display: block;
        padding: 11px 0;
    }

    .pf-guide_body td.day_color1,
    .pf-guide_body td.ui-datepicker-week-end {
        background: #e6776f;
        color: #fff;
    }

    .pf-guide_body td.day_color1 a,
    .pf-guide_body td.ui-datepicker-week-end a {
        color: #fff;
    }

    .pf-guide_body th.ui-datepicker-other-month,
    .pf-guide_body td.ui-datepicker-other-month {
        background: transparent;
        color: #999;
    }

    .pf-calender_legend {
        position: relative;
        margin-top: 15px;
        padding-left: 35px;
        font-size: 1.6rem;
        font-weight: bold;
    }

    .pf-calender_legend::before {
        position: absolute;
        top: 0;
        left: 2px;
        display: inline-block;
        width: 18px;
        height: 18px;
        background: #e6776f;
        content: "";
    }

    .pf-btmLinks {
        display: block;
    }

    .pf-logo {
        position: absolute;
        top: 48px;
        left: 0;
        right: 0;
        width: 229px;
        margin: 0 auto;
    }

    .pf-btmLinksList {
        padding: 0 0 0 15px;
    }

    .pf-btmLinksList_item {
        display: block;
        padding: 0 0 0 10px;
        background: url(../img/ico_arrow_b01.png) no-repeat 0 4px;
        background-size: 4px auto;
        letter-spacing: .06em;
        font-size: 1.4rem;
    }

    .pf-btmLinksList_item:first-child {
        padding-left: 10px;
    }

    .pf-btmLinksList_item:last-child {
        padding-right: 0;
    }

    .pf-btmLinksList_item + .pf-btmLinksList_item {
        margin-top: 20px;
        border-left: 0;
    }

    .pf-copyright {
        display: block;
        padding: 14px 0;
        background: #fff;
        text-align: center;
        font-size: 1.1rem;
    }

    .pf-copyright span {
        font-family: Verdana, "Droid Sans";
    }
}

/* -----------------------------------------------------------------------
## Parts ##################################################
----------------------------------------------------------------------- */
/* ################# パンくずリスト ################# */
.cmn-breadcrumbs {
    position: relative;
    margin: -4px 0 16px;
}

.cmn-breadcrumbs_item {
    display: inline-block;
    font-size: 1.4rem;
}

.cmn-breadcrumbs_item > li {
    display: inline-block;
}

.cmn-breadcrumbs_item a {
    color: #8ab7d2;
    text-decoration: underline;
}

.cmn-breadcrumbs_item a:hover {
    text-decoration: none;
}

.cmn-breadcrumbs_item + .cmn-breadcrumbs_item::before {
    display: inline-block;
    margin: 0 0;
    content: "＞";
}

/* ################# 2カラムボックス（SP時1カラム） ################# */
.cmn-col2Box {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
}

.cmn-col2Box a:hover img {
    opacity: 1;
}

.cmn-2langTtl + .cmn-col2Box {
    margin-top: 29px;
}

.cmn-col2Box_item {
    flex-basis: 432px;
    max-width: 432px;
}

.cmn-col2Box_item.is-large {
    flex-basis: 100%;
    max-width: 100%;
}

.cmn-col2Box_item + .cmn-col2Box_item {
    margin-top: 48px;
}

.cmn-col2Box_item:not(.is-large) + .cmn-col2Box_item:nth-child(2) {
    margin-top: 0;
}

.cmn-col2Box_item.is-large + .cmn-col2Box_item:nth-child(2),
.cmn-col2Box_item.is-large + .cmn-col2Box_item:nth-child(2) + .cmn-col2Box_item {
    margin-top: 71px;
}

.cmn-col2Box_ttl {
    margin-top: 15px;
    padding-left: 13px;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 center;
    font-weight: bold;
    font-size: 1.8rem;
}

.cmn-col2Box_txt {
    line-height: 1.86;
    margin-top: 8px;
    color: #666;
    font-weight: bold;
    font-size: 1.4rem;
}

/* ################# 3カラムボックス（SP時2カラム） ################# */
.cmn-col3Box {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
}

.cmn-col3Box a:hover img {
    opacity: 1;
}

.cmn-2langTtl + .cmn-col3Box {
    margin-top: 29px;
}

.cmn-col3Box_item {
    flex-basis: 278px;
    max-width: 278px;
    margin-left: 35px;
}

.cmn-col3Box_item:nth-child(3n+1) {
    margin-left: 0;
}

.cmn-col3Box_item:nth-child(n+4) {
    margin-top: 52px;
}

.cmn-col3Box_ttl {
    margin-top: 14px;
    padding-left: 13px;
    background: url(../img/ico_arrow_b02.png) no-repeat 0 center;
    font-weight: bold;
    font-size: 1.8rem;
}

.cmn-col3Box_txt {
    line-height: 1.57;
    margin-top: 11px;
    color: #666;
    font-weight: bold;
    font-size: 1.4rem;
}

/* ################# ページネーション ################# */
.cmn-pageNavi {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
}

.cmn-pageNavi_prev,
.cmn-pageNavi_next {
    position: relative;
    display: block;
    padding-top: 2px;
    font-size: 1.4rem;
}

.cmn-pageNavi_prev:empty,
.cmn-pageNavi_next:empty {
    width: calc(4em + 15px);
}

.cmn-pageNavi_prev a {
    padding-left: 15px;
}

.cmn-pageNavi_prev a::before {
    position: absolute;
    top: 2px;
    left: 0;
    content: "\f124";
    font-family: "Ionicons";
}

.cmn-pageNavi_prev a:hover::before {
    text-decoration: none;
}

.cmn-pageNavi_prev a:empty::before {
    display: none;
}

.cmn-pageNavi_next a {
    padding-right: 15px;
}

.cmn-pageNavi_next a::after {
    position: absolute;
    top: 2px;
    right: 0;
    content: "\f125";
    font-family: "Ionicons";
}

.cmn-pageNavi_next a:hover::after {
    text-decoration: none;
}

.cmn-pageNavi_next a:empty::after {
    display: none;
}

.cmn-pageNaviList {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    margin: 0 70px;
}

.cmn-pageNaviList_item a {
    text-decoration: underline;
}

.cmn-pageNaviList_item + .cmn-pageNaviList_item {
    margin-left: 15px;
}

.cmn-pageNaviList_current {
    font-weight: bold;
}

/* ################# ランキング ################# */
.cmn-ranking {
    margin-top: 144px;
    margin-bottom: 120px;
    /*border-top: 1px solid #ccc;
   padding: 60px 0 0 0;*/
}

@media screen and (max-width: 768px) {
    .cmn-ranking {
        margin-bottom: 90px;
    }
}

.cmn-rankingBox {
    display: flex;
}

.cmn-rankingBox a {
    display: flex;
}

.cmn-rankingBox_item {
    flex-basis: 160px;
    max-width: 160px;
}

.cmn-rankingBox_item + .cmn-rankingBox_item {
    margin-left: 16px;
}

.cmn-rankingBox_item:nth-child(1) {}

.cmn-rankingBox_item:nth-child(1) img {}

.cmn-rankingBox_item:nth-child(2) {}

.cmn-rankingBox_item:nth-child(2) img {}

.cmn-rankingBox_item:nth-child(3) {}

.cmn-rankingBox_item:nth-child(3) img {}

.cmn-rankingBox_item:nth-child(4) {}

.cmn-rankingBox_item:nth-child(5) {}

.cmn-rankingBox_img img {}

.cmn-rankingBox_name {
    margin-top: 10px;
}

.cmn-rankingBox_price {
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.8rem;
}

.cmn-rankingBox_tax {
    font-size: 1.2rem;
}

/* ################# あなたにおすすめの商品 ################# */
.cmn-recommend {
    margin-top: 174px;
    /*border-top: 1px solid #ccc;
  padding: 60px 0 0 0;*/
}

.cmn-recommendBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    /*margin-top: 30px;*/
    padding: 0 19px 37px;
}

.cmn-recommendBox_item {
    flex-basis: 160px;
    max-width: 160px;
}

.cmn-recommendBox_item + .cmn-recommendBox_item {
    margin-left: 16px;
}

.cmn-recommendBox_img img {
    border-radius: 4px;
    box-sizing: border-box;
}

.cmn-recommendBox_name {
    line-height: 1.57;
    margin-top: 10px;
    font-weight: bold;
    font-size: 1.4rem;
}

.cmn-recommendBox_price {
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.8rem;
}

.cmn-recommendBox_tax {
    font-size: 1.2rem;
}

/* ################# 商品レビューエリア ################# */
.cmn-reviewBox {
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
}

.cmn-reviewBox:first-child {
}

.cmn-reviewBox:last-child {
    border-bottom: none;
}

.cmn-reviewBox_header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.cmn-reviewBox_ttl {
    font-size: 16px;
}

.cmn-reviewBox_stars_wrap {
    width: 100%;
}

.cmn-reviewBox_stars {
    display: inline-block;
    margin-top: 5px;
    color: #aca36c;
}

.cmn-reviewBox_star {
    display: inline-block;
}

.cmn-reviewBox_starCount {
    display: inline-block;
    margin: 0 15px 0 4px;
    color: #aca36c;
    font-size: 2rem;
}

.cmn-reviewBox_author {
    font-size: 12px;
    text-align: right;
}

.cmn-reviewBox_author a {
    color: #8ab7d2;
    text-decoration: underline;
}

.cmn-reviewBox_author a:hover {
    text-decoration: none;
}

.cmn-reviewBox_postDate {
    font-size: 12px;
    color: #757575;
}

.cmn-reviewBox_body {
    padding: 20px 0;
}

.cmn-reviewBox_comment {}

.cmn-reviewBox_imgBox {
    margin: 2em 0 0;
}

.cmn-reviewBox_imgBox img {
    max-width: 100%;
}

.cmn-reviewBox_more {
    margin: 20px 0 0;
    text-align: center;
}

.cmn-reviewBox_more a {
    display: inline-flex;
    width: 200px;
    box-sizing: border-box;
    position: relative;
    border: none;
    background: #212121;
    color: #fff;
    cursor: pointer;
    -webkit-appearance: none;
    font-size: 14px;
    height: 30px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}

.cmn-reviewBox_more a:hover {
    text-decoration: none;
}

.cmn-reviewBox .cmn-reviewEdit {
    margin-top: 30px;
    text-align: right;
}

.cmn-reviewBox .cmn-reviewEdit_noEdit {
    text-align: left;
}

.cmn-reviewBox .cmn-reviewEdit a {
    color: #8ab7d2;
    text-align: right;
    text-decoration: underline;
}

.cmn-reviewBox .cmn-reviewEdit a:hover {
    text-decoration: none;
}

/* ################# レビュー投稿フォーム ################# */
.cmn-reviewForm {
    margin: 41px 0 0;
    padding: 30px 30px 44px;
    background: #f5f5f5;
}

.cmn-reviewForm_ttl {
    font-size: 2rem;
    padding-bottom: 10px;
}

.cmn-reviewForm_ttl > span {
    font-size: 1.4rem;
    font-weight: normal;
}

.cmn-reviewForm_lede {}

.cmn-reviewForm_lede a {
    text-decoration: underline;
    color: #8ab7d2;
}

.cmn-reviewForm_lede a:hover {
    text-decoration: none;
}

.cmn-reviewForm .cmn-submitBtns {
    margin-top: 20px;
}

.cmn-reviewForm .cmn-btn01 button {
    background: #a10605;
}

.cmn-reviewFormBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 22px 0 0;
}

.cmn-reviewFormBox_ttl {
    flex-basis: 134px;
    max-width: 134px;
    margin-top: 14px;
    padding: 9px 0 0;
}

.cmn-reviewFormBox_ttl:first-child,
.cmn-reviewFormBox_ttl:first-child + .cmn-reviewFormBox_body {
    margin-top: 0;
}

.cmn-reviewFormBox_body {
    flex-basis: 710px;
    max-width: 710px;
    margin-top: 14px;
}

.cmn-reviewFormBox_body.cmn-radioBtn {
    padding: 6px 0 10px;
    font-size: 1.9rem;
    color: #aca36c;
}

.cmn-reviewFormBox_body.cmn-radioBtn span {
    display: inline-block;
    margin: 0 21px 0 0;
}

.cmn-reviewFormBox_notes {
    display: inline-block;
    margin-left: 2px;
    font-size: 1.4rem;
}

.cmn-reviewFormBox_title input {
    width: 445px;
}

.cmn-reviewFormBox_comment {
    margin-bottom: 13px;
}

.cmn-reviewFormBox_comment textarea {
    width: 445px;
    height: 176px;
}

/* ################# ページナビ（コンテンツ前） ################# */
.cmn-pageguide {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 13px;
    padding: 0 20px;
    font-size: 1.4rem;
}

.cmn-pageguide_txt {
    padding: 5px 0;
}

.cmn-pageguide_pre {
    display: inline-block;
    padding: 5px 0;
    margin-right: 9px;
}

.cmn-pageguide_select {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
}

.cmn-pageguide_select .cmn-selectBox {
    width: 73px;
}

.cmn-pageguide_select .cmn-selectBox::after {
    right: 2px;
}

.cmn-pageguideBtm {
    margin: 74px 0 0;
    text-align: center;
}

.cmn-pageguideBtm .cmn-pagelink {
    font-size: 1.4rem;
}

.cmn-pageguideBtm .cmn-pagelink_prev {
    margin-right: 37px;
}

.cmn-pageguideBtm .cmn-pagelink_prev::before {
    display: inline-block;
    margin-right: 10px;
    content: "\f124";
    font-family: "Ionicons";
    font-size: 1.2rem;
}

.cmn-pageguideBtm .cmn-pagelink_prev:empty::before {
    display: none;
}

.cmn-pageguideBtm .cmn-pagelink_next {
    margin-left: 37px;
}

.cmn-pageguideBtm .cmn-pagelink_next::after {
    display: inline-block;
    margin-left: 10px;
    content: "\f125";
    font-family: "Ionicons";
    font-size: 1.2rem;
}

.cmn-pageguideBtm .cmn-pagelink_next:empty::after {
    display: none;
}

.cmn-pageguideBtm .cmn-pagelink_pages {
    display: inline-block;
    margin: 0 11px;
    font-size: 1.6rem;
}

.cmn-pageguideBtm .cmn-pagelink_current {
    font-weight: bold;
}

.cmn-pageguideBtm .cmn-pageguide {
    margin-top: 38px;
    padding: 0 0 12px;
    border-bottom: 1px solid #ddd;
}

/* ################# 商品タグ ################# */
.parts-productTags {}

.parts-productTags:empty {
    display: none;
}

.parts-productTags_item {
    background: #f5f5f5;
    border: 1px solid #ccc;
    display: inline-block;
    font-size: 11px;
    padding: 0 4px;
}

.parts-productTags_item a {
    color: #4f1f0b;
}

/*.parts-productTags_item.is-popular {
    background: #fae154; }
  .parts-productTags_item.is-with05 {
    color: #fff;
    background: #c8947d; }
  .parts-productTags_item.is-with10 {
    color: #fff;
    background: #8c5943; }
  .parts-productTags_item.is-new {
    color: #fff;
    background: #e6776f; }
  .parts-productTags_item.is-gift {
    color: #fff;
    background: #98ca9c; }
  .parts-productTags_item.is-set {
    color: #fff;
    background: #fa96b9; }
  .parts-productTags_item.is-soldout {
    color: #fff;
    background: #999; }
  .parts-productTags_item.is-nyusan {
    padding: 6px 0 5px;
    color: #fff;
    background: #7cc9dc;
    font-size: 1.3rem; }
  .parts-productTags_item.is-wakeari {
    color: #fff;
    background: #000080; }
  .parts-productTags_item.is-yoridori {
    min-width: 197px;
    padding: 4px 0;
    color: #fff;
    background: #f90; }
  .parts-productTags_item.is-limited {
    color: #fff;
    background: #d40013; }*/

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

    /* ################# パンくずリスト ################# */
    .cmn-breadcrumbs {
        margin: 0;
        padding: 2vw 4vw;
        display: flex;
        white-space: nowrap;
        width: 100%;
        box-sizing: border-box;
        background: #f9f9f9;
        /*margin-bottom: 10px;*/
    }

    .cmn-breadcrumbs_item {
        font-size: 2.8vw;
        font-weight: normal;
    }

    .cmn-breadcrumbs_item + .cmn-breadcrumbs_item::before {
        margin: 0 0;
    }

    .cmn-breadcrumbs_item:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* ################# 2カラムボックス（SP時1カラム） ################# */
    .cmn-col2Box {
        padding: 0 4vw;
    }

    .cmn-col2Box a:hover img {
        opacity: 1;
    }

    .cmn-2langTtl + .cmn-col2Box {
        margin-top: 17px;
    }

    .cmn-col2Box_item {
        flex-basis: 100%;
        max-width: 100%;
    }

    .cmn-col2Box_item.is-large {
        flex-basis: 100%;
        max-width: 100%;
    }

    .cmn-col2Box_item + .cmn-col2Box_item {
        margin-top: 47px;
    }

    .cmn-col2Box_item:not(.is-large) + .cmn-col2Box_item:nth-child(2),
    .cmn-col2Box_item.is-large + .cmn-col2Box_item:nth-child(2),
    .cmn-col2Box_item.is-large + .cmn-col2Box_item:nth-child(2) + .cmn-col2Box_item {
        margin-top: 47px;
    }

    .cmn-col2Box_ttl {
        margin-top: 10px;
        padding-left: 10px;
        font-size: 1.5rem;
    }

    .cmn-col2Box_txt {
        line-height: 1.72;
        margin-top: 6px;
        font-size: 1.4rem;
    }

    /* ################# 3カラムボックス（SP時2カラム） ################# */
    .cmn-col3Box {
        -webkit-box-pack: justify;
        justify-content: space-between;
        padding: 0 4vw;
    }

    .cmn-col3Box a:hover img {
        opacity: 1;
    }

    .cmn-2langTtl + .cmn-col3Box {
        margin-top: 16px;
    }

    .cmn-col3Box_item {
        flex-basis: 44vw;
        max-width: 44vw;
        margin-left: 0;
    }

    .cmn-col3Box_item:nth-child(n+3) {
        margin-top: 36px;
    }

    .cmn-col3Box_ttl {
        margin-top: 10px;
        padding-left: 13px;
        font-size: 1.5rem;
    }

    .cmn-col3Box_txt {
        line-height: 1.57;
        margin-top: 6px;
        font-size: 1.3rem;
    }

    /* ################# ページネーション ################# */
    .cmn-pageNavi {
        position: relative;
        line-height: 50px;
    }

    .cmn-pageNavi_prev,
    .cmn-pageNavi_next {
        position: absolute;
        top: 0;
        line-height: 50px;
        font-size: 1.5rem;
    }

    .cmn-pageNavi_prev span,
    .cmn-pageNavi_next span {
        display: none;
    }

    .cmn-pageNavi_prev a,
    .cmn-pageNavi_next a {
        display: block;
        width: 50px;
        height: 50px;
        box-sizing: border-box;
        color: #fff;
        text-align: center;
        background: #666;
    }

    .cmn-pageNavi_prev {
        left: 0;
    }

    .cmn-pageNavi_prev a {
        padding-left: 10px;
        border-radius: 0 4px 4px 0;
    }

    .cmn-pageNavi_prev a::before {
        position: absolute;
        top: 3px;
        left: 10px;
        content: "\f3d2";
        font-family: "Ionicons";
        font-size: 1.5rem;
    }

    .cmn-pageNavi_prev a:hover::before {
        text-decoration: none;
    }

    .cmn-pageNavi_prev a:empty::before {
        display: none;
    }

    .cmn-pageNavi_next {
        right: 0;
    }

    .cmn-pageNavi_next a {
        padding-right: 10px;
        border-radius: 4px 0 0 4px;
    }

    .cmn-pageNavi_next a::after {
        position: absolute;
        top: 3px;
        right: 10px;
        content: "\f3d3";
        font-family: "Ionicons";
        font-size: 1.5rem;
    }

    .cmn-pageNavi_next a:hover::after {
        text-decoration: none;
    }

    .cmn-pageNavi_next a:empty::after {
        display: none;
    }

    .cmn-pageNaviList {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        margin: 0 70px;
    }

    .cmn-pageNaviList_item a {
        text-decoration: underline;
    }

    .cmn-pageNaviList_item + .cmn-pageNaviList_item {
        margin-left: 15px;
    }

    .cmn-pageNaviList_current {
        font-weight: bold;
    }

    /* ################# ランキング ################# */
    .cmn-ranking {
        overflow: hidden;
        margin-top: 53px;
    }

    .cmn-rankingBox {
        margin-top: 17px;
        padding: 24px 0 54px;
    }

    .cmn-rankingBox .slick-prev {
        z-index: 10;
        left: -20px;
        width: 40px;
        height: 40px;
        border-radius: 1000px;
        text-align: right;
        background: #aca36c;
        opacity: .75;
    }

    .cmn-rankingBox .slick-prev::before {
        right: -20px;
        width: 8px;
        height: 8px;
    }

    .cmn-rankingBox .slick-prev:hover::before,
    .cmn-rankingBox .slick-prev:focus::before {
        background: #aca36c;
    }

    .cmn-rankingBox .slick-next {
        z-index: 10;
        width: 40px;
        height: 40px;
        border-radius: 1000px;
        text-align: left;
        right: -20px;
        background: #aca36c;
        opacity: .75;
    }

    .cmn-rankingBox .slick-next::before {
        right: -4px;
        width: 8px;
        height: 8px;
    }

    .cmn-rankingBox .slick-next:hover::before,
    .cmn-rankingBox .slick-next:focus::before {
        background: #aca36c;
    }

    .cmn-rankingBox .slick-list {
        padding: 0 22px;
    }

    .cmn-rankingBox.slick-initialized .slick-slide {
        margin: 0 7px;
    }

    .cmn-rankingBox .slick-dots {
        bottom: 25px;
    }

    .cmn-rankingBox .slick-dots li {
        width: 6px;
        height: 6px;
    }

    .cmn-rankingBox .slick-dots li button {
        width: 6px;
        height: 6px;
        padding: 0;
    }

    .cmn-rankingBox .slick-dots li button:before {
        width: 6px;
        height: 6px;
        border-radius: 1000px;
        content: "";
        opacity: 1;
        background: #aaa;
    }

    .cmn-rankingBox .slick-dots li.slick-active button:before {
        background: #000;
    }

    .cmn-rankingBox.slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    .cmn-rankingBox_item {
        padding-top: 31px;
    }

    .cmn-rankingBox_item img {
        width: 100%;
    }

    .cmn-rankingBox_item:nth-child(1) {
        background-size: 33px 25px;
    }

    .cmn-rankingBox_item:nth-child(1) img {
        border-width: 1px;
    }

    .cmn-rankingBox_item:nth-child(2) {
        background-size: 33px 25px;
    }

    .cmn-rankingBox_item:nth-child(2) img {
        border-width: 1px;
    }

    .cmn-rankingBox_item:nth-child(3) {
        background-size: 33px 25px;
    }

    .cmn-rankingBox_item:nth-child(3) img {
        border-width: 1px;
    }

    .cmn-rankingBox_item:nth-child(4) {
        background: url(../img/ico_rank04.png) no-repeat center 11px;
        background-size: 10px auto;
    }

    .cmn-rankingBox_item:nth-child(5) {
        background: url(../img/ico_rank05.png) no-repeat center 11px;
        background-size: 9px auto;
    }

    .cmn-rankingBox_img img {
        border-radius: 4px;
        box-sizing: border-box;
    }

    .cmn-rankingBox_name {
        line-height: 1.57;
        margin-top: 5px;
        font-weight: bold;
        font-size: 1.3rem;
    }

    .cmn-rankingBox_price {
        margin-top: 15px;
        font-weight: bold;
        font-size: 1.3rem;
    }

    .cmn-rankingBox_tax {
        font-size: 1rem;
    }

    /* ################# あなたにおすすめの商品 ################# */
    .cmn-recommend {
        overflow: hidden;
        margin-top: 53px;
    }

    .cmn-recommendBox {
        margin-top: 17px;
        padding: 0 0 54px;
    }

    .cmn-recommendBox .slick-prev {
        z-index: 10;
        left: -20px;
        width: 40px;
        height: 40px;
        border-radius: 1000px;
        text-align: right;
    }

    .cmn-recommendBox .slick-prev::before {
        display: block;
        width: 40px;
        height: 40px;
        line-height: 40px;
        box-sizing: border-box;
        padding-right: 8px;
        border-radius: 1000px;
        background: #aca36c;
        color: #fff;
        content: "\f124";
        font-family: "Ionicons";
        font-size: 1.8rem;
    }

    .cmn-recommendBox .slick-prev:hover::before,
    .cmn-recommendBox .slick-prev:focus::before {
        background: #aca36c;
    }

    .cmn-recommendBox .slick-next {
        z-index: 10;
        right: -20px;
        width: 40px;
        height: 40px;
        border-radius: 1000px;
        text-align: left;
    }

    .cmn-recommendBox .slick-next::before {
        display: block;
        width: 40px;
        height: 40px;
        line-height: 40px;
        box-sizing: border-box;
        padding-left: 8px;
        border-radius: 1000px;
        background: #aca36c;
        content: "\f125";
        color: #fff;
        font-family: "Ionicons";
        font-size: 1.8rem;
    }

    .cmn-recommendBox .slick-next:hover::before,
    .cmn-recommendBox .slick-next:focus::before {
        background: #aca36c;
    }

    .cmn-recommendBox .slick-list {
        padding: 0 22px;
    }

    .cmn-recommendBox.slick-initialized .slick-slide {
        margin: 0 7px;
    }

    .cmn-recommendBox .slick-dots {
        bottom: 25px;
    }

    .cmn-recommendBox .slick-dots li {
        width: 6px;
        height: 6px;
    }

    .cmn-recommendBox .slick-dots li button {
        width: 6px;
        height: 6px;
        padding: 0;
    }

    .cmn-recommendBox .slick-dots li button:before {
        width: 6px;
        height: 6px;
        border-radius: 1000px;
        content: "";
        opacity: 1;
        background: #aaa;
    }

    .cmn-recommendBox .slick-dots li.slick-active button:before {
        background: #000;
    }

    .cmn-recommendBox.slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    .cmn-recommendBox_item img {
        width: 100%;
    }

    .cmn-recommendBox_item:nth-child(1) {
        background-size: 33px 25px;
    }

    .cmn-recommendBox_item:nth-child(1) img {
        border-width: 1px;
    }

    .cmn-recommendBox_item:nth-child(2) {
        background-size: 33px 25px;
    }

    .cmn-recommendBox_item:nth-child(2) img {
        border-width: 1px;
    }

    .cmn-recommendBox_item:nth-child(3) {
        background-size: 33px 25px;
    }

    .cmn-recommendBox_item:nth-child(3) img {
        border-width: 1px;
    }

    .cmn-recommendBox_item:nth-child(4) {
        background: url(../img/ico_rank04.png) no-repeat center 11px;
        background-size: 10px auto;
    }

    .cmn-recommendBox_item:nth-child(5) {
        background: url(../img/ico_rank05.png) no-repeat center 11px;
        background-size: 9px auto;
    }

    .cmn-recommendBox_img img {
        border-radius: 4px;
        box-sizing: border-box;
    }

    .cmn-recommendBox_name {
        line-height: 1.57;
        margin-top: 5px;
        font-weight: bold;
        font-size: 1.3rem;
    }

    .cmn-recommendBox_price {
        margin-top: 15px;
        font-weight: bold;
        font-size: 1.3rem;
    }

    .cmn-recommendBox_tax {
        font-size: 1rem;
    }

    /* ################# 商品レビュー ################# */
    .cmn-reviewBox {
        margin: 0;
        padding: 15px 0 20px
    }

    .cmn-reviewBox:last-child {
        border-bottom: none;
    }

    .cmn-reviewBox + .cmn-reviewBox {}

    .cmn-reviewBox_header {
        padding: 0 0 5px 0;
    }

    .cmn-reviewBox_ttl {
        padding-right: 0;
        font-size: 4vw;
    }

    .cmn-reviewBox_stars {
        margin-top: 5px;
        font-size: 14px;
    }

    .cmn-reviewBox_star {
        display: inline-block;
    }

    .cmn-reviewBox_starCount {
        display: none;
    }

    .cmn-reviewBox_author {
        display: block;
        margin-top: 8px;
        font-size: 11px;
    }

    .cmn-reviewBox_postDate {}

    .cmn-reviewBox_body {
        padding: 0;
    }

    .cmn-reviewBox_comment {
        font-size: 14px;
    }

    .cmn-reviewBox_imgBox {
        margin: 2em 0 0;
    }

    .cmn-reviewBox_more {
        margin: 7vw 0 0;
        font-size: 1.4rem;
        font-weight: bold;
    }

    .cmn-reviewBox_more a:hover {
        text-decoration: underline;
    }

    .cmn-reviewBox .cmn-submitBtns .cmn-btn01 {
        width: 100%;
    }

    .cmn-reviewBox .cmn-submitBtns .cmn-btn01 a {
        width: 100%;
    }

    /* ################# 商品レビュー投稿フォーム ################# */
    .cmn-reviewForm {
        margin: 10vw 0 0;
        padding: 4vw 5vw 5vw;
    }

    .cmn-reviewForm_ttl {
        padding: 0 0 3vw 0;
        font-size: 4.4vw;
    }

    .cmn-reviewForm_ttl > span {
        display: block;
        margin-top: 9px;
        line-height: 1.72;
        font-size: 1.4rem;
        font-weight: normal;
    }

    .cmn-reviewForm_lede {}

    .cmn-reviewForm_lede a:hover {
        text-decoration: underline;
    }

    .cmn-reviewForm .cmn-submitBtns {
        margin: 17px 0 0;
    }

    .cmn-reviewFormBox {
        display: block;
        margin: 9px 0 0;
    }

    .cmn-reviewFormBox_ttl {
        flex-basis: auto;
        margin-top: 9px;
        padding: 9px 0 0;
    }

    .cmn-reviewFormBox_ttl:first-child,
    .cmn-reviewFormBox_ttl:first-child + .cmn-reviewFormBox_body {
        margin-top: 3px;
    }

    .cmn-reviewFormBox_body {
        margin-top: 2px;
    }

    .cmn-reviewFormBox_body.cmn-radioBtn {
        margin-top: 9px;
        padding: 0 4px;
        font-size: 1.9rem;
        color: #aca36c;
    }

    .cmn-reviewFormBox_body.cmn-radioBtn span {
        display: inline-block;
        margin: 0 21px 16px 0;
    }

    .cmn-reviewFormBox_notes {
        display: block;
        margin: 8px 0 0 0;
        color: #666;
    }

    .cmn-reviewFormBox_title input {
        width: 100%;
    }

    .cmn-reviewFormBox_comment {
        margin-bottom: 13px;
    }

    .cmn-reviewFormBox_comment textarea {
        width: 100%;
        height: 24vw;
    }

    /* ################# ページナビ（コンテンツ前） ################# */
    .cmn-pageguide {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        margin-top: 14px;
        padding: 0 4vw;
        font-size: 1.4rem;
    }

    .cmn-pageguide_txt {
        padding: 9px 0;
        text-align: right;
    }

    .cmn-pageguide_pre {
        display: inline-block;
        padding: 12px 0 11px;
        margin-right: 9px;
        font-size: 1.5rem;
    }

    .cmn-pageguide_select {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: end;
        justify-content: flex-end;
    }

    .cmn-pageguide_select .cmn-selectBox {
        width: 88px;
    }

    .cmn-pageguide_select .cmn-selectBox::after {
        right: 6px;
    }

    .cmn-pageguideBtm {
        margin: 74px 0 0;
        text-align: center;
    }

    .cmn-pageguideBtm .cmn-pagelink {
        position: relative;
        padding: 0 90px;
        font-size: 1.4rem;
    }

    .cmn-pageguideBtm .cmn-pagelink_prev {
        position: absolute;
        top: 0;
        left: 11px;
        margin-right: 0;
    }

    .cmn-pageguideBtm .cmn-pagelink_prev::before {
        display: inline-block;
        margin-right: 7px;
        content: "\f124";
        font-family: "Ionicons";
        font-size: 1.2rem;
    }

    .cmn-pageguideBtm .cmn-pagelink_prev:empty::before {
        display: none;
    }

    .cmn-pageguideBtm .cmn-pagelink_next {
        position: absolute;
        top: 0;
        right: 11px;
        margin-left: 0;
    }

    .cmn-pageguideBtm .cmn-pagelink_next::after {
        display: inline-block;
        margin-left: 7px;
        content: "\f125";
        font-family: "Ionicons";
        font-size: 1.2rem;
    }

    .cmn-pageguideBtm .cmn-pagelink_next:empty::after {
        display: none;
    }

    .cmn-pageguideBtm .cmn-pagelink_pages {
        display: inline-block;
        margin: 0 11px;
        font-size: 1.6rem;
    }

    .cmn-pageguideBtm .cmn-pagelink_current {
        font-weight: bold;
    }

    .cmn-pageguideBtm .cmn-pageguide {
        margin: 35px 4vw 0;
        padding: 0 0 17px;
        border-bottom: 1px solid #ddd;
        text-align: right;
    }

    /* ################# 商品タグ ################# */
    .parts-productTags {
        min-height: 0;
        margin-left: 0;
    }

    .parts-productTags_item {
        display: inline-block;
        min-width: auto;
        line-height: 1;
        margin: 0 0.5vw 0 0;
        padding: 0.8vw 1vw;
        vertical-align: top;
        font-size: 3.0vw;
    }

    /*.parts-productTags_item.is-nyusan {
      letter-spacing: -.04em;
      line-height: 1;
      padding: 4px 0;
      font-size: 1.2rem; }
    .parts-productTags_item.is-yoridori {
      line-height: 1;
      min-width: 45vw;
      padding: 4px 3px;
      font-size: 1.2rem; }*/
}

/* -----------------------------------------------------------------------
## Cart ##################################################
----------------------------------------------------------------------- */
.page-cartColumn .cmn-main {
    flex-basis: 100%;
    max-width: 100%;
}

/* ################# フロー ################# */
.cmn-cartFlow {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    margin-top: 30px;
}

.cmn-cartFlow_item {
    position: relative;
    flex-basis: 180px;
    max-width: 180px;
    height: 40px;
    box-sizing: border-box;
    padding-top: 0;
    border-radius: 4px;
    background-repeat: no-repeat;
    text-align: center;
    color: #ccc;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ccc;
}

.cmn-cartFlow_item span {
    position: relative;
    padding-left: 30px;
}

.cmn-cartFlow_item span:before,
.cmn-cartFlow_item span:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
}

.cmn-cartFlow_item:nth-child(1) span:after {
    background: url(../img/cart/ico_cart_off.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item:nth-child(2) span:after {
    background: url(../img/cart/ico_login_off.png) no-repeat;
    background-size: 24px;
    width: 24px;
    height: 18px;
    top: 2px;
}

.cmn-cartFlow_item:nth-child(3) span:after {
    background: url(../img/cart/ico_input_off.png) no-repeat;
    background-size: 15px;
    width: 15px;
    height: 21px;
    top: 0px;
    left: 8px;
}

.cmn-cartFlow_item:nth-child(4) span:after {
    background: url(../img/cart/ico_confirm_off.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    top: 0px;
    left: 6px;
}

.cmn-cartFlow_item:nth-child(5) span:after {
    background: url(../img/cart/ico_complete_off.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(1) span:before {
    background: url(../img/cart/ico_cart_on.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(2) span:before {
    background: url(../img/cart/ico_login_on.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(3) span:before {
    background: url(../img/cart/ico_input_on.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(4) span:before {
    background: url(../img/cart/ico_confirm_on.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(5) span:before {
    background: url(../img/cart/ico_complete_on.png) no-repeat;
    background-size: 20px;
    width: 20px;
    height: 19px;
    top: 0px;
}

.cmn-cartFlow_item.is-active:nth-child(1) span:after,
.cmn-cartFlow_item.is-active:nth-child(2) span:after,
.cmn-cartFlow_item.is-active:nth-child(3) span:after,
.cmn-cartFlow_item.is-active:nth-child(4) span:after,
.cmn-cartFlow_item.is-active:nth-child(5) span:after {
    content: none;
}

.cmn-cartFlow_item.is-active {
    background-color: #edeae5;
    color: #212121;
}


.cmn-cartFlow_item + .cmn-cartFlow_item {
    margin-left: 30px;
}

.cmn-cartFlow_item + .cmn-cartFlow_item::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -18px;
    width: 7px;
    height: 13px;
    margin: auto;
    background: url(../img/ico_arrow_b04.png) no-repeat 0 0;
    content: "";
}

/* ################# カートページベース ################# */
.cmn-cartContainer {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 40px;
}

.cmn-cartMain {
    flex-basis: 904px;
    max-width: 904px;
}

.cmn-cartSidebar {
    flex-basis: 248px;
    max-width: 248px;
}

/* ################# カートテーブル ################# */
.cmn-cartTable {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.cmn-cartTable th {
    padding: 20px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background: #f5f5f5;
    text-align: left;
    vertical-align: middle;
    font-size: 1.6rem;
    font-weight: bold;
    box-sizing: border-box;
}

.cmn-cartTable th:nth-child(1) {
    width: 600px;
}

.cmn-cartTable th:nth-child(2),
.cmn-cartTable th:nth-child(2) {
    width: 190px;
}

.cmn-cartTable_cell {
    padding: 20px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    vertical-align: top;
}

.cmn-cartTable_cell .cmn-selectBox {
    height: 38px;
    border-radius: 5px;
}

.cmn-cartTable_tax {
    font-size: 1.2rem;
}

.cmn-cartTableItem {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.cmn-cartTableItem_img {
    flex-basis: 100px;
    max-width: 100px;
}

.cmn-cartTableItem_txt {
    -webkit-box-flex: 1;
    flex-grow: 1;
    margin-left: 30px;
}

.cmn-cartTableItem_itemCode {
    color: #666;
    font-size: 1.4rem;
}

.cmn-cartTableItem_itemName {
    margin-top: 17px;
}

.cmn-cartTableItem_itemName a {
    display: block;
    text-decoration: underline;
    font-size: 1.6rem;
    font-weight: bold;
}

.cmn-cartTableItem_itemName a:hover {
    text-decoration: none;
}

.cmn-cartTableItem_comment {
    display: block;
    margin-top: .5em;
    font-size: 1.4rem;
    font-weight: normal;
}

.cmn-cartTableItem .miniBtn-delete {
    display: inline-block;
    width: 80px;
    line-height: 1;
    padding: 8px 0;
    border-radius: 4px;
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 17px;
    text-align: center;
    color: #fff;
    -webkit-transition: opacity .4s 0s ease;
    transition: opacity .4s 0s ease;
}

.cmn-cartTableItem .miniBtn-delete:hover {
    opacity: .8;
}

.cmn-cartTablePrice {
    font-size: 1.6rem;
    font-weight: bold;
}

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

.cmn-cartTable + .cmn-submitBtns {
    margin-top: 40px;
}

.cmn-cartTable + .cmn-submitBtns a {
    background: #ddd;
}

.cmn-cartTable + .cmn-submitBtns a:after {
    display: none;
}

/* ################# カートサイドバー ################# */
/* 小計 */
.cmn-cartTotal {
    padding: 19px;
    border: 1px solid #ccc;
}

.cmn-cartTotal .btn-continue,
.cmn-cartTotal .btn-backSide {
    margin-top: 16px;
}

.cmn-cartTotalBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.cmn-cartTotalBox_ttl {
    flex-basis: 115px;
    max-width: 115px;
    margin-bottom: 19px;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 1px;
}

.cmn-cartTotalBox_body {
    flex-basis: 85px;
    max-width: 85px;
    margin-bottom: 19px;
    color: #a10605;
    text-align: right;
    font-weight: bold;
    font-size: 1.6rem;
}

.cmn-cartTotalBox_tax {
    font-size: 1.2rem;
    font-weight: normal;
}

.cmn-cartTotalBox .cartGoukei {
    border-top: 1px solid #212121;
    padding-top: 15px;
    margin-bottom: 20px;
    font-size: 1.8rem;
}

.cmn-cartTotalBox .cmn-cartTotalBox_body.cartGoukei {
    border-top: 1px solid #212121;
    padding-top: 15px;
    width: calc(100% - 115px);
    flex-basis: calc(100% - 115px);
    max-width: calc(100% - 115px);
}

/* 閲覧履歴 */
.cmn-cartHistory {
    margin-top: 22px;
    border: 1px solid #ccc;
}

.cmn-cartHistory_ttl {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding: 15px 20px;
    font-size: 16px;
}

.cmn-cartHistory_ttl a {
    color: #666;
    text-decoration: underline;
    font-size: 12px;
    padding-top: 4px;
}

.cmn-cartHistory_ttl a:hover {
    text-decoration: none;
}

.cmn-cartHistory_body {
    padding: 20px;
}

.cmn-cartHistory_ttl + .cmn-cartHistory_body {
    padding-top: 0;
}

.cmn-cartHistory_body_inner {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ccc;
    padding-top: 20px;
}

.cmn-cartHistory_body + .cmn-cartHistory_body {
    margin-top: -20px;
}

.cmn-cartHistory_body:last-of-type {
    border: none;
}

.cmn-cartHistory_img {
    flex-basis: 51px;
    max-width: 51px;
}

.cmn-cartHistory_txt {
    flex-basis: 139px;
    max-width: 139px;
    margin-left: 16px;
    padding-top: 4px;
}

.cmn-cartHistory_itemName {
    font-size: 1.2rem;
    font-weight: bold;
}

.cmn-cartHistory_itemName a {
    text-decoration: underline;
}

.cmn-cartHistory_itemName a:hover {
    text-decoration: none;
}

.cmn-cartHistory_price {
    margin-top: 17px;
    text-align: right;
    color: #a10605;
    font-weight: bold;
    font-size: 1.4rem;
}

.cmn-cartHistory_comment {
    line-height: 1.67;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #ccc;
    font-size: 1.2rem;
}

.cmn-cartHistory_btn {
    flex-basis: 100%;
    max-width: 100%;
    margin-top: 20px;
}

/* カートの中身 */
.cmn-cartInside {
    margin-top: 22px;
    border: 1px solid #ccc;
}

.cmn-cartInside_ttl {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding: 15px 20px;
    font-size: 16px;
    font-weight: 700;
}

.cmn-cartInside_ttl a {
    color: #666;
    text-decoration: underline;
}

.cmn-cartInside_ttl a:hover {
    text-decoration: none;
}

.cmn-cartInside_body {
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
}

.cmn-cartInside_body::before {
    display: block;
    position: absolute;
    top: 0;
    left: 20px;
    width: calc(100% - 40px);
    height: 1px;
    background: #ccc;
    content: "";
}

.cmn-cartInside_img {
    flex-basis: 51px;
    max-width: 51px;
}

.cmn-cartInside_txt {
    flex-basis: 139px;
    max-width: 139px;
    margin-left: 16px;
    padding-top: 4px;
}

.cmn-cartInside_itemName {
    line-height: 1.67;
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: underline;
}

.cmn-cartInside_prices {
    flex-basis: 100%;
    max-width: 100%;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 20px;
}

.cmn-cartInside_price {
    color: #a10605;
    font-weight: bold;
    font-size: 1.4rem;
}

.cmn-cartInside_amount {
    font-weight: bold;
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .page-cartColumn .cmn-main {
        flex-basis: 100%;
        max-width: 100%;
    }

    /* ################# フロー ################# */
    .cmn-cartFlow {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 15px;
    }

    .cmn-cartFlow_item {
        flex-basis: 26.7vw;
        max-width: 26.7vw;
        height: 24px;
        box-sizing: border-box;
        margin-bottom: 15px;
        padding: 0;
        border-radius: 4px;
        background-repeat: no-repeat;
        text-align: left;
        font-size: 10px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1;
    }

    .cmn-cartFlow_item.is-active {}

    /*.cmn-cartFlow_item:nth-child(1) {
      padding-left: 12vw;
      background-position: 5vw 11px;
      background-size: 19px auto; }
    .cmn-cartFlow_item:nth-child(2) {
      padding-left: 10vw;
      background-position: 3vw 12px;
      background-size: 21px auto; }
    .cmn-cartFlow_item:nth-child(3) {
      padding-left: 10vw;
      background-position: 4vw 10px;
      background-size: 14px auto; }
    .cmn-cartFlow_item:nth-child(4) {
      padding-left: 10vw;
      background-position: 3.5vw 10px;
      background-size: 20px auto; }
    .cmn-cartFlow_item:nth-child(5) {
      padding-left: 10vw;
      background-position: 3.3vw 11px;
      background-size: 18px auto; }*/
    .cmn-cartFlow_item + .cmn-cartFlow_item {
        margin-left: 5.8667vw;
    }

    .cmn-cartFlow_item + .cmn-cartFlow_item::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -3.4667vw;
        width: 4px;
        height: 7px;
        margin: auto;
        background: url(../img/ico_arrow_b02.png) no-repeat 0 0;
        background-size: contain;
        content: "";
    }

    /* ################# カートページベース ################# */
    .cmn-cartContainer {
        display: block;
        margin-top: 20px;
        border-top: none;
    }

    .cmn-cartMain {
        flex-basis: auto;
        max-width: auto;
    }

    /* ################# カートテーブル ################# */
    .cmn-cartTable {
        display: block;
        width: 100%;
        border-top: 0;
        border-left: 0;
    }

    .cmn-cartTable tbody {
        display: block;
    }

    .cmn-cartTable tr {
        position: relative;
        display: block;
        padding-bottom: 16vw;
    }

    .cmn-cartTable tr:first-child {
        display: none;
    }

    .cmn-cartTable tr:first-child + tr {
        margin-top: 0;
        border-top: 0;
        padding-top: 0;
    }

    .cmn-cartTable tr + tr {
        margin-top: 20px;
        border-top: 1px dashed #ccc;
    }

    .cmn-cartTable th {
        display: none;
    }

    .cmn-cartTable_cell {
        display: block;
        padding: 20px 0 0;
        border: 0;
        vertical-align: top;
    }

    .cmn-cartTable_cell .cmn-selectBox {
        display: inline-block;
        width: 80px;
        height: 28px;
        margin: 2px 0 0;
        border-radius: 0;
        background: #fff;
    }

    .cmn-cartTable_cell:nth-child(2) {
        width: 67vw;
        margin: 0 0 0 auto;
        padding: 0;
    }

    .cmn-cartTable_cell:nth-child(3) {
        width: 67vw;
        margin: 0 0 0 auto;
        padding: 0;
    }

    .cmn-cartTable_cell:nth-child(3)::before {
        position: relative;
        top: -10px;
        content: "数量：";
    }

    .cmn-cartTable_tax {
        font-size: 1.2rem;
    }

    .cmn-cartTableItem {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    .cmn-cartTableItem_img {
        flex-basis: 21.5vw;
        max-width: 21.5vw;
    }

    .cmn-cartTableItem_txt {
        -webkit-box-flex: 0;
        flex-grow: 0;
        flex-basis: 67vw;
        margin-left: 0;
        padding-bottom: 50px;
    }

    .cmn-cartTableItem_itemCode {
        display: none;
    }

    .cmn-cartTableItem_itemName {
        margin-top: 0;
    }

    .cmn-cartTableItem_itemName a {
        display: block;
        text-decoration: underline;
        font-size: 1.6rem;
        font-weight: bold;
    }

    .cmn-cartTableItem_itemName a:hover {
        text-decoration: none;
    }

    .cmn-cartTableItem_comment {
        display: block;
        line-height: 1.7;
        margin-top: .5em;
        font-size: 1.4rem;
        font-weight: normal;
    }

    .cmn-cartTableItem .miniBtn-delete {
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        margin-top: 0;
        padding: 18px 0;
        border-radius: 0;
        background: #f2f2f2;
        color: #212121;
        text-align: center;
    }

    .cmn-cartTableItem .miniBtn-delete::before {
        margin-right: 0;
        content: "×";
    }

    .cmn-cartTableItem .miniBtn-delete::after {
        content: "する";
    }

    .cmn-cartTablePrice {
        margin-top: -13.4vw;
        font-size: 1.5rem;
        text-align: right;
    }

    .cmn-cartTable_setItem {
        display: inline-block;
        min-height: 32px;
        text-align: center;
    }

    .cmn-cartTable + .cmn-submitBtns {
        margin-top: 40px;
    }

    .cmn-cartTable + .cmn-submitBtns a {
        background: #ddd;
    }

    .cmn-cartTable + .cmn-submitBtns a:after {
        display: none;
    }

    /* ################# 小計 ################# */
    .cmn-cartTotal {
        margin-top: 0;
        padding: 20px;
    }

    .cmn-cartTotalBox {
        display: -webkit-flex;
        display: -ms-flex;
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: center;
    }

    .cmn-cartTotalBox_ttl {
        flex-basis: auto;
        max-width: initial;
        width: 60%;
        margin-bottom: 2vw;
        font-weight: bold;
        font-size: 1.6rem;
    }

    .cmn-cartTotalBox_body {
        flex-basis: auto;
        max-width: initial;
        margin-bottom: 2vw;
        color: #a10605;
        text-align: right;
        font-weight: bold;
        font-size: 1.6rem;
        width: 40%;
    }

    .cmn-cartTotalBox_tax {
        font-size: 1.2rem;
        font-weight: normal;
    }

    .cmn-cartTotalBox .cartGoukei {
        margin-bottom: 3vw;
        font-size: 1.6rem;
        padding-top: 2vw;
    }

    .cmn-cartTotalBox .cmn-cartTotalBox_body.cartGoukei {
        border-top: 1px solid #212121;
        padding-top: 2vw;
        width: 40%;
        flex-basis: auto;
        max-width: initial;
    }

    .cmn-cartInside_ttl {
        padding: 4vw;
        font-size: 1.4rem;
    }

    .cmn-cartInside_body {
        padding: 4vw;
    }

    .cmn-cartInside_prices {
        margin-top: 4vw;
    }

    .cmn-cartInside_body::before {
        left: 4vw;
        width: 84vw;
    }


}

/* ################# カート追加スタイル ################# */

@media screen and (max-width: 768px) {
    .cmn-cartTotal-sp {
        margin-top: 22px;
        padding: 4vw 4vw 0vw;
    }

    .cmn-cartInside_txt-sp {
        flex-basis: auto;
        max-width: none;
        margin-left: 0;
        padding: 0 0 0 5%;
        width: 70%;
        box-sizing: border-box;
    }

    .cmn-cartInside_itemName {
        font-size: 1.4rem;
    }

    .cmn-cartInside_price {
        font-size: 1.6rem;
    }

    .cmn-cartInside_amount {
        font-weight: bold;
        font-size: 1.6rem;
    }

    .cmn-cartInside_img {
        flex-basis: 30%;
        max-width: 30%;
        width: 30%;
    }

}

/* ################# サイドのカート ################# */
.side_button-new {
    position: fixed;
    right: 0;
    bottom: 120px;
}

.side_button-cart {
    width: 80px;
    height: 80px;
    background: #a10605;
    color: #fff;
    font-size: 10px;
    border: 0;
    cursor: pointer;
    border-radius: 6px 0 0 6px;
    padding: 0;
    padding-top: 32px;
    /*box-shadow: 0 4px 0 #64000e;
    -webkit-transition: all .1s 0s ease;
    transition: all .1s 0s ease;*/
}

.side_button-cart:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 #64000e;*/
}

.side_button-cart span:before {
    content: "";
    display: block;
    background: url(../img/icon-shoppingcart.svg) no-repeat center;
    background-size: 28px;
    width: 100%;
    height: 40px;
    position: absolute;
    top: 5px;
    left: -2px;
}

.side_button-cart:hover {
    /*-webkit-transform: translate(0, 4px);
    transform: translate(0, 4px);
    box-shadow: 0 0 0 #64000e;*/
    opacity: .7;
}

@media screen and (max-width: 768px) {
    .side_button-cart:hover {
        opacity: 1;
    }
}

/* ################# countdown-area ################# */
.countdown-area-large {
    display: flex;
    width: 100%;
    height: 50px;
    justify-content: center;
    background: #dc3a15 url(../img/countdown-area-large.png) no-repeat center;
    overflow: hidden;
}

.countdown-area-large a {
    display: flex;
    width: 1200px;
    height: 50px;
    justify-content: center;
    align-items: center;
    padding-left: 470px;
}

.countdown-area-large p {
    font-size: 22px;
    color: #fff;
    padding-bottom: 5px;
    letter-spacing: 1px;
}

.countdown-area-large p span {
    font-weight: 700;
    position: relative;
}

.countdown-area-large p span:after {
    content: "";
    display: block;
    background: #fff;
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    .countdown-area-large {
        background: #dc3a15 url(../img/countdown-area-large-sp.png) no-repeat left;
        background-size: 370px;
        height: 35px;
    }

    .countdown-area-large a {
        width: 100%;
        height: 10vw;
        padding-right: 0;
        padding-left: 140px;
        justify-content: center;
    }

    .countdown-area-large p {
        font-size: 10px;
        padding-bottom: 5px;
        letter-spacing: 0px;
    }

    .countdown-area-large p span {
        font-size: 13px;
    }
}


@media screen and (max-width: 320px) {
    .countdown-area-large a {
        padding-left: 135px;
    }

    .countdown-area-large p {
        transform: scale(.8);
        white-space: nowrap;
    }

}

@media screen and (max-width: 768px) {
    .header-shinise-link-sp {
        padding: 20px 36px;
        border-top: 1px solid #ddd;
    }
}

/* ################# com-bnr ################# */
.bnr-newyearsale {
    background: #c6001b url(../img/bnr-newyearsale.png) no-repeat center;
    margin-bottom: 10px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 35px;
}

@media screen and (max-width: 768px) {
    .bnr-newyearsale {
        background: #c6001b url(../img/bnr-newyearsale-sp.png) no-repeat center;
        background-size: cover;
    }
}




/* -----------------------------------------------------------------------
## cosmospark ##################################################
----------------------------------------------------------------------- */
/*siedbar*/
.cmn-side-new-box {
    padding-bottom: 40px;
}

.cmn-side-new-box-ttl {
    font-size: 16px;
    font-weight: 500;
    background: #edeae5;
    padding: 10px 10px 10px 40px;
    margin-bottom: 20px;
    position: relative;
}

.cmn-side-new-box-ttl:before {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
}

.cmn-side-new-box-ttl.by-category:before {
    background: url(../img/icon-caegory.svg) no-repeat;
    width: 21px;
    height: 21px;
}

.cmn-side-new-box-ttl.by-buy:before {
    background: url(../img/ico_buy01.png) no-repeat;
    width: 16px;
    height: 20px;
    top: 8px;
    left: 12px;
}

.cmn-side-new-box-ttl.by-brand:before {
    background: url(../img/ico_brand01.png)no-repeat;
    width: 20px;
    height: 20px;
    left: 11px;
}

.cmn-side-new-box-ttl.for-beginner:before {
    background: url(../img/ico_beginner01.png)no-repeat;
    width: 16px;
    height: 20px;
    top: 10px;
    left: 14px;
}

.cmn-side-new-list-ttl {
    font-size: 16px;
    font-weight: 500;
    padding-bottom: 20px;
}

.cmn-side-new-list-ttl span {
    font-size: 14px;
}

.cmn-side-new-list {
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}

.cmn-side-new-list:last-of-type {
    border: none;
    padding: 0;
    margin: 0;
}

.cmn-side-new-list-item {
    padding-bottom: 15px;
}

.cmn-side-new-list-item:last-of-type {
    padding-bottom: 0;
}

.cmn-side-new-list-item a {
    font-size: 14px;
    position: relative;
    padding-left: 20px;
}

.cmn-side-new-list-item a:before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 9px;
    left: 0;
}

/* -----------------------------------------------------------------------
## NEW HEADER##################################################
----------------------------------------------------------------------- */
.ph-gNavi_wrapper {
    opacity: 0;
    height: calc(100% - 130px);
    overflow-y: scroll;
    transition: .5s;
    position: fixed;
    bottom: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

html.is-locked .ph-gNavi_wrapper {
    opacity: 1;
    bottom: initial;
    top: 125px;
}


.ph-gNavi-new-inner {
    display: flex;
    flex-direction: row-reverse;
    width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
    font-size: 14px;
}

.ph-gNavi-new-main {
    width: 950px;
}

.ph-gNavi-new-side {
    width: 245px;
}

.ph-gNavi-new-side-top {}

.ph-gNavi-new-side-top-item {
    display: block;
    position: relative;
    padding: 0 0 20px 20px;
}

.ph-gNavi-new-side-top-item:before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 9px;
    left: 0;
}

.ph-gNavi-new-side-bottom-item {
    display: flex;
    align-items: center;
    position: relative;
    background: #f1f1f1;
    width: 195px;
    height: 35px;
    border-radius: 6px;
    padding-left: 35px;
    box-sizing: border-box;
    margin-bottom: 15px;
}

.ph-gNavi-new-side-bottom-item:before {
    content: "";
    display: block;
    position: absolute;
    left: 8px;
}

.ph-gNavi-new-side-bottom-item.merumaga:before {
    background: url(../img/snsicon-magazine.svg) no-repeat;
    width: 19px;
    height: 20px;
}

.ph-gNavi-new-side-bottom-item.line:before {
    background: url(../img/snsicon-IG.svg) no-repeat;
    width: 19px;
    height: 19px;
}

.ph-gNavi-new-side-bottom-item.instagram:before {
    background: url(../img/snsicon-line.svg) no-repeat;
    width: 18px;
    height: 18px;
}

.ph-gNavi-new-box {
    padding-bottom: 30px;
}

.ph-gNavi-new-box-ttl {
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.ph-gNavi-new-list {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 10px;
}

.ph-gNavi-new-list-ttl {
    width: 100%;
    padding-bottom: 15px;
    font-weight: 500;
}

.ph-gNavi-new-list-item-wrap {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 30px;
}

.ph-gNavi-new-list-item {

}

.ph-gNavi-new-box .ph-gNavi-new-list-item:nth-child(n + 5) {
    margin-top: 10px;
}


.ph-gNavi-new-list-item a {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 5px;
    letter-spacing: 0.5px;
    height: 40px;
    background: #fff;
}

.ph-gNavi-new-list-item-img {
    border-radius: 3px;
    overflow: hidden;
    margin-right: 15px;
}

.ph-gNavi-new-list-item span {
    width: calc(100% - 40px);
}

.ph-gNavi-new-two-column {
    display: flex;
}


@media screen and (max-width: 768px) {
    .ph-gNavi_wrapper {
      opacity: 0;
      height: calc(100% - 93px);
    }

    html.is-locked .ph-gNavi_wrapper {
      top: 95px;
    }
    
    .ph-gNavi-new-inner {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        font-size: 11px;
    }

    .ph-gNavi-new-main {
        width: 100%;
    }

    .ph-gNavi-new-box {
        padding-bottom: 0;
    }

    .ph-gNavi-new-box-ttl {
        font-size: 12px;
        border-bottom: 1px solid;
        padding: 15px;
        margin-bottom: 0;
    }

    .ph-gNavi-new-list {
        display: none;
        padding: 0;
        overflow: hidden;
        background: #fbfbfb;
    }

    .ph-gNavi-category-contents 　.ph-gNavi-new-list-item {
        width: 50%;
        float: left;
        padding: 0;
        box-sizing: border-box;
    }

    .ph-gNavi-new-list-item a {
        border: none;
        border-bottom: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-radius: 0;
        padding: 5px;
        height: 40px;
    }

    .ph-gNavi-new-list-item:nth-child(even) a {
        border-right: none;
    }

    .ph-gNavi-new-list-item-img {
        margin-right: 2vw;
        width: 10vw;
    }

    .ph-gNavi-new-list-item:nth-child(n + 5) {
        margin-top: 0;
    }

    .ph-gNavi-new-side {
        width: 100%;
    }

    .ph-gNavi-new-side-top {
        padding: 20px 20px 0 20px;
    }

    .ph-gNavi-new-side-top-item:before {
        top: 5px;
    }

    .ph-gNavi_search {
        border-bottom: 1px solid #212121;
    }

    .ph-gNavi-new-side-bottom {
        padding: 0 20px;
    }

    .ph-gNavi-new-side-bottom-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .ph-gNaviClose {
        margin-top: 0;
    }

    .ph-gNavi-accordion {
        background: #fbfbfb;
        padding: 10px 0;
    }

    .ph-gNavi-accordion-item {
        font-size: 12px;
    }

    .ph-gNavi-accordion-item a {
        position: relative;
        display: block;
        padding: 10px 40px;
    }

    .ph-gNavi-accordion-item a:before {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        -webkit-transform: rotate(45deg) translateY(-50%);
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 17px;
        left: 18px;
    }

    .ph-gNavi-new-list-ttl {
        padding: 15px;
        font-weight: 500;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box;
        position: relative;
    }

    .nav-accordion-child:after {
        content: "";
        display: block;
        width: 7px;
        height: 7px;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        -webkit-transform: rotate(135deg) translateY(-50%);
        transform: rotate(135deg) translateY(-50%);
        position: absolute;
        top: 14px;
        right: 25px;
        transition: 0.2s;
    }

    .nav-accordion-child.is-open:after {
        -webkit-transform: rotate(0deg) translateY(-50%);
        transform: rotate(-45deg) translateY(-50%);
        top: 20px;
        right: 20px;
    }

    .ph-gNavi-category-contents {
        display: none;
        background: #fbfbfb;
    }

    .ph-gNavi-new-two-column {
        display: block;
    }

    .ph-gNavi-category-contents-item {
        border-top: 1px solid #ccc;
        margin-top: -1px;
    }

}

/* -----------------------------------------------------------------------
## MEGA MENU ##################################################
----------------------------------------------------------------------- */
.ph-inner-pc-menu {
    display: flex;
    justify-content: center;
    background: #fff;
    width: 1200px;
    margin: 0 auto;
}

.has-megamenu-link {
    display: flex;
    padding: 0 45px 0 15px;
    position: relative;
    height: 61px;
    align-items: center;
}

.has-megamenu-link span {
    position: relative;
}

.has-megamenu-link span:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(60deg) translateY(-50%);
    transform: rotate(135deg) translateY(-50%);
    position: absolute;
    top: 4px;
    right: -15px;
}


.has-megamenu-link:after {
    content: "";
    display: block;
    position: absolute;
    background: #212121;
    bottom: 0;
    left: 15px;
    -webkit-transition: .4s 0s ease;
    transition: .4s 0s ease;
    transform: scale(0, 1);
    transform-origin: center top;
    width: calc(100% - 60px);
    height: 2px;
}

.has-megamenu:hover .has-megamenu-link:after {
    transform: scale(1, 1);
}

.ph-inner-pc-megamenu {
    -webkit-transition: all 0.3s 0s ease;
    transition: all 0.3s 0s ease;
    -webkit-transform: translateY(-200%);
    transform: translateY(-200%);
    position: absolute;
    top: -158px;
    left: 0;
    z-index: -1;
    width: 100%;
    background: #fff;
    padding: 40px 0;
    list-style: none;
    box-sizing: border-box;
}

.has-megamenu:hover .ph-inner-pc-megamenu {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
}

.megamenu-inner {
    width: 1200px;
    margin: 0 auto;
}

.megamenu-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.header-searchItem-wrap .megamenu-link{
    justify-content: left;
}


.megamenu-inner > .megamenu-link + .megamenu-link,
.megamenu-two-column {
    padding-top: 20px;
}

.ph-gNavi-new-list-item {
    width: 200px;
    padding: 0 10px 10px 0;
    box-sizing: border-box;
    font-size: 12px;
}

.megamenu-link .ph-gNavi-new-list-item a {
}

.megamenu-link-arrow {
    display: block;
    width: 200px;
    position: relative;
    padding: 0 0 20px 20px;
    box-sizing: border-box;
}

.megamenu-link-arrow:before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 9px;
    left: 0;
}

.megamenu-two-column {
    display: flex;
}

.megamenu-link .ph-gNavi-new-list-item:nth-child(n + 7) {
    margin-top: 10px;
}

/* -----------------------------------------------------------------------
## NEW FOOTER##################################################
----------------------------------------------------------------------- */
.footer-new {
    background: #f5f5f5;
    padding: 50px 3vw;
    line-height: 1.25;
    content-visibility: auto;
}

.footer-new-link {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding-bottom: 20px;
}

.footer-new-tob .footer-new-box {
    width: 30%;
}

.footer-new-box-ttl {
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.footer-new-list {
    min-width: 200px;
}

.footer-new-list-ttl {
    padding-bottom: 10px;
    font-weight: 500;
}

.footer-new-list-item {
    font-size: 12px;
    padding-bottom: 10px;
}

.footer-new-list-wrap {
    display: flex;
}

.footer-new-list-left {
    padding-right: 30px;
}

.footer-new-list-wrap .footer-new-list {
    padding-bottom: 15px;
}

.footer-new-contact {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px;
}

.footer-new-contact li {
    width: 49%;
}

.footer-new-contact-bnr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    background: #fff;
    border-radius: 6px;
    position: relative;
}

.footer-new-contact-bnr-text {
    display: flex;
    align-items: center;
    padding-left: 35px;
}

.footer-new-contact-bnr-text span {
    font-size: 16px;
    position: relative;
    padding-right: 10px;
    margin-right: 15px;
}

.footer-new-contact-bnr-text span:before {
    content: "";
    display: block;
    position: absolute;
}

.footer-new-contact-bnr-text .contact-web:before {
    background: url(../img/footer-contact-icon-mail.svg) no-repeat 0 0;
    width: 21px;
    height: 17px;
    top: 2px;
    left: -30px;
}

.footer-new-contact-bnr-text .contact-tel:before {
    background: url(../img/footer-contact-icon-tel.svg) no-repeat 0 0;
    width: 16px;
    height: 18px;
    top: 2px;
    left: -24px;
}

.footer-new-contact-bnr-text span:after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background: #ccc;
    position: absolute;
    top: 0;
    right: 0;
}

.footer-new-contact li:first-child .footer-new-contact-bnr:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 30px;
    right: 35px;
}

.footer-new-company {
    width: 1180px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-new-company-left {
    display: flex;
}

.footer-new-company-left p {
    font-weight: 500;
    font-size: 14px;
    padding-bottom: 10px;
}

.footer-new-company-left li {
    padding-right: 30px;
}

.footer-new-company-right {
    font-size: 12px;
}

.footer-new-company-right p {
    padding-bottom: 10px;
}

.footer-new-company-info {
    display: flex;
}

.footer-new-company-info li {
    position: relative;
    padding: 0 10px;
}

.footer-new-company-info li:after {
    content: "";
    display: block;
    width: 1px;
    height: 12px;
    background: #212121;
    position: absolute;
    top: 2px;
    right: 0;

}

.footer-new-company-info li:first-child:before {
    content: "";
    display: block;
    width: 1px;
    height: 12px;
    background: #212121;
    position: absolute;
    top: 2px;
    left: 0;

}

.nav-accordion,
.nav-accordion-child {
    pointer-events: none;
}

.nav-contents-sp {
    display: none;
}

@media screen and (max-width: 1140px) {
.footer-new-link {
    flex-wrap: wrap;
}

.footer-new-box {
    width: 48%;
}

.footer-new-contact li {
    width: 100%
}

    .footer-new-contact {
        display: block;
    }

    .footer-new-contact li {
        padding-bottom: 20px;
    }

    .footer-new-company {
        width: calc(100% - 20px);
        flex-wrap: wrap;
    }

    .footer-new-company-left {
        display: flex;
        padding-bottom: 20px;
        width: 100%;
    }

    .footer-new-company-left p {
        font-size: 11px;
        padding-bottom: 5px;
    }

    .footer-new-company-right {
        font-size: 11px;
        display: flex;
        flex-direction: column-reverse;
        width: 100%;
    }

    .footer-new-company-info {
        padding-bottom: 10px;
        flex-wrap: wrap;
    }

    .footer-new-company-info li {
        position: relative;
        padding: 0 10px 10px;
        font-size: 12px;
    }
}

@media screen and (max-width: 768px) {
    .footer-new {
        width: 100%;
        padding: 0 0 60px 0;
        contain-intrinsic-size: 577px;

    }

.footer-new-box {
        width: 100%;
    }

    .footer-new-link {
        width: 100%;
        display: block;
        padding-bottom: 20px;
    }

    .footer-new-tob .footer-new-box {
        width: 100%;
    }

    .footer-new-box-ttl {
        font-size: 12px;
        font-weight: 500;
        padding: 15px;
        margin-bottom: 0;
    }

    .footer-new-list-wrap {
        display: none;
        background: #fff;
    }

    .footer-new-list {
        display: none;
        border-bottom: 1px solid #212121;
        background: #fff;
        padding: 0 !important;
        overflow: hidden;
    }

    .footer-new-list-item {
        font-size: 12px;
        padding-bottom: 0;
        float: left;
        width: 50%;
        box-sizing: border-box;
    }

    .footer-new-list-item a {
        display: block;
        padding: 0 15px 0 30px;
        position: relative;
        border-bottom: 1px solid #ccc;
        border-right: 1px solid #ccc;
        height: 40px;
        display: flex;
        align-items: center;
        font-size: 11px;
        letter-spacing: 0;
    }

    .footer-new-list-item a:before {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border-top: 1px solid #212121;
        border-right: 1px solid #212121;
        -webkit-transform: rotate(45deg) translateY(-50%);
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 20px;
        left: 10px;
    }

    .footer-new-contact {
        width: calc(100% - 20px);
        margin: 0 auto;
        display: block;
        padding-bottom: 0;
    }

    .footer-new-contact li {
        padding-bottom: 20px;
    }

    .footer-new-contact-bnr {
        width: 100%;
        height: 60px;
    }

    .footer-new-contact-bnr-text {
        display: block;
        padding-left: 15px;
    }

    .footer-new-contact-bnr-text span {
        font-size: 12px;
        padding-right: 0;
        margin-right: 0;
        padding-bottom: 6px;
        display: block;
    }

    .footer-new-contact-bnr-text .contact-web:before {
        left: -35px;
        top: 6px;
    }

    .footer-new-contact-bnr-text span:after {
        content: none;
    }

    .footer-new-contact-bnr-text small {
        display: block;
        font-size: 10px;
    }

    .footer-new-contact li:first-child .footer-new-contact-bnr:after {
        top: 30px;
        right: 23px;
    }

    .footer-new-contact-bnr-text .contact-tel:before {
        background: url(../img/footer-contact-icon-tel.svg) no-repeat 0 0;
        width: 22px;
        height: 22px;
        top: 6px;
        left: -28px;
        background-size: 18px;
    }



    .nav-accordion,
    .nav-accordion-child {
        position: relative;
        pointer-events: initial;
    }

    .nav-accordion:after,
    .nav-accordion:before {
        content: "";
        display: block;
        width: 12px;
        height: 2px;
        border: 0;
        background: #212121;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -2px -webkit-transition: all 0.3s 0s ease;
        transition: all 0.3s 0s ease;
    }

    .nav-accordion:after {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .nav-accordion + .nav-accordion-contents {
        display: none;
    }

    .nav-accordion.is-open:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .nav-accordion.is-open:before {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .nav-accordion.is-open + .nav-accordion-contents {
        display: block;
    }

    .ph-gNavi-new-list-item-wrap {
        display: none;
        overflow: hidden;
        padding-bottom: 0;
        border-bottom: 1px solid #ccc;
        background: #fff;
    }

    .ph-gNavi-new-list-ttl.is-open + .ph-gNavi-new-list-item-wrap {
        border-bottom: none;
    }

    .ph-gNavi-new-list-item {
        width: 50%;
        padding: 0;
        box-sizing: border-box;
        font-size: 12px;
        float: left;
    }

    .ph-gNavi-new-box .ph-gNavi-new-list-item:nth-child(n+5) {
        margin-top: 0;
    }

    .footer-new-list-left {
        padding-right: 0;
    }

    .footer-new-list-ttl {
        font-size: 11px;
        font-weight: 400;
        padding: 15px;
        border-bottom: 1px solid #ccc;
    }

}

/* -----------------------------------------------------------------------
## FOOTER NAV##################################################
----------------------------------------------------------------------- */
.footer-nav {
    position: fixed;
    bottom: 200px;
    z-index: 1;
    right: -80px;
    transition: 0.2s;
}

.footer-nav.is-active {
    right: 0;
}

.footer-nav-item {
    margin-bottom: 10px;
}

.footer-nav-item a {
    font-size: 10px;
    letter-spacing: 0;
    display: block;
    text-align: center;
    width: 80px;
    height: 80px;
    padding-top: 55px;
    box-sizing: border-box;
    position: relative;
    background: #f3ede1;
    color: #711717;
    border-radius: 6px 0 0px 6px;
}

.footer-nav-item a:before {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 55px;
}

.footer-nav-view-history a:before {
    background: transparent url(../img/icon-view-history.svg) no-repeat center;
    background-size: 30px;
    width: 100%;
    height: 50px;
}

.footer-nav-buy-history a:before {
    background: transparent url(../img/icon-buy-history.svg) no-repeat center;
    background-size: 25px;
    width: 100%;
    height: 50px;
}

.page-cartSeisan .footer-nav,
.page-cartConfirm .footer-nav,
.page-cartResult .footer-nav {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .footer-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 3;
        border-top: 1px solid #ccc;
        transition: 0.5s;
    }

    .footer-nav ul {
        display: flex;
    }

    .footer-nav-item {
        width: 20%;
        margin-bottom: 0;
        border-right: 1px solid #ccc;
        padding-bottom: 5px;
        background: #f3ede1;
    }

    .footer-nav-item:last-child {
        border-right: none;
    }

    .footer-nav-item a {
        font-size: 10px;
        letter-spacing: 0;
        display: block;
        text-align: center;
        width: auto;
        height: 50px;
        padding-top: 30px;
        box-sizing: border-box;
        position: relative;
        border-radius: 0;
    }

    .footer-nav-item a:before {
        content: "";
        display: block;
        position: absolute;
        top: 3px;
        left: 0;
        width: 100%;
        height: 30px;
    }

    .footer-mypage a:before {
        background: transparent url(../img/footer-mypage.svg) no-repeat center;
        background-size: 20px;
    }

    .footer-nav-cart a:before {
        background: transparent url(../img/footer-cart.svg) no-repeat center;
        background-size: 20px;
        width: 100%;
        height: 30px;
        left: -2px;
    }

    .footer-nav-wish a:before {
        background: transparent url(../img/footer-wish.svg) no-repeat center;
        background-size: 20px;
        width: 100%;
        height: 30px;
    }

    .footer-nav-view-history a:before {
        background-size: 20px;
        width: 100%;
        height: 30px;
    }

    .footer-nav-buy-history a:before {
        background-size: 17px;
        width: 100%;
        height: 30px;
    }

    .footer-nav.hide {
        transform: translateY(56px);
    }
}

/* -----------------------------------------------------------------------
## main contents##################################################
----------------------------------------------------------------------- */
.top-block {
    /*border-top: 1px solid #ccc;
    padding: 60px 0 0 0;*/
    margin-bottom: 100px;
    /*content-visibility: auto;*/
}

.top-block:first-child {
    padding-top: 10px;
}

.top-block-title {
    text-align: center;
    margin-bottom: 75px;
}

.top-block-title span {
    display: block;
    font-size: 26px;
    font-weight: 500;
    position: relative;
    letter-spacing: 4px;
}

.top-block-title span:before,
.top-block-title span:after{
    content: "";
    display: block;
    height: 3px;
    left: 50%;
    margin-left: -20px;
    position: absolute;
    bottom: -20px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    left: 50%;

}

.top-block-title span:before{
    background: #596f9e;
    margin-left: -17px;
}

.top-block-title span:after {
    background: #b70014;
    margin-left: 0px;
}

.top-block-title-wrap {
    position: relative;
}

.top-block-inner{
    width: 1200px;
    margin: 0 auto;
}


@media screen and (max-width: 768px) {
    .top-block {
        margin: 0 20px 30px;
        /*padding: 30px 0 0;*/
    }

    .top-block-title {
        margin-bottom: 11vw;
    }

    .top-block-title span {
        font-size: clamp(20px, 5vw, 26px);
    }

    .top-block-title span::before, .top-block-title span::after {
        bottom: -4vw;
    }


}

.category-page-title {
    padding-bottom: 30px;
    font-size: 24px;
    text-align: center;
    border-bottom: 1px solid #ccc;
    padding-top: 50px;
}

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

    .category-page-title {
        padding-bottom: 14px;
        font-size: 18px;
        padding-top: 30px;
        width: calc(100% - 40px);
        margin: 0 auto;
    }
}

/* -----------------------------------------------------------------------
## cmn-formBox-spTable##################################################
----------------------------------------------------------------------- */
@media screen and (max-width: 768px) {

    .cmn-formBox-spTable {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        border: 1px solid #ccc;
        border-bottom: none;
        font-size: 12px;
        margin-top: 20px !important;

    }

    .cmn-formBox-spTable .cmn-formBox_ttl {
        padding: 10px;
        border-left: none;
        background: #f5f5f5;
        width: 30%;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        font-size: 12px;
        margin-top: 0;
        letter-spacing: 0;
    }

    .cmn-formBox-spTable .cmn-formBox_body.valign-center {
        align-items: center;
        display: flex;
        width: 70%;
        border-bottom: 1px solid #ccc;
        margin-top: 0px;
        padding: 10px;
    }

    .cmn-formBox-spTable-form .cmn-formBox_ttl {
        padding: 10px;
        width: 100%;
        border-right: none;
    }

    .cmn-formBox-spTable-form .cmn-formBox_body {
        padding: 10px !important;
        margin: 0;
        width: 100% !important;
        border-bottom: 1px solid #ccc;
        display: block !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}

/* -----------------------------------------------------------------------
## common-ranking-slide##################################################
----------------------------------------------------------------------- */
.common-ranking-slide-wrap-over {
    overflow-x: hidden;
}

.common-ranking-slide-wrap {
    /*margin-right: -100px;*/
}

.common-ranking-slide {
    margin-left: -10px;
    opacity: 0;
    transition: opacity .3s linear;
}

.common-ranking-slide.slick-initialized {
    opacity: 1;
}

.common-ranking-slide-item {}

.common-ranking-slide-item a {
    margin: 0 10px;
    display: block;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.common-ranking-slide-icon {
    display: flex;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 5px;
    left: 10px;
    z-index: 2;
    background: #fcefe7;
    color: #9c7b63;
}


.common-ranking-slide-image {
    position: relative;
}

.common-ranking-slide-image img {
    width: 100%;
    height: auto;
}

.common-ranking-slide-set {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background: #c8a063;
    color: #fff;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.common-ranking-slide-set-inner {
    text-align: center;
}

.common-ranking-slide-set-large {
    display: block;
    font-size: 20px;
}

.common-ranking-slide-set-small {
    display: block;
}

.common-ranking-slide-set small {
    letter-spacing: 0;
    font-size: 11px;
}

.common-ranking-slide-text {
    padding: 20px 15px;
    line-height: 1.25;
    letter-spacing: 1px;
}

.common-ranking-slide-TeikaPrice {
    color: #909090;
    font-size: 90%;
    padding-bottom: 5px;
    display: inline-block;
    text-decoration: line-through;
}

.common-ranking-slide-price {
    display: block;
    color: #880000;
    font-size: 16px;
    font-weight: 700;
}

.common-ranking-slide-price small {
    color: #7b7b7b;
    font-weight: 500;
    font-size: 12px;
}

/* ################# 2021/05 カート周辺改修 ################# */
/*side-amazon*/
.side-amazon {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #ccc;
}

.side-amazon-btn {
    margin-bottom: 20px;
    display: block;
}

.side-amazon-btn img {
    width: 100%;
}

/*sp-history*/
.sp-history {
    padding-top: 20px;
}

.sp-history-list-ttl {
    padding-bottom: 15px;
    font-size: 16px;
    font-weight: 500;
}

/*regist*/
.regist-merumaga-osusume {
    display: block;
    text-align: center;
    color: #ff415c;
    font-size: 12px;
    font-weight: 700;
    padding-bottom: 5px;
    position: relative;
    letter-spacing: 0;
    margin-left: 12px;
}

.regist-merumaga-osusume:before,
.regist-merumaga-osusume:after {
    content: "";
    background: #ff415c;
    width: 2px;
    height: 12px;
    display: block;
    position: absolute;
    top: -2px;
}

.regist-merumaga-osusume:before {
    -webkit-transform: rotate(135deg) translateY(-50%);
    transform: rotate(135deg) translateY(-50%);
    left: -3px;
}

.regist-merumaga-osusume:after {
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    right: 5px;
    top: 6px;
}

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

    .sp-history .cmn-cartHistory_img {
        flex-basis: initial;
        max-width: initial;
        width: 25%;
    }

    .sp-history .cmn-cartHistory_txt {
        width: 75%;
        padding-left: 15px;
        box-sizing: border-box;
        flex-basis: initial;
        max-width: initial;
        margin: 0;
    }

    .sp-history-wrap-over {
        overflow-x: hidden;
        padding: 20px 0;
    }

    .sp-history-slide-wrap {
        /*margin-right: -100px;*/
        margin-left: -5px;
    }

    .sp-history-slide-item-border {
        position: relative;
        border: 1px solid #ccc;
        border-radius: 4px;
        overflow: hidden;
        margin: 0 5px;
    }

    .sp-history-list-txt {
        padding: 15px;
        line-height: 1.25;
        letter-spacing: 1px;
    }

    .sp-history-list-txt .cmn-cartHistory_price {
        margin-top: 5px;
    }

    .sp-history-list-txt .cmn-cartHistory_btn {
        margin-top: 15px;
    }

    .sp-history-list-txt .btn-addCart_mini {
        border-radius: 4px;
        font-size: 11px;
        letter-spacing: 0;
    }

    .cmn-cartHistory_itemName a {
        display: block;
    }

    .amazonPay-link {
        padding-top: 15px;
    }

    .amazonPay-link a {
        color: #408cd9;
        text-decoration: underline;
        line-height: 1.5;
    }

    .regist-merumaga-osusume {
        width: 75px;
    }

}

/* -----------------------------------------------------------------------
## 2021.05ログイン周辺改修 ##########################################
----------------------------------------------------------------------- */
/*タブ切り替え全体のスタイル*/
.login-tabs-wrap {
    margin-top: 78px;
}

.login-tabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    width: 850px;
    margin: 0 auto;
    border: 1px solid #80603f;
}

/*タブのスタイル*/
.tab_item {
    width: 50%;
    height: 50px;
    border-bottom: 1px solid #80603f;
    background-color: #f3ede1;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    text-align: center;
    font-weight: 500;
    transition: all 0.2s ease;
}

.tab_item:hover {
    opacity: 0.75;
    cursor: pointer;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"],
input[name="tab_item_member"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    padding: 40px 40px 10px;
    clear: both;
    overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#login-tabs-noMember:checked ~ #noMember-content,
#login-tabs-member:checked ~ #member-content,
#login-tabs-Amazon:checked ~ #Amazon-content {
    display: block;
}

.tab_content .cmn-errorBox#error {
    margin-top: 0;
    margin-bottom: 20px;
}

/*選択されているタブのスタイルを変える*/
.login-tabs input:checked + .tab_item,
.tab_item_active {
    background-color: #80603f;
    color: #fff;
}

.tab_item_inactive {
    background-color: #d9d9d9 !important;
    color: #565656 !important;
}

@media screen and (max-width: 768px) {
    .login-tabs {
        width: 100%;
        padding-bottom: 20px;
    }

    .tab_content {
        padding: 15px 15px 10px;
    }

    .tab_item {
        line-height: 1.2;
        font-size: 12px;
        height: 40px;
    }

    .cmn-cartSidebar {
        width: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

}

/* -----------------------------------------------------------------------
## 2021.06 TOB用ヘッダー ##########################################
----------------------------------------------------------------------- */
.ph-inner-tob {
    justify-content: flex-end;
}

.ph-inner-tob .ph-logo {
    position: absolute;
    left: 50%;
    margin-left: -65px;
}

@media screen and (max-width: 768px) {
    .ph-inner-tob {
        justify-content: space-between;
    }

    .ph-inner-tob .ph-logo {
        position: static;
        margin-left: 0;
    }

}

/* -----------------------------------------------------------------------
## ログイン画面新デザイン ##########################################
----------------------------------------------------------------------- */
.login-form {
    width: 400px;
    margin: 0 auto;
}

.login-form-ttl {
    padding-bottom: 10px;
    font-weight: 700;
}

.login-form-body {
    padding-bottom: 15px;
    font-size: 16px;
}

.login-reminder {
    width: 400px;
    margin: 0 auto 30px;
}

.login-reminder a {
    color: #5a6f9e;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .login-form {
        width: 100%;
        margin: 0 auto;
    }

    .login-reminder {
        width: 100%;
        margin: 0 auto 20px;
    }

    .login-reminder a {
        font-size: 12px;
    }

    .login-form-ttl {}

}

/* -----------------------------------------------------------------------
## カート新デザイン ##########################################
----------------------------------------------------------------------- */
.cart-content {
    border: 1px solid #ccc;
    padding: 0 20px;
}

.cart-content-item {
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
}

.cart-content-item:last-child {
    border-bottom: none;
}

.cart-content-img {
    width: 150px;
}

.cart-content-text {
    padding-left: 20px;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 150px);
}

.cart-content-itemCode {
    color: #666;
    padding-bottom: 10px;
}

.cart-content-text-itemName {
    padding-bottom: 10px;
}

.cart-content-text-itemName a {
    display: block;
    text-decoration: underline;
    font-size: 16px;
    font-weight: 700;
}

.cart-content-sousa {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.cart-content-sousa .cmn-selectBox {
    height: 38px;
    border-radius: 5px;
    width: 90px;
    margin-left: 15px;
}

@media screen and (max-width: 768px) {
    .cart-content {
        padding: 0 15px;
        margin-top: 25px;
    }

    .cart-content-item {
        padding: 15px 0;
    }

    .cart-content-img {
        width: 35%;
    }

    .cart-content-summary {
        padding-bottom: 4vw;
    }

    .cart-content-text {
        padding-left: 5%;
        width: 60%;
    }

    .cart-content-itemCode {
        padding-bottom: 1vw;
        font-size: 3.2vw;
        line-height: 1;
    }

    .cart-content-text-itemName {
        padding-bottom: 3vw;
    }

    .cart-content-text-itemName a {
        font-size: 3.6vw;
        font-weight: 500;
        line-height: 1.5;
    }

    .cart-content-sousa {
        justify-content: flex-start;
    }

    .cart-content-text-itemPrice {
        font-size: 4.2vw;
        font-weight: 700;
    }

    .cart-content-sousa .cmn-selectBox {}


}


/* -----------------------------------------------------------------------
## PCスマホ出し分け ##########################################
----------------------------------------------------------------------- */
.pc-hide {
    display: none !important;
}

.sp-hide {
    display: block !important;
}

@media screen and (max-width: 768px) {
    .pc-hide {
        display: block !important;
    }

    .sp-hide {
        display: none !important;
    }
}


/* -----------------------------------------------------------------------
## カテゴリページデザインリニューアル ####################################
----------------------------------------------------------------------- */
.cat-page-title-wrap {
    background: #edeae5;
    color: #757575;
    display: flex;
    margin-bottom: 15px;
}

.cat-page-title-text {
    width: 50%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 50px 50px 90px;
    box-sizing: border-box;
    position: relative;
}

.cat-page-title {
    font-size: 32px;
    letter-spacing: 5px;
    line-height: 1.25;
}

.cat-page-title-text p {
    position: absolute;
    bottom: 40px;
    line-height: 1.75;
}

.cat-page-title-img {
    width: 50%;
}


/*itemListNew*/
.itemListNew {
    display: flex;
    flex-wrap: wrap;
    margin-right: -20px;
}

.itemListNew-item {
    width: 288px;
    box-sizing: border-box;
    /*padding: 20px;
    border: 1px solid #ccc;*/
    margin-right: 20px;
    margin-bottom: 30px;
    position: relative;
}

.itemListNew-item:nth-of-type(3n) {}

.itemListNew-item a {
    /*display: block;*/
}

.itemListNew-img {
    margin-bottom: 15px;
}

.itemListNew-text {}

.itemListNew-itemName {
    line-height: 1.5;
    padding-bottom: 3px;
}

.item-summary{
    padding-bottom: 15px;
    font-size: 85%;
    font-weight: 400;
}

.NameandReview + .itemListNew-itemSpec{
    padding-top: 5px;
}



@media screen and (max-width: 768px) {
    .itemListNew-itemName {
        padding-bottom:1.5vw;
    }

    .item-summary{
        padding-bottom: 2vw;
        font-size: 90%;
    }
}

.itemListNew-itemName-brand {
    font-size: 12px;
    display: block;
    color: #454545;
    padding-bottom: 0px;
}

.itemListNew-itemName-name {
    font-size: 16px;
}

.itemListNew-productTags-item {
    background: #f5f5f5;
    border: 1px solid #ccc;
    display: inline-block;
    font-size: 10px;
    padding: 0px 4px 1px;
    letter-spacing: 0.5px;
}

.itemListNew-item .iDet-productTxt-review-stars img {
    width: 13px;
}

.itemListNew-item .iDet-productTxt-review {
    padding: 0 0 5px;
    font-size: 12px;
}

.itemListNew-productTags {
    margin-bottom: 5px;
}

.itemListNew-itemSpec {
    padding-bottom: 20px;
}

.itemListNew-productNotSale {
    line-height: 1;
}

.itemListNew-itemSpec .js-price {
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0;
}

.itemListNew-hosoku {
    margin: -5px 0 0;
}

.itemListNew-hosoku p {
    font-size: 12px;
    color: #a10605;
    font-weight: 700;
    padding-bottom: 10px;
}

.itemListNew-powder-net {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #f3ede1;
    color: #a10605;
    width: 60px;
    height: 60px;
    border-radius: 35px;
    text-align: center;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    font-weight: 700;
    z-index: 3;
}

.itemListNew-newItem {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #a10605;
    color: #ffffff;
    width: 60px;
    height: 60px;
    border-radius: 35px;
    text-align: center;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    font-weight: 700;
    z-index: 3;
}

.itemListNew-productPrice_tax,
.itemListNew-salePrice_tax {
    letter-spacing: 0;
    margin-left: -5px;
    font-size: 14px;
}

.itemListNew-productSale {
    display: flex;
    align-items: flex-end;
    line-height: 1;
}

.itemListNew-productSale .itemListNew-normalPrice_price {
    color: #aaa;
    font-weight: 500;
    text-decoration: line-through;
    margin-right: 5px;
    font-size: 18px;
}

.itemListNew-Kakaku-wrap {
    display: flex;
    align-items: end;
    line-height: 1;
}

.itemListNew-salePrice {
    color: #d63938;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.itemListNew-salePrice_txt {
    font-size: 12px;
    display: block;
    line-height: 1;
}

.itemListNew-btn {
    text-align: center;
    margin-top: 10px;
}

.itemListNew-btn p {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 85%;
    height: 40px;
    position: relative;
    border: none;
    border-radius: 1000px;
    color: #a10605;
    border: 1px solid;
    cursor: pointer;
    text-align: center;
    -webkit-appearance: none;
    position: relative;
}

.itemListNew + .iLis-current {
    padding-bottom: 80px;
}

.itemList-mypage .itemListNew-item {
    width: 31%;
}


@media screen and (max-width: 768px) {
    .cat-page-title-wrap {
        align-items: center;
    }

    .cat-page-title-text {
        padding: 4vw;
    }

    .cat-page-title {
        font-size: 5.8vw;
        letter-spacing: 1vw;
        padding-bottom: 4vw;
    }

    .cat-page-title small {
        font-size: 2.8vw;
        padding-bottom: 5px;
        letter-spacing: 2px;
    }

    .cat-page-title-text p {
        position: static;
        font-size: 2.8vw;
        letter-spacing: 0.25vw;
        line-height: 1.5;
    }

    /*itemListNew*/
    .itemListNew-wrap {
        padding: 0 3vw;
        text-align: center;
    }

    .itemListNew {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0;
        text-align: left;
        margin-right: 0;
    }

    .itemListNew-item {
        width: calc(50% - 1.5vw);
        box-sizing: border-box;
        padding: 0;
        /*border: 1px solid #ccc;*/
        margin: 0px 0 5vw 0;
    }

    .itemListNew-item:nth-of-type(2n) {}

    .itemListNew-item:nth-of-type(3n) {}

    .itemListNew-img {
        margin-bottom: 2vw;
    }

    .itemListNew-itemName-brand {
        font-size: 2.6vw;
        padding-bottom: 0.5vw;
        letter-spacing: 0px;
    }

    .itemListNew-salePrice {
        font-size: 5.4vw;
    }

    .itemListNew-itemName-name {
        font-size: 3.6vw;
        letter-spacing: 0.1vw;
        font-weight: 500;
    }

    .itemListNew-productTags {
        margin-bottom: 1vw;
    }

    .itemListNew-itemSpec {
        padding-bottom: 10px;
    }

    .itemListNew-productSale {
        display: flex;
        align-items: flex-end;
        line-height: 1;
    }

    .itemListNew-productSale > span {
        /*display: inline-block;*/
    }


    .itemListNew-productSale > span .itemListNew-salePrice {
        /*order: 1;
    font-size: 20px;
    letter-spacing: -1px;*/
    }

    .itemListNew-itemSpec .js-price {
        font-size: 5.2vw;
    }

    .itemListNew-hosoku p {
        font-size: 11px;
        letter-spacing: 0;
        padding-bottom: 10px;
    }

    .itemListNew-newItem,
    .itemListNew-powder-net {
        width: 40px;
        height: 40px;
        letter-spacing: 0;
        font-size: 3vw;
    }

    .itemListNew-powder-net{
        padding-bottom: 1vw;
        box-sizing: border-box;
    }


    .itemListNew-productSale .itemListNew-normalPrice_price {
        font-size: 4vw;
        padding-top: 0;
        margin-right: 0;
    }

    .itemListNew-Kakaku-wrap {}


    .itemListNew-productPrice_tax,
    .itemListNew-salePrice_tax {
        letter-spacing: 0;
        margin-left: -1.5vw;
        font-size: 2.4vw;
        position: relative;
        top: 0px;
    }

    .itemListNew-salePrice_price + .itemListNew-salePrice_tax {
        /*top: 4px;*/
    }

    .itemListNew-productTags-item {
        font-size: 2.6vw;
        padding: 0 0.5vw;
    }

    .itemListNew-btn {
        margin-top: 3vw;
    }

    .itemListNew-btn p {
        width: 100%;
        height: 30px;
        font-size: 12px;
        padding-bottom: 2px;
        box-sizing: border-box;
    }

    /*review star*/

    .itemListNew-item .iDet-productTxt-review-stars img {
        width: 12px;
    }

    .itemListNew-item .iDet-productTxt-review {
        padding: 0 0 10px;
        font-size: 10px;
        letter-spacing: 0px;
        white-space: nowrap;
    }

    .itemListNew-item .cmn-reviewBox_star_count {
        display: inline-block;
        margin-right: -4px;
    }

    .itemListNew-item .iDet-productTxt-review-stars {
        margin-right: 5px;
    }

    .itemListNew-item .iDet-productTxt-review-stars li {
        margin-right: 1px;
    }

    .itemList-mypage {
        margin: 0 -5px;
        padding: 0;
    }

    .itemList-mypage .itemListNew-item {
        width: calc(50% - 10px);
    }

}

/* -----------------------------------------------------------------------
## スライド共通 ####################################
----------------------------------------------------------------------- */
.common-ranking-slide-wrap-over {
    overflow-x: hidden;
}

.common-ranking-slide-wrap {
    /*margin-right: -100px;*/
}

.common-ranking-slide {
    margin-left: -10px;
}

.common-ranking-slide-item {}

.common-ranking-slide-item a {
    margin: 0 10px;
    display: block;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.common-ranking-slide-icon {
    display: flex;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 5px;
    left: 10px;
    z-index: 2;
    background: #fcefe7;
    color: #9c7b63;
}

.common-ranking-slide-item:nth-child(1) .common-ranking-slide-icon:after {
    content: "1";
}

.common-ranking-slide-item:nth-child(2) .common-ranking-slide-icon:after {
    content: "2";
}

.common-ranking-slide-item:nth-child(3) .common-ranking-slide-icon:after {
    content: "3";
}

.common-ranking-slide-item:nth-child(4) .common-ranking-slide-icon:after {
    content: "4";
}

.common-ranking-slide-item:nth-child(5) .common-ranking-slide-icon:after {
    content: "5";
}

.common-ranking-slide-item:nth-child(6) .common-ranking-slide-icon:after {
    content: "6";
}

.common-ranking-slide-item:nth-child(7) .common-ranking-slide-icon:after {
    content: "7";
}

.common-ranking-slide-item:nth-child(8) .common-ranking-slide-icon:after {
    content: "8";
}


.common-ranking-slide-image {
    position: relative;
}

.common-ranking-slide-set {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background: #c8a063;
    color: #fff;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.common-ranking-slide-set-inner {
    text-align: center;
}

.common-ranking-slide-set-large {
    display: block;
    font-size: 20px;
}

.common-ranking-slide-set-small {
    display: block;
}

.common-ranking-slide-set small {
    letter-spacing: 0;
    font-size: 11px;
}

.common-ranking-slide-text {
    padding: 15px;
    line-height: 1.5;
    letter-spacing: 1px;
}

.common-ranking-slide-title {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}

.common-ranking-slide-price {
    display: block;
    color: #880000;
    font-size: 16px;
    font-weight: 700;
}

.common-ranking-slide-price small {
    color: #7b7b7b;
    font-weight: 500;
    font-size: 12px;
}

@media screen and (max-width: 480px) {
    .common-ranking-slide {
        margin-left: -5px;
    }

    .common-ranking-slide .slick-list {
        padding: 0 20% 0 0 !important;
    }

    .common-ranking-slide .slick-list:last-child {}

    .common-ranking-slide-item a {
        margin: 0 5px;
    }

    .common-ranking-slide-title {
        font-size: 3.2vw;
        margin-bottom: 3vw;
    }

    .common-ranking-slide-price {
        font-size: 3.4vw;
    }

    .common-ranking-slide-price small {
        font-size: 3vw;
        display: block;
    }

    .common-ranking-slide-set {
        bottom: -5px;
        right: -5px;
        transform: scale(0.8);
    }

    .itemListNew-salePrice_txt {
        font-size: 2.4vw;
        width: 100%;
    }
}


/* -----------------------------------------------------------------------
## 商品詳細ページデザインリニューアル ####################################
----------------------------------------------------------------------- */
.iDetNew-productMain {
    padding-bottom: 70px;
}

.iDetNew-productMain:after {
    content: "";
    clear: both;
}

.iDet-productImgs {
    float: left;
}

.iDetNew-productTxt {
    margin-left: 445px;
}

.iDetNew-summary {
    border-bottom: 1px solid #ccc;
    margin-bottom: 25px;
    padding-bottom: 20px;
    margin-left: 445px;
}

.iDetNew-productMain .parts-productTags {
    margin-bottom: 10px;
    margin-left: 445px;
}

.iDetNew-productName {}

.iDetNew-itemName {
    font-size: 24px;
}

.iDetNew-productName_brand {
    display: block;
    color: #454545;
}

.iDetNew-productMain .iDet-productTxt-review {
    font-size: 12px;
}

.iDetNew-productMain .iDet-productTxt-review a {
    text-decoration: underline;
    color: #8ab7d2;
}

.iDetNew-productMain .iDet-productTxt-review a:hover {
    text-decoration: none;
}

.iDetNew-productPrice {
    padding-bottom: 30px;
}

.iDetNew-productNotSale,
.iDetNew-productSale {
    display: flex;
    align-items: flex-end;
    line-height: 1;
}

.js-price {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0;
}

.iDetNew-productPrice_tax {
    letter-spacing: 0;
    /*margin-left: -12px;*/
}

/*salePrice*/
.iDetNew-salePrice {
    color: #a10605;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0;
}

.iDetNew-salePrice .iDetNew-productPrice_tax,
.iDetNew-salePrice_tax {
    letter-spacing: 0;
    margin-left: -5px;
    font-size: 18px;
}

.iDetNew-salePrice + .iDetNew-normalPrice {
    font-size: 20px;
    color: #aaa;
    font-weight: 500;
    text-decoration: line-through;
    margin-right: 10px;
}

.iDetNew-salePrice + .iDetNew-normalPrice .iDetNew-normalPrice_tax {
    font-size: 14px;
}

.iDetNew-salePrice_txt {
    font-size: 12px;
    display: block;
    line-height: 1;
    padding-bottom: 0.5vw;
}

.iDetNew-productPrice_point {
    display: block;
    position: relative;
    color: #a10605;
    letter-spacing: 0;
    font-weight: 500;
}

.iDetNew-productInfo {
    font-weight: 400;
    margin-bottom: 25px;
    line-height: 1.75;
}

.iDetNew-productInfo-list {
    padding-bottom: 5px;
}

.iDetNew-productInfo-list li {
    display: inline-block;
    border: 1px solid #212121;
    font-size: 10px;
    padding: 0 4px;
}

.iDetNew-productInfo_txt {
    font-size: 13px;
}

.iDetNew-productAmount {
    /*display: flex;
    flex-wrap: wrap;
    align-items: center;*/
    margin-bottom: 30px;
    line-height: 1;
}

.iDetNew-productAmount .iDet-productAmount_amount {
    margin: 0;
    padding-right: 15px;
}

.iDetNew-productCart {
    /*background: #f5f5f5;
    padding: 25px;*/
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px;
    line-height: 1;
}

.iDetNew-productCart-matomegai {
    padding: 6px;
    margin-bottom: 10px;
    font-size: 85%;
    display: inline-block;
    background: linear-gradient(transparent 60%, #ffc80069 60%);
}

/*
.iDetNew-productCart-matomegai span{
    position: relative;
    border-bottom: 1px solid;
    padding-bottom: 5px;
}

.iDetNew-productCart-matomegai span:before,
.iDetNew-productCart-matomegai span:after{
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    top: 92%;
    left: 50%;
}

.iDetNew-productCart-matomegai span:before{
    border-color: rgba(158, 6, 5, 0);
    border-top-width: 6px;
    border-bottom-width: 6px;
    border-left-width: 6px;
    border-right-width: 6px;
    margin-left: -6px;
    margin-top: 2px;
    border-top-color: #a10605;
}

.iDetNew-productCart-matomegai span:after{
    border-color: rgba(0, 153, 255, 0);
    border-top-width: 6px;
    border-bottom-width: 6px;
    border-left-width: 6px;
    border-right-width: 6px;
    margin-left: -6px;
    border-top-color: #f5f5f5;
}*/

.iDetNew-productSupplement {
    padding-bottom: 25px;
}

.iDetNew-productSupplement-deliver {
    /*padding-bottom: 8px;*/
}

.iDet-productSupplement_item a {
    color: #8ab7d2;
    text-decoration: underline;
}

.iDet-productSupplement_item a:hover {
    text-decoration: none;
}

.iDetNew-snsList {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.iDetNew-snsList_item {
    padding-left: 10px;
}

.iDetNew-snsList img {
    width: 30px;
}

.staff-voice-img:before,
.staff-voice-img:after {
    contents: "";

}

.iDetNew-detailBlock {
    border-top: 1px solid #ccc;
    padding: 35px 0 70px;
    line-height: 1.75;
    font-size: 16px;
}

.iDetNew-detailBlock-title {
    font-size: 22px;
    padding-bottom: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.iDetNew-detailBlock-title-hosoku {
    font-size: 14px;
    color: #757575;
}

.iDetNew-detailBlock-title-hosoku a {
    color: #8ab7d2;
    text-decoration: underline;
}

.iDetNew-detailBlock-title-hosoku:hover {
    text-decoration: none;
}


.iDetNew-detailBlock span[style="font-size:large;"],
.iDetNew-detailBlock span[style="font-size:medium;"],
.iDetNew-detailBlock span[style="font-size:small;"] {
    font-size: 100% !important;
}

.iDetNew-itemInfo-accordion-title {
    font-size: 16px;
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
    position: relative;
    -webkit-transition: opacity .4s 0s ease;
    transition: opacity .4s 0s ease;
}

.iDetNew-itemInfo-accordion-title:hover {
    cursor: pointer;
    opacity: 0.7;
}

.iDetNew-itemInfo-accordion:first-child {
    border-top: 1px solid #ddd;
}

.iDetNew-itemInfo-accordion-cnt {
    padding: 20px 0;
    line-height: 1.75;
    display: none;
}

.iDetNew-itemInfo-accordion-cnt a {
    text-decoration: underline;
    color: #8ab7d2;
}

.iDetNew-itemInfo-accordion-cnt a:hover {
    text-decoration: none;
}


.iDetNew-itemInfo-accordion-title:after,
.iDetNew-itemInfo-accordion-title:before {
    content: "";
    display: block;
    width: 12px;
    height: 2px;
    border: 0;
    background: #212121;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -2px -webkit-transition: all 0.3s 0s ease;
    transition: all 0.3s 0s ease;
}

.iDetNew-itemInfo-accordion-title:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}


.iDetNew-itemInfo-accordion-title.is-open:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.iDetNew-itemInfo-accordion-title.is-open:before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.iDetNew-itemInfo-accordion-title.is-open + .iDetNew-itemInfo-accordion-cnt {
    display: block;
}

.iDetNew-itemInfo-accordion:last-child .iDetNew-itemInfo-accordion-title {
    border-bottom: none;
}

.iDetNew-nutrition tr {
    display: inline-block;
    padding-right: 10px;
}

.iDetNew-nutrition tr:last-child:after {
    content: "";
}

.iDetNew-nutrition table th,
.iDetNew-nutrition table td {
    display: inline-block;
    font-weight: 500;
}

.iDetNew-nutrition tr:after {
    content: ", ";
    display: inline;
}

.iDetNew-aboutCat_img {
    margin-bottom: 20px;
}

.iDetNew-select-cart-wrap {
    display: flex;
    align-items: center;
}

.iDetNew-productInfo_capacity a {
    color: #8ab7d2;
    text-decoration: underline;
}

.iDetNew-productInfo_capacity a:hover {
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .iDetNew-productMain {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 30px;
    }

    .iDet-productImgs {
        float: none;
        width: 100%;
        /*order: 2;*/
    }

    .iDetNew-productTxt {
        width: 100%;
        padding: 0 4vw;
        box-sizing: border-box;
        margin-left: 0;
        width: 100%;
        /*order: 4;*/
    }


    .iDetNew-productMain .parts-productTags {
        margin: 0 0 0 4vw;
        /*order: 3;*/
    }

    .iDetNew-productName {
        padding-bottom: 3px;
    }

    .iDetNew-productName_brand {
        padding-bottom: 0.5vw;
        font-size: 3.4vw;
    }

    .iDetNew-itemName {
        font-size: 5.6vw;
        letter-spacing: 0.3vw;
    }

    .iDetNew-productName_name {
        padding-bottom: 1vw;
        display: block;
    }

    .iDetNew-productMain .iDet-productTxt-review {
        font-size: 12px;
        padding: 0;
    }

    .iDet-productTxt-review-stars img {
        width: 12px;
    }

    .iDet-productTxt-review-stars {
        margin-top: -2px;
    }

    .iDetNew-summary {
        margin: 2vw 4vw 4vw;
        width: 100%;
        /*order: 1;*/
        padding: 0;
        border: none;
    }

    .iDetNew-productInfo_txt {
        font-size: 3.2vw;
    }

    .iDetNew-productInfo {
        margin-bottom: 6vw;
    }

    .iDetNew-productPrice {
        padding-bottom: 7vw;
    }

    .js-price {
        font-size: 7.0vw;
    }


    /*salePrice*/
    .iDetNew-salePrice {
        font-size: 8.0vw;
    }

    .iDetNew-salePrice_txt {
        font-size: 3.2vw;
        padding-bottom: 0.5vw;
    }

    .iDetNew-salePrice .iDetNew-productPrice_tax,
    .iDetNew-salePrice_tax {
        font-size: 4vw;
    }

    .iDetNew-salePrice + .iDetNew-normalPrice {
        font-size: 5vw;
        padding-right: 3vw
    }

    .iDetNew-salePrice + .iDetNew-normalPrice .iDetNew-normalPrice_tax {
        font-size: 10px;
    }

    .iDetNew-salePrice + .iDetNew-normalPrice .js-price {
        font-size: 24px;
        font-weight: 500;
    }

    .js-price + .itemListNew-productPrice_tax {
        /*top: 12px;*/
    }

    .iDetNew-productPrice_point {
        margin-top: 0px;
    }

    .iDetNew-productInfo-list li {
        font-size: 10px;
        padding: 0px 4px 1px;
    }

    .iDetNew-productAmount {
        margin: 0 0 7vw 0;
        display: block;
    }

    .iDetNew-productCart {
        margin: 0 0 6vw 0;
    }

    .iDetNew-select-cart-wrap {
        display: block;
    }

    .iDetNew-productCart .iDet-productAmount_amount {
        padding-bottom: 0;
        padding-right: 4vw;
    }

    .iDetNew-productCart-matomegai {
        font-weight: 500;
    }

    .iDetNew-detailBlock {
        padding: 5vw 0 7vw;
        margin: 0 4vw;
        font-size: 4.0vw;
    }

    .iDetNew-detailBlock-title {
        font-size: 5.2vw;
        padding-bottom: 5vw;
        display: block;
    }

    .iDetNew-detailBlock-title-hosoku {
        font-size: 12px;
        display: block;
        padding-top: 5px;
    }

    .iDetNew-itemInfo-accordion-title {
        font-size: 4.8vw;
        padding: 10px 0;
    }

    .iDetNew-itemInfo-accordion-cnt {
        padding: 10px 0;
    }

    .iDetNew-productCart_btns {
        width: 100%;
    }

}

/* -----------------------------------------------------------------------
## 下層ページ ####################################
----------------------------------------------------------------------- */

.cmn-pageTtl-new {
    padding-bottom: 15px;
    border-bottom: 1px solid #212121;
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cmn-pageTtl-new-hosoku {
    font-size: 14px;
    color: #757575;
}

.cmn-pageTtl-new-hosoku a {
    color: #8ab7d2;
    text-decoration: underline;
}


@media screen and (max-width: 768px) {
    .cmn-pageTtl-new {
        padding-bottom: 10px;
        font-size: 1.8rem;
        margin: 0px 20px 15px;
    }

    .cmn-pageTtl-new-hosoku {
        font-size: 10px;
    }

    .cmn-main-inner {
        padding: 0 20px;
    }
}

/* -----------------------------------------------------------------------
## TOPボタン ####################################
----------------------------------------------------------------------- */

.cmn-pageTop-new {
    position: fixed;
    bottom: 30px;
    right: 22px;
    height: 25px;
}

.cmn-pageTop-new a {
    display: block;
    height: 30px;
}

.cmn-pageTop-new a:before {
    content: "";
    width: 30px;
    height: 2px;
    background: #ccc;
    display: block;
    right: 3px;
    position: relative;
}

.cmn-pageTop-new a:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    -webkit-transform: rotate(315deg) translateY(-50%);
    transform: rotate(315deg) translateY(-50%);
    position: absolute;
    top: 20px;
    right: 0;
}

/* ################# モーダル ################# */
.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
}

.modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal__content {
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 55%;
    box-sizing: border-box;
    overflow-y: scroll;
    height: 80%;
}

.iDetNew-modal-title {
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
    margin-bottom: 20px;
    font-size: 22px;
}

.iDetNew-modal-item {
    padding-bottom: 25px;
}

.iDetNew-modal-item:last-child {
    padding-bottom: 0;
}

.iDetNew-modal-item-title {
    font-size: 18px;
    padding-bottom: 5px;
}

.iDetNew-modal-item-title:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 18px;
    background: #212121;
    position: relative;
    top: 3px;
    margin-right: 12px;
}

a.js-modal-open {
    color: #8ab7d2;
    text-decoration: underline;
}

a.js-modal-open:hover {
    text-decoration: none;
}

.js-modal-close-inside {
    position: absolute;
    right: 10px;
    top: 10px;
    background: #212121;
    width: 50px;
    height: 50px;
}

.js-modal-close-inside:before,
.js-modal-close-inside:after {
    content: "";
    display: block;
    width: 24px;
    height: 2px;
    border: 0;
    background: #fff;
    position: absolute;
    top: 22px;
    right: 12px;
}

.js-modal-close-inside:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.js-modal-close-inside:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

.iDetNew-modal-item a {
    color: #8ab7d2;
    text-decoration: underline;
}


.iDetNew-modal-item a:hover {
    text-decoration: none;
}


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

    .modal__content {
        padding: 20px;
        width: 85%;
        box-sizing: border-box;
        height: 75vh;
        overflow-y: scroll;
    }

    .iDetNew-modal-title {
        border-bottom: 1px solid #ccc;
        padding-bottom: 15px;
        margin-bottom: 20px;
        font-size: 16px;
    }

    .iDetNew-modal-item-title:before {
        width: 6px;
        height: 16px;
        top: 3px;
        margin-right: 10px;
    }

    .js-modal-close-inside {
        right: 10px;
        top: 10px;
        width: 35px;
        height: 35px;
    }

    .js-modal-close-inside:before,
    .js-modal-close-inside:after {
        width: 24px;
        top: 16px;
        right: 6px;
    }

}


/* -----------------------------------------------------------------------
## ハンバーガーにログイン追加 スマホのみ####################################
----------------------------------------------------------------------- */
.ph-gNavi_login {
    background: #f1f1f1;
    padding: 20px;
}

.ph-gNavi_login ul {
    display: flex;
    justify-content: space-between;
}

.ph-gNavi_login li {
    width: calc(50% - 10px);
    display: block;
}

.ph-gNavi_login a {
    display: flex;
    align-items: center;
    height: 40px;
    text-align: center;
    justify-content: center;
    background: #fff;
    border-radius: 6px;
    font-weight: 700;
    position: relative;
    border: 1px solid #ccc;
}

.ph-gNavi_login a:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #212121;
    border-right: 1px solid #212121;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 20px;
    right: 18px;
}

.ph-gNavi_login_member li {
    width: 100%;
}

/* -----------------------------------------------------------------------
## フッターにSNS追加 ####################################
----------------------------------------------------------------------- */
.footer-sns {
    padding-right: 15px;
}

.footer-sns li {
    padding-right: 0;
}

.footer-sns li:first-child {
    padding-bottom: 3px;
}

@media screen and (max-width: 768px) {
    .footer-new-company-left li {
        padding-right: 20px;
    }
}


/* -----------------------------------------------------------------------
## 2段階ログイン説明追加 ####################################
----------------------------------------------------------------------- */

#login-form-mail.entered {
    background: #dcdcdc;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.nidankai-block {
    display: none;
}

.nidankai-none {
    display: block;
}

.nidankai-howto {
    width: 420px;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
}

.nidankai-howto-title {
    position: relative;
    width: 100%;
    background: #FFFFFF;
    padding: 15px;
    text-align: center;
    border-top: 2px solid #ccc;
    font-size: 18px;
}

.nidankai-howto-title:after,
.nidankai-howto-title:before {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
}

.nidankai-howto-title:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 10px;
    border-right-width: 10px;
    margin-left: -10px;
    border-bottom-color: #FFFFFF;
}

.nidankai-howto-title:before {
    border-color: rgba(204, 204, 204, 0);
    border-top-width: 12px;
    border-bottom-width: 12px;
    border-left-width: 12px;
    border-right-width: 12px;
    margin-left: -12px;
    margin-bottom: 2px;
    border-bottom-color: #CCCCCC;
}

.nidankai-howto-steps {
    display: flex;
    color: #711717;
    font-weight: 700;
    width: 100%;
    margin-bottom: 15px;
}

.nidankai-howto-img {
    margin-bottom: 10px;
}

.nidankai-howto-note {
    font-weight: 700;
}

.nidankai-howto-note a {
    text-decoration: underline;
}

.login-form-body.cmn-inputText > input {
    width: 100%;
}

.cmn-formBox-note {
    padding-top: 1vh;
}

@media screen and (max-width: 768px) {
    #tab_item_Member {
        padding-top: 12px;
        box-sizing: border-box;
    }

    #tab_item_noMember {
        padding-top: 4px;
        box-sizing: border-box;
    }

    .nidankai-howto-title {
        font-size: 14px;
    }

    .nidankai-howto {
        width: 100%;
    }

    .nidankai-howto-steps {
        justify-content: space-between;
    }

    .nidankai-howto-steps li {
        width: 48%;
    }

}

/* -----------------------------------------------------------------------
## 会員登録フォーム修正 ####################################
----------------------------------------------------------------------- */

.cmn-formBox-simple {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}

.cmn-formBox-simple_ttl {
    width: 30%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 30px;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
}

.cmn-formBox-simple_body {
    width: 70%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px 0 30px 0;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
}

.cmn-inputText-simple > input,
.cmn-inputText-simple > textarea {
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 8px 10px 9px;
    background: #fff;
    line-height: 1.5;
}

.cmn-formBox-simple_lastName .cmn-formBox-simple_txt,
.cmn-formBox-simple_firstName .cmn-formBox-simple_txt {
    width: 40px;
    display: inline-block;
}

.cmn-formBox-simple_lastName input {
    width: 200px;
    margin-right: 25px;
}

.cmn-formBox-simple_firstName input {
    width: 200px;
}

.cmn-formBox-simple_mail {}

.cmn-formBox-simple_row {
    display: flex;
    align-items: center;
}

.cmn-formBox-simple .cmn-radioBtn {
    padding-top: 0;
}

.cmn-formBox-simple_example {
    display: inline-block;
    font-size: 12px;
    padding-left: 15px;
}

.cmn-formBox-simple_notes {
    display: inline-block;
    padding-top: 10px;
    font-size: 12px;
}

.cmn-formBox-simple_zip {
    padding-right: 20px;
}

.cmn-formBox-simple_getZip {}

.cmn-formBox-simple_getZip input {
    padding: 10px 10px;
}

.cmn-formBox-simple_year,
.cmn-formBox-simple_month {
    padding-right: 20px;
}

.cmn-formBox-simple_pref {
    width: 240px;
    height: 36px;
}

.cmn-formBox-simple-merumaga-osusume {
    display: inline-block;
    text-align: center;
    background: #ff415c;
    font-size: 11px;
    font-weight: 700;
    padding-bottom: 5px;
    position: relative;
    letter-spacing: 0;
    margin-left: 5px;
    color: #fff;
    border-radius: 4px;
    padding: 0 10px 1px 10px;
}

.cmn-formBox-simple-merumaga-osusume:before {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-top-width: 3px;
    border-bottom-width: 3px;
    border-left-width: 6px;
    border-right-width: 6px;
    margin-top: -3px;
    border-right-color: #ff415c;
    right: 100%;
    top: 50%;
}

.cmn-formBox-simple-note {
    padding-top: 10px;
    width: 100%;
}

.cmn-formBox-simple-require {}

.cmn-formBox-simple-require::after {
    display: inline-block;
    padding: 0px 5px 0px;
    border-radius: 2px;
    color: #e51734;
    content: "必須";
    font-size: 13px;
}

.selectBox-small {
    display: inline-block;
    width: 80px;
    height: 36px;
}

/*survey*/

.member-input-survey {
    position: relative;
    width: 100%;
}

.member-radio-survey .HTMLFORM_ELEMENT {
    padding-bottom: 5px;
    display: inline-block;
}

.member-radio-survey .HTMLFORM_ELEMENT label {
    padding: 0px 10px 0 5px;
}

.member-radio-survey .HTMLFORM_ELEMENT:nth-child(4),
.member-radio-survey .HTMLFORM_ELEMENT:nth-child(5) {
    display: block;
}

.member-radio-survey .HTMLFORM_ELEMENT:nth-child(4) {
    margin-bottom: 50px;
}

.member-radio-survey .HTMLFORM_ELEMENT:nth-child(4):after {
    content: "（検索ワードを教えてください）";
}

.member-input-survey-sns {
    position: absolute;
    bottom: 35px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .cmn-formBox-simple {
        display: block;
        font-size: 13px;
    }

    .cmn-formBox-simple_ttl {
        width: 100%;
        padding: 10px 0 10px 0;
        border: none;
    }

    .cmn-formBox-simple_body {
        width: 100%;
        padding: 10px 0 30px 0;
        margin-bottom: 10px;
        display: block;
    }

    .cmn-formBox-simple_lastName input,
    .cmn-formBox-simple_firstName input {
        width: calc(100% - 30px);
        margin-right: 0;
    }

    .cmn-formBox-simple_lastName,
    .cmn-formBox-simple_firstName {
        width: 100%;
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }

    .cmn-formBox-simple_lastName .cmn-formBox-simple_txt,
    .cmn-formBox-simple_firstName .cmn-formBox-simple_txt {
        width: 50px;
        display: inline-block;
    }

    .cmn-inputText-simple > input,
    .cmn-inputText-simple > textarea {
        width: 100%;
    }

    .cmn-formBox-simple_row {
        display: block;
        width: 100%;
    }

    .cmn-formBox-simple_example {
        padding: 10px 0 0 0;
        width: 100%;
    }

    .cmn-formBox-simple .cmn-radioBtn {
        padding-top: 0;
        display: inline-block;
        padding-right: 15px;
    }

    .cmn-formBox-simple .cmn-radioBtn > label {
        font-size: 13px;
    }

    .cmn-formBox-simple_year,
    .cmn-formBox-simple_month,
    .cmn-formBox-simple_day {
        padding-right: 20px;
        display: inline-flex;
        width: 25%;
        align-items: center;
    }

    .cmn-formBox-simple_year .cmn-formBox-simple_txt,
    .cmn-formBox-simple_month .cmn-formBox-simple_txt,
    .cmn-formBox-simple_day .cmn-formBox-simple_txt {
        padding-left: 10px;
    }

    .cmn-formBox-simple_zip {
        padding-right: 20px;
        width: calc(100% - 115px);
        display: inline-block;
    }

    .cmn-formBox-simple_getZip {
        width: 90px;
        display: inline-block;
    }

    .member-radio-survey .HTMLFORM_ELEMENT label {
        padding: 0px 5px;
    }

    .member-input-survey-sns {
        width: calc(100% - 15px);
    }

    ..cmn-formBox-simple-note {
        padding-top: 6vw;
    }

}


/* -----------------------------------------------------------------------
## 2022リニューアル ####################################
----------------------------------------------------------------------- */
html {
    -webkit-overflow-scrolling: touch;
}

.body22 {
    padding-top: 196px;
}

.page-top22 {
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .body22 {
        padding-top: 130px;
    }

}

/* -----------------------------------------------------------------------
## Tab ##################################################
----------------------------------------------------------------------- */
.header-tab {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    padding: 15px 0;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    background: #fff;
}

.header-tab-item a {
    width: 585px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 4px;
}

.header-tab-shop a {
    background: #f3ede1;
}

.header-tab-yomimono a {
    background: #f5f5f5;
}

.header-tab-item span {
    position: relative;
    top: 1px;
}

.header-tab-item span:before {
    content: "";
    display: block;
    position: absolute;
}

.header-tab-shop span:before {
    width: 14px;
    height: 19px;
    background: url(../img/common/head-icon-shopping.svg) no-repeat;
    left: -25px;
    background-size: 14px;
}

.header-tab-yomimono span:before {
    width: 20px;
    height: 18px;
    background: url(../img/common/head-icon-yomimono-gray.svg) no-repeat;
    background-size: 20px;
    left: -32px;
    top: 3px;
}

#header.ph24.hide {
    transform: translateY(-197px);
}


@media screen and (max-width: 768px) {
    #header.ph24.hide {
        transform: translateY(-141px);
    }

    .header-tab {
        width: calc(100% - 30px);
        padding: 5px 0;
    }

    .header-tab-item {
        width: calc(50% - 5px);
    }

    .header-tab-item a {
        width: 100%;
    }

    .header-tab-item span {
        padding-left: 20px;
        top: 0px;
    }

    .header-tab-shop span:before {
        top: -3px;
        left: -4px;
    }

    .header-tab-yomimono span:before {
        top: 0px;
        left: -8px;
    }

}

/* -----------------------------------------------------------------------
## header ##################################################
----------------------------------------------------------------------- */
.ph24 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    width: 100%;
    background: #fff;
    line-height: 1.25;
    transition: 0.5s;
    /*border-bottom: 1px solid #ccc;*/
}

.ph24-inner{
    background: #fff;
    position: relative;
}

.ph24-cnt {
    display: flex;
    align-items: center;
    max-width: calc(1200px + 6vw);
    height: 95px;
    margin: 0 auto;
    padding: 0 3vw;
    background: #fff;
    box-sizing: border-box;
}

.ph24-cnt-right {
    height: 100%;
    width: calc(100% - 150px);
}

.ph24-cnt-right-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 10px;
}

.ph24-cnt-right-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; 
}

.ph24-cnt-pc-menu {
    display: flex;
    height: 100%; 
    margin-left: 50px;
}

.ph24-soryo {
    color: #795e28;
    padding: 5px;
    text-align: center;
    background: #f4f4f4;
}

.ph24-soryo span:before {
    content: "";
    display: inline-block;
    position: relative;
    width: 20px;
    height: 16px;
    background: url(../img/common/head-icon-track.svg) no-repeat;
    background-size: 20px;
    left: 0px;
    top: 3px;
    margin-right: 10px;
}

.ph24-soryo span {
    padding-left: 30px;
}


.ph24-menus_item a,
.ph-menus_item a{
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    flex-direction: column;
    width: 60px;
    height: 50px;
    margin: 0 5px;
    border-radius: 4px;
    box-sizing: border-box;
    position: relative;
    font-weight: 500;
    background: #fff;
    position: relative;
    z-index: 2;
}

.ph24-menus_item a:hover {
    cursor: pointer;
}


.ph-menus_icon {
    height: 100%;
    width: 24px;
    display: flex;
    align-items: center;
}

.ph24-menus .ph-menus_item {
    position: relative;
}

.header-cart-count {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #212121;
    color: #fff;
    border-radius: 8px;
    line-height: 14px;
    right: 6px;
    top: 3px;
}

/*header_search_form*/
.header_search_form {
    position: absolute;
    top: 5px;
    transition: opacity .4s 0s ease;
    opacity: 0;
}

.header_search_wrap.search-open .header_search_form {
    opacity: 1;
}

.header_search_wrap{
    position: relative;
}

.header_search_wrap .header_search_input{
    width: 0;
    transition: width 0.3s;
    position: absolute;
    top: 0;
    right: 0px;
    height: 15px;
    padding: 5px;
    box-sizing: content-box;
    border: 1px solid #828282;
}

.header_search_wrap.search-open .header_search_input{
    width: 150px;
}


.header_search_wrap .header_search_submit{
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0px;
    height: 30px;
    background: none;
    border: none;
    color: #828282;
    padding: 6px;
    box-sizing: border-box;
}

.header_search_wrap .header_search_submit:hover{
    cursor: pointer;
}


.header_search_wrap.search-open .header_search_submit{
    opacity: 1;
}


/* -----------------------------------------------------------------------
## MEGA MENU ##################################################
----------------------------------------------------------------------- */
 .header-cat-wrap{
    width: 1200px;
    margin: 0 auto;
}
.ph-inner-pc-menu {
    display: flex;
    justify-content: center;
    background: #fff;
    width: 1200px;
    margin: 0 auto;
}

.ph24-has-megamenu-link {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    padding: 0 22px;
    position: relative;
    height: 35px;
    box-sizing: border-box;
}

.ph24-has-megamenu-link span {
    position: relative;
    font-size: 12px;
    letter-spacing: 1px;
}

.ph24-pc-megamenu {
    -webkit-transition: all 0.4s 0s ease;
    transition: all 0.3s 0s ease;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    position: absolute;
    top: -120px;
    left: 0;
    z-index: -1;
    width: 100%;
    background: #f9f9f9;
    padding: 40px 0;
    list-style: none;
    box-sizing: border-box;
    opacity: 0;
}

.ph24-has-megamenu:hover .ph24-pc-megamenu {
    -webkit-transform: translateY(244px);
    transform: translateY(244px);
    opacity: 1;
}

.megamenu-link {}

.ph24-has-megamenu {
    height: 100%;
    display: flex;
    align-items: center;
}

.ph24-has-megamenu > a{
}

.ph24-has-megamenu:first-child > a{
}

.ph-tob .ph24-has-megamenu {
    width: 195px;
}

.ph-tob .ph24-has-megamenu-link {
    width: 100%;
}

.ph24-menus {
    display: flex;
    font-size: 10px;
    letter-spacing: 1px;
    align-items: center;
    padding: 0 0 0 15px;
}


.ph24-menus .ph-menus_item.has-menuBtn a:hover {
}

.ph24-pc-megamenu .ph-gNavi-new-list-item {
    padding-bottom: 0;
}

.header-searchItem-wrap{
}


@media screen and (max-width: 1040px) {
    .ph24 {
        width: 100%;
    }

    .ph24-cnt {
        width: 100%;
        margin: 0 auto;
        padding: 2vw 3vw;
        position: relative;
        box-sizing: border-box;
        height: 70px;
        justify-content: center;
    }

    .ph24 .ph-logo {
        padding: 0;
        position: absolute;
        bottom: 12px;
        /*left: -8px;*/
        width: 135px;
        bottom: 6px;
        top: inherit;
    }

    .ph24 .ph-logo img {
        height: 60px;
    }

    .header_search_wrap{
        display: none;
    }

    .ph24-cnt-right-bottom {
        justify-content: flex-end;
    }

    .ph24-cnt-pc-menu {
        display: none;
    }

    .ph24-cnt-right {
        width: 100%;
    }

    .ph24-cnt-right-top {
        justify-content: center;
        padding: 2px 0px 8px;
    }

    .ph24-soryo {
        font-size: 12px;
        padding: 3px 0px 7px 3px ;
        height: 15px
        box-sizing: content-box;
    }

    .ph24-soryo span {
        padding-left: 0;
    }

    .ph24-soryo:before {
        width: 18px;
        height: 15px;
        background: url(../img/common/head-icon-track.svg) no-repeat;
        background-size: 18px;
        left: 0px;
        top: 5px;
    }

    .ph24-menus {
        display: flex;
        font-size: 10px;
        letter-spacing: 1px;
        align-items: center;
        padding: 0;
        justify-content: flex-end;
    }

    .ph24-menus .ph-menus_item,
    .ph24-menus_item {
        font-size: 10px;
    }

    .ph24-menus .ph-menus_item a,
    .ph24-menus_item a {
        width: clamp(40px, 12vw, 50px);
        height: 40px;
        margin: 0;
        letter-spacing: 0;
        align-items: center;
    }

    .ph24-menus .ph-menus_item {
        position: absolute;
        margin: 0;
        left: 3vw;
        height: 40px;
    }

    .ph-menus_icon + span {
        display: none;
    }



}


/* -----------------------------------------------------------------------
## SIDE MENU ##################################################
----------------------------------------------------------------------- */
.cmn-side22-box {
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.cmn-side22-subTitle {
font-size: 14px;
    font-weight: 500;
    padding-bottom: 10px;
    color: #3f341e;
}

.cmn-side22-title {
    font-size: 16px;
    font-weight: 500;
    background: #f4f4f4;
    padding: 10px 10px 10px 40px;
    margin-bottom: 15px;
    position: relative;
}

.cmn-side22-title:before {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
}

.cmn-side22-title.by-category:before {
    background: url(../img/common/side-icon-cat.svg) no-repeat;
    width: 18px;
    height: 18px;
    top: 12px;
    left: 12px;
}

.cmn-side22-title.by-buy:before {
    background: url(../img/common/side-icon-kaikata.svg) no-repeat;
    width: 20px;
    height: 20px;
    top: 9px;
    left: 12px;
}

.cmn-side22-title.by-brand:before {
    background: url(../img/common/side-icon-brand.svg) no-repeat;
    width: 20px;
    height: 20px;
    left: 12px;
}

.cmn-side22-title.for-beginner:before {
    background: url(../img/common/side-icon-hajimete.svg) no-repeat;
    width: 16px;
    height: 20px;
    top: 11px;
    left: 18px;
}

.cmn-side22-list {
    padding-bottom: 5px;
    margin-top: 30px;
}

.cmn-side22-list + .cmn-side22-list {

}

.cmn-side22-list:last-child {
    margin-bottom: 0;
}

.cmn-side22-list-item {
    border-bottom: 1px dotted #ccc;
}

.cmn-side22-list-item:last-child {
    /*border-bottom: none;*/
}

.cmn-side22-list-item a {
    padding: 10px 0px;
    background: #fff;
    display: flex;
    position: relative;
    letter-spacing: 0.5px;
    font-size: 12px;
    align-items: center;
    color: #777777;
}

.cmn-side22-box-cat a {
}

.cmn-side22-list-item a:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 21px;
    right: 15px;
}

.side-menu-img img {
    width: 30px;
    height: 30px;
}

.side-menu-text {
    padding-left: 10px;
    padding-bottom: 2px;
}

/* -----------------------------------------------------------------------
## FOOTER ##################################################
----------------------------------------------------------------------- */
.footer-new-company-logo {
    margin-right: 20px;
}

@media screen and (max-width: 768px) {
    .footer-new-company-left li {
        padding-right: 0;
    }
}

/* -----------------------------------------------------------------------
## OBI ##################################################
----------------------------------------------------------------------- */
.thursday-obi {
    background: #850000;
    display: block;
    text-align: center;
    padding: 5px;
}

.is-locked .thursday-obi {
    display: none;
}

@media screen and (max-width: 768px) {
    .thursday-obi img {
        width: 300px;
    }
}

/* -----------------------------------------------------------------------
## FEBRUARY ##################################################
----------------------------------------------------------------------- */
.ph-logo-feb {
    padding: 0;
    position: relative;
    top: -20px;
}

@media screen and (max-width: 768px) {
    .ph24 .ph-logo.ph-logo-feb {
        width: 135px;
        bottom: 6px;
        top: inherit;
    }
}

/* -----------------------------------------------------------------------
## FIX BNR ##################################################
----------------------------------------------------------------------- */

.top-fix-bnr {
    display: none;
}

.page-top .top-fix-bnr {
    display: block;
    position: fixed;
    right: 0;
    bottom: 70px;
    z-index: 2;
    width: 130px;
    height: 130px;
}


@media screen and (max-width: 768px) {
    .page-top .top-fix-bnr {
        right: 0%;
        bottom: 55px;
        z-index: 2;
        width: 100%;
        height: auto;
    }

    .page-top .footer-nav-sp-bnr.hide {
        transform: translateY(132px);
    }

}

/*middle banner*/
.top-middle-bnrs-text-jn,
.top-middle-bnrs-text-cp {
    /* セレクタ名の前方一致 */
    font-size: 12px;
    position: relative;
    color: #fff;
    padding: 0 5px 1px 25px;
    display: block;
    width: fit-content;
    margin-bottom: 5px;
}

.top-middle-bnrs-item22 img {
    width: 100%;
    height: auto;
}

/* -----------------------------------------------------------------------
## SLIDE BNR ##################################################
----------------------------------------------------------------------- */
.top-middle-bnrs-wrap {
    padding-bottom: 60px;
}

.top-middle-bnrs {
    display: flex;
}

.top-middle-bnrs-item {
    width: 288px;
    /*display: block;*/
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 20px;
}

.top-middle-bnrs-text {
    padding: 15px 15px 20px;
    line-height: 1.5;
    letter-spacing: 1px;
}

.top-middle-bnrs-text-jn {
    background: #d9a890;
}

.top-middle-bnrs-text-cp {
    background: #da8a89;
}

.top-middle-bnrs-text-jn:before,
.top-middle-bnrs-text-cp:before {
    content: "";
    display: block;
    position: absolute;
    left: 4px;
}

.top-middle-bnrs-text-jn:before {
    background: url(../img/top/middleBanner-icon-yomimono.svg) no-repeat;
    width: 16px;
    height: 14px;
    top: 3px;
}

.top-middle-bnrs-text-cp:before {
    background: url(../img/top/middleBanner-icon-cp.svg) no-repeat;
    width: 16px;
    height: 16px;
    background-size: 16px;
    top: 2px;
}

.top-middle-bnrs22-wrap {}

.top-middle-bnrs-item22 {
    width: 23%;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    margin-right: 26px;
}

.top-middle-bnrs-item22:last-child {
    margin-right: 0;
}

.aaa {
    padding-bottom: 60px;
}

.aaa .top-middle-bnrs-item22 {
    margin-bottom: 20px;
}

.aaa .top-middle-bnrs-item22:nth-child(3) {
    margin-right: 0;
}


@media screen and (max-width: 768px) {
    .top-middle-bnrs-wrap {
        padding-bottom: 30px;
        overflow-x: scroll;
        padding-left: 20px;
    }

    .top-middle-bnrs {
        width: 1420px;
        justify-content: left;
        flex-wrap: initial;
    }

    .top-middle-bnrs-item {
        width: 220px;
        overflow: hidden;
        margin-bottom: 0;
        margin-right: 20px;
    }

    .top-middle-bnrs-text {
        padding: 15px;
        line-height: 1.5;
        font-size: 13px;
        letter-spacing: 1px;
    }

    .top-middle-bnrs-inner{
    }

    .top-middle-bnrs22-scroll-2nd {
        padding-bottom: 30px;
    }

    .top-middle-bnrs22-scroll .top-middle-bnrs {
        width: 660px;
    }

    .top-middle-bnrs22-scroll {
        overflow-x: scroll;
    }

    .top-middle-bnrs22-wrap {
        padding: 20px 0 0 20px;
    }

    .top-middle-bnrs-item22 {
        width: 220px;
        overflow: hidden;
        margin-bottom: 0;
        margin-right: 20px;
    }

    .aaa {
        padding: 0 20px;
    }

    .aaa .top-middle-bnrs {
        width: 1420px;
    }
}

/* -----------------------------------------------------------------------
## loading ##################################################
----------------------------------------------------------------------- */
#loading-bg {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

#loading{
    text-align: center;
    font-size: 80%;
}
