@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,700;1,100&display=swap");
@font-face {
  font-family: 'svgicon';
  src: url("/omiseplus/assets/fonts/svgicon.ttf?i7ig5y") format("truetype"), url("/omiseplus/assets/fonts/svgicon.woff?i7ig5y") format("woff"), url("/omiseplus/assets/fonts/svgicon.svg?i7ig5y#svgicon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/*-------------------------------------------
body
-------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 1.4rem;
  overflow: hidden;
  min-height: 100vh;
}

/*-------------------------------------------
header
-------------------------------------------*/
.omsHeader,
.omsHeaderShop {
  padding: 0;
  border-top: 6px solid #c8172f;
  border-bottom: 1px solid #ccc;
  position: relative;
  z-index: 1002;
  background-color: #fff;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.omsHeader input[type="text"],
.omsHeaderShop input[type="text"] {
  -webkit-appearance: none;
  font-size: 16px;
  background: #fff;
  border-radius: 0;
  vertical-align: middle;
  line-height: 1em;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.omsHeader img,
.omsHeaderShop img {
  max-width: 100%;
  border: none;
  vertical-align: middle;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.omsHeader ::-webkit-input-placeholder, .omsHeaderShop ::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}

.omsHeader ::-moz-placeholder, .omsHeaderShop ::-moz-placeholder {
  color: #999;
  opacity: 1;
}

.omsHeader :-ms-input-placeholder, .omsHeaderShop :-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

.omsHeader ::-ms-input-placeholder, .omsHeaderShop ::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

.omsHeader ::placeholder,
.omsHeaderShop ::placeholder {
  color: #999;
  opacity: 1;
}

.omsHeader :-ms-input-placeholder,
.omsHeaderShop :-ms-input-placeholder {
  color: #999;
}

@media screen and (min-width: 959px) {
  .omsHeader,
  .omsHeaderShop {
    height: 100px;
    border-top-width: 10px;
  }
  .omsHeader .omsHeader_inner,
  .omsHeaderShop .omsHeader_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2vw;
  }
}

@media screen and (min-width: 1200px), print {
  .omsHeader .omsHeader_inner,
  .omsHeaderShop .omsHeader_inner {
    padding: 0;
  }
}

@media screen and (min-width: 959px) {
  .omsHeader {
    height: auto;
    min-height: 100px;
  }
}

.omsHeader_login,
.omsHeader_cart,
.omsHeader_repurchase,
.omsHeader_mypage,
.omsHeader_support,
.omsHeader_home,
.omsHeader_search {
  position: relative;
  white-space: nowrap;
  float: right;
}

.omsHeader_login a,
.omsHeader_cart a,
.omsHeader_repurchase a,
.omsHeader_mypage a,
.omsHeader_support a,
.omsHeader_home a,
.omsHeader_search a {
  display: block;
  position: relative;
  text-align: center;
  color: #c8172f;
  padding: 10px 8px 0;
  width: auto;
}

.omsHeader_login a::before,
.omsHeader_cart a::before,
.omsHeader_repurchase a::before,
.omsHeader_mypage a::before,
.omsHeader_support a::before,
.omsHeader_home a::before,
.omsHeader_search a::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  margin: auto;
  font-size: 2.4rem;
  line-height: 26px;
  color: #c8172f;
}

.omsHeader_login a em,
.omsHeader_cart a em,
.omsHeader_repurchase a em,
.omsHeader_mypage a em,
.omsHeader_support a em,
.omsHeader_home a em,
.omsHeader_search a em {
  display: inline-block;
}

@media screen and (min-width: 959px) {
  .omsHeader_login,
  .omsHeader_cart,
  .omsHeader_repurchase,
  .omsHeader_mypage,
  .omsHeader_support,
  .omsHeader_home,
  .omsHeader_search {
    margin: 10px 0 0 4%;
  }
  .omsHeader_login a,
  .omsHeader_cart a,
  .omsHeader_repurchase a,
  .omsHeader_mypage a,
  .omsHeader_support a,
  .omsHeader_home a,
  .omsHeader_search a {
    padding: 0;
    width: auto;
    height: auto;
    text-decoration: none;
    -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .omsHeader_login a:hover,
  .omsHeader_cart a:hover,
  .omsHeader_repurchase a:hover,
  .omsHeader_mypage a:hover,
  .omsHeader_support a:hover,
  .omsHeader_home a:hover,
  .omsHeader_search a:hover {
    opacity: .7;
  }
  .omsHeader_login a em,
  .omsHeader_cart a em,
  .omsHeader_repurchase a em,
  .omsHeader_mypage a em,
  .omsHeader_support a em,
  .omsHeader_home a em,
  .omsHeader_search a em {
    font-size: 1.2rem;
  }
  .omsHeader_login a::before,
  .omsHeader_cart a::before,
  .omsHeader_repurchase a::before,
  .omsHeader_mypage a::before,
  .omsHeader_support a::before,
  .omsHeader_home a::before,
  .omsHeader_search a::before {
    width: 30px;
    height: 30px;
    font-size: 2rem;
    line-height: 40px;
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_login a,
  .omsHeader_cart a,
  .omsHeader_repurchase a,
  .omsHeader_mypage a,
  .omsHeader_support a,
  .omsHeader_home a,
  .omsHeader_search a {
    width: auto;
    height: 45px;
    padding: 5px 8px 0;
  }
  .omsHeader_login a em,
  .omsHeader_cart a em,
  .omsHeader_repurchase a em,
  .omsHeader_mypage a em,
  .omsHeader_support a em,
  .omsHeader_home a em,
  .omsHeader_search a em {
    font-size: 1.0rem;
  }
  .omsHeader_login a::before,
  .omsHeader_cart a::before,
  .omsHeader_repurchase a::before,
  .omsHeader_mypage a::before,
  .omsHeader_support a::before,
  .omsHeader_home a::before,
  .omsHeader_search a::before {
    margin: 0 auto;
  }
}

.omsHeader_repurchase {
  display: none;
}

@media screen and (min-width: 959px) {
  .omsHeader_repurchase {
    display: block;
  }
}

.omsHeader_support {
  float: left;
}

.omsHeader_support a::before {
  content: "\e90e";
}

@media screen and (min-width: 959px) {
  .omsHeader_support {
    margin-left: 0;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_support {
    display: none;
  }
}

.omsHeader_login a::before {
  content: "\e906";
}

@media screen and (max-width: 960px), print {
  .omsHeader_login .login {
    line-height: 1.1;
  }
}

.omsHeader_home {
  float: left;
}

.omsHeader_home a em {
  font-size: 1.0rem;
}

.omsHeader_home a::before {
  content: "\e90d";
}

@media screen and (min-width: 959px) {
  .omsHeader_home {
    margin-left: 0;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_home {
    margin-top: 5px;
  }
  .omsHeader_home a {
    width: auto;
    padding-top: 5px;
  }
  .omsHeader_home a::before {
    font-size: 2rem;
  }
}

.omsHeader_search {
  float: left;
}

.omsHeader_search a em {
  font-size: 1.0rem;
}

.omsHeader_search a::before {
  content: "\e912";
}

@media screen and (max-width: 960px), print {
  .omsHeader_search {
    margin-top: 5px;
  }
  .omsHeader_search a {
    width: auto;
    padding-top: 5px;
  }
  .omsHeader_search a::before {
    font-size: 2rem;
  }
}

.omsHeader_cart {
  float: right;
}

.omsHeader_cart a::before {
  content: "\e904";
  font-size: 2.4rem;
  margin-top: 2px;
}

@media screen and (min-width: 959px) {
  .omsHeader_cart a::before {
    margin-bottom: 3px;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_cart a {
    width: auto;
    padding-top: 5px;
  }
  .omsHeader_cart a::before {
    margin: 2px auto -2px;
  }
}

.omsHeader_cart .omsHeader_cart_count {
  position: absolute;
  right: -3px;
  top: 0px;
  display: block;
  color: #fff;
  background-color: #c8172f;
  border-radius: 50% 50%;
  line-height: 15px;
  padding: 2px;
  font-size: 1rem;
  width: 15px;
  height: 15px;
  text-align: center;
  white-space: nowrap;
}

@media screen and (min-width: 600px), print {
  .omsHeader_cart .omsHeader_cart_count {
    right: -11px;
    top: -5px;
  }
}

.omsHeader_repurchase a::before {
  content: "\e909";
  font-size: 1.8rem;
}

.omsHeader_mypage {
  float: right;
}

.omsHeader_mypage a::before {
  content: "\e908";
}

@media screen and (max-width: 960px), print {
  .omsHeader_mypage {
    display: none !important;
  }
}

.omsHeader_logo {
  display: inline-block;
  position: absolute;
  left: 50%;
  padding: 8px;
}

.omsHeader_logo img {
  width: 100%;
}

@media screen and (min-width: 959px) {
  .omsHeader_logo {
    top: 10px;
    width: 138px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsHeader_logo {
    top: 50%;
    width: 12vw;
    min-width: 100px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

@media screen and (max-width: 599px) {
  .omsHeader_logo {
    top: 50%;
    width: 18vw;
    min-width: 78px;
    max-width: 138px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_overlay {
    height: 100%;
    position: fixed;
    z-index: 1001;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.9);
    overflow-y: auto;
    overflow-x: hidden;
    text-align: center;
    opacity: 0.5;
    display: block !important;
    width: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .omsHeader_overlay[aria-hidden="false"] {
    width: 100%;
    opacity: 0.5;
    visibility: visible;
  }
}

@media screen and (min-width: 959px) {
  .omsHeader_overlay {
    display: none;
  }
}

.omsHeaderShop {
  border-top: none;
  z-index: 1000;
}

@media screen and (min-width: 600px), print {
  .omsHeaderShop {
    height: 70px;
  }
  .omsHeaderShop .omsHeader_inner {
    max-width: 960px;
    padding: 0;
  }
  .omsHeaderShop .omsHeader_inner > div:nth-of-type(1) {
    margin-left: 0;
  }
  .omsHeaderShop .omsHeader_cart {
    float: left;
  }
  .omsHeaderShop .omsHeader_cart em {
    font-size: 1.0rem;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsHeaderShop .omsHeader_inner {
    padding: 0 20px;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeaderShop .omsHeader_cart {
    float: left;
  }
  .omsHeaderShop .omsHeader_cart a {
    padding-top: 10px;
  }
  .omsHeaderShop .omsHeader_cart a::before {
    font-size: 2.5rem;
  }
}

/* メニュー */
@media screen and (min-width: 959px) {
  .omsHeader_menu {
    width: 100%;
    margin-top: 13px;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu {
    z-index: 1002;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #fff;
    border-right: 3px solid #c8172f;
    position: fixed;
    width: 95vw;
    height: 100vh;
    top: 0;
    right: 100%;
    -webkit-transition: 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .omsHeader_menu.is_on {
    right: 5vw;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsHeader_menu {
    width: 50vw;
  }
  .omsHeader_menu.is_on {
    right: 50vw;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu_header {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    height: 60px;
  }
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_header {
    display: none;
  }
}

.omsHeader_menu_content {
  width: 100%;
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu_content {
    display: block;
    background: #fff;
    overflow-y: auto;
    height: calc(100vh - 60px);
  }
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    max-width: 1200px;
    min-height: 48px;
  }
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_content .menu_lv1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .omsHeader_menu_content .menu_lv1 > li {
    position: relative;
  }
  .omsHeader_menu_content .menu_lv1 > li > a {
    position: relative;
    display: block;
    padding: 14px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 48px;
    white-space: nowrap;
  }
  .omsHeader_menu_content .menu_lv1 > li > a::before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    right: 0;
    margin: auto;
    width: 25px;
    height: 1px;
    background-color: #c8172f;
    opacity: 0;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    text-decoration: none;
    -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .omsHeader_menu_content .menu_lv1 > li > a:hover {
    color: #c8172f;
  }
  .omsHeader_menu_content .menu_lv1 > li > a:hover::before {
    bottom: 10px;
    opacity: 1;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.parent::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    margin: auto;
    width: 6px;
    height: 6px;
    border-top: #ACACAC 1px solid;
    border-right: #ACACAC 1px solid;
    -webkit-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
    bottom: 20%;
    margin: 0 auto;
    bottom: 0;
    top: 24px;
    margin-left: 10px;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.parent[aria-expanded="true"]::after {
    border-color: #c8172f;
    -webkit-transform: translateY(0) rotate(-45deg);
    transform: translateY(0) rotate(-45deg);
  }
  .omsHeader_menu_content .menu_lv1 .menu_sp {
    display: none;
  }
  .omsHeader_menu_content .menu_lv1 .menu_pc {
    display: block;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu_content .menu_lv1 > li > a {
    font-size: 1.3rem;
    display: block;
    position: relative;
    padding: 3vw 8vw 3vw 6.6vw;
    background: #fff;
    text-decoration: none;
    -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .omsHeader_menu_content .menu_lv1 > li > a::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    margin: auto;
    width: 6px;
    height: 6px;
    border-top: #707070 1px solid;
    border-right: #707070 1px solid;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    right: 20px;
    margin: auto 0;
    text-decoration: none;
    -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .omsHeader_menu_content .menu_lv1 > li > a:hover {
    background-color: #c8172f;
    color: #fff;
  }
  .omsHeader_menu_content .menu_lv1 > li > a:hover::after {
    border-color: #fff;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.parent {
    display: none;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.login::before {
    font-family: 'svgicon' !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e906";
    color: #333;
    font-size: 1.8rem;
    margin-right: 10px;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.login::after {
    display: none;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.mypage::before {
    font-family: 'svgicon' !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e908";
    color: #333;
    font-size: 1.8rem;
    margin-right: 10px;
  }
  .omsHeader_menu_content .menu_lv1 > li > a.mypage::after {
    display: none;
  }
  .omsHeader_menu_content .menu_lv1 .menu_sp {
    display: block;
  }
  .omsHeader_menu_content .menu_lv1 .menu_pc {
    display: none;
  }
}

.omsHeader_menu_content .menu_lv2 > li > a {
  display: block;
  position: relative;
  padding: 1.5vw 2.5vw 1.5vw 2vw;
  background: #fff;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.omsHeader_menu_content .menu_lv2 > li > a::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #707070 1px solid;
  border-right: #707070 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.omsHeader_menu_content .menu_lv2 > li > a:hover {
  background-color: #c8172f;
  color: #fff;
}

.omsHeader_menu_content .menu_lv2 > li > a:hover::after {
  border-color: #fff;
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_content .menu_lv2 {
    -webkit-box-shadow: 0.2vw 0.2vw 10px rgba(0, 0, 0, 0.05);
    box-shadow: 0.2vw 0.2vw 10px rgba(0, 0, 0, 0.05);
    position: absolute;
    left: 0;
    margin-top: 1px;
    min-width: 450px;
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
  }
  .omsHeader_menu_content .menu_lv2[aria-hidden="true"] {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  .omsHeader_menu_content .menu_lv2[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  .omsHeader_menu_content .menu_lv2 > li > a {
    white-space: nowrap;
    padding: 20px 35px 20px 25px;
  }
  .omsHeader_menu_content .menu_lv2 > li > a:hover {
    background-color: #F5E8E8;
    color: #333;
  }
  .omsHeader_menu_content .menu_lv2 > li > a:hover::after {
    border-color: #333;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu_content .menu_lv2 > li > a {
    font-size: 1.3rem;
    padding: 3vw 8vw 3vw 6.6vw;
  }
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_utility {
    display: none;
  }
}

@media screen and (max-width: 960px), print {
  .omsHeader_menu_utility {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 3vw 8vw 15vw 6.6vw;
    width: 80%;
  }
  .omsHeader_menu_utility li {
    font-size: 1.0rem;
    margin-top: 5px;
  }
  .omsHeader_menu_utility li:nth-of-type(odd) {
    width: 40%;
  }
  .omsHeader_menu_utility li a {
    white-space: nowrap;
    display: inline-block;
    padding-bottom: 0px;
    border-bottom: 1px solid #E1E1E1;
  }
}

.omsHeader_menu_button {
  padding: 15px 16px 12px;
  background-color: #c8172f;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-height: 60px;
  height:60px;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.omsHeader_menu_button:hover {
  opacity: .7;
}

.omsHeader_menu_button::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e90a";
  font-size: 2rem;
  color: #fff;
  display: block;
  width: 28px;
  height: 28px;
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_button {
    display: none;
  }
}

.omsHeader_menu_content_underlay {
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.omsHeader_menu_content_inner {
  width: calc(100% - 50px);
  float: left;
  background: #fff;
  position: relative;
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_content_inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
  }
}

.omsHeader_menu_content_close {
  position: relative;
  width: 57px;
  height: 60px;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #c8172f;
  padding-top: 5px;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.omsHeader_menu_content_close::before {
  content: '\e905';
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.omsHeader_menu_content_close::before:hover {
  opacity: .7;
}

.omsHeader_menu_content_close:hover::before {
  opacity: .7;
}

@media screen and (min-width: 959px) {
  .omsHeader_menu_content_close {
    display: none;
  }
}

.omsHeader_campaign {
  background-color: #c9172f;
  margin-bottom: 20px;
}

.omsHeader_campaign .omsHeader_campaign_img {
  display: block;
  text-align: center;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.omsHeader_campaign .omsHeader_campaign_img img {
  max-width: 100%;
}

@media screen and (max-width: 599px) {
  .omsHeader_campaign .omsHeader_campaign_img img {
    width: 100%;
  }
}

.omsHeader_miniBnr {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f5e8e8;
}
.omsHeader_miniBnr .omsHeader_miniBnr_img img {
  max-width: 100%;
}
.omsHeader_miniBnr + .omsHeader {
  border-top-width:0;
}
@media screen and (min-width: 600px), print {
  .omsHeader_miniBnr {
    height:min(45px, 45 / 960 * 100vw);
  }
}
@media screen and (max-width: 599px) {
  body:has(.topSlider,.shopfrontOutline):has(.omsHeader_miniBnr) {
    padding-top:calc(30 / 375 * 100vw);
  }
  body:has(.topSlider,.shopfrontOutline):has(.omsHeader_miniBnr) .omsHeader_menu {
    box-sizing: border-box;
    padding-top:calc(30 / 375 * 100vw);
  }
  body:has(.topSlider,.shopfrontOutline):has(.omsHeader_miniBnr) .omsHeader {
    position:fixed;
    top:calc(30 / 375 * 100vw);
    width: 100%;
  }
  body:has(.topSlider,.shopfrontOutline):has(.omsHeader_miniBnr) .omsHeader_campaign {
    margin-top: 60px;
  }
  body:has(.topSlider,.shopfrontOutline) .omsHeader_miniBnr {
    width:100%;
    position:fixed;
    top:0;
    z-index:1005;
  }
  body:has(.topSlider,.shopfrontOutline) .omsHeader_miniBnr {
  }
  .omsHeader_miniBnr {
    height:calc(30 / 375 * 100vw);
  }
}

/*-------------------------------------------
footer
-------------------------------------------*/
footer.footSpace {
  margin-top: 80px;
}

@media screen and (max-width: 599px) {
  footer.footSpace {
    margin-top: 60px;
  }
}

.omsFooter {
  background: #f2f2f2;
}

.omsFooter_menu {
  overflow: hidden;
  max-width: 960px;
  margin: 0 auto;
}

@media screen and (min-width: 600px), print {
  .omsFooter_menu {
    padding: 3.125vw 0 1.25vw;
  }
}

@media screen and (min-width: 959px) {
  .omsFooter_menu {
    padding: 50px 0 20px;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_menu {
    padding: 6.66667vw 9.33333vw 2.66667vw;
  }
}

.omsFooter_logo {
  text-align: center;
  margin: 0 0 3.125vw;
}

.omsFooter_logo img {
  width: 110px;
}

@media screen and (min-width: 959px) {
  .omsFooter_logo {
    margin: 0 0 50px;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_logo {
    text-align: left;
  }
  .omsFooter_logo img {
    width: 76px;
  }
}

.omsFooter_links {
  text-align: center;
  margin: 0 6.25vw 2.5vw;
}

.omsFooter_links li.cpbItem {
  display: none;
}

.omsFooter_links li a {
  text-decoration: none;
  color: #333;
}

.omsFooter_links li a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 600px), print {
  .omsFooter_links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media screen and (min-width: 959px) {
  .omsFooter_links {
    margin: 0 0 40px;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsFooter_links li {
    margin: 0 1.25vw;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_links {
    margin: 0;
  }
  .omsFooter_links li {
    padding: 3.46667vw 0;
    font-size: 1.3rem;
    text-align: left;
  }
}

.omsFooter_utility {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 600px), print {
  .omsFooter_utility {
    padding: 2.25vw 0;
  }
}

@media screen and (min-width: 959px) {
  .omsFooter_utility {
    padding: 36px 0;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsFooter_utility {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_utility {
    display: block;
    text-align: left;
    padding: 6.93333vw 13.33333vw;
  }
}

.omsFooter_utility .utilityList {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.omsFooter_utility .utilityList li a {
  display: inline-block;
  text-decoration: none;
  color: #646464;
  font-size: 1.2rem;
}

.omsFooter_utility .utilityList li a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 600px), print {
  .omsFooter_utility .utilityList li {
    margin: 0 1.125vw;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsFooter_utility .utilityList li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 30%;
    padding: 0.625vw 0;
    font-size: 1rem;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_utility .utilityList {
    text-align: left;
  }
  .omsFooter_utility .utilityList li {
    width: 50%;
  }
  .omsFooter_utility .utilityList li a {
    font-size: 1rem;
  }
}

.omsFooter_utility .utilitySns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 0.75vw;
}

.omsFooter_utility .utilitySns .share {
  color: #646464;
  font-size: 1.2rem;
}

.omsFooter_utility .utilitySns > a {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
}

.omsFooter_utility .utilitySns > a:hover {
  opacity: .7;
}

.omsFooter_utility .utilitySns > a::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2.4rem;
}

.omsFooter_utility .utilitySns > a#sns_facebook::before {
  content: "\e900";
}

.omsFooter_utility .utilitySns > a#sns_twitter::before {
  content: "\e902";
}

.omsFooter_utility .utilitySns > a#sns_x::before {
  content: "\e914";
}

@media screen and (min-width: 600px), print {
  .omsFooter_utility .utilitySns .share {
    padding-left: 1.875vw;
    border-left: 1px solid #e1e1e1;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .omsFooter_utility .utilitySns {
    margin-top: 0.625vw;
  }
  .omsFooter_utility .utilitySns .share {
    border-left: none;
  }
}

@media screen and (max-width: 599px) {
  .omsFooter_utility .utilitySns {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 6.93333vw;
  }
  .omsFooter_utility .utilitySns .share {
    font-size: 1rem;
  }
}

.omsFooter_copyright {
  background: #c8172f;
  padding: 15px 0;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
}

.omsFooter_copyright .home {
  display: inline;
  color: #fff;
  margin-right: 20px;
  text-decoration: underline;
}

.omsFooter_copyright .home:hover {
  text-decoration: none;
}

@media screen and (max-width: 599px) {
  .omsFooter_copyright {
    font-size: 1rem;
  }
}

/*-------------------------------------------
contents
-------------------------------------------*/
.ly_contents {
  max-width: 960px;
  margin: 0 auto 50px;
}

@media screen and (max-width: 599px) {
  .ly_contents {
    margin: 0 4%  50px;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .ly_contents {
    margin: 0 2%  50px;
  }
}

.ly_container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-right: 4%;
  padding-left: 4%;
}

@media screen and (min-width: 600px), print {
  .ly_container {
    background: #fff;
    max-width: 100%;
  }
}

@media screen and (min-width: 600px), print {
  .ly_container .ly_inner {
    max-width: 960px;
    margin: auto;
  }
  .ly_container .ly_inner.-wide {
    max-width: 1200px;
  }
  .ly_container .ly_inner.-space {
    padding: 5.625vw 0;
  }
  .ly_container .ly_inner.-spaceS {
    padding: 3.75vw 0;
  }
}

@media screen and (min-width: 959px) {
  .ly_container .ly_inner.-space {
    padding: 90px 0;
  }
  .ly_container .ly_inner.-spaceS {
    padding: 60px 0;
  }
}

@media screen and (max-width: 599px) {
  .ly_container .ly_inner.-space {
    padding: 8.53333vw 0;
  }
  .ly_container .ly_inner.-spaceS {
    padding: 8.53333vw 0;
  }
  .ly_container .ly_inner.-padAdjustSp {
    padding: 6.4vw 0 8.53333vw;
  }
}

.ly_container.-gray1 {
  background: #f5f5f5;
}

.ly_container.-gray2 {
  background: #f0f0f0;
}

.ly_container.-red {
  background: #c8172f;
}

.ly_container.-pink {
  background: #F5E8E8;
}

.ly_container.-border {
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
}

/*-------------------------------------------
module
-------------------------------------------*/
/* heading
-----------------------------*/
.labelParticipation {
  background: #c8172f;
  display: inline-block;
  padding: 3px 10px;
  margin-bottom: 5px;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 6px;
}

.bl_shopHeading {
  margin: 30px 0 20px;
}

.bl_shopHeading .bl_heading1 {
  margin: 0 0 5px;
}

.bl_shopHeading.-center {
  text-align: center;
}

.bl_heading1 {
  font-size: 2.4rem;
  font-weight: 600;
  margin: 30px 0 20px;
}

@media screen and (max-width: 599px) {
  .bl_heading1.-spSmall {
    font-size: 1.6rem;
  }
}

.buttonArea + .bl_heading1 {
  margin-top: 50px;
}

.bl_heading2 {
  margin: 20px 0 10px;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 20px 0 10px;
}

.bl_heading3 {
  margin: 20px 0;
  padding: 12px 15px;
  font-weight: 600;
  background: #f5f5f5;
}

.bl_sectionHeading1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3.0rem;
  font-size: clamp(2.6rem, 1.875vw, 3rem);
  margin-top: 0;
  margin-bottom: 3.75vw;
  font-weight: 300;
  text-align: center;
}

.bl_sectionHeading1 [data-icon] {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.bl_sectionHeading1 [data-icon]::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2.8rem;
  font-size: clamp(24px, 1.75vw, 30px);
  color: #999;
  margin-right: 0.9375vw;
}

.bl_sectionHeading1 [data-icon="search"]::before {
  content: "\e913";
}

.bl_sectionHeading1 [data-icon="shop"]::before {
  content: "\e90d";
}

@media screen and (min-width: 959px) {
  .bl_sectionHeading1 {
    font-size: 3.0rem;
    margin-bottom: 60px;
  }
  .bl_sectionHeading1 [data-icon]::before {
    font-size: 2.8rem;
    margin-right: 15px;
  }
}

@media screen and (max-width: 599px) {
  .bl_sectionHeading1 {
    margin-bottom: 8vw;
    font-size: 5.33333vw;
  }
}

.bl_sectionHeading2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3.6rem;
  font-size: clamp(3.2rem, 2.25vw, 3.6rem);
  margin-bottom: 3.75vw;
  font-weight: 300;
  text-align: center;
}

@media screen and (min-width: 959px) {
  .bl_sectionHeading2 {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 599px) {
  .bl_sectionHeading2 {
    margin-bottom: 8vw;
    font-size: 6.4vw;
  }
}

/* Box
-----------------------------*/
.boxType1 {
  padding: 20px;
  background: #f5f5f5;
}

.boxType1 .boxHeading {
  font-weight: 600;
  margin-bottom: 10px;
  text-align: center;
}

.boxError {
  margin: 30px 0;
  background-image: url(/omiseplus/assets/img/icon_notification.svg);
  background-repeat: no-repeat;
  background-size: 22px 22px;
  background-position: 20px center;
  padding: 20px 20px 20px 60px;
  background-color: #FAE7E9;
}

@media screen and (min-width: 600px), print {
  .boxError {
    padding: 20px 30px 20px 70px;
    background-position: 30px center;
  }
  .boxError.-thin {
    width: 60%;
    margin: 30px auto 0;
  }
}

.bl_box1 {
  border: 1px solid #e1e1e1;
}

.bl_box1 .heading {
  color: #c8172f;
  border-bottom: 1px solid #c8172f;
  text-align: center;
}

@media screen and (min-width: 600px), print {
  .bl_box1 {
    padding: 3.75vw 2.5vw;
  }
  .bl_box1 .heading {
    font-size: 3rem;
    font-size: clamp(2.4rem, 1.875vw, 3rem);
    padding: 0 0 2.5vw;
    line-height: 1.875vw;
    margin-bottom: 3.75vw;
  }
}

@media screen and (min-width: 959px) {
  .bl_box1 {
    padding: 60px 40px;
  }
  .bl_box1 .heading {
    font-size: 3rem;
    padding: 0 0 40px;
    line-height: 30px;
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 599px) {
  .bl_box1 {
    padding: 6.4vw 5.33333vw;
  }
  .bl_box1 .heading {
    font-size: 5.33333vw;
    padding: 0 0 4vw;
    line-height: 8vw;
    margin-bottom: 8vw;
  }
}

/* List
-----------------------------*/
.listDisc li {
  list-style-type: disc;
  margin-left: 1.4em;
  line-height: 1.6;
}

.listDisc.-mt > li + li {
  margin-top: 15px;
}

.el_discList > li {
  list-style-type: disc;
  margin-left: 2rem;
}

.el_decimal > li {
  list-style-type: decimal;
  margin-left: 2rem;
}

.el_decimal > li + li {
  margin-top: 10px;
}

.el_decimal > li.noNumber {
  list-style-type: none;
  margin-left: 0;
  text-indent: -1em;
  padding-left: 1em;
}

.el_decimal2 > li {
  text-indent: -1em;
  padding-left: 1em;
}

.el_decimal2 > li + li {
  margin-top: 15px;
}

.el_numParenthesis {
  margin: 10px 0;
}

.el_numParenthesis > li {
  position: relative;
  padding-left: 2.3em;
}

.el_numParenthesis > li .number {
  position: absolute;
  top: 0;
  left: 0;
}

.bl_brandList .group {
  position: relative;
  padding: 1.875vw 0;
  border-top: 2px solid #f5f5f5;
}

.bl_brandList .group:first-child {
  padding-top: 0;
  border-top: none;
}

.bl_brandList .group[aria-hidden="true"] {
  visibility: hidden;
  opacity: 0;
  display: none;
}

.bl_brandList .group[aria-hidden="false"] {
  -webkit-animation: anm-fadein .5s forwards;
  animation: anm-fadein .5s forwards;
}

@media screen and (max-width: 599px) {
  .bl_brandList .group {
    padding: 4vw 2.66667vw;
    border-top-width: 1px;
  }
  .bl_brandList .group.-column .category {
    width: 50%;
    margin: 0 auto;
    text-align: center;
  }
  .bl_brandList .group.-column .category img {
    width: 100%;
  }
  .bl_brandList .group[aria-hidden="false"]::before {
    height: 0;
  }
}

@media screen and (min-width: 959px) {
  .bl_brandList .group {
    padding: 30px 0;
  }
}

@media screen and (min-width: 600px), print {
  .bl_brandList .group.-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bl_brandList .group.-column .category {
    width: 25%;
    padding: 0 2%;
  }
  .bl_brandList .group.-column .category img {
    width: 90%;
  }
  .bl_brandList .group.-column .desc {
    width: 75%;
  }
  .bl_brandList .group.-column .brandlist li {
    width: calc(100% / 4);
  }
}

.bl_brandList .brandlist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.bl_brandList .brandlist li a {
  position: relative;
  display: block;
  border: 1px solid #e1e1e1;
  padding: 5px;
  -webkit-transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_brandList .brandlist li a img {
  width: 100%;
}

.bl_brandList .brandlist li a[data-label]::after {
  content: attr(data-label);
  text-align: center;
  display: inline-block;
  font-size: 12px;
  position: absolute;
  bottom: -22px;
  width: 100%;
  left: 0;
  right: 0;
  margin: auto;
}

.bl_brandList .brandlist li a:hover, .bl_brandList .brandlist li a:focus {
  border-color: #333;
}

.bl_brandList .brandlist li a:hover img, .bl_brandList .brandlist li a:focus img {
  opacity: 1;
}

.bl_brandList .brandlist.-text a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 5vw;
  height: 100%;
  padding: 5px 10px;
  font-size: 1.4rem;
  text-align: center;
}

@media screen and (min-width: 600px), print {
  .bl_brandList .brandlist li {
    width: 25%;
    padding: 2%;
  }
}

@media screen and (max-width: 599px) {
  .bl_brandList .brandlist li {
    width: 50%;
    padding: 2%;
  }
  .bl_brandList .brandlist li a[data-label]::after {
    font-size: 10px;
    bottom: -15px;
  }
  .bl_brandList .brandlist.-text a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 13vw;
    padding: 5px 10px;
  }
}

@media screen and (min-width: 600px), print {
  .bl_categoryList .categoryList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.bl_categoryList .categoryList > li > a {
  position: relative;
  display: block;
  text-align: center;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_categoryList .categoryList > li > a::before, .bl_categoryList .categoryList > li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;
  background-color: #c8172f;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_categoryList .categoryList > li > a::before {
  width: 1px;
  height: 12px;
  -webkit-transform: translateY(-49%) scaleY(1);
  transform: translateY(-49%) scaleY(1);
}

.bl_categoryList .categoryList > li > a::after {
  width: 12px;
  height: 1px;
  -webkit-transform: translateX(49%);
  transform: translateX(49%);
}

.bl_categoryList .categoryList > li > a[aria-expanded="true"]::before {
  -webkit-transform: translateY(-49%) scaleY(0);
  transform: translateY(-49%) scaleY(0);
}

.bl_categoryList .categoryList > li > a:hover, .bl_categoryList .categoryList > li > a:focus {
  color: #c8172f;
}

.bl_categoryList .categoryList > li > a:focus {
  outline: revert;
}

@media screen and (min-width: 600px), print {
  .bl_categoryList .categoryList > li {
    width: 33%;
    padding: 1% 2%;
  }
  .bl_categoryList .categoryList > li > a {
    padding: 1.5vw 1.25vw;
    border-bottom: 1px solid #e1e1e1;
  }
  .bl_categoryList .categoryList > li > a span {
    display: block;
    font-size: 1.6rem;
    font-size: clamp(1.4rem, 1vw, 1.6rem);
  }
  .bl_categoryList .categoryList > li > a span::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: #c8172f transparent transparent transparent;
    -webkit-transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  .bl_categoryList .categoryList > li > a span::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #c8172f;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
  .bl_categoryList .categoryList > li > a:hover span::after, .bl_categoryList .categoryList > li > a:focus span::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .bl_categoryList .categoryList > li > a[aria-expanded="true"] span::before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  .bl_categoryList .categoryList > li:nth-of-type(3n-1) .subcategory {
    -webkit-transform: translateX(-34.5%);
    transform: translateX(-34.5%);
  }
  .bl_categoryList .categoryList > li:nth-of-type(3n) .subcategory {
    -webkit-transform: translateX(-69.5%);
    transform: translateX(-69.5%);
  }
}

@media screen and (max-width: 599px) {
  .bl_categoryList .categoryList > li > a {
    padding: 4vw 5.33333vw;
  }
}

.bl_categoryList .categoryList .subcategory > li > a {
  position: relative;
  display: block;
  text-align: center;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_categoryList .categoryList .subcategory > li > a::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
  right: 3%;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_categoryList .categoryList .subcategory > li > a:hover, .bl_categoryList .categoryList .subcategory > li > a:focus {
  color: #fff;
  background-color: #c8172f;
}

.bl_categoryList .categoryList .subcategory > li > a:hover:after, .bl_categoryList .categoryList .subcategory > li > a:focus:after {
  border-color: #fff;
}

@media screen and (min-width: 600px), print {
  .bl_categoryList .categoryList .subcategory {
    padding: 2.5vw 3.3125vw;
    border: 1px solid #c8172f;
    width: 327%;
    margin-top: 2.8125vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="true"] {
    display: none;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
    -webkit-animation: anm-fadein .5s ease-out;
    animation: anm-fadein .5s ease-out;
  }
  .bl_categoryList .categoryList .subcategory > li {
    width: calc(100% / 3);
    padding: 1.5% 2%;
  }
  .bl_categoryList .categoryList .subcategory > li > a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 1.5vw 1.25vw;
    border-bottom: 1px solid #e1e1e1;
    font-size: 1.6rem;
    font-size: clamp(1.4rem, 1vw, 1.6rem);
    -webkit-transition: all 0.8s cubic-bezier(0.17, 0.935, 0.305, 1);
    transition: all 0.8s cubic-bezier(0.17, 0.935, 0.305, 1);
  }
}

@media screen and (min-width: 959px) {
  .bl_categoryList .categoryList .subcategory {
    padding: 20px 25px;
  }
}

@media screen and (max-width: 599px) {
  .bl_categoryList .categoryList .subcategory {
    width: 100%;
  }
  .bl_categoryList .categoryList .subcategory > li > a {
    padding: 4vw 6.13333vw;
    -webkit-transition: padding 0.3s cubic-bezier(0.17, 0.935, 0.305, 1), line-height 0.3s cubic-bezier(0.17, 0.935, 0.305, 1), opacity 0.1s linear, visibility 0.1s linear;
    transition: padding 0.3s cubic-bezier(0.17, 0.935, 0.305, 1), line-height 0.3s cubic-bezier(0.17, 0.935, 0.305, 1), opacity 0.1s linear, visibility 0.1s linear;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="false"] {
    border-top: 1px solid #e1e1e1;
    border-left: 2px solid #c8172f;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="false"] > li > a {
    line-height: 1.5;
    opacity: 1;
    visibility: visible;
    padding: 4vw 6.13333vw;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="true"] {
    border-left: 2px solid #fff;
  }
  .bl_categoryList .categoryList .subcategory[aria-hidden="true"] > li > a {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    line-height: 0;
    opacity: 0;
    visibility: hidden;
    padding: 0 6.13333vw;
  }
}

/* Button
-----------------------------*/
.bl_btnwrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 3.75vw 0 0;
}

@media screen and (min-width: 959px) {
  .bl_btnwrap {
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 599px) {
  .bl_btnwrap {
    margin: 8vw 0 0;
  }
}

.bl_btnwrap .el_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  border: 1px solid #999;
  border-radius: 60px;
  font-size: 1.6rem;
  font-size: clamp(1.4rem, 1vw, 1.6rem);
  padding: 1.25vw 8.75vw;
  min-width: 18.75vw;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  text-align: center;
}

.bl_btnwrap .el_btn:hover {
  opacity: .7;
}

@media screen and (min-width: 959px) {
  .bl_btnwrap .el_btn {
    font-size: 1.6rem;
    padding: 20px 140px;
    min-width: 300px;
  }
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn {
    font-size: 3.73333vw;
    padding: 2.93333vw 10.66667vw;
    min-width: 50vw;
    max-width: 90vw;
  }
}

.bl_btnwrap .el_btn.-more {
  border-color: #c8172f;
  color: #c8172f;
  margin-top: 0;
}

.bl_btnwrap .el_btn.-more::before, .bl_btnwrap .el_btn.-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12%;
  background-color: #c8172f;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_btnwrap .el_btn.-more::before {
  width: 1px;
  height: 12px;
  -webkit-transform: translateY(-49%) scaleY(1);
  transform: translateY(-49%) scaleY(1);
}

.bl_btnwrap .el_btn.-more::after {
  width: 12px;
  height: 1px;
  -webkit-transform: translateX(49%);
  transform: translateX(49%);
}

.bl_btnwrap .el_btn.-more[aria-expanded="true"]::before {
  -webkit-transform: translateY(-49%) scaleY(0);
  transform: translateY(-49%) scaleY(0);
}

.bl_btnwrap .el_btn.-location {
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_btnwrap .el_btn.-location::before {
  content: "";
  margin-right: 0.9375vw;
  width: 1.875vw;
  height: 1.875vw;
  background: url(/omiseplus/assets/img/shopsearch/icon_pin.svg) no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn.-location::before {
    margin-right: 2.13333vw;
    width: 4.26667vw;
    height: 4.26667vw;
  }
}

.bl_btnwrap .el_btn.-location:hover, .bl_btnwrap .el_btn.-location:focus {
  opacity: 1;
  border-color: #c8172f;
  color: #c8172f;
}

.bl_btnwrap .el_btn.-arrow::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 0.625vw;
  height: 0.625vw;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn.-arrow::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    margin: auto;
    width: 2.13333vw;
    height: 2.13333vw;
    border-top: #c8172f 1px solid;
    border-right: #c8172f 1px solid;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    right: 20px;
    margin: auto 0;
  }
}

.bl_btnwrap .el_btn.-color {
  border-color: #c8172f;
  color: #c8172f;
}

.bl_btnwrap .el_btn.-fluct {
  padding: 1.25vw 2.5vw;
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn.-fluct {
    padding: 2.93333vw 10.66667vw;
  }
}

.bl_btnwrap .el_btn.-anchor {
  font-size: 1.8rem;
  font-size: clamp(1.4rem, 1.125vw, 1.8rem);
}

.bl_btnwrap .el_btn.-anchor::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 0.625vw;
  height: 0.625vw;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  bottom: 20%;
  margin: 0 auto;
  right: 5%;
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn.-anchor {
    font-size: 3.73333vw;
  }
  .bl_btnwrap .el_btn.-anchor::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    margin: auto;
    width: 2.13333vw;
    height: 2.13333vw;
    border-top: #c8172f 1px solid;
    border-right: #c8172f 1px solid;
    -webkit-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
    bottom: 20%;
    margin: 0 auto;
  }
}

.bl_btnwrap .el_btn.-important {
  color: #fff;
  background: #c8172f;
  border-color: #c8172f;
}

.bl_btnwrap .el_btn.-important::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 0.625vw;
  height: 0.625vw;
  border-top: #fff 1px solid;
  border-right: #fff 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
}

@media screen and (min-width: 600px), print {
  .bl_btnwrap .el_btn.-important {
    padding: 1.125vw 8.75vw;
  }
}

@media screen and (min-width: 959px) {
  .bl_btnwrap .el_btn.-important {
    padding: 18px 140px;
  }
}

@media screen and (max-width: 599px) {
  .bl_btnwrap .el_btn.-important {
    font-size: 1.6rem;
    font-size: clapm(1.2rem, 1vw, 1.6rem);
  }
  .bl_btnwrap .el_btn.-important::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    margin: auto;
    width: 2.13333vw;
    height: 2.13333vw;
    border-top: #fff 1px solid;
    border-right: #fff 1px solid;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    right: 20px;
    margin: auto 0;
  }
}

@media screen and (min-width: 600px), print {
  .bl_btnwrap.-col2 .el_btn {
    width: 48%;
    padding: 1.25vw 2.5vw;
  }
  .bl_btnwrap.-col2 .el_btn + .el_btn {
    margin-left: 1.875vw;
  }
}

@media screen and (min-width: 959px) {
  .bl_btnwrap.-col2 .el_btn {
    padding: 20px 40px;
    font-size: 1.6rem;
  }
  .bl_btnwrap.-col2 .el_btn + .el_btn {
    margin-left: 30px;
  }
}

@media screen and (max-width: 599px) {
  .bl_btnwrap.-col2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .bl_btnwrap.-col2 .el_btn + .el_btn {
    margin-top: 5.33333vw;
  }
}

@-webkit-keyframes anm-scaleY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes anm-scaleY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

/* Table
-----------------------------*/
.bl_table {
  border-collapse: collapse;
  width: 100%;
}

.bl_table th, .bl_table td {
  padding: 20px;
  border: #ccc 1px solid;
}

.bl_table th {
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}

.bl_table.-thL th {
  text-align: left;
}

@media screen and (min-width: 600px), print {
  .bl_table .wid24 {
    width: 24%;
  }
  .bl_table .wid38 {
    width: 38%;
  }
}

@media screen and (max-width: 599px) {
  .bl_table.-vertical {
    display: block;
    border-bottom: #ccc 1px solid;
  }
  .bl_table.-vertical tbody, .bl_table.-vertical tr, .bl_table.-vertical th, .bl_table.-vertical td {
    display: block;
  }
  .bl_table.-vertical th, .bl_table.-vertical td {
    padding: 15px;
  }
  .bl_table.-vertical th {
    -moz-text-align-last: left;
    text-align-last: left;
    border-bottom: none;
    padding-bottom: 0;
  }
  .bl_table.-vertical th::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ccc;
    margin: 15px auto 0;
  }
  .bl_table.-vertical td {
    border-top: none;
    border-bottom: none;
  }
  .bl_table.-vertical td + td {
    padding-top: 0;
  }
  .bl_table.-vertical td + td::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ccc;
    margin: 0 auto 15px;
  }
}

/* Tab
-----------------------------*/
@-webkit-keyframes anm-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes anm-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.bl_tabLink2 > ul li {
  position: relative;
}

.bl_tabLink2 > ul li a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-size: clamp(1.4rem, 1vw, 1.6rem);
  display: block;
  padding: 0.8125vw 1.25vw;
  text-align: center;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  background: #fff;
  border: 1px solid #fff;
  color: #333;
}

.bl_tabLink2 > ul li a:hover, .bl_tabLink2 > ul li a:focus {
  text-decoration: none;
}

.bl_tabLink2 > ul li:not([aria-selected="true"]) a:hover, .bl_tabLink2 > ul li:not([aria-selected="true"]) a:focus {
  border-color: #c8172f;
  color: #c8172f;
}

.bl_tabLink2 > ul li[aria-selected="true"] a {
  color: #fff;
  border-color: #c8172f;
  background: #c8172f;
}

@media screen and (min-width: 600px), print {
  .bl_tabLink2 > ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .bl_tabLink2 > ul li {
    width: 14.375vw;
    margin: 0 1.5625vw;
  }
}

@media screen and (min-width: 959px) {
  .bl_tabLink2 > ul li {
    margin: 0 25px;
  }
  .bl_tabLink2 > ul li a {
    font-size: 1.6rem;
    padding: 13px 20px;
  }
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .bl_tabLink2 > ul li {
    width: auto;
  }
  .bl_tabLink2 > ul li a {
    padding: 1.33333vw 2.66667vw;
  }
}

@media screen and (max-width: 599px) {
  .bl_tabLink2 > ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .bl_tabLink2 > ul li {
    width: 50%;
    padding: 2%;
  }
  .bl_tabLink2 > ul li a {
    padding: 3.46667vw 1.86667vw;
  }
}

.bl_tabLink {
  padding-bottom: 3.125vw;
}

.bl_tabLink > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.bl_tabLink > ul li {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.bl_tabLink > ul li:has(> span) {
  cursor: unset;
}

.bl_tabLink > ul li > :is(a,span) {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 2rem;
  font-size: clamp(1.6rem, 1.25vw, 2rem);
  display: block;
  padding: 1.875vw 1.875vw 1.5625vw;
  text-align: center;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
}
.bl_tabLink > ul li > a {
  cursor: pointer;
}

.bl_tabLink > ul li a:hover, .bl_tabLink > ul li a:focus {
  text-decoration: none;
}

.bl_tabLink > ul li::before {
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  -webkit-transform-origin: center 0;
  transform-origin: center 0;
}

.bl_tabLink > ul li:not([aria-selected="true"])::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e1e1e1;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.bl_tabLink > ul li:not([aria-selected="true"])::before {
  content: '';
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #c8172f;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

.bl_tabLink > ul li:not([aria-selected="true"]):hover a, .bl_tabLink > ul li:not([aria-selected="true"]):focus a {
  color: #c8172f;
}

.bl_tabLink > ul li:not([aria-selected="true"]):hover::after, .bl_tabLink > ul li:not([aria-selected="true"]):focus::after {
  background-color: #c8172f;
}

.bl_tabLink > ul li[aria-selected="true"] > :is(a,span) {
  color: #c8172f;
  border-left-color: #e1e1e1;
  border-right-color: #e1e1e1;
}

.bl_tabLink > ul li[aria-selected="true"]::after {
  opacity: 0;
}

.bl_tabLink > ul li[aria-selected="true"]::before {
  content: '';
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #c8172f;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.bl_tabLink > ul li[aria-selected="true"]:first-child > :is(a,span) {
  border-left-color: #fff;
}

.bl_tabLink > ul li[aria-selected="true"]:last-child > :is(a,span) {
  border-right-color: #fff;
}

@media screen and (min-width: 959px) {
  .bl_tabLink {
    padding-bottom: 50px;
  }
  .bl_tabLink > ul li a {
    padding: 30px 30px 25px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 599px) {
  .bl_tabLink {
    position: relative;
    width: 100vw;
    margin-left: -4%;
    padding-bottom: 5.33333vw;
  }
  .bl_tabLink > ul {
    position: relative;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bl_tabLink > ul li > :is(a,span) {
    padding: 3.2vw 2.66667vw;
    border-width: 1px;
    font-size: 1.2rem;
  }
  .bl_tabLink > ul li:not([aria-selected="true"])::after {
    height: 1px;
  }
}

[role="tabpanel"] {
  display: none;
}

[role="tabpanel"][aria-hidden="false"] {
  display: block;
  -webkit-animation: anm-fadein .7s ease 0s;
  animation: anm-fadein .7s ease 0s;
}

/* topicPath
-----------------------------*/
.topicPathArea {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.topicPathArea .topicPath {
  width: 75%;
  padding: 22px 0;
}

.topicPathArea .topicPath.-full {
  width: 100%;
}

.topicPathArea .topicPath a {
  display: inline-block;
  padding: 0 5px 0 0;
}

.topicPathArea .topicPath a + a {
  padding-left: 5px;
}

.topicPathArea .topicPath a:hover {
  text-decoration: underline;
}

.topicPathArea .topicPath em {
  padding: 0 5px;
}

.topicPathArea .sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border: none;
}

.topicPathArea .sns .share {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.topicPathArea .sns .share::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e901";
  font-size: 2rem;
  margin-right: 8px;
}

.topicPathArea .sns > a {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
}

.topicPathArea .sns > a:hover {
  opacity: .7;
}

.topicPathArea .sns > a::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2.4rem;
}

.topicPathArea .sns > a#sns_facebook::before {
  content: "\e900";
}

.topicPathArea .sns > a#sns_twitter::before {
  content: "\e902";
}

.topicPathArea .sns > a#sns_x::before {
  content: "\e914";
}

.topicPathArea.-end {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 599px) {
  .topicPathArea .topicPath {
    display: none;
  }
  .topicPathArea .sns {
    margin: auto;
  }
}

/* stepBar
-----------------------------*/
.stepBar {
  position: relative;
  list-style: none;
  margin: 30px 0;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
  font-size: 1.4rem;
  font-weight: 600;
}

.stepBar ol {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.stepBar li {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 50px;
  padding: 0 40px 0 20px;
  background-color: #eee;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  white-space: nowrap;
  line-height: 1.3;
}

.stepBar li:before, .stepBar li:after {
  position: absolute;
  left: -15px;
  display: block;
  content: '';
  background-color: #eee;
  border-left: 2px solid #FFF;
  width: 25px;
  height: 25px;
}

.stepBar li:after {
  top: 0;
  -webkit-transform: skew(35deg);
  transform: skew(35deg);
}

.stepBar li:before {
  bottom: 0;
  -webkit-transform: skew(-35deg);
  transform: skew(-35deg);
}

.stepBar li:first-child:before, .stepBar li:first-child:after {
  content: none;
}

.stepBar li.current {
  background-color: #f7c9cd;
}

.stepBar li.current:before, .stepBar li.current:after {
  background-color: #f7c9cd;
}

.stepBar.step2 li {
  width: 50%;
}

.stepBar.step3 li {
  width: 33.333%;
}

.stepBar.step4 li {
  width: 25%;
}

.stepBar.step5 li {
  width: 20%;
}

@media screen and (max-width: 599px) {
  .stepBar li {
    padding: 0 15px 0 0;
  }
  .stepBar li:first-child {
    padding-left: 10px;
  }
  .stepBar li span {
    position: relative;
    display: inline-block;
    margin-left: -10px;
    z-index: 2;
  }
  .stepBar li:before, .stepBar li:after {
    width: 18px;
    height: 25px;
  }
  .stepBar li:after {
    top: 0;
    -webkit-transform: skew(25deg);
    transform: skew(25deg);
  }
  .stepBar li:before {
    bottom: 0;
    -webkit-transform: skew(-25deg);
    transform: skew(-25deg);
  }
  .stepBar.step4 li,
  .stepBar.step5 li {
    font-size: 12px;
  }
}

/* selectbox
-----------------------------*/
.selectWrap {
  background: #f5f5f5;
  border: 1px solid #c8c8c8;
  border-radius: 6px;
  position: relative;
  display: inline-block;
  height: 36px;
}

.selectWrap select {
  border: none;
  width: 100%;
  height: 100%;
  line-height: 36px;
  font-size: 1.4rem;
  padding: 0 28px 0 10px;
}

.selectWrap::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  bottom: 20%;
  margin: 0 auto;
  pointer-events: none;
  right: 10px;
}

.selectSup {
  display: inline-block;
  padding: 0 .5em;
}

br + .selectSup {
  padding: .5em 0 0 .5em;
}

/* textarea
-----------------------------*/
.textareaWrap textarea {
  width: 100%;
  border-radius: 0;
  border-color: #ccc;
  padding: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.inputCaption {
  margin-top: 10px;
}

/* formListWrap
-----------------------------*/
.formListWrap {
  margin: 50px 0;
}

.formListWrap .formList + .formList {
  padding-top: 30px;
}

.formListWrap .itemHeading {
  background: #f5f5f5;
  padding: 10px 15px;
  font-weight: 700;
}

.formListWrap .itemHeading .required {
  color: #b70031;
}

.formListWrap .itemContent {
  padding: 15px 15px 0;
}

/* 完了画面
-----------------------------*/
.orderCompletion {
  width: 100%;
  text-align: center;
  margin-top: 6%;
  margin-bottom: 25px;
  padding-bottom: 8%;
  padding-left: 0;
}

.orderCompletion h1 {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 10px;
}

.orderCompletion .textThanks {
  font-size: 1.4rem;
}

@media screen and (min-width: 600px), print {
  .orderCompletion {
    margin-top: 100px;
    margin-bottom: 25px;
    padding-bottom: 100px;
  }
  .orderCompletion h1 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 599px) {
  .orderCompletion.-mb0 {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.orderInfoBox {
  margin: 0;
}

.orderInfoBox .orderInfoWrap {
  margin: 0;
}

.orderInfoBox .payReport,
.orderInfoBox .payConfirmation {
  font-size: 1.4rem;
  line-height: 1.8;
  margin: 0;
}

.orderInfoBox .totalAmountwrap {
  width: 100%;
  margin: 20px 0;
}

.orderInfoBox .totalAmountwrap .totalAmount {
  padding: 15px 0;
}

.orderInfoBox .payConfirmation {
  margin-top: 30px;
}

@media screen and (min-width: 600px), print {
  .orderInfoBox {
    margin: 0 auto;
    width: 50%;
  }
}

/* salesfloorEmergency
-----------------------------*/
.salesfloorEmergency {
  margin-bottom: 40px;
}

.salesfloorEmergency .bl_heading1,
.salesfloorEmergency .salesfloorShopImg {
  text-align: center;
}

.salesfloorBrandList {
  margin-top: 20px;
}

.salesfloorBrandList > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
}

.salesfloorBrandList > ul img {
  width: 100%;
}

.salesfloorBrandList > ul > li {
  visibility: hidden;
  opacity: 0;
  height: 0;
  margin: 0;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.salesfloorBrandList > ul > li:not(:nth-child(n+11)) {
  visibility: visible;
  opacity: 1;
  height: auto;
}

.salesfloorBrandList > ul.is_open > li {
  visibility: visible;
  opacity: 1;
  height: auto;
}

@media screen and (max-width: 599px) {
  .salesfloorBrandList > ul {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .salesfloorBrandList > ul.is_open {
    margin-bottom: 30px;
  }
  .salesfloorBrandList > ul > li {
    width: 48.5%;
    margin: 3% 0 0;
  }
}

@media screen and (min-width: 600px), print {
  .salesfloorBrandList > ul.is_open {
    margin-bottom: 50px;
  }
  .salesfloorBrandList > ul > li {
    width: calc((100% - 60px) / 5);
    margin: 15px 0 0 15px;
  }
  .salesfloorBrandList > ul > li:nth-of-type(5n-4) {
    margin-left: 0;
  }
}

/* Shop
-----------------------------*/
.omsShopAttention {
  color: #c8172f;
}

.omsShopNote {
  margin-top: 10px;
}

.omsShopItem {
  padding: 50px 0;
}

.omsShopItem * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.omsShopItem + .omsShopItem {
  border-top: 1px solid #ccc;
}

.omsShopItem .shopInfo .shopName {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 10px 0 5px;
}

.omsShopItem .shopInfo .shopNotes {
  margin-bottom: 13px;
}

.omsShopItem .shopInfo .shopMessage {
  margin: 15px 0 0;
}

.omsShopItem .shopInfo .shopMessage .caution {
  font-size: 1.6rem;
  font-weight: 600;
}

@media screen and (max-width: 599px) {
  .omsShopItem .shopImage {
    text-align: center;
  }
  .omsShopItem .shopImage img {
    width: 100%;
  }
  .omsShopItem .shopBtn {
    margin: 30px auto 0;
    width: 90%;
  }
}

@media screen and (min-width: 600px), print {
  .omsShopItem {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .omsShopItem .shopImage {
    width: 21.9%;
    margin-right: 15px;
  }
  .omsShopItem .shopImage img {
    width: 100%;
  }
  .omsShopItem .shopInfo {
    width: 50%;
  }
  .omsShopItem .shopInfo .shopName {
    margin-top: 0;
  }
  .omsShopItem .shopInfo .shopMessage {
    margin: 30px 0 0;
  }
  .omsShopItem .shopBtn {
    width: 25%;
  }
}

@media screen and (max-width: 599px) {
  .omsShopButtonArea .parts_btn {
    width: 90%;
  }
}

/* Club member ID
-----------------------------*/
.clubCardWrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.clubCardWrap .card img {
  width: 100%;
}

@media screen and (max-width: 599px) {
  .clubCardWrap {
    margin: 30px 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .clubCardWrap .card + .card {
    margin-top: 15px;
  }
}

@media screen and (min-width: 600px), print {
  .clubCardWrap {
    margin: 50px 0 30px;
  }
  .clubCardWrap .card {
    width: calc((100% - 30px) / 2);
  }
}

.clubId .clubIdInput {
  width: 430px;
}

.clubId .clubIdInput input[type="text"] {
  border-color: #ccc;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clubId .parts_btn {
  margin-top: 50px;
}

@media screen and (max-width: 599px) {
  .clubId .clubIdInput {
    margin: 0 4%;
    width: auto;
  }
  .clubId .parts_btn {
    margin-top: 30px;
  }
}

.clubCardTable {
  border-collapse: collapse;
  width: 100%;
  margin-top: 30px;
}

.clubCardTable * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clubCardTable th, .clubCardTable td {
  padding: 10px;
  text-align: left;
  border: 2px solid #fff;
  vertical-align: middle;
}

.clubCardTable th {
  background: #1a1a1a;
  color: #fff;
}

.clubCardTable td {
  background: #f5f5f5;
}

.clubCardTable + .parts_btn {
  margin-top: 15px;
}

@media screen and (min-width: 600px), print {
  .clubCardTable .col1 {
    width: 25%;
  }
  .clubCardTable .col2 {
    width: 75%;
  }
}

@media screen and (max-width: 599px) {
  .clubCardTable .col1 {
    width: 32%;
  }
  .clubCardTable .col2 {
    width: 68%;
  }
}

#omsShopSelect {
  margin-top: 50px;
  border-top: 1px solid #ccc;
}

/* My page
-----------------------------*/
.purchaseUser {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.purchaseUser > p {
  width: 33%;
  margin: 0;
}

.purchaseUser .userCompany {
  min-width: 33%;
}

@media screen and (max-width: 599px) {
  .purchaseUser {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .purchaseUser > p {
    width: 100%;
  }
  .purchaseUser .userItem {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  .purchaseUser .userName {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    margin-top: 20px;
  }
  .purchaseUser .userCompany {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
}

.purchaseUser.-withNumber > p {
  width: auto;
}

.purchaseUser.-withNumber .companyName {
  margin-right: 1em;
  display: inline-block;
}

.purchaseUser.-withNumber .companyNumber {
  display: inline-block;
}

@media screen and (min-width: 600px), print {
  .purchaseUser.-withNumber .userItem,
  .purchaseUser.-withNumber .userName {
    white-space: nowrap;
    margin-right: 1em;
  }
}

@media screen and (max-width: 599px) {
  .purchaseUser.-withNumber .companyName,
  .purchaseUser.-withNumber .companyNumber {
    display: block;
  }
}

.purchaseShopHeading {
  margin: 50px 0 20px;
}

.purchaseShopHeading + .purchaseCancelWrap {
  margin-top: 20px;
}

@media screen and (max-width: 599px) {
  .purchaseShopHeading {
    font-size: 1.4rem;
    margin: 50px 0 10px;
  }
}

.statusCell [class*="status"] {
  display: block;
  padding: 5px 10px;
  font-size: 1.1rem;
  text-align: center;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.statusCell button[class*="status"] {
  display: block;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.statusCell button[class*="status"]:hover {
  opacity: .75;
}

.statusCell button[class*="status"]::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 4px;
  height: 4px;
  border-top: #fff 1px solid;
  border-right: #fff 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
  left: 5px;
  margin-right: 3px;
}

.statusCell button[class*="status"].status3::before {
  border-color: #333;
}

.statusCell button[class*="status"].status2 {
  padding-left: 15px;
}

.statusCell .status1 {
  background: #1a1a1a;
  color: #fff;
}

.statusCell .status2 {
  background: #707070;
  color: #fff;
}

.statusCell .status3 {
  background: #ccc;
}

.statusCell .status4 {
  background: #f5f5f5;
}

@media screen and (max-width: 960px), print {
  .statusCell {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #ccc;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .statusCell .itemName {
    display: block;
    width: 100%;
    font-weight: 600;
    margin-bottom: 5px;
  }
}

@media screen and (min-width: 959px) {
  .statusCell [class*="status"] + [class*="status"] {
    margin-top: 5px;
  }
  .statusCell button, .statusCell a {
    width: 100%;
  }
}

.purchaseHistoryTable {
  width: 100%;
}

.purchaseHistoryTable * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.purchaseHistoryTable .shopCell {
  line-height: 1.8;
}

.purchaseHistoryTable .shopCell .shopName {
  color: #707070;
  font-weight: 600;
}

.purchaseHistoryTable .shopCell .purchaseDate,
.purchaseHistoryTable .shopCell .purchaseId {
  white-space: nowrap;
}

.purchaseHistoryTable .productCell {
  overflow: hidden;
  line-height: 1.8;
  display: block;
}

.purchaseHistoryTable .productCell .productImg {
  float: left;
  width: 80px;
  height: 80px;
  margin-right: 15px;
}

.purchaseHistoryTable .productCell .productDesc {
  overflow: hidden;
}

.purchaseHistoryTable .productCell:hover .productDesc {
  text-decoration: underline;
}

.purchaseHistoryTable .priceCell,
.purchaseHistoryTable .pieceCell,
.purchaseHistoryTable .subtotalCell,
.purchaseHistoryTable .totalCell .total {
  white-space: nowrap;
}

@media screen and (max-width: 960px), print {
  .purchaseHistoryTable {
    display: block;
  }
  .purchaseHistoryTable thead {
    display: none;
  }
  .purchaseHistoryTable tbody, .purchaseHistoryTable tr, .purchaseHistoryTable th, .purchaseHistoryTable td {
    display: block;
  }
  .purchaseHistoryTable tbody > tr {
    border: 1px solid #ccc;
  }
  .purchaseHistoryTable .itemName.hp_show_sp {
    font-weight: 600;
    margin-bottom: 5px;
  }
  .purchaseHistoryTable .spCellBorder {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
  }
  .purchaseHistoryTable .spCellBorder .productCell {
    margin-bottom: 0;
  }
  .purchaseHistoryTable .shopCell {
    padding: 6% 4% 0;
  }
  .purchaseHistoryTable .shopCell .itemName {
    font-weight: 600;
  }
  .purchaseHistoryTable .shopCell .purchaseDate {
    margin-bottom: 5px;
  }
  .purchaseHistoryTable .shopCell .shopName {
    margin: 10px 0 18px;
  }
  .purchaseHistoryTable .productCell {
    margin-bottom: 18px;
  }
  .purchaseHistoryTable .priceCell {
    float: left;
  }
  .purchaseHistoryTable .pieceCell {
    float: right;
  }
  .purchaseHistoryTable .subtotalCell {
    clear: both;
    padding-top: 8px;
  }
  .purchaseHistoryTable .priceCell .itemName,
  .purchaseHistoryTable .subtotalCell .itemName {
    padding-right: 1em;
  }
  .purchaseHistoryTable .totalCell {
    font-weight: 600;
    font-size: 1.6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 8px;
  }
  .purchaseHistoryTable .totalCell em {
    font-weight: 600;
  }
  .purchaseHistoryTable .statusCell {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .purchaseHistoryTable .productDetailCell {
    display: table;
  }
  .purchaseHistoryTable .productDetailCell tr {
    border: none;
    display: table-row;
  }
  .purchaseHistoryTable .productDetailCell th, .purchaseHistoryTable .productDetailCell td {
    display: table-cell;
    padding-top: 8px;
  }
  .purchaseHistoryTable .productDetailCell th {
    padding-right: 10px;
    white-space: nowrap;
  }
  .purchaseHistoryTable .productDetailCell td {
    text-align: right;
  }
  .purchaseHistoryTable .itemCell .itemName {
    margin-right: 30px;
  }
  .purchaseHistoryTable .productTable {
    padding: 0 4% 6%;
  }
  .purchaseHistoryTable .productTable + .productTable {
    border-top: #ccc 1px solid;
    padding-top: 6%;
  }
  .purchaseHistoryTable.-byStore tbody > tr {
    padding: 6% 4%;
  }
  .purchaseHistoryTable.-byStore tbody > tr + tr {
    margin-top: -1px;
  }
}

@media screen and (min-width: 959px) {
  .purchaseHistoryTable {
    display: block;
  }
  .purchaseHistoryTable thead th {
    background: #f5f5f5;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 600;
    vertical-align: middle;
    text-align: center;
    padding: 8px 10px;
    white-space: nowrap;
  }
  .purchaseHistoryTable thead th.headShop {
    width: 178px;
  }
  .purchaseHistoryTable thead th.headProduct {
    width: 446px;
    text-align: left;
  }
  .purchaseHistoryTable thead th.headPrice {
    width: 122px;
  }
  .purchaseHistoryTable thead th.headPiece {
    width: 84px;
  }
  .purchaseHistoryTable thead th.headSubtotal {
    width: 116px;
  }
  .purchaseHistoryTable tbody th, .purchaseHistoryTable tbody td {
    padding: 15px 10px;
    vertical-align: top;
  }
  .purchaseHistoryTable tbody .shopWrap {
    border-bottom: 1px solid #ccc;
  }
  .purchaseHistoryTable tbody .shopCell {
    width: 178px;
  }
  .purchaseHistoryTable tbody .shopCell .itemName {
    display: block;
    font-weight: 600;
  }
  .purchaseHistoryTable tbody .shopCell .purchaseDate {
    margin-bottom: 5px;
  }
  .purchaseHistoryTable tbody .shopCell .shopName {
    margin-top: 10px;
  }
  .purchaseHistoryTable tbody .productTableWrap {
    padding: 0;
    width: calc(100% - 178px);
  }
  .purchaseHistoryTable tbody .productTableWrap .productTable {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .purchaseHistoryTable tbody .productTableWrap .productCell {
    width: 446px;
  }
  .purchaseHistoryTable tbody .productTableWrap .productCell, .purchaseHistoryTable tbody .productTableWrap .priceCell, .purchaseHistoryTable tbody .productTableWrap .pieceCell, .purchaseHistoryTable tbody .productTableWrap .subtotalCell {
    padding: 15px 10px;
  }
  .purchaseHistoryTable tbody .productTableWrap .priceCell {
    width: 122px;
  }
  .purchaseHistoryTable tbody .productTableWrap .pieceCell {
    width: 84px;
  }
  .purchaseHistoryTable tbody .productTableWrap .subtotalCell {
    width: 116px;
  }
  .purchaseHistoryTable tbody .priceCell,
  .purchaseHistoryTable tbody .pieceCell,
  .purchaseHistoryTable tbody .subtotalCell,
  .purchaseHistoryTable tbody .totalCell {
    text-align: center;
  }
  .purchaseHistoryTable tbody .productDetailCell td {
    padding: 0 0 5px 5px;
  }
  .purchaseHistoryTable tbody .productDetailCell th {
    white-space: nowrap;
    padding: 0 10px 0 0;
  }
  .purchaseHistoryTable:not(.-byStore) {
    display: block;
  }
  .purchaseHistoryTable:not(.-byStore) thead {
    display: block;
  }
  .purchaseHistoryTable:not(.-byStore) thead tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    background: #f5f5f5;
  }
  .purchaseHistoryTable:not(.-byStore) tbody {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .purchaseHistoryTable:not(.-byStore) tbody tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .purchaseHistoryTable.-byStore thead th.headProduct {
    width: 324px;
  }
  .purchaseHistoryTable.-byStore thead th.headProductDetail {
    width: 282px;
    text-align: left;
  }
  .purchaseHistoryTable.-byStore thead th.headItem {
    width: 117px;
    text-align: left;
  }
  .purchaseHistoryTable.-byStore thead th.headPrice {
    width: 122px;
  }
  .purchaseHistoryTable.-byStore thead th.headPiece {
    width: 84px;
  }
  .purchaseHistoryTable.-byStore thead th.headSubtotal {
    width: 116px;
  }
  .purchaseHistoryTable.-byStore tbody.productData {
    width: 324px;
  }
  .purchaseHistoryTable.-byStore tbody.productDetailData {
    width: 282px;
  }
  .purchaseHistoryTable.-byStore tbody.itemData {
    width: 117px;
  }
  .purchaseHistoryTable.-byStore tbody.priceCell {
    width: 122px;
  }
  .purchaseHistoryTable.-byStore tbody.pieceCell {
    width: 84px;
  }
  .purchaseHistoryTable.-byStore tbody.subtotalCell {
    width: 116px;
  }
  .purchaseHistoryTable .itemName {
    display: none;
  }
  .purchaseHistoryTable .tax {
    display: none;
  }
}

.purchaseHistoryWrap + .purchaseHistoryWrap {
  margin-top: 50px;
}

.purchaseHistoryWrap .purchaseTotal {
  margin-top: 0;
}

.purchaseHistoryWrap .purchaseTotal table, .purchaseHistoryWrap .purchaseTotal tbody, .purchaseHistoryWrap .purchaseTotal tr, .purchaseHistoryWrap .purchaseTotal th, .purchaseHistoryWrap .purchaseTotal td {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.purchaseHistoryWrap .purchaseTotal tr {
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.purchaseHistoryWrap .purchaseTotal th, .purchaseHistoryWrap .purchaseTotal td {
  padding-bottom: .7em;
}

.purchaseHistoryWrap .purchaseTotal .totalCell {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.purchaseHistoryWrap .purchaseTotal .statusRow {
  border-top: 1px solid #ccc;
  width: 100%;
}

.purchaseHistoryWrap .purchaseTotal .statusRow th, .purchaseHistoryWrap .purchaseTotal .statusRow td {
  padding: .7em 0 0;
  display: block;
}

.purchaseHistoryWrap .purchaseTotal .statusRow th {
  width: 20%;
}

.purchaseHistoryWrap .purchaseTotal .statusRow .statusCell {
  width: 80%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.purchaseHistoryWrap .purchaseTotal .statusRow .statusCell [class*="status"] {
  width: 49%;
  margin: 0;
}

.purchaseHistoryWrap .purchaseTotal .statusRow .statusCell [class*="status"]:nth-child(n+3) {
  margin-top: 5px;
}

.purchaseHistoryWrap .purchaseTotal .statusCell {
  border-top: none;
}

@media screen and (max-width: 960px), print {
  .purchaseHistoryWrap .purchaseTotal .statusRow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .purchaseHistoryWrap .purchaseTotal .statusRow th {
    width: 100%;
  }
  .purchaseHistoryWrap .purchaseTotal .statusRow .statusCell {
    width: 100%;
    margin-top: 0;
  }
  .purchaseHistoryWrap .purchaseTotal .statusRow .statusCell [class*="status"] {
    width: 49%;
  }
}

.purchaseTotal {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 15px;
  background: #f5f5f5;
}

.purchaseTotal table {
  width: 100%;
}

.purchaseTotal th, .purchaseTotal td {
  font-weight: 600;
  display: table-cell;
}

.purchaseTotal td {
  white-space: nowrap;
}

.purchaseTotal .totalNum {
  font-weight: normal;
}

.purchaseTotal .totalCell {
  width: 35%;
  text-align: right;
  font-size: 1.6rem;
}

@media screen and (min-width: 959px) {
  .purchaseTotal {
    margin-top: 30px;
    width: 42%;
    margin-left: 58%;
  }
}

@media screen and (max-width: 960px), print {
  .purchaseTotal {
    border: 1px solid #ccc;
    border-top: none;
  }
}

.purchaseInfoTable {
  width: 100%;
}

.purchaseInfoTable .detailInfo > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.purchaseInfoTable .detailInfo > div + div {
  padding-top: 10px;
}

.purchaseInfoTable .detailInfo > div dt {
  font-weight: 600;
  padding-right: 15px;
}

.purchaseInfoTable table {
  width: 100%;
}

.purchaseInfoTable table, .purchaseInfoTable thead, .purchaseInfoTable tbody, .purchaseInfoTable tr, .purchaseInfoTable th, .purchaseInfoTable td {
  display: block;
}

.purchaseInfoTable th {
  padding: 12px 15px;
  background: #1a1a1a;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
}

.purchaseInfoTable td {
  padding: 15px 15px 20px;
}

@media screen and (max-width: 599px) {
  .purchaseInfoTable {
    margin: 30px 0 0;
  }
  .purchaseInfoTable .address {
    display: block;
  }
  .purchaseInfoTable .detailInfo > div dt {
    width: 50%;
  }
  .purchaseInfoTable .detailInfo > div dd {
    width: 50%;
  }
  .purchaseInfoTable .detailInfo .column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .purchaseInfoTable .detailInfo .column dt, .purchaseInfoTable .detailInfo .column dd {
    width: 100%;
  }
  .purchaseInfoTable .detailInfo .column dt {
    margin-bottom: 5px;
  }
  .purchaseInfoTable td {
    padding-bottom: 30px;
  }
}

@media screen and (min-width: 600px), print {
  .purchaseInfoTable {
    margin: 50px 0 0;
  }
  .purchaseInfoTable .address {
    padding-right: 30px;
  }
  .purchaseInfoTable .detailInfo > div dt {
    width: 25%;
  }
  .purchaseInfoTable .detailInfo > div dd {
    width: 75%;
  }
}

.purchaseTotalTable th, .purchaseTotalTable td {
  padding: 10px;
}

.purchaseTotalTable th {
  background: #1a1a1a;
}

.purchaseTotalTable .subTotalCell {
  font-weight: 600;
}

@media screen and (max-width: 599px) {
  .purchaseTotalTable {
    display: block;
  }
  .purchaseTotalTable thead, .purchaseTotalTable tbody, .purchaseTotalTable tr, .purchaseTotalTable th {
    display: block;
  }
  .purchaseTotalTable thead th {
    padding: 12px 15px;
    background: #1a1a1a;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .purchaseTotalTable tbody th {
    background: #f5f5f5;
    font-weight: 600;
    padding: 10px 15px;
    margin-bottom: 12px;
  }
  .purchaseTotalTable tbody td {
    text-align: right;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 4px 15px;
  }
  .purchaseTotalTable tbody td:last-child {
    padding-bottom: 20px;
    font-size: 1.6rem;
  }
  .purchaseTotalTable tbody .totalRow {
    background: #f5f5f5;
    padding: 15px 0 0;
  }
  .purchaseTotalTable tbody .totalRow th {
    display: none;
  }
  .purchaseTotalTable tbody .totalRow .subTotalCell {
    font-size: 1.4rem;
    font-weight: 300;
    padding: 4px 0 15px;
    margin: 0 15px;
    border-bottom: 1px solid #ccc;
  }
  .purchaseTotalTable + .purchaseTotal {
    border: none;
  }
  .purchaseTotalTable.-point {
    margin-top: 30px;
  }
  .purchaseTotalTable.-point th {
    padding: 12px 15px;
    background: #1a1a1a;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .purchaseTotalTable.-point td {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .purchaseTotalTable.-cancel {
    background: #f5f5f5;
    padding: 20px;
  }
  .purchaseTotalTable.-cancel tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 3px;
  }
  .purchaseTotalTable.-cancel th, .purchaseTotalTable.-cancel td {
    padding: 0;
    font-weight: 300;
  }
  .purchaseTotalTable.-cancel td:last-child {
    padding: 0;
  }
  .purchaseTotalTable.-cancel th {
    margin: 0;
  }
  .purchaseTotalTable.-cancel .totalRow {
    margin-top: 10px;
    border-top: 1px solid #ccc;
  }
  .purchaseTotalTable.-cancel .totalRow th, .purchaseTotalTable.-cancel .totalRow td {
    font-size: 1.6rem;
    font-weight: 600;
  }
  .purchaseTotalTable.-cancel .totalRow th {
    display: block;
  }
}

@media screen and (min-width: 600px), print {
  .purchaseTotalTable {
    width: 60%;
    margin-left: 40%;
    margin-top: 30px;
  }
  .purchaseTotalTable th, .purchaseTotalTable td {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .purchaseTotalTable thead th {
    background: #e5e5e5;
    text-align: right;
    font-weight: 600;
  }
  .purchaseTotalTable thead th:nth-of-type(1) span {
    display: none;
  }
  .purchaseTotalTable tbody th {
    background: #f5f5f5;
    font-weight: 600;
    width: 45%;
  }
  .purchaseTotalTable tbody td {
    text-align: right;
  }
  .purchaseTotalTable tbody td .itemName {
    display: none;
  }
}

.purchaseNote.-type1 {
  margin-top: 15px;
}

@media screen and (min-width: 600px), print {
  .purchaseNote.-type1 {
    width: 42%;
    margin: 15px 0 0 58%;
  }
}

.purchaseNote.-type2 {
  margin-top: 15px;
}

@media screen and (min-width: 600px), print {
  .purchaseNote.-type2 {
    width: 60%;
    margin: 15px 0 0 40%;
  }
}

.purchaseNote.-type3 {
  margin-top: 60px;
}

.purchaseCancelWrap {
  margin: 50px 0;
}

.purchaseCancelWrap .purchaseShopHeading {
  margin-top: 0;
}

.omsPagenation .pager {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.omsPagenation .pager a, .omsPagenation .pager span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 24px;
  height: 24px;
  text-align: center;
  border-radius: 50%;
}

.omsPagenation .pager a:hover {
  background: #e1e1e1;
}

.omsPagenation .pager span {
  color: #ccc;
}

.omsPagenation .pager .current {
  background: #1a1a1a;
  color: #fff;
  pointer-events: none;
}

.omsPagenation .pager .current:hover {
  background: #1a1a1a;
  color: #fff;
}

@media screen and (max-width: 960px), print {
  .omsPagenation {
    margin: 30px 0;
    text-align: center;
  }
  .omsPagenation .pager {
    margin-top: 10px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .omsPagenation .pager a, .omsPagenation .pager span {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 34px;
    height: 34px;
  }
}

@media screen and (min-width: 959px) {
  .omsPagenation {
    margin: 50px 0;
    text-align: right;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .omsPagenation .displayStatus {
    margin-right: 30px;
  }
}

.deliMailSetting {
  margin-top: 30px;
  background: #f5f5f5;
  padding: 30px;
}

@media screen and (max-width: 599px) {
  .deliMailSetting {
    padding: 20px;
  }
}

.deliMailSetting .bl_heading2 {
  font-size: 1.8rem;
  margin-top: 0;
}

@media screen and (max-width: 599px) {
  .deliMailSetting .bl_heading2 {
    font-size: 1.6rem;
  }
}

.deliMailSetting .deliRadioButton {
  margin-bottom: 10px;
}

.deliMailSetting .deliRadioButton td {
  display: block;
  margin-right: 1em;
  margin-top: 10px;
  margin-bottom: 20px;
  font-weight: 600;
}

@media screen and (max-width: 599px) {
  .deliMailSetting .deliRadioButton td {
    margin-bottom: 10px;
  }
}

.deliMailSetting .mailMagaText {
  margin-bottom: 10px;
}

.deliMailSetting .deliSample {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}

.deliMailSetting .deliSample .deliSampleUrl {
  margin-right: 40px;
}

.deliMailSetting .deliSample .deliSampleUrl a {
  color: #c8172f;
  font-weight: 600;
}

.deliMailSetting .deliSample .deliSampleUrl a:hover {
  opacity: .7;
}

@media screen and (max-width: 599px) {
  .deliMailSetting .deliSample {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .deliMailSetting .deliSample .deliSampleUrl + .deliSampleUrl {
    margin-top: 10px;
  }
}

.deliMailSetting .generalNotes {
  font-size: 1.2rem;
}

.deliMailSetting .confirmBox {
  display: none;
  margin: 30px 0 0;
  background-image: url(/omiseplus/assets/img/icon_notification.svg);
  background-repeat: no-repeat;
  background-size: 22px 22px;
  background-position: 20px center;
  padding: 20px 20px 20px 60px;
  background-color: #fff;
}

@media screen and (min-width: 600px), print {
  .deliMailSetting .confirmBox {
    padding: 20px 30px 20px 70px;
    background-position: 30px center;
  }
}

.deliMailWrap .deliMailSetting .bl_heading2 {
  display: none;
}

.lityMailSample .sampleImage {
  margin: 70px auto 20px;
  border: solid 1px #ccc;
}

.lityMailSample .sampleImage img {
  width: 100%;
}

@media screen and (min-width: 600px), print {
  .lityMailSample .sampleImage {
    height: 600px;
    overflow-y: scroll;
  }
}

.lityMailSample .modalArea {
  width: 665px;
}

.sampleWrap {
  background: #fff;
  margin: 15px 0;
}

.sampleWrap .sampleHeading {
  background: #f5f5f5;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 10px 15px;
}

.sampleWrap .sampleHeading.-black {
  background: #1a1a1a;
  color: #fff;
}

.sampleWrap .sampleList {
  background: #fff;
}

.sampleWrap .sampleList .item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 10px;
  border-bottom: 1px solid #e1e1e1;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sampleWrap .sampleList .item .itemImg {
  margin-right: 10px;
  width: 100px;
}

.sampleWrap .sampleList .item .itemImg img {
  width: 100%;
}

.sampleWrap .sampleList .item .itemBody {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.sampleWrap .sampleList .item .quantity {
  display: inline-block;
  position: absolute;
  right: 20px;
  bottom: 10px;
}

.sampleWrap .sampleList .item.-disabled::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  opacity: .7;
}

@media screen and (max-width: 599px) {
  .sampleWrap .sampleList .item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 10px 0;
  }
  .sampleWrap .sampleList .item .itemBody {
    padding-bottom: 20px;
  }
  .sampleWrap .sampleList .item .quantity {
    right: 10px;
  }
}

.sampleWrap .notes {
  padding: 10px;
  color: #c8172f;
  font-weight: bold;
}

.sampleWrap .notes > li {
  position: relative;
}

.sampleWrap .notes > li .link:hover {
  text-decoration: none;
}

@media screen and (max-width: 599px) {
  .sampleWrap .notes {
    font-size: 1.2rem;
  }
}

.sampleWrap.-done {
  margin-top: 40px;
}

.sampleWrap.-done .sampleList .item .itemImg {
  width: 80px;
}

/* terms
-----------------------------*/
.termsWrap {
  margin-top: 50px;
}

.termsWrap .termsBox {
  padding: 30px;
  border: #ccc 1px solid;
}

.termsWrap .termsBox .inner {
  max-height: 17em;
  padding-right: 10px;
  overflow-y: scroll;
}

.termsWrap .termsBox .bl_heading1 {
  font-size: 1.8rem;
  margin-top: 0;
}

.termsWrap .checkRule {
  margin: 30px 0 0;
  text-align: center;
}

.termsWrap .checkRule .checkArea {
  display: inline-block;
  padding: 15px 30px 15px 20px;
  background: #fff;
  border: 3px solid #fff;
}

.termsWrap .checkRule .checkError {
  display: none;
  color: #c8172f;
  font-weight: 600;
  text-align: center;
  margin-top: 15px;
}

.termsWrap .checkRule.is_error .checkArea {
  background: #fcf2f4;
  border-color: #c8172f;
}

.termsWrap .checkRule.is_error .checkError {
  display: block;
}

.termsWrap .checkRule.type2 .checkArea {
  padding-bottom:0;
  padding-inline:0;
}
.termsWrap .checkRule.type2 .mainCheckbox + label {
  padding-inline:35px 10px;
  font-size:1.6rem;
  padding-top:.1em;
}

.termsWrap .checkRule.type2 .el_note {
  font-size:1.2rem;
}

.termsWrap .checkRule.is_error.type2 .el_note {
  margin-top:15px;
}
@media screen and (max-width: 599px) {
  .termsWrap .termsBox {
    padding: 20px;
  }
  .termsWrap .termsBox .bl_heading1 {
    font-size: 1.6rem;
  }
  .termsWrap .checkRule {
    margin-top: 20px;
  }
}

.bl_defList .item + .item {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #ccc;
}

.bl_defList .item dt {
  font-weight: 600;
}

@media screen and (max-width: 960px), print {
  .bl_defList .item dt {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 959px) {
  .bl_defList {
    margin-top: 50px;
  }
  .bl_defList .item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .bl_defList .item dt {
    width: 29%;
    margin-right: 30px;
  }
  .bl_defList .item dd {
    width: calc((100% - 29%) - 30px);
  }
}

/*-------------------------------------------
modal
-------------------------------------------*/
/* 共通；セレクトのスタイル
-----------------------------*/
.opfSelectItem {
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  background-color: #F5F5F5;
  position: relative;
}

@media screen and (min-width: 600px), print {
  .opfSelectItem:hover {
    background-color: rgba(245, 245, 245, 0.7);
  }
}

.opfSelectItem:before, .opfSelectItem:after {
  content: '';
  display: block;
  pointer-events: none;
  position: absolute;
}

.opfSelectItem:before {
  border-radius: 6px;
  width: 30px;
  height: 100%;
  background-color: #F5F5F5;
  top: 0;
  right: 0;
}

.opfSelectItem:after {
  margin: auto 0;
  border-bottom: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  right: 10px;
}

.opfSelectItem select {
  border: none;
  width: 100%;
  padding: 12px 30px 12px 20px;
  -moz-text-align-last: center;
  text-align-last: center;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* campaign-tag 商品／カートモーダル
-----------------------------*/
.campaign-tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 5px -5px -5px -5px;
  width: calc(100% + 5px);
}

.campaign-tag span {
  margin: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 6px 8px;
}

@media screen and (min-width: 600px), print {
  .campaign-tag span {
    font-size: 12px;
  }
}

.campaign-tag span:not([class^="campaign-tag"]) {
  color: #c8172f;
  border: 1px solid;
}

.campaign-tag span.campaign-tag-new {
  background-color: #c8172f;
  color: #fff;
}

.campaign-tag span.campaign-tag-skupop {
  background-color: #1A1A1A;
  color: #fff;
}

.campaign-tag span.campaign-tag-soon {
  background-color: #707070;
  color: #fff;
}

.campaign-tag span.campaign-tag-out {
  background-color: #CCCCCC;
}

/* modalArea
-----------------------------*/
.modalArea {
  width: 960px;
  max-width: 100%;
}

@media screen and (max-width: 599px) {
  .modalArea {
    max-height: 100% !important;
    height: 100%;
  }
}

.modalArea .modalAreaWrap {
  padding-top: 30px;
  padding-bottom: 100px;
}

@media screen and (max-width: 599px) {
  .modalArea .modalAreaWrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .modalAreaWrap {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}

.modalArea h3 {
  border-bottom: 0;
  padding-bottom: 0;
  font-size: 24px;
  text-align: center;
}

.modalArea h3.checkTitle1 {
  display: block;
}

.modalArea h3.checkTitle2 {
  display: none;
}

.modalArea .product {
  margin: 20px auto 0;
}

@media screen and (min-width: 600px), print {
  .modalArea .product {
    width: 520px;
    max-width: 100%;
  }
}

.modalArea .custom-scroll-bar {
  padding-right: 10px;
  overflow: scroll;
  overflow-x: auto;
  height: 350px;
}

.modalArea .product-select-text {
  font-weight: bold;
}

.modalArea .product-select-wrap {
  margin-top: 10px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-wrap._pt2 {
    width: 470px;
  }
}

.modalArea .product-select-panel-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 20px;
  border: 1px solid #CCCCCC;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  cursor: pointer;
  position: relative;
}

.modalArea .product-select-panel-item.disabled {
  pointer-events: none !important;
}

.modalArea .product-select-panel-item.disabled:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #666;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .3;
}

.modalArea .product-select-panel-item:before {
  content: "";
  display: block;
  margin: auto;
  border: 3px solid #c8172f;
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
  pointer-events: none;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-panel-item {
    padding: 24px;
  }
  .modalArea .product-select-panel-item:hover {
    background-color: rgba(200, 23, 47, 0.05);
  }
}

.modalArea .product-select-panel-item.select:before {
  opacity: 1;
}

.modalArea .product-select-panel-item .select-img {
  width: 100px;
  height: 100px;
  position: relative;
}

.modalArea .product-select-panel-item .select-img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .modalArea .product-select-panel-item .select-img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.modalArea .product-select-panel-item .txtWrap {
  width: calc(100% - 100px - 10px);
}

.modalArea .product-select-panel-item .select-name {
  font-weight: bold;
  line-height: 1.6;
}

.modalArea .product-select-panel-item .select-description {
  margin-top: 10px;
  line-height: 1.8;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-panel-item .select-description {
    margin-top: 15px;
  }
}

.modalArea .product-select-panel-item .select-uvprotect-capacity {
  margin-top: 10px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-panel-item .select-uvprotect-capacity {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 15px;
  }
}

.modalArea .product-select-panel-item .select-uvprotect-capacity p {
  font-size: 12px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-panel-item .select-uvprotect {
    width: calc(100% - 100px);
  }
}

.modalArea .product-select-panel-item .campaign-tag {
  margin-top: 5px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-panel-item .campaign-tag {
    margin-top: 10px;
  }
}

.modalArea .product-select-panel-item .select-sales-name {
  margin-top: 10px;
  font-size: 12px;
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-panel-item .select-img {
    width: 80px;
    height: 80px;
  }
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-panel-item .txtWrap {
    width: calc(100% - 80px - 10px);
  }
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-panel-item .txtWrap .select-name {
    min-height: 80px;
  }
  .modalArea .product-select-panel-item .txtWrap .select-name ~ * {
    margin-left: -90px;
    width: calc(100% + 80px + 10px);
  }
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item:focus {
  outline: none !important;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item.disabled {
  pointer-events: none !important;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item.disabled:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #666;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .3;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .select-img {
  width: 100px;
  height: auto;
  position: relative;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .select-img img {
  width: 100%;
  height: auto;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .txtWrap {
  width: calc(100% - 100px - 10px);
  max-width: 100% !important;
  margin: 0;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .txtWrap .select-name {
  font-weight: bold;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .txtWrap .select-date {
  color: #c8172f;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .txtWrap .select-uvprotect {
  font-size: 12px;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item .txtWrap .campaign-tag {
  margin-top: 0;
}

.modalArea .product-select-color-main-panel .product-select-color-main-panel-item:not(.slick-current) {
  opacity: 0;
}

.modalArea .product-select-color-thumbnail-panel {
  margin-top: 32px;
  margin-bottom: 40px;
  margin-top: 32px;
  margin-bottom: 40px;
}

.modalArea .product-select-color-thumbnail-panel .slick-dots {
  bottom: -25px;
}

.modalArea .product-select-color-thumbnail-panel .slick-dots li.slick-active button {
  background-color: #c8172f;
}

.modalArea .product-select-color-thumbnail-panel .slick-dots li.slick-active button:focus {
  outline: none;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item {
  border: 1px solid #ccc;
  margin-right: 10px;
  padding: 19px;
  width: calc(100vw / 3 - 20px);
  min-height: 170px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
  -webkit-transition: background .3s;
  transition: background .3s;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item:focus {
  outline: none !important;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item.disabled {
  pointer-events: none !important;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item.disabled:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #666;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .3;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item {
    width: 110px;
  }
  .modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item:hover {
    background-color: rgba(200, 23, 47, 0.05);
  }
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item:before {
  content: "";
  display: block;
  margin: auto;
  border: 2px solid #c8172f;
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
  pointer-events: none;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item.thumbnail-current:before {
  opacity: 1;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .select-img {
  position: relative;
  max-width: 100%;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .select-img {
    width: 70px;
    height: auto;
  }
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .select-img img {
  width: 100%;
  height: auto;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .select-name {
  margin-top: 10px;
  font-weight: bold;
  text-align: center;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .campaign-tag {
  margin: 5px 0 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .campaign-tag span {
  margin: 2px;
  font-size: 10px;
  padding: 2px 5px;
  height: 19px;
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item {
    width: calc(100vw / 3 - 20px - 4px);
  }
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-color-thumbnail-panel .product-select-color-thumbnail-panel-item .select-img {
    height: calc(100vw / 3 - 20px - 40px - 4px);
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-only-item {
    padding-left: 220px;
    min-height: 200px;
    position: relative;
  }
}

.modalArea .product-select-only-item .img {
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-only-item .img {
    padding: 0 30px;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-only-item .img {
    width: 200px;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
  }
}

.modalArea .product-select-only-item .img img {
  margin: auto;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-only-item .img img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  @supports ((-o-object-fit: cover) or (object-fit: cover)) {
    .modalArea .product-select-only-item .img img {
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
    }
  }
}

.modalArea .product-select-only-item .product-name {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 599px) {
  .modalArea .product-select-only-item .product-name {
    margin-top: 20px;
  }
}

.modalArea .product-select-only-item .campaign-tag {
  margin-top: 10px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-only-item .campaign-tag {
    margin-top: 20px;
  }
}

.modalArea .product-select-only-item .product-price {
  margin-top: 20px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-select-only-item .product-price {
    margin-top: 30px;
  }
}

.modalArea .product-price {
  margin-top: 20px;
  padding-right: 20px;
  text-align: right;
}

.modalArea .product-price p {
  display: inline-block;
}

.modalArea .product-price p:not(.product-price-label) {
  font-weight: bold;
  font-size: 20px;
}

.modalArea .product-price p span {
  font-size: 14px;
  font-weight: normal;
}

.modalArea .button-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px;
  padding-right: 10px;
}

@media screen and (min-width: 600px), print {
  .modalArea .button-wrap {
    margin-left: auto;
    margin-right: auto;
    width: 520px;
    max-width: 100%;
  }
}

.modalArea .button-wrap .opfSelectItem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 10px;
  padding-right: 20px;
  width: 80px;
  font-weight: bold;
  position: relative;
}

@media screen and (max-width: 599px) {
  .modalArea .button-wrap .opfSelectItem:before {
    width: 20px;
  }
  .modalArea .button-wrap .opfSelectItem:after {
    right: 5px;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .button-wrap .opfSelectItem {
    padding-left: 10px;
    padding-right: 30px;
    width: 100px;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .button-wrap .opfSelectItem div {
    font-size: 16px;
  }
}

.modalArea .button-wrap .opfSelectItem select {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.modalArea .button-wrap .parts_btn {
  margin: 0;
  padding-left: 10px;
  padding-right: 20px;
  min-width: 0;
  width: 300px;
  max-width: calc(100% - 80px - 10px);
}

.modalArea .product-allergies {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 15px;
}

@media screen and (min-width: 600px), print {
  .modalArea .product-allergies {
    margin-left: auto;
    margin-right: auto;
    width: 520px;
    max-width: 100%;
  }
}

.modalArea .product-allergies > ul {
  display: inline-block;
}

.modalArea .product-allergies .allergies-item {
  text-indent: -12px;
  padding-left: 12px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  color: #c8172f;
}

.modalArea .product-allergies .allergies-item:before {
  content: "※";
}

.modalArea .product-allergies + .product-purchase {
  margin-top: 5px;
}

.modalArea .added .result {
  margin-top: 20px;
  border: 1px solid #707070;
}

@media screen and (min-width: 600px), print {
  .modalArea .added .result {
    margin-left: auto;
    margin-right: auto;
    width: 520px;
    max-width: 100%;
  }
}

.modalArea .added .result-wrap {
  padding: 20px;
}

@media screen and (min-width: 600px), print {
  .modalArea .added .result-wrap > * {
    padding: 10px;
  }
}

.modalArea .added .result-content-01 {
  padding-bottom: 20px;
}

@media screen and (min-width: 600px), print {
  .modalArea .added .result-content-01 {
    padding-bottom: 30px;
  }
}

.modalArea .added .result-content-01 .product-brand {
  margin-bottom: 10px;
}

.modalArea .added .result-content-01 > div:not(.product-brand) p {
  font-size: 16px;
  font-weight: bold;
}

.modalArea .added .result-content-02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top: 1px solid #707070;
  padding-top: 20px;
  padding-bottom: 0;
}

.modalArea .added .product-price {
  margin-top: 0;
  padding-right: 0;
}

.modalArea .added .product-price p {
  font-size: 16px;
  font-weight: bold;
}

.modalArea .added .product-price p span {
  font-size: 14px;
  font-weight: normal;
}

.modalArea .added .parts_btn {
  margin-top: 20px;
  min-width: 0;
  width: 300px;
  max-width: 100%;
}

.modalArea .troubleCheck {
  margin: 0 auto;
  width: 710px;
  max-width: 100%;
}

.modalArea .troubleCheck .description {
  margin-top: 20px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 30px;
  text-align: center;
  line-height: 1.8;
}

@media screen and (max-width: 599px) {
  .modalArea .troubleCheck .description {
    text-align: left;
  }
}

.modalArea .troubleCheck .error {
  text-align: center;
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #c8172f;
}

.modalArea .troubleCheck table {
  margin-top: 30px;
}

@media screen and (max-width: 599px) {
  .modalArea .troubleCheck table thead, .modalArea .troubleCheck table tbody, .modalArea .troubleCheck table tr, .modalArea .troubleCheck table th, .modalArea .troubleCheck table td {
    display: block;
  }
  .modalArea .troubleCheck table tr + tr {
    margin-top: 20px;
  }
}

.modalArea .troubleCheck table th, .modalArea .troubleCheck table td {
  padding-bottom: 10px;
  line-height: 1.8;
}

.modalArea .troubleCheck table th {
  width: 60px;
  font-weight: bold;
  font-size: 16px;
}

.modalArea .troubleCheck table td:nth-last-child(2) {
  padding-right: 20px;
}

.modalArea .troubleCheck table td:last-child {
  width: 170px;
  font-size: 16px;
  font-weight: bold;
}

.modalArea .troubleCheck table td + th {
  width: 80px;
}

.modalArea .question .btn_important {
  margin-top: 20px;
  width: 300px;
  min-width: 0;
}

.modalArea .answer .msg {
  margin-top: 20px;
  line-height: 1.8;
  text-align: center;
  color: #c8172f;
}

.modalArea .answer .note {
  margin: 20px auto 0;
  border: 1px solid #CCCCCC;
  padding: 20px;
  width: 726px;
  max-width: 100%;
  line-height: 1.8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.modalArea .answer .check-again {
  display: inline-block;
  margin-top: 20px;
  text-decoration: underline;
  color: #707070;
}

@media screen and (max-width: 599px) {
  .modalArea .answer .check-again {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .answer .check-again:hover {
    text-decoration: none;
  }
}

.modalArea .answer .answer-ok {
  margin-bottom: 60px;
}

.modalArea .answer .txt {
  margin-top: 20px;
  line-height: 1.8;
  text-align: center;
}

@media screen and (min-width: 600px), print {
  .modalArea .answer .txt br.sp {
    display: none;
  }
}

.modalArea .answer .txt + .btnWrap {
  margin-top: 25px;
}

.modalArea .answer .txt + .check-again {
  margin-top: 40px;
}

@media screen and (min-width: 600px), print {
  .modalArea .answer .txt + .check-again {
    margin-bottom: -40px;
  }
}

.modalArea .answer .btnWrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.modalArea .answer .btnWrap .parts_btn {
  min-width: 0;
}

@media screen and (max-width: 599px) {
  .modalArea .answer .btnWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .modalArea .answer .btnWrap .parts_btn {
    min-width: 80%;
  }
  .modalArea .answer .btnWrap .parts_btn + .parts_btn {
    margin-top: 15px;
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .answer .btnWrap {
    margin: 0 auto;
    max-width: 100%;
    width: 85%;
  }
  .modalArea .answer .btnWrap .parts_btn {
    width: calc((100% - 20px) / 2);
  }
  .modalArea .answer .btnWrap .parts_btn:nth-of-type(n+3) {
    margin-top: 15px;
  }
}

.modalArea .answer .btnWrap + .txt {
  margin-top: 36px;
}

.modalArea .modalClose {
  margin-top: 20px;
}

.modalArea .modalClose a {
  min-width: 0;
  width: 110px;
  padding: 10px 0 10px 20px;
}

.modalArea .modalClose a:before, .modalArea .modalClose a:after {
  content: "";
  display: block;
  margin: auto 0;
  background-color: #707070;
  width: 12px;
  height: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
}

.modalArea .modalClose a:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modalArea .modalClose a:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modalArea .color-select-thumb {
  margin-top: 10px;
  border: 1px solid #CCCCCC;
  padding: 29px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (min-width: 600px), print {
  .modalArea .color-select-thumb {
    margin: 10px auto 0;
    width: 530px;
  }
}

.modalArea .color-select-thumb .thumb-item {
  border: 1px solid #ccc;
  margin-right: 10px;
  padding: 19px;
  width: calc(100vw / 3 - 20px);
  min-height: 170px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
  -webkit-transition: background .3s;
  transition: background .3s;
  margin: 10px 0 0 10px;
}

.modalArea .color-select-thumb .thumb-item:focus {
  outline: none !important;
}

.modalArea .color-select-thumb .thumb-item.disabled {
  pointer-events: none !important;
}

.modalArea .color-select-thumb .thumb-item.disabled:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #666;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .3;
}

@media screen and (min-width: 600px), print {
  .modalArea .color-select-thumb .thumb-item {
    width: 110px;
  }
  .modalArea .color-select-thumb .thumb-item:hover {
    background-color: rgba(200, 23, 47, 0.05);
  }
}

.modalArea .color-select-thumb .thumb-item:before {
  content: "";
  display: block;
  margin: auto;
  border: 2px solid #c8172f;
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
  pointer-events: none;
}

.modalArea .color-select-thumb .thumb-item.thumbnail-current:before {
  opacity: 1;
}

.modalArea .color-select-thumb .thumb-item .select-img {
  position: relative;
  max-width: 100%;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 600px), print {
  .modalArea .color-select-thumb .thumb-item .select-img {
    width: 70px;
    height: auto;
  }
}

.modalArea .color-select-thumb .thumb-item .select-img img {
  width: 100%;
  height: auto;
}

.modalArea .color-select-thumb .thumb-item .select-name {
  margin-top: 10px;
  font-weight: bold;
  text-align: center;
}

.modalArea .color-select-thumb .thumb-item .campaign-tag {
  margin: 5px 0 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.modalArea .color-select-thumb .thumb-item .campaign-tag span {
  margin: 2px;
  font-size: 10px;
  padding: 2px 5px;
  height: 19px;
}

@media screen and (max-width: 599px) {
  .modalArea .color-select-thumb .thumb-item {
    width: calc(100% / 2 - 5px);
    margin: 10px 0 0 10px;
  }
  .modalArea .color-select-thumb .thumb-item:nth-child(2n+1) {
    margin-left: 0;
  }
  .modalArea .color-select-thumb .thumb-item:nth-child(-n+2) {
    margin-top: 0;
  }
  .modalArea .color-select-thumb .thumb-item .select-img {
    height: calc(100vw / 2 - 95px);
  }
}

@media screen and (min-width: 600px), print {
  .modalArea .color-select-thumb .thumb-item:nth-child(4n+1) {
    margin-left: 0;
  }
  .modalArea .color-select-thumb .thumb-item:nth-child(-n+4) {
    margin-top: 0;
  }
}

/*-------------------------------------------
helper
-------------------------------------------*/
.hp_c_red {
  color: #c8172f !important;
}

.hp_fw_normal {
  font-weight: 300 !important;
}

.hp_fw_bold {
  font-weight: 600 !important;
}

.hp_ff_roboto {
  font-family: 'Roboto', sans-serif;
}

.hp_nowrap {
  white-space: nowrap;
}

.hp_error {
  color: #c8172f;
  font-size: 1.6rem;
  padding: 30px 0 50px;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .hp_error {
    text-align: left;
  }
}

.hp_underline {
  text-decoration: underline !important;
}

.hp_underline:hover {
  text-decoration: none !important;
}

.hp_alignC {
  text-align: center !important;
}

.hp_alignL {
  text-align: left !important;
}

.hp_alignR {
  text-align: right !important;
}

.hp_vertT {
  vertical-align: top !important;
}

.hp_vertM {
  vertical-align: middle !important;
}

.hp_vertB {
  vertical-align: bottom !important;
}

table.hp_vertM td, table.hp_vertM th {
  vertical-align: middle;
}

@media screen and (max-width: 599px) {
  .hp_alignL_sp {
    text-align: left !important;
  }
}

.hp_dis_n {
  display: none !important;
}

.hp_dis_b {
  display: block !important;
}

.hp_dis_ib {
  display: inline-block !important;
}

.hp_dis_f {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

@media screen and (min-width: 600px), print {
  .hp_show_sp {
    display: none !important;
  }
}

@media screen and (max-width: 599px) {
  .hp_show_pc {
    display: none !important;
  }
}

.hp_m0 {
  margin: 0 !important;
}

.hp_mt0 {
  margin-top: 0 !important;
}

.hp_mt10 {
  margin-top: 10px !important;
}

.hp_mt20 {
  margin-top: 20px !important;
}

.hp_mt30 {
  margin-top: 30px !important;
}

.hp_mt40 {
  margin-top: 40px !important;
}

.hp_mt50 {
  margin-top: 50px !important;
}

.hp_w5 {
  width: 5% !important;
}

.hp_w10 {
  width: 10% !important;
}

.hp_w15 {
  width: 15% !important;
}

.hp_w20 {
  width: 20% !important;
}

.hp_w25 {
  width: 25% !important;
}

.hp_w30 {
  width: 30% !important;
}

.hp_w35 {
  width: 35% !important;
}

.hp_w40 {
  width: 40% !important;
}

.hp_w45 {
  width: 45% !important;
}

.hp_w50 {
  width: 50% !important;
}

.hp_w55 {
  width: 55% !important;
}

.hp_w60 {
  width: 60% !important;
}

.hp_w65 {
  width: 65% !important;
}

.hp_w70 {
  width: 70% !important;
}

.hp_w75 {
  width: 75% !important;
}

.hp_w80 {
  width: 80% !important;
}

.hp_w85 {
  width: 85% !important;
}

.hp_w90 {
  width: 90% !important;
}

.hp_w95 {
  width: 95% !important;
}

.hp_w100 {
  width: 100% !important;
}

@media screen and (max-width: 599px) {
  .hp_w100_sp {
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  .js_panel[aria-hidden="true"] {
    display: none;
    -webkit-animation: fadeout 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
    animation: fadeout 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
  }
  .js_panel[aria-hidden="false"] {
    -webkit-animation: fadein 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
    animation: fadein 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
  }
}

@media screen and (min-width: 600px), print {
  .js_withPC[aria-hidden="true"] {
    display: none;
    -webkit-animation: fadeout 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
    animation: fadeout 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
  }
  .js_withPC[aria-hidden="false"] {
    -webkit-animation: fadein 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
    animation: fadein 0.5s cubic-bezier(0.17, 0.935, 0.305, 1) both;
  }
}

@-webkit-keyframes fadein {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes fadeout {
  0% {
    display: block;
    opacity: 1;
  }
  99% {
    display: block;
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fadeout {
  0% {
    display: block;
    opacity: 1;
  }
  99% {
    display: block;
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

/*-------------------------------------------
rwd_adjustment 既存パーツカスタム
-------------------------------------------*/
/* 見出し
---------------------------*/
.defaultHead {
  background-color: #1a1a1a;
  font-weight: 600;
  padding: 12px 15px;
}

.defaultHead.-mt {
  margin-top: 50px !important;
}

.defaultHead.-color {
  background-color: #c8172f;
}

/* テキスト
---------------------------*/
.text-primary {
  color: #c8172f !important;
}

.text-large {
  font-size: 1.6rem !important;
}

.text-small {
  font-size: 1.2rem !important;
}

/* lity [modal]
---------------------------*/
.lity-container .lity-close {
  color: #707070;
  right: 10px;
}

.lity-container .lity-close:hover {
  text-shadow: none;
  opacity: .75;
}

@media screen and (max-width: 599px) {
  .lity-container .lity-close {
    font-size: 5rem;
  }
}

/* 合計金額
---------------------------*/
.totalAmountwrap {
  background-color: #f5f5f5;
}

@media screen and (min-width: 600px), print {
  .totalAmountwrap {
    width: 42%;
    margin-left: 58%;
  }
}

.totalAmount {
  padding: 20px 0 10px;
}

.totalAmountRow {
  border: none;
  padding: 0.5em 0 0;
}

.totalAmountRow th {
  text-align: right;
}

.totalAmountRow.lastRow {
  margin-top: 0.5em;
  border-top: 1px solid #ccc;
  padding: 0.7em 0;
}

/* ボタン
---------------------------*/
.parts_btn {
  position: relative;
  color: #333 !important;
  border: 1px solid #707070;
  padding: 12px 40px 12px 30px;
  text-decoration: none;
  -webkit-transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.17, 0.935, 0.305, 1);
}

.parts_btn:hover {
  opacity: .7;
}

.parts_btn.btn_icon_arrow {
  position: relative;
  background-image: none;
}

.parts_btn.btn_icon_arrow::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
}

.parts_btn.btn_important {
  color: #fff !important;
  background-color: #c8172f;
  border-color: #c8172f;
}

.parts_btn.btn_important::after {
  border-color: #fff;
}

.parts_btn.btn_primary {
  color: #c8172f !important;
  background-color: #fff;
  border-color: #c8172f;
}

.parts_btn.btn_primary::after {
  border-color: #c8172f;
}

.parts_btn.btn_icon_back {
  min-width: 140px;
  padding: 12px 30px 12px 40px;
}

.parts_btn.btn_icon_back::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  left: 20px;
  margin: auto 0;
}

.parts_btn.btn_fluct {
  font-size: 1.4rem;
}

.parts_btn.btn_fluct.btn_icon_back {
  min-width: 130px;
}

.parts_btn.btn_delete {
  border-color: #bfbfbf;
  color: #707070 !important;
  padding: 6px 18px;
  white-space: nowrap;
  font-size: 1.3rem;
}

.parts_btn.btn_delete::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e90c";
  font-size: 1rem;
  color: #707070;
  margin-right: 8px;
}

.parts_btn.btn_disable {
  background-color: #333;
  border-color: #333;
  color: #fff !important;
  pointer-events: none;
}

.parts_btn.btn_disable:after {
  content: none;
}

.parts_btn.btn_icon_blank {
  background-image: none;
}

.parts_btn.btn_icon_blank::after {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e903";
  font-size: 1.2rem;
  color: #c8172f;
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 599px) {
  .parts_btn.btn_icon_blank::after {
    right: 10%;
  }
}

.parts_btn.btn_icon_mail {
  background-image: none;
}

.parts_btn.btn_icon_mail::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e910";
  font-size: 1.3rem;
  color: #fff;
  margin-right: 8px;
}

.parts_btn.btn_close {
  min-width: 140px;
}

.parts_btn.btn_close::before {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e90c";
  font-size: 1rem;
  color: #707070;
  margin-right: 15px;
}

.parts_btn.btn_anchor {
  position: relative;
  background-image: none;
}

.parts_btn.btn_anchor::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  bottom: 20%;
  margin: 0 auto;
  right: 8%;
}

.parts_btn.btn_anchor2 {
  position: relative;
  background-image: none;
  border: 1px solid #D9D9D9;
  border-radius: 6px;
  background-color: #f5f5f5;
}

.parts_btn.btn_anchor2::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  bottom: 20%;
  margin: 0 auto;
  right: 8%;
}

.parts_btn.btn_anchor2 + .btn_notes {
  display: block;
  text-align: center;
}

@media screen and (min-width: 600px), print {
  .parts_btn.btn_anchor2 + .btn_notes {
    margin: 5px 0 30px;
  }
}

@media screen and (max-width: 599px) {
  .parts_btn.btn_anchor2 + .btn_notes {
    margin: 5px 0 20px;
  }
}

.parts_btn.btn_clear {
  background-color: #333;
  border-color: #333;
  color: #fff !important;
  padding: 12px 30px;
}

.parts_btn.btn_clear:after {
  content: none;
}

@media screen and (max-width: 375px) {
  .parts_btn {
    min-width: 0;
  }
}

/* ボタンエリア */
.buttonArea {
  position: relative;
}

.buttonArea .parts_btn {
  margin: 0 auto;
}

.buttonArea .parts_btn.left {
  margin: 0;
}

.buttonArea .back {
  margin-top: 30px;
}

.buttonArea.-column .parts_btn + .parts_btn {
  margin-top: 30px;
}

.buttonArea.-vertical {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.buttonArea.-vertical .parts_btn {
  margin: 0;
}

.buttonArea.-vertical .parts_btn.parts_btn {
  margin-left: 30px;
}

.buttonArea.-wide {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.buttonArea.-wide .parts_btn {
  width: 100%;
  max-width: 100%;
}

.buttonArea.-wide .parts_btn + .parts_btn {
  margin-top: 30px;
}

.buttonArea.-wide .parts_btn::after {
  right: 3%;
}

@media screen and (max-width: 599px) {
  .buttonArea.-wide {
    margin-left: 0;
    margin-right: 0;
  }
  .buttonArea.-wide .parts_btn + .parts_btn {
    margin-top: 20px;
  }
  .buttonArea.-wide .parts_btn::after {
    right: 5%;
  }
}

@media screen and (max-width: 599px) {
  .buttonArea {
    margin: 50px 6% 0;
  }
  .buttonArea .top {
    width: 170px;
  }
  .buttonArea.-shop .parts_btn, .buttonArea.-vertical .parts_btn {
    width: 90%;
  }
  .buttonArea.-shop .parts_btn + .parts_btn, .buttonArea.-vertical .parts_btn + .parts_btn {
    margin-top: 30px;
  }
  .buttonArea.-vertical .parts_btn {
    margin: auto !important;
  }
  .buttonArea.-vertical .parts_btn + .parts_btn {
    margin-top: 30px !important;
  }
  .buttonArea.-vertical .btn_anchor + .btn_anchor {
    margin-top: 20px !important;
  }
}

@media screen and (min-width: 600px), print {
  .buttonArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 50px 0 0;
  }
  .buttonArea .next {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .buttonArea .back {
    float: left;
    margin: 0;
  }
  .buttonArea.-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .buttonArea.-shop {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .buttonArea.-shop .parts_btn {
    margin: 0;
  }
  .buttonArea.-shop .parts_btn + .parts_btn {
    margin-left: 20px;
  }
}

/* テキストリンク */
a.link {
  color: #c8172f;
}

a.link.blank {
  background: none;
  padding-right: 0;
}

a.link.blank::after {
  font-family: 'svgicon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e903';
  font-size: 1.2rem;
  padding-left: 5px;
  text-decoration: none;
}

a.link.arrow {
  position: relative;
}

a.link.arrow::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
  right: -15px;
}

a.link.arrowLeft {
  position: relative;
  padding-left: 1.3em;
  text-decoration: none;
  color: #333;
}

a.link.arrowLeft:hover {
  text-decoration: underline;
}

a.link.arrowLeft::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: #c8172f 1px solid;
  border-right: #c8172f 1px solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 20px;
  margin: auto 0;
  left: 0;
}

/* ラジオボタン
---------------------------*/
.mainRadioButton:checked + label::after,
.mainRadioButton--forTable td input[type='radio']:checked + label::after {
  background-color: #c8172f;
}
