@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700");
/* !!------------------------------------ */
/* !! クリップ */
/* CSS Document */
*, :before, :after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body.showBlk * {
  background-color: rgba(255, 0, 0, 0.2); }

body.showBlk * * {
  background-color: rgba(0, 255, 0, 0.2); }

body.showBlk * * * {
  background-color: rgba(0, 0, 255, 0.2); }

body.showBlk * * * * {
  background-color: rgba(255, 0, 255, 0.2); }

body.showBlk * * * * * {
  background-color: rgba(0, 255, 255, 0.2); }

body.showBlk * * * * * * {
  background-color: rgba(255, 255, 0, 0.2); }

body.showBlk * * * * * * * {
  background-color: rgba(255, 0, 0, 0.2); }

body.showBlk * * * * * * * * {
  background-color: rgba(0, 255, 0, 0.2); }

body.showBlk * * * * * * * * * {
  background-color: rgba(0, 0, 255, 0.2); }

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s linear; }
  a:hover img {
    opacity: .7; }

ul {
  list-style: none; }

h1, h2, h3, h4, ul, ol, dl, dd, p, hr, figure {
  margin: 0;
  padding: 0; }

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

form {
  margin-bottom: 0; }

img {
  vertical-align: bottom; }

::selection {
  color: #fff;
  background: #2C3F89; }

::-moz-selection {
  color: #2C3F89; }

input::selection,
textarea::selection {
  color: #221814;
  background: #dbdcdc; }

input[type=text],
input[type=tel],
input[type=email],
textarea,
button {
  -webkit-appearance: none;
  appearance: none;
  border: none; }

p {
  line-height: 1.87;
  font-size: 1.5rem;
  text-align: justify;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }

.ar {
  text-align: right; }

.ac {
  text-align: center; }

i {
  font-style: normal; }

.fr {
  float: right; }

a[href="javascript:void(0);"] {
  pointer-events: none; }

.sp {
  display: none; }

.idx {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }

.nh {
  opacity: 0;
  pointer-events: none; }

/* !!------------------------------------ */
/* !! 共通css */
html {
  font-size: 62.5%;
  margin: 0; }
  html.font-large {
    font-size: 80%; }

body {
  margin: 0;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background: #2f2725;
  color: #FFF;
  font-size: 1.5rem; }
  body#page_homepage {
    padding-top: 0; }

main {
  display: block;
  min-width: 1100px;
  overflow: hidden; }

main > section {
  padding: 100px 0;
  padding-bottom: 0; }
  main > section .inner {
    max-width: 1000px;
    margin: 0 auto;
    position: relative; }

h1.ttl,
h2.sec {
  text-align: left;
  font-weight: normal;
  font-size: 2rem;
  line-height: 1;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  letter-spacing: .1em; }
  h1.ttl i,
  h2.sec i {
    display: inline-block;
    padding-bottom: 15px;
    line-height: 1; }
  h1.ttl:after,
  h2.sec:after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #c69c6d; }

.btn-more {
  width: 160px;
  text-align: left;
  line-height: 1;
  display: block;
  font-size: 1.2rem;
  position: relative;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  letter-spacing: .1em;
  color: #9fa0a0; }
  .btn-more i {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin-top: 0;
    width: 71px;
    height: 6px;
    background-image: url("../../img/arw-R-W@3x.png");
    background-repeat: no-repeat;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    background-position: right top; }

.btn-buy {
  height: 50px;
  position: relative;
  border: 1px solid #fff;
  display: block;
  font-size: 1.2rem;
  letter-spacing: .1em;
  margin-bottom: 5px;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .btn-buy {
      width: 180px; } }
  .btn-buy:after {
    content: "";
    display: block;
    position: absolute;
    right: -20px;
    top: 50%;
    margin-top: -3px;
    width: 69px;
    height: 6px;
    background-image: url("../../img/arw-R-W2@2x.png");
    background-repeat: no-repeat;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    background-position: center center; }
  .btn-buy.soldout {
    pointer-events: none;
    border-style: dashed; }
    @media screen and (max-width: 767px) {
      .btn-buy.soldout {
        height: 50px !important;
        width: 100% !important;
        margin-bottom: 0 !important; } }
    @media screen and (min-width: 768px) {
      .btn-buy.soldout {
        margin-right: -20px; } }
    .btn-buy.soldout:after {
      content: "";
      display: none; }

a.na {
  opacity: .2;
  pointer-events: none; }

*[class^=ec-blockBtn],
*[class^="ec-inlineBtn--"] {
  height: 50px;
  padding: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  border: none !important;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: .1em;
  background: #999999;
  color: #FFF; }
  @media screen and (min-width: 768px) {
    *[class^=ec-blockBtn],
    *[class^="ec-inlineBtn--"] {
      width: 250px; } }
  *[class^=ec-blockBtn]#favorite,
  *[class^="ec-inlineBtn--"]#favorite {
    background: none !important;
    border: 1px solid #ccc !important;
    color: #525264; }

*[class$="--action"] {
  background: #c69c6d !important; }

/* !!------------------------------------ */
/* !! ナビゲーション */
#header {
  position: fixed;
  width: 100%;
  height: 80px;
  top: 0;
  z-index: 1000;
  background: #000; }
  #header a.logo {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 20px; }
    #header a.logo img {
      width: 100% !important;
      height: auto !important; }
    #header a.logo:hover img {
      opacity: 100%; }
  #header .submenu {
    position: absolute;
    top: 18px;
    right: 60px;
    display: flex;
    align-items: center; }
    #header .submenu li {
      font-size: 14px;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      margin-right: 30px; }
      #header .submenu li a {
        color: #fff; }
        #header .submenu li a:hover {
          color: #fff; }
      #header .submenu li .ec-cartNaviNull.is-active {
        display: none; }
      #header .submenu li .ec-cartNaviIsset.is-active {
        display: none; }

#menu-btn {
  position: absolute;
  background: rgba(0, 0, 0, 0.46);
  top: 15px;
  right: 10px;
  z-index: 3;
  cursor: pointer;
  pointer-events: auto;
  transition: 200ms;
  width: 50px;
  height: 50px;
  transition: 200ms cubic-bezier(0, 1.64, 0.69, 0.89);
  transition-property: transform;
  -webkit-tap-highlight-color: transparent;
  overflow: visible; }
  #menu-btn a {
    -webkit-tap-highlight-color: transparent; }
  #menu-btn:active {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    will-change: transform; }
  #menu-btn .inner {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    overflow: visible;
    margin-top: 2px; }
  #menu-btn i {
    display: block;
    height: 2px;
    width: 25px;
    background: #fff;
    position: absolute;
    transform-origin: right center;
    transition: 500ms cubic-bezier(0, 1.64, 0.69, 0.89); }
    #menu-btn i._1 {
      top: 0;
      right: 0; }
    #menu-btn i._2 {
      top: 9px;
      right: 0; }
    #menu-btn i._3 {
      top: 18px;
      right: 0; }
  body.menu_on #menu-btn {
    background: transparent; }
    body.menu_on #menu-btn i {
      background: #9fa0a0; }
    body.menu_on #menu-btn ._1 {
      right: 0;
      top: 9px;
      transform: rotate(-45deg) scaleX(0.5); }
    body.menu_on #menu-btn ._2 {
      right: 0;
      transform: scaleX(1); }
    body.menu_on #menu-btn ._3 {
      right: 0;
      top: 9px;
      transform: rotate(45deg) scaleX(0.5); }

/* !! - - -  */
/* !! gnav */
.storemenu-wrap {
  padding: 0 30px;
  margin-bottom: 30px;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }
  @media screen and (min-width: 768px) {
    .storemenu-wrap {
      width: 500px;
      padding: 0; } }
  .storemenu-wrap .storemenu-btn {
    border: 1px solid #ccc;
    height: 50px;
    margin-bottom: 5px; }
    .storemenu-wrap .storemenu-btn > a {
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      height: 100%;
      letter-spacing: .1em;
      position: relative; }
      .storemenu-wrap .storemenu-btn > a:before {
        content: "";
        width: 50px;
        height: 50px;
        position: absolute;
        left: 0;
        top: 0; }
    .storemenu-wrap .storemenu-btn .signin:before {
      background-image: url("../img/siginin@3x.png");
      background-repeat: no-repeat;
      -webkit-background-size: 20px;
      background-size: 20px;
      background-position: center center; }
    .storemenu-wrap .storemenu-btn .favorite:before {
      background-image: url("../img/favorite@3x.png");
      background-repeat: no-repeat;
      -webkit-background-size: 20px;
      background-size: 20px;
      background-position: center center; }
    .storemenu-wrap .storemenu-btn .login:before {
      background-image: url("../img/login@3x.png");
      background-repeat: no-repeat;
      -webkit-background-size: 20px;
      background-size: 20px;
      background-position: center center; }
    .storemenu-wrap .storemenu-btn.cart {
      position: relative;
      height: auto;
      margin-bottom: 0 !important; }
      .storemenu-wrap .storemenu-btn.cart > a {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
      .storemenu-wrap .storemenu-btn.cart:before {
        content: "";
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url("../img/cart@3x.png");
        background-repeat: no-repeat;
        -webkit-background-size: 20px;
        background-size: 20px;
        background-position: center center; }
  .storemenu-wrap .ec-cartNaviWrap {
    min-height: 50px;
    height: auto;
    font-size: 0; }
    .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi {
      padding: 0;
      width: 100%;
      height: 50px;
      margin: 0 !important;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      @media screen and (min-width: 768px) {
        .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi {
          background: none; }
          .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi .ec-cartNavi__label {
            display: none; } }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi:after {
        content: "カートを見る";
        font-size: 14px;
        letter-spacing: .1em; }
    .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi__icon {
      font-size: 0;
      width: 100%;
      height: 50px;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0; }
      @media screen and (min-width: 768px) {
        .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi__icon {
          width: 50px; } }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi__icon .ec-cartNavi__badge {
        top: 50%;
        left: 40px;
        background: #c69c6d;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
    .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset {
      position: relative;
      font-size: 12px;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
      @media screen and (min-width: 768px) {
        .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset {
          max-width: 1000px; }
          .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset .ec-cartNaviIsset__action {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            -o-flex-wrap: wrap;
            flex-wrap: wrap;
            justify-content: space-between; }
            .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset .ec-cartNaviIsset__action a {
              width: calc(50% - 5px);
              margin: 0; } }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset .ec-cartNaviIsset__cart {
        padding: 16px 0 !important;
        padding-top: 0 !important; }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
        width: 30%; }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
        width: 70%; }
    .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull {
      background: none;
      position: relative;
      padding-top: 0;
      padding: 0; }
      @media screen and (min-width: 768px) {
        .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull {
          width: 100%;
          max-width: 1000px; } }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull .ec-cartNaviNull__message {
        padding: 0;
        color: #9fa0a0;
        border: none; }
      .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull p {
        padding: 0;
        text-align: center;
        background: #eee;
        font-size: 12px;
        padding: 16px;
        height: 50px;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        letter-spacing: .1em; }

nav#gnav {
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  color: #000;
  width: 100vw;
  height: 100vh;
  background: #fff;
  -webkit-backdrop-filter: blur(10px);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 2;
  transition: 500ms;
  pointer-events: none; }
  body.menu_on nav#gnav {
    opacity: 1;
    pointer-events: auto; }
  nav#gnav .logo {
    background: #000;
    height: 100%;
    width: 50%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0; }
  nav#gnav .ul-wrap {
    width: 100%;
    height: 100%; }
    @media screen and (min-width: 768px) {
      nav#gnav .ul-wrap {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        justify-content: flex-start;
        padding: 50px 0;
        padding-left: 50%;
        overflow: scroll; } }
  nav#gnav ul.gnav {
    transition: 500ms cubic-bezier(0, 1.64, 0.69, 0.89);
    transition-delay: 100ms;
    color: #000; }
    nav#gnav ul.gnav > li {
      white-space: nowrap;
      margin-bottom: 20px;
      font-size: 1.8rem;
      letter-spacing: .15em;
      margin-bottom: 40px;
      position: relative; }
      nav#gnav ul.gnav > li ul {
        margin-top: 15px; }
        nav#gnav ul.gnav > li ul li {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          line-height: 1;
          margin-right: 15px;
          margin-top: 20px; }
          nav#gnav ul.gnav > li ul li .img {
            width: 50px;
            height: 50px;
            background: #eee;
            border-radius: 50%;
            margin-right: 10px; }
            nav#gnav ul.gnav > li ul li .img img {
              width: 100% !important;
              height: auto !important; }
          nav#gnav ul.gnav > li ul li span.label {
            width: 100px;
            height: 25px;
            display: inline-block;
            color: #fff;
            font-size: 13px;
            font-weight: bold;
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
            display: -webkit-inline-flex;
            display: -moz-inline-flex;
            display: -ms-inline-flex;
            display: -o-inline-flex;
            display: inline-flex;
            font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
            background-image: url("../img/labelbg@3x.png");
            background-repeat: no-repeat;
            -webkit-background-size: 100% 100%;
            background-size: 100% 100%;
            background-position: center center; }
          nav#gnav ul.gnav > li ul li a {
            display: block;
            font-size: 16px;
            height: 50px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            margin-left: 15px; }
          nav#gnav ul.gnav > li ul li:last-of-type {
            margin-right: 0; }
      nav#gnav ul.gnav > li > a {
        display: inline-block;
        line-height: 1;
        position: relative; }
        nav#gnav ul.gnav > li > a:before {
          content: "";
          background: #c69c6d;
          width: 10px;
          height: 1px;
          display: block;
          position: absolute;
          top: 50%;
          left: -5px;
          -webkit-transform: translateX(-100%);
          -moz-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
          -o-transform: translateX(-100%);
          transform: translateX(-100%); }
    nav#gnav ul.gnav li.sub {
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      font-size: 0; }
      nav#gnav ul.gnav li.sub a {
        padding-bottom: 0;
        border-bottom: 0;
        font-size: 1.4rem;
        display: inline-block;
        line-height: 20px;
        letter-spacing: .1em; }
        nav#gnav ul.gnav li.sub a:before {
          content: none; }
        nav#gnav ul.gnav li.sub a:after {
          content: "|";
          display: inline-block;
          width: 50px;
          text-align: center; }
        nav#gnav ul.gnav li.sub a:last-of-type:after {
          content: none; }

