@charset "UTF-8";


@media only screen and (min-width: 768px) and (max-width: 991px) {
  .column2Layout {
    font-size: .917rem;
  }
  .column2Layout .h5 {
    font-size: 1.167rem;
  }
}
@media only screen and (min-width: 992px) {
  .column2Layout {
    font-size: .875rem;
  }
}

/* ==========================================================================
   Product - archive - Sidebar
========================================================================== */

.products_page .catalogBox {
  background-color: #f5f5f5;
  overflow: hidden;
}
.products_page .catalogBox > a {
  display: block;
  text-decoration: none;
}
.products_page .catalogBox .ttlBox > span {
  display: block;
  background-color: #109d3c;
  color: #FFF;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .05em;
  padding: .8em 1em;
  text-decoration: none;
  position: relative;
  transition: .2s ease-in-out;
}
.products_page .catalogBox > a:hover .ttlBox > span {
  background-color: #0c8e30;
}
.products_page .catalogBox .ttlBox > span::before {
  content: '';
  display: block;
  width: 1.5em;
  height: 1.5em;
  background: url(../common/img/icon/arrow-w.svg) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: .5em;
  margin-top: -.7em;
}
.products_page .catalogBox .imgBox {
  text-align: center;
  padding: 1em;
}
.products_page .catalogBox .imgBox img {
  width: 160px;
}
.products_page .catalogBox .txtBox {
  line-height: 1.6;
  padding: 0 1em .25em;
}

/* ==========================================================================
   Product - archive
========================================================================== */
/* ============================
   Category List
=============================== */
.category-list {
  margin: 0 -10px 15px;
}
.category-list .list {
  margin-bottom: 20px;
  padding: 0 10px;
}
.category-list .list .imgBox {
  background-color: #f5f5f5;
  text-align: center;
}
.category-list .list .imgBox > a {
  display: block;
}
.category-list .list.col-md-4 .imgBox > a {
  padding: 5% 0;
}

.category-list .list .imgBox img {
  width: 300px;
  max-width: 80%;
}
.category-list .list .ttlBox a {
  display: block;
  background-color: #109d3c;
  color: #FFF;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .05em;
  padding: .6em 1.5em .6em .75em;
  text-decoration: none;
  position: relative;
}
.category-list .list .ttlBox a:hover {
  background-color: #0c8e30;
}
.category-list .list .ttlBox a::before {
  content: '';
  display: block;
  width: 1.5em;
  height: 1.5em;
  background: url(../common/img/icon/arrow-w.svg) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: .25em;
  margin-top: -.7em;
}
.category-list .list .txtBox {
  padding: .5em 1em;
}
.category-list .list .txtBox .list_01.d-flex {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.category-list .list .txtBox .list_01 li {
  line-height: 1.6;
  margin-bottom: 0;
}
.category-list .list .txtBox .list_01.d-flex li {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
}
.category-list .list .txtBox .list_01 li a {
  font-weight: 400;
}

/* ============================
   Product List
=============================== */
.product-list {
  margin: 0 -10px 15px;
}
.product-list .list {
  background: #f5f5f5;
  margin-bottom: 20px;
  padding: 0 10px;
  border: 10px solid #fff;
  border-width: 0 10px;
}
.product-list .list > a {
  display: block;
  background-color: #f5f5f5;
  text-decoration: none;
}
/*20211125 訪問済みのリンクの色*/
.product-list .list > a:visited .ttlBox {
  color: #551A8B;
}
.product-list .list .imgBox {
  text-align: center;
  padding: 5% 0;
}
.product-list .list .imgBox img {
  width: 300px;
  max-width: 80%;
}
  
.product-list .list .ttlBox {
  color: #0c8e30;
  padding: .75em 1.5em .75em .75em;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
}
.product-list .list .ttlBox::before {
  content: '';
  display: block;
  width: 1.5em;
  height: 1.5em;
  background: url(../common/img/icon/arrow-gr.svg) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: .25em;
  margin-top: -.7em;
}
.product-list .icon-list {
  background-color: #f5f5f5;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0 5px 5px;
}
.product-list .icon-list li {
  width: 35px;
  padding: 3px;
  margin: 0; 
}
/*202307追加 価格表示*/
.product-list .list p.price {
  padding: 0 .75em;
}
.product-list .list p.price s,
.product-list .list p.price span {
  display: block;
  line-height: 1.35;
}


/* ==========================================================================
   Product - single
========================================================================== */
#page_products__single .price > * {
  display: block;
}
#page_products__single .table_01 {
  margin-bottom: 0.75rem;
}
#page_products__single .table_01 table {
  display: table;
  max-height: inherit;
  width: 100%;
  margin-bottom: 0;
}
#page_products__single .table_01 td {
  white-space: normal;
}
#page_products__single .table_01 tfoot {
  width: 100%;
}
#page_products__single .table_01 tfoot th {
  background-color: #b7e1c4;
}
#page_products__single .table_01 tfoot td {
  background-color: #e7f5eb;
}
#page_products__single .table_02 tbody th > a {
  display: block;
  text-decoration: none;
  padding: .75em 1em;
}
#page_products__single .table_02 tbody th > a:hover {
  text-decoration: underline;
}
/*20211125 訪問済みのリンクの色*/
#page_products__single .table_02 tbody th > a:visited {
  color: #551A8B;
}

