@charset "UTF-8";
.modal-open {
  overflow: hidden
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto
}

.modal {
  display: none;
  z-index: 1050;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: .5rem;
  pointer-events: none
}

.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform .3s ease-out
}

@media (prefers-reduced-motion:reduce) {
  .modal.fade .modal-dialog {
    transition: none
  }
}

.modal.show .modal-dialog {
  transform: none
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02)
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem)
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden
}

.modal-dialog-scrollable .modal-footer, .modal-dialog-scrollable .modal-header {
  flex-shrink: 0
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem)
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: -moz-min-content;
  height: min-content;
  content: ""
}

.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none
}

.modal-content {
  display: flex;
  position: relative;
  flex-direction: column;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: .3rem;
  outline: 0;
  background-clip: padding-box;
  background-color: #fff;
  pointer-events: auto
}

.modal-backdrop {
  z-index: 1040;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000
}

.modal-backdrop.fade {
  opacity: 0
}

.modal-backdrop.show {
  opacity: .5
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-right-radius: calc(.3rem - 1px);
  border-top-left-radius: calc(.3rem - 1px)
}

.modal-header .close {
  margin: -1rem -1rem -1rem auto;
  padding: 1rem 1rem
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: .75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(.3rem - 1px);
  border-bottom-left-radius: calc(.3rem - 1px)
}

.modal-footer>* {
  margin: .25rem
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll
}

@media (min-width:1200px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem)
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem)
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem)
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: -moz-min-content;
    height: min-content
  }
  .modal-sm {
    max-width: 300px
  }
}

@media (min-width:992px) {
  .modal-lg, .modal-xl {
    max-width: 800px
  }
}

@media (min-width:1200px) {
  .modal-xl {
    max-width: 1140px
  }
}

html {
  scroll-behavior: smooth
}

@media (prefers-reduced-motion:reduce) {
  html html {
    scroll-behavior: auto
  }
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", YakuHanJPs, source-han-sans-japanese, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

header {
  position: relative;
  width: 100%;
  height: 76vw;
  background-image: url(https://kouragumi.itembox.design/item/img/sale/30off/loop_image_new.jpg);
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: auto 100%;
  animation: loop_image 55s linear infinite
}

@media (min-width:768px) {
  header {
    max-height: 460px;
    background-image: url(https://kouragumi.itembox.design/item/img/sale/30off/loop_image-pc_new.jpg);
    animation: loop_image 70s linear infinite
  }
}

header img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 82vw!important;
  max-width: 760px!important;
  transform: translate(-50%, -50%)
}

#pagenav>.row>.col:last-child {
  overflow-x: scroll
}

@media (min-width:576px) {
  #pagenav>.row>.col:last-child {
    overflow-x: inherit
  }
}

@media (max-width:767.98px) {
  #pagenav .nav {
    flex-wrap: nowrap
  }
}

@media (max-width:767.98px) {
  #pagenav .nav-item {
    white-space: nowrap
  }
}

#pagenav ul li:nth-child(1):hover {
  border-bottom: solid;
  border-width: 5px;
  border-radius: 5px;
  /* color: #367d40 */
  color: #ffa600
}

#pagenav ul li:nth-child(1):hover a:hover {
  padding-bottom: 3px;
    /* color: #367d40 */
  color: #ffa600
}

#pagenav ul li:nth-child(2):hover {
  border-bottom: solid;
  border-width: 5px;
  border-radius: 5px;
  color: #e60011
}

#pagenav ul li:nth-child(2):hover a:hover {
  padding-bottom: 3px;
  color: #e60011
}

#pagenav ul li:nth-child(3):hover {
  border-bottom: solid;
  border-width: 5px;
  border-radius: 5px;
  color: #0092e6
}

#pagenav ul li:nth-child(3):hover a:hover {
  padding-bottom: 3px;
  color: #0092e6
}

#pagenav a {
  color: #ffdc4a;
  font-size: 1.5rem;
  cursor: pointer
}

@media (max-width:1200px) {
  #pagenav a {
    font-size: calc(1.275rem + .3vw)
  }
}

@media (min-width:768px) {
  .term {
    font-size: 1.5rem
  }
}

@keyframes loop_image {
  from {
    background-position: 0 0
  }
  to {
    background-position: -400vw 0
  }
}

.coupon_required {
  font-size: .875rem
}

@media (min-width:768px) {
  .coupon_required {
    font-size: 1.5rem
  }
}

.attention {
  font-size: .875rem
}

@media (min-width:768px) {
  .attention {
    font-size: 1rem
  }
}

.title {
  font-size: 3.2rem
}

@media (max-width:1200px) {
  .title {
    font-size: calc(1.445rem + 2.34vw)
  }
}