/* !!------------------------------------ */
/* !! トップページ */
/* !! - - -  */
/* !! MV */
#mv {
  height: 100vh;
  position: relative;
  background-image: url("../../img/top_mv@2x.jpg");
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center; }
  #mv h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #000;
    width: 23.36vw;
    min-width: 130px;
    min-height: 130px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
    #mv h1 img {
      width: 100% !important;
      height: auto !important; }

/* !! - - -  */
/* !! CONCEPT */
#concept {
  padding-bottom: 180px; }
  #concept .wrap {
    position: relative; }
  #concept .img {
    margin-top: 40px;
    height: 358px;
    width: 1000px;
    background: #eee;
    right: 183px;
    position: relative;
    background-image: url("../../img/top_concept_img1@2x.jpg");
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
  #concept .txt {
    width: 530px;
    padding: 50px;
    font-size: 14px;
    background: rgba(0, 0, 0, 0.8);
    position: absolute;
    bottom: -100px;
    left: 50%;
    right: 0;
    z-index: 1;
    letter-spacing: .1em; }
  #concept p.lead {
    display: block;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 10px;
    letter-spacing: .2em; }
  #concept .btn-more {
    margin: 0 auto;
    margin-top: 20px;
    margin-right: 0; }

/* !! - - -  */
/* !! PRODUCT */
section#product {
  background: #000;
  padding-bottom: 100px; }
  section#product ul.prduct-list {
    margin-top: 40px; }
    section#product ul.prduct-list li {
      width: calc((100% - 50px) / 2);
      border: none;
      margin-bottom: 50px;
      padding: 30px 0;
      padding-bottom: 50px;
      position: relative;
      /*
			&:last-of-type{
				margin-bottom: 0;
				width: 100% !important;
				p{
					width: 520px;
				}
				.btn-more{
					right: 448px;
				}
				img{
					width: 473px;
					height: auto;
				}
			}
	*/ }
      section#product ul.prduct-list li h3 {
        font-size: 2rem;
        font-weight: normal;
        letter-spacing: .1em;
        line-height: 1.5;
        padding-bottom: 20px;
        border-bottom: 1px solid #c69c6d;
        margin-bottom: 25px; }
        section#product ul.prduct-list li h3 br {
          display: none; }
      section#product ul.prduct-list li .label {
        width: 100px;
        height: 25px;
        position: relative;
        font-size: 14px;
        padding-right: 0px;
        letter-spacing: .1em;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        display: -webkit-inline-flex;
        display: -moz-inline-flex;
        display: -ms-inline-flex;
        display: -o-inline-flex;
        display: inline-flex;
        text-align: center;
        background-image: url("../img/labelbg@3x.png");
        background-repeat: no-repeat;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        background-position: center center; }
      section#product ul.prduct-list li p {
        line-height: 1.8;
        margin-top: -0.4em;
        margin-bottom: -0.4em;
        width: 220px;
        color: #9fa0a0;
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
      section#product ul.prduct-list li .img {
        position: absolute;
        top: 50%;
        right: -30px;
        -webkit-transform: translateY(-30%);
        -moz-transform: translateY(-30%);
        -ms-transform: translateY(-30%);
        -o-transform: translateY(-30%);
        transform: translateY(-30%);
        z-index: 0; }
      section#product ul.prduct-list li .btn-more {
        position: absolute;
        bottom: 30px;
        right: 30px;
        z-index: 1; }

/* !! - - -  */
/* !! SHOPINFO */
section#shopinfo {
  padding-bottom: 100px;
  background: #fff;
  position: relative; }
  @media screen and (max-width: 767px) {
    section#shopinfo {
      padding-bottom: 0 !important; } }
  section#shopinfo h2 {
    color: #000;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%); }
  section#shopinfo .inner {
    height: 524px; }
  section#shopinfo .map {
    width: 50vw;
    min-width: 500px;
    position: absolute;
    left: 50%;
    top: 100px;
    background: #eee;
    height: 524px; }
    section#shopinfo .map iframe {
      width: 100%;
      height: 100%; }
    section#shopinfo .map > a {
      background: #000;
      width: 200px;
      height: 40px;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      color: #FFF;
      letter-spacing: .1em;
      font-family: 'Open Sans';
      position: absolute;
      bottom: 50px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      z-index: 2; }
  section#shopinfo .txt {
    background: #000;
    padding: 50px;
    width: 600px;
    letter-spacing: .1em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
    left: -100px; }
    section#shopinfo .txt > img {
      position: absolute;
      top: 0;
      right: 0; }
    section#shopinfo .txt p {
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      padding-bottom: 20px; }
    section#shopinfo .txt .con {
      justify-content: flex-start;
      line-height: 1; }
      section#shopinfo .txt .con p {
        margin-bottom: 0 !important;
        padding-bottom: 0; }
      section#shopinfo .txt .con i {
        display: block;
        line-height: 1;
        margin-bottom: 15px; }
      section#shopinfo .txt .con a {
        font-family: 'Open Sans';
        width: 210px;
        height: 40px;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        border: 1px solid #ccc; }
      section#shopinfo .txt .con .tel {
        border: none;
        margin-right: 50px;
        white-space: nowrap;
        display: block;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: row;
        font-size: 24px;
        font-weight: bold; }
        section#shopinfo .txt .con .tel img {
          display: inline-block;
          margin-right: 10px; }

/* !! - - -  */
/* !! BLOG */
.blog-section .blog-heading-ttl {
  border: none;
  text-align: center;
  line-height: 1 !important;
  margin-bottom: 50px;
  font-size: 21px; }
  .blog-section .blog-heading-ttl:after {
    content: "";
    height: 1px;
    width: 50px;
    display: block;
    background: #c69c6d;
    margin: 0 auto;
    margin-top: 15px; }

.blog-section .tabacms_thumbnail_wrapper {
  border: none; }

.blog-section .tabacms_detail .btn-more {
  margin: 20px 0 0 auto;
  width: 175px; }

.blog-section .tabacms_detail h2 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px; }

.blog-section .detail-heading {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-bottom: 15px; }
  @media screen and (max-width: 767px) {
    .blog-section .detail-heading {
      display: block; } }
  .blog-section .detail-heading time {
    margin-bottom: 0;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    font-size: 14px;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .blog-section .detail-heading time {
        display: block; } }
  .blog-section .detail-heading label {
    background: #000;
    font-size: 10px;
    margin: 0 0 0 6px;
    padding: 3px 7px;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
    @media screen and (max-width: 767px) {
      .blog-section .detail-heading label {
        display: inline-block;
        margin: 0; } }

.blog-section .ec-pager {
  margin-top: 30px; }

.blog-section .ec-pager .ec-pager__item,
.blog-section .ec-pager .ec-pager__item--active {
  padding: 0;
  width: 20px;
  min-width: 20px;
  height: 20px;
  vertical-align: top;
  margin: 0 5px; }

.blog-section .ec-pager .ec-pager__item a,
.blog-section .ec-pager .ec-pager__item--active a {
  width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 14px;
  position: relative; }
  .blog-section .ec-pager .ec-pager__item a > span,
  .blog-section .ec-pager .ec-pager__item a > svg,
  .blog-section .ec-pager .ec-pager__item--active a > span,
  .blog-section .ec-pager .ec-pager__item--active a > svg {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    line-height: 1; }
  .blog-section .ec-pager .ec-pager__item a:hover,
  .blog-section .ec-pager .ec-pager__item--active a:hover {
    opacity: .7; }

.blog-section .ec-pager .ec-pager__item a {
  background: #000;
  color: #fff; }

.blog-section .ec-pager .ec-pager__item--active {
  background: #fff;
  color: #707070;
  min-width: 20px;
  padding: 0; }

@media screen and (max-width: 767px) {
  .blog-section .tabacms_category_list {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 25px; } }

.blog-section .tabacms_category_list > li {
  margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .blog-section .tabacms_category_list > li {
      width: 47%; } }
  .blog-section .tabacms_category_list > li > a {
    display: block;
    padding: 13px 0;
    position: relative; }
    .blog-section .tabacms_category_list > li > a:after {
      content: "";
      display: inline-block;
      width: 5px;
      height: 5px;
      border-top: 1px solid #8C6239;
      border-right: 1px solid #8C6239;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(45deg);
      right: 0; }

@media screen and (max-width: 767px) {
  .blog-section .tabacms_widget {
    padding: 0 15px; } }

.blog-section .tabacms_widget h4 {
  font-size: 18px;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  font-weight: bold; }

#blog {
  padding-bottom: 100px; }
  #blog .blog-inner {
    max-width: 1030px; }
  #blog .blog-wrap {
    margin-top: 70px; }
  #blog .btn-more {
    margin: 20px 15px 0 auto; }
  #blog .tabacms_blog_list article {
    margin-bottom: 35px; }

.blog-list-page {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .blog-list-page {
      padding: 30px 0; } }
  .blog-list-page h1.blog-list-ttl {
    margin-bottom: 50px;
    font-size: 21px; }
  .blog-list-page .tabacms_blog_list article {
    margin-bottom: 35px; }

.blog-list-wrap {
  padding: 0 100px; }
  @media screen and (max-width: 767px) {
    .blog-list-wrap {
      padding: 0 15px; } }

.tabacms_post_page .ec-layoutRole {
  background: #2f2725; }

.blog-page {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .blog-page {
      padding: 30px 0; } }
  .blog-page p {
    color: #fff !important;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
    line-height: 2 !important;
    letter-spacing: 1.4px; }
  @media screen and (max-width: 767px) {
    .blog-page .detail-heading {
      padding: 0 30px; }
      .blog-page .detail-heading time {
        display: inline-block;
        float: none; } }
  @media screen and (min-width: 768px) {
    .blog-page .tabacms_post {
      padding-left: 40px; } }
  .blog-page .tabacms_post header h1 {
    margin: 50px 0;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .blog-page .tabacms_post header h1 {
        padding: 0 30px; } }
  .blog-page .tabacms_post label {
    min-width: auto !important; }
  @media screen and (max-width: 767px) {
    .blog-page .tabacms_body {
      padding: 0 30px; } }

.blog-thumbnail {
  margin-bottom: 30px; }

/* !! - - -  */
/* !! フッター */
#footer {
  position: relative;
  background: -moz-linear-gradient(21.96% 280.6% 45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
  background: -webkit-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
  background: -webkit-gradient(linear, 21.96% 280.6%, 78.04% -180.6%, color-stop(0.0004, #c6b198), color-stop(0.5, #736357), color-stop(1, #534741));
  background: -o-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
  background: -ms-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#C6B198', endColorstr='#534741' ,GradientType=0)";
  background: linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#C6B198',endColorstr='#534741' , GradientType=1);
  padding: 50px 0px;
  padding-bottom: 0;
  letter-spacing: .1em; }
  @media screen and (min-width: 768px) {
    .mypage #footer {
      margin-top: 80px; } }
  @media screen and (max-width: 767px) {
    #footer {
      margin-top: 70px; }
      #page_user_data #footer, #page_product_list #footer {
        margin-top: 0; } }
  #footer a.top {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2;
    -webkit-transform: translateY(-33%);
    -moz-transform: translateY(-33%);
    -ms-transform: translateY(-33%);
    -o-transform: translateY(-33%);
    transform: translateY(-33%); }
    @media screen and (min-width: 768px) {
      #footer a.top {
        -webkit-transform: translate(-50%, -33%);
        -moz-transform: translate(-50%, -33%);
        -ms-transform: translate(-50%, -33%);
        -o-transform: translate(-50%, -33%);
        transform: translate(-50%, -33%); } }
  #footer .inner {
    margin: 0 50px;
    position: relative;
    margin-bottom: 50px;
    padding-left: 200px; }
  #footer a.logo {
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  #footer ul.f-menu {
    text-align: center;
    justify-content: center;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }
    #footer ul.f-menu > li {
      display: inline-block;
      vertical-align: top;
      text-align: left;
      margin-right: 50px;
      width: auto; }
      #footer ul.f-menu > li a {
        color: #FFF; }
      #footer ul.f-menu > li:last-of-type {
        margin-right: 0; }
      #footer ul.f-menu > li.product {
        width: auto;
        width: 700px;
        margin-right: 0; }
      #footer ul.f-menu > li ul.sub {
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
        text-align: left;
        white-space: nowrap;
        padding-left: 7px; }
        #footer ul.f-menu > li ul.sub li {
          display: inline-block;
          width: auto;
          vertical-align: top;
          font-size: 0;
          margin-right: 20px; }
          #footer ul.f-menu > li ul.sub li a {
            line-height: 25px;
            display: block;
            font-size: 12px !important;
            white-space: nowrap;
            color: #FFF; }
        #footer ul.f-menu > li ul.sub span.label {
          width: 100px;
          height: 25px;
          display: inline-block;
          color: #fff;
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: center;
          display: -webkit-inline-flex;
          display: -moz-inline-flex;
          display: -ms-inline-flex;
          display: -o-inline-flex;
          display: inline-flex;
          background-image: url("../img/labelbg@3x.png");
          background-repeat: no-repeat;
          -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
          background-position: center center; }
  #footer .sns {
    width: 75px;
    position: absolute;
    top: 0;
    right: 0; }
    #footer .sns a {
      background: #eee;
      border-radius: 50%;
      display: block;
      width: 30px;
      height: 30px;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      #footer .sns a.fb {
        background: #38599F; }
      #footer .sns a.tw {
        background: #45B0E3; }
  #footer .inner2 {
    width: 100%;
    padding: 0 50px;
    background: #fff;
    height: 50px;
    justify-content: space-between;
    align-content: center;
    color: #000; }
    #footer .inner2 p {
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      font-size: 12px;
      letter-spacing: .1em;
      width: auto;
      line-height: 50px; }
      #footer .inner2 p a:after {
        content: "|";
        font-weight: normal;
        font-size: 12px;
        display: inline-block;
        margin: 0 20px; }
      #footer .inner2 p a:last-of-type:after {
        content: none; }

/* !!------------------------------------ */
/* !! 下層ページ共通 */
@media screen and (min-width: 768px) {
  body:not(#page_homepage) {
    padding-top: 200px; } }

body:not(#page_homepage) main > section {
  padding: 100px 0; }

body:not(#page_homepage) main section .inner {
  max-width: 1366px; }

body:not(#page_homepage).other_page .ec-layoutRole {
  background: none; }

body:not(#page_homepage).other_page .ec-layoutRole__contents {
  max-width: 100%; }

