@charset "UTF-8";
/*

office-kagu.com Original CSS v2.3.2

index
- reset
- bxslider overwrite
- bootstrap overwrite
- html
- typo
- image
- legacy
- layout
- global header
- global footer
- sidebar
- page
- list
- product
- option page
- top
- style wrap
- posts
- articles
- parts
- form
- colormeshop
- quickcartin

*/
/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%; }

*,
*::before,
*::after {
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, main, nav, section, summary {
  display: block; }

html {
  line-height: 1.15;
  font-synthesis: none;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 600; }

em, b, strong {
  font-weight: 600;
  font-style: normal; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

iframe {
  vertical-align: bottom; }

small {
  font-size: 85%;
  font-weight: inherit; }

ruby {
  line-height: 2.5;
  margin-bottom: 0.5em; }

rt {
  font-size: 60%; }

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.6;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

textarea {
  overflow: auto; }

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

a:hover,
a:active {
  color: inherit; }

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none; }

/* bxslider overwrite */
.bx-wrapper {
  margin: 0 auto 40px; }

.bx-wrapper .bx-viewport {
  box-shadow: none;
  border: 0;
  left: auto;
  background: transparent;
  white-space: normal; }

.bx-wrapper .bx-loading {
  display: none; }

.bx-wrapper .bx-pager {
  font-family: inherit; }

.bx-wrapper .bx-prev,
.bx-wrapper .bx-next,
.bx-wrapper .bx-caption {
  background: none; }

.bx-wrapper .bx-caption span {
  font-family: inherit; }

/* bootstrap overwrite */
/* form */
.form-control {
  border: 1px solid #a7a7a7; }
  .form-control::-webkit-input-placeholder {
    color: #aaa; }
  .form-control::-moz-placeholder {
    color: #aaa; }
  .form-control:-ms-input-placeholder {
    color: #aaa; }
  .form-control::-ms-input-placeholder {
    color: #aaa; }
  .form-control::placeholder {
    color: #aaa; }

select.form-control {
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-color: #fff;
  appearance: none;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .03);
  padding-right: 30px;
}

/* col 5 */
.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

/* スマホ（767px以下） */
.col-xs-1-5 {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%; }

.col-xs-2-5 {
  -ms-flex: 0 0 40%;
  flex: 0 0 40%;
  max-width: 40%; }

.col-xs-3-5 {
  -ms-flex: 0 0 60%;
  flex: 0 0 60%;
  max-width: 60%; }

.col-xs-4-5 {
  -ms-flex: 0 0 80%;
  flex: 0 0 80%;
  max-width: 80%; }

/* タブレット（768px~991px） */
@media (min-width: 768px) {
  .col-sm-1-5 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; }
  .col-sm-2-5 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%; }
  .col-sm-3-5 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%; }
  .col-sm-4-5 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%; } }

/* PC（992px~1119px） */
@media (min-width: 992px) {
  .col-md-1-5 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; }
  .col-md-2-5 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%; }
  .col-md-3-5 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%; }
  .col-md-4-5 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%; } }

/* PC大画面（1200px以上）*/
@media (min-width: 1200px) {
  .col-lg-1-5 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; }
  .col-lg-2-5 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%; }
  .col-lg-3-5 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%; }
  .col-lg-4-5 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%; } }

.col-xs-1-10, .col-sm-1-10, .col-md-1-10, .col-lg-1-10,
.col-xs-2-10, .col-sm-2-10, .col-md-2-10, .col-lg-2-10 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

/* スマホ（767px以下） */
.col-xs-1-10 {
  -ms-flex: 0 0 10%;
  flex: 0 0 10%;
  max-width: 10%; }

.col-xs-2-10 {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%; }

/* タブレット（768px~991px） */
@media (min-width: 768px) {
  .col-sm-1-10 {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%; }
  .col-sm-2-10 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }

/* PC（992px~1119px） */
@media (min-width: 992px) {
  .col-md-1-10 {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%; }
  .col-md-2-10 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }

/* PC大画面（1200px以上）*/
@media (min-width: 1200px) {
  .col-lg-1-10 {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%; }
  .col-lg-2-10 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }

/* html */
html {
  font-size: 16px;
  line-height: 1.6;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility; }

body {
  color: #2C2B29;
  background-color: #fafafb;
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; }

a,
a:hover {
  color: #2C2B29;
  text-decoration: none; }