#page_products__single .icon-list {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  margin: 15px -3% 5px;
  padding: 0;
}
#page_products__single .icon-list li {
  flex: 0 0 25%;
  margin: 2% 0;
}
#page_products__single .icon-list li img {
  width: auto;
  max-width: 75%;
}

.option-list .list {
  margin-bottom: 1rem;
}
.option-list .list > a {
  display: block;
}
.option-list .list .imgBox {
  padding: 1rem 0;
}
.option-list .list .imgBox img {
  object-fit: contain;
  width: 300px;
  max-width: 80%;
  max-height: 180px;
}
.option-list .list .txtBox {
  line-height: 1.5;
  font-size: .75rem;
}
.option-list .list .txtBox p {
  margin-bottom: .25rem;
}

@media only screen and (min-width: 992px) {
  .option-list .list .txtBox {
    font-size: 1rem;
  }
}

.relation-list {
  list-style-type: none;
  padding: 0;
}
.relation-list li {
  font-weight: 400;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px dashed #cfcfcf;
  position: relative;
}

/*20211102追加 アイコン表示用*/
.relation-list .list-icon_pdf::before,
.relation-list .list-icon_word::before,
.relation-list .list-icon_excel::before,
.relation-list .list-icon_pp::before {
    content: '';
    display: block;
    width: 1.25em;
    height: 1.25em;
    position: absolute;
    top: 0;
  bottom: 0;
  margin: auto;
    left: 0;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

.relation-list .list-icon_pdf,
.relation-list .list-icon_word,
.relation-list .list-icon_excel,
.relation-list .list-icon_pp{
    padding-left: 1.5em;
}

.relation-list .list-icon_pdf::before {
    background-size: contain;
  background-image: url(../common/img/icon/pdf.svg);
}


.relation-list .list-icon_word::before {
    background-size: contain;
  background-image: url(../common/img/icon/word.svg);
}

.relation-list .list-icon_excel::before {
    background-size: contain;
  background-image: url(../common/img/icon/excel.svg);
}

.relation-list .list-icon_pp::before {
    background-size: contain;
  background-image: url(../common/img/icon/pp.svg);
}

.relation-list li a {
  text-decoration: underline;
}
.relation-list li a:hover {
  text-decoration: none;
}

/* ==========================================================================
   Slick.js
========================================================================== */
.slick-slider {
  -ms-touch-action: auto;
  touch-action: auto;
}
.slick-slider .slick-slide * {
  outline: none !important;
}
.slick-slider .slick-slide a {
  display: block;
}
.slick-slider .slick-slide img {
    vertical-align: bottom;
  }
.slick-dots li.slick-active button:before,
.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
  color: #109d3c;
  opacity: 1 !important;
}
.slick-slider .slick-arrow {
  width: 1.35rem;
  height: 4rem;
  z-index: 10;
}
.slick-slider .slick-next:before,
.slick-slider .slick-prev:before {
  content: '';
  display: block;
  opacity: 1;
  width: 100%;
  height: 100%;
}
.slick-slider .slick-next {
  right: 0;
}
.slick-slider .slick-prev {
  left: 0;
}
.slick-slider .slick-next:before {
  background: url(../common/img/icon/arrow-gr.svg) no-repeat center center / contain;
}
.slick-slider .slick-prev:before {
  background: url(../common/img/icon/arrow-gr-back.svg) no-repeat center center / contain;
}
@media only screen and (min-width: 768px) {
  .slick-slider .slick-next {
    right: -0.125rem;
  }
  .slick-slider .slick-prev {
    left: -0.125rem;
  }
}


.slick-slider.slider .slick-slide {
  padding: 0 2rem;
}
.slick-slider.slider .slick-slide img {
  width: calc(100% - 2.5em);
  max-height: calc(100vw - 30px);
  object-fit: contain;
  margin: 0 auto;
}
@media only screen and (min-width: 576px) {
  .slick-slider.slider .slick-slide img {
    max-height: 515px;
  }
}
@media only screen and (min-width: 768px) {
  .slick-slider.slider .slick-slide {
    padding: 0 ;
  }
  .slick-slider.slider .slick-slide img {
    max-height: 190px;
  }
}
@media only screen and (min-width: 992px) {
  .slick-slider.slider .slick-slide img {
    max-height: 200px;
  }
}
@media only screen and (min-width: 1200px) {
  .slick-slider.slider .slick-slide img {
    max-height: 240px;
  }
}