h1.ttl {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 50px; }
  h1.ttl:after {
    content: "";
    margin: 0 auto; }
  h1.ttl span {
    font-size: 2rem;
    display: block;
    margin-top: 10px; }

/* !!------------------------------------ */
/* !! CONCEPT */
main.concept {
  padding: 0; }
  main.concept section {
    padding: 0; }
  main.concept .img2 {
    margin-top: 100px;
    margin-bottom: 30px; }
  main.concept #concept {
    padding-top: 0;
    padding-bottom: 100px; }
    main.concept #concept .wrap {
      max-width: 1366px;
      margin: 0 auto; }
      main.concept #concept .wrap .img {
        margin: 0;
        right: 0;
        width: 100%;
        height: 400px; }
      main.concept #concept .wrap .txt {
        width: 800px !important;
        position: relative;
        margin: 0 auto;
        left: 0;
        bottom: 0;
        margin-top: -100px; }
  main.concept section#_2 {
    background: #000; }
    main.concept section#_2 .inner {
      max-width: 1000px;
      margin: 0 auto; }
    main.concept section#_2 .img2 {
      margin: 0; }
    main.concept section#_2 .txt {
      padding: 50px;
      background: rgba(46, 39, 37, 0.8);
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 600px;
      left: 400px; }
      main.concept section#_2 .txt .lead {
        font-size: 18px;
        margin-bottom: 10px; }
  main.concept section#_3 {
    background: #fff;
    color: #000; }
    main.concept section#_3 .wrap {
      max-width: 700px;
      margin: 0 auto; }

/* !!------------------------------------ */
/* !! PRODUCT */
/* !! - - -  */
/* !! index */
ul.lineup {
  margin-top: 70px; }
  ul.lineup li {
    padding-left: 145px;
    position: relative;
    height: 125px;
    width: 269px;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    margin-bottom: 100px; }
  ul.lineup .img {
    width: 125px;
    height: 125px;
    position: absolute;
    top: 0;
    left: 0; }
  ul.lineup .name {
    white-space: nowrap;
    font-size: 1.7rem;
    line-height: 22px;
    margin-top: -0.25em;
    margin-bottom: -0.25em; }
    ul.lineup .name i {
      font-size: 1rem; }
  ul.lineup a {
    width: 100% !important;
    margin-top: 10px; }

/* !! - - -  */
/* !! single */
main.single .ttl img {
  margin-bottom: 10px; }

main.single .ttl .label {
  width: 100px;
  height: 25px;
  font-size: 14px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin: 10px auto;
  margin-top: 0;
  background-image: url("../img/labelbg@3x.png");
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  background-position: center center; }

main.single #product {
  padding-bottom: 0;
  padding-top: 0;
  background: none; }

main.single .mv {
  background: #eee;
  max-width: 1366px;
  height: 400px;
  margin-top: 40px; }
  main.single .mv.auto {
    height: auto; }

main.single .desc {
  padding: 50px;
  background: rgba(0, 0, 0, 0.8);
  font-size: 1.6rem;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  margin-top: -100px;
  position: relative;
  z-index: 1;
  letter-spacing: .2em; }

main.single .desc2 {
  max-width: 800px;
  margin: 50px auto;
  align-items: center; }
  main.single .desc2 p {
    max-width: 375px;
    font-size: 14px;
    color: #9fa0a0;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }

main.single .detail {
  margin: 50px 0;
  position: relative;
  flex-wrap: nowrap; }
  main.single .detail .img {
    position: relative; }
    main.single .detail .img:before {
      content: "";
      width: 50px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      border: 8px solid #fff;
      border-width: 5px 5px 0 0; }
    main.single .detail .img:after {
      content: "";
      width: 50px;
      height: 50px;
      position: absolute;
      bottom: 0;
      left: 0;
      border: 8px solid #fff;
      border-width: 0 0 5px 5px; }
  main.single .detail .txt {
    line-height: 1.8;
    width: auto;
    margin-left: 50px; }

main.single ul.taste {
  margin: 50px 0;
  margin-top: 110px;
  justify-content: center; }
  main.single ul.taste > li {
    width: 200px;
    margin: 0 25px;
    position: relative;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
    main.single ul.taste > li i {
      position: absolute;
      top: 10px;
      left: 0;
      -webkit-transform: translateY(-100%);
      -moz-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      -o-transform: translateY(-100%);
      transform: translateY(-100%); }
    main.single ul.taste > li .img {
      border-radius: 50%;
      overflow: hidden;
      position: relative;
      z-index: 1;
      margin-bottom: 20px;
      height: 200px; }
      main.single ul.taste > li .img img {
        width: 100% !important;
        height: auto !important; }
    main.single ul.taste > li p {
      font-size: 2rem;
      line-height: 1.5; }
      main.single ul.taste > li p strong {
        border-bottom: 1px solid #fff;
        display: block;
        text-align: center;
        line-height: 1;
        font-size: 1.8rem;
        font-weight: normal;
        padding-bottom: 10px;
        letter-spacing: .1em; }
    main.single ul.taste > li ul {
      font-size: 14px;
      line-height: 26px;
      color: #9fa0a0;
      padding-left: 0;
      margin-top: 15px; }
      main.single ul.taste > li ul li {
        padding-left: 1.4em;
        position: relative;
        margin-left: 0; }
        main.single ul.taste > li ul li i, main.single ul.taste > li ul li:before {
          font-style: normal;
          position: absolute;
          top: 0;
          left: 0; }
        main.single ul.taste > li ul li:before {
          content: "●";
          font-size: 8px;
          line-height: 26px; }
  main.single ul.taste .cart_in_section {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; }
    @media screen and (min-width: 768px) {
      main.single ul.taste .cart_in_section form {
        display: block; }
        main.single ul.taste .cart_in_section form button {
          margin: 0;
          width: 100%;
          margin-top: 15px; } }

main.single section#material {
  padding: 50px 0;
  background: #000; }
  main.single section#material table {
    width: 1000px;
    margin: 0 auto;
    table-layout: fixed;
    color: #FFF;
    font-size: 14px;
    letter-spacing: .1em;
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    margin-bottom: 30px; }
    main.single section#material table:last-of-type {
      margin-bottom: 0; }
    main.single section#material table td, main.single section#material table th {
      border: 1px solid #ccc;
      padding: 10px 20px; }
    main.single section#material table th {
      background: #2f2725; }
    main.single section#material table .name {
      width: 250px;
      font-size: 18px;
      border: 1px solid #ccc;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
      background: none; }
      main.single section#material table .name img {
        display: block;
        margin: 10px 0; }
      main.single section#material table .name span {
        font-size: 14px;
        display: block; }
      main.single section#material table .name .label {
        width: 100px;
        height: 25px;
        color: #fff;
        font-size: 12px;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        display: -webkit-inline-flex;
        display: -moz-inline-flex;
        display: -ms-inline-flex;
        display: -o-inline-flex;
        display: inline-flex;
        margin: 5px auto;
        background-image: url("../img/labelbg@3x.png");
        background-repeat: no-repeat;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        background-position: center center; }
    main.single section#material table .hd {
      width: 150px;
      border: 1px solid #ccc; }
    main.single section#material table .cart_in_section {
      margin: 15px 0;
      margin-top: 20px; }
      @media screen and (min-width: 768px) {
        main.single section#material table .cart_in_section form {
          display: block; }
        main.single section#material table .cart_in_section button {
          width: 100%;
          margin: 0;
          margin-top: 15px; } }
    main.single section#material table .pkg {
      width: 100% !important;
      height: auto !important; }

main.single section#buy {
  padding: 0px !important;
  padding: 50px 0; }
  main.single section#buy .inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 0;
    position: relative; }
  main.single section#buy .img {
    position: absolute;
    bottom: 0; }
  main.single section#buy .txt {
    max-width: 600px;
    padding: 30px;
    margin: 0 auto;
    margin-right: 0;
    background: rgba(0, 0, 0, 0.8);
    position: relative; }
    main.single section#buy .txt > .label {
      position: absolute;
      top: 15px;
      right: 0;
      width: 100px;
      height: 2; }
    main.single section#buy .txt:before {
      content: "";
      position: absolute;
      width: calc(100% - 10px);
      height: calc(100% - 10px);
      top: 5px;
      left: 5px;
      border: 1px solid rgba(255, 255, 255, 0.3); }
    main.single section#buy .txt .name {
      line-height: 1;
      font-size: 18px;
      letter-spacing: .1em;
      padding-bottom: 10px;
      margin-bottom: 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
      main.single section#buy .txt .name .label {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        display: -webkit-inline-flex;
        display: -moz-inline-flex;
        display: -ms-inline-flex;
        display: -o-inline-flex;
        display: inline-flex;
        width: 100px;
        height: 25px;
        background-image: url("../img/labelbg@3x.png");
        background-repeat: no-repeat;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        background-position: center center;
        font-size: 13px;
        color: #FFF; }
    main.single section#buy .txt .note {
      font-size: 12px;
      line-height: 26px;
      color: #9fa0a0;
      padding-left: 0;
      margin-top: 15px; }
      main.single section#buy .txt .note li {
        padding-left: 1.4em;
        position: relative;
        margin-left: 0;
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
        main.single section#buy .txt .note li i, main.single section#buy .txt .note li:before {
          font-style: normal;
          position: absolute;
          top: 0;
          left: 0; }
        main.single section#buy .txt .note li:first-of-type {
          padding-left: 0; }
          main.single section#buy .txt .note li:first-of-type:before {
            content: none; }
        main.single section#buy .txt .note li:before {
          content: "・";
          font-size: 22px;
          line-height: 26px; }
  main.single section#buy .txt-footer {
    margin-top: 20px;
    justify-content: flex-end;
    -ms-align-items: center;
    align-items: center;
    padding-right: 20px;
    line-height: 1; }
    main.single section#buy .txt-footer ul {
      margin-right: 30px;
      letter-spacing: .1em; }
      main.single section#buy .txt-footer ul li {
        line-height: 30px; }
      main.single section#buy .txt-footer ul .nat {
        font-size: 14px;
        padding-right: 15px;
        vertical-align: bottom; }
      main.single section#buy .txt-footer ul .price {
        font-size: 18px;
        vertical-align: bottom; }
        main.single section#buy .txt-footer ul .price i {
          font-size: 16px; }

main.single .cart_in_section {
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    main.single .cart_in_section {
      margin-top: 10px; }
      main.single .cart_in_section form {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        justify-content: center; }
        main.single .cart_in_section form button {
          margin-left: 20px;
          width: 180px;
          margin-right: -20px; } }

main.single form {
  position: relative;
  z-index: 1; }
  main.single form .ec-numberInput {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      main.single form .ec-numberInput {
        margin-bottom: 10px; } }
    main.single form .ec-numberInput #quantity {
      width: 60px;
      height: 40px; }
      @media screen and (min-width: 768px) {
        main.single form .ec-numberInput #quantity {
          height: 50px; } }
    @media screen and (min-width: 768px) {
      main.single form .ec-numberInput span {
        margin-right: 10px; } }
  main.single form .add-cart {
    margin-bottom: 0;
    position: relative; }

.ec-modal-wrap {
  color: #525264; }
  @media screen and (min-width: 768px) {
    .ec-modal-wrap .ec-role {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      justify-content: center; }
      .ec-modal-wrap .ec-role label, .ec-modal-wrap .ec-role a {
        margin: 0 5px; } }

#modal-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transition: 600ms; }
  .modal_on #modal-wrap {
    pointer-events: auto;
    opacity: 1; }
    .modal_on #modal-wrap .inner {
      width: 60%;
      height: auto;
      position: relative;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        .modal_on #modal-wrap .inner {
          width: 95%; } }
      .modal_on #modal-wrap .inner img {
        width: 100% !important;
        height: auto !important; }

/* !! - - -  */
/* !! ポップコーン */
#buy.popcorn {
  background-image: url("../../product/popcorn/img/popcorn_bg2@2x.jpg");
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center; }
  @media screen and (min-width: 768px) {
    #buy.popcorn .img {
      bottom: auto !important;
      top: 50%;
      left: -50px;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); } }
  @media screen and (max-width: 767px) {
    #buy.popcorn .img img {
      width: 100% !important;
      height: auto !important; } }

/* !! - - -  */
/* !! 究極のシュー皮ラスク */
#buy.chou_rusk {
  background-image: url("../../product/chou_rusk/img/rusk_bg2@2x.jpg");
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center; }
  #buy.chou_rusk .img {
    bottom: auto !important;
    top: 50%;
    left: -50px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  #buy.chou_rusk.choco {
    background-image: url("../../product/chou_rusk_choco/img/rusk2_bg2@2x.jpg");
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }

/* !! - - -  */
/* !! 平堂 十右衛門／十左衛門 */
#buy.peidou {
  background-image: url("../../product/peidou-juemon/img/green_bg2@2x.jpg");
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center; }
  #buy.peidou .img {
    left: 0;
    top: -20px; }

/* !! - - -  */
/* !! 究極の手作りSantamare */
#buy.santamare {
  background-image: url("../../product/santamare/img/santamare_bg2@2x.jpg");
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center; }
  @media screen and (min-width: 768px) {
    #buy.santamare .img {
      height: 238px;
      top: 50%;
      left: -50px;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); } }
  @media screen and (max-width: 767px) {
    #buy.santamare .img img {
      width: 100% !important;
      height: auto !important; } }

/* !!------------------------------------ */
/* !! STORE */
ul.store-list {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  margin-top: 40px; }
  ul.store-list li {
    margin-bottom: 50px; }
    ul.store-list li:last-of-type {
      margin-bottom: 0; }
  ul.store-list .img {
    height: 200px;
    margin-bottom: 0; }
  ul.store-list dl {
    padding-right: 50px;
    width: 50%;
    height: 172px;
    padding-top: 20px; }
    ul.store-list dl dt {
      font-size: 2rem;
      border-bottom: 1px solid #c69c6d;
      padding-bottom: 15px; }
    ul.store-list dl dd {
      font-size: 1.8rem;
      margin-top: 10px;
      line-height: 1.8; }
  ul.store-list .map {
    align-self: stretch;
    background: #eee;
    width: 50%;
    height: 100%;
    height: 172px; }
    ul.store-list .map iframe {
      width: 100%;
      height: 170px; }

/* !!------------------------------------ */
/* !! /STORE/ */
/* !! - - -  */
/* !! トップページ */
#page_homepage #product-top .ec-searchnavRole {
  display: none; }

