/*#regulation_box(modal)
-----------------------------------*/
.modal_wrap {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .mfp-content {
    padding: 6.6666666667rem 0 16rem;
  }
}
@media only screen and (max-width: 767px) {
  .mfp-content {
    padding: 16vw 0 45.3333333333vw;
  }
}

#regulation_box_wrapper {
  padding-top: 5rem;
  margin-top: -5rem;
}
@media only screen and (max-width: 767px) {
  #regulation_box_wrapper {
    padding-top: 0;
    margin-top: 0;
  }
}

#regulation_box {
  padding-top: 0;
  margin: 0 auto;
}
#regulation_box .inner {
  width: 100%;
  position: relative;
}
#regulation_box .section-privacy__main {
  background: #fff;
  margin-top: 0;
}
#regulation_box .btn {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
}
#regulation_box .agreement_btn {
  color: #fff;
  background: #a77d48;
  text-align: center;
  line-height: 1;
}
#regulation_box .agreement_btn small {
  display: inline-block;
  font-size: 0.5769230769em;
  letter-spacing: 0;
  margin-top: 1.3333333333em;
}
#regulation_box .mfp-close {
  position: absolute;
  cursor: pointer;
  padding: 0;
  top: auto;
}
@media print, screen and (min-width: 768px) {
  #regulation_box {
    width: calc(100% - 13.3333333333rem);
    max-width: 1100px;
  }
  #regulation_box .btn {
    margin-top: 2.9333333333rem;
  }
  #regulation_box .agreement_btn {
    font-size: 1.7333333333rem;
    padding: 1.0666666667rem;
  }
  #regulation_box .agreement_btn:hover {
    color: #a77d48;
    background: #f8f3ee;
  }
  #regulation_box .mfp-close {
    width: 5.8666666667rem;
    height: 7.8rem;
    right: -6.6666666667rem;
    bottom: -10rem;
  }
}
@media only screen and (max-width: 767px) {
  #regulation_box {
    width: 92vw;
  }
  #regulation_box .btn {
    margin-top: 8vw;
  }
  #regulation_box .agreement_btn {
    font-size: 1.7083333333rem;
    padding: 4vw;
  }
  #regulation_box .mfp-close {
    width: 15.4vw;
    height: 20.5vw;
    right: -2.6666666667vw;
    bottom: -26.6666666667vw;
  }
}

/*
====== Move-horizontal effect ======
*/
.mfp-move-horizontal {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-move-horizontal .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s;
  transform: translateX(-50px);
}
.mfp-move-horizontal.mfp-bg {
  opacity: 0;
  transition: all 0.3s;
}
.mfp-move-horizontal.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: translateX(0);
}
.mfp-move-horizontal.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-move-horizontal.mfp-removing .mfp-with-anim {
  transform: translateX(50px);
  opacity: 0;
}
.mfp-move-horizontal.mfp-removing.mfp-bg {
  opacity: 0;
}

@media only screen and (max-width: 767px) {
  .product_detail > * .inner {
    width: 92vw;
  }
}