.title img {
  width: 1.8em;
  margin-bottom: .5rem
}

@media (min-width:768px) {
  .title img {
    max-width: 140px
  }
}

.title .sub_title {
  background-color: #ffdc4a
}

@media (min-width:768px) {
  .title .sub_title {
    font-size: 2rem
  }
}

.title h2 {
  font-size: inherit
}

.text_caution {
  font-size: .7rem
}

@media (min-width:768px) {
  .text_caution {
    font-size: 1rem
  }
}

.coupons .discount_rate {
  font-size: 3rem;
  line-height: 1
}

@media (max-width:1200px) {
  .coupons .discount_rate {
    font-size: calc(1.425rem + 2.1vw)
  }
}

.coupons .discount_rate_number {
  font-size: 1.5em
}

.coupon-50off {
  background-color: #e60011
}

.coupon-20off {
  background-color: #0092e6
}

#items_50off {
  background-color: #e60011
}

#pickup {
  background-color: #ffa600
}

#items_50off .card {
  font-size: 1.3rem
}

#items_20off {
  background-color: #0092e6
}

#items_haisoufree {
  background-color: #367d40
}

.product-card {
  border: 0;
  transition: all .15s ease-in-out
}

@media (min-width:768px) {
  .product-card:hover:not(.card-static) {
    z-index: 10;
    border-color: #fff;
    box-shadow: 0 .3rem 1.525rem -.375rem rgba(0, 0, 0, .1)
  }
}

.product-card .label {
  z-index: 1;
  position: absolute;
  top: 1rem;
  border-radius: 0;
  background-color: #ffdc4a;
  color: #e50023
}

.product-card .border {
  border-color: #e50023!important
}

.product-card .text-white {
  background: #e50023
}

.product-card .font-weight-bold {
  color: #e50023
}

.product-card .svg-icon path, .product-card .svg-icon polygon, .product-card .svg-icon rect {
  fill: #fff
}

.product-card .svg-icon circle {
  stroke: #fff
}

.col img {
  width: 100%!important
}

[data-shipping*="送料無料"] .price small .text-muted {
  color: #e50023!important
}

.product-card .price .border {
  border-color: #e50023!important
}

.product-card .price .text-white {
  background: #e50023
}

.product-card .price .font-weight-bold {
  color: #e50023
}

.product-card .price .svg-icon path, .product-card .price .svg-icon polygon, .product-card .price .svg-icon rect {
  fill: #fff
}

.product-card .price .svg-icon circle {
  stroke: #fff
}

#sidemenu-1 {
  flex-wrap: nowrap
}

#sidemenu-1 .nav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: .3rem .5rem;
  color: #fff
}

@media (min-width:992px) {
  #sidemenu-1 .nav-link {
    font-size: 1.4rem
  }
}

#sidemenu-1 .nav-link img {
  width: 7vw;
  max-width: 48px;
  margin-bottom: .1rem
}

.floating_btn_coupon {
  right: 5px;
  bottom: 42vw;
  bottom: calc(110px + 70px)
}

@media (min-width:768px) {
  .floating_btn_coupon {
    right: 10px;
    bottom: calc(110px + 100px)
  }
}

.floating_btn_coupon img {
  width: 16vw;
  min-width: 4em;
  max-width: 136px
}

aside.sticky-top {
  z-index: 1050;
  top: 80px
}

aside .sticky-top {
  top: 100px
}

@media (min-width:768px) {
  aside .modal {
    display: block!important;
    position: relative;
    opacity: 1!important
  }
}

@media (min-width:768px) {
  .modal-dialog {
    margin-top: 0
  }
}

@media (min-width:768px) {
  .modal.fade .modal-dialog {
    transform: inherit
  }
}

@media (min-width:768px) {
  .modal-backdrop.show {
    display: none
  }
}

#item_quantity {
  color: #6c757d
}

@media (max-width:991.98px) {
  #item_quantity {
    margin-bottom: -3em
  }
}

label {
  cursor: pointer
}

.sort_form label {
  width: 100%
}

.custom-control-label small {
  color: #6c757d
}

input[type=search] {
  background-color: #e9ecef
}

input[type=search]::-moz-placeholder {
  color: #adb5bd;
  font-size: .775rem
}

input[type=search]:-ms-input-placeholder {
  color: #adb5bd;
  font-size: .775rem
}

input[type=search]::placeholder {
  color: #adb5bd;
  font-size: .775rem
}

input[type=search]:-ms-input-placeholder {
  color: #adb5bd;
  font-size: .775rem
}

input[type=search]::-ms-input-placeholder {
  color: #adb5bd;
  font-size: .775rem
}