/* !!------------------------------------ */
/* !! 商品ページ */
#page_product_list {
  background: #000 !important; }
  #page_product_list .ec-layoutRole {
    background: #000; }
  #page_product_list .ec-searchnavRole {
    display: none; }
  #page_product_list .ec-shelfRole {
    color: #fff;
    padding-bottom: 100px; }
    #page_product_list .ec-shelfRole p {
      font-size: 14px; }
      #page_product_list .ec-shelfRole p.name {
        min-height: 2em; }
    #page_product_list .ec-shelfRole .price02-default {
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  #page_product_list form {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    margin-top: 20px; }
    #page_product_list form .ec-numberInput {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 10px; }
      #page_product_list form .ec-numberInput
.quantity {
        height: 40px;
        width: 60px; }
      #page_product_list form .ec-numberInput span {
        font-size: 14px; }
  #page_product_list button[type="submit"] {
    margin-bottom: 0; }

#page_product_detail:before {
  content: "";
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  transition: 1000ms;
  background-image: url("../../img/pdj-logo-w.svg");
  background-repeat: no-repeat;
  -webkit-background-size: 240px;
  background-size: 240px;
  background-position: center center; }

#page_product_detail.on:before {
  content: "";
  opacity: 0;
  pointer-events: none; }

/* !!------------------------------------ */
/* !! 新規登録ページ */
#page_entry, #page_contact {
  background: #FFF; }
  #page_entry .ec-blockBtn--cancel, #page_contact .ec-blockBtn--cancel {
    background: #999 !important; }
  @media screen and (min-width: 768px) {
    #page_entry .ec-off1Grid__cell, #page_contact .ec-off1Grid__cell {
      margin: 0 auto !important;
      width: 800px; }
    #page_entry #footer, #page_contact #footer {
      margin-top: 100px; }
    #page_entry .ec-off4Grid .ec-off4Grid__cell, #page_contact .ec-off4Grid .ec-off4Grid__cell {
      margin-left: 0 !important;
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      justify-content: center; }
    #page_entry .ec-blockBtn--action, #page_contact .ec-blockBtn--action {
      margin: 20px 10px !important; }
    #page_entry .ec-blockBtn--cancel, #page_contact .ec-blockBtn--cancel {
      background: #999 !important;
      margin: 20px 10px !important; } }

.ec-registerRole {
  padding: 0 8.01vw; }
  @media screen and (min-width: 768px) {
    .ec-registerRole {
      padding: 0; } }

@media screen and (min-width: 768px) {
  .ec-para-normal {
    text-align: center;
    margin: 30px 0 !important; } }

.ec-pageHeader {
  margin-bottom: 30px;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }
  .ec-pageHeader h1 {
    border: none;
    text-align: center;
    line-height: 1;
    padding: 0;
    margin: 0;
    font-size: 16px;
    letter-spacing: .1em; }
    .ec-pageHeader h1:after {
      content: "";
      height: 1px;
      width: 50px;
      display: block;
      background: #c69c6d;
      margin: 0 auto;
      margin-top: 15px; }

input[type='text'], input[type='password'], input[type='email'], input[type='number'], body.mypage input[type='email'], body.mypage input[type='password'], body[id^="page_forgot"] input[type='email'], body[id^="page_forgot"] input[type='password'], .ec-AddAddress__add select {
  border: 1px solid #ccc;
  border-radius: 0;
  margin-bottom: 0;
  height: 50px; }

.ec-borderedDefs {
  font-size: 14px;
  border: none;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  .ec-borderedDefs a span {
    color: #c69c6d !important; }
  .ec-borderedDefs .ec-required {
    height: 15px;
    width: 35px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    color: #fff;
    background: #c69c6d; }
  .ec-borderedDefs dl {
    border: none;
    padding: 0;
    margin-bottom: 25px; }
    .ec-borderedDefs dl dt {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      height: auto;
      padding: 0;
      margin-bottom: 10px;
      font-weight: normal; }
      .ec-borderedDefs dl dt .ec-label {
        margin: 0;
        font-weight: normal;
        letter-spacing: .05em; }
  .ec-borderedDefs .ec-input {
    margin: 5px 0; }
    @media screen and (min-width: 768px) {
      .ec-borderedDefs .ec-input {
        margin: 10px 0; } }
  .ec-borderedDefs .ec-halfInput {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap; }
    .ec-borderedDefs .ec-halfInput input[type='text'] {
      width: calc(50% - 5px); }
      @media screen and (min-width: 768px) {
        .ec-borderedDefs .ec-halfInput input[type='text'] {
          margin: 0; } }
    .ec-borderedDefs .ec-halfInput .customer-form {
      box-sizing: border-box;
      width: 49%; }
      .ec-borderedDefs .ec-halfInput .customer-form input[type='text'] {
        width: 100%; }
  .ec-borderedDefs .ec-zipInput {
    position: relative;
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; }
    .ec-borderedDefs .ec-zipInput > span:not(.customer-postal_code) {
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
    .ec-borderedDefs .ec-zipInput input {
      width: 100%; }
    .ec-borderedDefs .ec-zipInput .customer-postal_code {
      width: 120px; }
    .ec-borderedDefs .ec-zipInput .p-postal-code,
    .ec-borderedDefs .ec-zipInput .customer-postal_code {
      margin: 0 10px; }
  .ec-borderedDefs .ec-zipInputHelp {
    margin: 0;
    height: 50px;
    width: calc(50% - 5px) !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .ec-borderedDefs .ec-zipInputHelp .ec-zipInputHelp__icon {
      top: 0;
      margin: 0; }
  .ec-borderedDefs .ec-select {
    width: 100%;
    margin: 5px 0; }
    @media screen and (min-width: 768px) {
      .ec-borderedDefs .ec-select {
        margin: 10px 0; } }
  .ec-borderedDefs select {
    width: 100%;
    height: 50px;
    border-radius: 0; }
  .ec-borderedDefs .ec-birth {
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    width: 100%;
    justify-content: space-between; }
    .ec-borderedDefs .ec-birth select {
      width: 100%;
      height: 50px;
      border-radius: 0;
      margin: 0;
      text-align: center !important; }
    .ec-borderedDefs .ec-birth span {
      margin: 0 10px;
      height: auto;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
  .ec-borderedDefs .ec-radio {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .ec-borderedDefs .ec-radio input {
      margin: 0;
      top: 2px;
      position: relative; }
    .ec-borderedDefs .ec-radio label {
      margin: 0;
      width: 100px; }
  .ec-borderedDefs .ec-telInput {
    width: 100% !important; }
    .ec-borderedDefs .ec-telInput input {
      max-width: 100%; }

.ec-orderAccount .btn-ok > button {
  margin-bottom: 10px; }

.ec-registerRole__actions {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  font-weight: normal;
  font-size: 14px;
  padding: 0 !important; }
  @media screen and (min-width: 768px) {
    .ec-registerRole__actions {
      margin-top: 50px; }
      .ec-registerRole__actions .ec-checkbox {
        width: 100%;
        text-align: center; } }
  .ec-registerRole__actions label {
    font-weight: normal; }
  .ec-registerRole__actions .ec-link {
    font-size: 14px !important;
    color: #c69c6d; }
  .ec-registerRole__actions button {
    margin-bottom: 5px !important; }

.ec-errorMessage {
  width: 100% !important;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  font-weight: normal !important;
  margin: 3px 0 !important; }

/* !! 確認画面 */
body.confirm-page p {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  @media screen and (min-width: 768px) {
    body.confirm-page p {
      text-align: center; } }

body.confirm-page .ec-borderedDefs {
  border: 1px solid #ccc;
  margin-top: 15px;
  padding: 0; }
  body.confirm-page .ec-borderedDefs dl {
    font-size: 13px;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    margin: 0; }
    body.confirm-page .ec-borderedDefs dl:last-of-type {
      border: none; }

/* !! 完了画面 */
.ec-registerCompleteRole {
  padding: 0 8.01vw; }

#page_entry_complete, #page_contact_complete {
  background: #fff; }
  #page_entry_complete .ec-reportDescription, #page_contact_complete .ec-reportDescription {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    font-size: 14px;
    text-align: justify;
    line-height: 1.66; }
  @media screen and (min-width: 768px) {
    #page_entry_complete .ec-layoutRole__main, #page_contact_complete .ec-layoutRole__main {
      height: calc(100vh - 322px);
      min-height: 500px;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      justify-content: space-between; }
      #page_entry_complete .ec-layoutRole__main > .ec-role, #page_contact_complete .ec-layoutRole__main > .ec-role {
        align-self: flex-start !important;
        margin-top: 0 !important; }
        #page_entry_complete .ec-layoutRole__main > .ec-role .ec-pageHeader, #page_contact_complete .ec-layoutRole__main > .ec-role .ec-pageHeader {
          margin-bottom: 0; }
      #page_entry_complete .ec-layoutRole__main .ec-contactCompleteRole, #page_entry_complete .ec-layoutRole__main .ec-registerCompleteRole, #page_contact_complete .ec-layoutRole__main .ec-contactCompleteRole, #page_contact_complete .ec-layoutRole__main .ec-registerCompleteRole {
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
        #page_entry_complete .ec-layoutRole__main .ec-contactCompleteRole .ec-off4Grid__cell, #page_entry_complete .ec-layoutRole__main .ec-registerCompleteRole .ec-off4Grid__cell, #page_contact_complete .ec-layoutRole__main .ec-contactCompleteRole .ec-off4Grid__cell, #page_contact_complete .ec-layoutRole__main .ec-registerCompleteRole .ec-off4Grid__cell {
          margin: 0 !important;
          width: 100%; }
          #page_entry_complete .ec-layoutRole__main .ec-contactCompleteRole .ec-off4Grid__cell a, #page_entry_complete .ec-layoutRole__main .ec-registerCompleteRole .ec-off4Grid__cell a, #page_contact_complete .ec-layoutRole__main .ec-contactCompleteRole .ec-off4Grid__cell a, #page_contact_complete .ec-layoutRole__main .ec-registerCompleteRole .ec-off4Grid__cell a {
            margin: 0 auto; } }

.ec-reportHeading {
  border: none; }
  .ec-reportHeading h2 {
    font-size: 18px;
    line-height: 1.66;
    letter-spacing: .1em; }

/* !!------------------------------------ */
/* !! マイページ */
body.mypage, body[id^="page_forgot"] {
  background: #fff !important;
  color: #525264; }
  body.mypage input[type='email'], body.mypage input[type='password'], body[id^="page_forgot"] input[type='email'], body[id^="page_forgot"] input[type='password'] {
    margin-bottom: 5px; }
  body.mypage p, body[id^="page_forgot"] p {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    font-size: 14px; }
  body.mypage .ec-input, body[id^="page_forgot"] .ec-input {
    margin-top: 0 !important; }

/* !! - - -  */
/* !! お気に入り */
ul.ec-favoriteRole__itemList {
  padding: 0;
  margin: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }
  ul.ec-favoriteRole__itemList .ec-favoriteRole__item {
    padding: 0; }
    ul.ec-favoriteRole__itemList .ec-favoriteRole__item .ec-closeBtn--circle {
      background: rgba(0, 0, 0, 0.53);
      border-radius: 0;
      top: 0;
      right: 0; }
    ul.ec-favoriteRole__itemList .ec-favoriteRole__item .ec-favoriteRole__itemPrice {
      text-align: left;
      font-size: 12px; }

/* !! - - -  */
/* !! お届け先一覧 */
body[id^="page_mypage"] {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  body[id^="page_mypage"] .ec-mypageRole {
    padding: 0 8.01vw; }
  body[id^="page_mypage"] .ec-welcomeMsg {
    border: 1px solid #c69c6d;
    padding: 0;
    padding: 4.005vw; }
    @media screen and (min-width: 768px) {
      body[id^="page_mypage"] .ec-welcomeMsg {
        padding: 15px;
        margin: 20px 0;
        margin-bottom: 40px !important; } }
    body[id^="page_mypage"] .ec-welcomeMsg p {
      color: #c69c6d;
      letter-spacing: .1em; }
  body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    border: none; }
    body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist li {
      height: 50px;
      border: 1px solid #ccc;
      margin-bottom: 5px;
      padding: 0 !important;
      font-size: 14px;
      letter-spacing: .1em;
      width: calc((100% - 5px) / 2); }
      body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist li.active {
        background: #c69c6d;
        border-color: #c69c6d; }
        body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist li.active a {
          color: #fff; }
      body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist li a {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        font-size: 3.738vw;
        font-weight: 500; }
        @media screen and (min-width: 768px) {
          body[id^="page_mypage"] .ec-navlistRole ul.ec-navlistRole__navlist li a {
            font-size: 14px; } }

.ec-checkbox {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  font-size: 14px;
  font-weight: normal !important;
  margin: 10px 0; }
  .ec-checkbox label {
    font-weight: normal !important; }
  .ec-checkbox input {
    margin: 0 !important; }
  .ec-checkbox .form-check {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .ec-checkbox .form-check label {
      margin: 0;
      margin-left: 5px; }

/* !! - - -  */
/* !! ログイン */
@media screen and (min-width: 768px) {
  #page_mypage_login .ec-off2Grid {
    min-height: calc(100vh - 372px); }
    #page_mypage_login .ec-off2Grid .ec-off2Grid__cell {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 390px;
      margin: 0 auto;
      align-items: center; }
    #page_mypage_login .ec-off2Grid #login_mypage {
      width: 100%;
      width: 390px; }
    #page_mypage_login .ec-off2Grid .ec-login {
      margin: 0; }
    #page_mypage_login .ec-off2Grid .ec-grid2 {
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      #page_mypage_login .ec-off2Grid .ec-grid2 .ec-grid2__cell {
        width: 100%; }
        #page_mypage_login .ec-off2Grid .ec-grid2 .ec-grid2__cell > div {
          margin-left: 0; }
      #page_mypage_login .ec-off2Grid .ec-grid2 .ec-blockBtn--cancel {
        margin: 0 auto; } }

.ec-login {
  padding: 0;
  background: #fff;
  margin-bottom: 0; }
  .ec-login .ec-login__icon {
    display: none; }
  .ec-login #login_email {
    margin-bottom: 5px; }

.ec-guest {
  margin-top: 20px;
  padding: 20px; }

button[type="submit"] {
  background: #c69c6d !important;
  margin-bottom: 20px; }