/* slider-nav */
.product__slider-nav {
  margin: 25px -1.25% 0;
}
.slider-nav {
  width: 100%;
}
.slider-nav .slick-track {
  transform: unset !important;
  width: 100% !important;
  display: flex;
  flex-flow: row wrap;
}
.slider-nav .slick-cloned {
  display: none;
}
.slider-nav .slick-slide {
  flex: 0 0 25%;
  padding: 0 1.25%;
}
.slider-nav .item {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  height: 100%;
  padding: 2px;
}
.slider-nav .item::before {
  display: block;
  padding-top: 100%;
  content: "";
}
.slider-nav .item img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.slider-nav .item::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  border: 1px solid #DDD;
}
.slider-nav .slick-current .item::after {
  border-color: #109d3c;
  border-width: 2px;
}


/* zoombtn */
.product__slider-zoom {
  text-align: right;
  margin: 10px 0 0;
}
.zoombtn {
  display: inline-block;
  padding: 0 .5em 0 2em;
  background: #109d3c url(../common/img/icon/zoom-w.svg) no-repeat .5em center / auto 70%;
  color: #FFF;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}
.zoombtn:hover {
  background-color: #0c8e30;
}
@media only screen and (max-width: 767px) {
  .product__slider-zoom {
    display: none;
  }
}



/* modal */
#product__modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
}
#product__modal .modal--overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #DCDCDC;
  opacity: .5;
}
#product__modal .modal--closeBtn {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 32px;
  right: 32px;
  cursor: pointer;
  transition: opacity .2s;
}
#product__modal .modal--closeBtn:hover {
  opacity: .5;
}
#product__modal .modal--closeBtn::before,
#product__modal .modal--closeBtn::after {
  content: '';
  display: block;
  width: 140%;
  height: 1px;
  background: currentColor;
  position: absolute;
  top: 50%;
  left: -20%;
  transform: rotate(45deg);
}
#product__modal .modal--closeBtn::after {
  transform: rotate(-45deg);
}
#product__modal .product__modal--content {
  width: 100%;
  height: calc(100vh - 40px);
  max-width: 660px;
  max-height: 610px;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 auto;
  background-color: #FFF;
  padding: 80px 30px 1px;
  position: relative;
}
#product__modal .product__slider-wrapper {
  display: flex;
  justify-content: space-between;
}
#product__modal .product__slider {
  width: 500px;
  height: 436px;
}
#product__modal .slick-slider.slider .slick-slide {
  width: 500px !important;
  padding: 0 32px;
}
#product__modal .slick-slider.slider .slick-slide img {
  max-height: 500px
}
#product__modal .slick-slider .slick-arrow {
  width: 20px;
  height: 60px;
}
#product__modal .product__slider-nav {
  width: 78px;
  height: 500px;
  margin: 0;
  overflow-y: auto;
  position: relative;
  z-index: 5;
}
#product__modal .slider-nav {
  width: 60px;
  margin: 0 0 0 auto;
}
#product__modal .slider-nav .slick-track {
  flex-direction: column;
}
#product__modal .slider-nav .slick-slide {
  width: 60px!important;
  height: calc(500px/8);
  flex: 0 0 auto;
}
#product__modal .product__slider-zoom {
  display: none;
}
@media only screen and (max-width: 767px) {
  #product__modal {
    display: none !important;
  }
}


body.isMobile .product__slider-zoom,
body.isMobile #product__modal {
  display: none !important;
}


/* ==========================================================================
   アコーディオン
========================================================================== */
#page_products__single .toggle-cont {
  display: none;
}
#page_products__single .toggleBtn {
  text-align: center;
  background-color: #E7F5EB;
  color: #109D3C;
  border: 1px solid #E7F5EB !important;
  padding: .5em !important;
  font-weight: 500 !important;
  line-height: 1.8;
  position: relative;
  transition: .1s ease-in-out;
  cursor: pointer;
}
#page_products__single .toggleBtn:not(.on) {
  margin-top: -1.5rem;
}
#page_products__single .toggleBtn > div::before,
#page_products__single .toggleBtn > div::after {
  content: '';
  display: block;
  width: 1.25em;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  right: 1em;
  transition: .1s ease-in-out;
}
#page_products__single .toggleBtn > div::after {
  transform: rotate(90deg);
}
#page_products__single .toggle-contents .table_01 {
  max-width: 100%;
  max-height: inherit;
  overflow: hidden;
}

#page_products__single .toggleBtn.on {
  background-color: #109D3C;
  color: #FFF;
}
#page_products__single .toggleBtn.on {
  border-color: #109D3C !important;
}
#page_products__single .toggleBtn.on > div::after {
  opacity: 0;
}