.products_subarea_wrap .contact_area .tit {
  letter-spacing: 0.2em;
  font-weight: 500;
}
.products_subarea_wrap .contact_area .txt {
  font-weight: 300;
}
.products_subarea_wrap .contact_area .txt a {
  display: inline-block;
  position: relative;
}
.products_subarea_wrap .contact_area .txt a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #333;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
}
.products_subarea_wrap .contact_area .txt img {
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  .products_subarea_wrap .course_list {
    margin-bottom: 0.6666666667rem;
  }
  .products_subarea_wrap .contact_area {
    padding: 2rem;
  }
  .products_subarea_wrap .contact_area .tit {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
  }
  .products_subarea_wrap .contact_area .txt {
    font-size: 1.2rem;
    line-height: 1.7222222222;
  }
  .products_subarea_wrap .contact_area .txt a::after {
    height: 1px;
    bottom: 0.3333333333rem;
    transition: all 0.8s ease-in-out 0s;
  }
  .products_subarea_wrap .contact_area .txt a:hover::after {
    opacity: 0;
  }
  .products_subarea_wrap .contact_area .txt img {
    width: 12.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .products_subarea_wrap .course_list {
    margin-bottom: 5.3333333333vw;
  }
  .products_subarea_wrap .contact_area {
    padding: 8vw;
  }
  .products_subarea_wrap .contact_area .tit {
    font-size: 1.5rem;
    margin-bottom: 4vw;
  }
  .products_subarea_wrap .contact_area .txt {
    font-size: 1.25rem;
    line-height: 1.8;
  }
  .products_subarea_wrap .contact_area .txt a::after {
    height: 0.2666666667vw;
    bottom: 1.3333333333vw;
  }
  .products_subarea_wrap .contact_area .txt img {
    width: 45.3333333333vw;
  }
}

/*2021 0104 add
-----------------------------------------------------------*/
/*btn
-----------------------------------------------------------*/
.btn {
  border-color: #0071be;
}
.btn a:not(.agreement_btn) {
  color: #0071be;
  background-color: #e5f1f9;
}
.btn a:not(.agreement_btn)::after {
  background-image: url("../img/shahan/arrow_r_shahan.svg");
}
@media print, screen and (min-width: 768px) {
  .btn a:hover {
    background-color: rgba(0, 113, 190, 0.7);
  }
}
#regulation_box .btn {
  border-color: #a77d48;
}

/*text--marker
-----------------------------------------------------------*/
.text--marker {
  background-image: linear-gradient(180deg, transparent 50%, rgba(163, 199, 200, 0.5) 50%);
}

/*fragment-nav
-----------------------------------------------------------*/
.fragment-nav {
  color: #0071be;
}
.fragment-nav__item {
  border-color: #0071be;
}
.fragment-nav__item:first-of-type {
  border-color: #0071be;
}
@media only screen and (max-width: 767px) {
  .fragment-nav__item:nth-of-type(2n+1) {
    border-color: #0071be;
  }
}

/*smart-title--vertical
-----------------------------------------------------------*/
.smart-title--vertical {
  background-color: #e5f1f9;
  background-image: url(/common/img/shahan/smart_title_bracket_start.png), url(/common/img/shahan/smart_title_bracket_end.png);
}
.smart-title__number--vertical {
  color: #0071be;
}
.smart-title__title--sub {
  color: #0071be;
}