.ec-login__link {
  text-align: center;
  font-size: 14px;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
  margin-top: 10px !important; }
  .ec-login__link a {
    color: #c69c6d; }

.ec-forgetCompleteRole {
  padding: 0 8.01vw; }
  .ec-forgetCompleteRole .ec-reportDescription {
    text-align: justify; }

/* !!------------------------------------ */
/* !! カート */
.cart_page, #page_shopping {
  background: #fff !important;
  font-weight: normal;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  .cart_page .ec-layoutRole, #page_shopping .ec-layoutRole {
    padding: 0 8.01vw; }
    @media screen and (min-width: 768px) {
      .cart_page .ec-layoutRole, #page_shopping .ec-layoutRole {
        padding: 0;
        width: 800px;
        margin: 0 auto; } }
  @media screen and (min-width: 768px) {
    .cart_page #footer, #page_shopping #footer {
      margin-top: 100px; } }
  .cart_page p, #page_shopping p {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  .cart_page .ec-role, #page_shopping .ec-role {
    padding: 0 !important; }
  .cart_page .ec-cartRole, #page_shopping .ec-cartRole {
    padding: 0; }
    @media screen and (min-width: 768px) {
      .cart_page .ec-cartRole, #page_shopping .ec-cartRole {
        width: 640px;
        margin: 0 auto; }
        .cart_page .ec-cartRole .ec-cartRole__cart, #page_shopping .ec-cartRole .ec-cartRole__cart {
          margin: 0; } }
  .cart_page .ec-layoutRole__mainWithColumn, #page_shopping .ec-layoutRole__mainWithColumn {
    padding: 0 8.01vw; }
  @media screen and (min-width: 768px) {
    .cart_page .ec-off1Grid__cell, #page_shopping .ec-off1Grid__cell {
      width: 800px;
      margin: 0 auto; }
    .cart_page .ec-layoutRole__contents, #page_shopping .ec-layoutRole__contents {
      min-height: calc(100vh - 422px);
      min-height: 500px; } }

.ec-modal {
  border: none; }
  .ec-modal #ec-modal-header {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    font-size: 14px; }
  .ec-modal .ec-inlineBtn--action {
    margin-top: 5px; }
  @media screen and (min-width: 768px) {
    .ec-modal .ec-modal-wrap {
      width: 800px; } }

.ec-cartRole__progress {
  padding: 0;
  font-weight: normal !important; }
  .ec-cartRole__progress ul.ec-progress {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    padding: 0; }
    .ec-cartRole__progress ul.ec-progress:before {
      content: "";
      height: 2px;
      width: 100%;
      background: #999;
      position: absolute;
      top: 5.34vw;
      left: 0; }
      @media screen and (min-width: 768px) {
        .ec-cartRole__progress ul.ec-progress:before {
          top: 20px; } }
    .ec-cartRole__progress ul.ec-progress li {
      width: 10.68vw; }
      @media screen and (min-width: 768px) {
        .ec-cartRole__progress ul.ec-progress li {
          width: 40px; } }
      .ec-cartRole__progress ul.ec-progress li:after {
        content: "";
        display: none !important; }
      .ec-cartRole__progress ul.ec-progress li.is-complete .ec-progress__number {
        background: #c69c6d; }
      .ec-cartRole__progress ul.ec-progress li.is-complete .ec-progress__label {
        color: #c69c6d; }
    .ec-cartRole__progress ul.ec-progress .ec-progress__number {
      font-weight: normal;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      background: #999;
      font-size: 4.272vw; }
      @media screen and (max-width: 767px) {
        .ec-cartRole__progress ul.ec-progress .ec-progress__number {
          width: 10.68vw;
          height: 10.68vw; } }
      @media screen and (min-width: 768px) {
        .ec-cartRole__progress ul.ec-progress .ec-progress__number {
          font-size: 16px; } }
    .ec-cartRole__progress ul.ec-progress .ec-progress__label {
      font-weight: 500;
      font-size: 11px;
      position: relative;
      white-space: nowrap;
      width: 200%;
      left: 50%;
      text-align: center;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%); }
      @media screen and (min-width: 768px) {
        .ec-cartRole__progress ul.ec-progress .ec-progress__label {
          width: 300%;
          letter-spacing: 0;
          display: block;
          font-size: 12px; }
          .ec-cartRole__progress ul.ec-progress .ec-progress__label br {
            display: none;
            -webkit-flex: 0;
            -moz-flex: 0;
            -ms-flex: 0;
            -o-flex: 0;
            flex: 0; } }

.ec-cartRole__totalText {
  background: #EEE;
  margin: 20px 0 !important;
  padding: 10px !important;
  font-size: 12px;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  .ec-cartRole__totalText p {
    text-align: center;
    font-size: 12px;
    letter-spacing: .05em;
    font-weight: 500 !important; }
    @media screen and (min-width: 768px) {
      .ec-cartRole__totalText p {
        font-size: 14px; } }
    .ec-cartRole__totalText p strong {
      font-weight: 500; }

#form_cart {
  padding: 0 !important; }
  #form_cart .ec-cartTable {
    border: none !important; }
  @media screen and (min-width: 768px) {
    #form_cart .ec-cartHeader {
      display: none; } }
  #form_cart .ec-cartRow {
    padding: 10px 0;
    position: relative;
    display: block;
    border: none;
    border-top: 1px solid #ccc; }
    @media screen and (min-width: 768px) {
      #form_cart .ec-cartRow {
        min-height: 140px; } }
    #form_cart .ec-cartRow:last-of-type {
      border-bottom: 1px solid #ccc; }
    #form_cart .ec-cartRow .ec-cartRow__delColumn {
      position: absolute;
      top: 0;
      right: 0;
      width: 32px;
      height: 32px;
      background: #000;
      border: none;
      z-index: 1; }
      #form_cart .ec-cartRow .ec-cartRow__delColumn a {
        width: 100%;
        height: 100%;
        display: block;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
        #form_cart .ec-cartRow .ec-cartRow__delColumn a img {
          width: 16px !important;
          height: 16px !important; }
    #form_cart .ec-cartRow .ec-cartRow__contentColumn {
      position: relative;
      padding: 0;
      padding-left: 24.03vw;
      display: block;
      border: none; }
      @media screen and (min-width: 768px) {
        #form_cart .ec-cartRow .ec-cartRow__contentColumn {
          padding-left: 140px; } }
      #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__img {
        width: 21.36vw;
        height: 21.36vw;
        padding: 0;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (min-width: 768px) {
          #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__img {
            max-width: 1000px;
            max-height: 1000px;
            width: 120px;
            height: 120px; } }
      #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__name {
        padding-right: 40px; }
        #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__name a {
          font-size: 13px !important; }
          @media screen and (min-width: 768px) {
            #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__name a {
              font-size: 16px !important; } }
      #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary {
        display: block;
        margin: 0;
        width: 100% !important;
        height: auto !important;
        padding: 0;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.4;
        font-size: 12px;
        border: none;
        border-bottom: 1px solid #ccc;
        padding-bottom: 10px; }
        #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary a {
          color: #c69c6d;
          font-size: 14px;
          margin-bottom: 5px; }
        #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__unitPrice {
          font-size: 12px; }
          @media screen and (min-width: 768px) {
            #form_cart .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__unitPrice {
              font-size: 15px; } }
    #form_cart .ec-cartRow .ec-cartRow__amountColumn {
      margin-top: 10px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%;
      padding-left: 24.03vw;
      font-size: 12px;
      align-items: center;
      border-bottom: 0 !important; }
      @media screen and (min-width: 768px) {
        #form_cart .ec-cartRow .ec-cartRow__amountColumn {
          padding-left: 140px;
          -ms-align-items: center;
          align-items: center;
          justify-content: flex-start; } }
      #form_cart .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP {
        margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        #form_cart .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
          font-size: 16px !important;
          margin: 0 !important;
          margin-right: 20px !important; }
          #form_cart .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount:before {
            content: "個数 : "; } }
      #form_cart .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton__icon,
      #form_cart .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton__icon {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100%; }
    @media screen and (min-width: 768px) {
      #form_cart .ec-cartRow .ec-cartRow__subtotalColumn {
        display: none; }
      #form_cart .ec-cartRow .ec-cartRow__sutbtotalSP {
        margin-left: auto;
        margin-right: 0;
        font-size: 18px; } }
  #form_cart .ec-cartRole__total {
    padding-top: 10px;
    font-weight: normal; }
  #form_cart .ec-cartRole__totalAmount {
    color: #525264;
    font-weight: normal;
    margin: 0;
    margin-left: 1em; }
  #form_cart .ec-blockBtn--action {
    margin-bottom: 5px; }
  @media screen and (min-width: 768px) {
    #form_cart .ec-cartRole__actions {
      margin: 0;
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      justify-content: center; }
      #form_cart .ec-cartRole__actions .ec-cartRole__total {
        width: 100%; }
      #form_cart .ec-cartRole__actions a {
        margin: 0 5px !important; } }

/* !! - - -  */
/* !! ご注文手続き */
body[id^="page_shopping"] {
  background: #FFF;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  @media screen and (min-width: 768px) {
    body[id^="page_shopping"] #footer {
      margin-top: 100px; } }
  body[id^="page_shopping"] .ec-inlineBtn {
    width: 100%;
    padding: 0 30px; }
  body[id^="page_shopping"] .ec-orderRole {
    padding: 0; }
    @media screen and (min-width: 768px) {
      body[id^="page_shopping"] .ec-orderRole {
        width: 800px; } }
  body[id^="page_shopping"] .customer-form-non {
    display: none; }

.ec-rectHeading h2 {
  font-size: 16px;
  font-weight: 500;
  margin: 15px 0;
  letter-spacing: .1em; }

.ec-inlineBtn {
  display: block;
  height: 50px;
  padding: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center; }

.ec-addressRole__actions {
  margin-top: 0 !important; }

.ec-orderRole p {
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }

.ec-orderDelivery__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0 !important;
  height: 50px;
  font-size: 16px !important; }
  .ec-orderDelivery__title .ec-orderDelivery__change {
    width: 150px; }
    .ec-orderDelivery__title .ec-orderDelivery__change button {
      width: 100% !important; }

.ec-orderDelivery__item {
  border: none !important;
  margin-top: 20px; }
  .ec-orderDelivery__item * {
    border: none; }
  .ec-orderDelivery__item ul.ec-borderedList {
    border: none; }
    .ec-orderDelivery__item ul.ec-borderedList li {
      border: none;
      border: 1px solid #ccc;
      border-width: 1px 0 0 0; }
  .ec-orderDelivery__item .ec-imageGrid__content p {
    font-size: 12px !important;
    line-height: 1;
    margin: 4px 0; }
  .ec-orderDelivery__item .ec-imageGrid__img {
    padding-left: 0; }

.ec-selects > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  -o-flex-wrap: nowrap;
  flex-wrap: nowrap;
  margin: 0 !important;
  margin-bottom: 10px !important;
  -ms-align-items: center;
  align-items: center;
  height: 50px;
  text-align: right; }
  .ec-selects > div label {
    margin: 0;
    width: 150px;
    text-align: left;
    font-size: 14px !important;
    letter-spacing: .1em; }
  .ec-selects > div select {
    width: 100%;
    height: 50px; }

#shopping_order_use_point {
  margin-top: 5px; }

@media screen and (min-width: 768px) {
  .ec-orderRole__detail {
    padding: 0 !important;
    width: 540px !important; } }

.ec-orderRole__summary .ec-totalBox__btn {
  margin-top: 15px; }

.ec-orderRole__summary .ec-blockBtn--action {
  margin-bottom: 5px !important; }

@media screen and (min-width: 768px) {
  .ec-orderRole__summary {
    top: 15px !important;
    position: relative;
    width: 340px !important; } }

.ec-AddAddress {
  padding: 0 8.01vw; }
  @media screen and (min-width: 768px) {
    .ec-AddAddress {
      padding: 0;
      width: 640px;
      margin: 0 auto; } }

#page_shopping_shipping_multiple {
  color: #525264; }
  #page_shopping_shipping_multiple p {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    text-align: center; }
  #page_shopping_shipping_multiple .ec-AddAddress__info {
    text-align: center; }

@media screen and (min-width: 768px) {
  #page_shopping_shipping .ec-off1Grid__cell {
    width: 640px;
    margin: 0 auto; }
  #page_shopping_shipping .ec-off4Grid__cell {
    margin: 0;
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    justify-content: center;
    margin-top: 20px; }
    #page_shopping_shipping .ec-off4Grid__cell *[class^="ec-blockBtn"] {
      margin: 0 5px; } }

@media screen and (min-width: 768px) {
  .ec-addressRole {
    width: 640px; } }

.ec-AddAddress__add {
  background: rgba(198, 156, 109, 0.1);
  border: none;
  padding: 4.005vw; }
  @media screen and (min-width: 768px) {
    .ec-AddAddress__add {
      padding: 30px; } }
  .ec-AddAddress__add .ec-AddAddress__item {
    padding: 0;
    background: none; }
  .ec-AddAddress__add .ec-AddAddress__itemThumb {
    width: 32.04vw;
    height: 32.04vw;
    min-width: 100px; }
    @media screen and (min-width: 768px) {
      .ec-AddAddress__add .ec-AddAddress__itemThumb {
        width: 160px;
        height: auto; } }
  .ec-AddAddress__add .ec-AddAddress__itemtContent {
    background: none;
    font-size: 14px; }
    .ec-AddAddress__add .ec-AddAddress__itemtContent div {
      margin: 0; }
    @media screen and (min-width: 768px) {
      .ec-AddAddress__add .ec-AddAddress__itemtContent .ec-AddAddress__itemtTitle {
        font-size: 16px;
        margin-bottom: 10px;
        letter-spacing: .1em; } }
  .ec-AddAddress__add select {
    width: 100%; }
  @media screen and (min-width: 768px) {
    .ec-AddAddress__add .ec-AddAddress__select {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-end; }
    .ec-AddAddress__add .ec-AddAddress__selectAddress .ec-select {
      margin: 0;
      width: 360px; }
    .ec-AddAddress__add .ec-AddAddress__selectNumber {
      margin-left: auto;
      margin-right: 0 !important;
      margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .ec-inlineBtn.delete {
    margin-top: 15px; }
  .ec-off4Grid__cell {
    width: 100% !important;
    margin: 0 !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    justify-content: center; }
    .ec-off4Grid__cell *[class^="ec-blockBtn"] {
      margin: 0 5px; } }

.ec-AddAddress__select {
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
  margin-bottom: 15px !important; }

.ec-AddAddress__selectNumber {
  margin-bottom: 10px;
  display: block;
  text-align: right;
  margin-left: auto;
  margin-right: 0; }

/* !! - - -  */
/* !! 完了ページ */
.ec-cartCompleteRole {
  padding: 0; }

.ec-alert-warning {
  margin-top: 20px; }

.ec-reportDescription {
  text-align: justify; }
  .ec-reportDescription strong {
    display: block;
    text-align: center;
    background: #eee;
    height: 40px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }

@media screen and (min-width: 768px) {
  #page_shopping_complete .ec-layoutRole {
    height: calc(100vh - 422px);
    min-height: 500px; }
  #page_cart.error .ec-layoutRole__contents {
    height: 100%; }
  #page_cart.error .ec-layoutRole {
    height: calc(100vh - 422px);
    min-height: 500px; }
  #page_cart.error .ec-cartRole {
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap; }
    #page_cart.error .ec-cartRole .ec-role {
      height: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      #page_cart.error .ec-cartRole .ec-role .ec-off3Grid__cell {
        margin: 0;
        width: 100%; } }

