@charset "UTF-8";
/*　*/
/**************************************************
		Foundation
**************************************************/
/* ===== Reset ===== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff;
  color: #000;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, caption, canvas, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, form, footer, header, hgroup, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, tt, table, tbody, textarea, tfoot, thead, time, tr, th, td, u, ul, var, video {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  line-height: inherit;
  background: transparent;
}

main, article, aside, dialog, figure, header, footer, hgroup, nav, section {
  display: block;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom;
  -ms-interpolatistamprally-box01_inneron-mode: bicubic;
  box-sizing: content-box;
}

svg {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
}

ul, ol {
  list-style-type: none;
  list-style-position: outside;
}

table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

th, td {
  text-align: left;
  vertical-align: top;
}

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

sub {
  bottom: -0.1em;
}

sup {
  top: -0.5em;
}

input, textarea, select, button {
  border-radius: 0;
  font: inherit;
  color: inherit;
  box-shadow: none;
  outline: none;
}

textarea {
  resize: vertical;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
}

/* ===== Setting ===== */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 100;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 200;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 300;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 400;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 500;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 600;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 700;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 800;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 900;
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  color: #333;
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
}

:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}

::placeholder {
  color: #999;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 2.667vw;
  }
  img {
    width: auto;
  }
}

@media print, screen and (min-width: 768px) {
  a, a::before, a::after, button, input[type="submit"], a *, a *::before, a *::after, button * {
    transition: background-image 0.3s, background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s, visibility 0.3s;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  html {
    font-size: 0.833vw;
  }
}

/**************************************************
		Layout
**************************************************/
/* ===== Header ===== */
.l-header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 110;
}

.l-header.is-fixed {
  position: fixed;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
}

.l-header_container {
  position: relative;
  height: 8rem;
}

.l-header_logo {
  line-height: 0;
}

.l-header_logo_img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 9rem;
}

.l-header_logo_txt {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.5rem;
  width: 8rem;
}

.l-header_logo img {
  width: 100%;
}

.l-header_menu {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: flex;
  right: 0;
  color: #990000;
}

.l-header_menu a {
  display: block;
  position: relative;
  width: 5rem;
  height: 8rem;
}

.l-header_menu a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 2rem;
  font-family: "FontAwesome";
  text-align: center;
  content: "";
}

.l-header_menu a.icon_mypage::before {
  content: "\f007";
}

.l-header_menu a.icon_login::before {
  content: "\f2bb";
}

.l-header_menu a.icon_search::before {
  content: "\f002";
}

.l-header_menu a.icon_cart::before {
  content: "\f07a";
}

.l-header_menu .icon_menu {
  display: block;
  position: relative;
  width: 5rem;
  height: 8rem;
  cursor: pointer;
}

.l-header_menu .icon_menu span, .l-header_menu .icon_menu::before, .l-header_menu .icon_menu::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.3rem;
  width: 2.2rem;
  height: 0.3rem;
  background: #990000;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  transition: all 0.3s ease-in-out;
  content: '';
}

.l-header_menu .icon_menu::before {
  -webkit-transform: translate3d(0, -0.9rem, 0);
          transform: translate3d(0, -0.9rem, 0);
}

.l-header_menu .icon_menu::after {
  -webkit-transform: translate3d(0, 0.6rem, 0);
          transform: translate3d(0, 0.6rem, 0);
}

.l-header_menu .is-active .icon_menu span {
  opacity: 0;
}

.l-header_menu .is-active .icon_menu::before {
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
          transform: rotate3d(0, 0, 1, 45deg);
}

.l-header_menu .is-active .icon_menu::after {
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
          transform: rotate3d(0, 0, 1, -45deg);
}

.l-header_menu .cart-num {
  position: absolute;
  top: 0;
  right: -0.3rem;
  width: 1.5rem;
  height: 1.5rem;
  background: #990000;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  text-align: center;
}

.l-header_search {
  position: absolute;
  top: 100%;
  right: 0;
  width: 27rem;
  opacity: 0;
  visibility: hidden;
}

.l-header_search.is-visible {
  opacity: 1;
  visibility: visible;
}

.l-header_search_field {
  padding-top: 1.3rem;
  padding-bottom: 0.8rem;
  padding-left: 2.8rem;
  background-color: #fff;
  box-shadow: 0 0 0.7rem 0 rgba(0, 0, 0, 0.15);
}

.l-header_search_submit {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
}

/* ===== Global Navi ===== */
.l-gnav {
  display: none;
  position: fixed;
  top: 8rem;
  left: 0;
  width: 100%;
  z-index: 100;
}

@media only screen and (max-width: 767px) {
  .l-gnav_container {
    overflow-y: auto;
    height: calc(100vh - 8rem);
  }
  .l-gnav_container nav {
    width: 100%;
  }
}

.l-gnav_menu {
  border-bottom: 1px solid #E0E0E0;
  background: #F5F5F0;
  font-size: 1.8rem;
  font-weight: bold;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
}

.l-gnav_menu li {
  border-top: 1px solid #E0E0E0;
}

.l-gnav_menu a {
  display: block;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 1.5rem;
}

.l-gnav_menu a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  font-size: 2.3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #990000;
  content: "\f105";
}

.l-gnav_menu ul {
  font-size: 1.4rem;
  background: #EFEFEF;
}

.l-gnav_menu ul a {
  padding: 1.2rem 3rem 1.2rem 3.5rem;
}

.l-gnav_menu ul a::before {
  font-size: 2.1rem;
}

.l-wrapper {
  position: relative;
  overflow: hidden;
}

/* ===== Main ===== */
.l-main {
  position: relative;
  background: #fff;
  z-index: 90;
}

/* ===== Loader ===== */
.l-loader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 9999;
}

.l-loader_icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6rem;
  height: 6rem;
  margin: -3rem 0 0 -3rem;
}

.l-loader_icon::before, .l-loader_icon::after {
  position: absolute;
  display: inline-block;
  border-radius: 100%;
  width: 6rem;
  height: 6rem;
  background: #990000;
  -webkit-animation: preloader-wave 1.6s linear infinite;
          animation: preloader-wave 1.6s linear infinite;
  content: "";
}

.l-loader_icon::after {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}

@-webkit-keyframes preloader-wave {
  0% {
    -webkit-transform: scale(0, 0);
            transform: scale(0, 0);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    opacity: 0;
  }
}

@keyframes preloader-wave {
  0% {
    -webkit-transform: scale(0, 0);
            transform: scale(0, 0);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    opacity: 0;
  }
}

/* ===== Footer ===== */
.l-footer {
  position: relative;
  z-index: 10;
}

.l-footer_menu01 {
  font-size: 2rem;
  font-weight: bold;
}

.l-footer_menu01 a {
  display: block;
  position: relative;
  padding: 1rem 3rem 1rem 1.5rem;
  background: #B9D432;
  color: #fff;
}

.l-footer_menu01 a::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  font-size: 2.5rem;
  font-family: "FontAwesome";
  font-weight: normal;
  content: "\f105";
}

.l-footer_menu01_main {
  display: block;
}

.l-footer_menu01_sub {
  display: block;
  font-size: 1.6rem;
}

.l-footer_menu01_btnFaq a {
  padding-left: 7rem;
}

.l-footer_menu01_btnFaq a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.5rem;
  font-size: 5.5rem;
  font-family: "FontAwesome";
  font-weight: normal;
  content: "\f29c";
}

.l-footer_menu02 {
  display: flex;
  margin: 1px 0 0 1px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
  flex-wrap: wrap;
}

.l-footer_menu02 li {
  margin: -1px 0 0 -1px;
  border: 1px solid #E0E0E0;
  width: calc(50% + 1px);
}

.l-footer_menu02 a {
  display: flex;
  padding: 1rem;
  width: 100%;
  height: 8rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.l-footer_menu02_icon {
  display: block;
  position: relative;
}

.l-footer_menu02_icon::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  font-size: 3rem;
  font-family: "FontAwesome";
  font-weight: normal;
  content: "";
}

.l-footer_menu02_btnMypage a,
.l-footer_menu02_btnLogin a,
.l-footer_menu02_btnShop a {
  height: 13rem;
}

.l-footer_menu02_btnMypage .l-footer_menu02_icon,
.l-footer_menu02_btnLogin .l-footer_menu02_icon,
.l-footer_menu02_btnShop .l-footer_menu02_icon {
  padding-top: 4.5rem;
}

.l-footer_menu02_btnMypage .l-footer_menu02_icon::before {
  content: "\f007";
}

.l-footer_menu02_btnLogin .l-footer_menu02_icon::before {
  content: "\f2bb";
}

.l-footer_menu02_btnShop .l-footer_menu02_icon::before {
  content: "\f002";
}

.l-footer_news {
  background: #F5F5F0;
  padding: 3rem 1.5rem 4rem;
}

.l-footer_bnr {
  background: #F2F2F2;
  padding: 3rem 1.5rem 2rem;
}

.l-footer_bnr .footer_content_ttl {
  margin-bottom: 1.5rem;
}

.l-footer_bnr ul {
  padding: 0 1.5rem;
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .l-footer_bnr ul {
    margin: 0 auto;
    width: 32rem;
    flex-direction: column;
  }
  .l-footer_bnr ul li:not(:first-of-type) {
    margin-top: 1.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .l-footer_bnr ul li:not(:first-of-type) {
    margin-left: 1.5rem;
  }
}

.l-footer_copyright {
  padding: 1.5rem;
  border-top: 1px solid #E0E0E0;
  background: #F2F2F2;
  font-size: 1.3rem;
  font-weight: bold;
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  text-align: center;
}

.footer_content_ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 3rem;
  text-align: center;
}

.footer_news_btn {
  text-align: center;
  margin-top: 1rem;
}

.footer_news_btn a {
  font-size: 1.8rem;
  width: 30rem;
}

/* ===== Pagetop ===== */
.l-pagetop {
  position: fixed;
  right: -5rem;
  bottom: 1.5rem;
  padding-top: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  z-index: 95;
}

.l-pagetop.is-visible {
  right: 1.5rem;
  opacity: 1;
  visibility: visible;
}

.l-pagetop a {
  display: block;
  position: relative;
  background: #990000;
  border-radius: 100%;
  width: 4.5rem;
  height: 4.5rem;
  color: #fff;
  text-indent: 500%;
  white-space: nowrap;
  overflow: hidden;
}

.l-pagetop a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding-bottom: 0.5rem;
  font-size: 2rem;
  font-family: "FontAwesome";
  font-weight: normal;
  text-indent: 0;
  content: "\f077";
}

/**************************************************
		Object
**************************************************/
/* ===== Title ===== */
.c-ttl01 {
  margin-bottom: 1.5rem;
  padding-left: 1.1rem;
  border-left: 0.4rem solid #990000;
  font-size: 2rem;
  font-weight: bold;
}

.c-ttl01.is-sm {
  font-size: 1.8rem;
}

.c-ttl02 {
  position: relative;
  margin-bottom: 1.5rem;
  padding-bottom: 0.7rem;
  border-bottom: 0.3rem solid #E0E0E0;
  font-size: 1.8rem;
  font-weight: bold;
}

.c-ttl02::before {
  position: absolute;
  left: 0;
  bottom: -0.3rem;
  width: 10rem;
  height: 0.3rem;
  background: #990000;
  content: "";
}

.c-ttl03 {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
}