/*detail_main_box
-----------------------------------------------------------*/
.detail_main_box .product_info .product_tag_list li {
  color: #0071be;
  border-color: #0071be;
}
.detail_main_box .product_info .products_thum_box .slick-dots li.slick-active {
  border-color: #0071be;
}
.detail_main_box .products_img_box::after {
  content: "";
  display: block;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url("../img/shahan/shahan_icon.svg");
  position: absolute;
  z-index: 50;
}
@media print, screen and (min-width: 768px) {
  .detail_main_box .products_img_box::after {
    width: 9.4rem;
    height: 9.4rem;
    top: -2.6rem;
    left: -2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .detail_main_box .products_img_box::after {
    width: 18.8vw;
    height: 18.8vw;
    top: -3.3333333333vw;
    left: -3.3333333333vw;
  }
}

/*products_subarea_wrap
-----------------------------------------------------------*/
.products_subarea_wrap .fragment-nav {
  background-color: #e5f1f9;
}
.products_subarea_wrap .course_item.typ03 .course_item_tit dt {
  background-color: #80b8df;
}
.products_subarea_wrap .course_item_tit {
  background-color: #cce3f2;
}
.products_subarea_wrap .course_item_tit dt {
  background-color: #0071be;
}
.products_subarea_wrap .course_item_tit dt.bg_light_B {
  background-color: #80b8df;
}
.products_subarea_wrap .course_item_tit dt span {
  color: #0071be;
}
.products_subarea_wrap .course_item_tit dd span {
  color: #0071be;
}
.products_subarea_wrap .course_item_box .img_box .img_box_txt {
  color: #0071be;
}
.products_subarea_wrap .course_item_box .img_box .img_box_txt::after {
  background-image: url("../img/shahan/delivery_icon.svg");
}
.products_subarea_wrap .course_item_box .cart_btn_wrap a::before {
  background-image: url("../img/shahan/cart_icon.svg");
}
.products_subarea_wrap .back_btn {
  margin-top: 4rem;
}
.products_subarea_wrap .back_btn a::after {
  right: auto;
  transform: translate(0, -50%) rotate(0deg) scale(-1, 1) skew(0deg, 0deg);
}
@media print, screen and (min-width: 768px) {
  .products_subarea_wrap .fragment-nav__link::after {
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2210px%22 height=%2210px%22%3E %3Cpolyline points=%228.9,2.9 4.9,7.1 0.9,2.9%22 style=%22stroke:rgba(0, 113, 190, 0.999);stroke-width:1.5px;fill:none;%22/%3E %3C/svg%3E");
  }
  .products_subarea_wrap .fragment-nav__link:hover {
    background-color: #cce3f2;
  }
  .products_subarea_wrap .back_btn {
    width: 16.6666666667rem;
  }
  .products_subarea_wrap .back_btn a {
    padding: 1.3333333333rem 0 1.3333333333rem 1.8666666667rem;
  }
  .products_subarea_wrap .back_btn a::after {
    left: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .products_subarea_wrap .fragment-nav__link {
    background-image: url("data:image/svg+xml;charset=utf8, %3Csvg version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2210px%22 height=%2210px%22%3E %3Cpolyline points=%228.9,2.9 4.9,7.1 0.9,2.9%22 style=%22stroke:rgba(0, 113, 190, 0.999);stroke-width:1.5px;fill:none;%22/%3E %3C/svg%3E");
  }
  .products_subarea_wrap .back_btn a {
    padding: 4.5333333333vw 0 4.5333333333vw 4.5333333333vw;
  }
  .products_subarea_wrap .back_btn a:after {
    left: 4.8vw;
  }
}

/*section-features
-----------------------------------------------------------*/
.section-features .product_detail_box.box03 .in_box_list .in_box::before {
  background-color: #e5f1f9;
}
.section-features .product_detail_box.box03 .in_box_list .in_box_tit_area .in_box_tit {
  color: #0071be;
}
.section-features .product_detail_box.box03 .in_box_list .in_box_tit_area::after {
  background-color: #0071be;
}
.section-features .product_detail_box.box03 .in_box_list .txt_box .tit {
  color: #0071be;
}
.section-features .product_detail_box.box03 .usability {
  background-color: #e5f1f9;
}
.section-features .box_tit {
  color: #0071be;
  background-color: #e5f1f9;
}
.section-features .box_tit::after, .section-features .box_tit::before {
  border-color: #0071be;
}
.section-features .recommended_box .recommended_area .tit span {
  color: #0071be;
}

/*section-information
-----------------------------------------------------------*/
.section-information .information_table_wrap .table_box table th {
  background: #e5f1f9;
  color: #0071be;
}

/*section-use
-----------------------------------------------------------*/
.section-use .use_list li .txt_box .tit_area .no {
  color: #0071be;
  border-color: #0071be;
}
.section-use .use_list li .txt_box .tit_area .no::before {
  background-color: #e5f1f9;
}

/*faq__header
-----------------------------------------------------------*/
.faq__header {
  color: #0071be;
}
.faq__header::before {
  border-color: #0071be;
}

.price_box.no_free_shipping .regular_price {
  position: static !important;
  margin-bottom: 0.46667rem;
}
.price_box.no_free_shipping .free_shipping {
  display: none;
}

.total_free_shipping {
  line-height: 1.6;
  margin: -1rem 0 3rem 0;
}

.products_subarea_wrap .course_item .course_item_tit {
  background-color: #cce3f2;
}

.products_subarea_wrap .course_item .course_item_tit dt,
.products_subarea_wrap .course_item_box .img_box .img_box_txt strong span.day {
  background-color: #0071be;
}

.products_subarea_wrap .course_item .course_item_tit .info span.day,
.products_subarea_wrap .course_item .course_item_tit dd span,
.products_subarea_wrap .course_item_tit .info span.day {
  color: #0071be;
}

.products_subarea_wrap .course_item .course_item_tit dt.yellow {
  background-color: #a9bcf6;
}

.products_subarea_wrap .course_item .course_item_tit dt.yellow span.day {
  color: #a9bcf6;
}

.products_subarea_wrap .course_item .course_item_tit dt.bg_light_B {
  background-color: #80b8df;
}