/* !! - - -  */
/* !! ゲスト購入 */
@media screen and (max-width: 767px) {
  #page_shopping_login br {
    display: none; } }

@media screen and (min-width: 768px) {
  #page_shopping_login .ec-layoutRole {
    height: calc(100vh - 422px); }
    #page_shopping_login .ec-layoutRole .ec-layoutRole__contents {
      height: 100%; }
      #page_shopping_login .ec-layoutRole .ec-layoutRole__contents .ec-layoutRole__main {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        justify-content: flex-start; }
        #page_shopping_login .ec-layoutRole .ec-layoutRole__contents .ec-layoutRole__main .ec-role + .ec-role {
          height: 100%;
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: center; }
  #page_shopping_login .ec-guest {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
  #page_shopping_login .ec-login__input {
    margin-bottom: 20px; }
  #page_shopping_login .ec-grid3 {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    #page_shopping_login .ec-grid3 > div {
      width: calc(50% - 10px) !important; }
      #page_shopping_login .ec-grid3 > div .ec-grid2 {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
        #page_shopping_login .ec-grid3 > div .ec-grid2 .ec-grid2__cell {
          width: 100%;
          text-align: center; }
          #page_shopping_login .ec-grid3 > div .ec-grid2 .ec-grid2__cell button {
            margin: 0 auto;
            display: block; }
          #page_shopping_login .ec-grid3 > div .ec-grid2 .ec-grid2__cell .ec-login__link {
            margin: 0; }
    #page_shopping_login .ec-grid3 .ec-login {
      margin: 0; }
    #page_shopping_login .ec-grid3 .ec-blockBtn--cancel {
      margin: 0 auto;
      margin-top: 46px; } }

#page_shopping_nonmember .ec-blockBtn--action {
  margin-bottom: 5px; }

#page_shopping_nonmember .ec-customerRole {
  padding: 0; }

#page_shopping_nonmember .ec-cartRole__progress {
  margin-bottom: 20px; }

#page_shopping_nonmember .customer-form-non {
  display: none; }

/* !!------------------------------------ */
/* !! 特定商取引　プライバシーポリシー */
body[id^="page_help"] {
  background: #fff;
  font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  @media screen and (min-width: 768px) {
    body[id^="page_help"] .ec-borderedDefs, body[id^="page_help"] .ec-off1Grid__cell {
      width: 800px;
      margin: 0 auto; }
    body[id^="page_help"] #footer {
      margin-top: 100px; } }
  body[id^="page_help"] dl {
    font-size: 14px;
    line-height: 1.66; }
    body[id^="page_help"] dl dt {
      margin-top: 1.5em;
      margin-bottom: .5em; }
      @media screen and (min-width: 768px) {
        body[id^="page_help"] dl dt {
          font-size: 15px; } }
    body[id^="page_help"] dl dd {
      text-align: justify;
      line-height: 1.66;
      font-size: 13px; }
      @media screen and (min-width: 768px) {
        body[id^="page_help"] dl dd {
          font-size: 14px; } }

/* !! - - -  */
/* !! page_help_tradelaw */
#page_help_tradelaw dl {
  border: 1px solid #ccc;
  padding: 2.67vw;
  margin-bottom: 5px; }
  @media screen and (min-width: 768px) {
    #page_help_tradelaw dl {
      padding: 20px; } }
  @media screen and (min-width: 768px) {
    #page_help_tradelaw dl {
      margin-bottom: 10px; } }
  #page_help_tradelaw dl dt {
    margin: 0;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-weight: bold !important; }
    @media screen and (max-width: 767px) {
      #page_help_tradelaw dl dt {
        border-bottom: 1px solid #ccc; } }
    #page_help_tradelaw dl dt label {
      font-weight: bold !important;
      letter-spacing: .1em;
      color: #9fa0a0;
      margin: 0; }
    @media screen and (min-width: 768px) {
      #page_help_tradelaw dl dt {
        display: block;
        margin-bottom: 0;
        padding: 0; } }
  #page_help_tradelaw dl dd {
    font-size: 12px; }
    @media screen and (min-width: 768px) {
      #page_help_tradelaw dl dd {
        font-size: 14px;
        line-height: 1.66; } }

.order-block {
  margin: 30px 0; }

.order-choice > dt {
  margin: 15px 0;
  letter-spacing: .1em;
  background: #F3F3F3;
  padding: 8px 12px; }
  .order-choice > dt > label {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0; }
  .order-choice > dt .ec-required {
    display: none; }

.order-choice > dd label {
  margin-right: 10px; }

.order-input {
  margin: 10px 0; }
  .order-input > dt > label {
    font-size: 14px; }
  .order-input .error {
    color: #f44336;
    font-size: 14px; }

.order-conf {
  border-bottom: 1px solid #ddd;
  margin: 10px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }
  .order-conf > dt {
    font-size: 14px;
    font-weight: 700;
    width: 70px; }
  .order-conf > dd {
    font-size: 16px; }

.svg-sprite {
  display: none; }

.page-guide {
  max-width: 840px; }
  .page-guide *:not(h1) {
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }

h1.guide-heading {
  font-size: 18px; }

@media screen and (min-width: 768px) {
  .guide-list {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 80px; } }

@media screen and (max-width: 767px) {
  .guide-list {
    margin: 30px 0 50px; } }

.guide-list > li {
  margin: 15px 0; }
  @media screen and (max-width: 767px) {
    .guide-list > li {
      margin: 20px 0; } }
  .guide-list > li > a {
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 1.6px; }
    @media screen and (max-width: 767px) {
      .guide-list > li > a {
        padding: 0 0 0 10px;
        border-left: 2px solid #707070;
        line-height: 1.3; } }
    @media screen and (min-width: 768px) {
      .guide-list > li > a {
        border-right: 1px solid #707070;
        padding: 0 20px; } }
  .guide-list > li:nth-child(4) > a,
  .guide-list > li:last-child > a {
    border-right: 0; }

.guide-section {
  margin-bottom: 80px; }
  .guide-section.fee .guide-txt {
    margin-bottom: 30px; }
  .guide-section.cancel .guide-detail-box {
    margin-top: 50px; }

.guide-ttl {
  font-size: 20px;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 20px;
  font-weight: 600; }
  .guide-ttl:before {
    content: "";
    height: 1px;
    width: 90px;
    display: block;
    background: #c69c6d;
    position: absolute;
    left: 0;
    bottom: 0; }

.guide-txt {
  color: #525263;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 1.5px;
  font-weight: 300;
  margin-bottom: 50px; }

.guide-dl > dt {
  font-size: 16px !important;
  font-weight: 600; }

.guide-dl > dd {
  font-size: 16px !important;
  font-weight: 300;
  margin-bottom: 35px; }
  .guide-dl > dd > .txt {
    margin-bottom: 25px; }
  .guide-dl > dd .txt {
    letter-spacing: 1.5px;
    display: block; }

.guide-detail-box {
  padding: 15px 20px;
  border: 1px solid rgba(82, 82, 99, 0.5); }
  .guide-detail-box.contact > dt {
    margin-top: 0; }
  .guide-detail-box.contact > dd {
    font-weight: 300; }