/* ===== Text ===== */
.c-txt01 {
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-txt01.is-xxs {
  font-size: 0.8rem;
}

.c-txt01.is-xs {
  font-size: 1rem;
}

.c-txt01.is-sm {
  font-size: 1.2rem;
}

.c-txt01.is-lg {
  font-size: 1.6rem;
}

.c-txt01.is-xl {
  font-size: 1.8rem;
}

.c-txt01.is-xxl {
  font-size: 2rem;
}

@media print, screen and (min-width: 768px) {
  .c-txt01 {
    font-size: 1.6rem;
  }
  .c-txt01.is-xxs {
    font-size: 1rem;
  }
  .c-txt01.is-xs {
    font-size: 1.2rem;
  }
  .c-txt01.is-sm {
    font-size: 1.4rem;
  }
  .c-txt01.is-lg {
    font-size: 1.8rem;
  }
  .c-txt01.is-xl {
    font-size: 2rem;
  }
  .c-txt01.is-xxl {
    font-size: 2.2rem;
  }
}

.c-txt01.is-large {
  font-size: 1.6rem;
}

.c-txt01.is-small {
  font-size: 1.2rem;
}

.c-txt01.is-xsmall {
  font-size: 1rem;
}

.c-txtLink01 {
  text-decoration: underline;
}

/* ===== Icon ===== */
.c-iconCart {
  display: inline-block;
  position: relative;
  padding-left: 2.5rem;
}

.c-iconCart::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  background: transparent url(../img/icon_cart.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.c-iconCart.is-red::before {
  background-image: url(../img/icon_cart_red.svg);
}

.c-iconCart.is-white::before {
  background-image: url(../img/icon_cart_white.svg);
}

.c-iconCartAdd {
  display: inline-block;
  position: relative;
  padding-left: 4rem;
}

.c-iconCartAdd::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 3rem;
  height: 2.8rem;
  background: transparent url(../img/icon_cart_add.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.c-iconCartAdd.is-white::before {
  background-image: url(../img/icon_cart_add_white.svg);
}

.c-iconShop {
  display: inline-block;
  position: relative;
  padding-left: 2.5rem;
}

.c-iconShop::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  background: transparent url(../img/icon_shop.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.c-iconShop.is-red::before {
  background-image: url(../img/icon_shop_red.svg);
}

.c-iconShop.is-white::before {
  background-image: url(../img/icon_shop_white.svg);
}

/* ===== Button ===== */
.c-btn01 {
  display: inline-block;
  position: relative;
  padding: 0.8rem 1.3rem;
  border: 2px solid #990000;
  border-radius: 1rem;
  background: #990000;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-btn01.is-large {
  padding: 1.8rem 1.3rem;
  font-size: 2rem;
}

.c-btn01.is-xlarge {
  padding: 1.8rem 1.3rem;
  font-size: 2.4rem;
}

.c-btn01.is-small {
  border-width: 1px;
  padding: 0.9rem;
  font-size: 1.4rem;
}

.c-btn01.is-white {
  background-color: #fff;
  color: #990000;
}

.c-btn01.is-whitered {
  background-color: #fff;
  border-color: #990000;
  color: #990000;
}

.c-btn01.is-whitegray {
  background-color: #fff;
  border-color: #ccc;
  color: #333;
}

.c-btn01.is-red {
  border-color: #990000;
  background-color: #990000;
}

.c-btn01.is-gray {
  background-color: #F5F5F0;
  color: #990000;
}

.c-btn01.is-gray2 {
  border-color: #707070;
  background-color: #707070;
}

.c-btn01.is-line {
  border-color: #4ECD00;
  background-color: #4ECD00;
}

.c-btn01_sub {
  display: block;
  font-size: 1.4rem;
}

.c-btn01_main {
  display: block;
}

.c-btn01.is-disabled {
  border-color: #C8C8C8;
  background-color: #C8C8C8;
  cursor: auto;
}

.c-btn02 {
  display: inline-block;
  position: relative;
  padding: 0.9rem 1.9rem;
  border: 1px solid #990000;
  border-radius: 10rem;
  background: #990000;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-btn02.is-large {
  padding: 1.7rem 2.9rem;
  font-size: 2rem;
}

.c-btn02.is-xlarge {
  padding: 1.9rem 2.9rem;
  font-size: 2.6rem;
}

.c-btn02.is-small {
  padding: 0.9rem 1.9rem;
  font-size: 1.4rem;
}

.c-btn02.is-white {
  background-color: #fff;
  color: #990000;
}

.c-btn02_sub {
  display: block;
  font-size: 1.4rem;
}

.c-btn02_main {
  display: block;
}

.c-btn03 {
  display: inline-block;
  position: relative;
  padding: 1.3rem;
  border: 0.2rem solid rgba(255, 255, 255, 0.6);
  border-radius: 0.5rem;
  background: linear-gradient(#18943B 50%, #106127 52%, #18943b 100%);
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  text-shadow: 0 0.1rem 0.3rem #000;
  box-shadow: 0 0.4rem #0C471C;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* ===== Box ===== */
.p-box01 {
  position: relative;
  padding: 1.5rem;
  background: #F5F5F0;
}

.p-box02 {
  position: relative;
  padding: 1.4rem;
  border: 1px solid #ccc;
}

.p-shop_box {
  display: flex;
  padding: 1.5rem;
  background: #F5F5F0;
  align-items: center;
  flex-wrap: wrap;
}

.p-shop_box_inner01 {
  margin-right: 1rem;
  flex: 1;
}

.p-shop_box_inner02 {
  width: 8rem;
}

.p-shop_box_inner03 {
  width: 100%;
}

.p-shop_box_ttl {
  font-size: 1.8rem;
  font-weight: bold;
}

.p-shop_box_ttl_name {
  display: block;
}

.p-shop_box_ttl_ruby {
  display: block;
  font-size: 1rem;
  color: #707070;
}

.p-shop_box_txt01 {
  margin-top: 1rem;
  font-size: 1.3rem;
}

.p-shop_box_txt02 {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: #990000;
}

.p-shop_box_txt03 {
  font-size: 1.4rem;
}

.p-shop_box_btn {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.5;
}

.p-shop_box_btn a {
  display: inline-block;
  position: relative;
  padding: 0.4rem 3.4rem 0.4rem 1.4rem;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
  background: #fff;
  text-align: center;
  text-decoration: none;
}

.p-shop_box_btn a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  font-size: 1.5rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.p-takeout_box01 {
  display: flex;
  padding: 1.4rem;
  border: 1px solid #ccc;
  background: #fff;
  flex-wrap: wrap;
}

.p-takeout_box01_inner01 {
  width: 10rem;
}

.p-takeout_box01_inner02 {
  margin-left: 1rem;
  flex: 1;
}

.p-takeout_box01_inner03 {
  margin-top: 1rem;
  width: 100%;
}

.p-takeout_box01_inner04 {
  width: 3rem;
  -ms-grid-row-align: center;
      align-self: center;
  justify-content: center;
}

.p-takeout_box01_inner05 {
  display: flex;
  margin: 1rem -1.4rem -1.4rem -1.4rem;
  padding: 1.4rem;
  border-top: 1px solid #E0E0E0;
  width: calc(100% + 2.8rem);
  align-items: center;
}

.p-takeout_box01_ttl {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-takeout_box01_price {
  font-size: 1.2rem;
  font-weight: bold;
}

.p-takeout_box01_txt {
  font-size: 1.2rem;
}

.p-takeout_box01_change {
  margin-top: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
}

.p-takeout_box01_delete {
  font-size: 1.6rem;
  color: #707070;
  text-align: center;
}

.p-takeout_box01_delete_btn {
  padding: 0.5rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.p-takeout_box01_option {
  font-size: 1.2rem;
}

.p-takeout_box01_option li {
  display: inline;
}

.p-takeout_box01_option li:not(:last-child)::after {
  content: "、";
}

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

.p-takeout_box01_cnt_sub, .p-takeout_box01_cnt_add {
  display: flex;
  border: 0.2rem solid #990000;
  border-radius: 0.5rem;
  width: 2.4rem;
  height: 2.4rem;
  font-size: 1.6rem;
  color: #990000;
  line-height: 1;
  align-items: center;
  justify-content: center;
}

.p-takeout_box01_cnt_num {
  width: 3em;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.p-takeout_box01_price2 {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: right;
}

.p-takeout_box02 {
  background: #F5F5F0;
}

.p-takeout_box02_list01 {
  font-size: 1.2rem;
}

.p-takeout_box02_list01 > li {
  padding: 1.3rem 1.5rem;
}

.p-takeout_box02_list01 > li:not(:last-child) {
  border-bottom: 1px dashed #ccc;
}

.p-takeout_box02_list01 dt {
  margin-bottom: 0.3rem;
  font-size: 1.4rem;
  font-weight: bold;
}

.p-takeout_box02_list01 dd {
  color: #707070;
}

.p-takeout_box02_option li {
  display: inline;
}

.p-takeout_box02_option li:not(:last-child)::after {
  content: "、";
}

.p-takeout_box02_price ul {
  display: flex;
  align-items: center;
}

.p-takeout_box02_price_total {
  margin-left: auto;
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
  text-align: right;
  flex: 1;
}

.p-takeout_box02_inner {
  padding: 1.3rem 1.5rem;
}

.p-takeout_box02_list02 {
  display: flex;
  font-size: 1.4rem;
  align-items: center;
}

.p-takeout_box02_list02 dd {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: right;
  flex: 1;
}

.p-takeout_box02_list03 {
  margin: 1.3rem -0.5rem -0.2rem -0.5rem;
  padding: 1rem;
  font-size: 1.4rem;
  background: #fff;
}

.p-takeout_box02_list03 > li:not(:last-child) {
  margin-bottom: 0.3rem;
}

.p-takeout_box02_list03 dl {
  display: flex;
}

.p-takeout_box02_list03 dt {
  position: relative;
  padding-right: 1em;
  width: 10rem;
}

.p-takeout_box02_list03 dt::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-takeout_box02_list03 dd {
  flex: 1;
}

.p-takeout_box02_list04 {
  margin-top: 1rem;
  font-size: 1.4rem;
}

.p-takeout_box02_list04 > li:not(:last-child) {
  margin-bottom: 0.3rem;
}

.p-takeout_box02_list04 dl {
  display: flex;
}

.p-takeout_box02_list04 dt {
  position: relative;
  padding-right: 1em;
  width: 10rem;
}

.p-takeout_box02_list04 dt::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-takeout_box02_list04 dd {
  flex: 1;
}

.p-status_box_step {
  display: flex;
  font-size: 1.4rem;
  align-items: center;
  justify-content: center;
}

.p-status_box_step li {
  position: relative;
  min-width: 30%;
  color: #ccc;
  text-align: center;
}

.p-status_box_step li:not(:first-child) {
  padding-left: 1em;
}

.p-status_box_step li.is-active {
  font-weight: bold;
  color: #990000;
}

.p-status_box_step li:not(:first-child)::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 1em;
  font-size: 1.8rem;
  font-family: "FontAwesome";
  font-weight: normal;
  color: #ccc;
  text-align: center;
  content: "\f105";
}

.p-status_box_txt01 {
  margin-top: 1rem;
  font-size: 1.6rem;
  text-align: center;
}

.p-status_box_txt02 {
  margin-top: 1rem;
  padding: 0.3rem;
  background: #990000;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

/* ===== Input ===== */
.c-input01, .c-textarea01 {
  display: block;
  padding: 1.3rem 1.4rem;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
  width: 100%;
  height: 5rem;
  background: #F5F5F0;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-input01:disabled, .c-textarea01:disabled {
  background-color: #E0E0E0;
  opacity: 0.5;
}

.c-textarea01 {
  height: 14rem;
}

.c-radio01 {
  display: inline-block;
  position: relative;
}

.c-radio01::before {
  position: absolute;
  top: 50%;
  left: 0;
  border: 1px solid #E0E0E0;
  border-radius: 100%;
  width: 2rem;
  height: 2rem;
  background-color: #F5F5F0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.c-radio01 .text {
  display: block;
  position: relative;
  padding-left: 2.5rem;
}

.c-radio01 input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-radio01 input + .text::before {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.c-radio01 input:checked + .text::before {
  background: #990000;
}

.c-radio02 {
  display: block;
  position: relative;
}

.c-radio02::before {
  position: absolute;
  top: 50%;
  left: 0.8rem;
  border: 2px solid #E0E0E0;
  border-radius: 100%;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  z-index: 1;
}

.c-radio02 .text {
  display: block;
  position: relative;
  padding: 0.8rem 0.8rem 0.8rem 3.5rem;
  border: 2px solid #E0E0E0;
  border-radius: 0.5rem;
}

.c-radio02 input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-radio02 input + .text::before {
  position: absolute;
  top: 50%;
  left: 1.1rem;
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  z-index: 2;
}

.c-radio02 input:checked + .text {
  border-color: #990000;
  background-color: #F5F5F0;
}

.c-radio02 input:checked + .text::before {
  background-color: #990000;
}

.c-radio02 input:disabled + .text::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(245, 245, 240, 0.8);
  content: "";
  z-index: 3;
}

.c-radio03 {
  display: block;
  position: relative;
}

.c-radio03 .text {
  display: block;
  position: relative;
  padding: 0.8rem;
  border: 2px solid #E0E0E0;
  border-radius: 0.5rem;
  text-align: center;
}

.c-radio03 input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-radio03 input:checked + .text {
  border-color: #990000;
  background-color: #990000;
  color: #fff;
}

.c-radio03 input:checked + .text::before {
  background-color: #990000;
}

.c-radio03 input:disabled + .text::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(245, 245, 240, 0.8);
  content: "";
  z-index: 3;
}

.c-checkbox01 {
  display: inline-block;
  position: relative;
}

.c-checkbox01::before {
  position: absolute;
  top: 50%;
  left: 0;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
  width: 2rem;
  height: 2rem;
  background: #F5F5F0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.c-checkbox01 .text {
  display: block;
  position: relative;
  padding-left: 2.5rem;
}

.c-checkbox01 input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-checkbox01 input + .text::before {
  position: absolute;
  top: 50%;
  left: 0.6rem;
  border-left: 0.3rem solid transparent;
  border-bottom: 0.3rem solid transparent;
  width: 1.2rem;
  height: 0.9rem;
  -webkit-transform: rotate(-45deg) translate(0.3rem, -0.6rem);
          transform: rotate(-45deg) translate(0.3rem, -0.6rem);
  content: "";
}

.c-checkbox01 input:checked + .text::before {
  border-color: #990000;
}

.c-select01 {
  display: block;
  position: relative;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
  width: 100%;
  background: #F5F5F0;
  overflow: hidden;
  z-index: 0;
}

.c-select01::before {
  position: absolute;
  top: 50%;
  right: 1.4rem;
  border-top: 0.7rem solid #333;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  z-index: -1;
}

.c-select01 select {
  padding: 0.7rem 3.4rem 0.7rem 1.4rem;
  border: 0;
  border-radius: 0;
  width: 100%;
  height: 5rem;
  background: transparent;
  font-size: 16px;
  line-height: 1;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-select01 select::-ms-expand {
  display: none;
}

/* ===== Form ===== */
.p-form01 {
  font-size: 1.6rem;
}

.p-form01 > li:not(:last-child) {
  margin-bottom: 3.5rem;
}

.p-form01.is-confirm {
  font-size: 1.5rem;
}

.p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-form01_row.is-col2 {
  display: flex;
  width: 100%;
}

.p-form01_row.is-col2 .p-form01_head {
  width: 37%;
  text-align: right;
}

.p-form01_row.is-col2 .p-form01_data {
  flex: 1;
}

.p-form01_head {
  position: relative;
  display: inline-block;
  margin-bottom: 0.5rem;
  padding-right: 1em;
  font-weight: bold;
}

.is-confirm .p-form01_head {
  margin-bottom: 0;
  font-weight: normal;
}

.is-confirm .p-form01_head::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-form01_line01 {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
}

.p-form01_line02 {
  display: flex;
  margin: -0.5rem;
  flex-wrap: wrap;
}

.p-form01_line02 > li {
  margin: 0.5rem;
  width: calc(100% - 1rem);
}

.p-form01_line02.is-col2 > li {
  width: calc(50% - 1rem - 0.1px);
}

.p-form01_line02.is-col3 > li {
  width: calc(33.333% - 1rem - 0.1px);
}

.p-form01_line02.is-col4 > li {
  width: calc(25% - 1rem - 0.1px);
}

.p-form01_line03 > li:not(:last-child) {
  margin-bottom: 2rem;
}

.p-form_btn01 {
  font-size: 1.4rem;
  text-align: center;
}

.p-form_btn01 > li:not(:last-child) {
  margin-bottom: 2.5rem;
}

.p-form_btn01 .c-btn01 {
  min-width: 60%;
}

.p-form_btn02 {
  display: flex;
  margin: 0 -1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.p-form_btn02 > li {
  margin: 0 1rem;
  width: calc(50% - 2rem - 0.1px);
}

.p-form_btn02 .c-btn01 {
  width: 100%;
}

/* ===== Form Field ===== */
.p-field_r-date .swiper-button-prev,
.p-field_r-date .swiper-button-next {
  top: 0.9rem;
  margin-top: 0;
  width: 2rem;
  height: auto;
  font-size: 2.3rem;
  color: #333;
  outline: none;
}

.p-field_r-date .swiper-button-prev::after,
.p-field_r-date .swiper-button-next::after {
  display: none;
}

.p-field_r-date .swiper-button-prev.swiper-button-disabled,
.p-field_r-date .swiper-button-next.swiper-button-disabled {
  display: none;
}

.p-field_r-date .swiper-button-prev {
  left: 50%;
  -webkit-transform: translateX(-4em);
          transform: translateX(-4em);
}

.p-field_r-date .swiper-button-next {
  right: 50%;
  -webkit-transform: translateX(4em);
          transform: translateX(4em);
}

.p-field_r-date .swiper-container-fade .swiper-slide {
  opacity: 0 !important;
}

.p-field_r-date .swiper-container-fade .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
}

.p-field_r-date_calendar {
  position: relative;
}

.p-field_r-date_calendar dt {
  margin: 0.7rem 0;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.p-field_r-date_calendar table {
  width: 100%;
  background: #fff;
}

.p-field_r-date_calendar table th, .p-field_r-date_calendar table td {
  border: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
}

.p-field_r-date_calendar table thead th, .p-field_r-date_calendar table thead td {
  padding: 0.5rem;
  width: 14.285%;
  font-size: 1.2rem;
  font-weight: bold;
}

.p-field_r-date_calendar table thead th:nth-child(6), .p-field_r-date_calendar table thead td:nth-child(6) {
  color: #185494;
}

.p-field_r-date_calendar table thead th:nth-child(7), .p-field_r-date_calendar table thead td:nth-child(7) {
  color: #B61F20;
}

.p-field_r-date_calendar table tbody th, .p-field_r-date_calendar table tbody td {
  position: relative;
  background: #F5F5F0;
  font-size: 1.3rem;
  vertical-align: top;
}

.p-field_r-date_calendar table tbody th.is-none, .p-field_r-date_calendar table tbody td.is-none {
  padding: 0.3rem;
  height: 4.8rem;
  background: transparent;
}

.p-field_r-date_calendar table tbody th.is-not, .p-field_r-date_calendar table tbody td.is-not {
  padding: 0.3rem;
  height: 4.8rem;
  color: #999;
}

.p-field_r-date_calendar table tbody th label, .p-field_r-date_calendar table tbody td label {
  display: block;
  position: relative;
  z-index: 0;
}

.p-field_r-date_calendar table tbody th .text, .p-field_r-date_calendar table tbody td .text {
  display: block;
  position: relative;
  padding: 0.3rem;
  height: 4.8rem;
  z-index: 0;
}

.p-field_r-date_calendar table tbody th input, .p-field_r-date_calendar table tbody td input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.p-field_r-date_calendar table tbody th input + .text::after, .p-field_r-date_calendar table tbody td input + .text::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}

.p-field_r-date_calendar table tbody th input + .text::before, .p-field_r-date_calendar table tbody td input + .text::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0.7rem;
  font-size: 1.6rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #990000;
  line-height: 1;
  content: "\f10c";
}

.p-field_r-date_calendar table tbody th input:disabled + .text::before, .p-field_r-date_calendar table tbody td input:disabled + .text::before {
  color: #707070;
  content: "\f00d";
}

.p-field_r-date_calendar table tbody th input:checked + .text, .p-field_r-date_calendar table tbody td input:checked + .text {
  color: #fff;
}

.p-field_r-date_calendar table tbody th input:checked + .text::before, .p-field_r-date_calendar table tbody td input:checked + .text::before {
  color: #fff;
}

.p-field_r-date_calendar table tbody th input:checked + .text::after, .p-field_r-date_calendar table tbody td input:checked + .text::after {
  background-color: #990000;
}

.p-field_r-date_calendar table tbody th.is-off input + .text::before, .p-field_r-date_calendar table tbody td.is-off input + .text::before {
  bottom: 0.8rem;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: inherit;
  color: #990000;
  content: "休";
}

.p-field_r-table_outer {
  display: flex;
  align-items: center;
}

.p-field_r-table_inner01 {
  display: block;
  flex: 1;
}

.p-field_r-table_inner02 {
  display: block;
  width: 9rem;
}

.p-field_r-table_ttl {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-field_r-table_txt {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.4rem;
}

.p-field_r-table .c-radio02 input:disabled + .text::before {
  display: flex;
  position: absolute;
  top: 0;
  left: auto;
  right: 0.8rem;
  width: 9rem;
  height: 100%;
  font-size: 1.4rem;
  font-weight: bold;
  color: #707070;
  text-align: center;
  white-space: pre;
  content: "Reserved\A予約済";
  -webkit-transform: none;
          transform: none;
  z-index: 4;
  align-items: center;
  justify-content: center;
}

.p-field_r-num_other {
  display: flex;
  margin-top: 1rem;
  align-items: center;
}

.p-field_r-num_other dt {
  margin-left: -0.5em;
  font-size: 1.3rem;
  font-weight: bold;
}

.p-field_r-num_other dd {
  display: flex;
  margin-left: 0.5rem;
  width: 11rem;
  font-size: 1.6rem;
  align-items: center;
}

.p-field_r-num_other_input {
  display: block;
  width: 7rem;
}

.p-field_r-num_other_unit {
  display: block;
  flex: 1;
  text-align: center;
}

.p-field_r-num_other .c-input01, .p-field_r-num_other .c-textarea01 {
  padding: 1rem 0.4rem;
  height: 4.4rem;
  text-align: center;
}

.p-field_r-num_other.is-disabled {
  opacity: 0.4;
}

.p-field_r-time {
  margin: 0 -15px;
  overflow: hidden;
}

.p-field_r-time .p-form01_line02 {
  margin-left: 0;
  margin-right: 0;
  padding: 0 1rem 0.5rem 1rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.p-field_r-time .p-form01_line02 li:last-child .c-radio03 {
  margin-right: 1.5rem;
}

.p-field_r-time .p-form01_line02 li.is-disabled {
  display: none;
}

.p-field_r-time .c-radio03 .text {
  padding-left: 1.8rem;
  padding-right: 1.8rem;
}

.p-field_menu-option_list dt {
  padding: 1rem 1.5rem;
  background: #E0E0E0;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-field_menu-option_list dd {
  background: #fff;
}

.p-field_menu-option_list ul {
  font-size: 1.4rem;
}

.p-field_menu-option_list ul li {
  padding: 0 1.5rem;
}

.p-field_menu-option_list ul li:not(:last-child) {
  border-bottom: 1px solid #E0E0E0;
}

.p-field_menu-option_outer {
  display: flex;
  padding: 1.5rem 0;
  align-items: center;
}

.p-field_menu-option_name {
  width: 70%;
}

.p-field_menu-option_price {
  width: 30%;
  font-weight: bold;
  text-align: right;
}

.p-field_menu-option_price.is-minus {
  color: #990000;
}

.p-field_menu-option .c-radio01,
.p-field_menu-option .c-checkbox01 {
  display: block;
}

.p-field_menu-cnt {
  margin-top: 1px;
  padding: 2rem 0;
  background: #fff;
}

.p-field_menu-cnt ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-field_menu-cnt_sub, .p-field_menu-cnt_add {
  display: flex;
  border: 0.3rem solid #990000;
  border-radius: 0.5rem;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
  line-height: 1;
  align-items: center;
  justify-content: center;
}

.p-field_menu-cnt_num {
  width: 6em;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

/* ===== Others ===== */
.c-img01 {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  background-color: #F5F5F0;
  overflow: hidden;
}

.c-img01 img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: initial;
  max-width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: 'object-fit: contain;';
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-img01.is-size02 {
  padding-bottom: 100%;
}

.c-img01.is-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

.c-img02 {
  display: block;
  position: relative;
  padding-bottom: 100%;
  border-radius: 100%;
  width: 100%;
  height: 0;
  background-color: #F5F5F0;
  overflow: hidden;
}

.c-img02 img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: initial;
  max-width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-hr01 {
  display: block;
  border-top: 0.4rem dotted #990000;
  width: 100%;
  height: 0;
}

.c-hr02 {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid #ccc;
  width: 100%;
  height: 0;
}

.required {
  display: inline-block;
  margin-left: 1rem;
  padding: 0.3rem 0.4rem;
  border: 1px solid #990000;
  font-size: 1.1rem;
  font-weight: bold;
  color: #990000;
  line-height: 1;
  vertical-align: middle;
}

.error,
.caution {
  color: #990000;
}

.error {
  display: block;
  clear: both;
  margin-top: 1rem;
}

.error + .error {
  margin-top: 0.5rem;
}

/**************************************************
		Template
**************************************************/
/**
 	* Row
 	* Flat title
 	* Empy space
 	* Flat grid box
 	* Flat accordion
 	* Flat error
 	* Flat coming soon
 	* Flat button
 	* Filter shop
 	* Product
 	* Slidebar shop
 	* Product detail
 	* Flat tabs
 */
.container {
  width: auto;
}

@media (min-width: 1200px) {
  .container {
    width: 120rem;
  }
}

/* Row
---------------------------------------------------------------*/
.flat-row {
  clear: both;
  display: block;
  position: relative;
  padding: 8.5rem 0 6.5rem 0;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .flat-row {
    padding: 3.5rem 0;
  }
}

.flat-row.flat-error {
  padding: 18rem 0;
}

.flat-row.flat-coming-soon {
  padding: 20rem 0;
}

.flat-row.shop-related {
  padding: 5.5rem 0 7.5rem 0;
}

.flat-row.row-product-new {
  padding: 2rem 0 7rem 0;
}

/* Flat title
---------------------------------------------------------------*/
.flat-title {
  margin-bottom: 4rem;
}

/* Empy space
---------------------------------------------------------------*/
.divider {
  clear: both;
  display: block;
  height: 4rem;
}

.divider.h0 {
  height: 0;
}

@media only screen and (max-width: 767px) {
  .divider.h0 {
    height: 2rem;
  }
}

/* Flat grid box
---------------------------------------------------------------*/
.grid {
  margin: 0 -1.5rem;
  overflow: hidden;
}

.flat-grid-box.col2 .grid-item {
  width: 50%;
  float: left;
}

@media only screen and (max-width: 767px) {
  .flat-grid-box.col2 .grid-item {
    width: 100%;
  }
}

.flat-grid-box.border-width.border-width-1 .grid-row {
  border: 1px solid #e1e1e1;
}

.flat-grid-box.border-width.border-width-1 .grid-row:not(:last-child) {
  margin-bottom: 1.5rem;
}

.flat-grid-box.has-padding .grid-row {
  padding: 3.5rem 0 5rem 0;
}

/* Flat accordion
---------------------------------------------------------------*/
.flat-accordion .flat-toggle {
  margin-bottom: 1.5rem;
}

.flat-accordion .flat-toggle .toggle-title {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #E0E0E0;
  font-size: 1.6rem;
  cursor: pointer;
}

.flat-accordion .flat-toggle .toggle-content {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #E0E0E0;
}

.flat-accordion .flat-toggle .toggle-content p {
  margin-bottom: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

/* Pagination
---------------------------------------------------------------*/
.flat-pagination {
  display: flex;
  margin: 0 -0.3rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.flat-pagination li {
  margin: 0 0.3rem;
  font-size: 2rem;
}

.flat-pagination li.active a {
  background: #990000;
  color: #fff;
}

.flat-pagination a,
.flat-pagination span {
  display: flex;
  border-radius: 0.5rem;
  width: 5rem;
  height: 5rem;
  background: #fff;
  text-align: center;
  color: #990000;
  align-items: center;
  justify-content: center;
}

.flat-pagination span {
  background: #E0E0E0;
  color: #707070;
}

.flat-pagination .prev,
.flat-pagination .next {
  font-size: 2.5rem;
}

.flat-pagination .num {
  margin: 0 auto;
  font-size: 1.6rem;
  flex: 1;
}

/* Flat error
---------------------------------------------------------------*/
.wrap-error .header-error {
  font-size: 13rem;
  line-height: 1;
  font-weight: 500;
  color: #333;
  margin-bottom: 2rem;
}

.wrap-error .content-error h2 {
  font-size: 3rem;
}

.wrap-error .content-error p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
}

.wrap-error .content-error a {
  position: relative;
  color: #990000;
  font-weight: 600;
}

.wrap-error .content-error a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #990000;
  content: "";
}

/* Flat button
---------------------------------------------------------------*/
.themesflat-button {
  display: inline-block;
  text-align: center;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 4.3rem;
}

.themesflat-button.bg-accent {
  background-color: #990000;
  color: #fff;
  line-height: 4.7rem;
  padding: 0 4.7rem;
}

.themesflat-button.has-shadow {
  box-shadow: 0 0.5rem 1.9rem 1px rgba(36, 11, 12, 0.15);
}

.themesflat-button.bg-white {
  font-size: 1.5rem;
  font-weight: 500;
  background-color: #fff;
}

.themesflat-button.is-large {
  padding: 0.5rem 1rem;
  width: 100%;
  font-size: 1.6rem;
}

.themesflat-button.bg-transparent {
  background-color: transparent;
  color: #333;
  text-transform: none;
}

/* Filter shop
---------------------------------------------------------------*/
.filter-shop {
  display: flex;
  position: relative;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.filter-shop_inner01 {
  margin-bottom: 1.5rem;
  padding-right: 1rem;
  width: calc(100% - 10rem);
}

.filter-shop_inner02 {
  margin-bottom: 1.5rem;
  border-left: 1px solid #ccc;
  width: 10rem;
}

.filter-shop_inner03 {
  margin-top: 0.5rem;
  padding-right: 1rem;
  width: calc(100% - 19rem);
}

.filter-shop_inner04 {
  width: 19rem;
}

.filter-shop_ttl01 {
  font-size: 2rem;
  font-weight: bold;
}

.filter-shop_btn01 {
  display: block;
  padding: 0.5rem 0;
  font-size: 1.4rem;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
}

.filter-shop_btn01 .fa-close {
  display: none;
}

.filter-shop_btn01.active .fa-search {
  display: none;
}

.filter-shop_btn01.active .fa-close {
  display: inline-block;
}

.filter-shop_links {
  display: flex;
  margin: 0 -0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
  flex-wrap: wrap;
}

.filter-shop_links li {
  display: block;
  margin: 0 0.5rem;
  width: calc(50% - 1rem - 0.1px);
}

.filter-shop_links .c-btn01 {
  padding: 0.6rem 0;
  width: 100%;
}

.filter-shop_links_map .c-btn01 {
  border-color: #990000;
  color: #990000;
}

/* Product
---------------------------------------------------------------*/
.product-threecolumn .product .product-item {
  width: 33.3333%;
}

@media only screen and (max-width: 767px) {
  .product-threecolumn .product .product-item {
    clear: both;
    width: 100%;
  }
}

.product-content .product {
  width: 100%;
}

.product-content .product .product-item {
  float: left;
  position: relative;
  margin-bottom: 1.5rem;
  border-right: 1px solid #efefef;
  text-align: center;
  transition: all 0.3s ease-in-out;
}

@media only screen and (max-width: 767px) {
  .product-content .product .product-item {
    border-right: 0;
  }
}

.product-content.product-threecolumn .product .product-item:nth-child(1),
.product-content.product-threecolumn .product .product-item:nth-child(4),
.product-content.product-threecolumn .product .product-item:nth-child(7) {
  clear: both;
}

.product .product-item .product-thumb,
.product .product-item .product-info {
  position: relative;
}

.product .product-item .product-thumb {
  padding: 6.8rem 0 5.7rem 0;
}

.product .product-item .new {
  display: block;
  position: absolute;
  top: 2.7rem;
  left: 2.5rem;
  width: 8.7rem;
  background-color: #B9D432;
  font-size: 1.8rem;
  line-height: 3.5rem;
  text-align: center;
  color: #fff;
}

.product .product-item .sale {
  background-color: #990000;
}

.product .product-item .product-info {
  padding: 0px 3.5rem 3.5rem 3.5rem;
}

.product .product-item .product-title {
  font-size: 1.5rem;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
}

.product .product-item .price ins {
  font-size: 1.8rem;
  font-weight: 500;
  color: #990000;
  text-decoration: none;
}

.product .product-item .price del {
  font-size: 1.6rem;
  color: #c5c5c5;
  font-weight: 100;
}

.product .product-item .product-price {
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: bold;
  color: #990000;
}

.product .product-item .product-category {
  font-size: 1.3rem;
  color: #707070;
  line-height: 1.8;
}

.product .product-item .shop-title {
  font-size: 1.5rem;
  color: #333;
  font-weight: 500;
  line-height: 1.5;
}

.product .product-item .shop-title-ruby {
  font-size: 1.4rem;
  color: #333;
  line-height: 1.5;
}

.product .product-item .shop-address {
  font-size: 1.4rem;
  color: #333;
  line-height: 1.5;
}

.product .product-item .shop-attention {
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
  line-height: 1.5;
}

.product .product-item .product-icon {
  padding: 3.5rem;
}

.product .product-item .shop-category {
  margin: -0.5rem;
}

.product .product-item .shop-category li {
  display: inline-block;
  margin: 0.5rem;
  padding: 0.5rem 1.5rem;
  background-color: #990000;
  font-size: 1.8rem;
  line-height: 1.3;
  color: #fff;
}

.product .product-item .shop-tag {
  margin: -0.2rem -0.3rem;
  font-size: 1.2rem;
  color: #707070;
  line-height: 1.3;
}

.product .product-item .shop-tag li {
  display: inline-block;
  margin: 0.2rem 0.3rem;
}

.product .product-item .add-to-cart {
  display: none;
  background: #990000;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translate(0, 1rem);
          transform: translate(0, 1rem);
}

.product .product-item .add-to-cart a {
  font-weight: 700;
  line-height: 5rem;
  color: #fff;
}

.product .product-item .add-to-cart:hover {
  background-color: #333;
  cursor: pointer;
}

.product .product-item .like {
  font-size: 1.8rem;
  line-height: 3.5rem;
  position: absolute;
  top: 2.7rem;
  right: 2.2rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translate(3rem, 0);
          transform: translate(3rem, 0);
}

.product .product-item:hover .add-to-cart,
.product .product-item:hover .like {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* Style6 */
.product.style6 {
  display: flex;
  flex-wrap: wrap;
}

.product.style6 .product-item {
  display: flex;
  float: none;
}

.product.style6 .product-item a {
  display: block;
  position: relative;
  border: 1px solid #E0E0E0;
  width: 100%;
  background: #fff;
}

.product.style6 .product-item .product-thumb {
  position: relative;
  padding: 0;
}

.product.style6 .product-item .product-thumb-image {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  overflow: hidden;
}

.product.style6 .product-item .product-thumb-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.product.style6 .product-item .product-info {
  padding: 2rem 1.5rem 2.5rem 1.5rem;
}

.product.style6 .product-item .shop-title {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}

.product.style6 .product-item .shop-title-ruby {
  display: block;
  margin-bottom: 1rem;
}

.product.style6 .product-item .shop-address {
  display: block;
}

.product.style6 .product-item .new {
  line-height: 2.6rem;
  width: 6.5rem;
  top: 2rem;
  left: 2rem;
}

.product.style6 .product-item .like {
  font-size: 1.4rem;
  line-height: 2.6rem;
  top: 2rem;
}

.product.style6 .product-item .add-to-cart {
  font-weight: 700;
  line-height: 4.6rem;
  color: #fff;
}

.product.style6 .product-item .product-icon {
  padding: 1.5rem;
  text-align: left;
}

.product.style6 .product-item .product-icon.has-coupon {
  padding-right: 6rem;
}

.product.style6 .product-item .shop-category {
  margin: -0.3rem -0.2rem;
}

.product.style6 .product-item .shop-category li {
  margin: 0.3rem 0.2rem;
  padding: 0.3rem 1.5rem;
  font-size: 1.4rem;
}

.product.style6 .product-item .shop-coupon {
  position: absolute;
  top: 0;
  right: 0;
  width: 6rem;
  z-index: 20;
}

.product.style6 .product-item .shop-tag {
  margin-top: 1.7rem;
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .product.style6 {
    display: block;
  }
  .product.style6 .product-item {
    display: block;
  }
  .product.style6 .product-item .product-thumb {
    float: left;
    margin: 0 0 1.5rem 1.4rem;
    width: 13rem;
    background-color: #F5F5F0;
  }
  .product.style6 .product-item .product-thumb-image {
    width: 100%;
  }
  .product.style6 .product-item .product-info {
    float: right;
    margin: 0 0.9rem 1.5rem 0;
    padding: 0;
    width: 17.5rem;
    text-align: left !important;
  }
  .product.style6 .product-item .shop-title {
    font-size: 1.7rem;
  }
  .product.style6 .product-item .shop-title-ruby {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    color: #707070;
  }
  .product.style6 .product-item .shop-address {
    font-size: 1.3rem;
  }
  .product.style6 .product-item .shop-category li {
    padding: 0.3rem 1rem;
    font-size: 1.2rem;
  }
  .product.style6 .product-item .shop-tag {
    margin-top: 1.3rem;
    font-size: 1.2rem;
  }
  .product-content .product.style6 .product-item:hover {
    box-shadow: none;
  }
  .product.style6 .product-item .add-to-cart {
    display: block;
    position: static;
    clear: both;
    height: 0;
    overflow: hidden;
  }
}

/* Slidebar shop
---------------------------------------------------------------*/
.slidebar-shop {
  position: relative;
  border-top: 1px solid #ccc;
  padding: 2rem 1.5rem;
  background: #fff;
}

.slidebar-shop.box-filter {
  margin-bottom: 2rem;
  border-top: 0;
  width: 100%;
}

.filter-search-item {
  display: flex;
  margin-bottom: 2rem;
  width: 100%;
}

.filter-category-item {
  position: relative;
  border: 1px solid #707070;
  border-radius: 0.5rem 0 0 0.5rem;
  width: 50%;
  background: #fff;
  overflow: hidden;
  z-index: 0;
}

.filter-category-item::before {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  border-top: 0.7rem solid #3C3C3C;
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .filter-category-item::before {
    right: 1.9rem;
    border-top-width: 1.6rem;
    border-left-width: 0.9rem;
    border-right-width: 0.9rem;
  }
}

.filter-category-item select {
  padding: 1.5rem 2rem 1.5rem 1rem;
  border: 0;
  border-radius: 0;
  width: 100%;
  height: 5rem;
  background: transparent;
  font-size: 1.8rem;
  font-weight: bold;
  color: #6E6E6E;
  line-height: 1;
  text-align: center;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media print, screen and (min-width: 768px) {
  .filter-category-item select {
    padding: 2rem 3rem;
    height: 7rem;
    font-size: 2.6rem;
  }
}

.filter-category-item select::-ms-expand {
  display: none;
}

.filter-word-item {
  border: 1px solid #707070;
  border-left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
  width: 50%;
  background: #fff;
  overflow: hidden;
}

.filter-word-item input[type="text"] {
  padding: 1.5rem 1rem;
  border: 0;
  height: 5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  color: #6E6E6E;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media print, screen and (min-width: 768px) {
  .filter-word-item input[type="text"] {
    padding: 2rem 3rem;
    height: 7rem;
    font-size: 2.6rem;
  }
}

.filter-word-item input[type="text"]:-ms-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.filter-word-item input[type="text"]::-ms-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.filter-word-item input[type="text"]::-webkit-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.filter-word-item input[type="text"]::placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.filter-tag-item {
  margin: -0.3rem;
  font-size: 1.2rem;
  color: #6E6E6E;
  line-height: 1.5;
}

@media print, screen and (min-width: 768px) {
  .filter-tag-item {
    margin: -1rem;
    font-size: 1.8rem;
  }
}

.filter-tag-item li {
  display: inline-block;
  margin: 0.3rem;
}

@media print, screen and (min-width: 768px) {
  .filter-tag-item li {
    margin: 1rem;
  }
}

.filter-tag-item label {
  display: block;
  position: relative;
  margin: 0;
  padding: 0.7rem 0.9rem;
  border-radius: 3rem;
  background: #EEEEEE;
  font: inherit;
  line-height: inherit;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

@media print, screen and (min-width: 768px) {
  .filter-tag-item label {
    padding: 1.5rem 3rem;
  }
}

.filter-tag-item label input {
  display: block;
  position: absolute;
  left: -100vw;
}

.filter-tag-item label.is-active {
  background: #990000;
  color: #fff;
}

.filter-button {
  margin-top: 2rem;
  text-align: center;
}

.filter-button .c-btn01 {
  width: 25rem;
  font-size: 1.8rem;
}

@media only screen and (max-width: 767px) {
  .filter-button .c-btn01 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .filter-button .c-btn01 {
    width: 35rem;
    font-size: 2.4rem;
  }
}

.filter-button .c-btn01:hover {
  opacity: 1;
}

/* Product detail
---------------------------------------------------------------*/
.product-detail .product-title {
  position: relative;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  font-size: 2.6rem;
  font-weight: bold;
}

.product-detail .product-title::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #E0E0E0;
  content: "";
}

.product-detail .product-title .product-title-ruby {
  font-size: 1.6rem;
}

.product-detail .product-category {
  margin: -0.5rem -0.3rem 1rem -0.3rem;
  font-size: 1.4rem;
}

.product-detail .product-category li {
  display: inline-block;
  margin: 0.5rem 0.3rem;
}

.product-detail .product-category a {
  display: block;
  padding: 0.2rem 1rem;
  background-color: #990000;
  color: #fff;
}

.product-detail .product-tag {
  margin: -0.5rem -0.7rem;
  font-size: 1.4rem;
}

.product-detail .product-tag li {
  display: inline-block;
  margin: 0.5rem 0.7rem;
}

.product-detail .product-pickup-tag {
  display: flex;
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  justify-content: center;
  flex-wrap: wrap;
}

.product-detail .product-pickup-tag.is-col1 li {
  width: 28rem;
}

.product-detail .product-pickup-tag.is-col2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.product-detail .product-pickup-tag.is-col2 li {
  margin: 0 0.5rem;
  width: calc(50% - 1rem - 0.1px);
}

.product-detail .product-pickup-tag a {
  display: block;
  position: relative;
  padding: 0.8rem 1.3rem;
  border: 2px solid #ccc;
  border-radius: 1rem;
  background: #F5F5F0;
}

.product-detail .product-pickup-tag a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  font-size: 2rem;
  font-weight: normal;
  font-family: "FontAwesome";
  content: "\f107";
}

.product-detail .product-pickup-tag .coupon a {
  border-color: #990000;
  background-color: #990000;
  color: #fff;
}

.product-detail .product-pickup-nav {
  display: flex;
  margin: 2rem -0.5rem -0.5rem -0.5rem;
  justify-content: center;
}

.product-detail .product-pickup-nav li {
  margin: 0.5rem;
  min-width: calc(50% - 1rem - 0.1px);
  flex: 1;
}

.product-detail .product-pickup-nav .c-btn01 {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

.product-detail .product-bnr {
  margin-top: 1.5rem;
}

.product-detail .product-bnr li:not(:last-child) {
  margin-bottom: 1rem;
}

.product-detail .product-description {
  margin-bottom: 3rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.product-detail .product-notes {
  margin-bottom: 3rem;
  color: #990000;
}

.product-detail .product-notes-title {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: #990000;
}

.product-detail .product-notes-text {
  font-size: 1.4rem;
  color: #990000;
  line-height: 1.8;
}

.product-detail .table {
  font-size: 1.4rem;
}

.product-detail .table th {
  width: 25%;
}

.product-detail .product-url {
  word-break: break-all;
  word-wrap: break-word;
}

.product-detail .price {
  margin-top: 2rem;
}

.product-detail .price del {
  font-size: 1.8rem;
  color: #c5c5c5;
}

.product-detail .price ins {
  font-size: 2.4rem;
  color: #333;
  padding-left: 0.7rem;
  text-decoration: none;
}

.product-detail .product-quantity {
  display: flex;
  margin: 2.5rem 0 1rem 0;
  align-items: center;
  justify-content: center;
}

.product-detail .text {
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.8;
}

.product-detail .cnt {
  margin-right: 2rem;
  width: 8rem;
}

.product-detail .add-to-cart a {
  padding: 1.2rem 2.4rem;
}

.is-special .product-detail .add-to-cart a {
  width: 100%;
}

.product-detail .quantity-group {
  margin-top: 2rem;
}

.product-detail .quantity-group .price {
  margin: 0;
}

.product-detail .quantity-group .price ins,
.product-detail .quantity-group .price del {
  font-size: 1.4rem;
}

.product-detail .product-categories span,
.product-detail .product-tags span {
  color: #6e6e6e;
  font-weight: 400;
}

.product-detail .product-categories a,
.product-detail .product-tags a {
  color: #333;
  font-weight: 400;
}

.product-detail .product-categories {
  margin-top: 2.5rem;
}

/* Quantity group */
.quantity-group .quantity-group-item {
  margin-top: 2rem;
  width: 100%;
}

.quantity-group .quantity-group-item:first-child {
  margin-top: 0;
}

.quantity-group .quantity-group-item > div {
  float: left;
}

.quantity-group .quantity-group-item .one {
  width: 13%;
}

.quantity-group .quantity-group-item .two {
  width: 46.4%;
}

/* shop slider */
.shop-slider-main .shop-image {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  background: #F5F5F0;
  overflow: hidden;
}

.shop-slider-main .shop-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.shop-slider-main .swiper-button-next,
.shop-slider-main .swiper-button-prev {
  width: 2.7rem;
  height: 4.4rem;
  margin-top: -2.2rem;
  color: #990000;
  outline: none;
}

.shop-slider-main .swiper-button-next::after,
.shop-slider-main .swiper-button-prev::after {
  font-size: 3rem;
}

.shop-slider-thumb {
  margin-top: 1.5rem;
}

.shop-slider-thumb .swiper-slide {
  cursor: pointer;
  transition: opacity 0.3s;
}

.shop-slider-thumb .swiper-slide::before {
  position: absolute;
  top: 0;
  left: 0;
  border: 0.3rem solid #990000;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: opacity 0.3s, visibility 0.3s;
  content: "";
}

.shop-slider-thumb .swiper-slide.is-active::before {
  opacity: 1;
  visibility: visible;
}

.shop-slider-thumb .swiper-slide .shop-image {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  background: #F5F5F0;
  overflow: hidden;
}

.shop-slider-thumb .swiper-slide .shop-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

/* coupon
---------------------------------------------------------------*/
.coupon-shop {
  margin: 0 -1.5rem;
  border-top: 0.3rem solid #990000;
  background: #fff;
}

.coupon-shop .coupon-shop-inner01 {
  display: flex;
  padding: 1.5rem;
  flex-wrap: wrap;
}

.coupon-shop .coupon-shop-inner01-01 {
  width: 70%;
}

.coupon-shop .coupon-shop-inner01-02 {
  width: 30%;
}

.coupon-shop .coupon-shop-inner02 {
  position: relative;
  padding: 1rem 1.5rem;
  background: #707070;
  color: #fff;
}

.coupon-shop .coupon-shop-inner02::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -1rem;
  border-top: 1rem solid #707070;
  border-bottom: 0;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  content: "";
}

.coupon-shop .coupon-available,
.coupon-shop .coupon-unavailable {
  padding: 2rem 1.5rem 4rem 1.5rem;
  background: #F5F5F0;
}

.coupon-shop .coupon-unavailable {
  margin-top: -4.5rem;
}

.coupon-unavailable {
  margin-top: 1.5rem;
}

.coupon-available-item,
.coupon-unavailable-item {
  position: relative;
  margin-top: 1.5rem;
  padding: 1.5rem 1.5rem 4.5rem 1.5rem;
  background: #fff;
  border: 0.3rem solid #E0E0E0;
  border-radius: 1rem;
  overflow: hidden;
}

.coupon-available-item:first-of-type,
.coupon-unavailable-item:first-of-type {
  margin-top: 0;
}

.coupon-available-item > a {
  position: relative;
  display: block;
  margin: -1.5rem -1.5rem -4.5rem -1.5rem;
  padding: 1.5rem 2.5rem 4.5rem 1.5rem;
}

.coupon-available-item > a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.coupon-item .shop-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
}

.coupon-item .shop-name {
  display: block;
}

.coupon-item .shop-ruby {
  display: block;
  font-size: 1rem;
  font-weight: normal;
}

.coupon-item .shop-address {
  margin-top: 0.5rem;
  font-size: 1.3rem;
  line-height: 1.5;
}

.coupon-item .shop-link {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.5;
}

.coupon-item .shop-link a {
  display: inline-block;
  position: relative;
  padding: 0.4rem 3.4rem 0.4rem 1.4rem;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
  text-align: center;
  text-decoration: none;
}

.coupon-item .shop-link a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  font-size: 1.5rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.coupon-item .coupon-icons {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
}

.coupon-item .coupon-icons-icon {
  display: inline-block;
  padding: 0.5rem;
  border: 2px solid #333;
  min-width: 12rem;
  background: #fff;
  color: #333;
  text-align: center;
}

.coupon-item .is-special .coupon-icons-icon {
  border-color: #990000;
  color: #990000;
}

.coupon-item .is-shop .coupon-icons-icon {
  border-color: #990000;
  color: #990000;
}

.coupon-item .coupon-title {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #E0E0E0;
  font-size: 1.9rem;
  font-weight: bold;
}

.coupon-item .coupon-title-name {
  display: block;
}

.coupon-item .coupon-title-shop {
  display: block;
  font-size: 1.2rem;
}

.coupon-item .coupon-info {
  font-size: 1.4rem;
  line-height: 1.5;
}

.coupon-item .coupon-info > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.coupon-item .coupon-info dl {
  display: flex;
}

.coupon-item .coupon-info dt {
  width: 5.5em;
}

.coupon-item .coupon-info dt::after {
  content: "：";
}

.coupon-item .coupon-info dd {
  flex: 1;
}

.coupon-item .coupon-title02 {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #990000;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
}

.coupon-item .coupon-txt01 {
  margin-bottom: 1rem;
  font-size: 1.6rem;
}

.coupon-item .coupon-period {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #990000;
}

.coupon-item .coupon-description {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.5;
}

.coupon-item .coupon-status {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1.5;
  text-align: center;
}

.coupon-item .coupon-status span {
  display: inline-block;
  padding: 0.7rem 3rem;
  border-radius: 4rem;
  background: #c8c8c8;
}

.coupon-item .coupon-usedate {
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}

.coupon-item .coupon-useshop {
  margin-top: 2rem;
}

.coupon-item .coupon-useshop .toggle-title {
  display: block;
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.6rem;
  text-decoration: underline;
  cursor: pointer;
}

.coupon-item .coupon-useshop .toggle-title::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  font-size: 2rem;
  font-weight: normal;
  font-family: "FontAwesome";
  content: "\f105";
}

.coupon-item .coupon-useshop .toggle-content {
  padding-top: 1rem;
  font-size: 1.4rem;
}

.coupon-item .coupon-useshop ul li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.5rem;
}

.coupon-item .coupon-useshop ul li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.coupon-item .coupon-useshop a {
  display: inline-block;
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.6rem;
  text-decoration: underline;
}

.coupon-item .coupon-useshop a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  font-size: 2rem;
  font-weight: normal;
  font-family: "FontAwesome";
  content: "\f105";
}

.coupon-item .coupon-notes {
  margin-top: 2rem;
}

.coupon-item .coupon-notes .toggle-title {
  display: block;
  padding: 0.4rem 1.4rem;
  border: 1px solid #E0E0E0;
  border-radius: 5rem;
  font-size: 1.4rem;
  text-align: center;
  cursor: pointer;
}

.coupon-item .coupon-notes .toggle-title::before {
  display: inline-block;
  padding-right: 0.5em;
  font-size: 2rem;
  font-family: "FontAwesome";
  font-weight: normal;
  content: "\f0d7";
  line-height: 1;
}

.coupon-item .coupon-notes .toggle-content {
  padding-top: 2rem;
  font-size: 1.4rem;
}

.coupon-item .coupon-step {
  margin-top: 3rem;
}

.coupon-item .coupon-step:first-of-type {
  margin-top: 0;
}

.coupon-item .coupon-check {
  margin-top: 3rem;
  text-align: center;
}

.coupon-item .coupon-check .c-checkbox01 {
  padding: 2rem 4rem 2rem 7rem;
  border-radius: 1rem;
  background: #990000;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
}

.coupon-item .coupon-check .c-checkbox01::before {
  left: 2rem;
  border: 0;
  width: 3rem;
  height: 3rem;
  background: #fff;
}

.coupon-item .coupon-check .c-checkbox01 .text {
  padding: 0;
}

.coupon-item .coupon-check .c-checkbox01 input + .text::before {
  left: 3rem;
  width: 1.4rem;
  height: 0.9rem;
}

.coupon-item .coupon-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 8rem;
}

.coupon-item .coupon-id {
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  font-size: 1.3rem;
  color: #C8C8C8;
  line-height: 1.5;
}

.coupon-item .coupon-check-title {
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  text-align: left;
}

.coupon-item .coupon-check-list {
  display: flex;
  margin: -1rem;
  flex-wrap: wrap;
}

.coupon-item .coupon-check-list li {
  position: relative;
  margin: 1rem 0.5rem;
  width: calc(50% - 1rem - 0.1px);
  color: #990000;
  line-height: 1.5;
}

.coupon-item .coupon-check-list label {
  display: block;
}

.coupon-item .coupon-check-list-checkbox {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.6rem;
  height: 3.6rem;
}

.coupon-item .coupon-check-list-checkbox::before {
  position: absolute;
  top: 50%;
  left: 0;
  border: 0.8rem solid #990000;
  border-radius: 0 1rem 0 1rem;
  width: 3.6rem;
  height: 3.6rem;
  background: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

.coupon-item .coupon-check-list-checkbox input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: -1;
  visibility: hidden;
}

.coupon-item .coupon-check-list-checkbox .text {
  display: block;
  text-indent: 500%;
  white-space: nowrap;
  overflow: hidden;
}

.coupon-item .coupon-check-list-checkbox input + .text::before {
  position: absolute;
  top: 50%;
  left: 1rem;
  border-left: 0.3rem solid transparent;
  border-bottom: 0.3rem solid transparent;
  width: 2.4rem;
  height: 1rem;
  -webkit-transform: rotate(-50deg) translate(0.7rem, -0.6rem);
          transform: rotate(-50deg) translate(0.7rem, -0.6rem);
  content: "";
}

.coupon-item .coupon-check-list-checkbox input:checked + .text::before {
  border-color: #000;
}

.coupon-item .coupon-check-list-inner01 {
  padding: 3.5rem 0 2rem 0;
  border: 0.5rem solid #990000;
  border-radius: 1rem;
}

.coupon-item .coupon-check-list-inner02 {
  position: relative;
  margin-top: -0.5rem;
  padding: 1rem 0;
  border: 0.5rem solid #990000;
  border-radius: 1rem;
}

.coupon-item .coupon-check-list-inner02::before {
  position: absolute;
  top: -0.5rem;
  left: 0.5rem;
  width: calc(100% - 1rem);
  height: 0.5rem;
  background: #fff;
  content: "";
}

.coupon-item .coupon-check-list-inner02::after {
  position: absolute;
  top: -0.3rem;
  left: 0.5rem;
  border-top: 1px dashed #990000;
  width: calc(100% - 1rem);
  height: 0;
  content: "";
}

.coupon-item .coupon-check-list-u_price {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
}

.coupon-item .coupon-check-list-u_price_num {
  font-size: 2.8rem;
}

.coupon-item .coupon-check-list-u_price_txt {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
}

.coupon-item .coupon-check-list-u_num {
  display: block;
  margin-top: 0.7rem;
  font-size: 1.2rem;
}

.coupon-item .coupon-check-list-d_price {
  font-size: 1.2rem;
  font-weight: bold;
}

.coupon-item .coupon-check-list-d_price_num {
  font-size: 2.2rem;
}

.coupon-item .coupon-check-list-d_price_txt {
  font-size: 1.2rem;
  font-weight: bold;
}

.coupon-item .coupon-check-list li.is-active {
  color: #fff;
}

.coupon-item .coupon-check-list li.is-active .coupon-check-list-inner01,
.coupon-item .coupon-check-list li.is-active .coupon-check-list-inner02,
.coupon-item .coupon-check-list li.is-active .coupon-check-list-inner02::before {
  background-color: #990000;
}

.coupon-item .coupon-check-list li.is-active .coupon-check-list-inner02::after {
  border-top-color: #fff;
}

.coupon-item .coupon-select-list {
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  align-items: center;
}

.coupon-item .coupon-select-list > li {
  position: relative;
  text-align: center;
}

.coupon-item .coupon-select-list .num {
  font-size: 2rem;
}

.coupon-item .coupon-select-list-num {
  margin: 0 0.5rem;
  width: 8rem;
}

.coupon-item .coupon-select-list-mark {
  margin: 0 1rem;
  width: 1em;
  font-size: 2rem;
}

.coupon-item .coupon-select-list-price, .coupon-item .coupon-select-list-total {
  flex: 1;
}

@media print, screen and (min-width: 768px) {
  .coupon-shop-inner01 {
    padding: 3rem 2rem 4rem 2rem;
  }
  .coupon-shop-inner01-01 {
    width: 70%;
  }
  .coupon-shop-inner01-02 {
    width: 30%;
  }
  .coupon-shop-inner02 {
    padding-bottom: 6rem;
  }
  .coupon-item .shop-title {
    font-size: 2.8rem;
  }
  .coupon-item .shop-ruby {
    font-size: 1.6rem;
  }
  .coupon-item .shop-address {
    margin-top: 1.5rem;
    font-size: 1.8rem;
  }
  .coupon-item .shop-link {
    margin-top: 1rem;
    font-size: 1.8rem;
  }
  .coupon-item .coupon-info {
    margin-bottom: 3rem;
    font-size: 1.8rem;
  }
  .coupon-item .coupon-info li {
    margin: 0 1.5rem;
  }
  .coupon-item .coupon-description {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
  .coupon-item .coupon-period {
    margin-bottom: 5rem;
    font-size: 1.8rem;
  }
  .coupon-item .coupon-status {
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
  .coupon-item .coupon-usedate {
    margin-bottom: 3rem;
    font-size: 1.8rem;
  }
  .coupon-item .coupon-notes .toggle-title {
    font-size: 1.8rem;
  }
  .coupon-item .coupon-notes .toggle-content {
    padding-top: 3rem;
  }
  .coupon-item .coupon-check {
    margin-top: 5rem;
  }
  .coupon-item .coupon-check .c-checkbox01 {
    font-size: 2rem;
  }
  .coupon-item .coupon-icon {
    width: 10rem;
  }
  .coupon-item .coupon-id {
    bottom: 1rem;
    right: 3rem;
    font-size: 1.6rem;
  }
  .coupon-item .coupon-check-title {
    font-size: 2rem;
  }
  .coupon-item .coupon-check-list {
    margin: -1.5rem -1rem;
  }
  .coupon-item .coupon-check-list li {
    margin: 1.5rem 1rem;
    width: calc(50% - 2rem - 0.1px);
  }
  .coupon-item .coupon-check-list-checkbox {
    width: 4.4rem;
    height: 4.4rem;
  }
  .coupon-item .coupon-check-list-checkbox::before {
    border-width: 1.2rem;
    border-radius: 0 1.5rem 0 1.5rem;
    width: 4.4rem;
    height: 4.4rem;
  }
  .coupon-item .coupon-check-list-checkbox input + .text::before {
    border-left-width: 0.4rem;
    border-bottom-width: 0.4rem;
    width: 2.8rem;
    height: 1.2rem;
    -webkit-transform: rotate(-50deg) translate(0.9rem, -0.6rem);
            transform: rotate(-50deg) translate(0.9rem, -0.6rem);
  }
  .coupon-item .coupon-check-list-inner01 {
    padding: 4.5rem 0 3rem 0;
    border-width: 0.8rem;
    border-radius: 1.5rem;
  }
  .coupon-item .coupon-check-list-inner02 {
    margin-top: -0.8rem;
    padding: 1.5rem 0;
    border-width: 0.8rem;
    border-radius: 1.5rem;
  }
  .coupon-item .coupon-check-list-inner02::before {
    top: -0.8rem;
    left: 0.8rem;
    width: calc(100% - 1.6rem);
    height: 0.8rem;
  }
  .coupon-item .coupon-check-list-inner02::after {
    top: -0.5rem;
    left: 0.8rem;
    border-top-width: 0.2rem;
    width: calc(100% - 1.6rem);
  }
  .coupon-item .coupon-check-list-u_price {
    font-size: 1.6rem;
  }
  .coupon-item .coupon-check-list-u_price_num {
    font-size: 3.4rem;
  }
  .coupon-item .coupon-check-list-u_price_txt {
    font-size: 2rem;
  }
  .coupon-item .coupon-check-list-u_num {
    margin-top: 1.3rem;
    font-size: 1.6rem;
  }
  .coupon-item .coupon-check-list-d_price {
    font-size: 1.6rem;
  }
  .coupon-item .coupon-check-list-d_price_num {
    font-size: 3rem;
  }
  .coupon-item .coupon-check-list-d_price_txt {
    font-size: 1.6rem;
  }
  .coupon-available {
    margin: 5rem 0;
    padding: 0 2rem;
  }
  .coupon-available-item {
    padding: 9.5rem 4.5rem 7.5rem 4.5rem;
  }
  .coupon-unavailable {
    margin-top: 10rem;
    padding: 0 2rem;
  }
  .coupon-unavailable-item {
    padding: 7.5rem 4.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .coupon-item .coupon-check-list li {
    width: calc(33.333% - 2rem - 0.1px);
  }
}

.coupon-detail-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #990000;
  z-index: 100;
}

.coupon-detail-fixed .container {
  display: flex;
  padding: 1rem;
  align-items: center;
  text-align: center;
}

.coupon-detail-fixed .use {
  font-size: 1.2rem;
  color: #fff;
  line-height: 1.3;
  white-space: nowrap;
  text-align: left;
}

.coupon-detail-fixed .use .num {
  font-size: 2.2rem;
}

.coupon-detail-fixed .button {
  margin-left: auto;
  text-align: center;
}

.coupon-detail-fixed .button .c-btn01 {
  padding: 1.4rem 1.9rem;
  border-color: #fff;
  color: #990000;
}

/* stamprally
---------------------------------------------------------------*/
.stamprally-item .stamprally-available-item,
.stamprally-item .stamprally-unavailable-item {
  position: relative;
  margin-top: 1rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #E0E0E0;
  overflow: hidden;
}

.stamprally-item .stamprally-available-item:first-of-type,
.stamprally-item .stamprally-unavailable-item:first-of-type {
  margin-top: 0;
}

.stamprally-item a {
  position: relative;
  display: block;
  margin: -1.5rem;
  padding: 1.5rem 3rem 1.5rem 1.5rem;
}

.stamprally-item a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.stamprally-item .stamprally-inner {
  display: flex;
  flex-wrap: wrap;
}

.stamprally-item .stamprally-img {
  margin-right: 1rem;
  width: 10rem;
}

.stamprally-item .stamprally-txt {
  flex: 1;
}

.stamprally-item .stamprally-txt2 {
  margin-top: 1rem;
  width: 100%;
}

.stamprally-item .stamprally-title {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
}

.stamprally-item .stamprally-period {
  font-size: 1.3rem;
  line-height: 1.5;
}

.stamprally-item .stamprally-coupon {
  margin-top: 1rem;
}

/* stampcard
---------------------------------------------------------------*/
.stampcard-item .stampcard-available-item,
.stampcard-item .stampcard-unavailable-item {
  position: relative;
  margin-top: 1rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #E0E0E0;
  overflow: hidden;
}

.stampcard-item .stampcard-available-item:first-of-type,
.stampcard-item .stampcard-unavailable-item:first-of-type {
  margin-top: 0;
}

.stampcard-item a {
  position: relative;
  display: block;
  margin: -1.5rem;
  padding: 1.5rem 2.5rem 1.5rem 1.5rem;
}

.stampcard-item a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.stampcard-item .stampcard-shop {
  display: flex;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #E0E0E0;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.3;
  align-items: center;
}

.stampcard-item .stampcard-shop-img {
  display: block;
  margin-right: 1rem;
  width: 5.5rem;
}

.stampcard-item .stampcard-shop-name {
  display: block;
  flex: 1;
}

.stampcard-item .stampcard-shop-main {
  display: inline-block;
  font-size: 1.4rem;
}

.stampcard-item .stampcard-shop-ruby {
  display: inline-block;
  font-size: 1.4rem;
}

.stampcard-item .stampcard-name {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
}

.stampcard-item .stampcard-period {
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
  line-height: 1.5;
}

.stampcard-item .stampcard-description {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  line-height: 1.5;
}

.stampcard-item .stampcard-notes {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #990000;
}

.stampcard-item .stampcard-coupon {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E0E0E0;
}

/* Flat tabs
---------------------------------------------------------------*/
.flat-tabs table {
  width: 100%;
}

.flat-tabs table td {
  font-size: 1.4rem;
  color: #6e6e6e;
}

/* Style 1 */
.flat-tabs.style-1 .menu-tab {
  text-align: center;
}

.flat-tabs.style-1 .menu-tab li {
  position: relative;
  display: inline-block;
  margin-right: 0.4rem;
  padding: 0.9rem 1.9rem;
  border: 1px solid #e1e1e1;
  border-bottom: 0;
  font-size: 1.6rem;
  color: #6e6e6e;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.flat-tabs.style-1 .menu-tab li:last-child {
  margin-right: 0;
}

.flat-tabs.style-1 .menu-tab li::after {
  position: absolute;
  left: 0;
  bottom: 0;
  margin-bottom: -0.3rem;
  width: 100%;
  height: 0.3rem;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  content: "";
}

.flat-tabs.style-1 .menu-tab li.active {
  color: #333;
}

.flat-tabs.style-1 .menu-tab li.active::after {
  opacity: 1;
  visibility: visible;
}

.flat-tabs.style-1 .grid-flex {
  padding: 1.5rem;
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .flat-tabs.style-1 .grid-flex {
    display: flex;
    padding: 3rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.flat-tabs.style-1 .grid-flex .grid-item {
  float: none;
}

@media print, screen and (min-width: 768px) {
  .flat-tabs.style-1 .grid-flex .grid-item:nth-of-type(1) {
    width: 45%;
  }
  .flat-tabs.style-1 .grid-flex .grid-item:nth-of-type(2) {
    width: 55%;
  }
}

.flat-tabs.style-1 .grid-flex .text-wrap {
  padding-top: 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .flat-tabs.style-1 .grid-flex .text-wrap {
    padding: 0 0 0 5rem;
  }
}

.flat-tabs.style-1 .grid-flex > .text-wrap {
  width: 100%;
}

.flat-tabs.style-1 .icon {
  margin: -0.3rem -0.3rem 0.3rem -0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}

.flat-tabs.style-1 .icon li {
  display: inline-block;
  margin: 0.3rem;
  padding: 0.1rem 1rem;
  border: 2px solid #990000;
  background-color: #fff;
  color: #990000;
}

.flat-tabs.style-1 .title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .flat-tabs.style-1 .title2 {
    width: 100%;
  }
}

.flat-tabs.style-1 .price {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
  line-height: 1.8;
  text-align: center;
}

.flat-tabs.style-1 .description {
  font-size: 1.4rem;
  line-height: 1.8;
}

.flat-tabs.style-1 .others {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: #333;
  line-height: 1.8;
}

.flat-tabs.style-1 .others dt {
  font-weight: bold;
}

.flat-tabs.style-1 .others dt::after {
  content: "：";
}

.flat-tabs.style-1 .coupon-icon {
  margin: -0.3rem -0.3rem 0.7rem -0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}

.flat-tabs.style-1 .coupon-icon li {
  display: inline-block;
  margin: 0.3rem;
  padding: 0.1rem 0.8rem;
  border: 2px solid #990000;
  background-color: #fff;
  color: #990000;
}

.flat-tabs.style-1 .is-special .coupon-icon li {
  border-color: #990000;
  color: #990000;
}

.flat-tabs.style-1 .coupon-title {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: bold;
}

.flat-tabs.style-1 .coupon-description {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.flat-tabs.style-1 .coupon-period {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.7rem;
  font-weight: bold;
  color: #990000;
  line-height: 1.8;
  text-align: center;
}

.flat-tabs.style-1 .coupon-num {
  display: block;
  margin-bottom: 1.5rem;
  padding: 0.5rem 1rem;
  background: #FFECEE;
  font-size: 1.6rem;
  color: #990000;
  text-align: center;
}

.flat-tabs.style-1 .coupon-notes {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.flat-tabs.style-1 .stampcard-title {
  margin-top: 3rem;
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
}

.flat-tabs.style-1 .stampcard-txt02 {
  margin-top: 0.5rem;
  text-align: center;
}

.menu-slider .menu-image {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  overflow: hidden;
}

.menu-slider .menu-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.menu-slider .swiper-button-next,
.menu-slider .swiper-button-prev {
  width: 2.7rem;
  height: 4.4rem;
  margin-top: -2.2rem;
  color: #990000;
  outline: none;
}

.menu-slider .swiper-button-prev {
  left: 0;
}

.menu-slider .swiper-button-next {
  right: 0;
}

.menu-slider .swiper-button-next:after,
.menu-slider .swiper-button-prev:after {
  font-size: 3rem;
}

.menu-slider.swiper-container-horizontal .swiper-pagination-bullets {
  position: relative;
  margin-top: 0.5rem;
  bottom: 0;
}

.menu-slider .swiper-pagination-bullet-active {
  background-color: #990000;
}

.menu-sliders .menu-slider-thumb {
  margin-top: 1rem;
}

.menu-sliders .menu-slider-thumb .swiper-slide {
  cursor: pointer;
  transition: opacity 0.3s;
}

.menu-sliders .menu-slider-thumb .swiper-slide::before {
  position: absolute;
  top: 0;
  left: 0;
  border: 0.3rem solid #990000;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: opacity 0.3s, visibility 0.3s;
  content: "";
}

.menu-sliders .menu-slider-thumb .swiper-slide.is-active::before {
  opacity: 1;
  visibility: visible;
}

.menu-sliders .swiper-button-next,
.menu-sliders .swiper-button-prev {
  display: none;
}

.menu-sliders .menu-image {
  display: block;
  position: relative;
  padding-bottom: 75%;
  width: 100%;
  height: 0;
  background: #F5F5F0;
  overflow: hidden;
}

.menu-sliders .menu-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.menu-sliders.is-noslide .menu-slider-thumb {
  display: none;
}

.menu-images {
  width: 100%;
  text-align: center;
}

.menu-images li:not(:last-child) {
  margin-bottom: 1.5rem;
}

/* ===== icon ===== */
.fa-location-arrow {
  -webkit-transform: translate(-25%, 10%) rotate(-45deg);
          transform: translate(-25%, 10%) rotate(-45deg);
}

/* ===== MV ===== */
.mv01 {
  position: relative;
  display: flex;
  height: 50rem;
  background: transparent url("../img/mv01_sp.jpg") 50% 50% no-repeat;
  background-size: cover;
  align-items: center;
}

@media print, screen and (min-width: 768px) {
  .mv01 {
    height: calc(100vh - 12.5rem);
    min-height: 70rem;
    background-image: url("../img/mv01.jpg");
  }
}

.mv01::before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.15);
  content: "";
}

.mv01-title {
  margin-bottom: 1.5rem;
  font-size: 2.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}

@media print, screen and (min-width: 768px) {
  .mv01-title {
    margin-bottom: 3rem;
    font-size: 5.7rem;
  }
}

.mv01-search-item {
  display: flex;
  margin-bottom: 1.5rem;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .mv01-search-item {
    margin: 0 auto 4rem auto;
    width: 90rem;
  }
}

.mv01-category-item {
  position: relative;
  border: 1px solid #707070;
  border-radius: 0.5rem 0 0 0.5rem;
  width: 50%;
  background: #fff;
  overflow: hidden;
  z-index: 0;
}

.mv01-category-item::before {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  border-top: 0.7rem solid #707070;
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .mv01-category-item::before {
    right: 1.9rem;
    border-top-width: 1.6rem;
    border-left-width: 0.9rem;
    border-right-width: 0.9rem;
  }
}

.mv01-category-item select {
  padding: 1.5rem 2rem 1.5rem 1rem;
  border: 0;
  border-radius: 0;
  width: 100%;
  height: 5rem;
  background: transparent;
  font-weight: bold;
  color: #6E6E6E;
  line-height: 1;
  text-align: center;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media print, screen and (min-width: 768px) {
  .mv01-category-item select {
    padding: 2rem 3rem;
    height: 7rem;
    font-size: 2.6rem;
  }
}

.mv01-category-item select::-ms-expand {
  display: none;
}

.mv01-word-item {
  border: 1px solid #707070;
  border-left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
  width: 50%;
  background: #fff;
  overflow: hidden;
}

.mv01-word-item input[type="text"] {
  padding: 1.5rem 1rem;
  border: 0;
  height: 5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  color: #6E6E6E;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

@media print, screen and (min-width: 768px) {
  .mv01-word-item input[type="text"] {
    padding: 2rem 3rem;
    height: 7rem;
    font-size: 2.6rem;
  }
}

.mv01-word-item input[type="text"]:-ms-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.mv01-word-item input[type="text"]::-ms-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.mv01-word-item input[type="text"]::-webkit-input-placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.mv01-word-item input[type="text"]::placeholder {
  color: #6E6E6E;
  opacity: 1;
}

.mv01-tag-item {
  margin: -0.3rem;
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .mv01-tag-item {
    margin: -1rem;
    font-size: 1.8rem;
  }
}

.mv01-tag-item li {
  display: inline-block;
  margin: 0.3rem;
}

@media print, screen and (min-width: 768px) {
  .mv01-tag-item li {
    margin: 1rem;
  }
}

.mv01-tag-item label {
  display: block;
  position: relative;
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 3rem;
  background: rgba(0, 0, 0, 0.6);
  font: inherit;
  line-height: inherit;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

@media print, screen and (min-width: 768px) {
  .mv01-tag-item label {
    padding: 1.5rem 3rem;
  }
}

.mv01-tag-item label input {
  display: block;
  position: absolute;
  left: -100vw;
}

.mv01-tag-item label.is-active {
  background: #990000;
}

.mv01-button {
  margin-top: 1.5rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .mv01-button {
    margin-top: 4rem;
  }
}

.mv01-button .c-btn01 {
  width: 25rem;
  font-size: 1.8rem;
}

@media only screen and (max-width: 767px) {
  .mv01-button .c-btn01 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .mv01-button .c-btn01 {
    width: 35rem;
    font-size: 2.4rem;
  }
}

.mv01-button .c-btn01:hover {
  opacity: 1;
}

.mv01-button2 {
  margin-top: 2.5rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .mv01-button2 {
    margin-top: 4rem;
  }
}

.mv01-button2 .c-btn01 {
  width: 15rem;
  border-color: #fff;
}

@media print, screen and (min-width: 768px) {
  .mv01-button2 .c-btn01 {
    width: 23rem;
    font-size: 1.8rem;
  }
}

.mv02 {
  position: relative;
  display: flex;
  height: 7rem;
  align-items: center;
}

.mv02.is-bb {
  border-bottom: 1px solid #ccc;
}

.mv02-title {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

.mv02-title .ja {
  display: block;
  font-size: 2.7rem;
}

.mv02-title .en {
  display: block;
  font-size: 1.2rem;
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  text-transform: uppercase;
  color: #990000;
}

.mv02-back {
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 3rem;
  color: #990000;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.mv02-back a {
  display: flex;
  width: 4.4rem;
  height: 4.4rem;
  align-items: center;
  justify-content: center;
}

.mv02-cart {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.mv02-cart a {
  display: block;
  position: relative;
  border-radius: 100%;
  width: 4.4rem;
  height: 4.4rem;
  background: #F5F5F0;
  text-indent: 500%;
  white-space: nowrap;
  overflow: hidden;
}

.mv02-cart a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2.3rem;
  height: 2.4rem;
  background: transparent url(../img/icon_cart.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.mv02-cart.is-active a::after {
  position: absolute;
  top: 50%;
  right: 50%;
  border: 1px solid #F5F5F0;
  border-radius: 100%;
  width: 1.1rem;
  height: 1.1rem;
  background: #990000;
  -webkit-transform: translate(1.7rem, -1.4rem);
          transform: translate(1.7rem, -1.4rem);
  content: "";
}

.mv03 {
  position: relative;
  display: flex;
  height: 5rem;
  align-items: center;
}

.mv03.is-bb {
  border-bottom: 1px solid #ccc;
}

.mv03-title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

/* ===== news ===== */
.news {
  background: #990000;
  min-height: 4.5rem;
  color: #fff;
}

.news-item {
  padding: 1rem 0;
  font-size: 1.4rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .news-item {
    font-size: 1.8rem;
  }
}

/* ===== Step ===== */
.listStep {
  display: flex;
  margin-bottom: 3rem;
  font-size: 1.3rem;
  font-weight: bold;
  color: #333;
  counter-reset: step-cnt;
  justify-content: center;
}

.listStep li {
  position: relative;
  padding-top: 3.5rem;
  width: 20%;
  text-align: center;
  counter-increment: step-cnt;
}

.listStep li::before {
  display: flex;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 100%;
  width: 2.8rem;
  height: 2.8rem;
  background-color: #E0E0E0;
  top: 0;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  align-items: center;
  justify-content: center;
  content: counter(step-cnt);
}

.listStep li.is-current {
  color: #990000;
}

.listStep li.is-current::before {
  background-color: #990000;
  color: #fff;
}

.listStep.is-col1 li {
  width: 100%;
}

.listStep.is-col2 li {
  width: 50%;
}

.listStep.is-col3 li {
  width: 33.333%;
}

/* ===== Tab ===== */
.listTab {
  display: flex;
  margin: 0 -15px 4rem -15px;
  font-size: 1.6rem;
  font-weight: bold;
  justify-content: center;
}

.listTab.is-col2 li {
  width: 50%;
}

.listTab.is-col3 li {
  width: 33.333%;
}

.listTab a {
  display: block;
  position: relative;
  padding: 0.9rem 0.5rem;
  background: #E0E0E0;
  color: #707070;
  text-align: center;
  z-index: 10;
}

.listTab .is-active a {
  background-color: #990000;
  color: #fff;
}

.listTab .is-active a::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -0.7rem;
  border-top: 0.7rem solid #990000;
  border-bottom: 0;
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  content: "";
  z-index: 20;
}

/* ===== Sub Menu ===== */
.listSubMenu {
  display: flex;
  margin: -0.5rem -0.2rem;
  font-size: 1.5rem;
  font-weight: bold;
  justify-content: center;
}

.listSubMenu li {
  display: flex;
  margin: 0.5rem 0.2rem;
  width: calc(100% - 0.4rem - 0.1px);
  align-items: center;
}

.listSubMenu.is-col2 li {
  margin: 0.5rem 0.2rem;
  width: calc(50% - 0.4rem - 0.1px);
}

.listSubMenu a {
  display: block;
  position: relative;
  padding: 1.3rem;
  width: 100%;
  border: 2px solid #ccc;
  border-radius: 1rem;
  background: #fff;
}

.listSubMenu a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  font-size: 2.5rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.listSubMenu .is-red a {
  border-color: #990000;
  color: #990000;
}

.listSubMenu .is-red a::before {
  color: #990000;
}

/* Map
---------------------------------------------------------------*/
.gmap {
  height: calc(85vh - 8rem);
}

.gmap button:hover:before {
  display: none;
}

.gmap-infowindow {
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.5;
}

.gmap-infowindow-name {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
}

.gmap-infowindow-ruby {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
}

.gmap-infowindow-address {
  font-size: 1.3rem;
}

.gmap-infowindow-tel {
  font-size: 1.6rem;
}

.gmap-infowindow-coupon {
  margin-top: 0.5rem;
  padding-left: 3rem;
  background: transparent url("../img/icon_coupon.svg") 0 50% no-repeat;
  background-size: 2.3rem auto;
  font-size: 1.6rem;
  font-weight: bold;
}

.gmap-infowindow-link {
  margin-top: 1rem;
  font-size: 1.6rem;
}

.gmap-infowindow-link .themesflat-button {
  display: inline-block;
  padding: 0.5rem 3rem;
  border-radius: 0.5rem;
  width: 100%;
  background-color: #990000;
  color: #fff;
  line-height: inherit;
}

.stamprally-gmap {
  border: 0.2rem solid #422500;
  border-radius: 1.3rem;
  height: 45rem;
  background: #F7F6F3;
  overflow: hidden;
}

.stamprally-gmap-wrap {
  padding: 0.2rem;
  border: 0.2rem solid #422500;
  border-radius: 1.5rem;
  background: #AE8B6A;
}

.stamprally-gmap .gm-style-iw {
  padding: 0;
  max-width: initial !important;
  max-width: auto !important;
  max-height: initial !important;
  max-height: auto !important;
  width: 28rem;
  background-color: #C22122;
  color: #fff;
}

.stamprally-gmap .gm-style-iw-d {
  overflow: visible !important;
}

.stamprally-gmap .gm-style .gm-style-iw-t::after {
  background: linear-gradient(45deg, #C22122 50%, rgba(194, 33, 34, 0) 51%, rgba(194, 33, 34, 0) 100%);
}

.stamprally-gmap button:hover:before {
  display: none;
}

.stamprally-gmap button:focus {
  outline: none;
}

.stamprally-gmap-infowindow {
  padding: 1.4rem;
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.5;
}

.stamprally-gmap-infowindow-inner {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.stamprally-gmap-infowindow-image {
  position: relative;
  margin-right: 1rem;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
}

.stamprally-gmap-infowindow-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: initial;
  max-width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.stamprally-gmap-infowindow-text {
  flex: 1;
}

.stamprally-gmap-infowindow-name {
  font-size: 1.5rem;
  font-weight: bold;
}

.stamprally-gmap-infowindow-address {
  font-size: 1.2rem;
}

.stamprally-gmap-infowindow-hint {
  margin-top: 1rem;
  padding: 0.4rem 0.5rem 0.4rem 2.5rem;
  width: 100%;
  border-radius: 0.5rem;
  background: #fff url("../img/icon_hint.svg") 0.5rem 50% no-repeat;
  background-size: 1.7rem auto;
  font-size: 1.1rem;
  font-weight: 500;
  color: #333;
}

/* modal
---------------------------------------------------------------*/
.remodal_wrap.is-coupon-use {
  top: 50%;
  padding: 0;
  background: transparent;
  overflow: visible;
}

.remodal_wrap .remodal_shop_box {
  position: relative;
  border-radius: 2rem;
  background: #fff;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
  overflow: hidden;
}

.remodal_wrap .remodal_shop_box::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.5rem;
  background: #990000;
  content: "";
}

.remodal_wrap .remodal_shop_box_inner {
  padding: 3rem 0.5rem 1.5rem 0.5rem;
  max-height: calc(50vh - 10rem);
  overflow-y: auto;
}

.remodal_wrap .remodal_shop_box_ttl {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.remodal_wrap .remodal_shop_box_name {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.remodal_wrap .remodal_shop_box .price {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  color: #990000;
  line-height: 1;
}

.remodal_wrap .remodal_shop_box .price .num {
  font-size: 5.5rem;
  color: #990000;
}

.remodal_wrap .remodal_shop_box .line {
  display: inline-block;
  border-bottom: 0.5rem solid #990000;
}

.remodal_wrap .remodal_user_box {
  margin-top: 3.5rem;
}

.remodal_wrap .remodal_user_box_ttl {
  margin-bottom: 2rem;
  font-size: 2.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}

.remodal_wrap .remodal_btn .c-btn01 {
  width: 100%;
}

.remodal_wrap .remodal_ttl {
  margin: 0 -1rem 1.5rem -1rem;
  padding: 0 1rem 1rem 1rem;
  border-bottom: 1px solid #ccc;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.remodal_wrap .remodal_code_box {
  padding: 1rem 3rem;
}

.remodal_back {
  position: absolute;
  top: 0.5rem;
  left: 0;
  color: #fff;
}

/**
  * Name: Modaz
  * Version: 1.0
  * Author: Themesflat
  * Author URI: http://www.themesflat.com
*/
/* Repeatable Patterns
-------------------------------------------------------------- */
/* bootstrap resetting elements */
h1 {
  font-size: 4.8rem;
}

h2 {
  font-size: 2.4rem;
}

h3 {
  font-size: 2.2rem;
}

h5 {
  font-size: 1.8rem;
}

h6 {
  font-size: 1.4rem;
}

/* Extra classes
---------------------------------------------------------------*/
.text-accent {
  color: #990000 !important;
}

/**************************************************
		Pages
**************************************************/
/* Top
---------------------------------------------------------------*/
.p-top .top_ttl01 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .p-top .top_ttl01 {
    margin-bottom: 5rem;
    font-size: 3.2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .p-top .top_list01 {
    display: flex;
    margin: 0 -1rem;
    flex-wrap: wrap;
  }
}

.p-top .top_list01 > li {
  margin-bottom: 3rem;
}

@media print, screen and (min-width: 768px) {
  .p-top .top_list01 > li {
    margin: 0 1rem 5rem 1rem;
    width: calc(33.333% - 2rem);
  }
}

.p-top .top_list01 dt {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #990000;
}

.p-top .top_list01 ul {
  font-size: 1.8rem;
}

.p-top .top_list01 ul li {
  margin-bottom: 1.5rem;
}

.p-top .top_list01 a {
  text-decoration: underline;
}

/* Shop
---------------------------------------------------------------*/
/* ===== index ===== */
.p-shop .flat-row {
  padding-top: 1rem;
  padding-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop .product-threecolumn .product {
    margin: -1.5rem;
    width: auto;
  }
  .p-shop .product-threecolumn .product .product-item {
    margin: 1.5rem;
    width: calc(33.3333% - 3rem);
  }
}

.p-shop .shop_ttl01 {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  font-weight: bold;
}

.p-shop .shop_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 1.5rem 5rem 1.5rem;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop .shop_box01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-shop .shop_box02 {
  padding: 2rem 1.5rem;
  background: #fff;
}

.p-shop .product-pagination {
  margin-top: 3rem;
}

/* ===== detail ===== */
.shop-detail.flat-row {
  padding: 0 0 1.5rem 0;
}

.shop-detail .container {
  padding: 0 1.5rem;
}

.shop-detail .sec-pagelink {
  margin-top: -8rem;
  padding-top: 8rem;
}

.shop-detail_ttl {
  margin: 3rem 0 1rem 0;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.shop-detail_nav {
  position: relative;
  margin: 4rem -15px 0 -15px;
  padding: 1.5rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background: #E0E0E0;
  z-index: 10;
}

.shop-detail_nav ul {
  display: flex;
  margin: -0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: #990000;
  flex-wrap: wrap;
}

.shop-detail_nav li {
  margin: 0.5rem;
  width: calc(50% - 1rem - 0.1px);
}

.shop-detail_nav a {
  display: block;
  padding: 1rem 0;
  border-radius: 4rem;
  background: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .shop-detail_nav {
    display: none;
  }
}

.shop-detail-content {
  background: #F5F5F0;
}

.shop-detail-content.flat-row {
  padding: 0 0 5rem 0;
}

.shop-detail-content .container {
  padding: 0 1.5rem;
}

.shop-detail-content .sec-pagelink {
  margin-top: -8rem;
  padding-top: 8rem;
}

.shop-detail-content_ttl {
  position: relative;
  margin: 5rem 0 1rem 0;
  padding-top: 6.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.shop-detail-content_ttl::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  border-radius: 100%;
  width: 6rem;
  height: 6rem;
  background: #fff none 50% 50% no-repeat;
  content: "";
}

.shop-detail-content_ttl.is-stampcard::before {
  background-image: url(../img/icon_stampcard.svg);
  background-size: 3.7rem auto;
}

.shop-detail-content_ttl.is-coupon::before {
  background-image: url(../img/icon_coupon.svg);
  background-size: 4.2rem auto;
}

.shop-detail-content_ttl.is-menu::before {
  background-image: url(../img/icon_menu.svg);
  background-size: 2.7rem auto;
}

.shop-detail-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #990000;
  z-index: 100;
  transition: opacity 0.5s, visibility 0.5s, -webkit-transform 0.5s;
  transition: transform 0.5s, opacity 0.5s, visibility 0.5s;
  transition: transform 0.5s, opacity 0.5s, visibility 0.5s, -webkit-transform 0.5s;
}

.shop-detail-fixed.is-hide {
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  visibility: hidden;
}

.shop-detail-fixed .container {
  padding: 1.5rem;
  align-items: center;
  text-align: center;
}

.shop-detail-fixed .title {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.shop-detail-fixed .button {
  margin-left: auto;
  text-align: center;
}

.shop-detail-fixed .button .c-btn01 {
  border-color: #fff;
  width: 30rem;
  color: #990000;
}

.shop-detail-fixed .link {
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.shop-detail-fixed .link a {
  display: inline-block;
  position: relative;
  padding-left: 1.5rem;
  text-decoration: underline;
}

.shop-detail-fixed .link a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  font-size: 1.6rem;
  font-family: "FontAwesome";
  font-weight: normal;
  text-align: center;
  content: "\f101";
}

.shop-detail-fixed .button2 {
  display: flex;
  margin: 0 -0.5rem 1rem;
  justify-content: center;
}

.shop-detail-fixed .button2 li {
  margin: 0 0.5rem;
  min-width: calc(50% - 1rem - 0.1px);
  flex: 1;
}

.shop-detail-fixed .button2 .c-btn01 {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

/* ===== reservation ===== */
.p-shop-reservation .flat-row {
  padding-bottom: 6rem;
}

.p-shop-reservation .shop-reservation_box01 {
  margin-bottom: 3.5rem;
}

.p-shop-reservation .shop-reservation_txt01 {
  margin-top: 0.5rem;
  font-size: 1.3rem;
  color: #707070;
}

.p-shop-reservation .shop-reservation_txt02 {
  font-size: 1.4rem;
}

.p-shop-reservation .shop-reservation_btn {
  margin-top: 4rem;
}

.p-shop-reservation .shop-reservation_btn .c-btn01 {
  width: 30rem;
}

.p-shop-reservation-confirm .flat-row {
  padding-bottom: 6rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_box01 {
  margin-bottom: 0.1rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_box02 {
  margin-bottom: 1rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_box02 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_box02 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_box02 .p-form01_row.is-col2 .p-form01_head {
  width: 7.5em;
  text-align: right;
}

.p-shop-reservation-confirm .shop-reservation-confirm_txt01 {
  margin-top: 0.5rem;
  font-size: 1.3rem;
  color: #707070;
}

.p-shop-reservation-confirm .shop-reservation-confirm_txt02 {
  font-size: 1.4rem;
  text-align: right;
}

.p-shop-reservation-confirm .shop-reservation-confirm_txt03 {
  text-align: center;
}

.p-shop-reservation-confirm .shop-reservation-confirm_txt04 {
  text-align: center;
}

.p-shop-reservation-confirm .shop-reservation-confirm_line01 {
  margin: 2.5rem 0;
}

.p-shop-reservation-confirm .shop-reservation-confirm_btn {
  margin-top: 4rem;
}

.p-shop-reservation-confirm .shop-reservation-confirm_btn .c-btn01 {
  width: 30rem;
}

.p-shop-reservation-complete .flat-row {
  padding-bottom: 5rem;
}

.p-shop-reservation-complete .shop-reservation-complete_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-shop-reservation-complete .shop-reservation-complete_txt02 {
  text-align: center;
}

.p-shop-reservation-complete .shop-reservation-complete_line01 {
  margin: 5rem 0 1.5rem 0;
}

.p-shop-reservation-complete .shop-reservation-complete_btn {
  margin-top: 2rem;
}

.p-shop-reservation-complete .shop-reservation-complete_btn .c-btn01 {
  width: 30rem;
}

/* ===== takeout ===== */
.p-shop-takeout .flat-row {
  padding-bottom: 0;
}

.p-shop-takeout .shop-takeout_box01 {
  margin-bottom: 0.1rem;
}

.p-shop-takeout .shop-takeout_box02 {
  margin-bottom: 1rem;
}

.p-shop-takeout .shop-takeout_list01 {
  font-size: 1.4rem;
}

.p-shop-takeout .shop-takeout_list01 > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-shop-takeout .shop-takeout_list01 dl {
  display: flex;
  width: 100%;
}

.p-shop-takeout .shop-takeout_list01 dt {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  width: 7em;
  font-weight: normal;
  white-space: nowrap;
}

.p-shop-takeout .shop-takeout_list01 dt::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-shop-takeout .shop-takeout_list01 dd {
  flex: 1;
}

.p-shop-takeout .shop-takeout_txt01 {
  font-weight: bold;
  text-align: right;
}

.p-shop-takeout .shop-takeout_line01 {
  margin: 3rem -15px 0 -15px;
  width: calc(100% + 30px);
}

.p-shop-takeout .shop-takeout_nav {
  position: relative;
  margin: 0 -15px;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
  z-index: 10;
}

.p-shop-takeout .shop-takeout_nav ul {
  display: flex;
  font-size: 1.5rem;
  font-weight: bold;
  color: #990000;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.p-shop-takeout .shop-takeout_nav li {
  white-space: nowrap;
}

.p-shop-takeout .shop-takeout_nav a {
  display: block;
  padding: 1.7rem 1.5rem;
}

.p-shop-takeout .shop-takeout_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 3rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop-takeout .shop-takeout_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-shop-takeout .shop-takeout_sec02 {
  margin-top: -8rem;
  margin-bottom: 2rem;
  padding-top: 10rem;
}

.p-shop-takeout .shop-takeout_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.p-shop-takeout .shop-takeout_list02 {
  position: relative;
}

.p-shop-takeout .shop-takeout_list02 li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-shop-takeout .shop-takeout_list02 a {
  display: block;
}

.p-shop-takeout-detail .flat-row {
  padding-bottom: 0;
}

.p-shop-takeout-detail.p-shop-takeout-change .flat-row {
  padding-top: 4.5rem;
}

.p-shop-takeout-detail .shop-takeout-detail_ttl01 {
  font-size: 2.4rem;
  font-weight: bold;
}

.p-shop-takeout-detail .shop-takeout-detail_txt01 {
  margin-top: 0.5rem;
  font-weight: bold;
}

.p-shop-takeout-detail .shop-takeout-detail_txt02 {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #ccc;
}

.p-shop-takeout-detail .shop-takeout-detail_price {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: right;
}

.p-shop-takeout-detail .shop-takeout-detail_list01 .p-form01_head {
  display: block;
  margin-bottom: 0;
  padding: 0.5rem 1.5rem;
  background: #fff;
  font-size: 1.8rem;
}

.p-shop-takeout-detail .shop-takeout-detail_list01 > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-shop-takeout-detail .shop-takeout-detail_list01 .js-check-limit .c-checkbox01 input:disabled + .text {
  color: #ccc;
}

.p-shop-takeout-detail .shop-takeout-detail_sec01 {
  position: relative;
  margin: 3rem -15px 0 -15px;
  padding-bottom: 5rem;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop-takeout-detail .shop-takeout-detail_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-shop-takeout-detail .shop-takeout-detail_list02 {
  display: flex;
  padding: 1.5rem;
  font-weight: bold;
  align-items: center;
  justify-content: flex-end;
}

.p-shop-takeout-detail .shop-takeout-detail_list02 dt {
  margin-right: 1em;
  font-size: 1.4rem;
}

.p-shop-takeout-detail .shop-takeout-detail_list02 dd {
  font-size: 1.6rem;
}

.p-shop-takeout-detail .shop-takeout-detail_list02 .num {
  font-size: 2.4rem;
  line-height: 1;
}

.p-shop-takeout-detail .shop-takeout-detail_btn {
  margin-top: 1.5rem;
}

.p-shop-takeout-detail .shop-takeout-detail_btn .c-btn01 {
  width: 30rem;
}

.p-shop-takeout-detail .shop-takeout-detail_btn .c-btn01.is-small {
  width: 15rem;
}

.p-shop-takeout-detail .shop-takeout-detail_back {
  position: absolute;
  top: -4.5rem;
  left: 0;
  font-size: 3rem;
  color: #990000;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

.p-shop-takeout-detail .shop-takeout-detail_back a {
  display: flex;
  width: 4.4rem;
  height: 4.4rem;
  align-items: center;
  justify-content: center;
}

.p-shop-takeout-add .flat-row {
  padding-bottom: 6rem;
}

.p-shop-takeout-add .shop-takeout-add_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-shop-takeout-add .shop-takeout-add_btn {
  margin-top: 3rem;
}

.p-shop-takeout-add .shop-takeout-add_btn .c-btn01 {
  width: 30rem;
}

.p-shop-takeout-list .flat-row {
  padding-bottom: 0;
}

.p-shop-takeout-list .shop-takeout-list_txt01 {
  margin-bottom: 1rem;
}

.p-shop-takeout-list .shop-takeout-list_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 1.5rem;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop-takeout-list .shop-takeout-list_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-shop-takeout-list .shop-takeout-list_ttl02 {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-shop-takeout-list .shop-takeout-list_list01 {
  position: relative;
}

.p-shop-takeout-list .shop-takeout-list_list01 > li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-shop-takeout-list .shop-takeout-list_list01 a {
  display: block;
}

.p-shop-takeout-list .shop-takeout-list_sec02 {
  position: relative;
  margin: 0 -15px;
  padding: 1rem 1.5rem;
  background: #707070;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-shop-takeout-list .shop-takeout-list_sec02::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #707070;
    content: "";
    z-index: -1;
  }
}

.p-shop-takeout-list .shop-takeout-list_list02 {
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  align-items: center;
  justify-content: flex-end;
}

.p-shop-takeout-list .shop-takeout-list_list02 dt {
  margin-right: 1em;
}

.p-shop-takeout-list .shop-takeout-list_list02 .num {
  font-size: 2.4rem;
  line-height: 1;
}

.p-shop-takeout-list .shop-takeout-list_sec03 {
  position: relative;
  padding: 3rem 0 5rem 0;
}

.p-shop-takeout-list .shop-takeout-list_txt02 {
  margin-top: 0.5rem;
}

.p-shop-takeout-list .shop-takeout-list_sec04 {
  padding-bottom: 5rem;
}

.p-shop-takeout-list .shop-takeout-list_box01 {
  margin-left: -15px;
  margin-right: -15px;
  padding: 3.5rem 1.5rem;
}

.p-shop-takeout-list .shop-takeout-list_txt03 {
  font-weight: bold;
  text-align: center;
}

.p-shop-takeout-list .shop-takeout-list_btn {
  margin-top: 4rem;
}

.p-shop-takeout-list .shop-takeout-list_btn .c-btn01 {
  width: 30rem;
}

.p-shop-takeout-confirm .flat-row {
  padding-bottom: 6rem;
}

.p-shop-takeout-confirm .shop-takeout-confirm_box01 {
  margin-bottom: 3rem;
}

.p-shop-takeout-confirm .shop-takeout-confirm_box01 .p-takeout_box02_list01 {
  border-bottom: 1px solid #ccc;
}

.p-shop-takeout-confirm .shop-takeout-confirm_txt01 {
  margin-top: 0.5rem;
  font-size: 1.3rem;
  color: #707070;
}

.p-shop-takeout-confirm .shop-takeout-confirm_txt02 {
  text-align: center;
}

.p-shop-takeout-confirm .shop-takeout-confirm_txt03 {
  text-align: center;
}

.p-shop-takeout-confirm .shop-takeout-confirm_line01 {
  margin: 2.5rem 0;
}

.p-shop-takeout-confirm .shop-takeout-confirm_btn {
  margin-top: 4rem;
}

.p-shop-takeout-confirm .shop-takeout-confirm_btn .c-btn01 {
  width: 30rem;
}

.p-shop-takeout-complete .flat-row {
  padding-bottom: 5rem;
}

.p-shop-takeout-complete .shop-takeout-complete_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-shop-takeout-complete .shop-takeout-complete_txt02 {
  text-align: center;
}

.p-shop-takeout-complete .shop-takeout-complete_line01 {
  margin: 5rem 0 1.5rem 0;
}

.p-shop-takeout-complete .shop-takeout-complete_btn {
  margin-top: 2rem;
}

.p-shop-takeout-complete .shop-takeout-complete_btn .c-btn01 {
  width: 30rem;
}

/* Map
---------------------------------------------------------------*/
/* ===== index ===== */
.p-map .flat-row {
  padding-top: 1rem;
  padding-bottom: 6rem;
}

.p-map .gmap {
  margin-bottom: 3rem;
}

.p-map .map_txt01 {
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-map .map_btn01 {
  text-align: center;
}

.p-map .map_btn01 .c-btn01 {
  width: 25rem;
}

/* ===== here ===== */
.p-map-here .flat-row {
  padding-top: 1rem;
  padding-bottom: 0;
}

.p-map-here .gmap {
  margin-bottom: 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .p-map-here .product-threecolumn .product {
    margin: -1.5rem;
    width: auto;
  }
  .p-map-here .product-threecolumn .product .product-item {
    margin: 1.5rem;
    width: calc(33.3333% - 3rem);
  }
}

.p-map-here .map-here_ttl01 {
  font-size: 2.6rem;
  font-weight: bold;
}

.p-map-here .map-here_txt01 {
  margin-bottom: 1.5rem;
}

.p-map-here .map-here_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 1.5rem 5rem 1.5rem;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-map-here .map-here_box01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-map-here .product-pagination {
  margin-top: 3rem;
}

/* Coupon
---------------------------------------------------------------*/
.p-coupon .flat-row {
  padding-bottom: 6rem;
}

.p-coupon .coupon-available-item > a {
  padding-bottom: 1.5rem;
}

.p-coupon .coupon_txt01 {
  margin-bottom: 2rem;
  text-align: center;
}

.p-coupon .listSubMenu {
  margin-bottom: 2.5rem;
}

.p-coupon .listSubMenu .sub {
  display: block;
  margin-left: -0.5em;
  font-size: 1.3rem;
  font-weight: normal;
}

.p-coupon .coupon-pagination {
  margin-top: 4rem;
}

.p-coupon .coupon-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

.p-coupon-detail .flat-row {
  padding-bottom: 6rem;
}

.p-coupon-detail .coupon-detail_box01 {
  margin-top: 3rem;
}

.p-coupon-detail .coupon-detail_txt01 {
  display: block;
  margin-bottom: 1.5rem;
  padding: 0.5rem 1rem;
  background: #FFECEE;
  font-size: 1.6rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-coupon-detail .coupon-detail_txt02 {
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
}

.p-coupon-detail .product-detail .product-quantity {
  margin: 0;
}

.p-coupon-detail .product-detail .cnt {
  width: 10rem;
}

.p-coupon-detail .product-detail .add-to-cart {
  flex: 1;
}

.p-coupon-detail .product-detail .add-to-cart .c-btn01 {
  width: 100%;
}

.p-coupon-complete .flat-row {
  padding-bottom: 6rem;
}

.p-coupon-complete .coupon-complete_box01 {
  margin-top: 3rem;
}

.p-coupon-complete .coupon-complete_txt01 {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

.p-coupon-complete .coupon-complete_list01 {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  text-align: center;
}

.p-coupon-complete .coupon-complete_box02 {
  margin-top: 5rem;
}

.p-coupon-complete .coupon-complete_ttl02 {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1.2em;
  font-size: 1.6rem;
}

.p-coupon-complete .coupon-complete_ttl02::before {
  position: absolute;
  left: 0;
  content: "●";
}

.p-coupon-complete .coupon-complete_txt02 {
  margin-bottom: 4rem;
  font-size: 1.6rem;
}

.p-coupon-complete .coupon-complete_txt02:last-of-type {
  margin-bottom: 0;
}

.p-coupon-code .flat-row {
  padding-bottom: 6rem;
}

.p-coupon-code .coupon-code_txt01 {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

.p-coupon-code .coupon-code_list01 {
  margin-bottom: 3rem;
  font-size: 1.6rem;
}

.p-coupon-code .coupon-code_input {
  position: relative;
  margin-bottom: 4rem;
}

.p-coupon-code .coupon-code_input .c-input01, .p-coupon-code .coupon-code_input .c-textarea01 {
  padding: 0.9rem 0.9rem 0.9rem 1.6em;
  height: auto;
  font-size: 2.4rem;
  font-weight: bold;
}

.p-coupon-code .coupon-code_btn {
  text-align: center;
}

.p-coupon-code .coupon-code_btn .c-btn01 {
  width: 30rem;
}

.p-coupon-error .coupon-error_ttl01 {
  margin-bottom: 3rem;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-coupon-error .coupon-error_ttl02 {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 1.2em;
  font-size: 1.6rem;
}

.p-coupon-error .coupon-error_ttl02::before {
  position: absolute;
  left: 0;
  content: "●";
}

.p-coupon-error .coupon-error_txt01 {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

.p-coupon-error .coupon-error_list01 {
  margin-bottom: 5rem;
  font-size: 1.6rem;
  text-align: center;
}

/* Mypage
---------------------------------------------------------------*/
.mypage-top-area {
  position: relative;
  padding-top: 2rem;
}

.mypage-top-links {
  position: absolute;
  top: -2rem;
  right: 0;
  font-size: 1.4rem;
  color: #333;
  text-align: right;
}

.mypage-top-links li {
  display: inline-block;
  margin-left: 2rem;
}

.mypage-top-links.is-left {
  left: 0;
  right: auto;
  text-align: left;
}

.mypage-top-links.is-left li {
  margin-left: 0;
  margin-right: 2rem;
}

/* ===== index ===== */
.p-mypage .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-mypage .mypage_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-mypage .mypage_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-mypage .mypage_list01 li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage .mypage_list01 a {
  display: block;
  position: relative;
  padding: 1rem 3.5rem 1rem 1.5rem;
  border: 1px solid #ccc;
  background: #fff;
}

.p-mypage .mypage_list01 a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.4rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.p-mypage .mypage_list01_ttl {
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
}

.p-mypage .mypage_list01_txt {
  margin-top: 0.3rem;
  font-size: 1.4rem;
}

/* ===== reservation ===== */
.p-mypage-reservation .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-mypage-reservation .mypage-reservation_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 15px 4rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-mypage-reservation .mypage-reservation_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-mypage-reservation .mypage-reservation_list01 > li {
  position: relative;
  padding: 1.5rem;
  border: 1px solid #ccc;
  background: #fff;
}

.p-mypage-reservation .mypage-reservation_list01 > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-reservation .mypage-reservation_list02 dt {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.p-mypage-reservation .mypage-reservation_list02 dd {
  font-size: 1.4rem;
}

.p-mypage-reservation .mypage-reservation_list02 dd:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-reservation .mypage-reservation_list03 dt {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.p-mypage-reservation .mypage-reservation_list03 dd {
  font-size: 1.3rem;
}

.p-mypage-reservation .mypage-reservation_list03 dd:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-reservation .mypage-reservation_box01 {
  margin-bottom: 0.1rem;
}

.p-mypage-reservation .mypage-reservation_box02 {
  margin-bottom: 2rem;
}

.p-mypage-reservation .mypage-reservation_box02 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-reservation .mypage-reservation_box02 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-mypage-reservation .mypage-reservation_box02 .p-form01_row.is-col2 .p-form01_head {
  width: 7.5em;
}

.p-mypage-reservation .mypage-reservation_box03 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-reservation .mypage-reservation_box03 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-mypage-reservation .mypage-reservation_box04 {
  margin-bottom: 1.5rem;
}

.p-mypage-reservation .mypage-reservation_box05 {
  margin-bottom: 1rem;
}

.p-mypage-reservation .mypage-reservation_box06 {
  margin-top: 2rem;
}

.p-mypage-reservation .mypage-reservation_box06 .toggle-title {
  display: block;
  position: relative;
  padding: 0.7rem 1.4rem;
  border: 1px solid #ccc;
  border-radius: 5rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.p-mypage-reservation .mypage-reservation_box06 .toggle-title span {
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}

.p-mypage-reservation .mypage-reservation_box06 .toggle-title span::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  border-top: 0.7rem solid #333;
  border-bottom: 0;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  content: "";
}

.p-mypage-reservation .mypage-reservation_box06 .toggle-title.active span::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}

.p-mypage-reservation .mypage-reservation_box06 .toggle-content {
  margin-top: 1rem;
  padding: 1.5rem;
  background: #F5F5F0;
}

.p-mypage-reservation .mypage-reservation_btn01 {
  margin-top: 2rem;
}

.p-mypage-reservation .mypage-reservation_btn01 .c-btn01 {
  width: 26rem;
}

.p-mypage-reservation-cancel .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_txt01 {
  margin-bottom: 2rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box01 {
  margin-bottom: 0.1rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box02 {
  margin-bottom: 2rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box02 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box02 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box02 .p-form01_row.is-col2 .p-form01_head {
  width: 7.5em;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box03 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_box03 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_btn {
  margin-top: 4rem;
}

.p-mypage-reservation-cancel .mypage-reservation-cancel_btn .c-btn01 {
  width: 30rem;
}

.p-mypage-reservation-complete .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-reservation-complete .mypage-reservation-complete_txt01 {
  margin-bottom: 1rem;
  text-align: center;
}

.p-mypage-reservation-complete .mypage-reservation-complete_btn {
  margin-top: 3rem;
  text-align: center;
}

.p-mypage-reservation-complete .mypage-reservation-complete_btn .c-btn01 {
  width: 30rem;
}

/* ===== takeout ===== */
.p-mypage-takeout .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-mypage-takeout .mypage-takeout_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 15px 4rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-mypage-takeout .mypage-takeout_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-mypage-takeout .mypage-takeout_list01 > li {
  position: relative;
  padding: 1.5rem;
  border: 1px solid #ccc;
  background: #fff;
}

.p-mypage-takeout .mypage-takeout_list01 > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-takeout .mypage-takeout_list02 dt {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.p-mypage-takeout .mypage-takeout_list02 dd {
  font-size: 1.4rem;
}

.p-mypage-takeout .mypage-takeout_list02 dd:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-takeout .mypage-takeout_list03 dt {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.p-mypage-takeout .mypage-takeout_list03 dd {
  font-size: 1.3rem;
}

.p-mypage-takeout .mypage-takeout_list03 dd:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-takeout .mypage-takeout_list04 {
  font-size: 1.4rem;
}

.p-mypage-takeout .mypage-takeout_list04 > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-mypage-takeout .mypage-takeout_list04 li:not(.mypage-takeout_list04_reserve) dl {
  display: flex;
  width: 100%;
}

.p-mypage-takeout .mypage-takeout_list04 li:not(.mypage-takeout_list04_reserve) dt {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  width: 7em;
  font-weight: normal;
  white-space: nowrap;
}

.p-mypage-takeout .mypage-takeout_list04 li:not(.mypage-takeout_list04_reserve) dt::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-mypage-takeout .mypage-takeout_list04 li:not(.mypage-takeout_list04_reserve) dd {
  flex: 1;
}

.p-mypage-takeout .mypage-takeout_list04 li.mypage-takeout_list04_reserve {
  margin-top: 1rem;
}

.p-mypage-takeout .mypage-takeout_list04 li.mypage-takeout_list04_reserve dl {
  border: 1px solid #990000;
}

.p-mypage-takeout .mypage-takeout_list04 li.mypage-takeout_list04_reserve dt {
  padding: 0.3rem;
  background: #990000;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.p-mypage-takeout .mypage-takeout_list04 li.mypage-takeout_list04_reserve dd {
  padding: 0.4rem;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-mypage-takeout .mypage-takeout_box02 {
  margin-top: -1.5rem;
}

.p-mypage-takeout .mypage-takeout_box03 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-takeout .mypage-takeout_box03 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-mypage-takeout .mypage-takeout_box04 {
  margin-bottom: 1.5rem;
}

.p-mypage-takeout .mypage-takeout_box05 {
  margin-bottom: 1rem;
}

.p-mypage-takeout .mypage-takeout_box06 {
  margin-top: 2rem;
}

.p-mypage-takeout .mypage-takeout_box06 .toggle-title {
  display: block;
  position: relative;
  padding: 0.7rem 1.4rem;
  border: 1px solid #ccc;
  border-radius: 5rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.p-mypage-takeout .mypage-takeout_box06 .toggle-title span {
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}

.p-mypage-takeout .mypage-takeout_box06 .toggle-title span::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  border-top: 0.7rem solid #333;
  border-bottom: 0;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  content: "";
}

.p-mypage-takeout .mypage-takeout_box06 .toggle-title.active span::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}

.p-mypage-takeout .mypage-takeout_box06 .toggle-content {
  margin-top: 1rem;
  padding: 1.5rem;
  background: #F5F5F0;
}

.p-mypage-takeout .mypage-takeout_box07 {
  margin-bottom: 3rem;
  border-top: 1px solid #ccc;
}

.p-mypage-takeout .mypage-takeout_box07 .p-takeout_box02_list01 {
  border-bottom: 1px solid #ccc;
}

.p-mypage-takeout .mypage-takeout_btn01 {
  margin-top: 2rem;
}

.p-mypage-takeout .mypage-takeout_btn01 .c-btn01 {
  width: 26rem;
}

.p-mypage-takeout-cancel .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_txt01 {
  margin-bottom: 2rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box01 {
  margin-bottom: 0.1rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box02 {
  margin-top: -1.5rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box03 .p-form01.is-confirm {
  font-size: 1.4rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box03 .p-form01.is-confirm > li:not(:last-child) {
  margin-bottom: 1rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box04 {
  margin-bottom: 3rem;
  border-top: 1px solid #ccc;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_box04 .p-takeout_box02_list01 {
  border-bottom: 1px solid #ccc;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 {
  font-size: 1.4rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li:not(.mypage-takeout-cancel_list01_reserve) dl {
  display: flex;
  width: 100%;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li:not(.mypage-takeout-cancel_list01_reserve) dt {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  width: 7em;
  font-weight: normal;
  white-space: nowrap;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li:not(.mypage-takeout-cancel_list01_reserve) dt::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li:not(.mypage-takeout-cancel_list01_reserve) dd {
  flex: 1;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li.mypage-takeout-cancel_list01_reserve {
  margin-top: 1rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li.mypage-takeout-cancel_list01_reserve dl {
  border: 1px solid #990000;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li.mypage-takeout-cancel_list01_reserve dt {
  padding: 0.3rem;
  background: #990000;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_list01 li.mypage-takeout-cancel_list01_reserve dd {
  padding: 0.4rem;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_btn {
  margin-top: 4rem;
}

.p-mypage-takeout-cancel .mypage-takeout-cancel_btn .c-btn01 {
  width: 30rem;
}

.p-mypage-takeout-complete .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-takeout-complete .mypage-takeout-complete_txt01 {
  margin-bottom: 1rem;
  text-align: center;
}

.p-mypage-takeout-complete .mypage-takeout-complete_btn {
  margin-top: 3rem;
  text-align: center;
}

.p-mypage-takeout-complete .mypage-takeout-complete_btn .c-btn01 {
  width: 30rem;
}

/* ===== profile ===== */
.p-mypage-profile .flat-row {
  padding-top: 2rem;
  padding-bottom: 6rem;
}

.p-mypage-profile .mypage-profile_box01 {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #F5F5F0;
  text-align: center;
}

.p-mypage-profile .mypage-profile_ttl01 {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.3rem 2rem;
  border-radius: 5rem;
  background: #fff;
  font-size: 1.4rem;
  color: #4ECD00;
  text-align: center;
}

.p-mypage-profile .mypage-profile_list01 {
  text-align: left;
}

.p-mypage-profile .mypage-profile_list01 .p-form01_row.is-col2 {
  align-items: center;
  justify-content: center;
}

.p-mypage-profile .mypage-profile_list01 .p-form01_row.is-col2 .p-form01_head {
  font-size: 1.4rem;
}

.p-mypage-profile .mypage-profile_list01 .p-form01_row.is-col2 .p-form01_data {
  font-size: 2rem;
  font-weight: bold;
}

.p-mypage-profile .mypage-profile_box02 {
  margin-bottom: 2rem;
}

.p-mypage-profile .mypage-profile_list02 {
  font-size: 1.6rem;
  font-weight: bold;
}

.p-mypage-profile .mypage-profile_list02 > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-profile .mypage-profile_list02 a {
  display: block;
  position: relative;
  padding: 1.9rem 2.9rem 2.4rem 1.4rem;
  border: 1px solid #E0E0E0;
  border-radius: 0.5rem;
}

.p-mypage-profile .mypage-profile_list02 a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.4rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.p-mypage-profile .mypage-profile_list02_main {
  display: block;
}

.p-mypage-profile .mypage-profile_list02_sub {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
}

.p-mypage-profile .mypage-profile_list02_extra {
  display: block;
  position: absolute;
  bottom: 0.7rem;
  right: 3rem;
  padding: 0.1rem 1rem;
  border-radius: 5rem;
  background: #F5F5F0;
  font-size: 1.1rem;
  font-weight: normal;
}

.p-mypage-profile .mypage-profile_list02_btnTomap a {
  padding-left: 9rem;
}

.p-mypage-profile .mypage-profile_list02_btnTomap a::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.4rem;
  width: 6.5rem;
  height: 4rem;
  background: transparent url(../img/icon_tomap.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-mypage-profile .mypage-profile_txt01 {
  margin-bottom: 2rem;
}

.p-mypage-profile .mypage-profile_txt02 {
  font-size: 1.2rem;
  text-align: right;
}

.p-mypage-profile .mypage-profile_btn {
  margin-top: 4rem;
}

.p-mypage-profile .mypage-profile_btn .c-btn01 {
  width: 30rem;
}

.p-mypage-profile-input .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-profile-input #tomap {
  margin-top: -10rem;
  padding-top: 10rem;
}

.p-mypage-profile-input #tomap .p-form01_row {
  position: relative;
}

.p-mypage-profile-input #tomap .p-form01_row::before {
  position: absolute;
  top: -0.7rem;
  right: 0;
  width: 5rem;
  height: 3rem;
  background: transparent url(../img/icon_tomap.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-mypage-profile-input .mypage-profile-input_txt01 {
  margin-bottom: 2rem;
}

.p-mypage-profile-input .mypage-profile-input_list01 > dt {
  margin-bottom: 0.5rem;
  font-weight: bold;
}

.p-mypage-profile-input .mypage-profile-input_list01 > dt::before {
  content: "【";
}

.p-mypage-profile-input .mypage-profile-input_list01 > dt::after {
  content: "】";
}

.p-mypage-profile-input .mypage-profile-input_list01 > dd:not(:last-child) {
  margin-bottom: 2rem;
}

.p-mypage-profile-input .mypage-profile-input_btn {
  margin-top: 4rem;
  text-align: center;
}

.p-mypage-profile-input .mypage-profile-input_btn .c-btn01 {
  width: 30rem;
}

.p-mypage-profile-confirm .flat-row {
  padding-bottom: 6rem;
}

.p-mypage-profile-confirm .mypage-profile-confirm_txt01 {
  margin-bottom: 2rem;
}

.p-mypage-profile-confirm .mypage-profile-confirm_btn {
  margin-top: 4rem;
  text-align: center;
}

.p-mypage-profile-confirm .mypage-profile-confirm_btn .c-btn01 {
  width: 30rem;
}

.p-mypage-profile-complete .flat-row {
  padding-bottom: 8rem;
}

.p-mypage-profile-complete .mypage-profile-complete_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.p-mypage-profile-complete .mypage-profile-complete_txt01 {
  margin-bottom: 2rem;
  text-align: center;
}

.p-mypage-profile-complete .mypage-profile-complete_btn {
  text-align: center;
}

.p-mypage-profile-complete .mypage-profile-complete_btn .c-btn01 {
  width: 30rem;
}

/* ===== tomap ===== */
.p-mypage-profile-tomap .flat-row {
  padding: 0;
}

.p-mypage-profile-tomap .container {
  padding: 1rem 2.5rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_logo {
  margin-bottom: 4rem;
  text-align: center;
}

.p-mypage-profile-tomap .mypage-profile-tomap_logo img {
  width: 35rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_ttl {
  margin: 7.5rem 0 1.5rem 0;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-mypage-profile-tomap .mypage-profile-tomap_txt {
  margin-bottom: 3.5rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_btn li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_btn .c-btn01 {
  width: 100%;
}

.p-mypage-profile-tomap .mypage-profile-tomap_btn .c-btn01_main {
  margin-top: -0.8rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_btn .c-btn01_sub {
  margin-bottom: -0.8rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_img {
  margin-bottom: 5rem;
  text-align: center;
}

.p-mypage-profile-tomap .mypage-profile-tomap_img img {
  width: 21.5rem;
}

.p-mypage-profile-tomap .mypage-profile-tomap_list {
  margin: 1.5rem 0 3rem 0;
  font-size: 1.8rem;
  text-align: center;
}

.p-mypage-profile-tomap .mypage-profile-tomap_list_name {
  font-weight: bold;
}

.p-mypage-profile-tomap .mypage-profile-tomap_close {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

/* ===== coupon ===== */
.p-mypage-coupon .coupon-available-item > a {
  padding-bottom: 1.5rem;
}

.p-mypage-coupon .mypage-coupon_ttl01 {
  position: relative;
  margin-bottom: 1rem;
  padding-top: 7rem;
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-mypage-coupon .mypage-coupon_ttl01::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  border-radius: 100%;
  width: 6rem;
  height: 6rem;
  background: #990000 url(../img/icon_coupon_white.svg) 50% 50% no-repeat;
  background-size: 4.2rem auto;
  content: "";
}

.p-mypage-coupon .mypage-coupon_txt01 {
  margin-bottom: 2rem;
  text-align: center;
}

.p-mypage-coupon .mypage-coupon_list01 {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  text-align: center;
}

.p-mypage-coupon .coupon-pagination {
  margin-top: 4rem;
}

.p-mypage-coupon .coupon-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

.p-mypage-coupon-detail .flat-row {
  padding-bottom: 10rem;
}

.p-mypage-coupon-detail .coupon-item .coupon-check {
  margin-top: 0;
}

.p-mypage-coupon-detail .mypage-coupon-detail_box01 {
  margin-top: 3.5rem;
}

.p-mypage-coupon-detail .mypage-coupon-detail_ttl01 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}

.p-mypage-coupon-detail .mypage-coupon-detail_txt01 {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

.p-mypage-coupon-detail.is-special .remodal-overlay {
  background: #990000 url(../img/bg_modal_special.png) 50% 50% repeat;
  background-size: 8.7rem auto;
}

.p-mypage-coupon-complete .flat-row {
  padding-bottom: 8rem;
}

.p-mypage-coupon-complete .mypage-coupon-complete_ttl01 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.p-mypage-coupon-complete .mypage-coupon-complete_box {
  display: flex;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #F5F5F0;
  align-items: center;
}

.p-mypage-coupon-complete .mypage-coupon-complete_box_inner01 {
  margin-right: 1rem;
  flex: 1;
}

.p-mypage-coupon-complete .mypage-coupon-complete_box_inner02 {
  width: 8rem;
}

.p-mypage-coupon-complete .mypage-coupon-complete_ttl02 {
  font-size: 1.8rem;
  font-weight: bold;
}

.p-mypage-coupon-complete .mypage-coupon-complete_ttl02_name {
  display: block;
}

.p-mypage-coupon-complete .mypage-coupon-complete_ttl02_ruby {
  display: block;
  font-size: 1rem;
  color: #707070;
}

.p-mypage-coupon-complete .mypage-coupon-complete_box2 {
  margin: 2rem 0 3rem 0;
  text-align: center;
}

.p-mypage-coupon-complete .mypage-coupon-complete_txt01 {
  font-size: 1.6rem;
}

.p-mypage-coupon-complete .mypage-coupon-complete_txt02 {
  font-size: 1.2rem;
  color: #707070;
}

.p-mypage-coupon-complete .mypage-coupon-complete_btn {
  text-align: center;
}

.p-mypage-coupon-complete .mypage-coupon-complete_btn .c-btn01 {
  width: 30rem;
}

/* ===== stamprally ===== */
.p-mypage-stamprally .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-mypage-stamprally .mypage-stamprally_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 15px 4rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-mypage-stamprally .mypage-stamprally_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-mypage-stamprally .mypage-stamprally_txt01 {
  margin-bottom: 2rem;
  text-align: center;
}

.p-mypage-stamprally .stamprally-pagination {
  margin-top: 4rem;
}

.p-mypage-stamprally .stamprally-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

/* ===== stampcard ===== */
.p-mypage-stampcard .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-mypage-stampcard .mypage-stampcard_sec01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 15px 4rem 15px;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-mypage-stampcard .mypage-stampcard_sec01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-mypage-stampcard .mypage-stampcard_txt01 {
  margin-bottom: 2rem;
  text-align: center;
}

.p-mypage-stampcard .mypage-stampcard_ttl01 {
  margin-top: 3rem;
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
}

.p-mypage-stampcard .mypage-stampcard_txt03 {
  margin-top: 0.5rem;
  margin-bottom: 3rem;
  text-align: center;
}

.p-mypage-stampcard .stampcard-pagination {
  margin-top: 4rem;
}

.p-mypage-stampcard .stampcard-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

/* Stamprally
---------------------------------------------------------------*/
.stamprally-top-area {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.stamprally-top-links a {
  display: inline-block;
  position: relative;
  padding: 0.6rem 1.3rem;
  border: 0.2rem solid #AED4B9;
  border-radius: 0.5rem;
  background: #359450;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0.2rem 0 #0C471C;
}

.stamprally-top-links2 {
  font-size: 1.4rem;
  color: #333;
  text-align: right;
}

.stamprally-top-links2 li {
  display: inline-block;
  margin-left: 2rem;
}

.stamprally-top-links2.is-left {
  left: 0;
  right: auto;
  text-align: left;
}

.stamprally-top-links2.is-left li {
  margin-left: 0;
  margin-right: 2rem;
}

.stamprally-box01 {
  position: relative;
  background: transparent url(../img/bg_stamprally01.png) 50% 0 no-repeat;
  background-size: 100% 100%;
  color: #422500;
  z-index: 20;
}

@media print, screen and (min-width: 768px) {
  .stamprally-box01 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.stamprally-box01::before, .stamprally-box01::after {
  position: absolute;
  left: 0;
  width: 100%;
  background: transparent none 50% 50% no-repeat;
  background-size: 100% 100%;
  content: "";
  opacity: 0.5;
}

.stamprally-box01::before {
  top: 0;
  height: 3.5rem;
  background-image: url(../img/bg_stamprally01_03.png);
}

@media print, screen and (min-width: 768px) {
  .stamprally-box01::before {
    height: 7rem;
  }
}

.stamprally-box01::after {
  bottom: 0;
  height: 3.2rem;
  background-image: url(../img/bg_stamprally01_04.png);
}

@media print, screen and (min-width: 768px) {
  .stamprally-box01::after {
    height: 6.4rem;
  }
}

.stamprally-box01_inner {
  position: relative;
  padding: 3rem 2rem;
}

@media print, screen and (min-width: 768px) {
  .stamprally-box01_inner {
    padding: 6rem;
  }
}

.stamprally-box01_inner::before {
  /* position: absolute; */
  position: relative;
  top: 3.5rem;
  left: 0;
  width: 100%;
  height: calc(100% - 6.7rem);
  background: transparent url(../img/bg_stamprally01_02.png) 50% 0 repeat-y;
  background-size: 100% auto;
  content: "";
  opacity: 0.5;
}

@media print, screen and (min-width: 768px) {
  .stamprally-box01_inner::before {
    top: 7rem;
    height: calc(100% - 13.4rem);
  }
}

.stamprally-ttl01 {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 0.7rem 1.5rem;
  background: transparent url(../img/ttl_stamprally01.jpg) 50% 0 repeat-y;
  background-size: 100% auto;
  font-size: 2.5rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.stamprally-ttl01::before, .stamprally-ttl01::after {
  position: absolute;
  top: 0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  background: transparent url(../img/ttl_stamprally01_02.png) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.stamprally-ttl01::before {
  left: 0.5rem;
}

.stamprally-ttl01::after {
  right: 0.5rem;
}

.stamprally-ttl01_bg::before, .stamprally-ttl01_bg::after {
  position: absolute;
  bottom: 0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  background: transparent url(../img/ttl_stamprally01_02.png) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.stamprally-ttl01_bg::before {
  left: 0.5rem;
}

.stamprally-ttl01_bg::after {
  right: 0.5rem;
}

.stamprally-info {
  line-height: 1.5;
}

.stamprally-info > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.stamprally-info dt {
  margin-bottom: 0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}

.stamprally-info dt::before {
  content: "■";
}

.stamprally-info dt::after {
  content: "：";
}

.stamprally-info dd {
  margin-left: 0.5em;
  font-size: 1.1rem;
}

.stamprally-period dd {
  font-size: 1.8rem;
  font-weight: bold;
}

.stamprally-coupon > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.stamprally-coupon dt {
  margin-bottom: 0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}

.stamprally-coupon dt::before {
  content: "■";
}

.stamprally-coupon dt::after {
  content: "：";
}

.stamprally-coupon dd {
  margin-left: 0.5em;
  font-size: 1.1rem;
}

.stamprally-coupon dd li:not(:last-child) {
  margin-bottom: 0.3rem;
}

.stamprally-coupon_name {
  display: inline-block;
  vertical-align: middle;
}

.stamprally-coupon_status {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.2rem 0.5rem;
  border-radius: 0.5rem;
  background: #333;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
}

.is-few .stamprally-coupon_status {
  background-color: #990000;
}

/* ===== index ===== */
.p-stamprally .flat-row {
  padding-top: 0;
  padding-bottom: 0;
  background: #F5F5F0;
}

.p-stamprally .listSubMenu {
  margin-bottom: 2.5rem;
}

.p-stamprally .stamprally_ttl01 {
  text-align: center;
}

.p-stamprally .stamprally_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 2rem 1.5rem 5rem 1.5rem;
  background: #F5F5F0;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally .stamprally_box01::before {
    position: absolute;
    top: 0;
    left: -50vw;
    width: calc(100% + 100vw);
    height: 100%;
    background: #F5F5F0;
    content: "";
    z-index: -1;
  }
}

.p-stamprally .stamprally-pagination {
  margin-top: 4rem;
}

.p-stamprally .stamprally-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

/* ===== detail ===== */
.p-stamprally-detail .flat-row {
  padding-top: 0;
  padding-bottom: 0;
}

.p-stamprally-detail .stamprally-detail_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 6rem 1.5rem 4rem 1.5rem;
  color: #422500;
}

.p-stamprally-detail .stamprally-detail_box01_inner02 {
  position: relative;
  margin-top: 2rem;
  z-index: 20;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-detail .stamprally-detail_box01_inner02 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stamprally-detail .stamprally-detail_box01 .stamprally-detail_ttl01 {
  margin-top: -5rem;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-detail .stamprally-detail_box01 .stamprally-detail_ttl01 {
    margin-top: -8rem;
  }
}

.p-stamprally-detail .stamprally-detail_box01_img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 10;
}

.p-stamprally-detail .stamprally-detail_box01_img .c-img01 {
  padding-bottom: 0;
  height: 100%;
  z-index: 10;
}

.p-stamprally-detail .stamprally-detail_box01_img::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  content: "";
  z-index: 20;
}

.p-stamprally-detail .stamprally-detail_box02 {
  position: relative;
  margin: 0 -15px;
  padding-top: 0.1rem;
  background: #F7F6F3;
  color: #422500;
}

.p-stamprally-detail .stamprally-detail_box03 {
  position: relative;
  margin: 0 -15px;
  background: #C7BFAF;
  color: #422500;
}

.p-stamprally-detail .stamprally-detail_box03_inner01 {
  position: relative;
  padding: 3rem 1.5rem 6rem 1.5rem;
}

.p-stamprally-detail .stamprally-detail_box03_inner01::before {
  position: absolute;
  bottom: 0.5rem;
  right: -3.5rem;
  width: 16.5rem;
  height: 12.4rem;
  background: transparent url(../img/bg_stamprally02.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stamprally-detail .stamprally-detail_box03_inner02 {
  padding: 0 1.5rem 6rem 1.5rem;
}

.p-stamprally-detail .stamprally-detail_box04 {
  position: relative;
  margin: 0 -15px;
  color: #422500;
}

.p-stamprally-detail .stamprally-detail_box04_inner {
  padding: 3rem 1.5rem 6rem 1.5rem;
}

.p-stamprally-detail .stamprally-detail_box05 {
  position: relative;
  background: #fff;
}

.p-stamprally-detail .stamprally-detail_box05_inner {
  padding: 1.5rem;
}

.p-stamprally-detail .stamprally-detail_box06 {
  position: relative;
  margin-top: 2rem;
  background: #FFECEE;
}

.p-stamprally-detail .stamprally-detail_box06_inner {
  padding: 1.5rem;
}

.p-stamprally-detail .stamprally-detail_ttl02 {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(133, 100, 63, 0.45);
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_ttl03 {
  position: relative;
  padding-top: 0.5rem;
  background: #422500;
  font-size: 2.2rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_ttl03::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 34.8rem;
  height: 1.4rem;
  background: transparent url(../img/ttl_stamprally03.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stamprally-detail .stamprally-detail_ttl03::after {
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 100%;
  height: 0.2rem;
  background: #C7BFAF;
  content: "";
}

.p-stamprally-detail .stamprally-detail_ttl03_bg {
  position: relative;
  display: inline-block;
  padding: 1rem;
  background: #422500;
}

.p-stamprally-detail .stamprally-detail_ttl04 {
  position: relative;
  padding: 1.3rem 1rem;
  background: transparent url(../img/ttl_stamprally04.png) 50% 50% no-repeat;
  background-size: 100% 100%;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_ttl04_bg {
  position: relative;
  display: inline-block;
  padding-left: 5.5rem;
}

.p-stamprally-detail .stamprally-detail_ttl04_bg::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 4.5rem;
  height: 3.5rem;
  background: transparent url(../img/icon_coupon_white.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stamprally-detail .stamprally-detail_ttl05 {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_period {
  display: flex;
  border: 1px solid #E0E0E0;
  background: #fff;
  font-size: 1.4rem;
}

.p-stamprally-detail .stamprally-detail_period dt {
  display: flex;
  padding: 0.3rem 0.9rem;
  background: #147A31;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
}

.p-stamprally-detail .stamprally-detail_period dt > span {
  display: block;
}

.p-stamprally-detail .stamprally-detail_period dd {
  padding-left: 1rem;
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stamprally-detail .stamprally-detail_list01 {
  margin-bottom: 2.5rem;
  font-size: 1.6rem;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_list02 {
  margin-bottom: 2.5rem;
  font-size: 1.4rem;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_txt01 {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.p-stamprally-detail .stamprally-detail_notes01 {
  margin-bottom: 1.5rem;
  font-size: 1.2rem;
}

.p-stamprally-detail .stamprally-detail_notes02 {
  font-size: 1.4rem;
  color: #990000;
}

.p-stamprally-detail .stamprally-detail_present01 {
  font-size: 1.4rem;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_present01_coupon {
  font-size: 2.6rem;
  font-weight: bold;
  color: #990000;
  text-decoration: underline;
}

.p-stamprally-detail .stamprally-detail_present02 {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-stamprally-detail .stamprally-detail_present02 > li {
  margin-bottom: 1rem;
}

.p-stamprally-detail .stamprally-detail_present02 dl {
  display: flex;
  align-items: center;
}

.p-stamprally-detail .stamprally-detail_present02 dt {
  position: relative;
  margin-right: 1.5rem;
  padding: 0.7rem 0.5rem;
  width: 11rem;
  background: #E0E0E0;
  white-space: nowrap;
  text-align: center;
  align-self: flex-start;
}

.p-stamprally-detail .stamprally-detail_present02 dt::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -1rem;
  width: 1rem;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(224, 224, 224, 0) 50%, #E0E0E0 50.5%) 0 0 no-repeat, linear-gradient(to top left, rgba(224, 224, 224, 0) 50%, #E0E0E0 50.5%) 100% 100% no-repeat;
  background-size: 100% 50%, 100% 50%;
  content: "";
}

.p-stamprally-detail .stamprally-detail_present02 dd {
  flex: 1;
}

.p-stamprally-detail .stamprally-detail_present02_coupon {
  font-size: 1.8rem;
  color: #990000;
  text-decoration: underline;
}

.p-stamprally-detail .stamprally-detail_reward {
  margin: 1.5rem 1.5rem 2rem 1.5rem;
  border-radius: 1.5rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.15);
  -webkit-animation: rewardGet-stamprally 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
          animation: rewardGet-stamprally 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.p-stamprally-detail .stamprally-detail_reward a {
  display: block;
  padding: 2rem 2rem 2.5rem 2rem;
  border-radius: 1.5rem;
  background: transparent url(../img/bg_reward01.gif) 50% 50% no-repeat;
  background-size: cover;
  overflow: hidden;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_reward_ttl01 {
  margin-bottom: 1.5rem;
}

.p-stamprally-detail .stamprally-detail_reward_ttl01 img {
  width: 29rem;
}

.p-stamprally-detail .stamprally-detail_reward_btn01 {
  width: 100%;
}

.p-stamprally-detail .stamprally-detail_announce {
  margin-bottom: 0.1rem;
  font-size: 1.1rem;
}

.p-stamprally-detail .stamprally-detail_announce > li {
  display: flex;
  padding: 0.5rem 1.5rem;
  background: #990000;
  color: #fff;
}

.p-stamprally-detail .stamprally-detail_announce > li.is-few {
  background-color: #147A31;
}

.p-stamprally-detail .stamprally-detail_announce_status {
  display: block;
  width: 5.5em;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-stamprally-detail .stamprally-detail_announce_coupon {
  display: block;
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stamprally-detail .stamprally-detail_stampcard {
  font-size: 1.8rem;
  font-weight: bold;
  counter-reset: stampcard-cnt;
}

.p-stamprally-detail .stamprally-detail_stampcard > li {
  display: flex;
  position: relative;
  padding: 0.9rem 1.5rem;
  border-bottom: 1px solid #D9CAB3;
  background: transparent url(../img/bg_stamprally03.jpg) 50% 50% no-repeat;
  background-size: 100% 100%;
  align-items: center;
}

.p-stamprally-detail .stamprally-detail_stampcard > li:not(.is-reward) {
  counter-increment: stampcard-cnt;
}

.p-stamprally-detail .stamprally-detail_stampcard_stamp {
  display: block;
  position: relative;
  margin-right: 1.5rem;
  border-radius: 100%;
  width: 6.5rem;
  height: 6.5rem;
  background: rgba(255, 255, 255, 0.27) url(../img/bg_stamp03.svg) 50% 50% no-repeat;
  background-size: 100% 100%;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-active .stamprally-detail_stampcard_stamp::before {
  position: absolute;
  top: -0.3rem;
  left: -0.1rem;
  width: 7rem;
  height: 7rem;
  background: transparent url(../img/img_stamp.png) 50% 50% no-repeat;
  background-size: 100% 100%;
  content: "";
  z-index: 10;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-present .stamprally-detail_stampcard_stamp::after {
  display: block;
  position: absolute;
  bottom: 0;
  right: -0.8rem;
  border-radius: 0.5rem;
  width: 3rem;
  height: 3rem;
  background: rgba(66, 37, 0, 0.1) url(../img/icon_present01.svg) 50% 50% no-repeat;
  background-size: 1.5rem auto;
  content: "";
  z-index: 20;
}

.p-stamprally-detail .stamprally-detail_stampcard > li:not(.is-active) .stamprally-detail_stampcard_stamp::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: flex;
  width: 100%;
  height: 100%;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1;
  color: rgba(203, 185, 158, 0.65);
  text-align: center;
  align-items: center;
  justify-content: center;
  content: counter(stampcard-cnt);
  text-shadow: 0 0 0.2rem #CBB99E, 0 0 rgba(0, 0, 0, 0.8);
  z-index: 10;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-any > li:not(.is-active) .stamprally-detail_stampcard_stamp::before,
.p-stamprally-detail .stamprally-detail_stampcard.is-all > li:not(.is-active) .stamprally-detail_stampcard_stamp::before {
  display: none;
}

.p-stamprally-detail .stamprally-detail_stampcard_spot {
  display: block;
  flex: 1;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-yet .stamprally-detail_stampcard_spot {
  opacity: 0.4;
}

.p-stamprally-detail .stamprally-detail_stampcard_map {
  display: flex;
  margin: -0.9rem -1.5rem -0.9rem 0;
  border-left: 1px solid #D9CAB3;
  width: 6.5rem;
  text-indent: 500%;
  white-space: nowrap;
  overflow: hidden;
  align-self: stretch;
}

.p-stamprally-detail .stamprally-detail_stampcard_map a {
  display: block;
  width: 100%;
  background: transparent url(../img/icon_map.svg) 50% 50% no-repeat;
  background-size: 2.3rem auto;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward {
  display: block;
  padding-bottom: 1.4rem;
  background: transparent;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward .stamprally-detail_reward {
  margin: 0;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward .stamprally-detail_reward a {
  padding-top: 1rem;
  padding-bottom: 1.5rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward .stamprally-detail_reward_ttl01 {
  margin-bottom: 0.5rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward .stamprally-detail_reward_ttl01 img {
  width: 23rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-reward .stamprally-detail_reward_btn01 {
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 23rem;
  font-size: 1.6rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon {
  display: block;
  padding: 0.5rem;
  background: #D4C3A7;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon {
  margin: 0;
  padding: 1.5rem 1rem;
  border-radius: 0.5rem;
  background: #fff;
  font-weight: normal;
  text-align: center;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon_ttl01 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon_ttl01 img {
  width: 23rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon.is-finish .stamprally-detail_coupon_ttl01 {
  color: #333;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon_txt01 {
  margin-bottom: 1rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon_btn01 .c-btn01 {
  width: 30rem;
  font-size: 1.8rem;
}

.p-stamprally-detail .stamprally-detail_stampcard .is-coupon .stamprally-detail_coupon_btn01 .c-btn01.is-disabled {
  color: #707070;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li:not(:last-child) {
  margin-bottom: 2rem;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li:not(:last-child)::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -1.7rem;
  border-top: 1.2rem solid #A39277;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  content: "";
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li.is-reward {
  margin-top: -2rem;
  padding-bottom: 0;
  border-bottom: 0;
  background: #F7F6F3;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li.is-reward:last-child {
  margin-bottom: 0;
  padding-bottom: 2rem;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li.is-coupon {
  margin-top: -2rem;
}

.p-stamprally-detail .stamprally-detail_stampcard.is-order > li.is-coupon:last-child {
  margin-bottom: 0;
}

@-webkit-keyframes rewardGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4rem) scale(0.8);
            transform: translateY(4rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes rewardGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4rem) scale(0.8);
            transform: translateY(4rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

/* ===== spot ===== */
.p-stamprally-spot {
  background: #EDE3D1;
}

.p-stamprally-spot .flat-row {
  padding-top: 0;
  background: #EDE3D1;
}

.p-stamprally-spot .stamprally-spot_box01 {
  position: relative;
  margin: 0 -15px;
  color: #422500;
}

.p-stamprally-spot .stamprally-spot_item {
  border-top: 1px solid #D9CAB3;
}

.p-stamprally-spot .stamprally-spot_item li {
  border-bottom: 1px solid #D9CAB3;
}

.p-stamprally-spot .stamprally-spot_item a {
  display: block;
}

.p-stamprally-spot .stamprally-spot_inner {
  display: flex;
  padding: 1rem 1.5rem;
}

.p-stamprally-spot .stamprally-spot_img {
  margin-right: 1rem;
  width: 6.5rem;
}

.p-stamprally-spot .stamprally-spot_txt {
  flex: 1;
}

.p-stamprally-spot .stamprally-spot_name {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}

.p-stamprally-spot .stamprally-spot_address {
  display: block;
  font-size: 1.4rem;
}

.p-stamprally-spot .stamprally-pagination {
  margin-top: 4rem;
  color: #422500;
}

.p-stamprally-spot .stamprally-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

.p-stamprally-spot .stamprally-pagination .flat-pagination .prev a,
.p-stamprally-spot .stamprally-pagination .flat-pagination .next a {
  border: 0.2rem solid #AED4B9;
  border-radius: 0.5rem;
  background-color: #359450;
  color: #fff;
  box-shadow: 0 0.2rem 0 #0C471C;
}

.p-stamprally-spot .stamprally-pagination .flat-pagination .prev span,
.p-stamprally-spot .stamprally-pagination .flat-pagination .next span {
  border: 0.2rem solid #E4DDD1;
  border-radius: 0.5rem;
  background-color: #CCC4B4;
  color: #fff;
  box-shadow: 0 0.2rem 0 #CCC4B4;
}

/* ===== spot ===== */
.p-stamprally-spot-detail {
  background: #EDE3D1;
}

.p-stamprally-spot-detail .flat-row {
  padding-top: 0;
  padding-bottom: 0;
  background: #EDE3D1;
}

.p-stamprally-spot-detail .stamprally-spot-detail_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 0 1.5rem 6rem 1.5rem;
  color: #422500;
}

.p-stamprally-spot-detail .stamprally-spot-detail_box01::before {
  position: absolute;
  bottom: 0.5rem;
  right: -3.5rem;
  width: 16.5rem;
  height: 12.4rem;
  background: transparent url(../img/bg_stamprally02.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

/* ===== reward ===== */
.p-stamprally-reward .l-main::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent url(../img/bg_reward02.gif) 50% 50% no-repeat;
  background-size: cover;
  content: "";
}

.p-stamprally-reward .flat-row {
  padding-top: 0;
  padding-bottom: 5rem;
}

.p-stamprally-reward .stamprally-reward_ttl01 {
  margin-bottom: 1rem;
  font-size: 2.7rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-stamprally-reward .stamprally-reward_txt01 {
  margin-top: 2rem;
}

.p-stamprally-reward .stamprally-reward_btn01 {
  margin-top: 2rem;
  text-align: center;
}

.p-stamprally-reward .stamprally-reward_btn01 .c-btn01 {
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 30rem;
  font-size: 1.8rem;
}

.p-stamprally-reward .coupon-available-item,
.p-stamprally-reward .coupon-unavailable-item {
  padding-bottom: 1.5rem;
}

.p-stamprally-reward .coupon-available-item > a {
  margin-bottom: -1.5rem;
  padding-bottom: 1.5rem;
}

/* ===== stamp ===== */
.p-stamprally-stamp .l-main {
  min-height: 100vh;
  overflow: hidden;
}

.p-stamprally-stamp .l-main::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent url(../img/bg_stamp01.png) 50% 50% no-repeat;
  background-size: cover;
  opacity: 0.85;
  z-index: -1;
  content: "";
}

.p-stamprally-stamp .l-main::after {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  content: "";
  z-index: -2;
}

.p-stamprally-stamp.is-reward .l-main::before {
  background-image: url(../img/bg_reward02.gif);
  opacity: 1;
}

.p-stamprally-stamp .flat-row {
  padding-top: 0;
  padding-bottom: 5rem;
  overflow: visible;
}

.p-stamprally-stamp .stamprally-stamp_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
}

.p-stamprally-stamp .stamprally-stamp_bg .c-img01 {
  padding-bottom: 0;
  height: 100%;
}

.p-stamprally-stamp .stamprally-stamp_head {
  margin: 0 -1.5rem 4.5rem -1.5rem;
  padding: 0.5rem;
  background: #990000;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.p-stamprally-stamp .stamprally-stamp_box02 {
  margin-bottom: 4rem;
}

.p-stamprally-stamp .stamprally-stamp_box02 .stamprally-ttl01 {
  margin-top: -5rem;
}

.p-stamprally-stamp .stamprally-stamp_period {
  margin: 0 1rem;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-stamprally-stamp .stamprally-stamp_ttl02 {
  position: relative;
  margin-bottom: -1.5rem;
  text-align: center;
  z-index: 20;
}

.p-stamprally-stamp .stamprally-stamp_ttl02 img {
  width: 28rem;
}

.p-stamprally-stamp .stamprally-stamp_ttl03 {
  font-size: 2rem;
  font-weight: bold;
}

.p-stamprally-stamp .stamprally-stamp_txt01 {
  margin-bottom: 0.5rem;
}

.p-stamprally-stamp .stamprally-stamp_coupon {
  position: relative;
  z-index: 10;
}

.p-stamprally-stamp .stamprally-stamp_coupon > li:not(:first-child) {
  margin-top: 1rem;
}

.p-stamprally-stamp .stamprally-stamp_coupon a {
  display: block;
  position: relative;
  padding: 2rem 3.2rem 2rem 1.2rem;
  border: 0.3rem solid #E0E0E0;
  border-radius: 0.5rem;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-stamprally-stamp .stamprally-stamp_coupon a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.2rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.p-stamprally-stamp .stamprally-stamp_box03 {
  position: relative;
  margin-top: 5rem;
  background: #fff;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.15);
  z-index: 20;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-stamp .stamprally-stamp_box03 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stamprally-stamp .stamprally-stamp_box03::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14rem;
  height: 14rem;
  background: transparent url(../img/img_stamp.png) 50% 50% no-repeat;
  background-size: contain;
  -webkit-transform: translate(-50%, -45%);
          transform: translate(-50%, -45%);
  content: "";
  -webkit-animation: stampGet-stamprally 0.7s ease-in-out;
          animation: stampGet-stamprally 0.7s ease-in-out;
}

.p-stamprally-stamp .stamprally-stamp_box03_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  width: 29rem;
  -webkit-transform: translate(-50%, -65%);
          transform: translate(-50%, -65%);
  text-align: center;
}

.p-stamprally-stamp .stamprally-stamp_box03_inner {
  display: flex;
  padding: 4.5rem 1.5rem;
  align-items: center;
}

.p-stamprally-stamp .stamprally-stamp_box03_img {
  margin-right: 1rem;
  width: 6.5rem;
}

.p-stamprally-stamp .stamprally-stamp_box03_txt {
  flex: 1;
}

.p-stamprally-stamp .stamprally-stamp_box03_name {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}

.p-stamprally-stamp .stamprally-stamp_box03_address {
  display: block;
  font-size: 1.4rem;
}

.p-stamprally-stamp .stamprally-stamp_btn01 {
  margin-top: 2.5rem;
  text-align: center;
}

.p-stamprally-stamp .stamprally-stamp_btn01 .c-btn03 {
  width: 30rem;
}

.p-stamprally-stamp .stamprally-stamp_btn02 {
  margin-top: 2rem;
  text-align: center;
  opacity: 0;
  -webkit-animation: btnIn-stamprally 0.5s 2s forwards;
          animation: btnIn-stamprally 0.5s 2s forwards;
}

.p-stamprally-stamp .stamprally-stamp_btn02 .c-btn03 {
  width: 30rem;
}

.p-stamprally-stamp .stamprally-stamp_box04 {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-stamprally-stamp .stamprally-stamp_box04_inner {
  padding: 5rem 1.5rem;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-stamp .stamprally-stamp_box04 .stamprally-ttl01 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stamprally-stamp .stamprally-stamp_box05 {
  margin-top: 2.5rem;
  opacity: 0;
  -webkit-animation: couponGet-stamprally 0.5s 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: couponGet-stamprally 0.5s 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-stamp .stamprally-stamp_box05 .stamprally-ttl01 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stamprally-stamp .stamprally-stamp_box06 {
  margin: 2.5rem -1.5rem 0 -1.5rem;
  padding: 1rem;
  background: #990000;
  color: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .p-stamprally-stamp .stamprally-stamp_box06 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

@-webkit-keyframes stampGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -45%) scale(6) rotate(-30deg);
            transform: translate(-50%, -45%) scale(6) rotate(-30deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: translate(-50%, -45%) scale(1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1) rotate(0deg);
  }
  85% {
    -webkit-transform: translate(-50%, -45%) scale(1.1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1.1) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -45%) scale(1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1) rotate(0deg);
  }
}

@keyframes stampGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -45%) scale(6) rotate(-30deg);
            transform: translate(-50%, -45%) scale(6) rotate(-30deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: translate(-50%, -45%) scale(1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1) rotate(0deg);
  }
  85% {
    -webkit-transform: translate(-50%, -45%) scale(1.1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1.1) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -45%) scale(1) rotate(0deg);
            transform: translate(-50%, -45%) scale(1) rotate(0deg);
  }
}

@-webkit-keyframes couponGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem) scale(0.8);
            transform: translateY(3rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes couponGet-stamprally {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem) scale(0.8);
            transform: translateY(3rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@-webkit-keyframes btnIn-stamprally {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes btnIn-stamprally {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ===== error ===== */
.p-stamprally-error {
  background: #DBDBDB;
}

.p-stamprally-error .l-main {
  background-color: transparent;
}

.p-stamprally-error .l-main::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  content: "";
  z-index: -2;
}

.p-stamprally-error .stamprally-error_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
}

.p-stamprally-error .stamprally-error_bg .c-img01 {
  padding-bottom: 0;
  height: 100%;
}

.p-stamprally-error .stamprally-error_box02 {
  margin-top: 3rem;
  padding: 3.5rem 2rem 4.5rem 2rem;
  border-radius: 1.5rem;
  background: #fff;
  color: #422500;
}

.p-stamprally-error .stamprally-error_ttl01 {
  margin-bottom: 2.5rem;
  font-size: 2.4rem;
  font-weight: bold;
  color: #C22122;
  text-align: center;
}

.p-stamprally-error .stamprally-error_txt01 {
  margin-top: 2rem;
  text-align: center;
}

.p-stamprally-error .stamprally-error_btn01 {
  margin-top: 2.5rem;
  text-align: center;
}

.p-stamprally-error .stamprally-error_btn01 .c-btn03 {
  width: 30rem;
}

/* Stampcard
---------------------------------------------------------------*/
.stampcard-top-area {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.stampcard-top-links {
  font-size: 1.4rem;
  color: #333;
  text-align: right;
}

.stampcard-top-links li {
  display: inline-block;
  margin-left: 2rem;
}

.stampcard-top-links.is-left {
  left: 0;
  right: auto;
  text-align: left;
}

.stampcard-top-links.is-left li {
  margin-left: 0;
  margin-right: 2rem;
}

.stampcard-info {
  line-height: 1.5;
}

.stampcard-info > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.stampcard-info dt {
  margin-bottom: 0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}

.stampcard-info dt::before {
  content: "■";
}

.stampcard-info dt::after {
  content: "：";
}

.stampcard-info dd {
  margin-left: 0.5em;
  font-size: 1.1rem;
}

.stampcard-period dd {
  font-size: 1.8rem;
  font-weight: bold;
}

.stampcard-coupon > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.stampcard-coupon dt {
  margin-bottom: 0.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}

.stampcard-coupon dt::before {
  content: "■";
}

.stampcard-coupon dt::after {
  content: "：";
}

.stampcard-coupon dd {
  margin-left: 0.5em;
  font-size: 1.1rem;
}

.stampcard-coupon dd li:not(:last-child) {
  margin-bottom: 0.3rem;
}

.stampcard-coupon_name {
  display: inline-block;
  vertical-align: middle;
}

.stampcard-coupon_status {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.2rem 0.5rem;
  border-radius: 0.5rem;
  background: #333;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
}

.is-few .stampcard-coupon_status {
  background-color: #990000;
}

/* ===== detail ===== */
.p-stampcard-detail .flat-row {
  padding-top: 0;
  background: #F5F5F0;
}

.p-stampcard-detail .stampcard-detail_box01 {
  position: relative;
  margin: 0 -15px;
  padding: 3rem 1.5rem 2.5rem 1.5rem;
}

.p-stampcard-detail .stampcard-detail_box01_inner {
  position: relative;
  z-index: 20;
}

@media print, screen and (min-width: 768px) {
  .p-stampcard-detail .stampcard-detail_box01_inner {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stampcard-detail .stampcard-detail_box01_img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 10;
}

.p-stampcard-detail .stampcard-detail_box01_img .c-img01 {
  padding-bottom: 0;
  height: 100%;
  z-index: 10;
}

.p-stampcard-detail .stampcard-detail_box01_img::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  content: "";
  z-index: 20;
}

.p-stampcard-detail .stampcard-detail_box02 {
  position: relative;
  margin: 2rem 0;
  padding: 2rem 1rem;
  background: #fff;
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.15);
}

.p-stampcard-detail .stampcard-detail_box03 {
  position: relative;
}

.p-stampcard-detail .stampcard-detail_box04 {
  position: relative;
  margin-top: 3rem;
  background: #fff;
}

.p-stampcard-detail .stampcard-detail_box04_inner {
  padding: 1.5rem;
}

.p-stampcard-detail .stampcard-detail_box05 {
  position: relative;
  margin-top: 2rem;
  border: 1px solid #990000;
  background: #FFECEE;
}

.p-stampcard-detail .stampcard-detail_box05_inner {
  padding: 1.4rem;
}

.p-stampcard-detail .stampcard-detail_box06 {
  margin: 0 -15px;
}

.p-stampcard-detail .stampcard-detail_box07 {
  margin: 2rem -15px;
  padding: 1.5rem 0.5rem;
  background: #D4C3A7;
}

.p-stampcard-detail .stampcard-detail_ttl01 {
  position: relative;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_ttl01_bg {
  display: inline-block;
  padding: 1.5rem 1rem;
  min-width: 23rem;
  background: rgba(255, 255, 255, 0.85);
}

.p-stampcard-detail .stampcard-detail_ttl01_name {
  display: block;
  margin-bottom: 0.5rem;
}

.p-stampcard-detail .stampcard-detail_ttl01_shop {
  display: block;
  font-size: 1.4rem;
}

.p-stampcard-detail .stampcard-detail_ttl02 {
  position: relative;
  padding: 1.3rem 1rem;
  background: transparent url(../img/ttl_stamprally04.png) 50% 50% no-repeat;
  background-size: 100% 100%;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_ttl02_bg {
  position: relative;
  display: inline-block;
  padding-left: 5.5rem;
}

.p-stampcard-detail .stampcard-detail_ttl02_bg::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 4.5rem;
  height: 3.5rem;
  background: transparent url(../img/icon_coupon_white.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stampcard-detail .stampcard-detail_ttl03 {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_period {
  display: flex;
  border: 1px solid #E0E0E0;
  background: #fff;
  font-size: 1.4rem;
}

.p-stampcard-detail .stampcard-detail_period dt {
  display: flex;
  padding: 0.4rem 0.9rem;
  background: #990000;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
}

.p-stampcard-detail .stampcard-detail_period dt > span {
  display: block;
}

.p-stampcard-detail .stampcard-detail_period dd {
  padding: 0.4rem 0.4rem 0.4rem 1rem;
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stampcard-detail .stampcard-detail_list01 {
  margin-bottom: 2.5rem;
  font-size: 1.4rem;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_txt01 {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.p-stampcard-detail .stampcard-detail_notes01 {
  font-size: 1.4rem;
  color: #990000;
}

.p-stampcard-detail .stampcard-detail_present01 {
  font-size: 1.4rem;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_present01_coupon {
  font-size: 2.6rem;
  font-weight: bold;
  color: #990000;
  text-decoration: underline;
}

.p-stampcard-detail .stampcard-detail_present02 {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-stampcard-detail .stampcard-detail_present02 > li {
  margin-bottom: 1rem;
}

.p-stampcard-detail .stampcard-detail_present02 dl {
  display: flex;
  align-items: center;
}

.p-stampcard-detail .stampcard-detail_present02 dt {
  position: relative;
  margin-right: 1.5rem;
  padding: 0.7rem 0.5rem;
  width: 11rem;
  background: #E0E0E0;
  white-space: nowrap;
  text-align: center;
  align-self: flex-start;
}

.p-stampcard-detail .stampcard-detail_present02 dt::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -1rem;
  width: 1rem;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(224, 224, 224, 0) 50%, #E0E0E0 50.5%) 0 0 no-repeat, linear-gradient(to top left, rgba(224, 224, 224, 0) 50%, #E0E0E0 50.5%) 100% 100% no-repeat;
  background-size: 100% 50%, 100% 50%;
  content: "";
}

.p-stampcard-detail .stampcard-detail_present02 dd {
  flex: 1;
}

.p-stampcard-detail .stampcard-detail_present02_coupon {
  font-size: 1.8rem;
  color: #990000;
  text-decoration: underline;
}

.p-stampcard-detail .stampcard-detail_reward {
  margin: 1.5rem 0 2rem 0;
  border-radius: 1.5rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.15);
  -webkit-animation: rewardGet-stampcard 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
          animation: rewardGet-stampcard 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.p-stampcard-detail .stampcard-detail_reward a {
  display: block;
  padding: 2rem 2rem 2.5rem 2rem;
  border-radius: 1.5rem;
  background: transparent url(../img/bg_reward01.gif) 50% 50% no-repeat;
  background-size: cover;
  overflow: hidden;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_reward_ttl01 {
  margin-bottom: 1.5rem;
}

.p-stampcard-detail .stampcard-detail_reward_ttl01 img {
  width: 29rem;
}

.p-stampcard-detail .stampcard-detail_reward_btn01 {
  padding: 1.3rem;
  border-radius: 0.5rem;
  width: 100%;
  font-size: 2rem;
}

.p-stampcard-detail .stampcard-detail_announce {
  font-size: 1.1rem;
}

.p-stampcard-detail .stampcard-detail_announce > li {
  display: flex;
  padding: 0.5rem 1.5rem;
  background: #990000;
  color: #fff;
}

.p-stampcard-detail .stampcard-detail_announce > li.is-few {
  background-color: #147A31;
}

.p-stampcard-detail .stampcard-detail_announce_status {
  display: block;
  width: 5.5em;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-stampcard-detail .stampcard-detail_announce_coupon {
  display: block;
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stampcard-detail .stampcard-detail_stampcard {
  display: flex;
  margin: -0.5rem 0;
  flex-wrap: wrap;
  counter-reset: stampcard-cnt;
  justify-content: space-between;
}

.p-stampcard-detail .stampcard-detail_stampcard > li {
  position: relative;
  margin: 0.5rem 0;
  width: 6rem;
  align-items: center;
}

.p-stampcard-detail .stampcard-detail_stampcard > li:not(.is-reward) {
  counter-increment: stampcard-cnt;
}

.p-stampcard-detail .stampcard-detail_stampcard_stamp {
  display: block;
  position: relative;
  border-radius: 100%;
  width: 5.8rem;
  height: 5.8rem;
  background: rgba(255, 255, 255, 0.27) url(../img/bg_stamp04.svg) 50% 50% no-repeat;
  background-size: 100% 100%;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-active .stampcard-detail_stampcard_stamp::before {
  position: absolute;
  top: -0.2rem;
  left: 0;
  width: 6.2rem;
  height: 6.2rem;
  background: transparent url(../img/img_stamp.png) 50% 50% no-repeat;
  background-size: 100% 100%;
  content: "";
  z-index: 20;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-present .stampcard-detail_stampcard_stamp::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 100%;
  width: 5rem;
  height: 5rem;
  background: #E0E0E0 url(../img/icon_present02.svg) 50% 50% no-repeat;
  background-size: 2.4rem auto;
  content: "";
  z-index: 10;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-active .stampcard-detail_stampcard_stamp::after {
  opacity: 0.6;
}

.p-stampcard-detail .stampcard-detail_stampcard > li:not(.is-active) .stampcard-detail_stampcard_stamp::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: flex;
  width: 100%;
  height: 100%;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
  color: #AFC7B6;
  text-align: center;
  align-items: center;
  justify-content: center;
  content: counter(stampcard-cnt);
  z-index: 10;
}

.p-stampcard-detail .stampcard-detail_stampcard_spot {
  display: block;
  flex: 1;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-yet .stampcard-detail_stampcard_spot {
  opacity: 0.4;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward {
  display: block;
  padding-bottom: 1.4rem;
  background: transparent;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward .stampcard-detail_reward {
  margin: 0;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward .stampcard-detail_reward a {
  padding-top: 1rem;
  padding-bottom: 1.5rem;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward .stampcard-detail_reward_ttl01 {
  margin-bottom: 0.5rem;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward .stampcard-detail_reward_ttl01 img {
  width: 23rem;
}

.p-stampcard-detail .stampcard-detail_stampcard .is-reward .stampcard-detail_reward_btn01 {
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 23rem;
  font-size: 1.6rem;
}

.p-stampcard-detail .stampcard-detail_stampcard.is-order > li:not(:last-child) {
  margin-bottom: 2rem;
}

.p-stampcard-detail .stampcard-detail_stampcard.is-order > li:not(:last-child)::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -1.7rem;
  border-top: 1.2rem solid #A39277;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  content: "";
}

.p-stampcard-detail .stampcard-detail_stampcard.is-order > li.is-reward {
  margin-top: -2rem;
  padding-bottom: 0;
  border-bottom: 0;
  background: #F7F6F3;
}

.p-stampcard-detail .stampcard-detail_stampcard.is-order > li.is-reward:last-child {
  margin-bottom: 0;
  padding-bottom: 2rem;
}

.p-stampcard-detail .stampcard-detail_coupon {
  margin: 0;
  padding: 1.5rem 1rem;
  border-radius: 0.5rem;
  background: #fff;
  font-weight: normal;
  text-align: center;
}

.p-stampcard-detail .stampcard-detail_coupon:not(:first-child) {
  margin-top: 1rem;
}

.p-stampcard-detail .stampcard-detail_coupon_ttl01 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  color: #990000;
}

.p-stampcard-detail .stampcard-detail_coupon_ttl01 img {
  width: 23rem;
}

.p-stampcard-detail .stampcard-detail_coupon.is-finish .stampcard-detail_coupon_ttl01 {
  color: #333;
}

.p-stampcard-detail .stampcard-detail_coupon_txt01 {
  margin-bottom: 1rem;
}

.p-stampcard-detail .stampcard-detail_coupon_btn01 .c-btn01 {
  width: 30rem;
  font-size: 1.8rem;
}

.p-stampcard-detail .stampcard-detail_coupon_btn01 .c-btn01.is-disabled {
  color: #707070;
}

@-webkit-keyframes rewardGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4rem) scale(0.8);
            transform: translateY(4rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes rewardGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4rem) scale(0.8);
            transform: translateY(4rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

/* ===== reward ===== */
.p-stampcard-reward .l-main::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent url(../img/bg_reward02.gif) 50% 50% no-repeat;
  background-size: cover;
  content: "";
}

.p-stampcard-reward .flat-row {
  padding-top: 0;
  padding-bottom: 5rem;
}

.p-stampcard-reward .stampcard-reward_ttl01 {
  margin-bottom: 1rem;
  font-size: 2.7rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-stampcard-reward .stampcard-reward_txt01 {
  margin-top: 2rem;
}

.p-stampcard-reward .stampcard-reward_btn01 {
  margin-top: 2rem;
  text-align: center;
}

.p-stampcard-reward .stampcard-reward_btn01 .c-btn01 {
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 30rem;
  font-size: 1.8rem;
}

.p-stampcard-reward .coupon-available-item,
.p-stampcard-reward .coupon-unavailable-item {
  padding-bottom: 1.5rem;
}

.p-stampcard-reward .coupon-available-item > a {
  margin-bottom: -1.5rem;
  padding-bottom: 1.5rem;
}

/* ===== stamp ===== */
.p-stampcard-stamp .l-main {
  min-height: 100vh;
  overflow: hidden;
}

.p-stampcard-stamp .l-main::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent url(../img/bg_stamp02.gif) 50% 50% no-repeat;
  background-size: cover;
  content: "";
}

.p-stampcard-stamp.is-reward .l-main::before {
  background-image: url(../img/bg_reward02.gif);
}

.p-stampcard-stamp .flat-row {
  padding-top: 0;
  padding-bottom: 5rem;
  overflow: visible;
}

.p-stampcard-stamp.is-reward .stampcard-stamp_box02 {
  margin-top: -3rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.15);
}

.p-stampcard-stamp .stampcard-stamp {
  /*&_box01 {
			position: fixed;
			top: 50%;
			left: 50%;
			width: 100%;
			max-height: 100%;
			overflow-y: auto;
			overflow-x: hidden;
			transform: translate(-50%,-50%);

			&_inner {
				padding: 5rem 1.5rem;
			}
		}*/
}

.p-stampcard-stamp .stampcard-stamp_head {
  margin: 0 -1.5rem 2rem -1.5rem;
  padding: 0.5rem;
  background: #fff;
  font-size: 2rem;
  font-weight: bold;
  color: #990000;
  text-align: center;
}

.p-stampcard-stamp .stampcard-stamp_ttl01 {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  text-align: center;
  z-index: 30;
}

.p-stampcard-stamp .stampcard-stamp_ttl01_sub {
  display: inline-block;
  position: relative;
  margin-bottom: 0.7rem;
  padding: 0.3rem;
  width: 13rem;
  border-radius: 3rem;
  background: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.p-stampcard-stamp .stampcard-stamp_ttl01_sub::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -2rem;
  width: 4.5rem;
  height: 3rem;
  background: transparent url(../img/logo_01.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stampcard-stamp .stampcard-stamp_ttl01_main {
  display: block;
  margin: 0 auto;
  width: 29rem;
  line-height: 0;
}

.p-stampcard-stamp .stampcard-stamp_ttl02 {
  position: relative;
  margin-bottom: -1.5rem;
  text-align: center;
  z-index: 20;
}

.p-stampcard-stamp .stampcard-stamp_ttl02 img {
  width: 28rem;
}

.p-stampcard-stamp .stampcard-stamp_ttl03 {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: bold;
}

.p-stampcard-stamp .stampcard-stamp_txt01 {
  margin-bottom: 1rem;
}

.p-stampcard-stamp .stampcard-stamp_coupon {
  position: relative;
  z-index: 10;
}

.p-stampcard-stamp .stampcard-stamp_coupon > li:not(:first-child) {
  margin-top: 1rem;
}

.p-stampcard-stamp .stampcard-stamp_coupon a {
  display: block;
  position: relative;
  padding: 2rem 3.2rem 2rem 1.2rem;
  border: 0.3rem solid #E0E0E0;
  border-radius: 0.5rem;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}

.p-stampcard-stamp .stampcard-stamp_coupon a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.2rem;
  font-size: 3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #333;
  content: "\f105";
}

.p-stampcard-stamp .stampcard-stamp_btn01 {
  margin-top: 2.5rem;
  text-align: center;
}

.p-stampcard-stamp .stampcard-stamp_btn01 .c-btn03 {
  width: 30rem;
}

.p-stampcard-stamp .stampcard-stamp_btn02 {
  margin-top: 2rem;
  text-align: center;
  opacity: 0;
  -webkit-animation: btnIn-stampcard 0.5s 2s forwards;
          animation: btnIn-stampcard 0.5s 2s forwards;
}

.p-stampcard-stamp .stampcard-stamp_btn02 .c-btn03 {
  width: 30rem;
}

.p-stampcard-stamp .stampcard-stamp_box02 {
  position: relative;
  display: flex;
  padding: 2.5rem 1.5rem;
  border-radius: 2rem;
  background: #fff;
  z-index: 20;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .p-stampcard-stamp .stampcard-stamp_box02 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stampcard-stamp .stampcard-stamp_box02::before {
  position: absolute;
  top: 1rem;
  right: 8rem;
  width: 10.5rem;
  height: 10.5rem;
  background: transparent url(../img/img_stamp.png) 50% 50% no-repeat;
  background-size: contain;
  content: "";
  -webkit-animation: stampGet-stampcard 0.7s ease-in-out;
          animation: stampGet-stampcard 0.7s ease-in-out;
  z-index: 20;
}

.p-stampcard-stamp .stampcard-stamp_box02_inner01 {
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stampcard-stamp .stampcard-stamp_box02_inner02 {
  margin-left: 1.5rem;
  width: 10rem;
}

.p-stampcard-stamp .stampcard-stamp_box02_inner03 {
  margin-top: 2rem;
  width: 100%;
}

.p-stampcard-stamp .stampcard-stamp_box02_ttl {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
}

.p-stampcard-stamp .stampcard-stamp_box02_shop {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
}

.p-stampcard-stamp .stampcard-stamp_box02_name {
  display: block;
}

.p-stampcard-stamp .stampcard-stamp_box02_img {
  position: relative;
  margin: 0 auto;
  width: 18rem;
}

.p-stampcard-stamp .stampcard-stamp_box02_img::before {
  position: absolute;
  bottom: -1rem;
  right: -4.5rem;
  width: 10.5rem;
  height: 10.5rem;
  background: transparent url(../img/img_stamp.png) 50% 50% no-repeat;
  background-size: contain;
  content: "";
  -webkit-animation: stampGet-stampcard 0.7s ease-in-out;
          animation: stampGet-stampcard 0.7s ease-in-out;
  z-index: 20;
}

.p-stampcard-stamp .stampcard-stamp_box02 .stampcard-info {
  margin-bottom: 2.5rem;
}

.p-stampcard-stamp .stampcard-stamp_box02_btn01 {
  text-align: center;
}

.p-stampcard-stamp .stampcard-stamp_box02_btn01 .c-btn01 {
  padding: 1.3rem;
  border-radius: 0.5rem;
  width: 100%;
  font-size: 2rem;
}

.p-stampcard-stamp .stampcard-stamp_box04 {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-stampcard-stamp .stampcard-stamp_box04_inner {
  padding: 5rem 1.5rem;
}

.p-stampcard-stamp .stampcard-stamp_box05 {
  margin-top: 2.5rem;
  opacity: 0;
  -webkit-animation: couponGet-stampcard 0.5s 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: couponGet-stampcard 0.5s 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media print, screen and (min-width: 768px) {
  .p-stampcard-stamp .stampcard-stamp_box05 .stampcard-ttl01 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stampcard-stamp .stampcard-stamp_box06 {
  margin-top: 2.5rem;
  color: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .p-stampcard-stamp .stampcard-stamp_box06 .stampcard-ttl01 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

@-webkit-keyframes stampGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: scale(6) rotate(-30deg);
            transform: scale(6) rotate(-30deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  85% {
    -webkit-transform: scale(1.1) rotate(0deg);
            transform: scale(1.1) rotate(0deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@keyframes stampGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: scale(6) rotate(-30deg);
            transform: scale(6) rotate(-30deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  85% {
    -webkit-transform: scale(1.1) rotate(0deg);
            transform: scale(1.1) rotate(0deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@-webkit-keyframes couponGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem) scale(0.8);
            transform: translateY(3rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes couponGet-stampcard {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem) scale(0.8);
            transform: translateY(3rem) scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@-webkit-keyframes btnIn-stampcard {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes btnIn-stampcard {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ===== error ===== */
.p-stampcard-error {
  background: #DBDBDB;
}

.p-stampcard-error .l-main {
  background-color: transparent;
}

.p-stampcard-error .stampcard-error_ttl01 {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.3;
  text-align: center;
}

.p-stampcard-error .stampcard-error_ttl01_sub {
  display: inline-block;
  position: relative;
  margin-bottom: 1rem;
  padding: 0.3rem;
  width: 13rem;
  border-radius: 3rem;
  background: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.p-stampcard-error .stampcard-error_ttl01_sub::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -2rem;
  width: 4.5rem;
  height: 3rem;
  background: transparent url(../img/logo_01.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-stampcard-error .stampcard-error_ttl01_main {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  color: #990000;
}

.p-stampcard-error .stampcard-error_txt01 {
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-stampcard-error .stampcard-error_box02 {
  position: relative;
  display: flex;
  padding: 2.5rem 1.5rem;
  border-radius: 2rem;
  background: #fff;
  z-index: 20;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .p-stampcard-error .stampcard-error_box02 {
    margin-left: auto;
    margin-right: auto;
    width: 69rem;
  }
}

.p-stampcard-error .stampcard-error_box02_inner01 {
  flex: 1;
  -ms-grid-row-align: center;
      align-self: center;
}

.p-stampcard-error .stampcard-error_box02_inner02 {
  margin-left: 1.5rem;
  width: 10rem;
}

.p-stampcard-error .stampcard-error_box02_inner03 {
  margin-top: 2rem;
  width: 100%;
}

.p-stampcard-error .stampcard-error_box02_ttl {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
}

.p-stampcard-error .stampcard-error_box02_shop {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
}

.p-stampcard-error .stampcard-error_box02_name {
  display: block;
}

.p-stampcard-error .stampcard-error_box02_btn01 {
  text-align: center;
}

.p-stampcard-error .stampcard-error_box02_btn01 .c-btn01 {
  padding: 1.3rem;
  border-radius: 0.5rem;
  width: 100%;
  font-size: 2rem;
}

/* Register
---------------------------------------------------------------*/
.p-register-thanks .flat-row {
  padding: 0;
}

.p-register-thanks .container {
  padding: 1.5rem 2.5rem;
}

.p-register-thanks .register-thanks_logo {
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-register-thanks .register-thanks_logo img {
  width: 22rem;
}

.p-register-thanks .register-thanks_ttl {
  margin-bottom: 1rem;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-register-thanks .register-thanks_txt {
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-register-thanks .register-thanks_btn li:not(:last-child) {
  margin-bottom: 2rem;
}

.p-register-thanks .register-thanks_btn .c-btn01 {
  display: flex;
  padding: 0;
  width: 100%;
  align-items: center;
  text-align: left;
}

.p-register-thanks .register-thanks_btn .c-btn01::before {
  display: block;
  width: 7rem;
  height: 7rem;
  content: "";
}

.p-register-thanks .register-thanks_btn .c-btn01::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7rem;
}

.p-register-thanks .register-thanks_btn .c-btn01 span {
  display: block;
  padding: 0 1.8rem 0 2rem;
  flex: 1;
}

.p-register-thanks .register-thanks_btn_coupon::before {
  border-right: 1px dashed #fff;
}

.p-register-thanks .register-thanks_btn_coupon::after {
  height: 3.6rem;
  background: transparent url(../img/icon_coupon_white.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-register-thanks .register-thanks_btn_search::before {
  border-right: 1px dashed #E0E0E0;
}

.p-register-thanks .register-thanks_btn_search::after {
  font-size: 3rem;
  font-family: "FontAwesome";
  text-align: center;
  content: "\f002";
}

.p-register-thanks .register-thanks_btn_reservation::before {
  border-right: 1px dashed #E0E0E0;
}

.p-register-thanks .register-thanks_btn_reservation::after {
  height: 2.8rem;
  background: transparent url(../img/icon_shop.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

.p-register-thanks .register-thanks_btn_takeout::before {
  border-right: 1px dashed #E0E0E0;
}

.p-register-thanks .register-thanks_btn_takeout::after {
  height: 3.6rem;
  background: transparent url(../img/icon_takeout.svg) 50% 50% no-repeat;
  background-size: contain;
  content: "";
}

/* Login
---------------------------------------------------------------*/
.p-login .flat-row {
  padding: 0;
}

.p-login .container {
  padding: 1.5rem 2.5rem;
}

.p-login .login_logo {
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-login .login_logo img {
  width: 22rem;
}

.p-login .login_ttl {
  margin-bottom: 2.5rem;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-login .login_txt {
  margin-bottom: 2.5rem;
}

.p-login .login_btn .c-btn01 {
  width: 100%;
}

/* Logout
---------------------------------------------------------------*/
.p-logout .flat-row {
  padding: 0;
}

.p-logout .container {
  padding: 1.5rem 2.5rem;
}

.p-logout .logout_logo {
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-logout .logout_logo img {
  width: 22rem;
}

.p-logout .logout_ttl {
  margin-bottom: 2.5rem;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-logout .logout_txt {
  margin-bottom: 2.5rem;
}

.p-logout .logout_btn .c-btn01 {
  width: 100%;
}

/* error
---------------------------------------------------------------*/
.p-error .flat-row {
  padding: 0;
}

.p-error .container {
  padding: 1.5rem 2.5rem;
}

.p-error .error_logo {
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-error .error_logo img {
  width: 22rem;
}

.p-error .error_ttl {
  margin-bottom: 2.5rem;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}

.p-error .error_txt {
  margin-bottom: 2.5rem;
}

.p-error .error_btn li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.p-error .error_btn .c-btn01 {
  width: 100%;
}

/* term
---------------------------------------------------------------*/
.term ol li {
  list-style-type: decimal;
  margin-left: 2em;
}

/**************************************************
		Utility
**************************************************/
.u-txt-w100 {
  font-weight: 100 !important;
}

.u-txt-w200 {
  font-weight: 200 !important;
}

.u-txt-w300 {
  font-weight: 300 !important;
}

.u-txt-w400 {
  font-weight: 400 !important;
}

.u-txt-w500 {
  font-weight: 500 !important;
}

.u-txt-w600 {
  font-weight: 600 !important;
}

.u-txt-w700 {
  font-weight: 700 !important;
}

.u-txt-w800 {
  font-weight: 800 !important;
}

.u-txt-w900 {
  font-weight: 900 !important;
}

.u-txt-bold {
  font-weight: bold !important;
}

.u-txt-normal {
  font-weight: normal !important;
}

.u-txt-italic {
  font-style: italic !important;
}

.u-txt-black {
  color: #333 !important;
}

.u-txt-gray {
  color: #707070 !important;
}

.u-txt-white {
  color: #fff !important;
}

.u-txt-primary {
  color: #990000 !important;
}

.u-txt-accent {
  color: #990000 !important;
}

.u-txt-caution {
  color: #990000 !important;
}

@media only screen and (max-width: 767px) {
  .u-txt-s10_sp {
    font-size: 1rem !important;
  }
  .u-txt-s11_sp {
    font-size: 1.1rem !important;
  }
  .u-txt-s12_sp {
    font-size: 1.2rem !important;
  }
  .u-txt-s13_sp {
    font-size: 1.3rem !important;
  }
  .u-txt-s14_sp {
    font-size: 1.4rem !important;
  }
  .u-txt-s15_sp {
    font-size: 1.5rem !important;
  }
  .u-txt-s16_sp {
    font-size: 1.6rem !important;
  }
  .u-txt-s17_sp {
    font-size: 1.7rem !important;
  }
  .u-txt-s18_sp {
    font-size: 1.8rem !important;
  }
  .u-txt-s19_sp {
    font-size: 1.9rem !important;
  }
  .u-txt-s20_sp {
    font-size: 2rem !important;
  }
  .u-txt-s21_sp {
    font-size: 2.1rem !important;
  }
  .u-txt-s22_sp {
    font-size: 2.2rem !important;
  }
  .u-txt-s23_sp {
    font-size: 2.3rem !important;
  }
  .u-txt-s24_sp {
    font-size: 2.4rem !important;
  }
  .u-txt-s25_sp {
    font-size: 2.5rem !important;
  }
  .u-txt-s26_sp {
    font-size: 2.6rem !important;
  }
  .u-txt-s27_sp {
    font-size: 2.7rem !important;
  }
  .u-txt-s28_sp {
    font-size: 2.8rem !important;
  }
  .u-txt-s29_sp {
    font-size: 2.9rem !important;
  }
  .u-txt-s30_sp {
    font-size: 3rem !important;
  }
  .u-txt-s31_sp {
    font-size: 3.1rem !important;
  }
  .u-txt-s32_sp {
    font-size: 3.2rem !important;
  }
  .u-txt-s33_sp {
    font-size: 3.3rem !important;
  }
  .u-txt-s34_sp {
    font-size: 3.4rem !important;
  }
  .u-txt-s35_sp {
    font-size: 3.5rem !important;
  }
  .u-lh100_sp {
    line-height: 1 !important;
  }
  .u-lh110_sp {
    line-height: 1.1 !important;
  }
  .u-lh120_sp {
    line-height: 1.2 !important;
  }
  .u-lh130_sp {
    line-height: 1.3 !important;
  }
  .u-lh140_sp {
    line-height: 1.4 !important;
  }
  .u-lh150_sp {
    line-height: 1.5 !important;
  }
  .u-lh160_sp {
    line-height: 1.6 !important;
  }
  .u-lh170_sp {
    line-height: 1.7 !important;
  }
  .u-lh180_sp {
    line-height: 1.8 !important;
  }
  .u-lh190_sp {
    line-height: 1.9 !important;
  }
  .u-lh200_sp {
    line-height: 2 !important;
  }
  .u-lh210_sp {
    line-height: 2.1 !important;
  }
  .u-lh220_sp {
    line-height: 2.2 !important;
  }
  .u-lh230_sp {
    line-height: 2.3 !important;
  }
  .u-lh240_sp {
    line-height: 2.4 !important;
  }
  .u-lh250_sp {
    line-height: 2.5 !important;
  }
  .u-txt-left_sp {
    text-align: left !important;
  }
  .u-txt-center_sp {
    text-align: center !important;
  }
  .u-txt-right_sp {
    text-align: right !important;
  }
}

@media print, screen and (min-width: 768px) {
  .u-txt-s10 {
    font-size: 1rem !important;
  }
  .u-txt-s11 {
    font-size: 1.1rem !important;
  }
  .u-txt-s12 {
    font-size: 1.2rem !important;
  }
  .u-txt-s13 {
    font-size: 1.3rem !important;
  }
  .u-txt-s14 {
    font-size: 1.4rem !important;
  }
  .u-txt-s15 {
    font-size: 1.5rem !important;
  }
  .u-txt-s16 {
    font-size: 1.6rem !important;
  }
  .u-txt-s17 {
    font-size: 1.7rem !important;
  }
  .u-txt-s18 {
    font-size: 1.8rem !important;
  }
  .u-txt-s19 {
    font-size: 1.9rem !important;
  }
  .u-txt-s20 {
    font-size: 2rem !important;
  }
  .u-txt-s21 {
    font-size: 2.1rem !important;
  }
  .u-txt-s22 {
    font-size: 2.2rem !important;
  }
  .u-txt-s23 {
    font-size: 2.3rem !important;
  }
  .u-txt-s24 {
    font-size: 2.4rem !important;
  }
  .u-txt-s25 {
    font-size: 2.5rem !important;
  }
  .u-txt-s26 {
    font-size: 2.6rem !important;
  }
  .u-txt-s27 {
    font-size: 2.7rem !important;
  }
  .u-txt-s28 {
    font-size: 2.8rem !important;
  }
  .u-txt-s29 {
    font-size: 2.9rem !important;
  }
  .u-txt-s30 {
    font-size: 3rem !important;
  }
  .u-txt-s31 {
    font-size: 3.1rem !important;
  }
  .u-txt-s32 {
    font-size: 3.2rem !important;
  }
  .u-txt-s33 {
    font-size: 3.3rem !important;
  }
  .u-txt-s34 {
    font-size: 3.4rem !important;
  }
  .u-txt-s35 {
    font-size: 3.5rem !important;
  }
  .u-lh100 {
    line-height: 1 !important;
  }
  .u-lh110 {
    line-height: 1.1 !important;
  }
  .u-lh120 {
    line-height: 1.2 !important;
  }
  .u-lh130 {
    line-height: 1.3 !important;
  }
  .u-lh140 {
    line-height: 1.4 !important;
  }
  .u-lh150 {
    line-height: 1.5 !important;
  }
  .u-lh160 {
    line-height: 1.6 !important;
  }
  .u-lh170 {
    line-height: 1.7 !important;
  }
  .u-lh180 {
    line-height: 1.8 !important;
  }
  .u-lh190 {
    line-height: 1.9 !important;
  }
  .u-lh200 {
    line-height: 2 !important;
  }
  .u-lh210 {
    line-height: 2.1 !important;
  }
  .u-lh220 {
    line-height: 2.2 !important;
  }
  .u-lh230 {
    line-height: 2.3 !important;
  }
  .u-lh240 {
    line-height: 2.4 !important;
  }
  .u-lh250 {
    line-height: 2.5 !important;
  }
  .u-txt-left {
    text-align: left !important;
  }
  .u-txt-center {
    text-align: center !important;
  }
  .u-txt-right {
    text-align: right !important;
  }
}

@media only screen and (max-width: 767px) {
  .u-mAuto_sp {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .u-mt0_sp {
    margin-top: 0 !important;
  }
  .u-mt1_sp {
    margin-top: 0.1rem !important;
  }
  .u-mt2_sp {
    margin-top: 0.2rem !important;
  }
  .u-mt3_sp {
    margin-top: 0.3rem !important;
  }
  .u-mt4_sp {
    margin-top: 0.4rem !important;
  }
  .u-mt5_sp {
    margin-top: 0.5rem !important;
  }
  .u-mt6_sp {
    margin-top: 0.6rem !important;
  }
  .u-mt7_sp {
    margin-top: 0.7rem !important;
  }
  .u-mt8_sp {
    margin-top: 0.8rem !important;
  }
  .u-mt9_sp {
    margin-top: 0.9rem !important;
  }
  .u-mt10_sp {
    margin-top: 1rem !important;
  }
  .u-mt11_sp {
    margin-top: 1.1rem !important;
  }
  .u-mt12_sp {
    margin-top: 1.2rem !important;
  }
  .u-mt13_sp {
    margin-top: 1.3rem !important;
  }
  .u-mt14_sp {
    margin-top: 1.4rem !important;
  }
  .u-mt15_sp {
    margin-top: 1.5rem !important;
  }
  .u-mt16_sp {
    margin-top: 1.6rem !important;
  }
  .u-mt17_sp {
    margin-top: 1.7rem !important;
  }
  .u-mt18_sp {
    margin-top: 1.8rem !important;
  }
  .u-mt19_sp {
    margin-top: 1.9rem !important;
  }
  .u-mt20_sp {
    margin-top: 2rem !important;
  }
  .u-mt25_sp {
    margin-top: 2.5rem !important;
  }
  .u-mt30_sp {
    margin-top: 3rem !important;
  }
  .u-mt35_sp {
    margin-top: 3.5rem !important;
  }
  .u-mt40_sp {
    margin-top: 4rem !important;
  }
  .u-mt45_sp {
    margin-top: 4.5rem !important;
  }
  .u-mt50_sp {
    margin-top: 5rem !important;
  }
  .u-mt55_sp {
    margin-top: 5.5rem !important;
  }
  .u-mt60_sp {
    margin-top: 6rem !important;
  }
  .u-mt65_sp {
    margin-top: 6.5rem !important;
  }
  .u-mt70_sp {
    margin-top: 7rem !important;
  }
  .u-mt75_sp {
    margin-top: 7.5rem !important;
  }
  .u-mt80_sp {
    margin-top: 8rem !important;
  }
  .u-mt85_sp {
    margin-top: 8.5rem !important;
  }
  .u-mt90_sp {
    margin-top: 9rem !important;
  }
  .u-mt95_sp {
    margin-top: 9.5rem !important;
  }
  .u-mt100_sp {
    margin-top: 10rem !important;
  }
  .u-mt-1_sp {
    margin-top: -0.1rem !important;
  }
  .u-mt-2_sp {
    margin-top: -0.2rem !important;
  }
  .u-mt-3_sp {
    margin-top: -0.3rem !important;
  }
  .u-mt-4_sp {
    margin-top: -0.4rem !important;
  }
  .u-mt-5_sp {
    margin-top: -0.5rem !important;
  }
  .u-mt-6_sp {
    margin-top: -0.6rem !important;
  }
  .u-mt-7_sp {
    margin-top: -0.7rem !important;
  }
  .u-mt-8_sp {
    margin-top: -0.8rem !important;
  }
  .u-mt-9_sp {
    margin-top: -0.9rem !important;
  }
  .u-mt-10_sp {
    margin-top: -1rem !important;
  }
  .u-mt-11_sp {
    margin-top: -1.1rem !important;
  }
  .u-mt-12_sp {
    margin-top: -1.2rem !important;
  }
  .u-mt-13_sp {
    margin-top: -1.3rem !important;
  }
  .u-mt-14_sp {
    margin-top: -1.4rem !important;
  }
  .u-mt-15_sp {
    margin-top: -1.5rem !important;
  }
  .u-mt-16_sp {
    margin-top: -1.6rem !important;
  }
  .u-mt-17_sp {
    margin-top: -1.7rem !important;
  }
  .u-mt-18_sp {
    margin-top: -1.8rem !important;
  }
  .u-mt-19_sp {
    margin-top: -1.9rem !important;
  }
  .u-mt-20_sp {
    margin-top: -2rem !important;
  }
  .u-mt-25_sp {
    margin-top: -2.5rem !important;
  }
  .u-mt-30_sp {
    margin-top: -3rem !important;
  }
  .u-mt-35_sp {
    margin-top: -3.5rem !important;
  }
  .u-mt-40_sp {
    margin-top: -4rem !important;
  }
  .u-mt-45_sp {
    margin-top: -4.5rem !important;
  }
  .u-mt-50_sp {
    margin-top: -5rem !important;
  }
  .u-mt-55_sp {
    margin-top: -5.5rem !important;
  }
  .u-mt-60_sp {
    margin-top: -6rem !important;
  }
  .u-mt-65_sp {
    margin-top: -6.5rem !important;
  }
  .u-mt-70_sp {
    margin-top: -7rem !important;
  }
  .u-mt-75_sp {
    margin-top: -7.5rem !important;
  }
  .u-mt-80_sp {
    margin-top: -8rem !important;
  }
  .u-mt-85_sp {
    margin-top: -8.5rem !important;
  }
  .u-mt-90_sp {
    margin-top: -9rem !important;
  }
  .u-mt-95_sp {
    margin-top: -9.5rem !important;
  }
  .u-mt-100_sp {
    margin-top: -10rem !important;
  }
  .u-mb0_sp {
    margin-bottom: 0 !important;
  }
  .u-mb1_sp {
    margin-bottom: 0.1rem !important;
  }
  .u-mb2_sp {
    margin-bottom: 0.2rem !important;
  }
  .u-mb3_sp {
    margin-bottom: 0.3rem !important;
  }
  .u-mb4_sp {
    margin-bottom: 0.4rem !important;
  }
  .u-mb5_sp {
    margin-bottom: 0.5rem !important;
  }
  .u-mb6_sp {
    margin-bottom: 0.6rem !important;
  }
  .u-mb7_sp {
    margin-bottom: 0.7rem !important;
  }
  .u-mb8_sp {
    margin-bottom: 0.8rem !important;
  }
  .u-mb9_sp {
    margin-bottom: 0.9rem !important;
  }
  .u-mb10_sp {
    margin-bottom: 1rem !important;
  }
  .u-mb11_sp {
    margin-bottom: 1.1rem !important;
  }
  .u-mb12_sp {
    margin-bottom: 1.2rem !important;
  }
  .u-mb13_sp {
    margin-bottom: 1.3rem !important;
  }
  .u-mb14_sp {
    margin-bottom: 1.4rem !important;
  }
  .u-mb15_sp {
    margin-bottom: 1.5rem !important;
  }
  .u-mb16_sp {
    margin-bottom: 1.6rem !important;
  }
  .u-mb17_sp {
    margin-bottom: 1.7rem !important;
  }
  .u-mb18_sp {
    margin-bottom: 1.8rem !important;
  }
  .u-mb19_sp {
    margin-bottom: 1.9rem !important;
  }
  .u-mb20_sp {
    margin-bottom: 2rem !important;
  }
  .u-mb25_sp {
    margin-bottom: 2.5rem !important;
  }
  .u-mb30_sp {
    margin-bottom: 3rem !important;
  }
  .u-mb35_sp {
    margin-bottom: 3.5rem !important;
  }
  .u-mb40_sp {
    margin-bottom: 4rem !important;
  }
  .u-mb45_sp {
    margin-bottom: 4.5rem !important;
  }
  .u-mb50_sp {
    margin-bottom: 5rem !important;
  }
  .u-mb55_sp {
    margin-bottom: 5.5rem !important;
  }
  .u-mb60_sp {
    margin-bottom: 6rem !important;
  }
  .u-mb65_sp {
    margin-bottom: 6.5rem !important;
  }
  .u-mb70_sp {
    margin-bottom: 7rem !important;
  }
  .u-mb75_sp {
    margin-bottom: 7.5rem !important;
  }
  .u-mb80_sp {
    margin-bottom: 8rem !important;
  }
  .u-mb85_sp {
    margin-bottom: 8.5rem !important;
  }
  .u-mb90_sp {
    margin-bottom: 9rem !important;
  }
  .u-mb95_sp {
    margin-bottom: 9.5rem !important;
  }
  .u-mb100_sp {
    margin-bottom: 10rem !important;
  }
  .u-mb-1_sp {
    margin-bottom: -0.1rem !important;
  }
  .u-mb-2_sp {
    margin-bottom: -0.2rem !important;
  }
  .u-mb-3_sp {
    margin-bottom: -0.3rem !important;
  }
  .u-mb-4_sp {
    margin-bottom: -0.4rem !important;
  }
  .u-mb-5_sp {
    margin-bottom: -0.5rem !important;
  }
  .u-mb-6_sp {
    margin-bottom: -0.6rem !important;
  }
  .u-mb-7_sp {
    margin-bottom: -0.7rem !important;
  }
  .u-mb-8_sp {
    margin-bottom: -0.8rem !important;
  }
  .u-mb-9_sp {
    margin-bottom: -0.9rem !important;
  }
  .u-mb-10_sp {
    margin-bottom: -1rem !important;
  }
  .u-mb-11_sp {
    margin-bottom: -1.1rem !important;
  }
  .u-mb-12_sp {
    margin-bottom: -1.2rem !important;
  }
  .u-mb-13_sp {
    margin-bottom: -1.3rem !important;
  }
  .u-mb-14_sp {
    margin-bottom: -1.4rem !important;
  }
  .u-mb-15_sp {
    margin-bottom: -1.5rem !important;
  }
  .u-mb-16_sp {
    margin-bottom: -1.6rem !important;
  }
  .u-mb-17_sp {
    margin-bottom: -1.7rem !important;
  }
  .u-mb-18_sp {
    margin-bottom: -1.8rem !important;
  }
  .u-mb-19_sp {
    margin-bottom: -1.9rem !important;
  }
  .u-mb-20_sp {
    margin-bottom: -2rem !important;
  }
  .u-mb-25_sp {
    margin-bottom: -2.5rem !important;
  }
  .u-mb-30_sp {
    margin-bottom: -3rem !important;
  }
  .u-mb-35_sp {
    margin-bottom: -3.5rem !important;
  }
  .u-mb-40_sp {
    margin-bottom: -4rem !important;
  }
  .u-mb-45_sp {
    margin-bottom: -4.5rem !important;
  }
  .u-mb-50_sp {
    margin-bottom: -5rem !important;
  }
  .u-mb-55_sp {
    margin-bottom: -5.5rem !important;
  }
  .u-mb-60_sp {
    margin-bottom: -6rem !important;
  }
  .u-mb-65_sp {
    margin-bottom: -6.5rem !important;
  }
  .u-mb-70_sp {
    margin-bottom: -7rem !important;
  }
  .u-mb-75_sp {
    margin-bottom: -7.5rem !important;
  }
  .u-mb-80_sp {
    margin-bottom: -8rem !important;
  }
  .u-mb-85_sp {
    margin-bottom: -8.5rem !important;
  }
  .u-mb-90_sp {
    margin-bottom: -9rem !important;
  }
  .u-mb-95_sp {
    margin-bottom: -9.5rem !important;
  }
  .u-mb-100_sp {
    margin-bottom: -10rem !important;
  }
  .u-ml0_sp {
    margin-left: 0 !important;
  }
  .u-ml1_sp {
    margin-left: 0.1rem !important;
  }
  .u-ml2_sp {
    margin-left: 0.2rem !important;
  }
  .u-ml3_sp {
    margin-left: 0.3rem !important;
  }
  .u-ml4_sp {
    margin-left: 0.4rem !important;
  }
  .u-ml5_sp {
    margin-left: 0.5rem !important;
  }
  .u-ml6_sp {
    margin-left: 0.6rem !important;
  }
  .u-ml7_sp {
    margin-left: 0.7rem !important;
  }
  .u-ml8_sp {
    margin-left: 0.8rem !important;
  }
  .u-ml9_sp {
    margin-left: 0.9rem !important;
  }
  .u-ml10_sp {
    margin-left: 1rem !important;
  }
  .u-ml11_sp {
    margin-left: 1.1rem !important;
  }
  .u-ml12_sp {
    margin-left: 1.2rem !important;
  }
  .u-ml13_sp {
    margin-left: 1.3rem !important;
  }
  .u-ml14_sp {
    margin-left: 1.4rem !important;
  }
  .u-ml15_sp {
    margin-left: 1.5rem !important;
  }
  .u-ml16_sp {
    margin-left: 1.6rem !important;
  }
  .u-ml17_sp {
    margin-left: 1.7rem !important;
  }
  .u-ml18_sp {
    margin-left: 1.8rem !important;
  }
  .u-ml19_sp {
    margin-left: 1.9rem !important;
  }
  .u-ml20_sp {
    margin-left: 2rem !important;
  }
  .u-ml25_sp {
    margin-left: 2.5rem !important;
  }
  .u-ml30_sp {
    margin-left: 3rem !important;
  }
  .u-ml35_sp {
    margin-left: 3.5rem !important;
  }
  .u-ml40_sp {
    margin-left: 4rem !important;
  }
  .u-ml45_sp {
    margin-left: 4.5rem !important;
  }
  .u-ml50_sp {
    margin-left: 5rem !important;
  }
  .u-ml55_sp {
    margin-left: 5.5rem !important;
  }
  .u-ml60_sp {
    margin-left: 6rem !important;
  }
  .u-ml65_sp {
    margin-left: 6.5rem !important;
  }
  .u-ml70_sp {
    margin-left: 7rem !important;
  }
  .u-ml75_sp {
    margin-left: 7.5rem !important;
  }
  .u-ml80_sp {
    margin-left: 8rem !important;
  }
  .u-ml85_sp {
    margin-left: 8.5rem !important;
  }
  .u-ml90_sp {
    margin-left: 9rem !important;
  }
  .u-ml95_sp {
    margin-left: 9.5rem !important;
  }
  .u-ml100_sp {
    margin-left: 10rem !important;
  }
  .u-ml-1_sp {
    margin-left: -0.1rem !important;
  }
  .u-ml-2_sp {
    margin-left: -0.2rem !important;
  }
  .u-ml-3_sp {
    margin-left: -0.3rem !important;
  }
  .u-ml-4_sp {
    margin-left: -0.4rem !important;
  }
  .u-ml-5_sp {
    margin-left: -0.5rem !important;
  }
  .u-ml-6_sp {
    margin-left: -0.6rem !important;
  }
  .u-ml-7_sp {
    margin-left: -0.7rem !important;
  }
  .u-ml-8_sp {
    margin-left: -0.8rem !important;
  }
  .u-ml-9_sp {
    margin-left: -0.9rem !important;
  }
  .u-ml-10_sp {
    margin-left: -1rem !important;
  }
  .u-ml-11_sp {
    margin-left: -1.1rem !important;
  }
  .u-ml-12_sp {
    margin-left: -1.2rem !important;
  }
  .u-ml-13_sp {
    margin-left: -1.3rem !important;
  }
  .u-ml-14_sp {
    margin-left: -1.4rem !important;
  }
  .u-ml-15_sp {
    margin-left: -1.5rem !important;
  }
  .u-ml-16_sp {
    margin-left: -1.6rem !important;
  }
  .u-ml-17_sp {
    margin-left: -1.7rem !important;
  }
  .u-ml-18_sp {
    margin-left: -1.8rem !important;
  }
  .u-ml-19_sp {
    margin-left: -1.9rem !important;
  }
  .u-ml-20_sp {
    margin-left: -2rem !important;
  }
  .u-ml-25_sp {
    margin-left: -2.5rem !important;
  }
  .u-ml-30_sp {
    margin-left: -3rem !important;
  }
  .u-ml-35_sp {
    margin-left: -3.5rem !important;
  }
  .u-ml-40_sp {
    margin-left: -4rem !important;
  }
  .u-ml-45_sp {
    margin-left: -4.5rem !important;
  }
  .u-ml-50_sp {
    margin-left: -5rem !important;
  }
  .u-ml-55_sp {
    margin-left: -5.5rem !important;
  }
  .u-ml-60_sp {
    margin-left: -6rem !important;
  }
  .u-ml-65_sp {
    margin-left: -6.5rem !important;
  }
  .u-ml-70_sp {
    margin-left: -7rem !important;
  }
  .u-ml-75_sp {
    margin-left: -7.5rem !important;
  }
  .u-ml-80_sp {
    margin-left: -8rem !important;
  }
  .u-ml-85_sp {
    margin-left: -8.5rem !important;
  }
  .u-ml-90_sp {
    margin-left: -9rem !important;
  }
  .u-ml-95_sp {
    margin-left: -9.5rem !important;
  }
  .u-ml-100_sp {
    margin-left: -10rem !important;
  }
  .u-mr0_sp {
    margin-right: 0 !important;
  }
  .u-mr1_sp {
    margin-right: 0.1rem !important;
  }
  .u-mr2_sp {
    margin-right: 0.2rem !important;
  }
  .u-mr3_sp {
    margin-right: 0.3rem !important;
  }
  .u-mr4_sp {
    margin-right: 0.4rem !important;
  }
  .u-mr5_sp {
    margin-right: 0.5rem !important;
  }
  .u-mr6_sp {
    margin-right: 0.6rem !important;
  }
  .u-mr7_sp {
    margin-right: 0.7rem !important;
  }
  .u-mr8_sp {
    margin-right: 0.8rem !important;
  }
  .u-mr9_sp {
    margin-right: 0.9rem !important;
  }
  .u-mr10_sp {
    margin-right: 1rem !important;
  }
  .u-mr11_sp {
    margin-right: 1.1rem !important;
  }
  .u-mr12_sp {
    margin-right: 1.2rem !important;
  }
  .u-mr13_sp {
    margin-right: 1.3rem !important;
  }
  .u-mr14_sp {
    margin-right: 1.4rem !important;
  }
  .u-mr15_sp {
    margin-right: 1.5rem !important;
  }
  .u-mr16_sp {
    margin-right: 1.6rem !important;
  }
  .u-mr17_sp {
    margin-right: 1.7rem !important;
  }
  .u-mr18_sp {
    margin-right: 1.8rem !important;
  }
  .u-mr19_sp {
    margin-right: 1.9rem !important;
  }
  .u-mr20_sp {
    margin-right: 2rem !important;
  }
  .u-mr25_sp {
    margin-right: 2.5rem !important;
  }
  .u-mr30_sp {
    margin-right: 3rem !important;
  }
  .u-mr35_sp {
    margin-right: 3.5rem !important;
  }
  .u-mr40_sp {
    margin-right: 4rem !important;
  }
  .u-mr45_sp {
    margin-right: 4.5rem !important;
  }
  .u-mr50_sp {
    margin-right: 5rem !important;
  }
  .u-mr55_sp {
    margin-right: 5.5rem !important;
  }
  .u-mr60_sp {
    margin-right: 6rem !important;
  }
  .u-mr65_sp {
    margin-right: 6.5rem !important;
  }
  .u-mr70_sp {
    margin-right: 7rem !important;
  }
  .u-mr75_sp {
    margin-right: 7.5rem !important;
  }
  .u-mr80_sp {
    margin-right: 8rem !important;
  }
  .u-mr85_sp {
    margin-right: 8.5rem !important;
  }
  .u-mr90_sp {
    margin-right: 9rem !important;
  }
  .u-mr95_sp {
    margin-right: 9.5rem !important;
  }
  .u-mr100_sp {
    margin-right: 10rem !important;
  }
  .u-mr-1_sp {
    margin-right: -0.1rem !important;
  }
  .u-mr-2_sp {
    margin-right: -0.2rem !important;
  }
  .u-mr-3_sp {
    margin-right: -0.3rem !important;
  }
  .u-mr-4_sp {
    margin-right: -0.4rem !important;
  }
  .u-mr-5_sp {
    margin-right: -0.5rem !important;
  }
  .u-mr-6_sp {
    margin-right: -0.6rem !important;
  }
  .u-mr-7_sp {
    margin-right: -0.7rem !important;
  }
  .u-mr-8_sp {
    margin-right: -0.8rem !important;
  }
  .u-mr-9_sp {
    margin-right: -0.9rem !important;
  }
  .u-mr-10_sp {
    margin-right: -1rem !important;
  }
  .u-mr-11_sp {
    margin-right: -1.1rem !important;
  }
  .u-mr-12_sp {
    margin-right: -1.2rem !important;
  }
  .u-mr-13_sp {
    margin-right: -1.3rem !important;
  }
  .u-mr-14_sp {
    margin-right: -1.4rem !important;
  }
  .u-mr-15_sp {
    margin-right: -1.5rem !important;
  }
  .u-mr-16_sp {
    margin-right: -1.6rem !important;
  }
  .u-mr-17_sp {
    margin-right: -1.7rem !important;
  }
  .u-mr-18_sp {
    margin-right: -1.8rem !important;
  }
  .u-mr-19_sp {
    margin-right: -1.9rem !important;
  }
  .u-mr-20_sp {
    margin-right: -2rem !important;
  }
  .u-mr-25_sp {
    margin-right: -2.5rem !important;
  }
  .u-mr-30_sp {
    margin-right: -3rem !important;
  }
  .u-mr-35_sp {
    margin-right: -3.5rem !important;
  }
  .u-mr-40_sp {
    margin-right: -4rem !important;
  }
  .u-mr-45_sp {
    margin-right: -4.5rem !important;
  }
  .u-mr-50_sp {
    margin-right: -5rem !important;
  }
  .u-mr-55_sp {
    margin-right: -5.5rem !important;
  }
  .u-mr-60_sp {
    margin-right: -6rem !important;
  }
  .u-mr-65_sp {
    margin-right: -6.5rem !important;
  }
  .u-mr-70_sp {
    margin-right: -7rem !important;
  }
  .u-mr-75_sp {
    margin-right: -7.5rem !important;
  }
  .u-mr-80_sp {
    margin-right: -8rem !important;
  }
  .u-mr-85_sp {
    margin-right: -8.5rem !important;
  }
  .u-mr-90_sp {
    margin-right: -9rem !important;
  }
  .u-mr-95_sp {
    margin-right: -9.5rem !important;
  }
  .u-mr-100_sp {
    margin-right: -10rem !important;
  }
  .u-pt0_sp {
    padding-top: 0 !important;
  }
  .u-pt1_sp {
    padding-top: 0.1rem !important;
  }
  .u-pt2_sp {
    padding-top: 0.2rem !important;
  }
  .u-pt3_sp {
    padding-top: 0.3rem !important;
  }
  .u-pt4_sp {
    padding-top: 0.4rem !important;
  }
  .u-pt5_sp {
    padding-top: 0.5rem !important;
  }
  .u-pt6_sp {
    padding-top: 0.6rem !important;
  }
  .u-pt7_sp {
    padding-top: 0.7rem !important;
  }
  .u-pt8_sp {
    padding-top: 0.8rem !important;
  }
  .u-pt9_sp {
    padding-top: 0.9rem !important;
  }
  .u-pt10_sp {
    padding-top: 1rem !important;
  }
  .u-pt11_sp {
    padding-top: 1.1rem !important;
  }
  .u-pt12_sp {
    padding-top: 1.2rem !important;
  }
  .u-pt13_sp {
    padding-top: 1.3rem !important;
  }
  .u-pt14_sp {
    padding-top: 1.4rem !important;
  }
  .u-pt15_sp {
    padding-top: 1.5rem !important;
  }
  .u-pt16_sp {
    padding-top: 1.6rem !important;
  }
  .u-pt17_sp {
    padding-top: 1.7rem !important;
  }
  .u-pt18_sp {
    padding-top: 1.8rem !important;
  }
  .u-pt19_sp {
    padding-top: 1.9rem !important;
  }
  .u-pt20_sp {
    padding-top: 2rem !important;
  }
  .u-pt25_sp {
    padding-top: 2.5rem !important;
  }
  .u-pt30_sp {
    padding-top: 3rem !important;
  }
  .u-pt35_sp {
    padding-top: 3.5rem !important;
  }
  .u-pt40_sp {
    padding-top: 4rem !important;
  }
  .u-pt45_sp {
    padding-top: 4.5rem !important;
  }
  .u-pt50_sp {
    padding-top: 5rem !important;
  }
  .u-pt55_sp {
    padding-top: 5.5rem !important;
  }
  .u-pt60_sp {
    padding-top: 6rem !important;
  }
  .u-pt65_sp {
    padding-top: 6.5rem !important;
  }
  .u-pt70_sp {
    padding-top: 7rem !important;
  }
  .u-pt75_sp {
    padding-top: 7.5rem !important;
  }
  .u-pt80_sp {
    padding-top: 8rem !important;
  }
  .u-pt85_sp {
    padding-top: 8.5rem !important;
  }
  .u-pt90_sp {
    padding-top: 9rem !important;
  }
  .u-pt95_sp {
    padding-top: 9.5rem !important;
  }
  .u-pt100_sp {
    padding-top: 10rem !important;
  }
  .u-pb0_sp {
    padding-bottom: 0 !important;
  }
  .u-pb1_sp {
    padding-bottom: 0.1rem !important;
  }
  .u-pb2_sp {
    padding-bottom: 0.2rem !important;
  }
  .u-pb3_sp {
    padding-bottom: 0.3rem !important;
  }
  .u-pb4_sp {
    padding-bottom: 0.4rem !important;
  }
  .u-pb5_sp {
    padding-bottom: 0.5rem !important;
  }
  .u-pb6_sp {
    padding-bottom: 0.6rem !important;
  }
  .u-pb7_sp {
    padding-bottom: 0.7rem !important;
  }
  .u-pb8_sp {
    padding-bottom: 0.8rem !important;
  }
  .u-pb9_sp {
    padding-bottom: 0.9rem !important;
  }
  .u-pb10_sp {
    padding-bottom: 1rem !important;
  }
  .u-pb11_sp {
    padding-bottom: 1.1rem !important;
  }
  .u-pb12_sp {
    padding-bottom: 1.2rem !important;
  }
  .u-pb13_sp {
    padding-bottom: 1.3rem !important;
  }
  .u-pb14_sp {
    padding-bottom: 1.4rem !important;
  }
  .u-pb15_sp {
    padding-bottom: 1.5rem !important;
  }
  .u-pb16_sp {
    padding-bottom: 1.6rem !important;
  }
  .u-pb17_sp {
    padding-bottom: 1.7rem !important;
  }
  .u-pb18_sp {
    padding-bottom: 1.8rem !important;
  }
  .u-pb19_sp {
    padding-bottom: 1.9rem !important;
  }
  .u-pb20_sp {
    padding-bottom: 2rem !important;
  }
  .u-pb25_sp {
    padding-bottom: 2.5rem !important;
  }
  .u-pb30_sp {
    padding-bottom: 3rem !important;
  }
  .u-pb35_sp {
    padding-bottom: 3.5rem !important;
  }
  .u-pb40_sp {
    padding-bottom: 4rem !important;
  }
  .u-pb45_sp {
    padding-bottom: 4.5rem !important;
  }
  .u-pb50_sp {
    padding-bottom: 5rem !important;
  }
  .u-pb55_sp {
    padding-bottom: 5.5rem !important;
  }
  .u-pb60_sp {
    padding-bottom: 6rem !important;
  }
  .u-pb65_sp {
    padding-bottom: 6.5rem !important;
  }
  .u-pb70_sp {
    padding-bottom: 7rem !important;
  }
  .u-pb75_sp {
    padding-bottom: 7.5rem !important;
  }
  .u-pb80_sp {
    padding-bottom: 8rem !important;
  }
  .u-pb85_sp {
    padding-bottom: 8.5rem !important;
  }
  .u-pb90_sp {
    padding-bottom: 9rem !important;
  }
  .u-pb95_sp {
    padding-bottom: 9.5rem !important;
  }
  .u-pb100_sp {
    padding-bottom: 10rem !important;
  }
  .u-pl0_sp {
    padding-left: 0 !important;
  }
  .u-pl1_sp {
    padding-left: 0.1rem !important;
  }
  .u-pl2_sp {
    padding-left: 0.2rem !important;
  }
  .u-pl3_sp {
    padding-left: 0.3rem !important;
  }
  .u-pl4_sp {
    padding-left: 0.4rem !important;
  }
  .u-pl5_sp {
    padding-left: 0.5rem !important;
  }
  .u-pl6_sp {
    padding-left: 0.6rem !important;
  }
  .u-pl7_sp {
    padding-left: 0.7rem !important;
  }
  .u-pl8_sp {
    padding-left: 0.8rem !important;
  }
  .u-pl9_sp {
    padding-left: 0.9rem !important;
  }
  .u-pl10_sp {
    padding-left: 1rem !important;
  }
  .u-pl11_sp {
    padding-left: 1.1rem !important;
  }
  .u-pl12_sp {
    padding-left: 1.2rem !important;
  }
  .u-pl13_sp {
    padding-left: 1.3rem !important;
  }
  .u-pl14_sp {
    padding-left: 1.4rem !important;
  }
  .u-pl15_sp {
    padding-left: 1.5rem !important;
  }
  .u-pl16_sp {
    padding-left: 1.6rem !important;
  }
  .u-pl17_sp {
    padding-left: 1.7rem !important;
  }
  .u-pl18_sp {
    padding-left: 1.8rem !important;
  }
  .u-pl19_sp {
    padding-left: 1.9rem !important;
  }
  .u-pl20_sp {
    padding-left: 2rem !important;
  }
  .u-pl25_sp {
    padding-left: 2.5rem !important;
  }
  .u-pl30_sp {
    padding-left: 3rem !important;
  }
  .u-pl35_sp {
    padding-left: 3.5rem !important;
  }
  .u-pl40_sp {
    padding-left: 4rem !important;
  }
  .u-pl45_sp {
    padding-left: 4.5rem !important;
  }
  .u-pl50_sp {
    padding-left: 5rem !important;
  }
  .u-pl55_sp {
    padding-left: 5.5rem !important;
  }
  .u-pl60_sp {
    padding-left: 6rem !important;
  }
  .u-pl65_sp {
    padding-left: 6.5rem !important;
  }
  .u-pl70_sp {
    padding-left: 7rem !important;
  }
  .u-pl75_sp {
    padding-left: 7.5rem !important;
  }
  .u-pl80_sp {
    padding-left: 8rem !important;
  }
  .u-pl85_sp {
    padding-left: 8.5rem !important;
  }
  .u-pl90_sp {
    padding-left: 9rem !important;
  }
  .u-pl95_sp {
    padding-left: 9.5rem !important;
  }
  .u-pl100_sp {
    padding-left: 10rem !important;
  }
  .u-pr0_sp {
    padding-right: 0 !important;
  }
  .u-pr1_sp {
    padding-right: 0.1rem !important;
  }
  .u-pr2_sp {
    padding-right: 0.2rem !important;
  }
  .u-pr3_sp {
    padding-right: 0.3rem !important;
  }
  .u-pr4_sp {
    padding-right: 0.4rem !important;
  }
  .u-pr5_sp {
    padding-right: 0.5rem !important;
  }
  .u-pr6_sp {
    padding-right: 0.6rem !important;
  }
  .u-pr7_sp {
    padding-right: 0.7rem !important;
  }
  .u-pr8_sp {
    padding-right: 0.8rem !important;
  }
  .u-pr9_sp {
    padding-right: 0.9rem !important;
  }
  .u-pr10_sp {
    padding-right: 1rem !important;
  }
  .u-pr11_sp {
    padding-right: 1.1rem !important;
  }
  .u-pr12_sp {
    padding-right: 1.2rem !important;
  }
  .u-pr13_sp {
    padding-right: 1.3rem !important;
  }
  .u-pr14_sp {
    padding-right: 1.4rem !important;
  }
  .u-pr15_sp {
    padding-right: 1.5rem !important;
  }
  .u-pr16_sp {
    padding-right: 1.6rem !important;
  }
  .u-pr17_sp {
    padding-right: 1.7rem !important;
  }
  .u-pr18_sp {
    padding-right: 1.8rem !important;
  }
  .u-pr19_sp {
    padding-right: 1.9rem !important;
  }
  .u-pr20_sp {
    padding-right: 2rem !important;
  }
  .u-pr25_sp {
    padding-right: 2.5rem !important;
  }
  .u-pr30_sp {
    padding-right: 3rem !important;
  }
  .u-pr35_sp {
    padding-right: 3.5rem !important;
  }
  .u-pr40_sp {
    padding-right: 4rem !important;
  }
  .u-pr45_sp {
    padding-right: 4.5rem !important;
  }
  .u-pr50_sp {
    padding-right: 5rem !important;
  }
  .u-pr55_sp {
    padding-right: 5.5rem !important;
  }
  .u-pr60_sp {
    padding-right: 6rem !important;
  }
  .u-pr65_sp {
    padding-right: 6.5rem !important;
  }
  .u-pr70_sp {
    padding-right: 7rem !important;
  }
  .u-pr75_sp {
    padding-right: 7.5rem !important;
  }
  .u-pr80_sp {
    padding-right: 8rem !important;
  }
  .u-pr85_sp {
    padding-right: 8.5rem !important;
  }
  .u-pr90_sp {
    padding-right: 9rem !important;
  }
  .u-pr95_sp {
    padding-right: 9.5rem !important;
  }
  .u-pr100_sp {
    padding-right: 10rem !important;
  }
}

@media print, screen and (min-width: 768px) {
  .u-mAuto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .u-mt0 {
    margin-top: 0 !important;
  }
  .u-mt1 {
    margin-top: 0.1rem !important;
  }
  .u-mt2 {
    margin-top: 0.2rem !important;
  }
  .u-mt3 {
    margin-top: 0.3rem !important;
  }
  .u-mt4 {
    margin-top: 0.4rem !important;
  }
  .u-mt5 {
    margin-top: 0.5rem !important;
  }
  .u-mt6 {
    margin-top: 0.6rem !important;
  }
  .u-mt7 {
    margin-top: 0.7rem !important;
  }
  .u-mt8 {
    margin-top: 0.8rem !important;
  }
  .u-mt9 {
    margin-top: 0.9rem !important;
  }
  .u-mt10 {
    margin-top: 1rem !important;
  }
  .u-mt11 {
    margin-top: 1.1rem !important;
  }
  .u-mt12 {
    margin-top: 1.2rem !important;
  }
  .u-mt13 {
    margin-top: 1.3rem !important;
  }
  .u-mt14 {
    margin-top: 1.4rem !important;
  }
  .u-mt15 {
    margin-top: 1.5rem !important;
  }
  .u-mt16 {
    margin-top: 1.6rem !important;
  }
  .u-mt17 {
    margin-top: 1.7rem !important;
  }
  .u-mt18 {
    margin-top: 1.8rem !important;
  }
  .u-mt19 {
    margin-top: 1.9rem !important;
  }
  .u-mt20 {
    margin-top: 2rem !important;
  }
  .u-mt25 {
    margin-top: 2.5rem !important;
  }
  .u-mt30 {
    margin-top: 3rem !important;
  }
  .u-mt35 {
    margin-top: 3.5rem !important;
  }
  .u-mt40 {
    margin-top: 4rem !important;
  }
  .u-mt45 {
    margin-top: 4.5rem !important;
  }
  .u-mt50 {
    margin-top: 5rem !important;
  }
  .u-mt55 {
    margin-top: 5.5rem !important;
  }
  .u-mt60 {
    margin-top: 6rem !important;
  }
  .u-mt65 {
    margin-top: 6.5rem !important;
  }
  .u-mt70 {
    margin-top: 7rem !important;
  }
  .u-mt75 {
    margin-top: 7.5rem !important;
  }
  .u-mt80 {
    margin-top: 8rem !important;
  }
  .u-mt85 {
    margin-top: 8.5rem !important;
  }
  .u-mt90 {
    margin-top: 9rem !important;
  }
  .u-mt95 {
    margin-top: 9.5rem !important;
  }
  .u-mt100 {
    margin-top: 10rem !important;
  }
  .u-mt-1 {
    margin-top: -0.1rem !important;
  }
  .u-mt-2 {
    margin-top: -0.2rem !important;
  }
  .u-mt-3 {
    margin-top: -0.3rem !important;
  }
  .u-mt-4 {
    margin-top: -0.4rem !important;
  }
  .u-mt-5 {
    margin-top: -0.5rem !important;
  }
  .u-mt-6 {
    margin-top: -0.6rem !important;
  }
  .u-mt-7 {
    margin-top: -0.7rem !important;
  }
  .u-mt-8 {
    margin-top: -0.8rem !important;
  }
  .u-mt-9 {
    margin-top: -0.9rem !important;
  }
  .u-mt-10 {
    margin-top: -1rem !important;
  }
  .u-mt-11 {
    margin-top: -1.1rem !important;
  }
  .u-mt-12 {
    margin-top: -1.2rem !important;
  }
  .u-mt-13 {
    margin-top: -1.3rem !important;
  }
  .u-mt-14 {
    margin-top: -1.4rem !important;
  }
  .u-mt-15 {
    margin-top: -1.5rem !important;
  }
  .u-mt-16 {
    margin-top: -1.6rem !important;
  }
  .u-mt-17 {
    margin-top: -1.7rem !important;
  }
  .u-mt-18 {
    margin-top: -1.8rem !important;
  }
  .u-mt-19 {
    margin-top: -1.9rem !important;
  }
  .u-mt-20 {
    margin-top: -2rem !important;
  }
  .u-mt-25 {
    margin-top: -2.5rem !important;
  }
  .u-mt-30 {
    margin-top: -3rem !important;
  }
  .u-mt-35 {
    margin-top: -3.5rem !important;
  }
  .u-mt-40 {
    margin-top: -4rem !important;
  }
  .u-mt-45 {
    margin-top: -4.5rem !important;
  }
  .u-mt-50 {
    margin-top: -5rem !important;
  }
  .u-mt-55 {
    margin-top: -5.5rem !important;
  }
  .u-mt-60 {
    margin-top: -6rem !important;
  }
  .u-mt-65 {
    margin-top: -6.5rem !important;
  }
  .u-mt-70 {
    margin-top: -7rem !important;
  }
  .u-mt-75 {
    margin-top: -7.5rem !important;
  }
  .u-mt-80 {
    margin-top: -8rem !important;
  }
  .u-mt-85 {
    margin-top: -8.5rem !important;
  }
  .u-mt-90 {
    margin-top: -9rem !important;
  }
  .u-mt-95 {
    margin-top: -9.5rem !important;
  }
  .u-mt-100 {
    margin-top: -10rem !important;
  }
  .u-mb0 {
    margin-bottom: 0 !important;
  }
  .u-mb1 {
    margin-bottom: 0.1rem !important;
  }
  .u-mb2 {
    margin-bottom: 0.2rem !important;
  }
  .u-mb3 {
    margin-bottom: 0.3rem !important;
  }
  .u-mb4 {
    margin-bottom: 0.4rem !important;
  }
  .u-mb5 {
    margin-bottom: 0.5rem !important;
  }
  .u-mb6 {
    margin-bottom: 0.6rem !important;
  }
  .u-mb7 {
    margin-bottom: 0.7rem !important;
  }
  .u-mb8 {
    margin-bottom: 0.8rem !important;
  }
  .u-mb9 {
    margin-bottom: 0.9rem !important;
  }
  .u-mb10 {
    margin-bottom: 1rem !important;
  }
  .u-mb11 {
    margin-bottom: 1.1rem !important;
  }
  .u-mb12 {
    margin-bottom: 1.2rem !important;
  }
  .u-mb13 {
    margin-bottom: 1.3rem !important;
  }
  .u-mb14 {
    margin-bottom: 1.4rem !important;
  }
  .u-mb15 {
    margin-bottom: 1.5rem !important;
  }
  .u-mb16 {
    margin-bottom: 1.6rem !important;
  }
  .u-mb17 {
    margin-bottom: 1.7rem !important;
  }
  .u-mb18 {
    margin-bottom: 1.8rem !important;
  }
  .u-mb19 {
    margin-bottom: 1.9rem !important;
  }
  .u-mb20 {
    margin-bottom: 2rem !important;
  }
  .u-mb25 {
    margin-bottom: 2.5rem !important;
  }
  .u-mb30 {
    margin-bottom: 3rem !important;
  }
  .u-mb35 {
    margin-bottom: 3.5rem !important;
  }
  .u-mb40 {
    margin-bottom: 4rem !important;
  }
  .u-mb45 {
    margin-bottom: 4.5rem !important;
  }
  .u-mb50 {
    margin-bottom: 5rem !important;
  }
  .u-mb55 {
    margin-bottom: 5.5rem !important;
  }
  .u-mb60 {
    margin-bottom: 6rem !important;
  }
  .u-mb65 {
    margin-bottom: 6.5rem !important;
  }
  .u-mb70 {
    margin-bottom: 7rem !important;
  }
  .u-mb75 {
    margin-bottom: 7.5rem !important;
  }
  .u-mb80 {
    margin-bottom: 8rem !important;
  }
  .u-mb85 {
    margin-bottom: 8.5rem !important;
  }
  .u-mb90 {
    margin-bottom: 9rem !important;
  }
  .u-mb95 {
    margin-bottom: 9.5rem !important;
  }
  .u-mb100 {
    margin-bottom: 10rem !important;
  }
  .u-mb-1 {
    margin-bottom: -0.1rem !important;
  }
  .u-mb-2 {
    margin-bottom: -0.2rem !important;
  }
  .u-mb-3 {
    margin-bottom: -0.3rem !important;
  }
  .u-mb-4 {
    margin-bottom: -0.4rem !important;
  }
  .u-mb-5 {
    margin-bottom: -0.5rem !important;
  }
  .u-mb-6 {
    margin-bottom: -0.6rem !important;
  }
  .u-mb-7 {
    margin-bottom: -0.7rem !important;
  }
  .u-mb-8 {
    margin-bottom: -0.8rem !important;
  }
  .u-mb-9 {
    margin-bottom: -0.9rem !important;
  }
  .u-mb-10 {
    margin-bottom: -1rem !important;
  }
  .u-mb-11 {
    margin-bottom: -1.1rem !important;
  }
  .u-mb-12 {
    margin-bottom: -1.2rem !important;
  }
  .u-mb-13 {
    margin-bottom: -1.3rem !important;
  }
  .u-mb-14 {
    margin-bottom: -1.4rem !important;
  }
  .u-mb-15 {
    margin-bottom: -1.5rem !important;
  }
  .u-mb-16 {
    margin-bottom: -1.6rem !important;
  }
  .u-mb-17 {
    margin-bottom: -1.7rem !important;
  }
  .u-mb-18 {
    margin-bottom: -1.8rem !important;
  }
  .u-mb-19 {
    margin-bottom: -1.9rem !important;
  }
  .u-mb-20 {
    margin-bottom: -2rem !important;
  }
  .u-mb-25 {
    margin-bottom: -2.5rem !important;
  }
  .u-mb-30 {
    margin-bottom: -3rem !important;
  }
  .u-mb-35 {
    margin-bottom: -3.5rem !important;
  }
  .u-mb-40 {
    margin-bottom: -4rem !important;
  }
  .u-mb-45 {
    margin-bottom: -4.5rem !important;
  }
  .u-mb-50 {
    margin-bottom: -5rem !important;
  }
  .u-mb-55 {
    margin-bottom: -5.5rem !important;
  }
  .u-mb-60 {
    margin-bottom: -6rem !important;
  }
  .u-mb-65 {
    margin-bottom: -6.5rem !important;
  }
  .u-mb-70 {
    margin-bottom: -7rem !important;
  }
  .u-mb-75 {
    margin-bottom: -7.5rem !important;
  }
  .u-mb-80 {
    margin-bottom: -8rem !important;
  }
  .u-mb-85 {
    margin-bottom: -8.5rem !important;
  }
  .u-mb-90 {
    margin-bottom: -9rem !important;
  }
  .u-mb-95 {
    margin-bottom: -9.5rem !important;
  }
  .u-mb-100 {
    margin-bottom: -10rem !important;
  }
  .u-ml0 {
    margin-left: 0 !important;
  }
  .u-ml1 {
    margin-left: 0.1rem !important;
  }
  .u-ml2 {
    margin-left: 0.2rem !important;
  }
  .u-ml3 {
    margin-left: 0.3rem !important;
  }
  .u-ml4 {
    margin-left: 0.4rem !important;
  }
  .u-ml5 {
    margin-left: 0.5rem !important;
  }
  .u-ml6 {
    margin-left: 0.6rem !important;
  }
  .u-ml7 {
    margin-left: 0.7rem !important;
  }
  .u-ml8 {
    margin-left: 0.8rem !important;
  }
  .u-ml9 {
    margin-left: 0.9rem !important;
  }
  .u-ml10 {
    margin-left: 1rem !important;
  }
  .u-ml11 {
    margin-left: 1.1rem !important;
  }
  .u-ml12 {
    margin-left: 1.2rem !important;
  }
  .u-ml13 {
    margin-left: 1.3rem !important;
  }
  .u-ml14 {
    margin-left: 1.4rem !important;
  }
  .u-ml15 {
    margin-left: 1.5rem !important;
  }
  .u-ml16 {
    margin-left: 1.6rem !important;
  }
  .u-ml17 {
    margin-left: 1.7rem !important;
  }
  .u-ml18 {
    margin-left: 1.8rem !important;
  }
  .u-ml19 {
    margin-left: 1.9rem !important;
  }
  .u-ml20 {
    margin-left: 2rem !important;
  }
  .u-ml25 {
    margin-left: 2.5rem !important;
  }
  .u-ml30 {
    margin-left: 3rem !important;
  }
  .u-ml35 {
    margin-left: 3.5rem !important;
  }
  .u-ml40 {
    margin-left: 4rem !important;
  }
  .u-ml45 {
    margin-left: 4.5rem !important;
  }
  .u-ml50 {
    margin-left: 5rem !important;
  }
  .u-ml55 {
    margin-left: 5.5rem !important;
  }
  .u-ml60 {
    margin-left: 6rem !important;
  }
  .u-ml65 {
    margin-left: 6.5rem !important;
  }
  .u-ml70 {
    margin-left: 7rem !important;
  }
  .u-ml75 {
    margin-left: 7.5rem !important;
  }
  .u-ml80 {
    margin-left: 8rem !important;
  }
  .u-ml85 {
    margin-left: 8.5rem !important;
  }
  .u-ml90 {
    margin-left: 9rem !important;
  }
  .u-ml95 {
    margin-left: 9.5rem !important;
  }
  .u-ml100 {
    margin-left: 10rem !important;
  }
  .u-ml-1 {
    margin-left: -0.1rem !important;
  }
  .u-ml-2 {
    margin-left: -0.2rem !important;
  }
  .u-ml-3 {
    margin-left: -0.3rem !important;
  }
  .u-ml-4 {
    margin-left: -0.4rem !important;
  }
  .u-ml-5 {
    margin-left: -0.5rem !important;
  }
  .u-ml-6 {
    margin-left: -0.6rem !important;
  }
  .u-ml-7 {
    margin-left: -0.7rem !important;
  }
  .u-ml-8 {
    margin-left: -0.8rem !important;
  }
  .u-ml-9 {
    margin-left: -0.9rem !important;
  }
  .u-ml-10 {
    margin-left: -1rem !important;
  }
  .u-ml-11 {
    margin-left: -1.1rem !important;
  }
  .u-ml-12 {
    margin-left: -1.2rem !important;
  }
  .u-ml-13 {
    margin-left: -1.3rem !important;
  }
  .u-ml-14 {
    margin-left: -1.4rem !important;
  }
  .u-ml-15 {
    margin-left: -1.5rem !important;
  }
  .u-ml-16 {
    margin-left: -1.6rem !important;
  }
  .u-ml-17 {
    margin-left: -1.7rem !important;
  }
  .u-ml-18 {
    margin-left: -1.8rem !important;
  }
  .u-ml-19 {
    margin-left: -1.9rem !important;
  }
  .u-ml-20 {
    margin-left: -2rem !important;
  }
  .u-ml-25 {
    margin-left: -2.5rem !important;
  }
  .u-ml-30 {
    margin-left: -3rem !important;
  }
  .u-ml-35 {
    margin-left: -3.5rem !important;
  }
  .u-ml-40 {
    margin-left: -4rem !important;
  }
  .u-ml-45 {
    margin-left: -4.5rem !important;
  }
  .u-ml-50 {
    margin-left: -5rem !important;
  }
  .u-ml-55 {
    margin-left: -5.5rem !important;
  }
  .u-ml-60 {
    margin-left: -6rem !important;
  }
  .u-ml-65 {
    margin-left: -6.5rem !important;
  }
  .u-ml-70 {
    margin-left: -7rem !important;
  }
  .u-ml-75 {
    margin-left: -7.5rem !important;
  }
  .u-ml-80 {
    margin-left: -8rem !important;
  }
  .u-ml-85 {
    margin-left: -8.5rem !important;
  }
  .u-ml-90 {
    margin-left: -9rem !important;
  }
  .u-ml-95 {
    margin-left: -9.5rem !important;
  }
  .u-ml-100 {
    margin-left: -10rem !important;
  }
  .u-mr0 {
    margin-right: 0 !important;
  }
  .u-mr1 {
    margin-right: 0.1rem !important;
  }
  .u-mr2 {
    margin-right: 0.2rem !important;
  }
  .u-mr3 {
    margin-right: 0.3rem !important;
  }
  .u-mr4 {
    margin-right: 0.4rem !important;
  }
  .u-mr5 {
    margin-right: 0.5rem !important;
  }
  .u-mr6 {
    margin-right: 0.6rem !important;
  }
  .u-mr7 {
    margin-right: 0.7rem !important;
  }
  .u-mr8 {
    margin-right: 0.8rem !important;
  }
  .u-mr9 {
    margin-right: 0.9rem !important;
  }
  .u-mr10 {
    margin-right: 1rem !important;
  }
  .u-mr11 {
    margin-right: 1.1rem !important;
  }
  .u-mr12 {
    margin-right: 1.2rem !important;
  }
  .u-mr13 {
    margin-right: 1.3rem !important;
  }
  .u-mr14 {
    margin-right: 1.4rem !important;
  }
  .u-mr15 {
    margin-right: 1.5rem !important;
  }
  .u-mr16 {
    margin-right: 1.6rem !important;
  }
  .u-mr17 {
    margin-right: 1.7rem !important;
  }
  .u-mr18 {
    margin-right: 1.8rem !important;
  }
  .u-mr19 {
    margin-right: 1.9rem !important;
  }
  .u-mr20 {
    margin-right: 2rem !important;
  }
  .u-mr25 {
    margin-right: 2.5rem !important;
  }
  .u-mr30 {
    margin-right: 3rem !important;
  }
  .u-mr35 {
    margin-right: 3.5rem !important;
  }
  .u-mr40 {
    margin-right: 4rem !important;
  }
  .u-mr45 {
    margin-right: 4.5rem !important;
  }
  .u-mr50 {
    margin-right: 5rem !important;
  }
  .u-mr55 {
    margin-right: 5.5rem !important;
  }
  .u-mr60 {
    margin-right: 6rem !important;
  }
  .u-mr65 {
    margin-right: 6.5rem !important;
  }
  .u-mr70 {
    margin-right: 7rem !important;
  }
  .u-mr75 {
    margin-right: 7.5rem !important;
  }
  .u-mr80 {
    margin-right: 8rem !important;
  }
  .u-mr85 {
    margin-right: 8.5rem !important;
  }
  .u-mr90 {
    margin-right: 9rem !important;
  }
  .u-mr95 {
    margin-right: 9.5rem !important;
  }
  .u-mr100 {
    margin-right: 10rem !important;
  }
  .u-mr-1 {
    margin-right: -0.1rem !important;
  }
  .u-mr-2 {
    margin-right: -0.2rem !important;
  }
  .u-mr-3 {
    margin-right: -0.3rem !important;
  }
  .u-mr-4 {
    margin-right: -0.4rem !important;
  }
  .u-mr-5 {
    margin-right: -0.5rem !important;
  }
  .u-mr-6 {
    margin-right: -0.6rem !important;
  }
  .u-mr-7 {
    margin-right: -0.7rem !important;
  }
  .u-mr-8 {
    margin-right: -0.8rem !important;
  }
  .u-mr-9 {
    margin-right: -0.9rem !important;
  }
  .u-mr-10 {
    margin-right: -1rem !important;
  }
  .u-mr-11 {
    margin-right: -1.1rem !important;
  }
  .u-mr-12 {
    margin-right: -1.2rem !important;
  }
  .u-mr-13 {
    margin-right: -1.3rem !important;
  }
  .u-mr-14 {
    margin-right: -1.4rem !important;
  }
  .u-mr-15 {
    margin-right: -1.5rem !important;
  }
  .u-mr-16 {
    margin-right: -1.6rem !important;
  }
  .u-mr-17 {
    margin-right: -1.7rem !important;
  }
  .u-mr-18 {
    margin-right: -1.8rem !important;
  }
  .u-mr-19 {
    margin-right: -1.9rem !important;
  }
  .u-mr-20 {
    margin-right: -2rem !important;
  }
  .u-mr-25 {
    margin-right: -2.5rem !important;
  }
  .u-mr-30 {
    margin-right: -3rem !important;
  }
  .u-mr-35 {
    margin-right: -3.5rem !important;
  }
  .u-mr-40 {
    margin-right: -4rem !important;
  }
  .u-mr-45 {
    margin-right: -4.5rem !important;
  }
  .u-mr-50 {
    margin-right: -5rem !important;
  }
  .u-mr-55 {
    margin-right: -5.5rem !important;
  }
  .u-mr-60 {
    margin-right: -6rem !important;
  }
  .u-mr-65 {
    margin-right: -6.5rem !important;
  }
  .u-mr-70 {
    margin-right: -7rem !important;
  }
  .u-mr-75 {
    margin-right: -7.5rem !important;
  }
  .u-mr-80 {
    margin-right: -8rem !important;
  }
  .u-mr-85 {
    margin-right: -8.5rem !important;
  }
  .u-mr-90 {
    margin-right: -9rem !important;
  }
  .u-mr-95 {
    margin-right: -9.5rem !important;
  }
  .u-mr-100 {
    margin-right: -10rem !important;
  }
  .u-pt0 {
    padding-top: 0 !important;
  }
  .u-pt1 {
    padding-top: 0.1rem !important;
  }
  .u-pt2 {
    padding-top: 0.2rem !important;
  }
  .u-pt3 {
    padding-top: 0.3rem !important;
  }
  .u-pt4 {
    padding-top: 0.4rem !important;
  }
  .u-pt5 {
    padding-top: 0.5rem !important;
  }
  .u-pt6 {
    padding-top: 0.6rem !important;
  }
  .u-pt7 {
    padding-top: 0.7rem !important;
  }
  .u-pt8 {
    padding-top: 0.8rem !important;
  }
  .u-pt9 {
    padding-top: 0.9rem !important;
  }
  .u-pt10 {
    padding-top: 1rem !important;
  }
  .u-pt11 {
    padding-top: 1.1rem !important;
  }
  .u-pt12 {
    padding-top: 1.2rem !important;
  }
  .u-pt13 {
    padding-top: 1.3rem !important;
  }
  .u-pt14 {
    padding-top: 1.4rem !important;
  }
  .u-pt15 {
    padding-top: 1.5rem !important;
  }
  .u-pt16 {
    padding-top: 1.6rem !important;
  }
  .u-pt17 {
    padding-top: 1.7rem !important;
  }
  .u-pt18 {
    padding-top: 1.8rem !important;
  }
  .u-pt19 {
    padding-top: 1.9rem !important;
  }
  .u-pt20 {
    padding-top: 2rem !important;
  }
  .u-pt25 {
    padding-top: 2.5rem !important;
  }
  .u-pt30 {
    padding-top: 3rem !important;
  }
  .u-pt35 {
    padding-top: 3.5rem !important;
  }
  .u-pt40 {
    padding-top: 4rem !important;
  }
  .u-pt45 {
    padding-top: 4.5rem !important;
  }
  .u-pt50 {
    padding-top: 5rem !important;
  }
  .u-pt55 {
    padding-top: 5.5rem !important;
  }
  .u-pt60 {
    padding-top: 6rem !important;
  }
  .u-pt65 {
    padding-top: 6.5rem !important;
  }
  .u-pt70 {
    padding-top: 7rem !important;
  }
  .u-pt75 {
    padding-top: 7.5rem !important;
  }
  .u-pt80 {
    padding-top: 8rem !important;
  }
  .u-pt85 {
    padding-top: 8.5rem !important;
  }
  .u-pt90 {
    padding-top: 9rem !important;
  }
  .u-pt95 {
    padding-top: 9.5rem !important;
  }
  .u-pt100 {
    padding-top: 10rem !important;
  }
  .u-pb0 {
    padding-bottom: 0 !important;
  }
  .u-pb1 {
    padding-bottom: 0.1rem !important;
  }
  .u-pb2 {
    padding-bottom: 0.2rem !important;
  }
  .u-pb3 {
    padding-bottom: 0.3rem !important;
  }
  .u-pb4 {
    padding-bottom: 0.4rem !important;
  }
  .u-pb5 {
    padding-bottom: 0.5rem !important;
  }
  .u-pb6 {
    padding-bottom: 0.6rem !important;
  }
  .u-pb7 {
    padding-bottom: 0.7rem !important;
  }
  .u-pb8 {
    padding-bottom: 0.8rem !important;
  }
  .u-pb9 {
    padding-bottom: 0.9rem !important;
  }
  .u-pb10 {
    padding-bottom: 1rem !important;
  }
  .u-pb11 {
    padding-bottom: 1.1rem !important;
  }
  .u-pb12 {
    padding-bottom: 1.2rem !important;
  }
  .u-pb13 {
    padding-bottom: 1.3rem !important;
  }
  .u-pb14 {
    padding-bottom: 1.4rem !important;
  }
  .u-pb15 {
    padding-bottom: 1.5rem !important;
  }
  .u-pb16 {
    padding-bottom: 1.6rem !important;
  }
  .u-pb17 {
    padding-bottom: 1.7rem !important;
  }
  .u-pb18 {
    padding-bottom: 1.8rem !important;
  }
  .u-pb19 {
    padding-bottom: 1.9rem !important;
  }
  .u-pb20 {
    padding-bottom: 2rem !important;
  }
  .u-pb25 {
    padding-bottom: 2.5rem !important;
  }
  .u-pb30 {
    padding-bottom: 3rem !important;
  }
  .u-pb35 {
    padding-bottom: 3.5rem !important;
  }
  .u-pb40 {
    padding-bottom: 4rem !important;
  }
  .u-pb45 {
    padding-bottom: 4.5rem !important;
  }
  .u-pb50 {
    padding-bottom: 5rem !important;
  }
  .u-pb55 {
    padding-bottom: 5.5rem !important;
  }
  .u-pb60 {
    padding-bottom: 6rem !important;
  }
  .u-pb65 {
    padding-bottom: 6.5rem !important;
  }
  .u-pb70 {
    padding-bottom: 7rem !important;
  }
  .u-pb75 {
    padding-bottom: 7.5rem !important;
  }
  .u-pb80 {
    padding-bottom: 8rem !important;
  }
  .u-pb85 {
    padding-bottom: 8.5rem !important;
  }
  .u-pb90 {
    padding-bottom: 9rem !important;
  }
  .u-pb95 {
    padding-bottom: 9.5rem !important;
  }
  .u-pb100 {
    padding-bottom: 10rem !important;
  }
  .u-pl0 {
    padding-left: 0 !important;
  }
  .u-pl1 {
    padding-left: 0.1rem !important;
  }
  .u-pl2 {
    padding-left: 0.2rem !important;
  }
  .u-pl3 {
    padding-left: 0.3rem !important;
  }
  .u-pl4 {
    padding-left: 0.4rem !important;
  }
  .u-pl5 {
    padding-left: 0.5rem !important;
  }
  .u-pl6 {
    padding-left: 0.6rem !important;
  }
  .u-pl7 {
    padding-left: 0.7rem !important;
  }
  .u-pl8 {
    padding-left: 0.8rem !important;
  }
  .u-pl9 {
    padding-left: 0.9rem !important;
  }
  .u-pl10 {
    padding-left: 1rem !important;
  }
  .u-pl11 {
    padding-left: 1.1rem !important;
  }
  .u-pl12 {
    padding-left: 1.2rem !important;
  }
  .u-pl13 {
    padding-left: 1.3rem !important;
  }
  .u-pl14 {
    padding-left: 1.4rem !important;
  }
  .u-pl15 {
    padding-left: 1.5rem !important;
  }
  .u-pl16 {
    padding-left: 1.6rem !important;
  }
  .u-pl17 {
    padding-left: 1.7rem !important;
  }
  .u-pl18 {
    padding-left: 1.8rem !important;
  }
  .u-pl19 {
    padding-left: 1.9rem !important;
  }
  .u-pl20 {
    padding-left: 2rem !important;
  }
  .u-pl25 {
    padding-left: 2.5rem !important;
  }
  .u-pl30 {
    padding-left: 3rem !important;
  }
  .u-pl35 {
    padding-left: 3.5rem !important;
  }
  .u-pl40 {
    padding-left: 4rem !important;
  }
  .u-pl45 {
    padding-left: 4.5rem !important;
  }
  .u-pl50 {
    padding-left: 5rem !important;
  }
  .u-pl55 {
    padding-left: 5.5rem !important;
  }
  .u-pl60 {
    padding-left: 6rem !important;
  }
  .u-pl65 {
    padding-left: 6.5rem !important;
  }
  .u-pl70 {
    padding-left: 7rem !important;
  }
  .u-pl75 {
    padding-left: 7.5rem !important;
  }
  .u-pl80 {
    padding-left: 8rem !important;
  }
  .u-pl85 {
    padding-left: 8.5rem !important;
  }
  .u-pl90 {
    padding-left: 9rem !important;
  }
  .u-pl95 {
    padding-left: 9.5rem !important;
  }
  .u-pl100 {
    padding-left: 10rem !important;
  }
  .u-pr0 {
    padding-right: 0 !important;
  }
  .u-pr1 {
    padding-right: 0.1rem !important;
  }
  .u-pr2 {
    padding-right: 0.2rem !important;
  }
  .u-pr3 {
    padding-right: 0.3rem !important;
  }
  .u-pr4 {
    padding-right: 0.4rem !important;
  }
  .u-pr5 {
    padding-right: 0.5rem !important;
  }
  .u-pr6 {
    padding-right: 0.6rem !important;
  }
  .u-pr7 {
    padding-right: 0.7rem !important;
  }
  .u-pr8 {
    padding-right: 0.8rem !important;
  }
  .u-pr9 {
    padding-right: 0.9rem !important;
  }
  .u-pr10 {
    padding-right: 1rem !important;
  }
  .u-pr11 {
    padding-right: 1.1rem !important;
  }
  .u-pr12 {
    padding-right: 1.2rem !important;
  }
  .u-pr13 {
    padding-right: 1.3rem !important;
  }
  .u-pr14 {
    padding-right: 1.4rem !important;
  }
  .u-pr15 {
    padding-right: 1.5rem !important;
  }
  .u-pr16 {
    padding-right: 1.6rem !important;
  }
  .u-pr17 {
    padding-right: 1.7rem !important;
  }
  .u-pr18 {
    padding-right: 1.8rem !important;
  }
  .u-pr19 {
    padding-right: 1.9rem !important;
  }
  .u-pr20 {
    padding-right: 2rem !important;
  }
  .u-pr25 {
    padding-right: 2.5rem !important;
  }
  .u-pr30 {
    padding-right: 3rem !important;
  }
  .u-pr35 {
    padding-right: 3.5rem !important;
  }
  .u-pr40 {
    padding-right: 4rem !important;
  }
  .u-pr45 {
    padding-right: 4.5rem !important;
  }
  .u-pr50 {
    padding-right: 5rem !important;
  }
  .u-pr55 {
    padding-right: 5.5rem !important;
  }
  .u-pr60 {
    padding-right: 6rem !important;
  }
  .u-pr65 {
    padding-right: 6.5rem !important;
  }
  .u-pr70 {
    padding-right: 7rem !important;
  }
  .u-pr75 {
    padding-right: 7.5rem !important;
  }
  .u-pr80 {
    padding-right: 8rem !important;
  }
  .u-pr85 {
    padding-right: 8.5rem !important;
  }
  .u-pr90 {
    padding-right: 9rem !important;
  }
  .u-pr95 {
    padding-right: 9.5rem !important;
  }
  .u-pr100 {
    padding-right: 10rem !important;
  }
}

/* Flow-block
---------------------------------------------------------------*/
#flow-block {
  background: #F2F2F2;
  padding: 1.5rem;
  text-align: center;
}

#flow-block h4 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

#flow-block p {
  font-size: 1.4rem;
}

#flow-block ul {
  margin-top: 1rem;
}

#flow-block ul li:not(:last-of-type) {
  padding-bottom: 2.5rem;
}

#flow-block ul li {
  position: relative;
}

#flow-block ul li p {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 1rem 1.5rem;
}

#flow-block li i {
  height: 2.8rem;
  content: "";
  width: 3rem;
  display: inline-block;
  margin-right: 1rem;
}

#flow-block li .icon-customer {
  background: transparent url("../img/icon_customer.svg") 50% 50% no-repeat;
  background-size: contain;
}

#flow-block li .icon-shop {
  background: transparent url("../img/icon_shop_black.svg") 50% 50% no-repeat;
  background-size: contain;
}

#flow-block li .icon-notice {
  background: transparent url("../img/icon_notice.svg") 50% 50% no-repeat;
  background-size: contain;
}

#flow-block li:not(:last-of-type):after {
  content: "";
  width: 0;
  height: 0;
  border-left: 1.5rem solid transparent;
  border-right: 1.5rem solid transparent;
  border-top: 1.5rem solid #707070;
  bottom: 0.5rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#flow-block .complete {
  position: absolute;
  right: 1.5rem;
  font-size: 1.2rem;
  color: #F63440;
  font-weight: bold;
  border: 1px solid;
  margin-left: 0.5rem;
  padding: 0.5rem;
  line-height: 1;
  /* transform: rotate(15deg); */
}

/* Caution-block
---------------------------------------------------------------*/
.caution-block {
  border: 1px solid #990000;
  margin-top: 1rem;
}

.caution-block dt {
  padding: 0.3rem;
  background: #990000;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.caution-block dd {
  background: #fff;
  padding: 1rem;
}

.caution-block dd p {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}

.caution-block dd ul {
  list-style: disc;
  margin-left: 2rem;
  font-size: 1.4rem;
}

/* News
---------------------------------------------------------------*/
.p-news .mv02,
.p-news-detail .mv02 {
  border-bottom: 1px solid #ccc;
}

.news-pagination {
  margin-top: 1rem;
}

.news_list li {
  padding-bottom: 2rem;
  font-size: 1.4rem;
}

.news_list li:not(:first-of-type) {
  padding-top: 2rem;
  border-top: 1px solid #E0E0E0;
}

.news_list li dt {
  margin-bottom: 1rem;
}

.news-cate {
  padding: 0.2rem 1rem;
  min-width: 7.4rem;
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 1rem;
}

.news-cate01 {
  background: #F63440;
}

.news-cate02 {
  background: #18943B;
}

.news_list .news-thumb {
  float: left;
  margin: 0;
  width: 37.240%;
  background-color: #F5F5F0;
  position: relative;
  padding: 0;
}

.news_list dd {
  clear: both;
  overflow: hidden;
}

.news_list dd p {
  float: right;
  margin: 0 0 1rem 0;
  padding: 0;
  width: calc((100% - 37.240%) - 1rem);
  text-align: left !important;
}

.news_list .news-thumb-image {
  width: 100%;
  display: block;
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
}

.news_list .news-thumb-image img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.p-news-detail .flat-title h2 {
  margin-top: 1rem;
}

.p-news-detail b {
  font-weight: 900;
  color: inherit;
}

.p-news-detail .is-red {
  color: #B61F20;
}

.p-news-detail .is-green {
  color: #18943B;
}

.p-news-detail #news-content p {
  margin: 2rem 0;
}

.p-news-detail #news-content {
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 4rem;
}

.news_btn {
  text-align: center;
  margin-bottom: 2rem;
}

.news_btn a {
  font-size: 1.8rem;
  width: 30rem;
}

/* Page
---------------------------------------------------------------*/
.p-page footer .l-footer_news {
  display: none;
}

.page_list li a > div {
  display: flex;
  align-items: center;
}

.page_list li a .page-thumb {
  margin: 0 1rem 0 0;
  width: 37.240%;
  min-width: 14.3rem;
}

.page-pagination {
  margin-top: 1rem;
}

.page-pagination .num span {
  font-size: 1.2rem;
  background: none;
  display: block;
  width: auto;
  height: auto;
}

.page_list li {
  padding-bottom: 2rem;
  font-size: 1.4rem;
}

.p-page-detail .flat-title {
  margin-bottom: 3rem;
}

.p-page-detail #catch-block {
  margin-bottom: 1.5rem;
}

.p-page-detail .flat-title h2 {
  font-size: 2rem;
  font-weight: bold;
}

.page_list li:not(:first-of-type) {
  padding-top: 2rem;
  border-top: 1px solid #E0E0E0;
}

.archive {
  background: #F5F5F0;
  padding: 3rem 0 4rem;
  margin-top: 6rem;
}

.archive_content_ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
  text-align: center;
}

.archive_list a {
  display: block;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 1.5rem;
}

.archive_list li {
  border-top: 1px solid #E0E0E0;
}

.archive_list li:last-of-type {
  border-bottom: 1px solid #E0E0E0;
}

.archive_list li a:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 1.5rem;
  font-size: 2.3rem;
  font-weight: normal;
  font-family: "FontAwesome";
  color: #990000;
  content: "\f105";
}

.archive_btn {
  text-align: center;
  margin-top: 2rem;
}

.archive_btn a {
  font-size: 1.8rem;
  width: 30rem;
}

/* Coupon
---------------------------------------------------------------*/
.mv04 {
  background: #990000 url(../img/bg_modal_special.png) 50% 50% repeat;
  background-size: 8.7rem auto;
  padding: 5rem 1.5rem;
}

.mv04-title {
  text-align: center;
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
  font-size: 4rem;
}