::-webkit-input-placeholder {
  color: #aaa; }

::-moz-placeholder {
  color: #aaa; }

:-ms-input-placeholder {
  color: #aaa; }

/* typo */
.clearboth {
  clear: both; }

.clear:after {
  content: '';
  display: block;
  clear: both; }

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

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

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

.typo-ja, .ja {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; }

.typo-en, .en {
  font-family: 'Work Sans', sans-serif; }

.typo-en-h, .en-h {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; }

.typo-sm {
  font-size: 90%; }

.typo-lg {
  font-size: 115%; }

.typo-ll {
  font-size: 130%; }

.typo-kerning {
  margin-right: -.1em;
  margin-left: -.1em; }

.typo-kerning-left {
  margin-left: -.1em; }

.typo-kerning-right {
  margin-right: -.1em; }

.typo-copy {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: .02em; }

.typo-nowrap {
  white-space: normal; }

.typo-white {
  color: #fff; }

.typo-red {
  color: #E8631E; }

.typo-pink {
  color: #EA5B7C; }

.typo-orange {
  color: #EA7C0D; }

.typo-yellow {
  color: #F0C200; }

.typo-green {
  color: #85A838; }

.typo-blue {
  color: #3E88AA; }

.typo-purple {
  color: #7F61AA; }

.typo-gray {
  color: #868480; }

.typo-black {
  color: #2C2B29; }

.typo-main {
  color: #0A0032; }

.bg-red {
  background-color: #de5027 !important; }
  .bg-red.btn-link:hover {
    background-color: #e1623d !important; }

.bg-pink {
  background-color: #e06d86 !important; }
  .bg-pink.btn-link:hover {
    background-color: #e48297 !important; }

.bg-orange {
  background-color: #de9246 !important; }
  .bg-orange.btn-link:hover {
    background-color: #e29f5c !important; }

.bg-yellow {
  background-color: #D6B21E !important; }
  .bg-yellow.btn-link:hover {
    background-color: #e1be2c !important; }

.bg-green {
  background-color: #7E9A3D !important; }
  .bg-green.btn-link:hover {
    background-color: #8dac44 !important; }

.bg-blue {
  background-color: #487D95 !important; }
  .bg-blue.btn-link:hover {
    background-color: #508ba6 !important; }

.bg-purple {
  background-color: #7C6D8F !important; }
  .bg-purple.btn-link:hover {
    background-color: #897b9a !important; }

.bg-gray {
  background-color: #868480 !important; }
  .bg-gray.btn-link:hover {
    background-color: #92918d !important; }

.bg-black {
  background-color: #2C2B29 !important; }
  .bg-black.btn-link:hover {
    background-color: #393835 !important; }

.bg-main {
  background-color: #0A0032 !important; }
  .bg-main.btn-link:hover {
    background-color: #0f004c !important; }

@media (max-width: 575px) {
  .typo-copy {
    font-size: 16px; } }

/* image */
.img-right,
.align-right {
  float: right;
  margin: .1em 0 20px 2em;
  max-width: 45% !important; }

.img-left,
.align-left {
  float: left;
  margin: .1em 2em 20px 0;
  max-width: 45% !important; }

.img-right img,
.img-left img,
.align-right img,
.align-left img {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

.icon-inline {
  margin: 0 4px 2px;
  vertical-align: middle;
  width: 18px;
  height: 18px; }

@media (max-width: 575px) {
  .img-right,
  .align-right,
  .img-left,
  .align-left {
    float: none;
    display: block;
    margin: 1em auto 2em;
    max-width: 100% !important; }
  .img-right-float,
  .align-right-float {
    float: right;
    display: inline;
    margin: .02em 0 1em 1em;
    max-width: 45% !important; }
  .img-left-float,
  .align-left-float {
    float: left;
    display: inline;
    margin: .02em 1em 1em 0;
    max-width: 45% !important; } }

/* legacy */
.clearfix:after {
  content: '';
  display: block;
  clear: both; }

.clear {
  clear: both; }

.style-wrap {
  /* unknown */
  /* unknown old */
  /* tab old */
  /* unknown */
  /* old */ }
  .style-wrap .note {
    margin: 0 0 20px;
    border: 1px #ccc solid;
    background-color: #f8f8f8;
    padding: 15px 20px 5px;
    line-height: 1.4; }
    .style-wrap .note h3 {
      font-size: 14px !important;
      margin: 0 0 10px;
      padding: 0 0 5px; }
    .style-wrap .note p {
      font-size: 13px !important;
      margin: 10px 0;
      line-height: 1.6; }
  .style-wrap .right_float_100,
  .style-wrap .right_float_200,
  .style-wrap .right_float_320,
  .style-wrap .left_float_100,
  .style-wrap .left_float_200,
  .style-wrap .left_float_320 {
    margin-top: 4px;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.4; }
  .style-wrap .right_float_100,
  .style-wrap .right_float_200,
  .style-wrap .right_float_320 {
    float: right;
    margin-left: 25px; }
  .style-wrap .left_float_100,
  .style-wrap .left_float_200,
  .style-wrap .left_float_320 {
    float: left;
    margin-right: 25px; }
  .style-wrap .right_float_100 img,
  .style-wrap .right_float_200 img,
  .style-wrap .right_float_320 img,
  .style-wrap .left_float_100 img,
  .style-wrap .left_float_200 img,
  .style-wrap .left_float_320 img {
    width: 100%;
    height: auto;
    margin-bottom: 4px; }
  .style-wrap img.right_float_320,
  .style-wrap img.left_float_320 {
    width: 320px; }
  .style-wrap img.right_float_200,
  .style-wrap img.left_float_200 {
    width: 200px; }
  .style-wrap img.right_float_100,
  .style-wrap img.left_float_100 {
    width: 100px; }
  .style-wrap p.right_float_100,
  .style-wrap p.left_float_100 {
    width: 104px; }
  .style-wrap p.right_float_200,
  .style-wrap p.left_float_200 {
    width: 204px; }
  .style-wrap p.right_float_320,
  .style-wrap p.left_float_320 {
    width: 324px; }
  @media (max-width: 575px) {
    .style-wrap .right_float_200,
    .style-wrap .right_float_320,
    .style-wrap .left_float_200,
    .style-wrap .left_float_320,
    .style-wrap .right_float_200 img,
    .style-wrap .right_float_320 img,
    .style-wrap .left_float_200 img,
    .style-wrap .left_float_320 img {
      float: none !important;
      display: block !important;
      margin: 0 auto 15px !important;
      max-width: 100%;
      height: auto; } }
  .style-wrap ul.imgs {
    margin: 0 0 20px;
    border: none;
    font-size: 0;
    letter-spacing: -.4em; }
  .style-wrap ul.imgs li {
    padding: 0;
    overflow: hidden;
    background: none;
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .01em; }
  .style-wrap ul.imgs em,
  .style-wrap ul.imgs strong {
    display: block;
    margin: 10px 0 5px;
    font-size: 14px;
    font-weight: 600; }
  .style-wrap ul.imgs img {
    margin: 0;
    width: 100%;
    vertical-align: top; }
  .style-wrap ul.center li {
    text-align: center; }
  .style-wrap ul.center img {
    margin: 0 auto 5px; }
  .style-wrap ul.cols2,
  .style-wrap ul.cols3,
  .style-wrap ul.cols4 {
    margin: 10px 0;
    overflow: hidden;
    width: 100%; }
    .style-wrap ul.cols2:after,
    .style-wrap ul.cols3:after,
    .style-wrap ul.cols4:after {
      content: '';
      display: block;
      clear: both; }
  .style-wrap ul.cols2 li {
    width: 48%;
    margin: 0 4% 2% 0; }
  .style-wrap ul.cols3 li {
    float: left;
    width: 31%;
    margin: 0 3.5% 2% 0; }
  .style-wrap ul.cols4 li {
    float: left;
    width: 22%;
    margin: 0 4% 2% 0; }
  .style-wrap ul.cols2 li:nth-child(2n),
  .style-wrap ul.cols3 li:nth-child(3n),
  .style-wrap ul.cols4 li:nth-child(4n) {
    margin: 0 0 2% 0; }
  @media (max-width: 575px) {
    .style-wrap ul.cols2 li,
    .style-wrap ul.cols3 li,
    .style-wrap ul.cols4 li {
      float: none;
      width: 100%;
      margin: 0 0 30px; }
    .style-wrap ul.imgs img {
      width: auto;
      height: auto;
      max-width: 100%;
      display: block;
      margin: 0 auto 10px; }
    .style-wrap ul.imgs strong {
      display: block;
      text-align: center; } }
  .style-wrap .model-list thead th,
  .style-wrap .model-list tfoot th {
    font-weight: bold;
    font-size: 16px; }
  .style-wrap .model-list thead th small,
  .style-wrap .model-list tfoot th small {
    font-size: 12px; }
  .style-wrap .model-list td {
    text-align: center;
    font-size: 13px; }
  .style-wrap .model-list td a {
    display: block;
    margin: 0 0 5px; }
  .style-wrap .model-list thead th b,
  .style-wrap .model-list tfoot th b {
    font-size: 14px; }
  .style-wrap .model-list tbody th b {
    font-size: 20px !important;
    line-height: 1.1; }
  .style-wrap .model-list tbody td a {
    border: 0 !important;
    line-height: 1.6 !important; }
  .style-wrap .model-list tbody td a:hover {
    border-color: transparent !important;
    background-color: transparent; }
  .style-wrap .model-list tbody td img {
    margin: 0 !important;
    position: static !important;
    z-index: 1 !important; }
  .style-wrap .panel_link a,
  .style-wrap a.panel_link,
  .style-wrap .related_item a {
    position: relative;
    width: 100%;
    min-height: 120px;
    display: block;
    margin: 10px 0;
    padding: 10px 20px 10px 140px;
    text-decoration: none;
    border: 1px #ddd solid;
    border-left: 4px #0A0032 solid; }
    .style-wrap .panel_link a:after,
    .style-wrap a.panel_link:after,
    .style-wrap .related_item a:after {
      content: '';
      display: block;
      clear: both; }
    .style-wrap .panel_link a:hover,
    .style-wrap a.panel_link:hover,
    .style-wrap .related_item a:hover {
      border-left-color: #868480;
      color: #2C2B29;
      opacity: .7; }
    .style-wrap .panel_link a:before,
    .style-wrap a.panel_link:before,
    .style-wrap .related_item a:before {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      display: block;
      border: 7px transparent solid;
      border-right-color: #0A0032;
      border-bottom-color: #0A0032; }
    .style-wrap .panel_link a:hover:before,
    .style-wrap a.panel_link:hover:before,
    .style-wrap .related_item a:hover:before {
      border-right-color: #868480;
      border-bottom-color: #868480; }
  .style-wrap .panel_link img,
  .style-wrap .related_item img {
    position: absolute;
    top: 10px;
    left: 20px; }
  .style-wrap .wide_panel img,
  .style-wrap .peripheral img {
    height: 100px;
    width: 100px; }
  .style-wrap a.narrow_panel {
    min-height: 80px;
    padding: 10px 20px 10px 100px; }
  .style-wrap .narrow_panel img {
    height: 60px;
    width: 60px; }
  .style-wrap .narrow_panel p {
    font-size: 12px; }
  .style-wrap .panel_link h3,
  .style-wrap .related_item h3 {
    margin: 5px 0;
    border: 0; }
  .style-wrap .wide_panel h3,
  .style-wrap .peripheral h3 {
    font-size: 14px;
    padding: 0 !important;
    margin: 2px 0 !important; }
  .style-wrap .narrow_panel h3 {
    font-size: 14px;
    padding: 0 !important;
    margin: 2px 0 !important; }
  .style-wrap .panel_link p,
  .style-wrap .related_item p {
    line-height: 1.25em;
    margin: 0 !important;
    padding: 0; }
  .style-wrap .panel_link .price,
  .style-wrap .related_item .price {
    margin: 3px 0;
    text-align: left; }
  .style-wrap .wide_panel .price,
  .style-wrap .peripheral .price {
    font-size: 14.5px; }
  .style-wrap .price .cartjs_box tr,
  .style-wrap .price .cartjs_box th,
  .style-wrap .price .cartjs_box .cartjs_cart_in,
  .style-wrap .price .cartjs_box td br {
    display: none; }
  .style-wrap .price .cartjs_box *,
  .style-wrap .price .cartjs_box,
  .style-wrap .price .cartjs_box tr:first-child {
    display: inline;
    border: none;
    padding: 0;
    margin: 0;
    vertical-align: top;
    line-height: 1.35; }
  .style-wrap ul.item_list {
    font-size: 0;
    letter-spacing: -.4em; }
  .style-wrap ul.item_list li {
    display: inline-block;
    width: 48%;
    margin: 0 4% 20px 0;
    padding: 0; }
  .style-wrap ul.item_list li:nth-child(2n) {
    margin-right: 0; }
  .style-wrap ul.item_list h3 {
    font-size: 13px;
    padding-bottom: 5px;
    margin-bottom: 15px; }
  .style-wrap ul.item_list div,
  .style-wrap ul.item_list a.img {
    display: table-cell;
    vertical-align: middle; }
  .style-wrap ul.item_list div {
    padding: 0 10px; }
  .style-wrap ul.item_list a.img {
    width: 120px;
    text-align: center; }
  .style-wrap ul.item_list a:hover img {
    opacity: 0.7; }
  .style-wrap ul.item_list li p {
    overflow: hidden;
    margin: 5px 0;
    font-size: 12px;
    line-height: 1.6; }
  @media (max-width: 575px) {
    .style-wrap ul.item_list li {
      display: block;
      width: 100%;
      margin: 0 0 20px; } }
  .style-wrap table#sub_content {
    width: 725px;
    float: none;
    margin: 0;
    border: none; }
  .style-wrap table#sub_content td,
  .style-wrap table#sub_content th {
    padding: 0;
    background-color: transparent;
    border: none;
    text-align: left; }
  .style-wrap table#sub_content .fax_desc {
    width: 338px; }
  .style-wrap table#sub_content .contact {
    width: 338px;
    height: 145px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/large_contact.jpg);
    margin: 0 25px 0 0; }
  .style-wrap table#sub_content .contact:hover {
    background-position: 0 -145px; }
  .style-wrap table#sub_content p {
    margin-bottom: 6px; }
  .style-wrap table#sub_content p.fax {
    margin: 0 25px 6px 15px; }
  .style-wrap table#sub_content strong {
    font-size: 24px; }
  .style-wrap table#sub_content span.caption {
    letter-spacing: 0; }
  .style-wrap table#sub_content .caption strong {
    _font-size: 16px; }
  .style-wrap table#sub_content th {
    text-align: left; }
  .style-wrap table#sub_content #calendar {
    margin-top: 0; }
  .style-wrap div.tab_content {
    margin: 10px 0; }
  .style-wrap ul.tab {
    width: 725px;
    height: 36px;
    background: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/tab/ul.png) bottom repeat-x;
    margin: 0; }
  .style-wrap ul.tab a,
  .style-wrap ul.tab b {
    display: block;
    text-align: center; }
  .style-wrap ul.tab a:hover {
    background-color: transparent; }
  .style-wrap #contents ul.upper_tab {
    margin-bottom: 15px; }
  .style-wrap #contents ul.tab li {
    float: left;
    margin: 0;
    padding: 0; }
  .style-wrap ul.tab a, .style-wrap ul.tab a:visited {
    background-position: top center;
    height: 31px;
    padding: 5px 0 0;
    overflow: hidden;
    line-height: 31px;
    color: #467;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer; }
  .style-wrap ul.tab a:hover {
    background-position: top right;
    color: #c33; }
  .style-wrap ul.tab b,
  .style-wrap ul.tab a.selected, .style-wrap ul.tab a:visited.selected {
    /* 非アクティブ */
    background-position: top left;
    line-height: 36px;
    color: #544; }
  .style-wrap ul.tab a.selected {
    cursor: default; }
  .style-wrap ul.lower_tab {
    margin-top: 15px;
    background-position: top; }
  .style-wrap ul.lower_tab b {
    background-position: bottom left; }
  .style-wrap ul.lower_tab a {
    background-position: bottom center;
    padding: 0 0 5px; }
  .style-wrap ul.lower_tab a:hover {
    background-position: bottom right; }
  .style-wrap ul.tab.cols2 a,
  .style-wrap ul.tab.cols2 b,
  .style-wrap div.cols2 ul.tab a,
  .style-wrap div.cols2 ul.tab b {
    width: 361px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/tab/cols2.png); }
  .style-wrap ul.tab.cols3 a,
  .style-wrap ul.tab.cols3 b,
  .style-wrap div.cols3 ul.tab a,
  .style-wrap div.cols3 ul.tab b {
    width: 240px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/tab/cols3.png); }
  .style-wrap ul.tab.cols4 a,
  .style-wrap ul.tab.cols4 b,
  .style-wrap div.cols4 ul.tab a,
  .style-wrap div.cols4 ul.tab b {
    width: 180px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/tab/cols4.png); }
  .style-wrap ul.tab.cols5 a,
  .style-wrap ul.tab.cols5 b,
  .style-wrap div.cols5 ul.tab a,
  .style-wrap div.cols5 ul.tab b {
    width: 144px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/tab/cols5.png); }
  .style-wrap #contents ul.panel {
    clear: both;
    margin: 0; }
  .style-wrap #contents ul.panel li {
    background: none;
    margin: 0;
    padding: 12px; }
  .style-wrap #contents ul.panel li li {
    padding: 0 0 13px 16px; }
  .style-wrap .contact_info,
  .style-wrap .contact_info a {
    text-indent: -9999px;
    overflow: hidden; }
  .style-wrap .contact_info {
    height: 298px;
    margin: 0;
    padding: 0 29px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/contact_info.png); }
  .style-wrap .contact_info a.btn {
    display: block;
    float: left;
    width: 332px;
    height: 40px;
    margin-top: 230px;
    text-indent: -9999px;
    overflow: hidden;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/contact_info.png); }
  .style-wrap .contact_info a.contact {
    background-position: 0 -298px;
    margin-right: 3px; }
  .style-wrap .contact_info a.RFQ {
    background-position: -333px -298px; }
  .style-wrap .contact_info a.contact:hover {
    background-position: 0 -338px; }
  .style-wrap .contact_info a.RFQ:hover {
    background-position: -333px -338px; }
  .style-wrap #contents #fax_form a {
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/common/contents/fax_form.jpg); }
  .style-wrap table.product_info {
    width: 718px;
    margin: 15px 0; }
  .style-wrap table.product_info,
  .style-wrap table.product_info th,
  .style-wrap table.product_info td {
    border: none;
    padding: 0; }
  .style-wrap table.product_info th {
    width: 467px;
    background: #fff;
    text-align: center; }
  .style-wrap table.product_info td {
    width: 251px; }
  .style-wrap table.product_info a {
    display: block;
    text-indent: -9999px;
    height: 39px;
    margin: 0 0 15px;
    background-image: url(http://www.sunbusi.co.jp/office-kagu/img/category/product_info.png); }
  .style-wrap table.product_info a.contact {
    background-position: 0 0; }
  .style-wrap table.product_info a.contact:hover {
    background-position: 0 -39px; }
  .style-wrap table.product_info a.RFQ {
    background-position: 0 -78px; }
  .style-wrap table.product_info a.RFQ:hover {
    background-position: 0 -117px; }
  .style-wrap .cg_freespace_02 {
    margin-top: 25px; }
  .style-wrap #SP_img {
    top: -0; }
  .style-wrap h1.img {
    padding: 0;
    background: none;
    border: none; }
  .style-wrap #SP_img {
    position: relative;
    margin-bottom: 1px;
    top: -10px;
    border-radius: 4px; }
  .style-wrap table.unbordered th,
  .style-wrap table.unbordered td,
  .style-wrap table.unbordered {
    margin: 0;
    padding: 0;
    border: none;
    text-align: left;
    background-color: transparent; }
  .style-wrap table.color_table,
  .style-wrap .color_table td {
    border: none; }
  .style-wrap table.color_table {
    min-width: 0;
    width: auto;
    margin: 0 -20px 0 0; }
  .style-wrap .color_table td {
    text-align: center;
    max-width: 112px;
    vertical-align: top;
    padding: 0 20px 15px 0;
    font-size: 11px; }
  .style-wrap .color_table img {
    width: 100%;
    height: auto;
    margin: 0 0 7px !important; }
  .style-wrap .color_table th {
    background-color: transparent;
    border: none;
    text-align: left;
    font-weight: bold;
    padding: 2px 7px 0; }
  @media (max-width: 575px) {
    .style-wrap table.color_table {
      margin: 0 -10px 0 0; }
    .style-wrap .color_table td {
      padding: 0 10px 10px 0; } }
  .style-wrap .caption {
    font-size: 12px;
    line-height: 1.6; }
    .style-wrap .caption img {
      display: block;
      margin-bottom: 5px; }

/* layout */
.global-container {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 0 5px -3px rgba(0, 0, 0, 0.2);
  background-color: #fff; }

.main-container {
  width: 980px;
  margin: 0 auto; }
  .main-container:after {
    content: '';
    display: block;
    clear: both; }

.main-container--f {
  margin-top: 50px;
  border-top: 5px #0A0032 solid;
  padding-top: 50px; }

.main-container__main {
  width: 725px;
  float: right;
  margin-bottom: 30px; }

.main-container__sidebar {
  width: 200px;
  float: left;
  margin-bottom: 30px; }

@media (max-width: 991px) {
  .main-container {
    width: 86%;
    margin-bottom: 30px; }
  .main-container__main {
    width: 100%;
    margin: 0 auto 30px;
    float: none; }
  .main-container__sidebar {
    display: none; } }

.section-anchor {
  margin-top: -50px;
  padding-top: 50px; }
  .section-anchor:after {
    content: '';
    display: block;
    clear: both; }

@media (max-width: 991px) {
  .section-anchor {
    margin-top: -90px;
    padding-top: 90px; } }

/* global header */
.g-h {
  position: relative;
  border-top: 5px #0A0032 solid;
  z-index: 1000; }
  .g-h ul {
    list-style: none; }
  .g-h a {
    text-decoration: none; }

.g-h__heading {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 980px;
  margin-left: -490px;
  z-index: 1002; }

.g-h__logo {
  width: 370px;
  display: inline-block;
  vertical-align: top; }
  .g-h__logo a:hover .g-h__logo-img {
    opacity: .6;
    transition: .2s; }

.g-h__logo-img {
  width: auto;
  height: 60px; }

.g-h__desc {
  width: 210px;
  height: 60px;
  display: inline-block;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.7;
  border-left: 1px #ddd solid;
  padding-top: 11px;
  padding-left: 25px; }

.g-menu {
  position: relative;
  width: 980px;
  padding: 135px 0  25px;
  margin: 0 auto; }

.g-h__nav-shop {
  position: absolute;
  top: -5px;
  right: 0;
  background-color: #fff;
  font-size: 0;
  letter-spacing: -.4em; }

.h-menu-sns__list {
  display: inline-block;
  font-size: 0;
  letter-spacing: -.4em;
  vertical-align: top;
  padding: 0 10px;
  border-left: 1px #ddd solid; }
  .h-menu-sns__list li {
    display: inline-block;
    height: 32px;
    font-size: 12px;
    line-height: 32px;
    font-weight: 600;
    vertical-align: top; }
  .h-menu-sns__list a {
    display: inline-block;
    padding: 8px 5px; }
  .h-menu-sns__list img {
    vertical-align: middle; }
  .h-menu-sns__list a:hover img {
    opacity: .5;
    transition: .1s; }

.h-menu-shop__list {
  display: inline-block;
  font-size: 0;
  letter-spacing: -.4em;
  vertical-align: top; }
  .h-menu-shop__list li {
    display: inline-block;
    height: 32px;
    font-size: 11px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: .08em;
    border-left: 1px #ddd solid;
    vertical-align: top; }
  .h-menu-shop__list a {
    display: inline-block;
    padding: 2px 20px 0; }
  .h-menu-shop__list a:hover {
    color: #868480;
    transition: .1s; }
  .h-menu-shop__list img {
    vertical-align: middle; }
  .h-menu-shop__list .h-menu-shop__cart {
    float: right;
    font-size: 12px; }
    .h-menu-shop__list .h-menu-shop__cart a {
      background-color: #0A0032;
      padding: 1px 20px;
      color: #fff;
      /* v2.3 add */
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .h-menu-shop__list .h-menu-shop__cart a:hover {
      background-color: #39325a;
      color: #fff;
      transition: .1s; }
    .h-menu-shop__list .h-menu-shop__cart .icon-inline {
      margin: -4px auto auto; }

    /* v2.3 商品数追加 */
    .cart_count {
      background-color: #fff;
      color: #2C2B29;
      margin-left: 1px;
      padding: 2px 5px;
      border-radius: 20px;
      font-size: 10px;
      display: inline-block;
      line-height: 11px;
      vertical-align: middle;
      text-align: center;
      letter-spacing: 0;
      font-family: 'Arial', sans-serif;
      font-weight: 700;
      position: relative;
      top: -1px;
    }
    .cart_count:empty {
      display: none;
    }

.h-menu-product {
  position: relative;
  width: 100%; }
  .h-menu-product:after {
    content: '';
    display: block;
    clear: both; }

.h-menu-product__list {
  width: 700px; }
  .h-menu-product__list > li {
    float: left;
    width: 20%;
    position: relative;
    height: 74px; }
  .h-menu-product__list .menu-parent {
    display: block;
    width: 100%;
    height: 74px;
    border-right: 1px #ddd solid;
    position: relative;
    padding-bottom: 10px; }
    .h-menu-product__list .menu-parent a {
      display: block; }
    .h-menu-product__list .menu-parent .menu-thumb {
      position: relative;
      display: block;
      text-align: center;
      z-index: 2;
      margin-bottom: 3px; }
    .h-menu-product__list .menu-parent .menu-ttl {
      position: relative;
      display: block;
      text-align: center;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .06em;
      z-index: 2; }
  .h-menu-product__list > li:first-child .menu-parent {
    border-left: 1px #ddd solid; }
  .h-menu-product__list .menu-parent:before {
    display: none;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 70px;
    height: 70px;
    margin-top: -35px;
    margin-left: -35px;
    border-radius: 50%;
    background-color: #f2f2f2;
    opacity: 0;
    transform: scale(0); }
  .h-menu-product__list li:hover .menu-parent:before {
    opacity: 1;
    transform: scale(1);
    transition: .2s; }
  .h-menu-product__list li:hover .menu-parent .menu-thumb {
    opacity: .5; }
  .h-menu-product__list .h-menu-product__facility {
    display: none; }
  .h-menu-product__list ul {
    display: none;
    position: absolute;
    top: 74px;
    left: 50%;
    width: 180px;
    margin-left: -90px;
    background-color: #514C5C;
    padding: 3px 3px 0;
    z-index: 5; }
    .h-menu-product__list ul:after {
      content: '';
      position: absolute;
      top: -10px;
      left: 50%;
      margin-left: -5px;
      border: 5px transparent solid;
      border-bottom: 5px #514C5C solid; }
    .h-menu-product__list ul li {
      display: block;
      background-color: #fff;
      width: 100%;
      height: auto;
      margin-bottom: 3px; }
    .h-menu-product__list ul a {
      position: relative;
      display: table;
      width: 100%;
      height: auto;
      padding-bottom: 0; }
    .h-menu-product__list ul a:hover:after {
      position: absolute;
      content: '';
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(134, 132, 128, 0.1);
      transition: .2s;
      z-index: 2; }
    .h-menu-product__list ul .menu-thumb {
      display: table-cell;
      width: 48px;
      padding: 4px; }
      .h-menu-product__list ul .menu-thumb img {
        width: 40px;
        height: 40px; }
    .h-menu-product__list ul .menu-ttl {
      display: table-cell;
      text-align: left;
      vertical-align: middle;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .03em;
      line-height: 1.4;
      padding: 5px 10px; }
  @media (min-width: 992px) {
    .h-menu-product__list li:hover ul {
      display: block;
      opacity: 0;
      animation: myfadein .3s ease 0s;
      -webkit-animation: myfadein .3s ease 0s;
      animation-fill-mode: forwards;
      -webkit-animation-fill-mode: forwards; } }
  @media (max-width: 991px) {
    .h-menu-product__list li:hover ul {
      display: block; } }

@keyframes myfadein {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }

@-webkit-keyframes myfadein {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }

.h-menu-general {
  display: none; }

.h-menu-product__search {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 280px;
  height: 74px;
  padding: 20px 0 0;
  text-align: center;
  vertical-align: top;
  border-right: 1px #ddd solid;
  font-size: 0;
  letter-spacing: -.4em; }

.h-search__input {
  width: 160px;
  height: 32px;
  padding: 5px 8px;
  vertical-align: top;
  border: 2px #0A0032 solid;
  border-right: 0;
  font-size: 12px;
  color: inherit;
  border-radius: 0;
  -webkit-appearance: none; }

.h-search__button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  appearance: none;
  background-color: #0A0032;
  vertical-align: top;
  height: 32px;
  font-size: 13px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: .04em;
  padding: 2px 10px 0;
  color: #fff;
  border: 2px #0A0032 solid; }

.h-search__button:hover {
  background-color: #39325a;
  color: #fff;
  transition: .1s; }

.h-menu-post {
  position: absolute;
  top: 50px;
  right: 0;
  z-index: 1003; }

.h-menu-post__list {
  border-left: 1px #ddd solid;
  font-size: 0;
  letter-spacing: -.4em; }
  .h-menu-post__list li {
    display: inline-block;
    padding: 8px 25px 0 20px;
    height: 60px;
    text-align: left;
    border-right: 1px #ddd solid; }
  .h-menu-post__list a {
    position: relative;
    display: block;
    padding-left: 45px; }
  .h-menu-post__list a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 18px;
    z-index: -1;
    width: 50px;
    height: 50px;
    margin-top: -26px;
    margin-left: -25px;
    border-radius: 50%;
    background-color: #f2f2f2;
    opacity: 0;
    transform: scale(0); }
  .h-menu-post__list a:hover:before {
    opacity: 1;
    transform: scale(1);
    transition: .2s; }

.h-menu-post__icon {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -20px; }

.h-menu-post__ttl-en {
  display: block;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: .1em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  margin-top: 7px;
  margin-bottom: 5px;
  text-transform: uppercase; }

.h-menu-post__ttl {
  display: block;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  letter-spacing: .04em; }

.info-warn {
  display: table;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_warn.png) no-repeat 15px 50%;
  background-size: 32px 32px;
  width: 980px;
  margin: -10px auto 30px;
  padding: 13px 13px 13px 55px;
  border: 3px #0A0032 solid;
  border-radius: 3px;
  font-size: 0;
  letter-spacing: -.4em; }

.info-warn__ttl {
  display: table-cell;
  padding-right: 20px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .05em;
  font-weight: 600;
  vertical-align: middle;
  white-space: nowrap; }

.info-warn__body {
  display: table-cell;
  font-size: 12px; }

.info-warn__toggle,
.info-warn__back {
  text-decoration: underline;
  cursor: pointer;
  font-weight: 600; }

.info-warn__hide {
  display: none; }

.menu-toggle {
  display: none;
  position: fixed;
  top: 16px;
  right: 18px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  text-align: center;
  opacity: 1;
  z-index: 1002; }

.menu-hamburger {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 26px;
  height: 1px;
  margin: -2px 0 0 -13px;
  background-color: #0A0032;
  text-indent: -9999px;
  transition: .2s ease-in-out; }

.menu-hamburger:before,
.menu-hamburger:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 26px;
  height: 1px;
  border-radius: 2px;
  background-color: #0A0032;
  transition: .2s ease-in-out; }

.menu-hamburger:before {
  margin-top: -8px; }

.menu-hamburger:after {
  margin-top: 8px; }

.menu-active .menu-hamburger {
  background-color: transparent; }

.menu-active .menu-hamburger:before {
  width: 35px;
  transform: translateY(10px) translateX(-6px) rotate(-45deg); }

.menu-active .menu-hamburger:after {
  width: 35px;
  transform: translateY(-6px) translateX(-6px) rotate(45deg); }

@media (max-width: 991px) {
  .g-h {
    padding-top: 70px; }
  .g-h:before {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 75px;
    border-top: 5px #0A0032 solid;
    border-bottom: 1px #f9f9f9 solid;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    z-index: 999; }
  .g-h__heading {
    position: fixed;
    top: 20px;
    left: 5%;
    width: auto;
    margin-left: auto;
    z-index: 1001; }
  .g-h__logo {
    width: 250px;
    margin-bottom: 20px; }
  .g-h__logo-img {
    width: 250px;
    height: auto; }
  .g-h__desc {
    display: none; }
  .g-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding: 75px 0 0;
    margin: 0;
    z-index: 1000; }
  .g-menu__container {
    width: 100%;
    height: 100%;
    padding: 0 5% 10px;
    overflow: scroll;
    -webkit-overflow-scrolling: touch; }
  .g-menu--active {
    display: block; }
  .h-menu-sns__list {
    display: none; }
  .g-h__nav-shop {
    position: static;
    top: auto;
    right: auto;
    background-color: #fff; }
  .h-menu-shop__list {
    display: block;
    margin: 0 0 20px; }
    .h-menu-shop__list li {
      width: 48%;
      height: auto;
      font-size: 13px;
      line-height: 32px;
      font-weight: 600;
      border: 1px #bbb solid;
      margin: 1%;
      text-align: center; }
    .h-menu-shop__list a {
      display: block;
      padding: 6px 0 5px; }
    .h-menu-shop__list .h-menu-shop__cart {
      width: 98%;
      float: none;
      font-size: 13px;
      text-align: center; }
      .h-menu-shop__list .h-menu-shop__cart a {
        /* v2.3 edit */
        padding: 11px 0 10px; }
  .h-menu-product {
    margin-top: 20px; }
  .h-menu-product__list {
    width: auto;
    margin-bottom: 20px; }
    .h-menu-product__list > li {
      float: none;
      width: 100%;
      height: auto;
      margin-bottom: 10px; }
    .h-menu-product__list .menu-parent {
      height: auto;
      border-right: 0;
      padding-bottom: 3px;
      border-bottom: 2px #0A0032 solid;
      margin-bottom: 10px; }
      .h-menu-product__list .menu-parent .menu-thumb {
        display: inline-block;
        vertical-align: middle;
        width: 40px;
        padding: 2px; }
        .h-menu-product__list .menu-parent .menu-thumb img {
          width: 36px;
          height: 36px; }
      .h-menu-product__list .menu-parent .menu-ttl {
        display: inline-block;
        text-align: left;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .03em;
        padding: 0 5px; }
    .h-menu-product__list > li:first-child .menu-parent {
      border-left: 0; }
    .h-menu-product__list .menu-parent:before {
      display: none; }
    .h-menu-product__list li:hover .menu-parent .menu-thumb {
      opacity: 1; }
    .h-menu-product__list .h-menu-product__facility {
      display: block; }
    .h-menu-product__list ul {
      display: block;
      position: static;
      top: auto;
      left: auto;
      width: 100%;
      margin-left: auto;
      background-color: transparent;
      padding: 0;
      font-size: 0;
      letter-spacing: -.4em; }
      .h-menu-product__list ul:after {
        display: none; }
      .h-menu-product__list ul li {
        display: inline-block;
        background-color: transparent;
        width: 50%;
        margin-bottom: 5px; }
      .h-menu-product__list ul a:hover {
        color: #65635f; }
      .h-menu-product__list ul a:hover:after {
        display: none; }
      .h-menu-product__list ul .menu-thumb {
        width: 40px; }
        .h-menu-product__list ul .menu-thumb img {
          width: 32px;
          height: 32px; }
      .h-menu-product__list ul .menu-ttl {
        font-size: 12px; }
    .h-menu-product__list li:hover ul {
      display: block; }
  .h-menu-general {
    display: block;
    border-top: 1px #bbb solid;
    margin-top: 30px;
    padding-top: 30px; }
  .h-menu-general__list {
    list-style: none;
    margin-bottom: 20px; }
    .h-menu-general__list li {
      border: 1px #0A0032 solid;
      border-top: 0;
      font-size: 14px;
      font-weight: 600; }
    .h-menu-general__list li:first-child {
      border-top: 1px #0A0032 solid; }
    .h-menu-general__list a {
      position: relative;
      display: block;
      padding: 15px 17px; }
    .h-menu-general__list a:before,
    .h-menu-general__list a:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 17px;
      display: block;
      height: 1px;
      width: 8px;
      background-color: #0A0032;
      transform: rotate(45deg);
      transform-origin: right top; }
    .h-menu-general__list a:after {
      transform: rotate(-45deg);
      transform-origin: right bottom; }
    .h-menu-general__list a:hover {
      background-color: #fafafa;
      transition: .1s; }
  .h-menu-general__li-strong {
    text-align: center; }
    .h-menu-general__li-strong a {
      background-color: #0A0032;
      color: #fff; }
    .h-menu-general__li-strong a:before,
    .h-menu-general__li-strong a:after {
      background-color: #fff; }
    .h-menu-general__li-strong a:hover {
      background-color: #39325a;
      transition: .1s; }
  .h-menu-product__search {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: auto;
    padding: 0;
    border-right: 0;
    margin-bottom: 20px; }
  .h-search__input {
    width: 100%;
    height: 42px;
    font-size: 13px; }
  .h-search__button {
    position: absolute;
    top: 0;
    right: 0;
    height: 42px;
    font-size: 14px;
    line-height: 38px;
    padding: 0 20px; }
  .h-menu-post {
    position: static;
    top: auto;
    right: auto;
    margin-bottom: 20px; }
  .h-menu-post__list {
    border-left: 0; }
    .h-menu-post__list li {
      display: block;
      font-size: 14px;
      font-weight: 700;
      height: auto;
      line-height: 1.4;
      padding: 0;
      border-right: 0;
      border: 1px #0A0032 solid;
      border-top: 0; }
    .h-menu-post__list li:first-child {
      border-top: 1px #0A0032 solid; }
    .h-menu-post__list a {
      padding: 15px 0 15px 75px; }
    .h-menu-post__list a:before {
      display: none; }
  .h-menu-post__icon {
    left: 20px;
    margin-top: -18px; }
  .h-menu-post__ttl-en {
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 6px; }
  .info-warn {
    display: block;
    margin: 20px 5%;
    width: 90%;
    background-position: 12px 12px;
    background-size: 32px 32px;
    padding: 12px 12px 12px 55px; }
  .info-warn__ttl {
    display: block;
    padding-right: 0;
    font-size: 15px;
    margin-bottom: 3px;
    white-space: normal; }
    .info-warn__ttl br {
      display: none; }
  .info-warn__body {
    display: block; }
  .menu-toggle {
    display: block; } }

/* global footer */
.g-f {
  background-color: #F5F5F5; }

.nav-breadcrumb--f {
  margin-bottom: 0; }
  .nav-breadcrumb--f ul {
    max-width: 980px;
    margin: 0 auto; }

.g-f__nav {
  width: 980px;
  margin: 50px auto 30px; }

.f-menu ul {
  list-style: none; }

.f-menu li {
  font-size: 12px;
  margin-bottom: 10px;
  line-height: 1.4; }
  .f-menu li p {
    padding: 10px;
    margin-left: 0; }

.f-menu p {
  padding: 10px;
  font-size: 12px;
  line-height: 1.7;
  margin-bottom: 10px; }
  .f-menu p a {
    text-decoration: underline; }

.f-menu a {
  font-weight: 600; }

.f-menu a:hover {
  text-decoration: underline; }
  .f-menu a:hover span {
    text-decoration: underline; }

.f-menu__ttl {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.4;
  border-bottom: 1px #bbb solid;
  padding: 0 0 10px;
  margin-bottom: 15px; }

.f-menu__ttl-sub {
  display: block;
  font-size: 13px !important;
  font-weight: 600;
  line-height: 1.4;
  color: #0A0032; }

.f-menu .tel {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: .03em;
  font-family: 'Work Sans', sans-serif;
  font-weight: 500; }

.f-menu-cominfo {
  border-top: 1px #ddd solid;
  margin-top: 15px;
  padding-top: 15px; }

.f-menu-sns {
  border-top: 1px #ddd solid;
  margin-top: 15px;
  padding-top: 15px; }
  .f-menu-sns li {
    font-size: 12px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600; }
  .f-menu-sns a {
    font-weight: 400; }
  .f-menu-sns img {
    vertical-align: middle;
    margin-top: -3px;
    margin-right: 3px; }

.copyright {
  max-width: 980px;
  margin: 40px auto 0;
  border-top: 1px #ddd solid;
  padding: 20px 0 50px;
  text-align: center;
  color: #868480;
  font-size: 12px;
  letter-spacing: .02em;
  font-family: 'Work Sans', sans-serif;
  font-weight: 500; }
  .copyright a {
    color: #868480; }
  .copyright a:hover {
    color: #0A0032; }

@media (max-width: 991px) {
  .g-f__nav {
    width: 84%;
    margin: 30px auto; }
  .f-menu ul {
    margin-bottom: 30px; }
  .f-menu-cominfo {
    margin-top: -15px; } }

@media (max-width: 575px) {
  .g-f__nav {
    width: 100%;
    margin: 0; }
  .f-menu ul {
    margin-bottom: 0; }
  .f-menu li {
    font-size: 14px;
    margin-bottom: 0; }
    .f-menu li p {
      padding: 15px 8%;
      background-color: #ebebeb; }
    .f-menu li a {
      position: relative;
      display: block;
      padding: 15px 5%;
      border-bottom: 1px #bbb solid; }
    .f-menu li a:before,
    .f-menu li a:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 5%;
      display: block;
      height: 1px;
      width: 10px;
      background-color: #0A0032;
      transform: rotate(50deg);
      transform-origin: right top; }
    .f-menu li a:after {
      transform: rotate(-50deg);
      transform-origin: right bottom; }
  .f-menu p {
    font-size: 13px;
    margin: 0;
    line-height: 1.4;
    padding: 0 5% 10px;
    border-bottom: 1px #bbb solid; }
  .f-menu a:hover {
    text-decoration: none; }
    .f-menu a:hover span {
      text-decoration: none; }
  .f-menu .arr-link:before, .f-menu .arr-link:after {
    display: none; }
  .f-menu__ttl {
    font-size: 13px;
    background-color: #514C5C;
    color: #fff;
    padding: 10px 5% 10px;
    margin-bottom: 0; }
    .f-menu__ttl a {
      color: #fff; }
  .f-menu__ttl-sub {
    margin-bottom: 5px !important;
    padding: 10px 5% 0; }
  .f-menu .tel {
    letter-spacing: .06em; }
  .f-menu-cominfo {
    border-top: 0;
    margin-top: 0;
    padding-top: 0; }
  .f-menu-sns {
    border-top: 0 !important;
    margin-top: 0;
    padding-top: 0; }
  .copyright {
    margin: 0 5%;
    border-top: 0;
    padding: 20px 0 65px;
    text-align: left;
    color: #868480;
    font-size: 13px; } }

.g-pageup {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 35px;
  bottom: 25px;
  text-align: center;
  z-index: 100; }

.g-pageup--active {
  opacity: 1;
  transition: .4s;
  pointer-events: auto; }

.g-pageup__icon {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 3px #0A0032 solid;
  margin: 0 auto 6px; }
  .g-pageup__icon:before, .g-pageup__icon:after {
    content: '';
    position: absolute;
    top: 11px;
    right: 50%;
    display: block;
    width: 15px;
    height: 3px;
    background-color: #0A0032;
    transform: rotate(-45deg);
    transform-origin: right top; }
  .g-pageup__icon:after {
    right: auto;
    left: 50%;
    transform: rotate(45deg);
    transform-origin: left top; }

.g-pageup:hover .g-pageup__icon {
  transform: translateY(-5px);
  transition: .1s; }

.g-pageup__caption {
  display: block;
  width: 60px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  font-family: 'Work Sans', sans-serif; }

@media (max-width: 991px) {
  .g-pageup {
    right: 25px;
    bottom: 20px; }
  .g-pageup__icon {
    width: 36px;
    height: 36px;
    border: 2px #0A0032 solid; }
    .g-pageup__icon:before, .g-pageup__icon:after {
      top: 10px;
      width: 13px;
      height: 2px; } }

/* sidebar */
.s-banner .bx-wrapper {
  max-width: 100%;
  margin: 0px auto 40px;
  white-space: nowrap; }

.s-banner .bx-wrapper .bx-viewport {
  box-shadow: none;
  border: 0;
  left: auto;
  background: transparent;
  white-space: normal; }

.s-banner .bx-wrapper .bx-pager {
  font-weight: 600;
  color: #666;
  padding-top: 0;
  bottom: -18px; }

.s-banner .bx-wrapper .bx-pager.bx-default-pager a {
  position: relative;
  text-indent: -9999px;
  display: block;
  background-color: transparent;
  width: 30px;
  height: 16px;
  margin: 0 3px;
  outline: 0;
  border-radius: 0; }

.s-banner .bx-wrapper .bx-pager.bx-default-pager a:before {
  content: '';
  position: absolute;
  display: block;
  top: 7px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #666; }

.s-banner .bx-wrapper .bx-pager.bx-default-pager a.active,
.s-banner .bx-wrapper .bx-pager.bx-default-pager a:hover,
.s-banner .bx-wrapper .bx-pager.bx-default-pager a:active {
  background-color: transparent; }

.s-banner .bx-wrapper .bx-pager.bx-default-pager a.active:before {
  background-color: #ccc; }

.s-banner__slide {
  opacity: 0; }

.s-banner__slide--active {
  opacity: 1;
  transition: .4s !important; }

.s-banner__unit {
  width: 100%;
  background-color: #0A0032; }

.s-banner__unit a:hover .s-banner__pict,
.s-banner__unit a:hover .s-banner__txt {
  opacity: .9;
  transition: .2s; }

.s-banner__pict {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.s-banner__pict:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  border: 1px rgba(0, 0, 0, 0.05) solid;
  border: 3px #0A0032 solid;
  border-bottom: 0;
  background: linear-gradient(to bottom, rgba(54, 50, 46, 0.08) 0%, rgba(54, 50, 46, 0.03) 100%); }

.s-banner__txt {
  display: block;
  padding: 10px 15px 11px;
  color: #fff; }

.s-banner__cat {
  display: block;
  font-size: 10px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: 1px;
  opacity: .9;
  text-transform: uppercase; }

.s-banner__ttl {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600; }

.s-menu-product__list {
  list-style: none;
  width: 100%; }
  .s-menu-product__list li {
    position: relative;
    width: 100%;
    margin-bottom: 8px; }
  .s-menu-product__list a:hover {
    opacity: .7;
    transition: .2s; }
  .s-menu-product__list > li {
    margin-bottom: 20px; }
  .s-menu-product__list .menu-parent {
    display: block;
    border-bottom: 2px #0A0032 solid;
    padding-bottom: 5px;
    margin-bottom: 15px; }
    .s-menu-product__list .menu-parent a {
      display: block; }
    .s-menu-product__list .menu-parent .menu-ttl {
      font-weight: 700; }
  .s-menu-product__list ul {
    list-style: none; }
  .s-menu-product__list li > a {
    display: table; }
  .s-menu-product__list .menu-thumb {
    display: table-cell;
    width: 36px;
    vertical-align: middle; }
    .s-menu-product__list .menu-thumb img {
      width: 36px;
      height: 36px;
      vertical-align: middle; }
  .s-menu-product__list ul .menu-ttl {
    font-size: 12px;
    letter-spacing: .01em; }
  .s-menu-product__list ul .menu-thumb {
    width: 36px;
    padding: 0 2px; }
    .s-menu-product__list ul .menu-thumb img {
      width: 32px;
      height: 32px;
      vertical-align: bottom; }
  .s-menu-product__list .menu-ttl {
    display: table-cell;
    vertical-align: middle;
    padding: 2px 5px 0 10px;
    font-size: 13px;
    letter-spacing: .03em;
    font-weight: 400;
    line-height: 1.4; }

.s-menu-general {
  border-top: 1px #ddd solid;
  margin-top: 20px;
  padding-top: 20px; }
  .s-menu-general img {
    max-width: 100%;
    height: auto; }
  .s-menu-general p {
    margin: 0 0 20px; }

.s-menu-general__list {
  list-style: none;
  margin-bottom: 20px; }
  .s-menu-general__list li {
    font-size: 13px;
    font-weight: 600; }
  .s-menu-general__list a {
    position: relative;
    display: block;
    padding: 17px 17px 15px;
    border: 1px #0A0032 solid;
    border-top: 0; }
  .s-menu-general__list li:first-child a {
    border-top: 1px #0A0032 solid; }
  .s-menu-general__list a:before,
  .s-menu-general__list a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 17px;
    display: block;
    height: 1px;
    width: 8px;
    background-color: #0A0032;
    transform: rotate(45deg);
    transform-origin: right top; }
  .s-menu-general__list a:after {
    transform: rotate(-45deg);
    transform-origin: right bottom; }
  .s-menu-general__list a:hover {
    background-color: #fafafa;
    transition: .2s;
    text-decoration: none; }

.s-menu-general__li-strong {
  text-align: center; }
  .s-menu-general__li-strong a {
    background-color: #0A0032;
    color: #fff; }
  .s-menu-general__li-strong a:before,
  .s-menu-general__li-strong a:after {
    background-color: #fff; }
  .s-menu-general__li-strong a:hover {
    background-color: #39325a;
    transition: .1s; }

.s-menu-separator {
  border-top: 1px #ddd solid;
  margin: 20px 0; }

/* page */
.nav-breadcrumb {
  background-color: #0A0032;
  margin-bottom: 30px; }
  .nav-breadcrumb ul {
    list-style: none;
    font-size: 0;
    letter-spacing: -.4em;
    white-space: nowrap;
    overflow: hidden; }
    .nav-breadcrumb ul li {
      position: relative;
      display: inline-block;
      vertical-align: top;
      padding: 0;
      font-size: 11px;
      font-weight: 600;
      height: 24px;
      line-height: 24px;
      letter-spacing: .03em; }
      .nav-breadcrumb ul li:before, .nav-breadcrumb ul li:after {
        content: '';
        position: absolute;
        top: 0;
        right: 3px;
        display: block;
        height: 14px;
        width: 1px;
        background-color: rgba(255, 255, 255, 0.7);
        transform: rotate(-25deg);
        transform-origin: left top; }
      .nav-breadcrumb ul li:after {
        top: auto;
        bottom: 0;
        height: 13px;
        transform: rotate(25deg);
        transform-origin: left bottom; }
    .nav-breadcrumb ul a, .nav-breadcrumb ul span {
      display: block;
      padding: 0 20px;
      color: #fff;
      height: 24px;
      line-height: 24px; }
    .nav-breadcrumb ul a:hover {
      color: rgba(255, 255, 255, 0.7);
      text-decoration: none; }

@media (max-width: 991px) {
  .nav-breadcrumb {
    margin-bottom: 0;
    margin-right: -8.13%;
    margin-left: -8.13%;
    border-bottom: 1px rgba(255, 255, 255, 0.4) solid; }
    .nav-breadcrumb ul {
      overflow: scroll; }
      .nav-breadcrumb ul a, .nav-breadcrumb ul span {
        padding: 0 15px; }
  .nav-breadcrumb--f {
    margin: 0; }
    .nav-breadcrumb--f ul {
      overflow: scroll;
      -webkit-overflow-scrolling: touch; }
      .nav-breadcrumb--f ul a {
        padding: 0 15px; } }

.page-heading {
  position: relative;
  padding: 0 2px 10px;
  margin-bottom: 30px;
  border-bottom: 3px #0A0032 solid;
  font-weight: 700; }
  .page-heading:after {
    content: '';
    display: block;
    clear: both; }
  .page-heading .ttl-main {
    display: inline-block;
    font-size: 18px;
    letter-spacing: .05em; }
  .page-heading .ttl-main-en {
    display: inline-block;
    font-size: 20px;
    letter-spacing: .1em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase; }
  .page-heading .ttl-sub {
    float: right;
    display: inline-block;
    padding-top: 6px;
    padding-right: 5px;
    font-size: 12px;
    letter-spacing: .05em; }
  .page-heading .ttl-sub-en {
    float: right;
    display: inline-block;
    padding-top: 5px;
    padding-right: 5px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase; }
  .page-heading small {
    font-size: 70%;
    letter-spacing: .01em;
    font-weight: 600; }

.heading--sm {
  padding: 0 0 10px;
  margin-bottom: 20px;
  border-bottom: 2px #0A0032 solid; }
  .heading--sm .ttl-main {
    font-size: 18px;
    letter-spacing: .02em; }
  .heading--sm .ttl-main-en {
    font-size: 20px;
    letter-spacing: .06em; }
  .heading--sm .ttl-sub {
    margin-left: 10px;
    font-size: 13px;
    letter-spacing: .03em; }
  .heading--sm .ttl-sub-en {
    margin-left: 10px;
    font-size: 13px;
    letter-spacing: .06em; }

.page-heading-center {
  position: relative;
  margin: 30px 0;
  padding: 30px 5px;
  text-align: center; }
  .page-heading-center .ttl-main {
    display: block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em; }
  .page-heading-center .ttl-main-en {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: .1em;
    text-transform: uppercase; }
  .page-heading-center .ttl-sub {
    margin-top: 5px;
    display: block;
    font-size: 13px;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: .05em; }
  .page-heading-center .ttl-sub-en {
    margin-top: 5px;
    display: block;
    font-size: 13px;
    line-height: 1.4;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase; }
  .page-heading-center .ttl-desc {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em;
    margin: 5px 0; }
  .page-heading-center small {
    font-size: 70%;
    letter-spacing: .01em;
    font-weight: 600; }

  .page-heading-center .ttl-main--filter {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: .03em; }
  .page-heading-center .ttl-sub--filter {
    margin-top: 0;
    margin-bottom: 10px; }

.img-heading {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 52%;
  background-color: #0A0032;
  margin-bottom: 30px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0; }
  .img-heading .ttl-main {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.5;
    color: #fff; }
  .img-heading .ttl-main-en {
    font-size: 24px;
    letter-spacing: .2em;
    color: #fff;
    line-height: 1.5;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase; }
  .img-heading .ttl-sub {
    margin-left: .7em;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    color: #fff; }
  .img-heading .ttl-sub-en {
    margin-left: .7em;
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    color: #fff;
    text-transform: uppercase; }
  .img-heading small {
    font-size: 70%;
    letter-spacing: .01em;
    font-weight: 600; }

.img-heading--sm {
  padding-bottom: 30%; }

.img-heading--md {
  padding-bottom: 45%; }

.img-heading--lg {
  padding-bottom: 52%; }

.img-heading--bg-top {
  background-position: 50% 10%; }

.img-heading--bg-bottom {
  background-position: 50% 90%; }

.img-heading:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0.6) 100%); }

.img-heading__ttl {
  position: absolute !important;
  display: block !important;
  bottom: 0 !important;
  line-height: 1.6 !important;
  left: 0 !important;
  width: 100% !important;
  padding: 20px 30px !important;
  z-index: 3;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1); }

.img-heading__pict {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-bottom: 0 !important;
  z-index: 1; }

.img-heading__pict img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  vertical-align: bottom; }

.img-heading--active {
  opacity: 1;
  transition: .4s; }

.banner-heading {
  position: relative;
  margin-bottom: 40px;
  min-height: 240px;
  opacity: 0; }
  .banner-heading .ttl-main {
    display: block;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.6; }
  .banner-heading .ttl-main-en {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    letter-spacing: .2em;
    line-height: 1.4;
    text-transform: uppercase; }
  .banner-heading .ttl-sub {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    letter-spacing: .1em;
    font-weight: 600;
    line-height: 1.4; }
  .banner-heading .ttl-sub-en {
    display: block;
    margin-top: 3px;
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 1.4;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase; }
  .banner-heading small {
    font-size: 70%;
    letter-spacing: .01em;
    font-weight: 600; }

.banner-heading--active {
  opacity: 1;
  transition: .4s; }
  .banner-heading--active .banner-heading__ttl {
    transform: translateY(0);
    opacity: 1;
    transition: .4s .3s; }

.banner-heading__img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 1; }

.banner-heading__pict {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; }

.banner-heading__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center; }

.banner-img-right .banner-heading__img {
  left: 50%;
  width: 50%; }

.banner-img-right .banner-heading__pict {
  left: 50%;
  width: 50%; }

.banner-img-right .banner-heading__box {
  margin-right: auto;
  margin-left: 0; }

.banner-img-right .banner-heading__box:before {
  opacity: 1; }

.banner-img-left .banner-heading__img {
  right: 50%;
  width: 50%; }

.banner-img-left .banner-heading__pict {
  right: 50%;
  width: 50%; }

.banner-img-left .banner-heading__box {
  margin-right: 0;
  margin-left: auto; }

.banner-img-left .banner-heading__box:before {
  opacity: 1; }

.banner-heading__box {
  position: relative;
  z-index: 2;
  width: 50%;
  margin-right: auto;
  padding: 50px 7%;
  min-height: 360px;
  display: flex;
  justify-content: center;
  align-items: center; }

.banner-heading__box--right {
  margin-right: 0;
  margin-left: auto; }

.banner-heading__box:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #0A0032;
  opacity: .8;
  z-index: 1; }

.banner-heading__box.bg-red {
  background-color: transparent !important; }

.banner-heading__box.bg-pink {
  background-color: transparent !important; }

.banner-heading__box.bg-orange {
  background-color: transparent !important; }

.banner-heading__box.bg-yellow {
  background-color: transparent !important; }

.banner-heading__box.bg-green {
  background-color: transparent !important; }

.banner-heading__box.bg-blue {
  background-color: transparent !important; }

.banner-heading__box.bg-purple {
  background-color: transparent !important; }

.banner-heading__box.bg-gray {
  background-color: transparent !important; }

.banner-heading__box.bg-black {
  background-color: transparent !important; }

.banner-heading__box.bg-red:before {
  background-color: #de5027; }

.banner-heading__box.bg-pink:before {
  background-color: #e06d86; }

.banner-heading__box.bg-orange:before {
  background-color: #de9246; }

.banner-heading__box.bg-yellow:before {
  background-color: #D6B21E; }

.banner-heading__box.bg-green:before {
  background-color: #7E9A3D; }

.banner-heading__box.bg-blue:before {
  background-color: #487D95; }

.banner-heading__box.bg-purple:before {
  background-color: #7C6D8F; }

.banner-heading__box.bg-gray:before {
  background-color: #868480; }

.banner-heading__box.bg-black:before {
  background-color: #2C2B29; }

.banner-heading__ttl {
  position: relative !important;
  width: 100%;
  text-align: center;
  padding-top: 68px !important;
  padding-left: .5em !important;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/logo_mark_wire_circle_w.png) no-repeat center top;
  background-size: 64px 64px;
  color: #fff;
  z-index: 2;
  opacity: 0; }

.banner-heading__ttl--solution {
  padding-top: 64px;
  background-image: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_solution_w.png);
  background-size: 60px 60px; }

.banner-heading__ttl--coordinate {
  padding-top: 64px;
  background-image: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_coordinate_w.png);
  background-size: 60px 60px; }

.banner-heading__desc {
  position: relative;
  margin-top: 25px;
  color: #fff;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .05em;
  z-index: 2; }

.est-header {
  position: relative;
  margin-bottom: 50px;
  min-height: 450px; }
  .est-header:after {
    content: '';
    display: block;
    clear: both; }

.est-header__img {
  position: absolute;
  top: 0;
  right: 0;
  width: 580px;
  height: 370px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 1; }

.est-header__img:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.1) 0%, transparent 20%); }

.est-header__pict {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 580px;
  height: 370px;
  z-index: 1; }

.est-header__pict:before {
  content: '';
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.1) 0%, transparent 20%); }

.est-header__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  z-index: 1; }

.est-header__txt {
  position: relative;
  width: 440px;
  padding: 30px 0 0;
  z-index: 2; }

.est-header__ttl {
  width: 100%;
  border: 2px #0A0032 solid;
  margin: 0 0 30px !important;
  padding: 0 !important;
  font-weight: 600 !important; }
  .est-header__ttl .ttl-sub {
    display: block;
    background-color: #0A0032;
    margin: 0;
    padding: 8px 18px;
    color: #fff;
    font-size: 13px;
    font-weight: 600; }
  .est-header__ttl .ttl-main {
    display: block;
    background-color: #fff;
    padding: 10px 18px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.7; }

.est-header__ttl--bg .ttl-main {
  background-color: #39325a;
  color: #fff; }

.est-header__desc {
  margin: 0 80px 0 25px;
  font-size: 14px;
  line-height: 1.8; }

.est-header__link {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 580px;
  margin: 30px 0 0 30px;
  border: 1px #0A0032 solid;
  text-align: right;
  z-index: 2; }

.est-header__link-desc {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 50%;
  font-size: 13px;
  padding-top: 16px;
  text-align: center;
  font-weight: 600; }

.est-header__link-btn {
  display: inline-block;
  width: 50%;
  border-radius: 0 !important; }

@media (max-width: 991px) {
  .page-heading {
    padding: 0 0 10px; }
    .page-heading .ttl-main {
      font-size: 17px;
      letter-spacing: .03em; }
    .page-heading .ttl-main-en {
      font-size: 18px;
      letter-spacing: .06em; }
    .page-heading .ttl-sub {
      padding-top: 6px;
      font-size: 10px;
      letter-spacing: .03em; }
    .page-heading .ttl-sub-en {
      padding-top: 6px;
      font-size: 10px;
      letter-spacing: .06em; }
  .page-heading-center {
    margin: 15px 0; }
  .img-heading {
    margin-right: -8.13%;
    margin-left: -8.13%;
    width: auto;
    min-height: 280px;
    overflow: hidden; }
    .img-heading .ttl-main {
      font-size: 20px;
      line-height: 1.4; }
    .img-heading .ttl-main-en {
      font-size: 22px;
      line-height: 1.4; }
    .img-heading .ttl-sub {
      display: block;
      margin-top: 3px;
      margin-left: 1px;
      font-size: 11px; }
    .img-heading .ttl-sub-en {
      display: block;
      margin-top: 3px;
      margin-left: 1px;
      font-size: 12px; }
  .img-heading__ttl {
    padding: 18px 23px; }
  .banner-heading {
    margin-right: -8.13%;
    margin-left: -8.13%;
    min-height: 0; }
    .banner-heading .ttl-main {
      font-size: 18px; }
    .banner-heading .ttl-main-en {
      font-size: 24px; }
    .banner-heading .ttl-sub {
      font-size: 13px; }
    .banner-heading .ttl-sub-en {
      font-size: 14px; }
  .est-header {
    min-height: 0;
    margin-right: -8.13%;
    margin-left: -8.13%; }
  .est-header__img {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 0;
    padding-bottom: 50%; }
  .est-header__img:before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1) 0%, transparent 20%); }
  .est-header__pict {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 0;
    padding-bottom: 50%; }
  .est-header__pict:before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1) 0%, transparent 20%); }
  .est-header__txt {
    position: relative;
    width: 86%;
    margin: -30px auto 20px;
    padding: 0; }
  .est-header__ttl {
    margin-bottom: 20px !important; }
    .est-header__ttl .ttl-sub {
      font-size: 12px; }
    .est-header__ttl .ttl-main {
      font-size: 16px; }
  .est-header__desc {
    margin: 0 5px;
    font-size: 13px; }
  .est-header__link {
    position: relative;
    right: auto;
    bottom: auto;
    width: 86%;
    margin: 0 auto;
    z-index: 2; } }

@media (max-width: 575px) {
  .banner-heading__box--right {
    margin-right: auto;
    margin-left: auto; }
  .banner-heading__img {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 200px; }
  .banner-heading__pict {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 200px; }
  .banner-img-right .banner-heading__img {
    left: auto;
    width: 100%; }
  .banner-img-right .banner-heading__pict {
    left: auto;
    width: 100%; }
  .banner-img-right .banner-heading__box {
    margin-right: auto;
    margin-left: auto; }
  .banner-img-left .banner-heading__img {
    right: auto;
    width: 100%; }
  .banner-img-left .banner-heading__pict {
    right: auto;
    width: 100%; }
  .banner-img-left .banner-heading__box {
    margin-right: auto;
    margin-left: auto; }
  .banner-heading__box {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-right: auto;
    padding: 50px 7%;
    min-height: 200px;
    display: block; }
  .banner-heading__box:before {
    opacity: 1 !important; }
  .banner-heading__box {
    padding: 35px 6%;
    min-height: 0; }
  .banner-heading__ttl {
    padding-top: 55px !important;
    background-size: 46px 46px; }
  .banner-heading__desc {
    margin-top: 20px;
    font-size: 12px; }
  .est-header__link {
    position: static;
    right: auto;
    bottom: auto;
    width: 86%;
    margin: 0 auto;
    text-align: center;
    z-index: 2; }
  .est-header__link-desc {
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: 100%;
    font-size: 13px;
    padding-top: 12px;
    padding-bottom: 12px; }
  .est-header__link-btn {
    display: block;
    width: 100%; } }

/* list */
.cat-free-header {
  margin-bottom: 50px; }

.cat-free-footer {
  margin-top: 50px; }

.cat-list__unit {
  margin-bottom: 30px; }
  .cat-list__unit a {
    display: block;
    color: #2C2B29;
    text-decoration: none !important; }
  .cat-list__unit a:hover {
    color: #2C2B29 !important; }

.cat-list__img {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  margin-bottom: 10px;
  text-align: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.cat-list__pict {
  position: relative;
  display: block;
  height: 0;
  padding-bottom: 100%;
  margin-bottom: 10px;
  text-align: center; }

.cat-list__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center; }

.cat-list__ttl {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.6;
  word-break: break-all; }

.cat-list__desc {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.6; }

a:hover .cat-list__img {
  opacity: .8; }

a:hover .cat-list__pict {
  opacity: .8; }

.cat-sub-list {
  row-gap: 20px;
  margin-bottom: 50px;
  margin-right: -20px;
  margin-left: -20px;
}

.cat-sub-list__unit {
  padding-right: 20px;
  padding-left: 20px;
}

.cat-sub-list__unit a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 12px;
  text-decoration: none !important;
}

.cat-sub-list__pict {
  flex: none;
  position: relative;
  display: block;
  width: 80px;
  height: 60px;
  z-index: 1;
}

.cat-sub-list__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
}

.cat-sub-list a:hover .cat-sub-list__pict {
  opacity: .8;
}

.cat-sub-list__ttl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.6;
  word-break: break-all;
}

@media (max-width: 575px) {

  .cat-sub-list {
    row-gap: 20px;
  }

  .cat-sub-list__pict {
    width: 60px;
    height: 40px;
  }
}

.filter-form {
  margin-top: 30px;
  margin-bottom: 50px;
}

.filter-form select {
  border-color: #0A0032;
  border-width: 2px;
}

.filter-form select.is-default {
  color: #777;
  font-weight: normal;
  border-color: #888;
  border-width: 1px;
}

.filter-list {
  font-size: .95rem;
  font-weight: 600;
}

.filter-list__unit {
  margin-bottom: .7rem;
}

.filter-list__unit a {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  text-decoration: none !important;
  border: 1px #e7e7e7 solid;
  border-radius: 5px;
  box-shadow: 0 1px 5px rgba(1, 1, 1, .03);
}

.filter-list__unit a:hover {
    background-color: #dbe5f5;
}

.filter-list__unit:nth-child(even) {
  background-color: #f8f8f8;
}

@media (hover: hover) {
  .filter-list__unit a:hover {
    transition: background-color .2s;
  }

}


.filter-list__header {
  position: sticky;
  top: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  min-height: 42px;
  margin-bottom: 1rem;
  background-color: #0A0032;
  color: #fff;
  z-index: 2;
  font-weight: 600;
}

.filter-attr,
.filter-button {
  display: block;
  flex: 1 1 25%;
  padding: .7rem .5rem;
  white-space: nowrap;
  text-align: center;
}

@media (max-width: 576px) {
  .filter-list {
    font-size: .8rem;
  }
}
@media (max-width: 320px) {
  .filter-list {
    font-size: .7rem;
  }
}

.products-header {
  position: relative;
  text-align: right;
  margin-bottom: 15px;
  border-top: 3px #0A0032 solid;
  border-bottom: 1px #0A0032 solid; }

.products-header__position {
  position: absolute;
  top: 0;
  left: 12px;
  font-size: 14px;
  line-height: 32px;
  letter-spacing: .05em;
  font-family: 'Work Sans', sans-serif;
  font-weight: 500; }

.products-header__sort {
  list-style: none;
  font-size: 0;
  letter-spacing: -.4em; }
  .products-header__sort li {
    display: inline-block;
    font-size: 12px;
    line-height: 32px;
    text-align: center;
    letter-spacing: .1em;
    border-left: 1px #777 solid;
    -webkit-font-smoothing: subpixel-antialiased; }
  .products-header__sort .sort-active, .products-header__sort a {
    display: inline-block;
    padding: 0 18px; }
  .products-header__sort .sort-active {
    background-color: #39325a;
    color: #fff; }
  .products-header__sort a {
    color: #2C2B29; }
  .products-header__sort a:hover {
    color: #65635f; }

.products-pager {
  position: relative;
  margin: 25px 0; }

.products-pager__prev {
  position: absolute;
  top: 0;
  left: 10px;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: .1em;
  font-weight: 600; }
  .products-pager__prev a {
    position: relative;
    display: inline-block;
    padding-left: 20px; }
  .products-pager__prev a:hover {
    opacity: .6; }
  .products-pager__prev a:before,
  .products-pager__prev a:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    height: 2px;
    width: 10px;
    background-color: #0A0032;
    transform: rotate(-50deg);
    transform-origin: left top; }
  .products-pager__prev a:after {
    top: auto;
    bottom: 50%;
    transform: rotate(50deg);
    transform-origin: left bottom; }

.products-pager__next {
  position: absolute;
  top: 0;
  right: 10px;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: .1em;
  font-weight: 600; }
  .products-pager__next a {
    position: relative;
    display: inline-block;
    padding-right: 20px; }
  .products-pager__next a:hover {
    opacity: .6; }
  .products-pager__next a:before,
  .products-pager__next a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    height: 2px;
    width: 10px;
    background-color: #0A0032;
    transform: rotate(50deg);
    transform-origin: right top; }
  .products-pager__next a:after {
    top: auto;
    bottom: 50%;
    transform: rotate(-50deg);
    transform-origin: right bottom; }

.products-pager__no {
  list-style: none;
  text-align: center;
  font-size: 0;
  letter-spacing: -.4em;
  max-width: 500px;
  margin: 0 auto; }
  .products-pager__no li {
    display: inline-block;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: .1em;
    text-align: center;
    border-left: 1px #ddd solid;
    padding: 0 5px;
    margin-bottom: 10px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 500; }
  .products-pager__no li:first-child {
    border-left: 0; }
  .products-pager__no .pager-active, .products-pager__no a, .products-pager__no .pager-blank {
    display: inline-block;
    padding: 0 15px; }
  .products-pager__no a:hover {
    color: #868480; }
  .products-pager__no .pager-active {
    font-weight: 600;
    transform: scale(1.3); }
  .products-pager__no .pager-blank {
    font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased; }

.products-f {
  margin-bottom: 50px;
  border-bottom: 3px #0A0032 solid; }

@media (max-width: 991px) {
  .products-header__position {
    top: auto;
    right: 5px;
    bottom: 100%;
    padding-bottom: 5px;
    left: auto;
    line-height: 31px;
    color: #2C2B29; }
  .products-header__sort .sort-active, .products-header__sort a {
    display: block;
    padding: 0; }
  .products-header__sort li {
    width: 33.33%;
    text-align: center;
    font-size: 11px; }
  .products-header__sort li:first-child {
    border-left: 0; }
  .products-pager__no {
    min-height: 20px; }
    .products-pager__no li {
      display: none; } }

.products__unit {
  margin-bottom: 40px; }
  .products__unit a {
    display: block; }

.products__thumb {
  position: relative;
  width: 100%;
  margin-bottom: 10px;
  padding: 5% 10%;
  text-align: center; }

.products__img {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1; }

a:hover .products__img {
  opacity: .8;
  transition: .2s; }

.products__pict {
  position: relative;
  display: block;
  margin: 0;
  height: 0;
  padding-bottom: 100%;
  z-index: 1; }

.products__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: contain;
  object-position: center center; }

a:hover .products__pict img {
  opacity: .8;
  transition: .2s; }

.products__new {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  background-color: #E8631E;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  text-align: center;
  letter-spacing: 2px;
  padding: 3px 15px 3px 17px;
  line-height: 1.2;
  z-index: 5;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  text-transform: uppercase; }
  .products__new:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    left: 0;
    height: 48%;
    width: 100%;
    background-color: #e05c17;
    z-index: -1; }

.products__labels {
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  font-size: 0;
  letter-spacing: -.4em;
  z-index: 2; }

.products__label {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #0A0032;
  padding: 4px 9px 3px 10px;
  letter-spacing: 1px;
  line-height: 1;
  border: 1px #0A0032 solid;
  margin-right: 7px;
  margin-top: 5px;
  background-color: rgba(255, 255, 255, 0.8);
  vertical-align: bottom; }

.products__label--sale {
  background-color: #39325a;
  border: 1px #39325a solid;
  color: #fff; }

.products__ttl {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 21px;
  min-height: 63px;
  word-break: break-all; }
  .products__ttl a:hover {
    color: #868480; }

.products__price {
  position: relative;
  text-align: right;
  padding: 5px;
  border-top: 1px #ddd solid;
  border-bottom: 1px #ddd solid; }
  .products__price .favorite-button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: absolute;
    display: block;
    top: 50%;
    left: 5px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav.png) no-repeat center center;
    background-size: 20px 20px;
    cursor: pointer; }
  .products__price .favorite-button:hover {
    transform: scale(1.2);
    transition: .2s; }
  .products__price .favorite-button--active {
    background-image: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav_active.png); }
  .products__price .price {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.4; }

.products--sm .products__ttl {
  font-size: 11px;
  font-weight: normal;
  letter-spacing: .01em;
  line-height: 18px;
  min-height: 72px; }

.products--sm .products__price .price {
  font-size: 13px; }

.products--sm .products__label {
  padding: 3px 7px 2px 8px;
  letter-spacing: .08em; }

@media (max-width: 991px) {
  .products__unit {
    margin-bottom: 30px; } }

@media (max-width: 575px) {
  .products.row {
    margin-right: 0;
    margin-left: 0; }
  .products__unit {
    padding-right: 0 !important;
    padding-left: 0 !important;
    padding-bottom: 10px;
    border-bottom: 2px #eee solid;
    margin-bottom: 20px; }
    .products__unit:after {
      content: '';
      display: block;
      clear: both; }
  .products__thumb {
    position: relative;
    width: 40%;
    float: left;
    margin-bottom: 10px;
    padding: 5px 0;
    text-align: center; }
  .products__labels {
    text-align: left; }
  .products__label {
    font-size: 10px;
    padding: 4px 5px 3px 6px;
    margin-right: 3px;
    margin-top: 3px; }
  .products__ttl {
    margin: 10px 0 10px  45%;
    line-height: 20px;
    min-height: 0; }
  .products__price {
    margin-left: 45%; }
    .products__price .price {
      font-size: 13px; }
  .products--sm .products__unit {
    padding-bottom: 15px;
    margin-bottom: 15px; }
  .products--sm .products__thumb {
    width: 35%;
    padding: 5px 10px; }
  .products--sm .products__ttl {
    margin-left: 40%;
    min-height: 0; }
  .products--sm .products__price {
    margin-left: 40%; } }

.products__cmsjs .cartjs_product_name,
.products__cmsjs .cartjs_product_img,
.products__cmsjs .cartjs_product_table,
.products__cmsjs br {
  display: none; }

.products__cmsjs .cartjs_cart_in input {
  position: relative;
  display: block;
  width: 100%;
  margin: 15px 0 0;
  padding: 7px 0 7px;
  border: 0;
  background-color: #0A0032;
  border-bottom: 1px #050019 solid;
  color: #fff !important;
  font-size: 12px;
  font-weight: 600;
  border-radius: 2px;
  letter-spacing: .05em;
  text-decoration: none !important;
  cursor: pointer; }

.products__cmsjs .cartjs_cart_in input:hover {
  background-color: #EA7C0D;
  border-bottom: 1px #d26f0c solid; }

.cmsjs-list a {
  display: block; }

.cmsjs-list a:hover {
  color: #2C2B29; }

.cmsjs-list a > div {
  width: 100% !important; }

.cmsjs-list .cartjs_sales_price th,
.cmsjs-list .cartjs_product_num,
.cmsjs-list .cartjs_option,
.cmsjs-list .cartjs_cart_in {
  display: none; }

.cmsjs-list .cartjs_product_img {
  position: relative;
  width: 100%;
  height: 100%;
  margin-bottom: 15px !important;
  border: 1px #f2f2f2 solid; }
  .cmsjs-list .cartjs_product_img:before {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%; }
  .cmsjs-list .cartjs_product_img img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 90%;
    vertical-align: middle; }

.cmsjs-list .cartjs_product_table > table {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  min-width: 0; }

.cmsjs-list .cartjs_sales_price td {
  text-align: right;
  padding: 5px !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-top: 1px #ddd solid;
  border-bottom: 1px #ddd solid;
  color: #2C2B29 !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 24px; }

.cmsjs-list .cartjs_box br {
  display: none; }

.cmsjs-list .cartjs_product_name {
  font-size: 13px !important;
  display: block;
  margin-bottom: 15px;
  word-break: break-all; }

.cmsjs-list a {
  text-decoration: none !important; }

.cmsjs-list a:hover {
  text-decoration: none; }
  .cmsjs-list a:hover .cartjs_product_img img {
    opacity: .7; }
  .cmsjs-list a:hover .cartjs_product_name {
    color: #2C2B29; }

.cmsjs-list__unit {
  margin-bottom: 25px; }

.cmsjs-list__desc {
  margin: 15px 0 0;
  font-size: 13px;
  line-height: 1.7; }
  .cmsjs-list__desc p {
    margin-bottom: 0; }

a:hover .cmsjs-list__desc {
  color: #2C2B29; }

.cmsjs-list__fav-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  position: relative;
  top: -36px;
  margin-bottom: -36px;
  width: 36px;
  height: 36px;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav.png) no-repeat center center;
  background-size: 20px 20px;
  cursor: pointer;
  z-index: 2; }

.cmsjs-list__fav-btn:hover {
  transform: scale(1.2);
  transition: .2s; }

.cmsjs-list__fav-btn:active {
  color: #2C2B29; }

.favorite-button--active {
  background-image: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav_active.png); }

.cmsjs-wrap {
  position: relative;
  padding-left: 200px;
  min-height: 160px;
  margin-bottom: 20px; }
  .cmsjs-wrap a {
    display: block;
    margin-bottom: 0; }
  .cmsjs-wrap a:hover {
    color: #2C2B29; }
  .cmsjs-wrap a > div {
    width: 100% !important; }
  .cmsjs-wrap .cartjs_sales_price th,
  .cmsjs-wrap .cartjs_product_num,
  .cmsjs-wrap .cartjs_option,
  .cmsjs-wrap .cartjs_cart_in {
    display: none; }
  .cmsjs-wrap .cartjs_product_img {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 160px;
    height: 160px;
    padding: 0 !important;
    margin-bottom: 0 !important; }
    .cmsjs-wrap .cartjs_product_img img {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      vertical-align: middle; }
  .cmsjs-wrap .cartjs_product_table > table {
    width: 100% !important;
    border: 0 !important;
    margin: 0 !important; }
  .cmsjs-wrap .cartjs_sales_price td {
    text-align: right;
    padding: 5px;
    border-right: 0 !important;
    border-left: 0 !important;
    border-top: 1px #ddd solid;
    border-bottom: 1px #ddd solid;
    color: #2C2B29 !important;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.4; }
  .cmsjs-wrap br {
    display: none; }
  .cmsjs-wrap .cartjs_product_name {
    font-size: 14px !important;
    display: block;
    margin-bottom: 15px;
    word-break: break-all; }
  .cmsjs-wrap a {
    text-decoration: none !important; }
  .cmsjs-wrap a:hover {
    text-decoration: none; }
    .cmsjs-wrap a:hover .cartjs_product_img img {
      opacity: .7; }
    .cmsjs-wrap a:hover .cartjs_product_name {
      color: #2C2B29; }

.cmsjs-wrap__desc {
  margin: 15px 0 0;
  font-size: 13px;
  line-height: 1.7; }
  .cmsjs-wrap__desc p {
    margin-bottom: 0; }

@media (max-width: 575px) {
  .cmsjs-wrap {
    position: static;
    padding-left: 0;
    min-height: 0; }
    .cmsjs-wrap .cartjs_product_img {
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      height: 100%;
      margin-bottom: 15px !important;
      border: 1px #f2f2f2 solid; }
      .cmsjs-wrap .cartjs_product_img:before {
        content: '';
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 100%; }
      .cmsjs-wrap .cartjs_product_img img {
        max-width: 90%;
        max-height: 90%; } }

.cartjs-price,
.cartjs-price *:not(script, noscript, style, meta, link, [hidden]) {
  display: inline;
  vertical-align: inherit !important;
  width: auto !important;
}

.cartjs-price br,
.cartjs-price .cartjs_product_img,
.cartjs-price .cartjs_product_name,
.cartjs-price .cartjs_sales_price th,
.cartjs-price .cartjs_product_num,
.cartjs-price .cartjs_option,
.cartjs-price .cartjs_cart_in,
.cartjs-price .cartjs_product_info {
  display: none !important;
}

.cartjs-price .cartjs_product_table > table {
  width: auto !important;
  border: 0 !important;
  margin: 0 !important;
  min-width: 0;
  line-height: 1;
}

.cartjs-price .cartjs_sales_price td {
  border: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-weight: inherit !important;
}

.rank-no {
  position: absolute;
  display: block;
  top: -4px;
  left: -4px;
  width: 32px;
  height: 32px;
  font-size: 16px;
  line-height: 32px;
  text-align: center;
  border-radius: 16px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  background-color: #0A0032;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  z-index: 3; }

.products--ranking .products__unit:nth-child(1) .rank-no {
  background-color: #D3B120;
  top: -6px;
  left: -6px;
  width: 36px;
  height: 36px;
  font-size: 18px;
  line-height: 36px;
  border-radius: 18px;
  overflow: hidden; }
  .products--ranking .products__unit:nth-child(1) .rank-no:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    height: 50%;
    width: 100%;
    background-color: #c6a925;
    z-index: -1; }

.products--ranking .products__unit:nth-child(2) .rank-no {
  background-color: #ADADAD;
  top: -6px;
  left: -6px;
  width: 36px;
  height: 36px;
  font-size: 17px;
  line-height: 36px;
  border-radius: 18px;
  overflow: hidden; }
  .products--ranking .products__unit:nth-child(2) .rank-no:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    height: 50%;
    width: 100%;
    background-color: #a4a4a4;
    z-index: -1; }

.products--ranking .products__unit:nth-child(3) .rank-no {
  background-color: #CB7933;
  top: -6px;
  left: -6px;
  width: 36px;
  height: 36px;
  font-size: 16px;
  line-height: 36px;
  border-radius: 18px;
  overflow: hidden; }
  .products--ranking .products__unit:nth-child(3) .rank-no:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    height: 50%;
    width: 100%;
    background-color: #bf6d25;
    z-index: -1; }

.products-history {
  font-size: 0;
  letter-spacing: -.4em;
  margin: 0 -10px 30px; }

.products-history__unit {
  display: inline-block;
  width: 11.11%;
  padding: 0 10px 10px; }
  .products-history__unit a {
    display: block; }

@media (max-width: 991px) {
  .products-history__unit {
    display: inline-block;
    width: 20%;
    padding: 0 10px 20px; }
    .products-history__unit a {
      display: block; } }

@media (max-width: 575px) {
  .products-history__unit {
    width: 33.33%; } }

.products-history__thumb {
  position: relative;
  width: 100%; }

.products-history__img {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1; }

a:hover .products-history__img {
  opacity: .8;
  transition: .2s; }

@media (min-width: 576px) and (max-width: 991px) {
  .products--recommend .products__unit:nth-child(10n),
  .products--ranking .products__unit:nth-child(10n) {
    display: none; } }

/* product */
.product-heading {
  margin: 30px 0; }
  .product-heading h1:after {
    content: '';
    display: block;
    clear: both; }

.product-heading__icons {
  float: left;
  margin: .2em 15px 0 0; }

.icon-new {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #E8631E;
  line-height: 47px;
  text-align: center;
  font-size: 12px;
  padding-top: 1px;
  padding-left: .1em;
  letter-spacing: .1em;
  color: #fff;
  overflow: hidden;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  z-index: 1;
  text-transform: uppercase; }
  .icon-new:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    left: 0;
    height: 48%;
    width: 100%;
    background-color: #e05c17;
    z-index: -1; }

.product-heading__ttl {
  display: block;
  font-size: 20px;
  letter-spacing: .03em;
  line-height: 1.4;
  overflow: hidden; }

.product-container {
  margin-bottom: 20px; }
  .product-container:after {
    content: '';
    display: block;
    clear: both; }

.product-photo {
  float: left;
  width: 460px; }

.product-photo__main {
  position: relative;
  width: 100%;
  /* v2.4 edit */
  margin-bottom: 20px;
  text-align: center;
  border: 1px #eee solid;
  overflow: hidden;
  display: table;
  table-layout: fixed;
  /* ie11 */
  width: 460px;
  height: 460px;
  overflow: hidden !important; }
  .product-photo__main a {
    /* v2.4 edit */
    display: block;
    width: 100%;
    height: auto; }
  /* v2.4 add */
  .product-photo__img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 458px;
    height: 458px;
    padding: 20px;
    overflow: hidden !important;
    box-sizing: border-box;
  }
  .product-photo__main img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%; }

.product-photo__slide--active {
  opacity: 1;
  transition: .4s; }
  .product-photo__slide--active .product-photo__loading {
    display: none; }

@media (max-width: 991px) {
  .product-photo__main {
    display: block;
    margin-right: -8.13%;
    margin-left: -8.13%;
    width: auto;
    height: auto;
    border-right: 0;
    border-left: 0; }
    .product-photo__main a {
      display: block;
      width: 100%;
      height: auto; }
    /* v2.4 add */
    .product-photo__img {
      width: 100%;
      height: auto;
    }
    .product-photo__main img {
      max-width: 100%;
      max-height: 400px; }

  .product-photo__slide > div,
  .product-photo__slide a {
    width: 100vw;
    height: 66vw; } }

@media (max-width: 575px) {
  .product-photo__slide > div,
  .product-photo__slide a {
    width: 100vw;
    height: 75vw; } }

.product-photo__loading {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  border: 3px solid #0A0032;
  border-right-color: transparent;
  animation: circlerotate 1s linear infinite;
  -webkit-animation: circlerotate 1s linear infinite;
  z-index: 1; }

.product-photo__meta {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 10px;
  line-height: 1.2;
  z-index: 2; }

.product-photo .bx-wrapper {
  max-width: 100%;
  margin: 0px auto;
  white-space: nowrap;
  overflow: hidden; }

.product-photo .bx-wrapper .bx-viewport {
  overflow: hidden !important;
  box-shadow: none;
  border: 0;
  left: auto;
  background: transparent;
  white-space: normal; }

.product-photo .bx-wrapper img {
  display: inline; }

.product-photo .bx-controls {
  opacity: 0; }

.product-photo .bx-wrapper:hover .bx-controls {
  opacity: 1;
  transition: .2s; }

.product-photo .bx-wrapper .bx-prev,
.product-photo .bx-wrapper .bx-next {
  position: absolute;
  display: block;
  bottom: 50%;
  left: 0;
  width: 60px;
  height: 60px;
  margin-bottom: -30px;
  z-index: 1000; }

.product-photo .bx-wrapper .bx-next {
  right: 0;
  left: auto; }

@media (max-width: 991px) {
  .product-photo .bx-wrapper .bx-prev,
  .product-photo .bx-wrapper .bx-next {
    bottom: 20px;
    left: 20px;
    margin-bottom: 0; }
  .product-photo .bx-wrapper .bx-next {
    right: 20px;
    left: auto; } }

.product-photo .bx-wrapper .bx-prev:before,
.product-photo .bx-wrapper .bx-prev:after,
.product-photo .bx-wrapper .bx-next:before,
.product-photo .bx-wrapper .bx-next:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 20px;
  width: 20px;
  height: 1px;
  background-color: #0A0032;
  transform: rotate(-45deg);
  transform-origin: top left; }

.product-photo .bx-wrapper .bx-prev:after {
  top: auto;
  right: auto;
  bottom: 50%;
  left: 20px;
  transform: rotate(45deg);
  transform-origin: bottom left; }

.product-photo .bx-wrapper .bx-next:before,
.product-photo .bx-wrapper .bx-next:after {
  top: 50%;
  left: auto;
  right: 19px;
  transform: rotate(45deg);
  transform-origin: top right; }

.product-photo .bx-wrapper .bx-next:after {
  top: auto;
  bottom: 50%;
  transform: rotate(-45deg);
  transform-origin: bottom right; }

.product-photo__sub:after {
  content: '';
  display: block;
  clear: both; }

.product-photo__sub a {
  display: block;
  float: left;
  width: 15%;
  margin-right: 2%;
  margin-bottom: 2%; }

.product-photo__sub a:nth-child(6n) {
  margin-right: 0; }

.product-photo__sub .product-photo__thumb {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain; }

@media (max-width: 575px) {
  .product-photo__sub a {
    width: 22.75%;
    margin-right: 3%;
    margin-bottom: 3%; }
  .product-photo__sub a:nth-child(4n) {
    margin-right: 0; }
  .product-photo__sub .product-photo__thumb {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; } }

.product-cart {
  float: right;
  width: 220px; }

.product-cart__tag {
  border-bottom: 3px #0A0032 solid;
  margin-bottom: 10px; }

.tag-sale {
  display: inline-block;
  background-color: #0A0032;
  color: #fff;
  padding: 4px 15px 3px;
  font-size: 13px;
  letter-spacing: .1em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-weight: 600;
  line-height: 1.2; }

.product-cart__price, .product-cart__price-range {
  font-size: 22px;
  letter-spacing: .05em;
  line-height: 1.4;
  text-align: right;
  font-weight: 600;
  padding: 0 0 6px;
  margin-bottom: 20px;
  border-bottom: 2px #0A0032 solid; }
  .product-cart__price small, .product-cart__price-range small {
    font-size: 13px; }

.product-cart__price-range {
  font-size: 21px;
  text-align: left;
  padding-left: 10px; }

.product-cart__price-min,
.product-cart__price-max {
  display: block; }

.product-cart__price-max {
  text-align: right; }

.product-cart__price-fixed,
.product-cart__meta {
  text-align: right;
  font-size: 11px;
  letter-spacing: .05em;
  line-height: 1.4;
  margin-top: -10px;
  margin-bottom: 15px; }

.product-cart__meta {
  margin-right: 1px; }

.product-cart__option {
  margin-bottom: 15px; }
  .product-cart__option dt {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 5px; }
  .product-cart__option dd {
    margin-bottom: 10px;
    text-align: right; }

.product-cart__select {
  width: 100%;
  font-size: 14px;
  border: 2px #0A0032 solid;
  color: #2C2B29 !important;
  -webkit-font-smoothing: subpixel-antialiased; }
  .product-cart__select option {
    color: #2C2B29 !important; }

.product-cart__option-link {
  margin-top: -5px;
  margin-bottom: 15px;
  font-size: 12px;
  font-weight: 600; }
  .product-cart__option-link a {
    text-decoration: underline; }

.product-cart__option-table {
  margin: 0 0 15px;
  width: 100%;
  overflow: auto; }
  .product-cart__option-table table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    border: 1px #ddd solid; }
  .product-cart__option-table th, .product-cart__option-table td {
    border: 1px #ddd solid;
    padding: 8px 10px;
    vertical-align: top;
    font-size: 12px;
    line-height: 1.6;
    text-align: center; }
  .product-cart__option-table th {
    border: 1px #ddd solid;
    background-color: #f8f8f8;
    min-width: 80px; }

.product-cart__option-warn {
  position: relative;
  margin-bottom: 20px;
  background-color: #0A0032;
  color: #fff;
  padding: 13px 18px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600; }
  .product-cart__option-warn a {
    color: #fff;
    text-decoration: underline; }
  .product-cart__option-warn:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 20px;
    margin-top: -12px;
    border: 6px transparent solid;
    border-bottom-color: #0A0032; }

.product-cart__qty {
  text-align: right;
  margin-bottom: 15px; }

.product-cart__qty-ttl {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  margin-right: 10px; }

.product-cart__qty-input {
  vertical-align: middle;
  /* v2.3 edit */
  width: 60px;
  height: 38px;
  border: 2px #0A0032 solid;
  padding: 3px;
  border-radius: .25rem;
  line-height: 24px;
  font-size: 18px;
  text-align: center;
  /* v2.3 add */
  -moz-appearance: textfield;
}

.product-cart__qty-input::-webkit-inner-spin-button,
.product-cart__qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.product-cart__qty-unit {
  display: none;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  /* v2.3 edit */
  margin-left: 0;
  padding-top: 1px; }

/* v2.3 add */
.product-cart__qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
  margin-bottom: 20px;
}

.product-cart__qty-heading {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0;
  padding-top: 2px;
}

.product-cart__qty-ctl {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.product-cart__qty-ctl a {
  display: flex;
  width: 36px;
  height: 36px;
  background-color: #eaeaea;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
}

.product-cart__qty-ctl a:hover {
  background-color: #e5e5e5;
}

.product-cart__qty-ctl a:active {
  background-color: #e0e0e0;
}

.product-cart__qty-ctl img {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  pointer-events: none;
}

@media (max-width: 991px) {
  .product-cart__qty-ctl {
    gap: 10px;
  }
  .product-cart__qty-ctl a {
    width: 48px;
  }
}

.product-cart__stock {
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
  margin-bottom: 15px; }

.product-cart__addtocart {
  position: relative;
  margin-bottom: 15px;
  height: 64px;
  z-index: 1;
  cursor: pointer; }

.product-cart__addtocart:before {
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -17px;
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_cart_w.png) no-repeat center center;
  background-size: 30px 30px;
  vertical-align: top;
  z-index: 2;
  pointer-events: none; }

.btn-addtocart {
  position: relative;
  border: 0;
  background-color: #f46c2a;
  border-bottom: 1px #f36520 solid;
  padding: 18px 0 15px 35px;
  width: 100%;
  border-radius: 3px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 30px;
  color: #fff;
  overflow: hidden;
  cursor: pointer; }

@media (max-width: 991px) {
  .btn-addtocart {
    padding: 18px 0 15px; } }

.btn-addtocart:hover {
  background-color: #e8612e; }

.product-cart__warn {
  text-align: center;
  margin-bottom: 15px;
  color: #E8631E;
  font-weight: bold;
  font-size: 13px;
  padding: 10px 5px 8px;
  line-height: 1.5; }

.stock_error {
  display: none;
  text-align: center;
  margin-bottom: 15px;
  color: #E8631E;
  font-weight: bold;
  font-size: 13px;
  padding: 10px 5px 8px;
  line-height: 1.5;
  border: 2px #E8631E solid; }

.product-cart__free {
  padding: 10px 0 8px;
  border: 1px #bbb solid;
  margin-bottom: 15px; }
  .product-cart__free p {
    font-size: 11px;
    text-align: center;
    margin: 0; }

.product-cart__attr {
  list-style: none;
  font-size: 0;
  letter-spacing: -.4em;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px #ddd solid;
  margin-bottom: 10px; }
  .product-cart__attr li {
    display: inline-block;
    margin-left: 3.5%;
    width: 31%;
    background-color: #0A0032;
    padding: 3px 1px;
    border-radius: 4px;
    text-align: center;
    line-height: 20px; }
  .product-cart__attr li:first-child {
    margin-left: 0; }
  .product-cart__attr img {
    width: 100%;
    height: auto;
    max-width: 85px;
    vertical-align: bottom; }

.product-cart__links {
  list-style: none;
  margin-bottom: 10px; }
  .product-cart__links:after {
    content: '';
    display: block;
    clear: both; }
  .product-cart__links li {
    float: left;
    width: 50%;
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.5;
    overflow: hidden;
    white-space: nowrap; }
  .product-cart__links a {
    display: block;
    position: relative;
    padding: 2px 0 2px 12px; }
  .product-cart__links a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    height: 1px;
    width: 6px;
    background-color: #0A0032;
    transform: rotate(50deg);
    transform-origin: right top; }
  .product-cart__links a:after {
    content: '';
    position: absolute;
    bottom: 50%;
    left: 0;
    display: block;
    height: 1px;
    width: 6px;
    background-color: #0A0032;
    transform: rotate(-50deg);
    transform-origin: right bottom; }

.product-action {
  border-top: 1px #ddd solid;
  padding-top: 10px; }

.product-action__list {
  list-style: none;
  margin-bottom: 10px; }
  .product-action__list:after {
    content: '';
    display: block;
    clear: both; }
  .product-action__list li {
    float: left;
    width: 48%;
    margin-left: 4%;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4; }
  .product-action__list li:first-child {
    margin-left: 0; }
  .product-action__list a {
    position: relative;
    display: block;
    padding: 10px 0 10px 40px;
    border-radius: 3px;
    background-color: #eaeaea; }
  .product-action__list a:hover {
    background-color: #ddd; }

.product-action__btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  text-align: left;
  -webkit-appearance: none;
  position: relative;
  display: block;
  width: 100%;
  padding: 10px 0 10px 40px;
  border-radius: 3px;
  background-color: #eaeaea;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4; }
  .product-action__btn:hover {
    background-color: #ddd; }
  .product-action__btn:hover, .product-action__btn:active, .product-action__btn:focus {
    color: #2C2B29 !important; }

.product-action__ttl-add {
  display: inline; }

.product-action__ttl-delete {
  display: none; }

.product-action__img {
  position: absolute;
  top: 50%;
  left: 12px;
  margin-top: -10px;
  width: 20px;
  height: 20px; }
  .product-action__img img {
    width: 20px;
    height: 20px; }

.product-action__img--fav {
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav_active.png) no-repeat center center;
  background-size: 20px 20px; }
  .product-action__img--fav img {
    display: none; }

.favorite-button--active.product-action__btn {
  background-color: #0A0032;
  /* v2.3 edit */
  color: #fff !important; }

/* v2.3 add */
.favorite-button--active.product-action__btn:hover {
  background-color: #3a2f61; }

.favorite-button--active .product-action__img--fav {
  background-image: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav.png); }

.favorite-button--active .product-action__ttl-add {
  display: none; }

.favorite-button--active .product-action__ttl-delete {
  display: inline; }

.product-share {
  border-top: 1px #ddd solid;
  padding-top: 10px; }

.product-share__list {
  list-style: none;
  font-size: 0;
  letter-spacing: -.4em; }
  .product-share__list li {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px; }

.product-f {
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px #bbb solid;
  margin-bottom: 30px; }

@media (max-width: 991px) {
  .product-heading {
    margin-top: 20px;
    margin-bottom: 20px;
    min-height: 51px; }
  .product-heading__ttl {
    font-size: 17px;
    line-height: 1.5; }
  .product-photo,
  .product-cart {
    float: none;
    width: 100%;
    margin-bottom: 30px; }
  .product-cart__price-min,
  .product-cart__price-max {
    display: inline; }
  .product-cart__qty {
    margin-bottom: 20px; }
  .product-cart__links li {
    font-size: 12px; }
  .product-action {
    padding-top: 20px; }
  .product-action__list {
    margin-bottom: 20px; }
    .product-action__list br {
      display: none; }
  .product-share {
    padding-top: 20px; } }

/* option page */
.product-option {
  margin: 10px;
  padding: 4%;
  background-color: #fff;
  border-radius: 3px; }

.product-option__heading {
  margin-bottom: 20px; }

.product-option__ttl {
  display: block;
  background-color: #0A0032;
  border-radius: 3px;
  color: #fff;
  padding: 5px 10px;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .02em; }

.product-option__name {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .02em; }

.product-option__table {
  width: 100%;
  margin-bottom: 0; }
  .product-option__table th, .product-option__table td {
    padding: 5px;
    text-align: center !important; }

.product-option__footer {
  margin: 25px 0;
  text-align: center; }
  .product-option__footer .copyright {
    margin: 25px auto 0;
    padding: 0;
    font-size: 11px;
    font-weight: 400;
    border: 0;
    text-align: center; }

/* top */
.top-slide {
  position: relative;
  margin-bottom: 30px;
  overflow: hidden;
  opacity: 0; }
  .top-slide .bx-wrapper .bx-pager {
    padding-top: 10px;
    bottom: -20px; }
  .top-slide .bx-wrapper {
    max-width: 100%;
    margin: 0px auto 20px; }
  .top-slide .bx-wrapper .bx-viewport {
    overflow: visible !important; }

.top-slide__container {
  width: 833px;
  max-width: 980px;
  margin: 0 auto; }

.top-slide__list {
  padding: 0; }
  .top-slide__list > div {
    width: 100%; }

.top-slide__img {
  display: block;
  width: 100%;
  margin: 0;
  height: 0;
  padding-bottom: 51.86%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  vertical-align: bottom; }

.top-slide__pict {
  position: relative;
  display: block;
  margin: 0;
  height: 0;
  padding-bottom: 51.86%; }

.top-slide__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center; }

.top-slide__caption--active:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(54, 50, 46, 0) 0%, rgba(54, 50, 46, 0.5) 100%);
  pointer-events: none; }

.top-slide__caption {
  position: absolute;
  display: block;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: left;
  z-index: 3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  white-space: normal;
  pointer-events: none;
  padding: 0 37px 25px; }
  .top-slide__caption .caption-cat {
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    line-height: 1.2;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff; }
  .top-slide__caption .caption-ttl {
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    margin-top: 6px; }
  .top-slide__caption .caption-desc {
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .03em;
    margin-top: 4px; }

.top-slide__index {
  width: 90%;
  max-width: 980px;
  margin: 30px auto 0;
  text-align: center;
  display: flex;
  display: -ms-flexbox;
  -ms-flex-pack: center;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
  .top-slide__index .top-slide__caption {
    display: none !important;
    pointer-events: none; }
  .top-slide__index > div {
    max-width: 120px;
    padding: 0 10px 20px;
    -ms-flex: 0 2 120px;
    flex: 0 2 120px; }
  .top-slide__index a {
    display: block;
    border: 2px transparent solid; }
  .top-slide__index a.active {
    border: 2px #0A0032 solid;
    transition: .4s; }
  .top-slide__index .top-slide__img {
    display: block;
    width: 100%;
    margin: 0;
    padding-bottom: 52.35%; }
  .top-slide__index .top-slide__pict {
    display: block;
    width: 100%;
    margin: 0;
    padding-bottom: 54%; }

.top-slide__loading {
  position: absolute;
  top: 188px;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  border: 3px solid #0A0032;
  border-right-color: transparent;
  animation: circlerotate 1s linear infinite;
  -webkit-animation: circlerotate 1s linear infinite;
  z-index: 1; }

.top-slide--active {
  opacity: 1;
  transition: .4s; }
  .top-slide--active .top-slide__loading {
    display: none; }

@keyframes circlerotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@-webkit-keyframes (circlerotate) {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@media (max-width: 575px) {
  .top-slide {
    margin-bottom: 20px; }
  .top-slide__container {
    width: 100%; }
  .top-slide__img {
    padding-bottom: 66%; }
  .top-slide__pict {
    padding-bottom: 66%; }
  .top-slide__caption {
    padding: 0 27px 20px; }
    .top-slide__caption .caption-cat {
      font-size: 11px; }
    .top-slide__caption .caption-ttl {
      font-size: 16px; }
    .top-slide__caption .caption-desc {
      font-size: 12px; }
  .top-slide__index {
    margin: 10px auto 0; }
    .top-slide__index > div {
      padding: 0 5px 10px;
      -ms-flex: 0 2 20%;
      flex: 0 2 20%; }
  .top-slide__loading {
    top: 100px; } }

.concept-banner {
  display: table;
  background-color: #0A0032;
  margin-bottom: 40px; }
  .concept-banner a {
    display: block;
    color: #fff; }
  .concept-banner a:hover .concept-banner__link {
    border-bottom-color: #fff;
    transition: .3s; }

.concept-banner__image {
  position: relative;
  display: table-cell;
  width: 50%;
  background: url(https://file001.shop-pro.jp/PA01013/625/contents/aboutus/aboutus_ttl_img.jpg) no-repeat center center;
  background-size: cover;
  text-align: center;
  vertical-align: middle;
  padding: 10px 20px 20px; }

.concept-banner__image:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 0, 50, 0.2);
  z-index: 1; }

.concept-banner__heading {
  position: relative;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/logo_mark_wire_circle_w.png) no-repeat top center;
  background-size: 64px 64px;
  padding-top: 70px;
  z-index: 2; }

.concept-banner__ttl-en {
  display: block;
  font-size: 32px;
  line-height: 1.2;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: .2em;
  color: #fff;
  margin-bottom: 5px;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
  text-transform: uppercase; }

.concept-banner__ttl {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .1em;
  color: #fff; }

.concept-banner__txt {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  padding: 40px 40px 45px;
  color: #fff; }

.concept-banner__catch {
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600; }

.concept-banner__desc {
  margin-bottom: 10px;
  font-size: 11px;
  line-height: 1.7; }

.concept-banner__link {
  position: relative;
  display: inline-block;
  padding-right: 25px;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .03em;
  font-weight: 600;
  border-bottom: 1px transparent solid; }
  .concept-banner__link .typo-en {
    font-size: 14px;
    letter-spacing: .1em;
    margin-right: 5px;
    vertical-align: baseline; }
  .concept-banner__link:before, .concept-banner__link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 2%;
    display: block;
    height: 1px;
    width: 10px;
    background-color: white;
    transform: rotate(50deg);
    transform-origin: right top; }
  .concept-banner__link:after {
    top: auto;
    bottom: 50%;
    transform: rotate(-50deg);
    transform-origin: right bottom; }

@media (max-width: 575px) {
  .concept-banner {
    display: block;
    margin-bottom: 40px; }
  .concept-banner__image {
    display: block;
    width: 100%;
    padding: 50px 20px 40px; }
  .concept-banner__heading {
    background-size: 46px 46px;
    padding-top: 48px; }
  .concept-banner__ttl-en {
    display: block;
    font-size: 28px;
    margin-bottom: 2px; }
  .concept-banner__ttl {
    font-size: 13px; }
  .concept-banner__txt {
    display: block;
    padding: 25px 30px 30px; }
  .concept-banner__catch {
    font-size: 15px; } }

.info-news {
  border: 3px #0A0032 solid; }

.info-news__heading {
  position: relative;
  padding: 15px 20px;
  border-bottom: 3px #0A0032 solid; }

.info-news__ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .1em; }

.info-news__ttl-en {
  position: absolute;
  right: 20px;
  bottom: 17px;
  font-size: 13px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase; }

.info-news__list {
  padding: 15px 20px 5px; }
  .info-news__list:after {
    content: '';
    display: block;
    clear: both; }
  .info-news__list dt {
    font-family: 'Work Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .1em; }
  .info-news__list dd {
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 10px; }
  .info-news__list a {
    border-bottom: 1px #2C2B29 solid; }
  .info-news__list a:hover {
    color: #65635f; }

@media (max-width: 575px) {
  .info-news__ttl {
    font-size: 15px; }
  .info-news__ttl-en {
    font-size: 12px; }
  .info-news__list dt {
    margin-bottom: 5px; }
  .info-news__list dd {
    margin-bottom: 20px; } }

/* style wrap */
.style-wrap {
  max-width: 725px;
  margin-right: auto;
  margin-left: auto;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: .01em;
  clear: both; }
  .style-wrap:after {
    content: '';
    display: block;
    clear: both; }
  .style-wrap a {
    text-decoration: underline; }
  .style-wrap h1, .style-wrap h2, .style-wrap h3, .style-wrap h4, .style-wrap p, .style-wrap ul, .style-wrap ol, .style-wrap dl, .style-wrap table,
  .style-wrap > img {
    margin-bottom: 20px; }
  .style-wrap h1 {
    margin: 20px 0;
    padding: 15px 0 12px;
    font-size: 28px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap h2 {
    position: relative;
    margin: 20px 0;
    border-bottom: 2px #0A0032 solid;
    padding: 15px 0 12px;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap h3 {
    position: relative;
    padding: 15px 0 7px;
    border-bottom: 1px #bbb solid;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap h4 {
    padding: 10px 0 0;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap .page-heading h1, .style-wrap .page-heading h2, .style-wrap .page-heading h3, .style-wrap .page-heading h4,
  .style-wrap .page-heading-center h1,
  .style-wrap .page-heading-center h2,
  .style-wrap .page-heading-center h3,
  .style-wrap .page-heading-center h4,
  .style-wrap .img-heading h1,
  .style-wrap .img-heading h2,
  .style-wrap .img-heading h3,
  .style-wrap .img-heading h4,
  .style-wrap .banner-heading h1,
  .style-wrap .banner-heading h2,
  .style-wrap .banner-heading h3,
  .style-wrap .banner-heading h4 {
    position: static;
    margin: auto;
    border-bottom: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit; }
  .style-wrap .heading--lg {
    position: relative;
    margin: 0 0 20px;
    padding: 15px 0 12px;
    border-bottom: 2px #0A0032 solid;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap .heading--md {
    position: relative;
    margin: 0 0 20px;
    padding: 10px 0;
    border-bottom: 1px #bbb solid;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .02em; }
  .style-wrap .heading--sm {
    position: relative;
    padding: 10px 0 0;
    margin-bottom: 12px;
    border-bottom: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em; }
  .style-wrap .heading--noline {
    padding-bottom: 0 !important;
    border-bottom: 0; }
  .style-wrap .heading--first {
    margin-top: 0;
    padding-top: 0 !important; }
  .style-wrap img {
    max-width: 100%;
    height: auto; }
  .style-wrap p {
    line-height: 1.8; }
  .style-wrap .p--sm {
    line-height: 1.6;
    font-size: 92%; }
  .style-wrap ul {
    margin: 0 0 20px 3em; }
  .style-wrap ol {
    margin: 0 0 20px 3em; }
  .style-wrap li {
    margin-bottom: 5px; }
  .style-wrap li:last-child {
    margin-bottom: 0; }
  .style-wrap .list-sm,
  .style-wrap .list--sm {
    margin-top: -5px;
    margin-bottom: 15px;
    list-style-type: circle; }
    .style-wrap .list-sm li,
    .style-wrap .list--sm li {
      font-size: 12px;
      line-height: 1.5; }
  .style-wrap .list-line {
    list-style: none;
    margin-left: 50px; }
    .style-wrap .list-line li {
      position: relative;
      margin-bottom: 7px; }
    .style-wrap .list-line li:before {
      content: '';
      position: absolute;
      top: .6em;
      left: -40px;
      width: 30px;
      height: 1px;
      background-color: #0A0032; }
  .style-wrap .list-remarks {
    list-style: none;
    margin: 0 0 20px 1.2em; }
    .style-wrap .list-remarks li {
      position: relative;
      font-size: 12px; }
    .style-wrap .list-remarks li:before {
      content: "\0203B";
      position: absolute;
      top: 0;
      left: -1.2em; }
  .style-wrap dt {
    font-weight: 600;
    margin: 0 15px 10px 0; }
  .style-wrap dd {
    margin: 0 0 20px 30px; }
    .style-wrap dd > *,
    .style-wrap dd p, .style-wrap dd ul, .style-wrap dd ol, .style-wrap dd dl, .style-wrap dd table {
      margin-top: 10px;
      margin-bottom: 10px; }
    .style-wrap dd > *:first-child {
      margin-top: 0; }
    .style-wrap dd > *:last-child {
      margin-bottom: 0; }
    .style-wrap dd ul, .style-wrap dd ol {
      margin-left: 2em; }
  .style-wrap table {
    width: 100%;
    margin: 0 0 15px;
    border-collapse: collapse;
    border: 1px #ddd solid; }
  .style-wrap caption {
    font-size: 16px;
    font-weight: 600;
    padding: 10px 0;
    text-align: left; }
  .style-wrap th, .style-wrap td {
    border: 1px #ddd solid;
    padding: 8px 10px;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.7; }
  .style-wrap th {
    border: 1px #ddd solid;
    background-color: #f8f8f8;
    min-width: 80px; }
  .style-wrap td > *,
  .style-wrap td p, .style-wrap td ul, .style-wrap td ol, .style-wrap td dl, .style-wrap td table {
    margin-top: 10px;
    margin-bottom: 10px; }
  .style-wrap td > *:first-child {
    margin-top: 0; }
  .style-wrap td > *:last-child {
    margin-bottom: 0; }
  .style-wrap td ul, .style-wrap td ol {
    margin-left: 2em; }
  .style-wrap thead th,
  .style-wrap tfoot th {
    text-align: center; }
  @media (max-width: 991px) {
    .style-wrap th {
      min-width: 30px; } }
  .style-wrap hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #bbb;
    margin: 30px 0;
    padding: 0; }
  .style-wrap .bg-wrap > *,
  .style-wrap .bg-wrap p, .style-wrap .bg-wrap ul, .style-wrap .bg-wrap ol, .style-wrap .bg-wrap dl, .style-wrap .bg-wrap table,
  .style-wrap .border-wrap > *,
  .style-wrap .border-wrap p,
  .style-wrap .border-wrap ul,
  .style-wrap .border-wrap ol,
  .style-wrap .border-wrap dl,
  .style-wrap .border-wrap table {
    margin-top: 10px;
    margin-bottom: 10px; }
  .style-wrap .dl-col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 1px #bbb solid;
    clear: both;
    font-size: 0;
    letter-spacing: -.4em; }
    .style-wrap .dl-col:after {
      content: '';
      display: block;
      clear: both; }
    .style-wrap .dl-col dt {
      width: 25%;
      margin: 0;
      padding: 15px 10px 15px 5px;
      display: inline-block;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      border-top: 1px #bbb solid;
      font-size: 14px;
      letter-spacing: .01em;
      vertical-align: top; }
    .style-wrap .dl-col dd {
      width: 75%;
      margin: 0;
      padding: 15px 5px;
      display: inline-block;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      border-top: 1px #bbb solid;
      font-size: 14px;
      letter-spacing: .01em;
      vertical-align: top; }
      .style-wrap .dl-col dd > *,
      .style-wrap .dl-col dd p, .style-wrap .dl-col dd ul, .style-wrap .dl-col dd ol, .style-wrap .dl-col dd dl, .style-wrap .dl-col dd table {
        margin-top: 10px;
        margin-bottom: 10px; }
      .style-wrap .dl-col dd > *:first-child {
        margin-top: 0; }
      .style-wrap .dl-col dd > *:last-child {
        margin-bottom: 0; }
      .style-wrap .dl-col dd .bg-wrap {
        margin: 20px 0; }
  .style-wrap .dl-col--lg dt {
    padding: 30px 10px 28px;
    font-size: 16px; }
  .style-wrap .dl-col--lg dd {
    padding: 30px 10px 28px; }
  .style-wrap .dl-toggle {
    width: 100%;
    clear: both;
    font-size: 0;
    letter-spacing: -.4em; }
    .style-wrap .dl-toggle:after {
      content: '';
      display: block;
      clear: both; }
    .style-wrap .dl-toggle dt {
      position: relative;
      display: block;
      margin: 0 0 10px 40px;
      padding: 0;
      font-size: 15px;
      letter-spacing: .01em;
      vertical-align: top;
      pointer-events: auto;
      cursor: pointer; }
    .style-wrap .dl-toggle dt:hover {
      color: #868480; }
    .style-wrap .dl-toggle dt:before {
      content: '';
      position: absolute;
      top: .6em;
      left: -40px;
      width: 30px;
      height: 1px;
      background-color: #0A0032; }
    .style-wrap .dl-toggle dd {
      display: none;
      position: relative;
      margin: 0 0 30px 40px;
      max-width: 685px;
      padding: 0;
      font-size: 14px;
      letter-spacing: .01em;
      vertical-align: top;
      overflow: hidden; }
      .style-wrap .dl-toggle dd > *,
      .style-wrap .dl-toggle dd p, .style-wrap .dl-toggle dd ul, .style-wrap .dl-toggle dd ol, .style-wrap .dl-toggle dd dl, .style-wrap .dl-toggle dd table {
        margin-top: 10px;
        margin-bottom: 10px; }
      .style-wrap .dl-toggle dd > *:first-child {
        margin-top: 0; }
      .style-wrap .dl-toggle dd > *:last-child {
        margin-bottom: 0; }
      .style-wrap .dl-toggle dd .bg-wrap {
        margin: 20px 0; }
  .style-wrap .faq-q {
    position: relative;
    margin-bottom: 20px;
    border-bottom: 0;
    padding: 10px 0 0 50px;
    font-size: 18px;
    letter-spacing: .01em; }
  .style-wrap .faq-q:before {
    content: 'Q';
    position: absolute;
    top: 0;
    left: 10px;
    font-size: 34px;
    font-weight: 500; }
  .style-wrap .faq-a {
    padding: 0 0 0 70px;
    margin-bottom: 30px; }
  .style-wrap .section-index {
    margin-bottom: 20px; }
  .style-wrap .section-index__ttl,
  .style-wrap .section-index__ttl-en {
    padding: 5px;
    font-weight: 600;
    font-size: 13px; }
  .style-wrap .section-index__ttl-en {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .1em; }
  .style-wrap .section-index__list {
    background-color: #bbb;
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    border-top: 1px #0A0032 solid;
    border-left: 1px #0A0032 solid; }
    .style-wrap .section-index__list:after {
      content: '';
      display: block;
      clear: both; }
    .style-wrap .section-index__list li {
      display: inline-block;
      max-width: 33.33%;
      -ms-flex: 0 1 33.33%;
      flex: 0 1 33.33%;
      background-color: #39325a;
      float: left;
      font-size: 12px;
      font-weight: 600;
      margin: 0;
      padding: 0;
      letter-spacing: .06em;
      border-right: 1px #0A0032 solid;
      border-bottom: 1px #0A0032 solid; }
    .style-wrap .section-index__list a {
      display: block;
      padding: 10px 15px;
      position: relative;
      color: #fff;
      text-decoration: none; }
    .style-wrap .section-index__list a:hover {
      background-color: #433b6a; }
  .style-wrap .review-list__unit {
    position: relative;
    margin-bottom: 40px; }
    .style-wrap .review-list__unit:after {
      content: '';
      display: block;
      clear: both; }
  .style-wrap .review-list__balloon {
    position: relative;
    float: right;
    width: 75%;
    border: 1px #bbb solid;
    padding: 35px 35px 20px; }
    .style-wrap .review-list__balloon p {
      margin-bottom: 10px; }
  .style-wrap .review-list__balloon:before {
    content: '';
    position: absolute;
    top: 40px;
    left: -30px;
    border: 15px transparent solid;
    border-right-color: #ccc; }
  .style-wrap .review-list__balloon:after {
    content: '';
    position: absolute;
    top: 42px;
    left: -26px;
    border: 13px transparent solid;
    border-right-color: #fff; }
  .style-wrap .review-list__ttl {
    font-size: 20px;
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px #bbb solid; }
  .style-wrap .review-list__product-name {
    font-size: 15px;
    font-weight: 600; }
  .style-wrap .review-list__comment {
    font-size: 13px;
    overflow: hidden; }
  .style-wrap .review-list__date {
    position: absolute;
    display: inline-block;
    top: 0;
    right: 0;
    background-color: #0A0032;
    padding: 4px 15px 6px 17px;
    line-height: 1.2;
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600; }
  .style-wrap .review-list__btn-link {
    clear: both;
    padding-top: 10px; }
    .style-wrap .review-list__btn-link .btn-link--md {
      display: block;
      width: 100%; }
  .style-wrap .review-list__cmsjs {
    float: right;
    width: 120px;
    margin-left: 20px; }
    .style-wrap .review-list__cmsjs .cartjs_box {
      padding: 0 !important; }
    .style-wrap .review-list__cmsjs .cartjs_product_img {
      width: 100% !important;
      margin: 0 0 5px !important;
      padding: 0 !important;
      text-align: center; }
    .style-wrap .review-list__cmsjs .cartjs_product_name {
      display: none; }
    .style-wrap .review-list__cmsjs .cartjs_product_table table {
      border: 0 !important;
      min-width: 0;
      width: 100% !important;
      margin: 0 !important; }
    .style-wrap .review-list__cmsjs .cartjs_sales_price th {
      display: none; }
    .style-wrap .review-list__cmsjs .cartjs_sales_price td {
      text-align: right;
      font-weight: 600 !important;
      font-size: 13px !important;
      padding: 5px !important;
      border-right: 0 !important;
      border-left: 0 !important;
      border-top: 1px #ddd solid;
      border-bottom: 1px #ddd solid;
      line-height: 20px; }
    .style-wrap .review-list__cmsjs .cartjs_cart_in {
      display: none; }
    .style-wrap .review-list__cmsjs .cartjs_product_num {
      display: none; }
  .style-wrap .review-list__fav-btn {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: relative;
    top: -32px;
    width: 32px;
    height: 32px;
    background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_fav.png) no-repeat center center;
    background-size: 20px 20px;
    cursor: pointer;
    z-index: 2; }
  .style-wrap .review-list__fav-btn:hover img {
    transform: scale(1.2); }
  .style-wrap .review-list__fav-btn:active {
    color: #2C2B29; }
  .style-wrap .review-list__by {
    float: left;
    width: 23%;
    text-align: center;
    margin-top: 20px; }
  .style-wrap .review-list__thumb {
    margin: 0 auto 10px; }
    .style-wrap .review-list__thumb img {
      width: 100px;
      height: 100px; }
  .style-wrap .review-list__post {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 3px; }
  .style-wrap .review-list__name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4; }
  .style-wrap .review-list__unit--left .review-list__balloon {
    float: left; }
  .style-wrap .review-list__unit--left .review-list__balloon:before {
    left: auto;
    right: -30px;
    border-right-color: transparent;
    border-left-color: #ccc; }
  .style-wrap .review-list__unit--left .review-list__balloon:after {
    left: auto;
    right: -26px;
    border-right-color: transparent;
    border-left-color: #fff; }
  .style-wrap .review-list__unit--left .review-list__by {
    float: right; }

.style-wrap__wide {
  margin-right: -127px;
  margin-left: -127px; }

.img-wrap {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 25%;
  margin-bottom: 20px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.img-wrap--sm {
  padding-bottom: 25%; }

.img-wrap--md {
  padding-bottom: 45%; }

.img-wrap--lg {
  padding-bottom: 66%; }

.img-wrap--bg-top {
  background-position: 50% 10%; }

.img-wrap--bg-bottom {
  background-position: 50% 90%; }

.img-circle,
.img-circle--lg {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  background-color: #0A0032;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.img-circle--md {
  width: 80%;
  padding-bottom: 80%; }

.img-circle--sm {
  width: 60%;
  padding-bottom: 60%; }

.img-circle__no {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
  font-size: 36px;
  line-height: 40px;
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  z-index: 3; }

@media (max-width: 575px) {
  .img-circle__no {
    font-size: 52px; } }

.free-wrap {
  margin-bottom: 50px; }

.bg-wrap {
  background-color: #f7f7f7;
  margin: 10px 0 30px;
  padding: 20px 30px;
  font-size: 95%; }

.bg-wrap.bg-red, .bg-wrap.bg-pink, .bg-wrap.bg-orange, .bg-wrap.bg-yellow, .bg-wrap.bg-green, .bg-wrap.bg-blue, .bg-wrap.bg-purple, .bg-wrap.bg-gray, .bg-wrap.bg-black {
  color: #fff;
  -webkit-font-smoothing: subpixel-antialiased; }
  .bg-wrap.bg-red *,
  .bg-wrap.bg-red a:hover, .bg-wrap.bg-pink *,
  .bg-wrap.bg-pink a:hover, .bg-wrap.bg-orange *,
  .bg-wrap.bg-orange a:hover, .bg-wrap.bg-yellow *,
  .bg-wrap.bg-yellow a:hover, .bg-wrap.bg-green *,
  .bg-wrap.bg-green a:hover, .bg-wrap.bg-blue *,
  .bg-wrap.bg-blue a:hover, .bg-wrap.bg-purple *,
  .bg-wrap.bg-purple a:hover, .bg-wrap.bg-gray *,
  .bg-wrap.bg-gray a:hover, .bg-wrap.bg-black *,
  .bg-wrap.bg-black a:hover {
    color: #fff; }

.border-wrap {
  margin: 25px 0 30px;
  border: 1px #868480 solid;
  padding: 20px 30px;
  font-size: 95%; }
  .border-wrap:after {
    content: '';
    display: block;
    clear: both; }
  .border-wrap .typo-banner {
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 15px 0 !important; }

.border-wrap--warn {
  border: 3px #0A0032 solid; }
  .border-wrap--warn .border-wrap__ttl {
    color: #0A0032; }

.border-wrap__heading {
  margin-top: -25px !important;
  margin-bottom: 15px !important;
  height: 20px;
  line-height: 20px;
  text-align: center; }

.border-wrap__ttl {
  font-size: 16px !important;
  font-weight: 600 !important;
  display: inline-block;
  background-color: #fff;
  padding: 0 15px !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important; }

.border-wrap--sm,
.bg-wrap--sm {
  padding: 10px 20px;
  font-size: 90%; }

@media (max-width: 991px) {
  .border-wrap {
    margin: 15px 0 30px;
    border: 1px #868480 solid;
    padding: 15px 25px; }
    .border-wrap:after {
      content: '';
      display: block;
      clear: both; }
    .border-wrap .typo-banner {
      font-size: 18px !important; }
  .border-wrap__heading {
    margin-top: -22px !important;
    margin-bottom: 15px !important; }
  .bg-wrap {
    padding: 13px 23px; } }

.section-wrap {
  margin-bottom: 40px; }

.indent-wrap {
  margin-left: 7%; }

.margin-wrap {
  margin: 5%; }

.guide-index__tab {
  list-style: none; }
  .guide-index__tab:after {
    content: '';
    display: block;
    clear: both; }
  .guide-index__tab li {
    float: left;
    width: 49%;
    margin-left: 2%;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em; }
  .guide-index__tab li:first-child {
    margin-left: 0; }
  .guide-index__tab a, .guide-index__tab span {
    display: block;
    padding: 10px 0;
    background-color: #39325a;
    color: #fff;
    border-bottom: 1px rgba(255, 255, 255, 0.2) solid; }
  .guide-index__tab a {
    background-color: #ddd;
    border-bottom: 1px #fff solid;
    color: #2C2B29; }
  .guide-index__tab a:hover {
    background-color: #eee;
    transition: .2s;
    text-decoration: none; }

.guide-index__container {
  padding: 20px 35px;
  margin-bottom: 20px;
  background-color: #39325a; }

.guide-index__list {
  list-style: none;
  padding: 5px 10px; }
  .guide-index__list li {
    font-size: 12px;
    margin: 5px 0;
    letter-spacing: .02em; }
  .guide-index__list a {
    position: relative;
    color: #fff;
    padding-left: 15px; }
  .guide-index__list a:hover {
    text-decoration: underline; }
  .guide-index__list a:before,
  .guide-index__list a:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    height: 1px;
    width: 7px;
    background-color: white;
    transform: rotate(50deg);
    transform-origin: right top; }
  .guide-index__list a:after {
    top: auto;
    bottom: 50%;
    transform: rotate(-50deg);
    transform-origin: right bottom; }

@media (max-width: 991px) {
  .style-wrap .heading--lg {
    padding: 12px 0 10px;
    font-size: 18px;
    font-weight: 600;
    text-align: center; }
  .style-wrap .p--sm {
    line-height: 1.8;
    font-size: 100%; }
  .style-wrap th, .style-wrap td {
    padding: 10px; }
  .style-wrap .dl-col {
    display: block;
    border-bottom: 0; }
    .style-wrap .dl-col dt {
      width: 100%;
      margin: 0 0 10px;
      padding: 0 0 7px;
      display: block;
      border-top: 0;
      border-bottom: 1px #bbb solid; }
    .style-wrap .dl-col dd {
      width: 100%;
      margin: 0 0 15px;
      padding: 0;
      display: block;
      border-top: 0; }
  .style-wrap .faq-a {
    padding: 2% 3%; }
  .style-wrap .section-index__list li {
    display: inline-block;
    max-width: 50%;
    -ms-flex: 0 1 50%;
    flex: 0 1 50%; }
  .style-wrap .section-index__list a {
    display: block;
    padding: 10px 15px;
    position: relative;
    color: #fff;
    text-decoration: none; }
  .style-wrap .section-index__list a:hover {
    background-color: #433b6a; }
  .style-wrap .review-list__unit {
    text-align: center; }
  .style-wrap .review-list__balloon {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    text-align: left; }
  .style-wrap .review-list__balloon:before {
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border-right-color: transparent;
    border-top-color: #ccc; }
  .style-wrap .review-list__balloon:after {
    top: 100%;
    left: 50%;
    margin-left: -13px;
    border-right-color: transparent;
    border-top-color: #fff; }
  .style-wrap .review-list__cmsjs {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px; }
  .style-wrap .review-list__cmsjs .cartjs_product_img img {
    width: 70% !important;
    height: auto !important; }
  .style-wrap .review-list__by {
    float: none;
    width: auto;
    display: inline-block;
    margin-top: 0;
    text-align: left; }
  .style-wrap .review-list__thumb {
    display: inline-block;
    float: left;
    margin-right: 10px; }
    .style-wrap .review-list__thumb img {
      width: 50px;
      height: 50px; }
  .style-wrap .review-list__post {
    display: inline-block;
    margin: 8px 0 3px; }
  .style-wrap .review-list__name {
    display: block; }
  .style-wrap .review-list__unit--left .review-list__balloon {
    float: none; }
  .style-wrap .review-list__unit--left .review-list__balloon:before {
    top: 100%;
    left: 50%;
    right: auto;
    border-left-color: transparent;
    border-top-color: #ccc; }
  .style-wrap .review-list__unit--left .review-list__balloon:after {
    top: 100%;
    left: 50%;
    right: auto;
    border-left-color: transparent;
    border-top-color: #fff; }
  .style-wrap .review-list__unit--left .review-list__by {
    float: none; }
  .style-wrap__wide {
    margin-right: 0;
    margin-left: 0; }
  .style-wrap__wide.row {
    margin-right: -15px;
    margin-left: -15px; }
  .img-wrap {
    margin-right: -8.13%;
    margin-left: -8.13%;
    width: auto; }
  .img-wrap,
  .img-wrap--sm {
    padding-bottom: 35%; }
  .img-wrap--md {
    padding-bottom: 55%; }
  .indent-wrap {
    margin-left: 0; }
  .guide-index__tab li {
    font-size: 12px; }
  .guide-index__list {
    padding: 0 10px; }
    .guide-index__list li {
      margin: 0;
      padding: 5px 0; } }

/* posts */
.posts__unit {
  margin-bottom: 40px; }
  .posts__unit a {
    text-decoration: none; }
  .posts__unit a:hover {
    color: #0A0032; }
    .posts__unit a:hover .posts__img {
      opacity: .7;
      transition: .2s; }
    .posts__unit a:hover .posts__pict {
      opacity: .7;
      transition: .2s; }
    .posts__unit a:hover .posts__more {
      color: #E8631E; }
    .posts__unit a:hover .posts__link {
      text-decoration: underline; }

.posts__thumb {
  position: relative;
  width: 100%;
  margin-bottom: 15px !important; }

.posts__img {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1; }

.posts__pict {
  position: relative;
  display: block;
  height: 0;
  padding-bottom: 66%;
  z-index: 1; }

.posts__pict img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center; }

.posts__label {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  background-color: #39325a;
  color: #fff;
  font-size: 11px;
  text-align: center;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 3px 12px 2px 13px;
  line-height: 1.4;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  z-index: 2; }

.posts__date {
  font-family: 'Work Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.2 !important;
  margin-bottom: 5px !important; }

.posts__ttl {
  margin: 0 0 5px !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  letter-spacing: .03em;
  line-height: 1.6;
  font-weight: 600;
  word-break: break-all;
  text-decoration: none; }

.posts__desc {
  font-size: 12px;
  line-height: 1.6; }
  .posts__desc p {
    margin-bottom: 5px; }

.posts__more {
  font-weight: 600;
  text-decoration: underline; }

.posts__link {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  padding-left: 22px;
  line-height: 1.4;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/btn_arr.png) no-repeat 0 0.2em;
  background-size: 16px 16px; }
  .posts__link a {
    text-decoration: none; }

.posts-banner__unit {
  margin-bottom: 30px; }
  .posts-banner__unit h2, .posts-banner__unit h3, .posts-banner__unit h4, .posts-banner__unit p {
    border: 0;
    margin: 0;
    padding: 0; }
  .posts-banner__unit a {
    display: block;
    color: #2C2B29;
    text-decoration: none; }
  .posts-banner__unit a:hover {
    color: #2C2B29; }
    .posts-banner__unit a:hover .posts-banner__thumb {
      opacity: .7; }

.posts-banner__container {
  display: table;
  border: 1px #ddd solid;
  width: 100%; }

.posts-banner__thumb {
  display: table-cell;
  width: 45%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

.posts-banner__img {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.66%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1; }

.posts-banner__txt {
  display: table-cell;
  vertical-align: middle;
  padding: 10px 10px 10px 15px; }

.posts-banner__ttl {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.6 !important; }

.posts-banner__desc {
  margin-top: 10px;
  font-size: 11px; }
  .posts-banner__desc p {
    line-height: 1.6; }

/* articles */
.articles__unit {
  margin-bottom: 30px; }
  .articles__unit h2, .articles__unit h3, .articles__unit h4, .articles__unit p {
    border: 0;
    margin: 0;
    padding: 0; }
  .articles__unit a {
    display: block;
    text-decoration: none; }
  .articles__unit a:hover .articles__container {
    opacity: .7; }

.articles__container {
  position: relative;
  display: table;
  width: 100%;
  border: 1px #ddd solid;
  min-height: 160px; }

.articles--sm .articles__container {
  min-height: 120px; }

.articles__container:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  border: 7px transparent solid;
  border-right-color: #0A0032;
  border-bottom-color: #0A0032; }

.articles__thumb {
  position: relative;
  display: table-cell;
  width: 45%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .articles__thumb:before {
    content: "";
    display: inline-block;
    height: 100%;
    min-height: 160px;
    opacity: 0; }

.articles__label {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  background-color: #39325a;
  color: #fff;
  font-size: 11px;
  text-align: center;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 3px 12px 2px 13px;
  line-height: 1.4;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  z-index: 2; }

.articles__txt {
  display: table-cell;
  padding: 20px;
  vertical-align: middle; }
  .articles__txt .articles__desc {
    margin-top: 5px; }

.articles__logo {
  float: left;
  margin: 0 20px 0 0 !important;
  width: 64px; }
  .articles__logo img {
    width: 64px;
    height: auto; }

.articles__ttl {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.6;
  overflow: hidden; }

.articles__desc {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  overflow: hidden; }

.articles--vertical .articles__container {
  display: block;
  min-height: 0; }

.articles--vertical .articles__thumb {
  display: block;
  width: auto;
  height: 0;
  padding-bottom: 52%; }

.articles--vertical .articles__txt {
  display: block;
  width: auto;
  padding: 15px;
  vertical-align: inherit; }

.articles--vertical .articles__ttl {
  font-size: 14px;
  letter-spacing: .01em;
  line-height: 1.6; }

@media (max-width: 991px) {
  .articles__unit {
    margin-bottom: 20px; }
  .articles__container {
    display: block;
    min-height: 0; }
  .articles__thumb {
    display: block;
    width: auto;
    height: 0;
    padding-bottom: 50%; }
  .articles__ttl {
    font-size: 14px;
    letter-spacing: .01em;
    line-height: 1.6;
    vertical-align: inherit; }
  .articles__txt {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.4; }
    .articles__txt .articles__desc {
      font-weight: 400;
      font-size: 12px; } }

/* parts */
.btn-link {
  position: relative;
  display: inline-block;
  padding: 10px 50px 9px 35px;
  background-color: #0A0032;
  color: #fff !important;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
  text-decoration: none !important;
  border-radius: 2px;
  border: 0; }
  .btn-link:before, .btn-link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    height: 2px;
    width: 8px;
    background-color: white;
    transform: rotate(45deg);
    transform-origin: right top; }
  .btn-link:after {
    top: auto;
    bottom: 50%;
    transform: rotate(-45deg);
    transform-origin: right bottom; }
  .btn-link:hover,
  .btn-link:focus {
    background-color: #39325a;
    color: #fff !important;
    transition: .1s;
    text-decoration: none; }

.btn-link--md,
.btn-link--lg {
  display: block;
  padding: 15px;
  font-size: 16px;
  margin-right: auto;
  margin-left: auto; }

.btn-link--md {
  display: inline-block;
  padding: 16px 55px 14px 50px;
  font-size: 14px; }

.btn-link--sm {
  display: inline-block;
  padding: 12px 30px 11px;
  font-size: 12px;
  margin-right: auto;
  margin-left: auto; }

.btn-link--sm:before,
.btn-link--sm:after {
  display: none;
}

.btn-link--no-arrow {
  padding-right: 15px;
  padding-left: 15px;
}

.btn-link--no-arrow:before,
.btn-link--no-arrow:after {
  display: none;
}

.btn-link--gray {
  background-color: #bdbdbe;
}

.btn-link--gray:hover,
.btn-link--gray:focus {
  background-color: #b3b3b3;
}

.btn-link.btn-link--back {
  padding: 10px 35px 9px 50px; }

.btn-link--md.btn-link--back {
  padding: 16px 45px 14px 55px; }

.btn-link--back:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 5%;
  display: block;
  height: 2px;
  width: 8px;
  background-color: white;
  transform: rotate(-45deg);
  transform-origin: left top; }

.btn-link--back:after {
  content: '';
  position: absolute;
  bottom: 50%;
  left: 5%;
  display: block;
  height: 2px;
  width: 8px;
  background-color: white;
  transform: rotate(45deg);
  transform-origin: left bottom; }

.btn-close {
  position: relative;
  display: inline-block;
  padding: 8px 40px 9px 55px;
  background-color: #0A0032;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  text-decoration: none !important; }
  .btn-close:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    display: block;
    height: 2px;
    width: 16px;
    margin-top: -1px;
    background-color: white;
    transform: rotate(45deg);
    transform-origin: center center; }
  .btn-close:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    display: block;
    height: 2px;
    width: 16px;
    margin-top: -1px;
    background-color: white;
    transform: rotate(-45deg);
    transform-origin: center center; }
  .btn-close:hover {
    background-color: #39325a;
    color: #fff !important;
    transition: .1s;
    text-decoration: none; }

.arr-link {
  display: inline-block;
  position: relative;
  padding-right: 18px;
  text-decoration: none !important; }
  .arr-link:before, .arr-link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    height: 1px;
    width: 8px;
    background-color: #2C2B29;
    transform: rotate(50deg);
    transform-origin: right top; }
  .arr-link:after {
    top: auto;
    bottom: 50%;
    transform: rotate(-50deg);
    transform-origin: right bottom; }
  .arr-link:hover:before, .arr-link:hover:after {
    background-color: #65635f; }

.btn-layout:after {
  content: '';
  display: block;
  clear: both; }

.btn-layout__btn {
  display: inline-block;
  float: right;
  margin-top: 3px;
  margin-left: 30px; }

.btn-layout__text {
  overflow: hidden; }
  .btn-layout__text p {
    margin: 0 !important;
    font-size: 13px; }

.first-link {
  position: relative;
  font-size: 0;
  line-height: 0; }
  .first-link a {
    position: absolute;
    display: inline-block;
    right: 0;
    bottom: 15px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    padding: 7px 13px 5px 15px;
    text-decoration: none;
    color: #aaa;
    background-color: #fff;
    border: 1px #ddd solid; }
  .first-link a:hover {
    color: #aaa;
    background-color: #eee;
    transition: .2s; }

.imgs-logo {
  text-align: center; }
  .imgs-logo img {
    height: 30px;
    width: auto;
    vertical-align: middle;
    margin: 5px; }

.typo-tel .tel {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.3; }

.typo-tel--lg {
  margin: 20px 0 !important;
  text-align: center; }
  .typo-tel--lg .tel {
    font-size: 32px;
    vertical-align: baseline; }

.typo-tel--md .tel {
  font-size: 20px; }

@media (max-width: 991px) {
  .btn-layout__btn {
    display: block;
    float: none;
    margin-top: auto;
    margin-left: auto;
    margin-bottom: 10px; }
    .btn-layout__btn a {
      width: 100%;
      text-align: center;
      display: block;
      padding-right: 10px;
      padding-left: 10px; } }

/* form */
.form-group {
  margin-bottom: 30px; }
  .form-group p {
    margin: .5em 0; }

.form-label,
.col-form-label {
  font-size: 15px;
  font-weight: 600; }

.label-must {
  display: inline-block;
  background-color: #E8631E;
  padding: 3px 7px 2px 8px;
  margin-right: 3px;
  margin-bottom: 2px;
  vertical-align: middle;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .1em;
  font-weight: 600;
  color: #fff; }

.btn-send-wrapper {
  margin: 50px 0 !important;
  text-align: center; }

.btn-send {
  display: inline-block !important;
  width: 300px;
  height: auto !important;
  padding: 11px 55px 9px 60px;
  background-color: #f46c2a;
  border: 0;
  border-bottom: 1px #f36520 solid;
  color: #fff !important;
  border-radius: 3px;
  vertical-align: middle;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 5px;
  text-decoration: none !important; }
  .btn-send:hover {
    background-color: #e8612e;
    color: #fff !important;
    transition: .1s; }

@media (max-width: 575px) {
  .btn-send-wrapper {
    margin: 30px 0 !important; }
  .btn-send {
    width: 100%;
    padding: 11px 0 9px 5px; } }

/* colormeshop */
.new_mark_img1,
.new_mark_img2 {
  display: none !important; }

/* SBC追加分 */
/*Tableの横スクロール*/
.scroll-table {
  overflow: auto !important;
  white-space: nowrap !important;
}
/*Tableの横スクロール（コーポレートサイトと共通クラス）*/
.table-scroll-1 {
  overflow: auto !important;
  white-space: nowrap !important;
}
/*Tableの横スクロール（長文が含まれる場合）*/
.table-scroll-2 {
  overflow: auto !important;
}
.table-scroll-2 table {
  table-layout: fixed !important;
}
.table-scroll-2 th {
  font-size: 14px;
  font-weight: bold !important;
}

/* quickcartin クイックカートイン機能 */

.cart_in_modal,
.cart_in_error_modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(50, 50, 50, .7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}

.cart_in_modal__container {
  width: 100%;
  max-width: 800px;
  max-height: calc(100% - 40px);
  margin: 20px;
}

.cart_in_modal__outline {
  position: relative;
  width: 100%;
  padding: 0;
  background-color: #fff;
  border: 3px #0A0032 solid;
  border-radius: 6px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
  box-sizing: border-box;
  text-align: center;
}

.cart_in_modal__heading,
.cart_in_error_modal__heading {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 600;
  padding: 30px 7% 17px;
  font-feature-settings: "palt";
  letter-spacing: .05em;
}

.cart_in_error_modal__heading {
  padding-bottom: 0;
}

.cart_in_modal__heading:before {
  content: '';
  display: inline-block;
  margin-right: 5px;
  width: 32px;
  height: 32px;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_cart.png) no-repeat center center;
  background-size: cover;
  vertical-align: middle;
  position: relative;
  top: -0.2em;
}

.cart_in_error_modal__heading:before {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 36px;
  height: 36px;
  background: url(https://file001.shop-pro.jp/PA01013/625/v2/images/common/icon_warn.png) no-repeat center center;
  background-size: cover;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

@media (max-width: 991px) {

  .cart_in_modal__heading:before {
    display: none;
  }

  .cart_in_error_modal__heading:before {
    display: block;
    margin: 5px auto;
  }

  .cart_in_modal__heading,
  .cart_in_error_modal__heading {
    font-size: 17px;
  }

  .cart_in_error_modal__heading {
    padding-top: 15px;
    margin-top: 0;
  }
}

.cart_in_modal__detail {
  position: relative;
  display: flex;
  gap: 20px;
  padding: 25px 0 0;
  margin: 0 7%;
  border-top: 3px #0A0032 solid;
  align-items: center;
  flex-direction: row;
}

.cart_in_modal__detail:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  border: 8px transparent solid;
  border-top-color: #0A0032;
  margin-left: -8px;
}

.cart_in_modal__image-wrap {
  flex: 0 0 160px;
  width: 160px;
  height: 160px;
  padding: 10px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cart_in_modal__image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.cart_in_modal__text-wrap {
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
  font-feature-settings: "palt";
  letter-spacing: .05em;
}

.cart_in_modal__name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.cart_in_modal__name-option {
  margin-top: 5px;
}

.cart_in_modal__name-option:empty {
  display: none;
}


.cart_in_modal__option-unit {
  margin-right: 15px;
}



@media (max-width: 991px) {
  .cart_in_modal__detail {
    gap: 10px;
  }

  .cart_in_modal__text-wrap {
    font-size: 13px;
    line-height: 1.7;
  }

  .cart_in_modal__image-wrap {
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    padding: 5px;
  }
}

.cart_in_modal__button-wrap {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  padding: 25px 7% 30px;
  background-color: #fff;
  z-index: 2;
}

.cart_in_modal__button {
  position: relative;
  font-size: 16px;
  font-weight: 600;
  line-height: 28px;
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none;
  color: #fff;
  border: 0;
  border-radius: 3px;
  min-width: 300px;
  width: 100%;
  padding: 16px 15px 14px;
  background-color: #f46c2a;
  border-bottom: 1px #f36520 solid;
  outline: none;
  appearance: none;
  transition: background-color .2s;
}

@media (max-width: 991px) {
  .cart_in_modal__button {
    min-width: 0;
    width: 100%;
  }
}

.cart_in_modal__button-icon {
  width: 28px;
  height: 28px;
  vertical-align: middle;
  position: relative;
  top: -3px;
}

.cart_in_modal__button-view {
  order: 2;
}

.cart_in_modal__button-view:hover {
  background-color: #e8612e;
}

.cart_in_modal__button-back {
  order: 1;
  font-size: 15px;
  padding-left: 30px;
  background-color: #a2a2a8;
  border-bottom: 1px #93939a solid;
  color: #fff !important;
}

.cart_in_modal__button-back:before {
  content: '';
  position: relative;
  margin-left: -5px;
  margin-right: 10px;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-bottom: 2.2px #fff solid;
  border-left: 2.2px #fff solid;
  transform: rotate(45deg);
}

.cart_in_modal__button-back:hover {
  background-color: #99999d;
}

.cart_in_modal__button-close {
  max-width: 240px;
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 14px;
  background-color: #eaeaea;
  border-bottom: 1px #e0e0e0 solid;
  color: #2C2B29;
}

.cart_in_modal__button-close:hover {
  background-color: #e6e3e3;
}

@media (max-width: 991px) {
  .cart_in_modal__button-wrap {
    flex-direction: column;
    padding: 25px 7%;
  }

  .cart_in_modal__button-view {
    order: 1;
  }

  .cart_in_modal__button-close {
    order: 2;
    max-width: 320px;
  }
}


.cart_in_modal__close-icon {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 30px;
  height: 30px;
  background-color: #0A0032;
  border-radius: 50%;
  z-index: 2;
  cursor: pointer;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
}

.cart_in_modal__close-icon:before,
.cart_in_modal__close-icon:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  margin-left: -8px;
  margin-top: -1px;
  background-color: #fff;
  transform: rotate(-45deg);
  transform-origin: center center;
}

.cart_in_modal__close-icon:after {
  transform: rotate(45deg);
  transform-origin: center center;
}

@media (max-width: 991px) {
  .cart_in_modal__close-icon {
    top: -14px;
    right: 8px;
  }
}

.product-action__btn, .product-action__btn:hover {
  color: #2C2B29;
}

.btn-addtocart--modal {
  padding-left: 0 !important;
}

.cart_in_modal__banner {
  border-top: 1px #e7e3db solid;
  background-color: #f5f4f2;
  padding: 30px 7%;
  text-align: center;
  border-radius: 0 0 3px 3px;
}

.cart_in_modal__banner img {
  width: 100%;
  max-width: 420px;
  height: auto;
}

@media (max-width: 991px) {
  .cart_in_modal__banner {
    padding: 20px 7%;
  }
}

@media (max-height: 650px) {
  .cart_in_modal__banner {
    display: none;
  }
}

.cart_in_modal__loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background-color: rgba(50, 50, 50, .7);
  z-index: 9998;
}

.cart_in_modal__loading::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 40px;
  width: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border-radius: 50%;
  border: 5px transparent solid;
  border-top-color: #0A0032;
  border-right-color: #0A0032;
  border-top-color: #fff;
  border-right-color: #fff;
  animation: spinner .7s linear infinite;
  z-index: 1;
}

@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