.shopping-step-list {
  list-style: none;
  margin-top: 35px;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .shopping-step-list > li {
    width: 150px;
    border: 1px solid rgba(82, 82, 99, 0.5);
    padding: 15px 13px 25px;
    margin-right: calc(200px / 3);
    margin-bottom: 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .shopping-step-list > li {
        width: 100%;
        margin-right: 0; } }
    .shopping-step-list > li:after {
      content: "";
      display: inline-block;
      border: 7px transparent solid;
      position: absolute; }
      @media screen and (min-width: 768px) {
        .shopping-step-list > li:after {
          border-left: 12px solid #525263;
          top: 50%;
          transform: translateY(-50%);
          right: -47px; } }
      @media screen and (max-width: 767px) {
        .shopping-step-list > li:after {
          border-top: 12px solid #525263;
          left: 50%;
          transform: translateX(-50%);
          bottom: -40px; } }
    @media screen and (min-width: 768px) {
      .shopping-step-list > li:nth-child(4) {
        margin-right: 0; }
        .shopping-step-list > li:nth-child(4):after {
          display: none; } }
    .shopping-step-list > li:last-child {
      margin-right: 0; }
      .shopping-step-list > li:last-child:after {
        display: none; }

.shopping-step-heading,
.shopping-step-txt {
  font-size: 14px;
  color: #525263;
  text-align: center;
  display: block; }

.shopping-step-txt {
  line-height: 1.5; }

.shopping-step-icon {
  margin: 10px 0; }
  .shopping-step-icon.hand {
    width: 52px;
    height: 56px; }
  .shopping-step-icon.cart {
    width: 57px;
    height: 58px; }
  .shopping-step-icon.day {
    width: 54px;
    height: 56px; }
  .shopping-step-icon.gift {
    width: 45px;
    height: 57px; }
  .shopping-step-icon.home {
    width: 62px;
    height: 65px; }
  .shopping-step-icon.order {
    width: 60px;
    height: 51px; }
  .shopping-step-icon.user {
    width: 46px;
    height: 59px; }

.shopping-tel {
  padding: 40px 0;
  border: 1px solid rgba(82, 82, 99, 0.5); }

.shopping-tel-txt {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .shopping-tel-txt {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  .shopping-tel-txt .txt {
    font-weight: 600;
    margin-right: 15px; }
    @media screen and (max-width: 767px) {
      .shopping-tel-txt .txt {
        margin: 0 10px; } }

.fee-txt {
  font-weight: 600; }

@media screen and (min-width: 768px) {
  .ec-role.activate {
    padding-top: 100px; }
  .ec-registerCompleteRole {
    padding-bottom: 100px; }
  .ec-historyRole__header {
    margin-right: 50px; }
  .ec-orderRole {
    padding: 0 8.01vw; }
  .ec-orderRole .ec-orderRole__summary {
    padding: 0;
    margin-left: 50px; }
  .ec-role.back {
    padding: 0 8.01vw; }
  .ec-withdrawConfirmRole__cancel.ec-blockBtn--cancel {
    width: 250px;
    font-weight: normal;
    line-height: 50px;
    height: 50px;
    margin: 0 20px 0 0; }
    .ec-withdrawConfirmRole__cancel.ec-blockBtn--cancel + button {
      margin: 0; }
  .ec-blockBtn--action.next {
    margin-bottom: 100px; }
  .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull p {
    color: #fff;
    background: #F99; }
  .ec-cartNaviNull:before {
    border-color: transparent transparent #F99 transparent; } }

@media screen and (max-width: 767px) {
  /* !!------------------------------------ */
  /* !!------------------------------------ */
  /* !! SP */
  /* !!------------------------------------ */
  /* !!------------------------------------ */
  .sp {
    display: block !important; }
  .pc {
    display: none !important; }
  /* !!------------------------------------ */
  /* !! 共通css */
  html {
    font-size: 62.5%;
    margin: 0; }
    html.font-large {
      font-size: 80%; }
  body {
    margin: 0;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    background: #2f2725;
    color: #FFF;
    font-size: 1.4rem; }
  main {
    display: block;
    min-width: 320px; }
  main > section {
    padding: 13.35vw 0;
    padding-bottom: 0; }
    main > section .inner {
      max-width: 1000px;
      margin: 0 auto;
      position: relative; }
  h1.ttl,
  h2.sec {
    text-align: left;
    font-weight: normal;
    font-size: 2rem;
    line-height: 1;
    margin: 0 8.01vw;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
    letter-spacing: .1em; }
    h1.ttl i,
    h2.sec i {
      display: inline-block;
      padding-bottom: 15px;
      line-height: 1; }
    h1.ttl:after,
    h2.sec:after {
      content: "";
      display: block;
      width: 50px;
      height: 1px;
      background: #c69c6d; }
  .btn-more {
    width: 160px;
    text-align: left;
    line-height: 1;
    display: block;
    font-size: 1.2rem;
    position: relative;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    letter-spacing: .1em;
    color: #9fa0a0; }
    .btn-more i {
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translate(0, -50%);
      -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      -o-transform: translate(0, -50%);
      transform: translate(0, -50%);
      margin-top: 0;
      width: 71px;
      height: 6px;
      background-image: url(../../img/arw-R-W@3x.png);
      background-repeat: no-repeat;
      -webkit-background-size: 100% 100%;
      background-size: 100% 100%;
      background-position: right top; }
  .btn-buy {
    width: 145px;
    height: 30px;
    position: relative;
    border: 1px solid #fff;
    display: block;
    font-size: 1.2rem;
    letter-spacing: .1em;
    margin-bottom: 5px;
    font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
    .btn-buy:after {
      content: "";
      display: block;
      position: absolute;
      right: -20px;
      top: 50%;
      margin-top: -3px;
      width: 69px;
      height: 6px;
      background-image: url(../../img/arw-R-W2@2x.png);
      background-repeat: no-repeat;
      -webkit-background-size: 100% 100%;
      background-size: 100% 100%;
      background-position: center center; }
  a.na {
    opacity: .2;
    pointer-events: none; }
  /* !!------------------------------------ */
  /* !! ナビゲーション */
  #header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000; }
    #header a.logo {
      position: absolute;
      z-index: 1;
      top: 10px;
      left: 10px;
      transition: 0;
      display: none; }
      #header a.logo img {
        position: relative;
        z-index: 1;
        width: 30px;
        height: auto; }
      body.menu_on #header a.logo {
        position: relative; }
        body.menu_on #header a.logo:after {
          content: "";
          width: 60px;
          height: 50px;
          background: #2f2725;
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  #menu-btn {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 3;
    cursor: pointer;
    pointer-events: auto;
    transition: 200ms;
    width: 50px;
    height: 50px;
    transition: 200ms cubic-bezier(0, 1.64, 0.69, 0.89);
    transition-property: transform;
    -webkit-tap-highlight-color: transparent;
    overflow: visible; }
    #menu-btn a {
      -webkit-tap-highlight-color: transparent; }
    #menu-btn:active {
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2);
      will-change: transform; }
    #menu-btn .inner {
      width: 25px;
      height: 25px;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      overflow: visible; }
    #menu-btn i {
      display: block;
      height: 2px;
      width: 25px;
      background: #fff;
      position: absolute;
      transform-origin: right center;
      transition: 500ms cubic-bezier(0, 1.64, 0.69, 0.89); }
      #menu-btn i._1 {
        top: 0;
        right: 0; }
      #menu-btn i._2 {
        top: 9px;
        right: 0; }
      #menu-btn i._3 {
        top: 18px;
        right: 0; }
    body.menu_on #menu-btn i {
      background: #9fa0a0; }
    body.menu_on #menu-btn ._1 {
      right: 0;
      top: 9px;
      transform: rotate(-45deg) scaleX(0.5); }
    body.menu_on #menu-btn ._2 {
      right: 0;
      transform: scaleX(1); }
    body.menu_on #menu-btn ._3 {
      right: 0;
      top: 9px;
      transform: rotate(45deg) scaleX(0.5); }
  /* !! - - -  */
  /* !! gnav */
  nav#gnav {
    width: 100vw;
    height: 100vh;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 1;
    transition: 500ms;
    pointer-events: none;
    overflow: auto; }
    body.menu_on nav#gnav {
      opacity: 1;
      pointer-events: auto; }
    nav#gnav .logo {
      background: #000;
      height: 50px;
      width: 50px;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      position: absolute;
      display: block;
      top: 0;
      left: 0; }
      nav#gnav .logo a {
        display: block;
        height: auto; }
      nav#gnav .logo img {
        width: 30px !important;
        height: auto !important;
        display: block;
        position: relative;
        top: 10px;
        left: 10px; }
    nav#gnav .ul-wrap {
      width: 100%;
      height: auto;
      display: block;
      padding-left: 0px;
      margin-top: 80px;
      overflow: auto; }
    nav#gnav ul.gnav {
      transition: 500ms cubic-bezier(0, 1.64, 0.69, 0.89);
      transition-delay: 100ms;
      padding-left: 8.01vw;
      color: #000; }
      nav#gnav ul.gnav > li {
        white-space: nowrap;
        margin-bottom: 20px;
        font-size: 1.8rem;
        letter-spacing: .15em;
        margin-bottom: 20px;
        position: relative; }
        nav#gnav ul.gnav > li .label {
          width: 100px;
          height: 25px;
          color: #fff;
          font-size: 12px;
          background-image: url(../img/labelbg@3x.png);
          background-repeat: no-repeat;
          -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
          background-position: center center;
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: center;
          display: -webkit-inline-flex;
          display: -moz-inline-flex;
          display: -ms-inline-flex;
          display: -o-inline-flex;
          display: inline-flex; }
        nav#gnav ul.gnav > li ul {
          margin-top: 15px; }
          nav#gnav ul.gnav > li ul li {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            align-items: center;
            line-height: 1;
            left: 0;
            margin-left: 0;
            position: relative;
            margin-right: 15px;
            margin-top: 15px; }
            nav#gnav ul.gnav > li ul li .img {
              width: 50px;
              height: 50px;
              background: #eee;
              border-radius: 50%;
              margin-right: 10px; }
              nav#gnav ul.gnav > li ul li .img img {
                width: 100% !important;
                height: auto !important; }
            nav#gnav ul.gnav > li ul li a {
              display: block;
              position: relative;
              font-size: 13px;
              height: 50px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              align-items: center;
              margin-left: 0;
              letter-spacing: .1em;
              align-items: center;
              align-content: center;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex !important; }
              nav#gnav ul.gnav > li ul li a i {
                position: relative; }
              nav#gnav ul.gnav > li ul li a > img {
                display: block;
                width: 40.05vw;
                height: auto;
                position: absolute;
                right: 0; }
              nav#gnav ul.gnav > li ul li a .ribbon {
                position: absolute;
                bottom: 3px0;
                left: 0;
                left: 60px;
                width: 160px;
                height: auto; }
            nav#gnav ul.gnav > li ul li:last-of-type {
              margin-right: 0; }
        nav#gnav ul.gnav > li > a {
          display: inline-block;
          line-height: 1;
          position: relative; }
          nav#gnav ul.gnav > li > a:before {
            content: "";
            background: #c69c6d;
            width: 10px;
            height: 1px;
            display: block;
            position: absolute;
            top: 50%;
            left: -5px;
            -webkit-transform: translateX(-100%);
            -moz-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
            -o-transform: translateX(-100%);
            transform: translateX(-100%); }
      nav#gnav ul.gnav li.sub {
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
        font-size: 0; }
        nav#gnav ul.gnav li.sub a {
          padding-bottom: 0;
          border-bottom: 0;
          font-size: 1.2rem;
          display: block;
          line-height: 20px;
          letter-spacing: .1em;
          line-height: 30px; }
          nav#gnav ul.gnav li.sub a:before {
            content: none; }
          nav#gnav ul.gnav li.sub a:after {
            content: none;
            display: inline-block;
            width: 50px;
            text-align: center; }
          nav#gnav ul.gnav li.sub a:last-of-type:after {
            content: none; }
  /* !!------------------------------------ */
  /* !! トップページ */
  /* !! - - -  */
  /* !! MV */
  #mv {
    height: 100vh;
    position: relative;
    background-image: url(../../img/top_mv_sp@2x.jpg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
    #mv h1 {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 64.08vw;
      min-height: 0; }
      #mv h1 img {
        width: 100% !important;
        height: auto !important; }
  /* !! - - -  */
  /* !! CONCEPT */
  #concept {
    padding-bottom: 50px; }
    #concept .wrap {
      position: relative; }
    #concept .img {
      margin-top: 5.34vw;
      height: 80.1vw;
      width: 80.1vw;
      background: #eee;
      right: 0;
      position: relative;
      background-image: url(../../img/top_img1_sp@2x.jpg);
      background-repeat: no-repeat;
      -webkit-background-size: cover;
      background-size: cover;
      background-position: center center; }
    #concept .txt {
      width: 80.1vw;
      padding: 8.01vw;
      font-size: 14px;
      background: rgba(0, 0, 0, 0.8);
      position: relative;
      bottom: 0px;
      left: 0;
      margin: 0 auto;
      margin-right: 0;
      right: 0;
      z-index: 1;
      margin-top: -40.05vw;
      letter-spacing: .1em; }
    #concept p.lead {
      display: block;
      font-size: 18px;
      line-height: 28px;
      margin-bottom: 10px;
      letter-spacing: .1em; }
      #concept p.lead br {
        display: none; }
    #concept .btn-more {
      margin: 0 auto;
      margin-top: 20px;
      margin-right: 0; }
  /* !! - - -  */
  /* !! PRODUCT */
  section#product {
    background: #000;
    padding-bottom: 100px; }
    section#product ul.prduct-list {
      margin: 0 8.01vw;
      margin-top: 5.34vw; }
      section#product ul.prduct-list li {
        width: 100%;
        margin-bottom: 20px;
        padding: 0vw;
        padding-bottom: 5.34vw;
        position: relative;
        overflow: visible; }
        section#product ul.prduct-list li:last-of-type {
          margin-bottom: 0;
          width: 100% !important; }
          section#product ul.prduct-list li:last-of-type p {
            width: 100%; }
          section#product ul.prduct-list li:last-of-type .btn-more {
            right: 0; }
          section#product ul.prduct-list li:last-of-type img {
            width: 100%;
            height: auto; }
        section#product ul.prduct-list li h3 {
          font-size: 2rem;
          font-weight: normal;
          letter-spacing: .1em;
          line-height: 1.5;
          padding-bottom: 10px;
          border-bottom: 1px solid #c69c6d;
          margin-bottom: 15px; }
          section#product ul.prduct-list li h3 br {
            display: inline; }
        section#product ul.prduct-list li p {
          line-height: 1.8;
          margin-top: -0.4em;
          margin-bottom: -0.4em;
          width: 100%;
          color: #9fa0a0;
          font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
        section#product ul.prduct-list li .img {
          position: relative;
          top: 0;
          right: 0;
          margin-top: 5.34vw;
          -webkit-transform: translateY(0%);
          -moz-transform: translateY(0%);
          -ms-transform: translateY(0%);
          -o-transform: translateY(0%);
          transform: translateY(0%);
          z-index: 0;
          overflow: hidden;
          margin-right: -8.01vw; }
          section#product ul.prduct-list li .img img {
            width: 70% !important;
            height: auto !important;
            float: right; }
        section#product ul.prduct-list li .btn-more {
          position: relative;
          margin-top: 20px;
          bottom: 0;
          right: 0;
          z-index: 1; }
  /* !! - - -  */
  /* !! SHOPINFO */
  section#shopinfo {
    padding-bottom: 50px;
    background: #fff;
    position: relative; }
    section#shopinfo h2 {
      color: #000;
      -webkit-transform: translateY(0%);
      -moz-transform: translateY(0%);
      -ms-transform: translateY(0%);
      -o-transform: translateY(0%);
      transform: translateY(0%); }
    section#shopinfo .inner {
      height: auto; }
    section#shopinfo .map {
      width: 100%;
      min-width: 0;
      position: relative;
      left: 0%;
      top: 0;
      background: #eee;
      height: 100.125vw; }
      section#shopinfo .map iframe {
        width: 100%;
        height: 100%; }
      section#shopinfo .map > a {
        background: #000;
        width: 200px;
        height: 40px;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        color: #FFF;
        letter-spacing: .1em;
        font-family: 'Open Sans';
        position: absolute;
        bottom: 50px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 2; }
    section#shopinfo .txt {
      background: #000;
      padding: 8.01vw;
      width: 100%;
      letter-spacing: .1em;
      position: relative;
      margin-top: 8.01vw;
      top: 0%;
      -webkit-transform: translateY(0%);
      -moz-transform: translateY(0%);
      -ms-transform: translateY(0%);
      -o-transform: translateY(0%);
      transform: translateY(0%);
      z-index: 1;
      left: -0; }
      section#shopinfo .txt > img {
        position: relative;
        top: 0;
        right: 0;
        margin-bottom: 20px;
        width: 100% !important;
        height: auto !important; }
      section#shopinfo .txt p {
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
        padding-bottom: 20px;
        font-size: 12px; }
        section#shopinfo .txt p i {
          display: block;
          font-size: 12px; }
      section#shopinfo .txt .con {
        justify-content: flex-start;
        line-height: 1;
        display: block; }
        section#shopinfo .txt .con p {
          margin-bottom: 0 !important;
          padding-bottom: 0; }
        section#shopinfo .txt .con i {
          display: block;
          line-height: 1;
          margin-bottom: 15px; }
        section#shopinfo .txt .con a {
          font-family: 'Open Sans';
          width: 210px;
          height: 40px;
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: center;
          display: block;
          border: 1px solid #ccc; }
        section#shopinfo .txt .con .btn {
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: center;
          width: 100%; }
        section#shopinfo .txt .con .tel {
          border: none;
          margin-right: 50px; }
  /* !! - - -  */
  /* !! フッター */
  #footer {
    position: relative;
    background: -moz-linear-gradient(21.96% 280.6% 45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
    background: -webkit-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
    background: -webkit-gradient(linear, 21.96% 280.6%, 78.04% -180.6%, color-stop(0.0004, #c6b198), color-stop(0.5, #736357), color-stop(1, #534741));
    background: -o-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
    background: -ms-linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#C6B198', endColorstr='#534741' ,GradientType=0)";
    background: linear-gradient(45deg, #c6b198 0.04%, #736357 50%, #534741 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#C6B198',endColorstr='#534741' , GradientType=1);
    padding-top: 0; }
    #footer a.top {
      position: absolute;
      left: auto;
      top: 0;
      right: 8.01vw;
      z-index: 2;
      width: 50px;
      height: 50px;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); }
      #footer a.top img {
        width: 100% !important;
        height: auto !important; }
    #footer .inner {
      padding: 8.01vw;
      margin: 0;
      position: relative;
      margin-bottom: 0px; }
    #footer a.logo {
      line-height: 1;
      position: relative;
      display: block;
      margin: 0 auto;
      text-align: center;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0);
      top: 0;
      left: 0;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
      #footer a.logo i {
        display: block;
        font-size: 12px; }
    #footer ul.f-menu {
      text-align: left;
      justify-content: flex-start; }
      #footer ul.f-menu > li {
        display: block;
        vertical-align: top;
        text-align: left;
        margin-right: 0px;
        margin-top: 30px;
        font-size: 14px; }
        #footer ul.f-menu > li:last-of-type {
          margin-right: 0; }
        #footer ul.f-menu > li ul.sub {
          font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
          text-align: left;
          margin-left: .3em; }
          #footer ul.f-menu > li ul.sub li {
            display: block;
            vertical-align: top;
            font-size: 0;
            line-height: 30px; }
            #footer ul.f-menu > li ul.sub li a {
              line-height: 30px;
              display: block;
              min-width: 210px;
              font-size: 12px !important;
              white-space: nowrap; }
              #footer ul.f-menu > li ul.sub li a img {
                display: block;
                width: 160px !important;
                height: auto; }
    #footer .sns {
      width: 100px;
      position: relative;
      top: 0;
      right: 0;
      margin: 20px 0; }
      #footer .sns a {
        background: #eee;
        border-radius: 50%;
        display: block;
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
        #footer .sns a.fb {
          background: #38599F; }
        #footer .sns a.tw {
          background: #45B0E3; }
    #footer .inner2 {
      width: 100%;
      padding: 8.01vw;
      background: #fff;
      height: auto;
      display: block;
      color: #000; }
      #footer .inner2 p {
        font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
        font-size: 12px;
        letter-spacing: .1em;
        width: auto;
        line-height: 30px; }
        #footer .inner2 p a {
          display: block; }
          #footer .inner2 p a:after {
            content: none;
            font-weight: normal;
            font-size: 12px;
            display: inline-block;
            margin: 0 0px; }
          #footer .inner2 p a:last-of-type:after {
            content: none; }
  /* !!------------------------------------ */
  /* !! 下層ページ共通 */
  body:not(.top) {
    padding-top: 70px; }
    body:not(.top) main > section {
      padding: 13.35vw 0; }
    body:not(.top) main section .inner {
      max-width: 1366px; }
  h1.ttl {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 8.01vw; }
    h1.ttl:after {
      content: "";
      margin: 0 auto; }
    h1.ttl span {
      font-size: 2rem;
      display: block;
      margin-top: 10px; }
  /* !!------------------------------------ */
  /* !! CONCEPT */
  main.concept {
    padding: 0; }
    main.concept section {
      padding: 0; }
    main.concept .img2 {
      margin-top: 100px;
      margin-bottom: 30px; }
    main.concept #concept {
      padding-top: 0;
      padding-bottom: 13.35vw; }
      main.concept #concept .wrap {
        max-width: 1366px;
        margin: 0 auto; }
        main.concept #concept .wrap .img {
          margin: 0;
          right: 0;
          width: 80.1vw;
          height: 80.1vw; }
          main.concept #concept .wrap .img img {
            width: 100% !important;
            height: auto !important; }
        main.concept #concept .wrap .txt {
          width: 80.1vw !important;
          position: relative;
          margin: 0 auto;
          margin-right: 0;
          left: 0;
          bottom: 0;
          margin-top: -40.05vw;
          font-size: 14px; }
          main.concept #concept .wrap .txt p:not(.lead) {
            font-size: 14px; }
    main.concept section#_2 {
      background: #000;
      padding: 0; }
      main.concept section#_2 .inner {
        max-width: 1000px;
        margin: 0 auto; }
      main.concept section#_2 .img2 {
        margin: 0; }
        main.concept section#_2 .img2 img {
          width: 100% !important;
          height: auto !important; }
      main.concept section#_2 .txt {
        padding: 8.01vw;
        padding-bottom: 13.35vw;
        background: rgba(0, 0, 0, 0.8);
        position: relative;
        top: 50%;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
        width: 100%;
        left: 0;
        margin: 0 auto;
        margin-top: -16.02vw; }
        main.concept section#_2 .txt mt
.lead {
          font-size: 18px;
          margin-bottom: 10px; }
    main.concept section#_3 {
      background: #fff;
      color: #000;
      padding: 50px 30px; }
      main.concept section#_3 .wrap {
        max-width: 700px;
        margin: 0 auto; }
  /* !!------------------------------------ */
  /* !! PRODUCT */
  /* !! - - -  */
  /* !! index */
  ul.lineup {
    margin-top: 70px; }
    ul.lineup li {
      padding-left: 145px;
      position: relative;
      height: 125px;
      width: 269px;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      margin-bottom: 100px; }
    ul.lineup .img {
      width: 125px;
      height: 125px;
      position: absolute;
      top: 0;
      left: 0; }
    ul.lineup .name {
      white-space: nowrap;
      font-size: 1.7rem;
      line-height: 22px;
      margin-top: -0.25em;
      margin-bottom: -0.25em; }
      ul.lineup .name i {
        font-size: 1rem; }
    ul.lineup a {
      width: 100% !important;
      margin-top: 10px; }
  /* !! - - -  */
  /* !! single */
  main.single .ttl img {
    margin-bottom: 10px; }
  main.single #product {
    padding-bottom: 0;
    padding-top: 0;
    background: none; }
  main.single .mv {
    background: #eee;
    max-width: 1366px;
    height: auto;
    margin-top: 5.34vw; }
    main.single .mv img {
      width: 100% !important;
      height: auto !important; }
    main.single .mv.auto {
      height: auto; }
  main.single .desc {
    padding: 5.34vw;
    margin: 0 8.01vw;
    background: rgba(0, 0, 0, 0.8);
    font-size: 1.4rem;
    text-align: left;
    width: auto;
    max-width: 800px;
    margin-top: -13.35vw;
    position: relative;
    z-index: 1;
    letter-spacing: .1em; }
    main.single .desc br {
      display: none; }
  main.single .desc2 {
    max-width: 800px;
    margin: 0px;
    align-items: center;
    display: block;
    padding: 8.01vw; }
    main.single .desc2 img {
      width: 100% !important;
      height: auto !important;
      display: block;
      margin-bottom: 4.005vw; }
    main.single .desc2 p {
      max-width: 375px;
      font-size: 14px;
      color: #9fa0a0;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
  main.single .detail {
    margin: 50px 0;
    position: relative;
    flex-wrap: nowrap; }
    main.single .detail .img {
      position: relative; }
      main.single .detail .img:before {
        content: "";
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        right: 0;
        border: 8px solid #fff;
        border-width: 5px 5px 0 0; }
      main.single .detail .img:after {
        content: "";
        width: 50px;
        height: 50px;
        position: absolute;
        bottom: 0;
        left: 0;
        border: 8px solid #fff;
        border-width: 0 0 5px 5px; }
    main.single .detail .txt {
      line-height: 1.8;
      width: auto;
      margin-left: 50px; }
  main.single ul.taste {
    margin: 0px 8.01vw;
    margin-top: 26.7vw;
    justify-content: space-between;
    padding-bottom: 13.35vw; }
    main.single ul.taste > li {
      width: calc((100% - 8.01vw) / 2 );
      margin: 0;
      position: relative;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      margin-bottom: 18.69vw; }
      main.single ul.taste > li:last-of-type {
        margin-bottom: 0; }
      main.single ul.taste > li i {
        position: absolute;
        top: 10px;
        left: 0;
        transform-origin: left bottom;
        -webkit-transform: translateY(-100%) scale(0.6);
        -moz-transform: translateY(-100%) scale(0.6);
        -ms-transform: translateY(-100%) scale(0.6);
        -o-transform: translateY(-100%) scale(0.6);
        transform: translateY(-100%) scale(0.6); }
      main.single ul.taste > li .img {
        border-radius: 50%;
        overflow: hidden;
        position: relative;
        z-index: 1;
        margin-bottom: 20px;
        height: auto; }
        main.single ul.taste > li .img img {
          width: 100% !important;
          height: auto !important; }
      main.single ul.taste > li p {
        font-size: 2rem;
        line-height: 1.5; }
        main.single ul.taste > li p strong {
          border-bottom: 1px solid #fff;
          display: block;
          text-align: center;
          line-height: 1;
          font-size: 1.6rem;
          font-weight: normal;
          padding-bottom: 10px;
          letter-spacing: .1em; }
      main.single ul.taste > li ul {
        font-size: 13px;
        line-height: 1.6;
        color: #9fa0a0;
        padding-left: 0;
        margin-top: 10px; }
        main.single ul.taste > li ul li {
          width: auto;
          padding-left: 1.4em;
          position: relative;
          margin-left: 0; }
          main.single ul.taste > li ul li i, main.single ul.taste > li ul li:before {
            font-style: normal;
            position: absolute;
            top: 0;
            left: 0; }
          main.single ul.taste > li ul li:before {
            content: "●";
            font-size: 8px;
            line-height: 1.6; }
  main.single section#material {
    padding: 13.35vw 8.01vw;
    background: #000; }
    main.single section#material table {
      display: block;
      width: 100%;
      margin: 0 auto;
      table-layout: fixed;
      color: #FFF;
      font-size: 12px;
      letter-spacing: .1em;
      border: 1px solid #ccc;
      border-collapse: collapse;
      font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important;
      margin-bottom: 30px; }
      main.single section#material table tbody {
        display: block; }
      main.single section#material table tr {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap; }
      main.single section#material table:last-of-type {
        margin-bottom: 0; }
      main.single section#material table td {
        border: 0;
        border-top: 1px solid #ccc;
        display: block;
        width: calc(100% - 100px);
        text-align: justify; }
      main.single section#material table th {
        border: 0;
        border-top: 1px solid #ccc;
        background: #2f2725;
        width: 100px !important;
        font-size: 12px;
        white-space: nowrap;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center; }
      main.single section#material table .name {
        width: 100% !important;
        font-size: 18px;
        border: 0;
        font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
        display: block;
        background: none; }
        main.single section#material table .name img {
          display: block;
          margin: 10px auto; }
        main.single section#material table .name span {
          font-size: 14px; }
      main.single section#material table .hd {
        width: 150px;
        border: 0;
        border-top: 1px solid #ccc; }
  main.single section#buy {
    padding: 0px !important;
    padding: 50px 0; }
    main.single section#buy .inner {
      max-width: 1000px;
      margin: 0 auto;
      padding: 13.35vw 8.01vw;
      position: relative; }
    main.single section#buy .img {
      position: relative;
      bottom: 0 !important;
      left: auto !important;
      margin-bottom: 20px; }
      main.single section#buy .img img {
        margin: 0 auto !important;
        display: block;
        max-height: 300px;
        width: auto; }
    main.single section#buy .txt {
      max-width: 600px;
      padding: 5.34vw;
      margin: 0 auto;
      margin-right: 0;
      background: rgba(0, 0, 0, 0.8);
      position: relative; }
      main.single section#buy .txt > img {
        position: absolute;
        top: 15px;
        right: 0; }
      main.single section#buy .txt:before {
        content: "";
        position: absolute;
        width: calc(100% - 10*$px);
        height: calc(100% - 10*$px);
        top: 5px;
        left: 5px;
        border: 1px solid rgba(255, 255, 255, 0.3); }
      main.single section#buy .txt .name {
        line-height: 1;
        font-size: 18px;
        letter-spacing: .1em;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
      main.single section#buy .txt .note {
        font-size: 12px;
        line-height: 26px;
        color: #9fa0a0;
        padding-left: 0;
        margin-top: 15px; }
        main.single section#buy .txt .note li {
          padding-left: 1.4em;
          position: relative;
          margin-left: 0;
          font-family: "Hiragino Sans","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,"メイリオ",sans-serif !important; }
          main.single section#buy .txt .note li i, main.single section#buy .txt .note li:before {
            font-style: normal;
            position: absolute;
            top: 0;
            left: 0; }
          main.single section#buy .txt .note li:first-of-type {
            padding-left: 0; }
            main.single section#buy .txt .note li:first-of-type:before {
              content: none; }
          main.single section#buy .txt .note li:before {
            content: "・";
            font-size: 22px;
            line-height: 26px; }
    main.single section#buy .txt-footer {
      margin-top: 5.34vw;
      padding-top: 5.34vw;
      padding-right: 0px;
      line-height: 1;
      display: block;
      border-top: 1px solid #ccc; }
      main.single section#buy .txt-footer ul {
        margin-right: 0px;
        letter-spacing: .1em;
        width: 200px;
        margin: 0 auto;
        margin-bottom: 15px; }
        main.single section#buy .txt-footer ul li {
          line-height: 30px; }
        main.single section#buy .txt-footer ul .nat {
          font-size: 14px;
          padding-right: 15px;
          vertical-align: bottom; }
        main.single section#buy .txt-footer ul .price {
          font-size: 18px;
          vertical-align: bottom; }
          main.single section#buy .txt-footer ul .price i {
            font-size: 16px; }
      main.single section#buy .txt-footer .btn-buy {
        width: 200px;
        height: 40px;
        margin: 0 auto;
        margin-bottom: 20px; }
  /* !! - - -  */
  /* !! ポップコーン */
  #buy.popcorn {
    background-image: url(../../product/popcorn/img/popcorn_bg2@2x.jpg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
    #buy.popcorn .img {
      left: 111px; }
  /* !! - - -  */
  /* !! 究極のシュー皮ラスク */
  #buy.chou_rusk {
    background-image: url(../../product/chou_rusk/img/rusk_bg2@2x.jpg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
    #buy.chou_rusk .img {
      bottom: auto !important;
      top: 50%;
      left: -50px;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0); }
      #buy.chou_rusk .img img {
        width: 100% !important;
        height: auto !important; }
    #buy.chou_rusk.choco {
      background-image: url(../../product/chou_rusk_choco/img/rusk2_bg2@2x.jpg);
      background-repeat: no-repeat;
      -webkit-background-size: cover;
      background-size: cover;
      background-position: center center; }
      #buy.chou_rusk.choco .txt {
        padding-top: 60px; }
  /* !! - - -  */
  /* !! 平堂 十右衛門／十左衛門 */
  #buy.peidou {
    background-image: url(../../product/peidou-juemon/img/green_bg2@2x.jpg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
    #buy.peidou .img {
      left: 0;
      top: -20px; }
  /* !! - - -  */
  /* !! 究極の手作りSantamare */
  #buy.santamare {
    background-image: url(../../product/peidou-juemon/img/green_bg2@2x.jpg);
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center; }
    #buy.santamare .img {
      bottom: 0;
      left: 111px; }
  /* !!------------------------------------ */
  /* !! 商品ページ */
  #page_product_list .ec-shelfRole {
    padding: 0 8.01vw;
    color: #fff; }
  /* !! 完了画面 */
  .ec-registerCompleteRole {
    padding: 0 8.01vw; }
  .ec-role.activate {
    padding-top: 8.01vw; }
  .ec-registerCompleteRole {
    padding-bottom: 8.01vw; }
  #header {
    height: 50px;
    display: flex;
    align-items: center; }
    #header a.logo {
      width: 30px;
      height: 25px;
      display: block;
      position: static;
      margin-left: 10px; }
    #header .submenu {
      position: static;
      margin: 0 60px 0 auto; }
      #header .submenu li {
        margin-right: 0;
        margin-left: 15px; }
        #header .submenu li:first-child {
          margin-left: 0; }
        #header .submenu li .ec-cartNaviNull.is-active {
          display: none; }
      #header .submenu .ec-cartNavi .ec-cartNavi__price {
        display: none; }
  nav#gnav .logo a {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center; }
    nav#gnav .logo a img {
      top: auto;
      left: auto;
      margin-left: 10px; }
  .ec-cartNavi {
    color: #fff;
    padding: 0; }
  .ec-cartNavi .ec-cartNavi__price {
    font-size: 14px;
    color: #000;
    display: block; }
  .storemenu-wrap .ec-cartNaviWrap .ec-cartNavi:after {
    width: 80px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background: #c69c6d;
    border-radius: 3px;
    position: absolute;
    top: 15px;
    right: 10px; }
  .storemenu-wrap .ec-cartNaviWrap .ec-cartNaviNull p {
    color: #fff;
    background: #F99; } }
