@charset "UTF-8";
/**

UPDATE:2024.03.12

**/
i {
  font-style: normal;
}

.bt-style-01 a {
  background-color: #279ee5;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  border-radius: 3px;
  font-weight: bold;
  display: block;
  color: #fff;
}

.bt-style-03 a {
  padding: 20px;
  text-align: center;
  background-color: #279ee5;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 18px !important;
}

.bt-style-03 a:before {
  content: "→ ";
}

.bt-style-03 a:hover {
  background-color: #15497b;
}

.bt-01 {
  display: block;
  width: 300px;
  margin: 1em 0;
  padding: 14px 20px;
  text-align: center;
  font-size: 16px;
  background-color: #15497b;
  color: #fff;
  border-radius: 3px;
}

.bt-02 {
  display: block;
  width: 400px;
  margin: 1em 0;
  padding: 14px 20px;
  text-align: center;
  font-size: 16px;
  background-color: #b90c0c;
  color: #fff;
  border-radius: 3px;
}

.bd-01 {
  background: linear-gradient(transparent 60%, rgba(252, 238, 33, 0.6) 0%);
  font-weight: bold;
}

.bd-02 {
  background: linear-gradient(transparent 60%, rgba(228, 0, 3, 0.4) 0%);
  font-weight: bold;
}

.bd-03 {
  background: linear-gradient(transparent 60%, rgba(0, 65, 219, 0.5) 0%);
  font-weight: bold;
}

/** ************************************************************

CATEGORY STYLE

************************************************************ **/
.page-sec-common {
  padding: 40px 0 80px;
  position: relative;
}

@media screen and (max-width: 1380px) {
  .page-sec-common {
    padding: 40px 20px 80px;
  }
}
@media screen and (max-width: 500px) {
  .page-sec-common {
    padding: 20px 10px 40px;
  }
}
.category-menu {
  text-align: center;
  background-color: #222;
  letter-spacing: 0.5;
  font-size: 0;
  padding: 0;
}

.category-menu li {
  display: inline-block;
  vertical-align: middle;
  border-left: solid 1px #666;
  letter-spacing: normal;
  height: 44px;
}

.category-menu li:last-child {
  border-right: solid 1px #666;
}

.category-menu a {
  color: #ddd;
  display: block;
  padding: 13px 24px;
  font-size: 13px;
  letter-spacing: 1.5px;
  position: relative;
}

.category-menu a:hover,
.category-menu a.on {
  background-color: #eee;
  color: #333;
}

.category-menu a .icon {
  background-image: url(../images/common/arrow-01.png);
  background-size: 50% 50%;
  background-position: center bottom;
  display: block;
  position: absolute;
  bottom: 3px;
  left: 50%;
  width: 22px;
  height: 13px;
  margin-left: -11px;
}

.category-menu.no-scroll {
  text-align: left;
}

@media screen and (max-width: 1380px) {
  .list-rss li span {
    display: none;
  }
  .category-menu a {
    padding: 15px 15px;
    font-size: 12px;
  }
  .category-menu .icons {
    padding: 10px 15px 0;
  }
  .category-menu .icons a {
    font-size: 18px;
  }
}
@media screen and (max-width: 1024px) {
  .category-menu {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    text-align: left;
  }
  .category-menu ul {
    width: 100%;
  }
  .category-menu li {
    display: table-cell;
    text-align: center;
    height: auto;
  }
  .category-menu a {
    padding: 12px 10px;
    font-size: 12px;
  }
  .category-menu.no-scroll li {
    display: inline-block !important;
    text-align: left;
  }
  .category-menu.no-scroll ul {
    width: 100% !important;
  }
}
@media screen and (max-width: 500px) {
  .category-menu ul {
    width: 150%;
  }
  .category-menu a {
    padding: 10px 5px;
    font-size: 10px;
  }
  #cat-menu-01.active {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
  }
}
#cat-menu-01 a.current {
  background-color: #eee;
  color: #333;
}

.cat-show-menu .sub_cat {
  display: none;
}

@media screen and (min-width: 800px) {
  #cat-menu-01 {
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
  }
  #cat-menu-01.active {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
  }
  #cat-menu-01.active .category-menu li {
    height: auto;
  }
  #cat-menu-01.active .category-menu li a {
    padding: 10px 14px;
    font-size: 13px;
  }
}
.cat-show-menu {
  width: 100%;
  background-color: #eee;
  border-bottom: solid 3px #000;
  display: none;
}

.cat-show-menu .inner {
  display: none;
  padding: 30px 20px 20px;
  overflow: auto;
}

.cat-show-menu .list-style li {
  display: inline-block;
  margin: 0 10px 10px;
}

.cat-show-menu .list-style p {
  font-size: 14px;
  margin-bottom: 10px;
}

.cat-show-menu .list-style li a {
  font-size: 14px;
  background-image: url(../images/common/arrow-02.png);
  background-size: 7px 8px;
  background-position: left center;
  padding-left: 15px;
}

.cat-show-menu .bt a {
  width: 150px;
  margin: 10px auto;
  color: #0071bc;
  border-color: #0071bc;
}

.cat-show-menu .bt a:hover {
  color: #fff;
  background-color: #0071bc;
}

.arrow-close {
  display: block !important;
  font-size: 26px !important;
  width: 30px;
  margin: 0 auto 10px;
  color: #000;
  line-height: 0;
  font-style: normal;
  cursor: pointer;
  cursor: hand;
  color: #666;
  text-align: center;
}

.arrow-close:after {
  content: "閉じる";
  font-size: 8px;
  display: block;
  text-align: center;
}

.arrow-close:hover {
  color: #333;
}

.cat-show-menu .list-news {
  width: 100%;
  padding-top: 10px;
  background-color: #fff;
}

.cat-show-menu .list-news li {
  display: block;
  list-style: none;
}

.cat-show-menu .list-news li p {
  transition: all 0.6s;
}

.cat-show-menu .list-news li a {
  display: block;
  font-size: 15px;
  font-weight: bold;
  border-bottom: solid 1px #ddd;
  padding: 5px 0;
  letter-spacing: 1.5px;
  line-height: 1.6;
  background-image: none;
  transition: all 0.6s;
}
.cat-show-menu .list-news li a:hover {
  background-color: #f5f5f5;
  opacity: 1;
}
.cat-show-menu .list-news li a:hover p {
  transform: translateX(5px);
}

.cat-show-menu .list-news .wrap-img {
  display: inline-block;
  width: 200px;
  vertical-align: middle;
  margin: 5px 0;
  padding: 10px 20px;
  text-align: center;
}

.cat-show-menu .list-news .noimage {
  background-color: #fff;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  width: 150px;
  height: 100px;
  padding-top: 42px;
  color: #ddd;
  font-size: 13px;
  letter-spacing: 1px;
}

.cat-show-menu .list-news .noimage:after {
  content: "No Image";
}

.cat-show-menu .list-news img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto;
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 30px 30px;
}

.cat-show-menu .txt-right {
  text-align: left;
  width: 700px;
}

.cat-show-menu .bt-style-01 {
  width: 100%;
  max-width: 300px;
  margin: 20px auto 0;
  padding: 20px;
}

@media screen and (max-width: 980px) {
  .cat-show-menu .inner {
    padding: 20px 10px 10px;
    width: 100%;
  }
  .cat-show-menu .list-news .wrap-img {
    display: inline-block;
    width: 20%;
    vertical-align: middle;
    margin: 0;
    text-align: center;
    padding: 0 10px;
  }
  .cat-show-menu .txt-right {
    width: 80%;
  }
  .cat-show-menu p {
    display: inline-block;
    width: 75% !important;
    padding: 0 10px;
  }
  .cat-show-menu .list-news .noimage {
    color: #ccc;
    width: 100%;
    height: 80px;
    padding-top: 33px;
    font-size: 10px;
    text-align: center;
  }
}
@media screen and (max-width: 500px) {
  .cat-show-menu .list-news .wrap-img img {
    max-height: 30px;
  }
  .cat-show-menu .list-news .noimage {
    height: 50px;
    padding-top: 10px;
  }
  .cat-show-menu p {
    font-size: 12px;
  }
}
#b_navi {
  background-color: #f5f5f5;
  position: relative;
}
#b_navi .inner {
  letter-spacing: 0.5;
  font-size: 0;
  padding: 10px;
}
#b_navi .inner li {
  display: inline-block;
  color: #999;
  font-size: 10px;
  letter-spacing: normal;
}
@media screen and (max-width: 500px) {
  #b_navi .inner li:last-child {
    display: none;
  }
}
#b_navi .inner li:after {
  content: "/";
  margin: 0 5px;
}
@media screen and (max-width: 500px) {
  #b_navi .currentpage {
    display: none;
  }
}

/** ***********************************************

	PR SLIDE

*********************************************** **/
#sec-pr {
  overflow: hidden;
  position: relative;
}

/* Slick Slider */
#slick-01 {
  background-color: #ddd;
  overflow: hidden;
}

#slick-01 .item {
  display: inline-block;
  opacity: 1;
  vertical-align: top;
}

#slick-01 .item img {
  width: 100%;
  height: auto;
}

#slick-01 .slick-active {
  opacity: 1;
}

#slick-01 .slick-prev {
  left: 20px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: -35px;
  position: absolute;
  top: 50%;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #ddd;
  border: solid 1px #ddd;
  text-align: center;
  border-radius: 100%;
  z-index: 997;
}

#slick-01 .slick-next {
  right: 20px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: -35px;
  position: absolute;
  top: 50%;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #ddd;
  border: solid 1px #ddd;
  text-align: center;
  border-radius: 100%;
}

#wrap-thumb {
  width: 100%;
  height: 40px;
  background-color: #ddd;
}

#slick-01 .link {
  position: relative;
}

#slick-01 .link a {
  position: absolute;
  top: 0;
  width: 50%;
  display: block;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
}

#slick-01 .link a:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

#slick-01 .link .link-02 {
  right: 0;
}

#slick-01 .slick-dots {
  position: absolute;
  bottom: 5px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

#slick-01 .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px !important;
  height: 12px !important;
  margin: 0 3px;
  padding: 0;
  cursor: pointer;
  background-color: #333;
  border-radius: 100%;
}

#slick-01 .slick-dots button {
  display: inline-block;
  width: 14px !important;
  height: 14px !important;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

#slick-01 .slick-dots li.slick-active {
  background-color: #c00;
}

@media screen and (max-width: 1480px) {
  #slick-01 .item {
    width: 1024px;
  }
  #slick-01 .item img {
    width: 100%;
    height: auto;
  }
  #slide-stop {
    left: 30px;
  }
  #slide-play {
    left: 30px;
  }
  .slick-items .slick-prev {
    left: 5px;
    margin-left: 0px;
  }
  .slick-items .slick-next {
    right: 5px;
    margin-right: 0px;
  }
}
@media screen and (max-width: 1350px) {
  #slick-01 .slick-prev {
    left: 20px;
    margin-left: 10px;
  }
  #slick-01 .slick-next {
    right: 20px;
    margin-right: 10px;
  }
  #slick-01 .slick-dots li {
    width: 200px;
    height: auto;
  }
  #slick-01 .slick-dots li button img {
    width: 200px;
    height: auto;
  }
}
@media screen and (max-width: 800px) {
  #slick-01 .slick-prev {
    display: none !important;
  }
  #slick-01 .slick-next {
    display: none !important;
  }
}
/** ***********************************************

	Top Section Common 

*********************************************** **/
.sec-common {
  padding: 80px 0 150px;
  min-height: 500px;
  position: relative;
}

.title-en {
  text-align: center;
  font-size: 30px;
  letter-spacing: 2px;
  color: #000;
  font-weight: bold;
  margin-bottom: 5px;
}

.title-en a {
  color: #000;
}

.title-jp {
  text-align: center;
  font-size: 12px;
  color: #666;
  font-weight: normal;
}

.title-jp a {
  color: #666;
}

.hider {
  overflow: hidden;
}

.bg-full {
  width: 100%;
}

.t-white {
  color: #fff;
}

.add-arrow:before {
  content: "→ ";
}

@media screen and (max-width: 800px) {
  .sec-common {
    padding: 30px 0;
  }
}
/** ***********************************************

	Filter 

*********************************************** **/
.item-list-01 li {
  display: inline-block;
  margin: 0 5px;
  text-align: center;
  vertical-align: top;
}

.item-list-01 li a {
  color: #333;
  display: block;
  height: 350px;
  background-color: #fff;
}

.item-list-01 h4 {
  font-size: 14px;
  padding: 10px;
  font-weight: bold;
}

.item-list-01 p {
  padding: 0 10px;
}

.slick-items {
  height: 400px;
}

.slick-items .item {
  display: inline-block;
  position: relative;
  opacity: 0.5;
  vertical-align: top;
}

.slick-items .item p,
.slick-items .item span {
  text-align: left;
}

.slick-items .item img {
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 40px 40px;
}

.slick-items .slick-active {
  opacity: 1;
}

.slick-items .slick-prev {
  left: 0px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: 10px;
  margin-left: -25px;
  position: absolute;
  top: 50%;
  display: block;
  z-index: 999;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  border: solid 1px #000;
  text-align: center;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.slick-items .slick-next {
  right: 0px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: 10px;
  margin-right: -25px;
  position: absolute;
  top: 50%;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  border: solid 1px #000;
  text-align: center;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 1420px) {
  .slick-items .slick-prev {
    left: 30px;
  }
  .slick-items .slick-next {
    right: 30px;
  }
}
.slick-items .slick-dots {
  position: absolute;
  bottom: 10px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-items .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 3px;
  padding: 0;
  cursor: pointer;
  background-color: #333;
  border-radius: 100%;
}

.slick-items .slick-dots button {
  display: inline-block;
  width: 14px;
  height: 14px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-items .slick-dots li.slick-active {
  background-color: #c00;
}

.bg-full .slick-items {
  height: 180px;
}

.slick-items .slick-prev {
  margin-top: -15px;
}

.slick-items .slick-next {
  margin-top: -15px;
}

/** ***********************************************

フィルターページ

*********************************************** **/
.inner-w {
  margin: 0 auto;
  max-width: 1680px;
  padding: 0 20px;
}

.cat-show-menu .list-news p {
  width: 700px;
}

/**  Local Menu  **/
.filter-sub-01 {
  overflow: auto;
  height: calc(100vh - 180px);
}
@media screen and (max-width: 500px) {
  .filter-sub-01 {
    height: calc(100vh - 220px);
  }
}
.filter-sub-01 .block {
  padding: 20px 0;
}
.filter-sub-01 .list-other-cat {
  display: flex;
  flex-wrap: wrap;
}
.filter-sub-01 .list-other-cat li {
  width: 25%;
  overflow: hidden;
  padding: 10px;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-other-cat li {
    width: 100%;
    padding: 5px;
  }
}
.filter-sub-01 .list-other-cat li a {
  display: block;
  position: relative;
}
@media (hover: hover) {
  .filter-sub-01 .list-other-cat li a:hover {
    opacity: 1;
  }
  .filter-sub-01 .list-other-cat li a:hover .img-cat {
    transform: scale(1.1);
  }
}
.filter-sub-01 .list-other-cat li .txt {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.2) 300px, rgba(0, 0, 0, 0) 400px);
  width: 100%;
  height: 100%;
  padding: 40px 20px 0;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-other-cat li .txt {
    padding: 30px 20px 0;
  }
}
.filter-sub-01 .list-other-cat li .txt span {
  display: block;
  color: #fff;
}
.filter-sub-01 .list-other-cat li .txt span.en {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 5px;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-other-cat li .txt span.en {
    font-size: 13px;
    letter-spacing: 1px;
  }
}
.filter-sub-01 .list-other-cat li .img-cat {
  height: 150px;
  transition: transform 0.6s;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: relative;
  display: block;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-other-cat li .img-cat {
    width: 100%;
    height: 125px;
  }
}
.filter-sub-01 .title-category {
  font-weight: bold;
  margin: 20px 0 20px 10px;
  font-size: 16px;
  letter-spacing: 1.5px;
}
.filter-sub-01 .title-category::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1.5px;
  vertical-align: middle;
  background-color: #333;
  margin-right: 8px;
}
.filter-sub-01 .list-acce {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-acce {
    flex-wrap: wrap;
  }
}
.filter-sub-01 .list-acce li {
  list-style: none;
  padding: 0 10px;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .list-acce li {
    width: 100%;
  }
}
.filter-sub-01 .list-acce a {
  font-size: 15px;
  letter-spacing: 1px;
  display: block;
  background-color: #fff;
  padding: 20px;
  text-align: center;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  border: solid 1px #ddd;
  position: relative;
  transition: 0.4s;
}
.filter-sub-01 .list-acce a:hover {
  opacity: 1;
  background-color: #333;
  color: #fff;
}
.filter-sub-01 .other-brands {
  display: flex;
  flex-wrap: wrap;
}
.filter-sub-01 .other-brands li {
  list-style: none;
  width: 33.3333333333%;
  padding: 10px;
}
@media screen and (max-width: 500px) {
  .filter-sub-01 .other-brands li {
    width: 100%;
  }
}

.filter-sub-03 {
  padding: 100px 0;
}
.filter-sub-03 .wrap-flex {
  display: flex;
  justify-content: center;
  gap: 50px;
}
.filter-sub-03 .wrap-flex a {
  color: #333;
  display: block;
  text-align: center;
  transition: transform 0.4s;
}
@media (hover: hover) {
  .filter-sub-03 .wrap-flex a:hover {
    transform: translateY(3px);
  }
}
.filter-sub-03 .wrap-flex a img {
  width: auto;
  max-height: 40px;
  display: block;
  margin: 0 auto;
}
.filter-sub-03 .wrap-flex a .name {
  display: block;
  font-size: 14px;
  letter-spacing: 1px;
  margin: 10px auto 0;
}

#filter-sub-05 {
  overflow: auto;
  height: calc(100vh - 180px);
}
@media screen and (max-width: 500px) {
  #filter-sub-05 {
    height: calc(100vh - 220px);
  }
}
#filter-sub-05 .wrap-list {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 500px) {
  #filter-sub-05 .item-03 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
}

/** ***********************************************

	NEWS 

*********************************************** **/
#sec-news .box-01 {
  margin-top: 80px;
  text-align: center;
  letter-spacing: -0.5em;
}

#sec-news .box-01 .div-01 {
  width: 48%;
  margin-right: 2%;
  min-height: 300px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

#sec-news .box-01 .div-02 {
  width: 48%;
  margin-left: 2%;
  min-height: 300px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

#sec-news h4 {
  font-size: 16px;
  position: relative;
  letter-spacing: 1px;
}

#sec-news h4 a i {
  color: #f90;
  font-size: 18px;
  margin-left: 10px;
}

#sec-news h4 a.icon-rss {
  color: #fff;
  background-color: #f90;
  padding: 2px 4px;
  font-size: 14px;
  margin-left: 10px;
  border-radius: 3px;
}

#sec-news h4 a.bt-news {
  font-size: 10px;
  font-weight: normal;
  color: #fff;
  padding: 3px 10px;
  background-color: #09f;
  margin-left: 10px;
  vertical-align: text-top;
  border-radius: 2px;
}

#sec-news h4 a.bt-news:hover {
  background-color: #ccc;
}

#sec-news .list-news {
  margin-top: 30px;
  max-height: 500px;
  overflow: auto;
}

#sec-news .list-news li {
  list-style: none;
}

#sec-news .list-news li a {
  display: block;
  font-size: 13px;
  font-weight: normal;
  border-bottom: solid 1px #ddd;
  padding: 10px 0;
}

#sec-news .list-news .wrap-img {
  display: inline-block;
  width: 100px;
  vertical-align: middle;
  margin: 5px 0;
  margin-right: 20px;
  text-align: center;
}

#sec-news .list-news img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 80px;
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 30px 30px;
  min-height: 50px;
}

.list-news p {
  display: inline-block;
  width: 100%;
  max-width: 420px;
  vertical-align: middle;
}

.list-news .date {
  color: #666;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}

.list-news .icon-new {
  color: #fff;
  font-size: 10px;
  background-color: #cc0000;
  font-style: normal;
  padding: 2px 8px;
  margin-left: 5px;
  border-radius: 10px;
}

#sec-news .box-02 {
  margin-top: 80px;
  text-align: center;
  letter-spacing: -0.5em;
}

#sec-news .box-02 .div-01 {
  width: 48%;
  margin-right: 2%;
  padding: 2%;
  min-height: 300px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
  background-color: #ffc;
  border: solid 1px #cc0000;
}

#sec-news .box-02 .div-02 {
  width: 48%;
  margin-left: 2%;
  padding: 2%;
  min-height: 300px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

.list-rss {
  margin-top: 30px;
  overflow: auto;
}

.list-rss li {
  margin-bottom: 10px;
}

.list-rss li a {
  font-size: 13px;
  font-weight: normal;
}

.list-rss li span {
  font-size: 10px;
  color: #999;
  margin-left: 10px;
}

.list-rss a .icon-rss-squared {
  color: #f90;
  font-size: 18px;
}

#sec-news .box-03 {
  margin-top: 80px;
  text-align: left;
  letter-spacing: -0.5em;
  width: 50%;
}

#sec-news .box-03 h4 {
  letter-spacing: normal;
  margin-bottom: 30px;
}

#sec-news .box-03 i {
  font-size: 100px;
}

#sec-news .box-03 li {
  width: 200px;
  padding: 10px;
  margin-right: 20px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: center;
  background-color: #fff;
}

#sec-news .box-03 p {
  font-size: 10px;
}

.icon-attention-circled {
  color: #cc0000;
  font-size: 18px;
}

@media screen and (max-width: 1350px) {
  #sec-news .box-01 {
    margin-top: 40px;
  }
  #sec-news .list-news li a {
    font-size: 12px;
  }
  #sec-news .list-news p {
    width: 70%;
  }
}
/** 

contents style 

**/
.entry .date {
  font-size: 14px;
  margin-bottom: 20px;
  color: #666;
  display: block;
  text-align: right;
}
@media screen and (max-width: 500px) {
  .entry .date {
    font-size: 12px;
  }
}

.entry table {
  margin: 10px auto;
  background-color: #ddd;
  border-spacing: 1px;
  width: 100%;
}

.entry table th {
  background-color: #eee;
  text-align: left;
  vertical-align: top;
  padding: 10px;
}

.entry table td {
  background-color: #fff;
  text-align: left;
  vertical-align: top;
  padding: 10px;
}

.entry img {
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.entry ul li {
  margin: 10px 20px;
  list-style: outside disc;
}

.entry ol li {
  margin: 10px 20px;
  list-style: outside decimal;
}

.entry p {
  margin: 0 10px 1em;
  font-size: 16px;
}

.entry h3 {
  font-weight: bold;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
  border-left: 3px solid #000;
  padding-bottom: 5px;
  padding-left: 12px;
  padding-top: 8px !important;
  margin-top: 30px;
}

#binoculars.entry {
  margin: 0;
  padding: 0;
}

#binoculars.entry h3 {
  margin-bottom: 0px;
  border: none;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-top: 0px !important;
  margin-top: 0px;
}

.index {
  border: solid 1px #ddd;
  position: relative;
  padding: 20px;
  margin-bottom: 30px;
}

.index .title {
  position: absolute;
  top: -10px;
  left: 10px;
  background-color: #fff;
  display: inline;
  font-size: 14px;
  padding: 0 10px;
  font-weight: normal;
}

.index li {
  list-style: none;
}

.index li a {
  border-bottom: 1px dotted #0071bc;
}

.entry .wrap-img {
  text-align: center;
  padding: 0 0 20px;
}

.entry .wrap-img img {
  max-height: 700px;
  max-width: 100%;
}

@media screen and (max-width: 500px) {
  .entry img {
    float: none !important;
    margin: 0 auto 10px !important;
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
  }
  .entry p {
    font-size: 14px;
  }
  .entry h3 {
    font-size: 16px;
  }
  .index {
    padding: 20px 0px;
    margin-bottom: 20px;
  }
  .index li a {
    font-size: 14px;
  }
  iframe {
    width: 100%;
    height: 300px;
  }
}
/** ***********************************************

	新着情報と特集ページ

*********************************************** **/
#page-news .box-01 {
  text-align: center;
  letter-spacing: -0.5em;
}

#page-news .box-01 .div-01 {
  width: 48%;
  margin-right: 2%;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

#page-news .box-01 .div-02 {
  width: 48%;
  margin-left: 2%;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

.category-title {
  font-size: 16px;
  position: relative;
  letter-spacing: 1px;
}

.win .category-title {
  font-weight: bold;
}

.category-title a.icon-rss-squared {
  color: #f90;
  font-size: 18px;
  margin-left: 10px;
}

.category-title a.icon-rss {
  color: #f90;
  padding: 2px 4px;
  font-size: 14px;
  margin-left: 10px;
  border-radius: 3px;
}

.category-title a.bt-news {
  font-size: 12px;
  font-weight: normal;
  color: #fff;
  padding: 3px 10px;
  background-color: #09f;
  margin-left: 10px;
}

#page-news .list-news {
  margin-top: 12px;
  height: auto !important;
  overflow: inherit;
  border-top: solid 1px #333;
  padding-top: 10px;
}

.list-news {
  list-style: none;
}

.list-news a {
  color: #0052a5;
}

#page-news .list-news li a {
  display: block;
  font-size: 14px;
  font-weight: normal;
  border-bottom: solid 1px #ddd;
  padding: 10px 0;
}

#page-news .list-news .wrap-img {
  display: inline-block;
  width: 100px;
  vertical-align: middle;
  margin: 5px 0;
  margin-right: 20px;
  text-align: center;
}

#page-news .list-news .noimage {
  background-color: #fff;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  height: 100px;
  padding-top: 42px;
  color: #ddd;
  font-size: 13px;
  letter-spacing: 1px;
}

#page-news .list-news img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 80px;
  vertical-align: middle;
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 30px 30px;
  min-height: 50px;
}

#page-news p {
  width: 100%;
  max-width: inherit;
}

#page-news #list-new-products .txt-right {
  text-align: left;
  width: 80%;
  max-width: 700px;
}

#page-news .box-02 {
  margin-top: 80px;
  text-align: center;
  letter-spacing: -0.5em;
}

#page-news .box-02 .div-01 {
  width: 100%;
  margin-right: 2%;
  padding: 2%;
  min-height: 300px;
  letter-spacing: normal;
  vertical-align: top;
  text-align: left;
}

#page-news .box-03 {
  margin-top: 0px;
  text-align: center;
  padding: 40px 0;
  background-color: #d9eff9;
  width: 100%;
}

#page-news .box-03 i {
  font-size: 80px;
}

#page-news .box-03 li {
  width: 180px;
  padding: 0;
  margin: 0;
  display: inline-block;
  vertical-align: top;
  text-align: center;
}

#page-news .box-03 p {
  font-size: 10px;
}

#page-news .bt-style-01 {
  width: 100%;
  max-width: 300px;
  margin: 40px auto 0;
}

#news-index .div-01 #list-new-products p {
  width: 70% !important;
  max-width: 400px !important;
}

@media screen and (max-width: 1024px) {
  #page-news #list-new-products .txt-right {
    width: 70%;
  }
}
@media screen and (max-width: 900px) {
  #page-news .box-01 .div-01 {
    width: 100%;
    margin-right: 0%;
    display: block;
    padding-bottom: 30px;
  }
  #page-news .box-01 .div-02 {
    width: 100%;
    margin-left: 0%;
    display: block;
    padding-bottom: 30px;
  }
  #page-news .list-news li a {
    font-size: 12px;
  }
  #page-news .list-news .wrap-img {
    width: 20% !important;
  }
  #page-news .list-news img {
    width: auto;
    height: auto;
    max-width: 100% !important;
    max-height: 80px !important;
    min-height: inherit !important;
  }
  #page-news a p {
    font-size: 12px !important;
  }
}
/** News Category **/
#page-news .cat .box-01 .div-01 {
  width: 100%;
  max-width: 900px;
}

#page-news .cat .list-news li a {
  font-size: 14px;
}

#page-news .cat .list-news .wrap-img {
  width: 140px;
  height: 100px;
}

#page-news .cat .list-news img {
  max-width: 140px;
  max-height: 100px;
}

#page-news .cat .list-news p {
  width: 100%;
}

#page-news .newpd p {
  width: 100%;
  max-width: 700px !important;
}

/** 新着情報ページナビ **/
#navi {
  padding-top: 50px;
  text-align: center;
}

#navi a,
#navi .current_page {
  border: solid 1px #0071bc;
  width: 45px;
  height: 45px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  font-size: 16px;
  padding-top: 10px;
  border-radius: 3px;
  margin-bottom: 10px;
}

#navi a:hover,
#navi .current_page {
  background-color: #0071bc;
  color: #fff;
  font-weight: bold;
}

/** News Detail **/
#page-news .detail .content {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.entry-title {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 1px;
  border-bottom: solid 1px #333;
  padding-bottom: 10px;
  margin-bottom: 20px;
  line-height: 180%;
}

#page-news .entry table[style] {
  width: 100% !important;
}

@media screen and (max-width: 900px) {
  #page-news .entry iframe {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .entry-title {
    font-size: 18px;
  }
  #page-news .entry table th,
  #page-news .entry table td,
  #page-news .entry table a {
    font-size: 12px;
  }
  #page-news .entry p a {
    font-size: 14px;
  }
  #page-news .entry div[style] {
    float: none !important;
  }
}
.addthis_toolbox {
  font-size: 12px;
}

.addthis_toolbox .at-icon-wrapper {
  vertical-align: middle;
}

.addthis_separator {
  color: #ddd;
}

.entry {
  padding: 30px 0 20px;
}

.entry h3 {
  border-bottom: solid 1px #ddd;
  padding: 30px 0 10px 10px;
  margin-bottom: 30px;
  letter-spacing: 2px;
  font-size: 20px;
}

.entry h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

.entry p {
  line-height: 180%;
  font-size: 16px;
  margin-bottom: 1em;
  margin-left: 0;
}

.entry a {
  line-height: 160%;
  font-size: 16px;
  color: #0052a5;
}

.entry hr {
  border: none;
  border-top: solid 1px #ccc;
  margin-bottom: 10px;
}

#pager {
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  padding: 20px 10px;
  margin-top: 20px;
  background-color: #f5f5f5;
}

#pager span {
  display: inline-block;
}

#pager .prev {
  width: 42%;
}

#pager .all {
  width: 13%;
  text-align: center;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
  padding: 0 10px;
}

#pager .next {
  width: 42%;
  text-align: right;
}

#pager .prev:before {
  content: "← 前の記事";
  display: block;
  font-size: 12px;
  color: #999;
}

#pager .next:before {
  content: "次の記事 →";
  display: block;
  font-size: 12px;
  color: #999;
  text-align: right;
}

#pager a {
  font-size: 14px;
  color: #0052a5;
}
@media screen and (max-width: 500px) {
  #pager a {
    line-height: 1.4;
  }
}

.wrap-newproducs {
  margin-top: 50px;
}

.wrap-newproducs .list-news p {
  width: 700px !important;
}

@media screen and (max-width: 500px) {
  #pager .fa-bars {
    display: block;
  }
}

@media screen and (max-width: 900px) {
  .wrap-newproducs .list-news p {
    width: 70% !important;
  }
  #pager {
    padding: 10px;
  }
  #pager span {
    display: inline-block !important;
  }
  #pager .prev {
    width: 40%;
  }
  #pager .all {
    width: 16%;
  }
  #pager .next {
    width: 40%;
  }
  #pager .prev:before {
    font-size: 10px;
  }
  #pager .next:before {
    font-size: 10px;
  }
  #pager a {
    font-size: 12px;
  }
}
/**     Added 2017.0720  for Lens Knowledge page    #0071b4 **/
h3.title-style-01 {
  border: none;
  background-color: #eef5fa;
  border-top: solid 1px #000;
  font-weight: bold;
  padding: 15px !important;
  margin-bottom: 50px;
}

h3.title-style-02 {
  border: none;
  background-color: #006699;
  color: #fff;
  font-weight: bold;
  padding: 12px !important;
  margin-bottom: 50px;
}

.table {
  display: table;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.cell {
  display: table-cell;
  vertical-align: top;
  text-align: center;
}

.cell p {
  text-align: left;
  margin-left: 0;
}

.entry .article {
  padding: 0 20px 50px;
}

.article-01 .cell {
  padding: 50px;
  text-align: center;
}

.article-01 .cell img {
  height: 150px;
  width: auto !important;
  max-width: inherit !important;
  display: block;
  margin: 0 auto 20px;
}

.article-01 .cell p {
  text-align: left;
  font-size: 14px;
}

.article-02 .table {
  table-layout: inherit;
}

.article-03 h4 {
  text-align: left;
}

.article-03 .table-01 {
  margin-bottom: 50px;
}

.article-03 .table-01 .cell-01 img {
  width: 90%;
}

.article-05 img {
  width: 90%;
  margin: 0 5%;
}

.article-06 img {
  height: 200px;
}

.article-06 .cell {
  padding: 20px;
}

.article-06 .p-01 {
  font-size: 12px;
  margin-bottom: 0;
  margin-top: 10px;
  text-align: center;
}

.article-06 .p-02 {
  font-size: 13px;
}

.article-07 .cell {
  text-align: left;
  padding: 0 5px;
}

.article-07 a {
  display: block;
  margin-bottom: 10px;
  background-color: #eef5fa;
}

.article-07 img {
  width: 45%;
  display: inline-block;
}

.article-07 h5 {
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  color: #333;
  text-align: center;
  width: 50%;
}

.cross-article-01 img {
  width: 90%;
  margin: 0 5%;
}

.cross-article-01 span {
  text-align: center;
  display: block;
  margin: 5px 0 10px;
}

.cross-dl {
  margin-top: 40px;
}

.cross-dl dt {
  font-weight: bold;
  font-size: 18px;
}

.cross-dl dd {
  font-size: 16px;
  margin: 10px 0 25px 1em;
}

.cross-article-03 .cell {
  padding: 0 10px;
}

.cross-article-03 .note {
  font-size: 13px;
  margin-top: 30px;
}

/*

Company Profile

*/
/* Brand */
#brands {
  margin: 40px auto;
  width: 100%;
  max-width: 796px;
}

#brands li {
  display: inline-block;
  width: 242px;
  margin: 0 10px;
  vertical-align: top;
}

#brands li img {
  width: 100%;
  height: auto;
}

#brands li.item-l {
  border: solid 1px #eee;
  height: 200px;
  margin-bottom: 30px;
  text-align: center;
}

#brands li.item-l img {
  display: block;
  margin-bottom: 10px;
}

#brands li.item-l a {
  font-size: 14px;
  display: block;
  margin-bottom: 10px;
}

#brands li.item {
  text-align: left;
  margin-bottom: 20px;
}

#brands li.item img {
  border: solid 1px #eee;
  display: block;
  margin-bottom: 5px;
}

#brands li.item a {
  font-size: 13px;
  display: block;
  margin-bottom: 5px;
}

#bt-support {
  padding: 20px 0;
}

#bt-support a {
  display: block;
  border: solid 1px #0071bc;
  padding: 10px;
  width: 450px;
  margin: 0 auto 60px;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}

#bt-support a:hover {
  background-color: #eee;
  color: #0071bc;
}

#bt-support img {
  vertical-align: middle;
  margin-right: 10px;
  display: inline-block;
}

#bt-support i {
  font-size: 30px;
  position: absolute;
  top: 13px;
  right: 10px;
  display: block;
  margin-right: -80px;
  opacity: 0;
}

#bt-support a:hover i {
  margin-right: 0;
  opacity: 1;
}

/* Message */
#wrap-message {
  margin-top: 40px;
}

#wrap-message h3 {
  font-size: 22px;
}

#wrap-message h3:before {
  content: "― ";
  font-weight: lighter;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

#wrap-message p {
  font-size: 16px;
  line-height: 200%;
}

#wrap-message img.pic {
  display: inline-block;
  border-radius: 100%;
  margin-top: 50px;
  margin-right: 10px;
}

#signature {
  display: block;
  text-align: right;
  font-size: 18px;
  margin-top: 50px;
  font-weight: bold;
}

/* Profile */
#wrap-profile {
  margin: 40px 10px 80px;
}

#wrap-profile table {
  border-collapse: collapse;
}

#wrap-profile th {
  font-weight: normal;
  font-size: 14px;
  text-align: center;
  padding: 15px 10px;
  border-bottom: solid 1px #333;
}

#wrap-profile td {
  font-weight: normal;
  font-size: 14px;
  text-align: left;
  padding: 15px 20px;
  border-bottom: solid 1px #ddd;
}

#wrap-profile td p {
  line-height: 180%;
}

/* History */
#wrap-history {
  margin: 40px 10px 80px;
}

#wrap-history table {
  border-collapse: collapse;
}

#wrap-history th {
  font-weight: normal;
  font-size: 14px;
  text-align: center;
  padding: 15px 20px;
}

#wrap-history td {
  font-weight: normal;
  font-size: 14px;
  text-align: left;
  padding: 15px 20px;
  border-left: solid 1px #ddd;
}

#wrap-history td:before {
  content: "●";
  color: #eee;
  margin-left: -27px;
  margin-right: 20px;
}

/* History */
#wrap-chart {
  margin: 40px 10px 80px;
}

#wrap-chart table {
  border-collapse: collapse;
}

#wrap-chart td {
  padding: 10px 0;
}

#wrap-chart h3 {
  font-size: 20px;
}

#wrap-chart h3:before {
  content: "― ";
  font-weight: lighter;
}

#wrap-chart ul {
  margin: 20px 25px;
}

#wrap-chart ul li {
  list-style: disc;
  margin-left: 14px;
  margin-bottom: 10px !important;
}

/* Divisions */
#divisions {
  margin: 40px 10px 120px;
}

#divisions .left {
  width: 25%;
  text-align: center;
  padding: 20px 0;
}

#divisions .right {
  width: 72%;
  padding: 20px 0;
}

#divisions h3 {
  font-size: 16px;
  margin: 20px 0 0;
}

#divisions h3:before {
  content: "― ";
  font-weight: lighter;
}

#divisions p {
  line-height: 180%;
}

#divisions .map {
  margin-top: 10px;
}

#divisions .map a {
  background-color: #0071bc;
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 2px;
}

#divisions .map a:hover {
  opacity: 0.7;
}

#divisions .left img {
  border-radius: 5px;
}

/** ***********************************************

	Products Page

*********************************************** **/
.new-pd-list {
  width: 100%;
}

.new-pd-list li {
  width: 100% !important;
}

.new-pd-list li a {
  background-image: none !important;
  display: block;
  font-size: 14px;
  font-weight: normal;
  border-bottom: solid 1px #ddd;
  padding: 10px;
  text-align: left;
  background-color: #fff;
  width: 100%;
  position: relative;
}

.new-pd-list .wrap-img {
  display: inline-block;
  width: 100px;
  vertical-align: middle;
  margin: 5px 0;
  margin-right: 20px;
  text-align: center;
}

.new-pd-list img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 80px;
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 30px 30px;
  min-height: 50px;
}

.new-pd-list p {
  display: inline-block;
  vertical-align: middle;
  width: 800px;
  text-align: left;
  font-size: 14px;
}

.new-pd-list .date {
  color: #333;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
  text-align: left;
}

.new-pd-list .icon-new {
  color: #fff;
  font-size: 10px;
  background-color: #cc0000;
  font-style: normal;
  padding: 2px 8px;
  margin-left: 5px;
  border-radius: 10px;
}

.new-pd-list .icon-right-open {
  position: absolute;
  top: 50%;
  right: 5px;
  font-size: 23px;
  margin-top: -14px;
  color: #ddd;
}

/* 特集ページ */
/* table sorter */
.table_style_01 {
  width: 100%;
}

.table_style_01 table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 1px;
  border: none;
  background-color: #ccc;
}

.table_style_01 th {
  background-color: #eee;
  text-align: center;
  padding: 6px !important;
  width: auto;
  border: none;
  font-size: 14px;
  vertical-align: middle;
  text-align: center;
}

.table_style_01 td {
  background-color: #fff;
  padding: 8px 2px !important;
  width: auto !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: none;
}

.table_style_01 th a {
  font-size: 12px;
}

.on_color tr:hover th,
.on_color tr:hover td {
  background-color: #ffc !important;
}

table.tablesorter thead tr .tablesorter-header {
  background-image: url(bg.gif);
  background-repeat: no-repeat;
  background-position: center right;
  cursor: pointer;
  cursor: hand;
  padding-right: 10px !important;
}

table.tablesorter thead tr div {
  font-size: 12px;
}

table.tablesorter thead tr .tablesorter-headerAsc {
  background-image: url(asc.gif);
}

table.tablesorter thead tr .tablesorter-headerDesc {
  background-image: url(desc.gif);
}

table.tablesorter thead tr .tablesorter-headerAsc,
table.tablesorter thead tr .tablesorter-headerDesc {
  background-color: #fc0 !important;
}

.sorter-false {
  background-image: none !important;
  cursor: default !important;
}

.tablesorter i {
  display: none;
}

.special .sp_h3 {
  margin-top: 30px;
}

.special .sp_h3 a {
  font-weight: bold;
  color: #333;
}

.special .sp_h3 a:before {
  content: "- ";
}

.special .tab_contents .list-news {
  padding-top: 0 !important;
  margin-top: 0;
}

.sp-list-style {
  margin: 10px 0 30px;
}

.sp-list-style li {
  border-bottom: solid 1px #ddd;
  padding: 10px;
  transition: all 0.4s;
}

.sp-list-style li:hover {
  background-color: #f5f5f5;
}

.sp-list-style li .img {
  display: inline-block;
  vertical-align: top;
  width: 25%;
  height: 140px;
  background-position: center center;
  background-size: cover;
  border-radius: 3px;
  background-color: #f5f5f5;
  text-align: center;
  font-size: 14px;
  color: #666;
  font-style: normal;
  padding-top: 58px;
}

.sp-list-style li .txt {
  display: inline-block;
  vertical-align: top;
  width: 75%;
  padding-left: 20px;
}

.sp-list-style li.noimg .txt {
  width: 100%;
  padding-left: 0px;
}

.sp-list-style li .txt .item-01 {
  font-size: 12px;
  margin-bottom: 12px;
  display: block;
  color: #999;
}

.sp-list-style li .txt .item-01 i {
  font-style: normal;
  background-color: #eee;
  margin-right: 10px;
  display: inline-block;
  padding: 1px 4px;
  font-size: 10px;
}

.sp-list-style li .txt .item-01 i.icon-01 {
  background-color: cadetblue;
  color: #fff;
}

.sp-list-style li .txt .item-01 i.icon-02 {
  background-color: #b90b0b;
  color: #fff;
}

.sp-list-style li .txt .item-01 i.icon-03 {
  background-color: #15497b;
  color: #fff;
}

.sp-list-style li .txt .item-01 i.icon-04 {
  background-color: deepskyblue;
  color: #fff;
}

.sp-list-style li .txt .item-01 i.icon-05 {
  background-color: coral;
  color: #fff;
}

.sp-list-style li .txt .item-01 i.icon-06 {
  background-color: gold;
  color: #333;
}

.sp-list-style li .txt .item-02 {
  font-size: 16px;
  margin-bottom: 10px;
  letter-spacing: 1px;
}

.sp-list-style li .txt .item-02 a {
  font-weight: bold;
  color: #0071bc;
}

.sp-list-style li .txt p.item-03 {
  line-height: 160%;
  margin-bottom: 0;
}

.sub-cats {
  text-align: center;
  margin-bottom: 30px;
}

.sub-cats li {
  display: inline-block;
  margin: 0;
  border-left: solid 1px #ddd;
  padding: 0 15px 0 20px;
}

.sub-cats li:first-child {
  border-left: none;
}

.sub-cats li a {
  font-weight: bold;
}

@media screen and (max-width: 500px) {
  .sp-list-style li .img {
    display: block;
    width: 100%;
    height: 160px;
    margin-bottom: 20px;
  }
  .sp-list-style li .txt {
    display: block;
    width: 100%;
    padding-left: 0px;
  }
  .sp-list-style li .txt p.item-03 {
    font-size: 12px;
  }
  .sub-cats li {
    padding: 0 10px;
    font-size: 12px;
    margin-bottom: 5px;
  }
}
/**  

Section - 01 ABOUT 

**/
#contents .sec-01 {
  margin-top: 40px;
}

#contents .pd-title-area {
  padding-bottom: 10px;
}

/** Title Area **/
#contents .catch {
  font-size: 14px;
  margin-bottom: 10px;
}

#contents .pd-name {
  font-size: 34px;
  font-weight: bold;
  letter-spacing: 2px;
}

#contents .pd-name .icon-new {
  background-color: #b90b0b;
  color: #fff;
  font-size: 12px !important;
  padding: 2px 4px;
  letter-spacing: inherit !important;
  vertical-align: middle;
}

#contents .series {
  padding: 5px 0;
}

#contents .series a {
  font-size: 12px;
  color: #0052a5;
}

@media screen and (max-width: 500px) {
  #contents .catch {
    font-size: 12px;
  }
  #contents .pd-name {
    font-size: 24px;
  }
}
/** Slider **/
#pd-img-area {
  text-align: center;
  padding: 50px 0;
  border-top: solid 1px #ddd;
  background-color: #fff;
}

#main-img {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
}

#main-img .slickslider {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}

#main-img li.slick-slide {
  display: inline-block;
  width: 100%;
  height: auto;
  max-width: 800px;
  text-align: center;
  vertical-align: middle;
  margin: 0 50px;
  padding-bottom: 20px;
}

#main-img li img {
  max-height: 400px;
}

#main-img li.slick-slide a:hover img {
  opacity: 0;
}

#main-img li.slick-active a:hover img {
  opacity: 1;
}

.slickslider li.slick-slide.slick-center {
  opacity: 1;
}

.slickslider li.slick-slide {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#main-img li.slick-slide p {
  margin-top: 10px;
  font-size: 14px;
}

#main-img .slickslider .slick-prev {
  left: 100px;
  width: 50px;
  height: 50px;
  margin-top: -50px;
  position: absolute;
  top: 50%;
  display: block;
  z-index: 999;
  cursor: pointer;
  cursor: hand;
  font-size: 60px;
  color: #999;
  text-align: center;
}

#main-img .slickslider .slick-next {
  right: 100px;
  width: 50px;
  height: 50px;
  margin-top: -50px;
  position: absolute;
  top: 50%;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 60px;
  color: #999;
  text-align: center;
}

#main-img .slickslider i:hover {
  color: #000;
}

.color-valiation {
  display: flex;
  list-style: none;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 20px;
}
@media screen and (max-width: 500px) {
  .color-valiation {
    left: 10px;
  }
}
.color-valiation li {
  width: 60px;
  padding: 5px;
  border: solid 1px #eee;
  margin-bottom: 5px;
}
@media screen and (max-width: 500px) {
  .color-valiation li {
    width: 40px;
  }
}
.color-valiation li:hover {
  border: solid 1px #999;
}
.color-valiation li.current {
  border: solid 1px #999;
}
.color-valiation li a {
  display: block;
}

.txt-valiation {
  position: absolute;
  top: -20px;
  left: 20px;
  font-size: 10px;
  display: block;
  width: 60px;
  text-align: center;
}
@media screen and (max-width: 500px) {
  .txt-valiation {
    width: 40px;
    left: 10px;
  }
}

.bt-colors {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
  margin-bottom: 30px;
}

.bt-colors li {
  width: 30px;
  height: 30px;
  display: block;
  background-color: #eee;
  margin: 0 3px;
  border-radius: 100px;
  cursor: pointer;
  border: solid 2px #eee;
}

.bt-colors li.current {
  border: solid 2px #000;
}

.bt-colors li.red {
  background-color: red;
}

.bt-colors li.blue {
  background-color: blue;
}

.bt-colors li.green {
  background-color: green;
}

.bt-colors li.yellowgreen {
  background-color: yellowgreen;
}

.bt-colors li.yellow {
  background-color: yellow;
}

.bt-colors li.purple {
  background-color: purple;
}

.bt-colors li.brown {
  background-color: brown;
}

.bt-colors li.gray {
  background-color: gray;
}

.bt-colors li.pink {
  background-color: pink;
}

.slick-thumb {
  text-align: center;
  width: 500px;
  margin: 0 auto;
  overflow: hidden;
}

.slick-thumb li {
  display: inline-block;
  vertical-align: top;
  height: 60px;
  border: solid 1px #eee;
  margin: 0 2.5px;
  cursor: pointer;
}
.slick-thumb li:hover {
  border: solid 1px #999;
}
.slick-thumb li:hover img {
  opacity: 0.8;
}

.slick-thumb li img {
  width: auto;
  height: 100%;
}

.slick-thumb .slick-current img {
  opacity: 1;
}

.slick-thumb .slick-current {
  border: solid 1px #999;
}

.slick-thumb li:focus {
  outline: none;
}

@media screen and (max-width: 900px) {
  #main-img li img {
    max-height: 300px;
  }
  #main-img li.slick-slide p {
    font-size: 13px;
  }
}
@media screen and (max-width: 500px) {
  #pd-img-area {
    padding: 30px 0 0;
  }
  #main-img .slickslider {
    padding-bottom: 50px;
  }
  #main-img li.slick-slide {
    margin: 0 auto !important;
  }
  #main-img li img {
    max-height: 200px;
    width: auto;
    height: auto;
  }
  #main-img li p {
    font-size: 10px;
  }
  .slick-thumb {
    display: none;
  }
  #main-img .slick-dots {
    text-align: center;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
  }
  #main-img .slick-dots li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 3px;
    border: solid 1px #ddd;
    border-radius: 100%;
    text-indent: -9999px;
  }
  #main-img .slick-dots li.slick-active {
    background-color: #0052a5;
    border: solid 1px #0052a5;
  }
}
/** Entry **/
#contents .entry {
  text-align: left;
  padding: 30px 10px;
  border-top: solid 1px #ddd;
  width: 100%;
}

#contents .entry strong {
  font-weight: bold;
}

.cms p {
  font-size: 16px;
  margin-bottom: 1em;
  line-height: 200%;
}

.cms h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1em;
}

.cms h5 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 1em;
}

/** Feature Icons**/
.feat-icons {
  padding: 20px 0;
  font-size: 0;
}

.feat-icons li {
  display: inline-block;
  position: relative;
  font-size: 12px;
  margin: 0;
}

.feat-icons .pop-ex {
  position: absolute;
  bottom: 60px;
  left: 50%;
  margin-left: -100px;
  background-color: #eee;
  width: 200px;
  padding: 10px;
  border: solid 1px #ddd;
  border-radius: 3px;
  z-index: 9;
}

.feat-icons .pop-ex strong {
  display: block;
}

.feat-icons .pop-ex:after {
  content: "▼";
  color: #eee;
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-left: -10px;
  display: block;
  font-size: 20px;
}

/** Manual Button **/
.bt-manual {
  text-align: right;
  padding-top: 30px;
}

.bt-manual a {
  display: inline-block;
  width: 150px;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  padding: 8px 10px;
  border-radius: 3px;
  border: solid 1px #ddd;
  background: #eee;
  background: linear-gradient(to top, #ddd, #fff);
}

.bt-manual a:hover {
  background: #ddd;
}

.graph {
  padding-top: 40px;
}

@media screen and (max-width: 500px) {
  .cms p {
    font-size: 14px;
    line-height: 180%;
  }
  .cms h4 {
    font-size: 18px;
  }
  .cms h5 {
    font-size: 14px;
  }
  .cms table tr {
    font-size: 0;
  }
  .cms table td {
    font-size: 12px;
    padding: 10px;
    display: inline-block;
    width: 50%;
    vertical-align: top;
  }
  .cms table td img {
    width: 100%;
    height: auto;
  }
  .feat-icons {
    padding: 0;
  }
  .feat-icons li {
    font-size: 10px;
  }
  .feat-icons li img {
    height: 40px;
    width: auto;
  }
  .feat-icons .pop-ex {
    margin-left: -50px;
    width: 100px;
    padding: 5px;
  }
}
/**  

Section - 02 Features  

**/
h3.page-title {
  font-size: 34px;
  text-align: center;
  margin-bottom: 80px;
  letter-spacing: 4px;
  font-weight: bold;
  border: none;
  padding: 15px !important;
  margin-bottom: 50px;
}

h3.page-title-l {
  font-size: 28px;
  text-align: center;
  margin-bottom: 80px;
  letter-spacing: 2px;
  font-weight: bold;
  border: none;
  background-color: #eef5fa;
  padding: 30px;
  margin-bottom: 50px;
}

#contents img {
  max-width: 100%;
}

#contents .sec-feat {
  border-top: solid 1px #eee;
}

#contents .sec-feat .inner-800 {
  padding: 30px 0;
}

#contents .sec-feat img {
  width: auto;
  height: auto;
  max-width: 100%;
}

.title-01 {
  border-left: solid 3px #000;
  padding: 10px 15px;
  border-bottom: solid 1px #ddd;
}

.title-02 {
  border: none;
  background-color: #eef5fa;
  border-top: solid 1px #000;
  font-weight: bold;
  padding: 15px !important;
  font-size: 20px;
}

.title-03 {
  border-bottom: solid 1px #333;
  padding: 10px;
  font-weight: bold;
  font-size: 20px;
}

.title-04 {
  border-top: solid 1px #333;
  border-bottom: solid 1px #ddd;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}

.title-04:before {
  content: "− ";
}

.title-04:after {
  content: " −";
}

.title-05 {
  font-size: 20px;
  font-weight: bold;
  background-color: #eee;
  padding: 10px;
  border-bottom: solid 1px #333;
}

.title-06 {
  padding: 0.5em 0.75em;
  background: linear-gradient(to bottom, #69b4e6 0%, #0071bc 100%);
  color: #fff;
  border-bottom: solid 1px #333;
}

.title-07 {
  padding: 0.75em 1em;
  border: 1px solid #ccc;
  border-top: 3px solid #3498db;
  background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
  box-shadow: 0 -1px 0 rgb(255, 255, 255) inset;
}

@media screen and (max-width: 900px) {
  h3.page-title {
    font-size: 28px;
    padding: 15px !important;
    margin-bottom: 30px;
  }
  #contents .sec-feat .inner-800 {
    padding: 30px 20px;
  }
  #contents .sec-feat div[style] {
    float: none !important;
    width: 100% !important;
  }
}
@media screen and (max-width: 500px) {
  h3.page-title {
    font-size: 24px;
  }
  #contents .sec-feat iframe {
    width: 100%;
    height: 300px;
  }
}
.wrap-other-images {
  font-size: 0;
  margin-top: 50px;
  border-bottom: solid 1px #eee;
  background-color: #f5f5f5;
  padding: 30px 0;
}

.wrap-other-images li {
  display: inline-block;
  font-size: 14px;
  width: 33.3333%;
  vertical-align: top;
  text-align: center;
  margin-bottom: 20px;
  padding: 10px;
}

.wrap-other-images .wrap-img {
  background-color: #fff;
  padding: 10px 0;
}

.wrap-other-images li img {
  width: auto;
  height: 160px !important;
}

.wrap-other-images li p {
  text-align: left;
  font-size: 14px !important;
  padding: 5px 5px;
}

.wrap-other-images li p.p-01 {
  font-weight: bold;
  margin: 10px 0 5px;
}

.slick-slide a:focus {
  outline: none;
}

.wrap_social {
  text-align: center;
  margin: 30px auto;
}

.inner-700 {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}

.inner-800 {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.inner-900 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.inner-1000 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .inner-700 {
    padding: 0 20px;
  }
}
@media screen and (max-width: 850px) {
  .inner-800 {
    padding: 0 20px;
  }
}
@media screen and (max-width: 950px) {
  .inner-900 {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1050px) {
  .inner-1000 {
    padding: 0 20px;
  }
}
@media screen and (max-width: 500px) {
  .inner-700 {
    padding: 0 10px;
  }
  .inner-800 {
    padding: 0 10px;
  }
  .inner-900 {
    padding: 0 10px;
  }
  .inner-1000 {
    padding: 0 10px;
  }
}
.sec-sample {
  border-top: solid 1px #eee;
  padding-top: 30px;
}

.sec-sample h4 {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 10px;
}

.sec-sample p {
  font-size: 14px;
  margin-bottom: 10px;
}

.sec-sample img {
  max-width: 100%;
  height: auto;
}

#contents .sec-spec {
  padding: 30px 0;
  border-top: solid 1px #eee;
}

#contents .sec-free {
  padding: 30px 0;
  border-top: solid 1px #eee;
}

#contents .sec-shop {
  background-color: #d9eff9;
  padding: 20px 0;
}

#contents .free iframe {
  width: 100%;
  height: 400px;
}

/**  

Section - 03 SPEC  

**/
#shiyo table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
}

#shiyo th {
  border: 1px solid #ddd;
  padding: 20px;
  background-color: #eee;
  text-align: center;
  font-size: 15px;
  white-space: nowrap;
  font-weight: bold;
}

#shiyo td {
  border: 1px solid #ddd;
  padding: 20px;
  font-size: 16px;
  text-align: left;
}

/** for filter **/
.sec-spec #shiyo tr:nth-of-type(odd) td {
  background-color: #f5f5f5;
}

.sec-spec #shiyo td:first-child {
  font-weight: bold;
  text-align: left;
}

.sec-spec #shiyo td img {
  width: 35px;
  height: 35px;
}

#shiyo p {
  font-size: 14px;
}

@media screen and (max-width: 900px) {
  #shiyo th {
    padding: 10px;
    font-size: 14px;
    white-space: inherit;
  }
  #shiyo td {
    font-size: 14px;
    padding: 10px;
  }
  .sec-spec #shiyo th {
    font-size: 14px;
    padding: 10px;
  }
  .sec-spec #shiyo td {
    font-size: 14px;
    padding: 10px;
  }
  #shiyo p {
    font-size: 14px;
  }
}
@media screen and (max-width: 500px) {
  #shiyo {
    width: 100%;
    overflow-x: auto;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  #shiyo th {
    padding: 10px;
    font-size: 10px;
  }
  #shiyo td {
    padding: 10px;
    font-size: 10px;
  }
  .sec-spec #shiyo th {
    padding: 10px;
    font-size: 10px;
  }
  .sec-spec #shiyo td {
    padding: 10px;
    font-size: 10px;
  }
  #shiyo p {
    font-size: 12px;
  }
}
/** Shop Button **/
.sec-08 {
  padding: 50px 0 0;
}
@media screen and (max-width: 500px) {
  .sec-08 {
    padding: 30px 0 0;
  }
}
.sec-08 .wrap-bts {
  display: flex;
  gap: 10px;
}
.sec-08 .bt {
  background-color: #eddf21;
  width: 200px;
  margin-top: 10px;
  padding: 13px 10px 10px;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
  color: #000;
  letter-spacing: 1px;
}
@media screen and (max-width: 500px) {
  .sec-08 .bt {
    margin: 10px auto;
    padding: 13px 10px;
  }
}
.sec-08 .bt.bt-rental {
  background-color: #04b4c4;
  color: #fff;
  font-size: 12px;
  padding: 15px 10px 10px;
}
@media screen and (max-width: 500px) {
  .sec-08 .bt.bt-rental {
    padding: 15px 10px;
  }
}
.sec-08 .wrap-shop {
  padding-bottom: 10px;
  background-color: #fff;
}

/** Package Info Area **/
.package-area {
  background-color: #f5f5f5;
  border-bottom: solid 1px #ddd;
}

.bt-package {
  padding: 10px 5px;
  text-align: right;
  font-size: 13px;
  margin-left: auto;
  cursor: pointer;
  cursor: hand;
}

.info-package {
  padding: 20px;
  display: none;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.info-package p {
  font-size: 13px;
  padding-bottom: 10px;
}

/** Other Products Area**/
#here li {
  position: relative;
}

#here .icon-new {
  background-color: #dd1c24;
  font-style: normal;
  color: #fff;
  font-size: 10px !important;
  padding: 0px 4px !important;
  position: absolute;
  top: 0;
  left: 10px;
  z-index: 10;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
}

.other-products {
  background-color: #f5f5f5;
  padding-bottom: 30px;
}

.other-products h3 {
  text-align: center;
  font-weight: bold;
  padding: 30px;
}

.other-products ul {
  padding: 20px 10px;
  position: relative;
  overflow: hidden !important;
}

.other-products li.slick-slide {
  float: left;
  vertical-align: top;
  width: 33.333333%;
  padding: 0 10px;
  position: relative;
  outline: none;
  list-style: none;
}

.other-products li.slick-slide a:focus {
  outline: none;
}

.other-products li .img,
.other-products li .wrap-img {
  height: 120px;
  width: 100%;
  text-align: center;
  padding-right: 12px;
  background-color: #fff;
  padding: 10px 0;
  margin-bottom: 10px;
}

.other-products li img {
  height: auto;
  width: auto;
  max-height: 100px;
}

.other-products p.name {
  font-weight: bold;
  margin-bottom: 5px !important;
  font-size: 13px !important;
  padding-right: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.other-products p.desc {
  text-align: left;
  font-size: 12px !important;
  padding: 0 !important;
  height: 80px !important;
}

.other-products a p.desc {
  color: #333;
}

.other-products .slick-dots {
  text-align: center;
}

.other-products .slick-dots {
  position: absolute;
  bottom: 10px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.other-products .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px !important;
  height: 12px !important;
  margin: 0 3px;
  padding: 0;
  cursor: pointer;
  background-color: #333;
  border-radius: 100%;
}

.other-products .slick-dots button {
  display: inline-block;
  width: 12px !important;
  height: 12px !important;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.other-products .slick-dots li.slick-active {
  background-color: #c00;
}

.other-products .slick-arrow {
  position: absolute;
  background-color: rgb(0, 0, 0);
  top: 100px;
  width: 25px;
  height: 60px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
  z-index: 10;
  padding-top: 14px;
}

.other-products .slick-arrow:hover {
  opacity: 0.6;
}

.other-products .slick-prev {
  left: 0px;
}

.other-products .slick-next {
  right: 0px;
}

.other-products .bt {
  display: block;
  width: 180px;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  background-color: rgb(0, 113, 185);
  color: #fff;
  margin-top: 10px;
  font-size: 14px;
}

@media screen and (max-width: 500px) {
  .other-products ul {
    padding: 10px 5px;
    width: 100% !important;
  }
  .other-products li.slick-slide {
    width: 50%;
  }
  .other-products .bt {
    font-size: 12px;
  }
}
.catalog-area {
  padding: 30px 0 15px;
}

.catalog-area .inner {
  font-size: 0;
}

.catalog-area .inner .box {
  display: inline-block;
}

.catalog-area .inner .box:nth-of-type(1) {
  width: 20%;
  font-size: 14px;
  vertical-align: middle;
}

.catalog-area .inner .box:nth-of-type(2) {
  width: 80%;
  font-size: 14px;
  vertical-align: middle;
  padding-left: 50px;
}

.catalog-area .inner .box:nth-of-type(1) h3 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 2px;
}

.catalog-area .inner .box:nth-of-type(1) h3 span {
  font-size: 14px;
  font-weight: normal;
  display: block;
  letter-spacing: 1.5px;
}

.catalog-area .inner .box:nth-of-type(2) a {
  position: relative;
  display: inline-block;
  font-size: 14px;
  width: 150px;
  text-align: center;
  margin: 0 10px;
}

.catalog-area .inner .box:nth-of-type(2) img {
  width: 100%;
  height: auto;
}

.catalog-area .inner .box:nth-of-type(2) a span {
  position: absolute;
  background-color: rgb(0, 102, 211);
  color: #fff;
  font-size: 10px;
  padding: 3px 5px;
  display: block;
  top: 0;
  right: 0;
}

.catalog-area .inner .box .cat-img {
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
}

.catalog-area .inner .box:nth-of-type(2) a p {
  padding-top: 10px;
}

@media screen and (max-width: 500px) {
  .catalog-area .inner .box {
    display: block;
  }
  .catalog-area .inner .box:nth-of-type(1) {
    width: 100%;
    padding-bottom: 20px;
  }
  .catalog-area .inner .box:nth-of-type(2) {
    width: 100%;
    padding-left: 0px;
    text-align: center;
  }
  .catalog-area .inner .box:nth-of-type(1) h3 {
    font-size: 16px;
  }
  .catalog-area .inner .box:nth-of-type(1) h3 span {
    font-size: 12px;
  }
  .catalog-area .inner .box:nth-of-type(2) a {
    font-size: 12px;
    width: 120px;
  }
  .catalog-area .inner .box:nth-of-type(2) img {
    width: 100%;
    height: auto;
  }
}
.social-bts {
  position: fixed;
  top: 20%;
  left: -50px;
  z-index: 999;
}

.social-bts li {
  font-size: 12px;
  text-align: center;
}

.social-bts.active {
  left: 0px;
}

@media screen and (max-width: 1024px) {
  .social-bts {
    display: none;
  }
}
.ie-notice {
  width: 100%;
  padding: 20px;
  font-size: 20px;
  text-align: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  background-color: #fff;
}

/**

フィルター追加分 20203.08.28

**/
#filter-sub-06 {
  text-align: center;
}

#filter-sub-06 .filter-search {
  text-align: left;
  width: 700px;
  margin: 0 auto;
}

#filter-sub-06 .filter-search li {
  display: inline-block;
  margin: 10px;
  cursor: pointer;
  cursor: hand;
  border: solid 1px #333;
  border-radius: 30px;
  padding: 5px 10px;
}

#filter-sub-06 .filter-search li:hover {
  background-color: #fff;
}

.filter-search li:after {
  content: "mm";
}

.wrap-search-filter {
  position: absolute;
  top: 6px;
  right: 20px;
  font-size: 12px;
  z-index: 99;
  font-weight: bold;
}

.wrap-search-filter .show-pds {
  margin-right: 5px;
  font-weight: bold;
  border-right: solid 1px #ccc;
  padding-right: 10px;
}

.wrap-search-filter p.title {
  display: inline-block !important;
}

.wrap-search-filter .select {
  display: inline-block;
  border: solid 1px #ccc;
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 12px;
  background-color: #fff;
}

.wrap-search-filter .filter-sizes {
  box-shadow: inherit;
}

.wrap-search-filter .filter-sizes li {
  font-size: 14px;
}

#filter img {
  max-width: 100%;
}

#filter .page-sec-common {
  min-height: inherit;
}

.page-sec-common h3.sec-title {
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  letter-spacing: 2px;
}

@media screen and (max-width: 500px) {
  .page-sec-common h3.sec-title {
    font-size: 16px;
  }
}
/** Sec-01 Catch Area **/
#filter .sec-01 {
  padding: 100px 0;
  background-image: url(https://www.kenko-tokina.co.jp/images/filter/bg-main-3.jpg);
  background-position: center center;
  background-size: cover;
  position: relative;
}

#filter .catch-area {
  text-align: left;
  max-width: 540px;
  margin: 0 0 0 auto;
  color: #fff;
  position: relative;
  z-index: 10;
}

#filter .catch-area h2 {
  font-size: 40px;
  margin-bottom: 50px;
  letter-spacing: 1.5px;
}

#filter .catch-area p {
  font-size: 18px;
  line-height: 200%;
}

#filter .sec-01 .main-filter {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 600px;
  margin-top: -160px;
}

@media screen and (max-width: 1220px) {
  #filter .sec-01 .main-filter {
    position: absolute;
    top: 50%;
    left: 0px;
    width: 500px;
    margin-top: -130px;
  }
  #filter .catch-area {
    max-width: 500px;
    padding-right: 20px;
  }
  #filter .catch-area p {
    font-size: 16px;
  }
}
@media screen and (max-width: 1050px) {
  #filter .sec-01 .main-filter {
    width: 450px;
    margin-top: -130px;
  }
}
@media screen and (max-width: 1024px) {
  #filter .sec-01 {
    padding: 50px 0;
  }
  #filter .catch-area {
    max-width: 60%;
  }
  #filter .catch-area h2 {
    font-size: 30px;
    margin-bottom: 20px;
    letter-spacing: 1.5px;
  }
  #filter .catch-area p {
    font-size: 16px;
    line-height: 200%;
  }
  #filter .sec-01 .main-filter {
    position: absolute;
    top: 50%;
    left: -300px;
    width: 600px;
    margin-top: -160px;
  }
}
@media screen and (max-width: 500px) {
  #filter .sec-01 {
    padding: 20px 0;
  }
  #filter .catch-area {
    max-width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
  }
  #filter .catch-area h2 {
    text-align: center;
    font-size: 18px;
    margin: 10px 0;
  }
  #filter .catch-area p {
    font-size: 12px;
  }
  #filter .catch-area br {
    display: none;
  }
  #filter .sec-01 .main-filter {
    position: absolute;
    top: 50%;
    left: 0;
    width: 90%;
    margin-top: -100px;
    margin-left: 5%;
  }
}
/** Sec-02  PickUp Filters **/
#filter .sec-02 {
  padding-top: 50px;
}

#filter .sec-02 .wrap-item {
  margin-bottom: 100px;
  font-size: 0;
  vertical-align: middle;
}

#filter .sec-02 .img {
  width: 55%;
  height: 400px;
  display: inline-block;
  vertical-align: middle;
  background-color: #ccc;
  font-size: 14px;
  background-size: cover;
  background-position: center center;
}

#filter .sec-02 .item-01 .img {
  background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-protector.jpg);
}

#filter .sec-02 .item-02 .img {
  background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-pl.jpg);
}

#filter .sec-02 .item-03 .img {
  background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-nd.jpg);
}

@media only screen and (min-width: 800px) and (-webkit-min-device-pixel-ratio: 2) {
  #filter .sec-02 .item-01 .img {
    background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-protector@2x.jpg);
  }
  #filter .sec-02 .item-02 .img {
    background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-pl@2x.jpg);
  }
  #filter .sec-02 .item-03 .img {
    background-image: url(https://www.kenko-tokina.co.jp/images/filter/img-nd@2x.jpg);
  }
}
#filter .sec-02 .txt {
  width: 45%;
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  padding: 0 40px;
  position: relative;
}

#filter .sec-02 .item-02 .txt {
  text-align: right;
}

#filter .sec-02 .txt h3 {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 1.5px;
}

#filter .sec-02 .txt p {
  font-size: 18px;
  text-align: left;
}

#filter .sec-02 .txt a {
  display: inline-block;
  margin-top: 50px;
  padding: 10px 35px;
  border: solid 1px #333;
  color: #333;
  border-radius: 2px;
  position: relative;
}

#filter .sec-02 .txt a p:before {
  content: "→ ";
}

#filter .sec-02 .txt a p {
  position: inherit;
  z-index: 9999;
  color: #333;
  font-weight: bold;
  font-size: 14px;
}

@media screen and (min-width: 800px) {
  #filter .sec-02 .txt a:before {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffff00;
    display: block;
    content: "";
    width: 200px;
    height: 100px;
    transform: translateX(-100%);
    transition: transform 0.2s ease;
  }
  #filter .sec-02 .txt a:hover:before {
    transform: translateX(0);
  }
}
#filter .sec-02 .txt a.item-02 {
  margin: 50px 10px 0;
}

#filter .sec-02 .item-03 a {
  padding: 10px 25px;
}

#filter .sec-02 .img.sp {
  display: none;
}

#filter .sec-02 .img.pc {
  display: inline-block;
}

@media screen and (max-width: 1220px) {
  #filter .sec-02 .txt p {
    font-size: 16px;
  }
}
@media screen and (max-width: 1144px) {
  #filter .sec-02 .item-03 a {
    padding: 10px 15px;
  }
}
@media screen and (max-width: 500px) {
  #filter .sec-02 .wrap-item {
    margin-bottom: 30px;
    border-bottom: solid 1px #ddd;
  }
  #filter .sec-02 .img {
    width: 100%;
    height: 120px;
    display: block;
  }
  #filter .sec-02 .img.sp {
    display: block;
  }
  #filter .sec-02 .img.pc {
    display: none;
  }
  #filter .sec-02 .txt {
    width: 100%;
    display: block;
    font-size: 14px;
    padding: 20px;
    position: relative;
  }
  #filter .sec-02 .txt h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  #filter .sec-02 .txt p {
    font-size: 14px;
  }
  #filter .sec-02 .txt a {
    display: block;
    padding: 10px;
    margin: 10px auto 0;
    text-align: center !important;
    background-color: #0071bc;
    border: none;
  }
  #filter .sec-02 .txt a p {
    text-align: center;
    color: #fff;
  }
  #filter .sec-02 .item-02 .txt {
    text-align: left;
  }
  #filter .sec-02 .txt a.item-02 {
    margin: 10px auto 0;
  }
  #filter .sec-02 .item-03 a {
    padding: 10px;
  }
}
/** Sec-02a **/
#filter .sec-02a {
  background-color: #fff;
  padding-bottom: 50px;
}

#filter .sec-02a .slick-items-02 {
  overflow: hidden;
}

#filter .sec-02a .slick-items-02 {
  height: 310px;
}

.slick-items-02 .item a {
  background-color: #f5f5f5;
}

.slick-items-02 h4 {
  font-size: 14px;
}

.slick-items-02 .item p,
.slick-items-02 .item span {
  text-align: left;
  font-size: 13px;
}

.slick-items-02 .item img {
  background-image: url(../images/common/loader-white.gif);
  background-position: center center;
  background-size: 40px 40px;
  width: 100%;
}

.slick-items-02 .slick-prev {
  left: 0px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: -45px;
  margin-left: -25px;
  position: absolute;
  top: 50%;
  display: block;
  z-index: 999;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  border: solid 1px #000;
  text-align: center;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.slick-items-02 .slick-next {
  right: 0px;
  width: 50px;
  height: 50px;
  padding-top: 9px;
  margin-top: -45px;
  margin-right: -25px;
  position: absolute;
  top: 50%;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  border: solid 1px #000;
  text-align: center;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.slick-items-02 .slick-dots {
  position: absolute;
  bottom: -30px;
  display: block;
  width: 100%;
  text-align: center;
}

.slick-items-02 .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 3px;
  padding: 0;
  cursor: pointer;
  background-color: #333;
  border-radius: 100%;
}

.slick-items-02 .slick-dots button {
  display: inline-block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-items-02 .slick-dots li.slick-active {
  background-color: #c00;
}

@media screen and (max-width: 1420px) {
  .slick-items-02 .slick-prev {
    left: 30px;
  }
  .slick-items-02 .slick-next {
    right: 30px;
  }
}
@media screen and (max-width: 500px) {
  #filter .sec-02a .slick-items-02 {
    height: 280px;
  }
  .slick-items-02 h4 {
    font-size: 14px;
  }
  .slick-items-02 .item p,
  .slick-items-02 .item span {
    font-size: 12px;
  }
}
/**   Sec-03  "Series Banners"   **/
#filter .sec-03 {
  background-color: #eee;
  padding: 50px 0;
}

#filter .sec-03 ul {
  font-size: 0;
}

#filter .sec-03 li {
  display: inline-block;
  width: 33.33333%;
  font-size: 14px;
}

#filter .sec-03 li img {
  width: 100%;
  height: auto;
  border: solid 3px #eee;
}

#filter .sec-03 li.item-04,
#filter .sec-03 li.item-05 {
  width: 50%;
}

@media screen and (max-width: 500px) {
  #filter .sec-03 li {
    display: block;
    width: 100%;
  }
  #filter .sec-03 li.item-04,
  #filter .sec-03 li.item-05 {
    width: 100%;
  }
}
/**  【レンズフィルターの用途】   **/
#filter .sec-04 {
  background-color: #000;
  color: #fff;
}

#filter .sec-04 ul {
  margin-top: 30px;
  overflow: hidden;
}

#filter .sec-04 li {
  display: inline-block;
  width: 20%;
  font-size: 14px;
  vertical-align: top;
  background-color: #fff;
  color: #333;
  height: 350px;
  border: solid 2px #000;
}

#filter .sec-04 li img {
  width: 100%;
  height: auto;
}

#filter .sec-04 li a {
  display: block;
  margin-bottom: 5px;
  text-align: left;
  font-size: 13px;
  color: #0052a5;
}

#filter .sec-04 li a:before {
  content: "▶　";
  font-size: 10px !important;
}

#filter .sec-04 li .wrap-txts {
  padding: 10px;
}

#filter .sec-04 li p {
  margin-bottom: 10px;
  font-weight: bold;
}

.slick-items-03 {
  height: 300px;
}

.slick-items-03 .slick-prev {
  left: -40px;
  top: 50%;
  margin-top: -12px;
  width: 30px;
  height: 50px;
  padding-top: 9px;
  position: absolute;
  display: block;
  z-index: 999;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  text-align: center;
  background-color: #222;
  border-radius: 3px;
}

.slick-items-03 .slick-next {
  right: -40px;
  top: 50%;
  margin-top: -12px;
  width: 30px;
  height: 50px;
  padding-top: 9px;
  position: absolute;
  display: block;
  cursor: pointer;
  cursor: hand;
  font-size: 20px;
  color: #fff;
  text-align: center;
  background-color: #222;
  border-radius: 3px;
}

.slick-items-03 .slick-dots {
  position: absolute;
  bottom: -30px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-items-03 .slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px !important;
  height: 12px !important;
  border: none !important;
  margin: 0 3px !important;
  padding: 0;
  cursor: pointer;
  background-color: #ccc;
  border-radius: 100%;
}

.slick-items-03 .slick-dots button {
  display: inline-block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-items-03 .slick-dots li.slick-active {
  background-color: #c00 !important;
}

@media screen and (max-width: 1380px) {
  .slick-items-03 .slick-prev {
    left: 0px;
  }
  .slick-items-03 .slick-next {
    right: 0px;
  }
}
@media screen and (max-width: 500px) {
  .slick-items-03 {
    height: 250px;
  }
  #filter .sec-04 li a {
    font-size: 12px;
  }
}
/**   【フィルター検索】  **/
.sec-02b {
  background-color: #03a99d;
  color: #fff;
  position: relative;
  z-index: 2;
}

.sec-02b .inner {
  padding: 30px 0;
  text-align: center;
}

.sec-02b .item {
  display: inline-block;
  padding: 30px;
  vertical-align: middle;
}

.sec-02b .item h4 {
  margin-bottom: 15px;
}

.sec-02b .pulldown,
.sec-02b .sch {
  background-color: #fff;
  padding: 8px 3px;
  border-radius: 3px;
  color: #333;
  font-size: 13px;
  width: 200px;
  position: relative;
  border: none;
}

.sec-02b .bt-sch {
  background-color: #ddd;
  padding: 8px 3px;
  border-radius: 3px;
  color: #333;
  font-size: 13px;
  width: 50px;
  position: relative;
  border: none;
  margin-left: 5px;
}

.sec-02b .pulldown > i {
  border-left: solid 1px #ddd;
  padding: 3px 10px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  vertical-align: top;
}

.sec-02b .pop {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  padding: 10px 15px;
  width: 200px;
  text-align: left;
  display: none;
  z-index: 22;
}

.sec-02b .pop li {
  font-size: 14px;
  margin-bottom: 5px;
  list-style: none;
}

.sec-02b .pop li:before {
  content: "・";
}

.sec-02b .pop li:hover {
  background-color: #eee;
}

.sec-02b .pop li a {
  color: #333;
}

@media screen and (max-width: 500px) {
  .sec-02b h3 {
    margin: 0;
    font-size: 16px;
  }
  .sec-02b .inner {
    padding: 10px;
  }
  .sec-02b .item {
    display: block;
    padding: 10px !important;
  }
  .sec-02b .item h4 {
    margin-bottom: 15px;
    font-size: 14px;
  }
  .sec-02b .pop li {
    font-size: 12px;
  }
  .sec-02b .pulldown,
  .sec-02b .sch {
    margin: 0 auto;
  }
}
/**   【バナー】  **/
#filter .sec-05 {
  padding-top: 50px;
}

#filter .sec-05 ul {
  font-size: 0;
}

#filter .sec-05 li.item-02,
#filter .sec-05 li.item-03 {
  width: 50%;
  display: inline-block;
  font-size: 14px;
}

#filter .sec-05 li img {
  width: 100%;
  height: auto;
  border: solid 5px #fff;
}

@media screen and (max-width: 500px) {
  #filter .sec-05 li.item-02,
  #filter .sec-05 li.item-03 {
    width: 100%;
    display: block;
  }
}
/**   【フィルターアクセサリー】  **/
#filter .sec-06 {
  padding-bottom: 50px;
}

#filter .sec-06 ul {
  font-size: 0;
  text-align: center;
  margin: 30px 0;
}

#filter .sec-06 li {
  display: inline-block;
  width: 23%;
  font-size: 14px;
  border: solid 1px #ddd;
  padding: 10px 15px;
  min-height: 300px;
  vertical-align: top;
  margin: 0 1%;
}

#filter .sec-06 li .wrap-img {
  height: 120px;
  display: table-cell;
  vertical-align: middle;
}

#filter .sec-06 li img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 120px;
}

#filter .sec-06 li a {
  color: #333;
}

#filter .sec-06 li h4 {
  font-weight: bold;
  text-align: center;
  font-size: 16px;
  margin: 15px 0;
}

#filter .sec-06 li p {
  text-align: left;
}

@media screen and (max-width: 500px) {
  #filter .sec-06 {
    padding-bottom: 30px;
  }
  #filter .sec-06 ul {
    font-size: 0;
    text-align: center;
    margin: 10px 0;
  }
  #filter .sec-06 li {
    display: inline-block;
    width: 50%;
    font-size: 14px;
    border: none;
    padding: 10px;
    min-height: inherit;
    vertical-align: top;
    margin: 0;
  }
  #filter .sec-06 li .wrap-img {
    height: 100px;
  }
  #filter .sec-06 li img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100px;
  }
  #filter .sec-06 li a {
    color: #0052a5;
  }
  #filter .sec-06 li h4 {
    font-size: 12px;
    margin: 10px 0;
    text-align: left;
  }
  #filter .sec-06 li a p {
    font-size: 12px;
    color: #333;
    display: none;
  }
}
/** 【関連ニュース】 **/
#filter .sec-07 {
  background-color: #f5f5f5;
}

.wrap-news {
  padding: 0 30px;
  max-width: 900px;
  margin: 60px auto 0;
  max-height: 200px;
  overflow: auto;
}

.wrap-news li {
  margin-bottom: 10px;
  border-bottom: solid 1px #ddd;
  padding-bottom: 5px;
  list-style: none;
}

.wrap-news li span {
  margin-right: 14px;
  color: #666;
  font-size: 12px;
}

.wrap-news li .icon-new {
  font-style: normal;
  font-size: 10px;
  display: inline-block;
  padding: 0px 5px;
  background-color: #b90b0b;
  color: #fff;
  margin-left: 10px;
  border-radius: 10px;
}

@media screen and (max-width: 500px) {
  .wrap-news {
    padding: 0 10px;
    width: 100%;
    margin: 30px auto 0;
    max-height: 200px;
    overflow: auto;
  }
  .wrap-news li {
    font-size: 14px;
  }
}
/** 【オンラインショップへのリンク】 **/
#filter .sec-08 {
  background-color: #fff;
  padding: 20px;
  margin: 20px 0;
}
@media screen and (max-width: 500px) {
  #filter .sec-08 {
    padding: 20px 0;
    margin: 0;
  }
}

.wrap-shop {
  max-width: 900px;
  margin: 0 auto;
  border: solid 3px #efe537;
  padding: 15px 30px 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 500px) {
  .wrap-shop {
    padding: 10px 20px;
  }
}
.wrap-shop .box {
  display: block;
}
.wrap-shop .box-01 {
  width: 25%;
  text-align: center;
}
@media screen and (max-width: 500px) {
  .wrap-shop .box-01 {
    width: 100%;
    text-align: center;
    padding-bottom: 10px;
  }
}
.wrap-shop .box-01 img {
  width: auto;
  height: auto;
  max-width: 150px;
  max-height: 150px;
}
@media screen and (max-width: 500px) {
  .wrap-shop .box-01 img {
    max-width: 100px;
    max-height: 100px;
  }
}
.wrap-shop .box-02 {
  width: 75%;
  padding-left: 50px;
}
@media screen and (max-width: 500px) {
  .wrap-shop .box-02 {
    width: 100%;
    padding-left: 0;
  }
}
.wrap-shop .box-02 p {
  font-size: 14px;
  line-height: 180%;
}
@media screen and (max-width: 500px) {
  .wrap-shop .box-02 p {
    font-size: 12px;
  }
}
.wrap-shop .box-02 span {
  display: block;
  margin-top: 10px;
  font-size: 11px;
  color: #666;
}
.wrap-shop .box-02 strong {
  font-weight: bold;
  color: #0052a5;
}

/** 【国際フィルターコンテスト過去の受賞作品】 **/
#filter .sec-09 {
  background-color: #f9f4cc;
  padding: 50px 0;
}

#filter .sec-09 .box {
  display: inline-block;
  vertical-align: top;
}

#filter .sec-09 .box-01 {
  width: 20%;
  text-align: center;
}

#filter .sec-09 .box-02 {
  width: 75%;
  text-align: center;
}

#filter .sec-09 .box-01 img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100px;
  vertical-align: middle;
}

#filter .sec-09 .box-02 h4 {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

#filter .sec-09 .box-02 ul {
  text-align: left;
}

#filter .sec-09 .box-02 li {
  display: inline-block;
  margin: 10px;
}

#filter .sec-09 .box-02 li a {
  font-weight: bold;
  color: #0052a5;
}

#filter .sec-09 .box-02 li a:before {
  content: "▶　";
  font-size: 10px;
}

@media screen and (max-width: 1200px) {
  #filter .sec-06 li p {
    font-size: 13px;
  }
  #filter .sec-02b .item {
    padding: 30px 10px;
  }
}
@media screen and (max-width: 900px) {
  #filter .sec-09 {
    padding: 20px 0;
  }
  #filter .sec-09 .inner {
    width: 100%;
  }
  #filter .sec-09 .box-01 {
    width: 100%;
    padding-bottom: 20px;
  }
  #filter .sec-09 .box-02 {
    width: 100%;
  }
  #filter .sec-09 .box-02 li a {
    color: #0052a5;
  }
}
@media screen and (max-width: 500px) {
  #filter .sec-09 {
    margin-bottom: 20px;
  }
  #filter .sec-09 .box-01 img {
    max-height: 80px;
  }
  #filter .sec-09 .box-02 h4 {
    font-size: 14px;
    padding: 0 20px;
  }
  #filter .sec-09 .box-02 li {
    margin: 5px;
  }
  #filter .sec-09 .box-02 li a {
    font-size: 12px;
  }
}
/** ***********************************************

Filter CSV 

*********************************************** **/
#filter-table th {
  text-align: center;
}

#filter-table td {
  font-size: 14px;
  text-align: center;
}

#filter-table td a {
  font-size: 14px;
}

#filter-table td.cat {
  font-size: 12px;
  background-color: #f5f5f5;
  text-align: left;
  width: 150px;
}

#filter-table td.cat a {
  font-size: 12px;
}

#filter-table td.name img {
  width: auto;
  height: 25px;
}

#filter-table td.name {
  text-align: left;
}

#filter-table td.name a {
  font-weight: bold;
}

#filter-table td .icons {
  margin-top: 5px;
}

#filter-table td.shop img {
  width: auto;
  height: 30px;
}

#filter-table .new {
  background-color: #d10003;
  color: #fff;
  font-size: 10px;
  padding: 2px 4px;
  margin-left: 5px;
}

#filter-table .tm {
  background-color: #0050a8;
  color: #fff;
  font-size: 10px;
  padding: 2px 4px;
  margin-left: 5px;
}

/** ***********************************************

FILTER CATEGORY

*********************************************** **/
/** 【メイン】 **/
.filter-top .sec-01 {
  padding: 100px 0;
}

.filter-top .sec-01 h2 {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px !important;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .filter-top .sec-01 {
    padding: 100px 0 !important;
  }
  .filter-top .sec-01 h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 500px) {
  .filter-top .sec-01 {
    padding: 50px 0 !important;
  }
  .filter-top .sec-01 h2 {
    font-size: 18px;
  }
}
/** 【○○フィルターとは？】 **/
.filter-top .section-02 {
  background-color: #f5f5f5;
  width: 100%;
  padding: 30px 0;
  text-align: center;
}

.filter-top .section-02 .inner {
  width: 100%;
  max-width: 780px;
  position: relative;
}

.filter-top .section-02 h3 {
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto 20px !important;
}

.filter-top .section-02 h3 span {
  display: block;
  font-size: 14px;
  color: #999;
  font-weight: normal;
}

.filter-top .section-02 p {
  font-size: 16px;
  text-align: left;
  padding: 10px 20px;
  line-height: 180%;
}

.filter-top .section-02 img {
  padding-top: 40px;
}

.filter-top .section-02 a {
  color: #0052a5;
}

@media screen and (max-width: 800px) {
  .filter-top .section-02 h3 {
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
  }
}
@media screen and (max-width: 500px) {
  .filter-top .section-02 {
    background-color: #fff;
  }
  .filter-top .section-02 h3 {
    font-size: 18px;
  }
  .filter-top .section-02 p {
    font-size: 14px;
    padding: 10px;
  }
}
/** 【ビフォアー・アフター】 **/
.filter-top .section-03 {
  padding: 80px 0 0;
  text-align: center;
}

.filter-top .section-03 .inner {
  width: auto;
  max-width: 900px;
}

.filter-top .section-03 .txt h3 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 2px;
}

.filter-top .section-03 .txt p {
  font-size: 18px;
  text-align: left;
  margin-bottom: 30px;
}

.filter-top .section-03 .wrap-item .img,
.wrap-ba {
  position: relative;
  margin: 0 auto 100px;
}

.wrap-ba.portrait {
  width: 460px;
}

.filter-top .section-03 .wrap-item .img .item-01,
.wrap-ba .item-01 {
  position: absolute;
  bottom: 0px;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px;
  display: block;
  color: #fff;
}

.filter-top .section-03 .wrap-item .img .item-02,
.wrap-ba .item-02 {
  position: absolute;
  bottom: 0px;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px;
  display: block;
  color: #fff;
}

.wrap-ba img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 600px;
}

@media screen and (max-width: 800px) {
  .filter-top .section-03 {
    padding: 50px 0;
  }
  .filter-top .section-03 .txt h3 {
    font-size: 34px;
  }
  .filter-top .section-03 .txt p {
    font-size: 16px;
  }
  .filter-top .section-03 .wrap-item .img,
  .wrap-ba {
    margin-bottom: 50px;
  }
  .filter-top .section-03 .wrap-item .img .item-01,
  .wrap-ba .item-01 {
    font-size: 14px;
  }
  .filter-top .section-03 .wrap-item .img .item-02,
  .wrap-ba .item-02 {
    font-size: 14px;
  }
}
@media screen and (max-width: 500px) {
  .filter-top .section-03 {
    padding: 30px 0 50px;
  }
  .filter-top .section-03 .txt h3 {
    font-size: 24px;
  }
  .filter-top .section-03 .txt p {
    font-size: 14px;
  }
  .filter-top .section-03 .wrap-item .img .item-01,
  .wrap-ba .item-01 {
    font-size: 12px;
  }
  .filter-top .section-03 .wrap-item .img .item-02,
  .wrap-ba .item-02 {
    font-size: 12px;
  }
  .wrap-ba.portrait {
    width: 100%;
  }
}
/** 【ラインナップ】 **/
.filter-top .section-04 .inner {
  width: auto;
  max-width: 1024px;
  margin-top: 50px;
}

.filter-top .section-04 h3.title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 50px;
  letter-spacing: 1.5px;
  text-align: center;
}
@media screen and (max-width: 500px) {
  .filter-top .section-04 h3.title {
    font-size: 24px;
    margin-bottom: 30px;
  }
}

.filter-top .section-04 h3.title span {
  display: block;
  font-size: 14px;
  color: #999;
  font-weight: normal;
}
@media screen and (max-width: 500px) {
  .filter-top .section-04 h3.title span {
    font-size: 12px;
  }
}

/** フィルター製品一覧 **/
.wrap-filter-products {
  text-align: left;
}
.wrap-filter-products ul {
  width: 100%;
  margin: 50px auto;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  border-left: solid 1px #eee;
  padding-left: 0 !important;
}
@media screen and (max-width: 500px) {
  .wrap-filter-products ul {
    margin: 30px auto;
  }
}
.wrap-filter-products li {
  font-size: 14px;
  width: 25%;
  vertical-align: top;
  text-align: center;
  padding: 20px 15px;
  border-right: solid 1px #eee;
  border-bottom: solid 1px #eee;
  position: relative;
  margin: 0 !important;
}
@media screen and (max-width: 700px) {
  .wrap-filter-products li {
    width: 33.3333333333%;
  }
}
@media screen and (max-width: 500px) {
  .wrap-filter-products li {
    width: 50%;
    padding: 10px;
    border: none;
  }
}
.wrap-filter-products img {
  height: auto;
  width: auto;
  max-height: 180px;
  max-width: 200px;
}
.wrap-filter-products a {
  color: #333;
}
.wrap-filter-products p.name {
  font-weight: bold;
  margin: 20px 0 10px;
}
@media screen and (max-width: 500px) {
  .wrap-filter-products p.name {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.wrap-filter-products p.desc {
  text-align: left;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 1.6;
}
@media screen and (max-width: 500px) {
  .wrap-filter-products p.desc {
    font-size: 10px;
  }
}
.wrap-filter-products .icon-new {
  background-color: #b90b0b;
  color: #fff;
  font-size: 10px !important;
  padding: 0px 4px;
  position: absolute;
  top: 0;
  left: 0;
}

.filter-top .section-04 .search-box {
  text-align: right;
  margin: 40px 0 20px;
  position: relative;
}

.filter-top .section-04 .search-box p {
  display: inline-block;
  font-weight: bold;
}

.filter-top .section-04 .search-box .select {
  display: inline-block;
  background-color: #e25a24;
  color: #fff;
  font-weight: bold;
  padding: 7px 10px;
  border-radius: 3px;
  font-size: 12px;
}

.filter-top .section-04 .search-box .select i {
  padding-left: 5px;
}

.filter-sizes {
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #fff;
  padding: 10px;
  width: 400px;
  text-align: left;
  box-shadow: 2px 2px 2px 2px #aaa;
  display: none;
  z-index: 9990;
}

.filter-sizes li {
  display: inline-block;
  margin: 10px;
  color: #15497b;
  cursor: pointer;
  cursor: hand;
}

.filter-sizes li:after {
  content: "mm";
}

.filter-sizes li.nomm:after {
  content: "";
}

.filter-sizes li:hover {
  opacity: 0.6;
}

.filter-sizes .bt-close {
  font-style: normal;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 16px;
  background-color: #333;
  color: #fff;
}

.lineup table {
  border-spacing: 0px;
  width: 100%;
  background-color: #ddd;
  margin-bottom: 50px;
}

.lineup table th {
  background-color: #444;
  color: #fff;
  padding: 15px;
  text-align: left;
}

.lineup table th:nth-of-type(1) {
  width: 40%;
}

.lineup table th:nth-of-type(2) {
  width: 50;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
}

.lineup table th:nth-of-type(3) {
  width: 10%;
  text-align: center;
}

.lineup table tr:nth-of-type(odd) td {
  background-color: #f5f5f5;
}

.lineup table td {
  background-color: #fff;
  padding: 7px 15px;
  border-bottom: solid 1px #ddd;
  text-align: center;
  vertical-align: middle;
}

.lineup table td:nth-of-type(1) {
  text-align: left;
}

.lineup table td:nth-of-type(1) a {
  font-weight: bold;
}

.lineup table td:nth-of-type(2) {
  text-align: left;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
}

.lineup table td:nth-of-type(2) img {
  margin: 0 1px;
}

.lineup table td img {
  height: 30px;
  width: auto;
  border-radius: 2px;
}

.filter-top .section-04 #filter-table {
  width: 100%;
  border-spacing: 1px;
  background-color: #ddd;
  display: none;
}

.filter-top .section-04 #filter-table th {
  font-weight: bold !important;
  font-size: 13px;
  padding: 10px;
  background-color: #eee;
}

.filter-top .section-04 #filter-table td {
  font-size: 13px;
  padding: 10px;
  background-color: #fff;
}

.filter-top .section-04 #filter-table td a {
  font-size: 13px;
}

.filter-top .section-04 #filter-table td.shop img {
  width: auto;
  height: 30px;
}

/** 【パッケージ】 **/
.filter-top .section-01 {
  width: 100%;
  padding: 50px 0 30px;
  text-align: center;
}

.filter-top .section-01 .inner {
  width: 100%;
  max-width: 900px;
}

.filter-top .section-01 h4 {
  margin-bottom: 30px;
}

.filter-top .section-01 li {
  display: inline-block;
  margin: 0 5px;
}

.filter-top .section-01 li img {
  width: auto;
  height: 150px;
}

.filter-top .section-01 .slick-items-02 {
  height: 200px;
  overflow: hidden;
}

.filter-top .section-01 .slick-prev {
  margin-top: -40px;
  left: -50px;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: #666;
}

.filter-top .section-01 .slick-prev i {
  font-size: 24px;
}

.filter-top .section-01 .slick-next {
  margin-top: -40px;
  right: -50px;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: #666;
}

.filter-top .section-01 .slick-next i {
  font-size: 24px;
}

@media screen and (max-width: 1060px) {
  .filter-top .section-01 .slick-prev {
    left: 10px;
  }
  .filter-top .section-01 .slick-next {
    right: 10px;
  }
}
/** 【カタログ】 **/
.filter-top .section-05 {
  padding: 40px 0 20px;
  margin-bottom: 40px;
}

.filter-top .section-05 .inner {
  background-color: #f5f5f5;
  width: auto;
  max-width: 900px;
  padding: 40px 0 30px;
  font-size: 0;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}

.filter-top .section-05 h3 {
  letter-spacing: 2px;
}

.filter-top .section-05 .inner .box {
  display: inline-block;
}

.filter-top .section-05 .inner .box:nth-of-type(1) {
  width: 20%;
  font-size: 14px;
  vertical-align: middle;
}

.filter-top .section-05 .inner .box:nth-of-type(2) {
  width: 80%;
  font-size: 14px;
  vertical-align: middle;
  padding-left: 50px;
}

.filter-top .section-05 .inner .box:nth-of-type(1) h3 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.filter-top .section-05 .inner .box:nth-of-type(1) h3 span {
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.filter-top .section-05 .inner .box:nth-of-type(2) a {
  position: relative;
  display: inline-block;
  font-size: 13px;
  width: 150px;
  text-align: center;
  margin: 0 10px;
}

.filter-top .section-05 .inner .box:nth-of-type(2) img {
  width: 100%;
  height: auto;
}

.filter-top .section-05 .inner .box:nth-of-type(2) a span {
  position: absolute;
  background-color: rgb(0, 102, 211);
  color: #fff;
  font-size: 10px;
  padding: 3px 5px;
  display: block;
  top: 0;
  right: 0;
}

.filter-top .section-05 .inner .box .cat-img {
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
}

@media screen and (max-width: 500px) {
  .filter-top .section-05 {
    padding: 20px 0;
    margin-bottom: 20px;
  }
  .filter-top .section-05 .inner {
    padding: 20px 0;
    font-size: 0;
  }
  .filter-top .section-05 .inner .box:nth-of-type(1) h3 {
    font-size: 16px;
  }
  .filter-top .section-05 .inner .box:nth-of-type(1) h3 span {
    font-size: 12px;
  }
  .filter-top .section-05 .inner .box {
    display: block;
    text-align: center;
  }
  .filter-top .section-05 .inner .box:nth-of-type(1) {
    width: 100%;
    padding-bottom: 20px;
  }
  .filter-top .section-05 .inner .box:nth-of-type(2) {
    width: 100%;
    padding-left: 0px;
  }
  .filter-top .section-05 .inner .box .cat-img {
    margin: 0 5px;
  }
  .filter-top .section-05 .inner .box .cat-img img {
    height: 150px;
    width: auto;
    margin-bottom: 10px;
  }
  .filter-top .section-05 .inner .box .cat-img span {
    display: none !important;
  }
}
/**　【バナー】　**/
.filter-top .section-06 {
  margin-bottom: 20px;
}

.filter-top .section-06 .inner {
  width: auto;
  max-width: 900px;
  padding: 0;
}

.filter-top .section-06 .inner img {
  width: 100%;
  height: auto;
}

.filter-top .section-08 .inner {
  width: auto;
  max-width: 900px;
  padding: 0;
}

.filter-top .section-08 ul {
  font-size: 0;
}

.filter-top .section-08 li {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  width: 50%;
  font-size: 14px;
}

.filter-top .section-08 li:nth-of-type(1) {
  padding-right: 10px;
}

.filter-top .section-08 li:nth-of-type(2) {
  padding-left: 10px;
}

.filter-top .section-08 li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .filter-top .section-06 .inner,
  .filter-top .section-08 .inner {
    padding: 0 10px;
  }
}
@media screen and (max-width: 500px) {
  .filter-top .section-06 {
    margin-bottom: 10px;
  }
  .filter-top .section-08 li {
    display: block;
    width: 100%;
  }
  .filter-top .section-08 li:nth-of-type(1) {
    padding-right: 0px;
    margin-bottom: 10px;
  }
  .filter-top .section-08 li:nth-of-type(2) {
    padding-left: 0px;
  }
}
/**　【フィルター関連コンテンツ】　**/
.filter-top .section-07 {
  background-color: rgba(121, 189, 233, 0.2);
  padding: 50px 0;
  margin-top: 80px !important;
}

.filter-top .section-07 h3 {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
}

.column-2 {
  font-size: 0;
  margin-top: 60px;
}

.column-2 li {
  font-size: 14px;
  display: inline-block;
  width: 50%;
  vertical-align: top;
  padding: 10px;
  color: #000;
  margin-bottom: 20px;
}

.column-2 h4 {
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 16px;
}

.column-2 .img {
  width: 40%;
  background-color: #fff;
  display: inline-block;
  vertical-align: top;
}

.column-2 .txt {
  width: 56%;
  display: inline-block;
  vertical-align: top;
  padding-left: 20px;
}

.column-2 .txt.full {
  width: 100%;
  display: inline-block;
  vertical-align: top;
  padding-left: 0px;
  padding-right: 30px;
}

.column-2 .txt span {
  display: block;
  color: #0071bc;
  margin-top: 14px;
  text-decoration: underline;
  font-weight: bold;
}

.column-2 li:hover .txt span {
  color: #f90;
}

.column-2 .noimg {
  text-align: center;
  color: #ccc;
  height: 150px;
  padding-top: 64px;
  border-radius: 3px;
  width: 40%;
  background-color: #fff;
  display: inline-block;
  vertical-align: top;
}

.column-2 .noimg:after {
  content: "No Image";
}

.column-2 img {
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.column-2 a {
  color: #333;
}

@media screen and (max-width: 1116px) {
  .column-2 .txt {
    font-size: 12px;
  }
}
@media screen and (max-width: 800px) {
  .filter-top .section-07 {
    margin-top: 50px !important;
  }
  .column-2 {
    font-size: 0;
    margin-top: 30px;
  }
  .column-2 li {
    margin-bottom: 15px;
    width: 100%;
  }
  .column-2 h4 {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .column-2 p {
    font-size: 14px;
  }
  .column-2 .img {
    width: 30%;
  }
  .column-2 .txt {
    width: 66%;
  }
}
@media screen and (max-width: 500px) {
  .filter-top .section-07 {
    padding: 30px 0;
    margin-top: 30px !important;
  }
  .column-2 {
    font-size: 0;
    margin-top: 20px;
  }
  .column-2 li {
    padding: 10px 0;
  }
  .column-2 p {
    font-size: 12px;
  }
  .column-2 .txt {
    padding-left: 10px;
  }
}
.filter-search-area {
  margin-bottom: 50px;
}

.filter-search-area h3 {
  border: none !important;
  padding: 0;
  margin: 0;
  margin-bottom: 20px;
  font-size: 18px;
}

.filter-search-area h3 span {
  font-size: 14px;
}

.filter-search-area ul {
  background-color: #f5f5f5;
  padding: 10px;
}

.filter-search-area li {
  list-style: none;
  display: inline-block;
  border: solid 1px #333;
  padding: 5px 10px;
  border-radius: 30px;
  margin: 0;
  cursor: pointer;
  cursor: hand;
  margin: 5px;
}

.filter-search-area li.on,
.filter-search-area li:hover {
  background-color: #ffff00;
  font-weight: bold;
}

.filter-cat {
  margin-bottom: 30px;
}

.filter-top .sec-07 {
  background-color: #f5f5f5;
  border-top: solid 1px #fff;
}

/** ***********************************************

フィルター詳細ページ

*********************************************** **/
/** COVER **/
#contents .cover {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center center;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  position: relative;
}

#contents .cover:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background-color: rgba(0, 0, 0, 0.4);
  display: block;
}

#contents .cover .catch-area {
  position: absolute;
  width: 100%;
  top: 30%;
  left: 0;
  z-index: 2;
  text-align: center;
}

#contents .cover .catch-area p.p-01 {
  font-size: 16px;
  font-weight: bold;
  text-shadow: 2px 2px 2px #333;
  z-index: 999;
  letter-spacing: 2px;
  padding: 20px;
  border-top: solid 1px rgba(254, 254, 254, 0.5);
  border-bottom: solid 1px rgba(254, 254, 254, 0.5);
  margin: 0 auto;
  display: inline;
}

#contents .cover p.p-02 {
  font-size: 45px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-shadow: 2px 2px 2px #333;
  z-index: 2;
  margin-top: -25px;
  letter-spacing: 4px;
}

#contents .no-cover {
  width: 100%;
  height: 50px;
  background-color: #f5f5f5;
  position: relative;
  border-top: solid 1px #ddd;
}

#contents .cover-frame {
  width: 100%;
  height: 550px;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  position: relative;
  background-color: #000;
  padding: 20px 0 0;
}

#contents .cover-frame iframe {
  width: 100%;
  height: 460px;
  max-width: 1200px;
  margin: 0 auto;
}

#contents .cover-frame img {
  width: auto;
  height: 460px;
  margin: 0 auto;
}

/** Contents Buttons  **/
.wrap-contents-bts {
  width: 100%;
  text-align: center;
  font-size: 0;
  position: absolute;
  top: inherit;
  bottom: 0;
  z-index: 999;
}

.wrap-contents-bts li {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
}

.wrap-contents-bts li a {
  display: block;
  padding: 15px 30px;
  font-weight: bold;
  color: #333;
  background-color: #fff;
  margin-left: 1px;
}

.wrap-contents-bts li.item1 a {
  background-color: #fff;
  margin-left: 0;
}

.wrap-contents-bts li.item4 a {
  background-color: rgb(247, 236, 34);
  color: #000;
}

.wrap-contents-bts h3 {
  display: none;
}

.wrap-contents-bts.active {
  position: fixed;
  bottom: inherit;
  top: 0px;
  left: 0;
  width: 100%;
  height: 40px;
  z-index: 1000;
  box-shadow: 0px 2px 2px #999;
  background-color: #fff;
}

.wrap-contents-bts.active li a {
  padding: 10px 30px;
}

.wrap-contents-bts.active h3 {
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 14px;
  width: 25%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wrap-contents-bts.active h3 a {
  color: #000;
  letter-spacing: 2px;
}

@media screen and (max-width: 900px) {
  #contents .cover {
    height: 350px;
  }
  #contents .cover:after {
    height: 350px;
  }
  #contents .cover .catch-area p.p-01 {
    font-size: 14px;
  }
  #contents .cover p.p-02 {
    font-size: 35px;
    margin-top: -15px;
  }
  #contents .cover-frame {
    height: 450px;
    overflow: hidden;
  }
  #contents .cover-frame iframe {
    height: 350px;
  }
  #contents .cover-frame img {
    height: 350px;
    width: auto;
  }
  .wrap-contents-bts {
    overflow-x: auto;
    display: table;
  }
  .wrap-contents-bts li {
    display: table-cell;
    font-size: 13px;
  }
  .wrap-contents-bts.active h3 {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  #contents .cover {
    height: 250px;
  }
  #contents .cover:after {
    height: 250px;
  }
  #contents .cover .catch-area {
    top: 40px;
  }
  #contents .cover .catch-area p.p-01 {
    font-size: 12px;
    font-weight: normal;
    padding: 10px;
    border: none;
  }
  #contents .cover p.p-02 {
    font-size: 28px;
    top: 95px;
    margin-top: 0;
  }
  #contents .cover-frame {
    height: auto;
    padding-bottom: 100px;
  }
  #contents .cover-frame iframe {
    height: 350px;
  }
  #contents .cover-frame img {
    width: 100%;
    height: auto;
  }
  /** Contents Buttons  **/
  .wrap-contents-bts li {
    font-size: 12px;
  }
  .wrap-contents-bts li a {
    padding: 15px;
  }
  .wrap-contents-bts.active {
    height: auto;
  }
  .wrap-contents-bts.active li a {
    padding: 10px;
  }
}
.custom-wrap-bts {
  display: flex;
  gap: 10px 20px;
}
.custom-wrap-bts .bt {
  color: #fff;
  width: 100%;
  max-width: 240px;
  font-weight: bold;
  letter-spacing: 1px;
  background-color: #0052a5;
  position: relative;
  padding: 14px 20px 12px;
}
.custom-wrap-bts .bt.bt-02 {
  background-color: #e25a24;
}
.custom-wrap-bts .bt .fa {
  display: block;
  position: absolute;
  top: 50%;
  left: 10%;
  font-size: 20px;
  transform: translateY(-50%);
}

/**　以下はCSSを分ける　**/
/**

双眼鏡ページ


**/
#binoculars .sec-01 {
  background-image: url(https://www.kenko-tokina.co.jp/images/bino/cover.jpg);
  background-size: cover;
  height: 340px;
  background-position: center center;
  color: #fff;
}

#binoculars.tele .sec-01 {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/cover.jpg);
}

#binoculars .sec-01 .inner {
  padding-top: 70px;
  padding-left: 50px;
}

#binoculars .sec-01 .page-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
  letter-spacing: 2px;
}

#binoculars .sec-01 p {
  font-size: 16px;
  line-height: 200%;
}

#binoculars .sec-01 em {
  font-style: normal;
  font-weight: bold;
}

@media screen and (max-width: 500px) {
  #binoculars .sec-01 {
    height: auto;
    background: rgb(1, 129, 68);
  }
  #binoculars .sec-01 .inner {
    padding: 30px 20px;
  }
  #binoculars .sec-01 .page-title {
    font-size: 18px;
    margin-bottom: 20px;
    text-align: center;
  }
  #binoculars .sec-01 p {
    font-size: 14px;
  }
  #binoculars .sec-01 p br {
    display: none;
  }
}
#binoculars .sec-02 {
  background-color: #f5f5f5;
}

#binoculars .sec-02 h3 {
  font-size: 30px;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

.item-list-col-4 {
  font-size: 0;
  text-align: left;
}

.item-list-col-4 li {
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  width: 25%;
  text-align: left;
  padding: 20px 10px;
  position: relative;
}

.item-list-col-4 li .name {
  font-weight: bold;
  margin-top: 10px;
  padding: 0 10px;
}

.item-list-col-4 li .desc {
  margin-top: 10px;
  padding: 0 10px;
  color: #333;
  height: 90px;
}

.item-list-col-4 li .icon-new {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #dd1c24;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  text-align: center;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  font-weight: normal;
  padding-top: 16px;
}

#binoculars .sec-02 .wrap-img {
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding: 10px;
}

#binoculars .sec-02 .wrap-img img {
  max-height: 160px;
  max-width: 240px;
}

#binoculars .sec-03 h3 {
  font-size: 30px;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

@media screen and (max-width: 800px) {
  #binoculars .item-list-col-4 li {
    width: 33.333333%;
  }
}
@media screen and (max-width: 500px) {
  #binoculars .sec-02 {
    padding-bottom: 0 !important;
    padding-right: 0 !important;
  }
  #binoculars .sec-02 .inner {
    padding: 0;
  }
  #binoculars .sec-02 h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  #binoculars .sec-03 h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .item-list-col-4 li {
    font-size: 12px;
    padding: 0 !important;
    width: 20%;
  }
  .item-list-col-4 li .desc {
    height: auto;
  }
  #binoculars .sec-02 .wrap-img img {
    max-height: 160px;
    max-width: 100%;
  }
  .item-list-col-4 li .icon-new {
    font-size: 10px;
    width: 30px;
    height: 30px;
    padding-top: 8px;
  }
  #binoculars.category-layout .item-list-col-4 {
    width: auto !important;
  }
  #binoculars .item-list-col-4 li {
    width: 50%;
  }
}
#bino-tab-menu {
  background-color: #22a573;
  text-align: center;
  font-size: 0;
}

#bino-tab-menu li {
  display: inline-block;
  vertical-align: middle;
  font-size: 16px;
  list-style: none !important;
}

#bino-tab-menu li a {
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  padding: 20px 15px 0px;
  display: block;
  border-right: solid 1px #fff;
  border-top: solid 1px #22a573;
}

#bino-tab-menu li:first-child a {
  border-left: solid 1px #fff;
}

#bino-tab-menu li a i {
  display: block;
  font-size: 20px;
  margin-top: 5px;
}

#bino-tab-menu li a.on,
#bino-tab-menu li a:hover {
  background-color: #fff;
  color: #333;
  border-right: solid 1px #22a573;
}

#binoculars.tele #bino-tab-menu {
  background-color: #0f2f77;
}

#binoculars.tele #bino-tab-menu li a {
  border-top: solid 1px #0f2f77;
}

#binoculars.tele #bino-tab-menu li a.on,
#binoculars.tele #bino-tab-menu li a:hover {
  border-right: solid 1px #0f2f77;
}

@media screen and (max-width: 800px) {
  #bino-tab-menu li a {
    font-size: 14px;
  }
}
@media screen and (max-width: 650px) {
  #bino-tab-menu .inner {
    padding: 0;
  }
  #bino-tab-menu li {
    display: table-cell;
  }
  #bino-tab-menu li {
    padding: 5px 0 0;
  }
  #bino-tab-menu li a {
    font-size: 12px;
    padding: 10px 5px 0;
    border-right: none;
  }
  #bino-tab-menu li:first-child a {
    border-left: none;
  }
  #bino-tab-menu li a i {
    font-size: 14px;
    margin-top: 0px;
  }
  #bino-tab-menu li.item4 {
    display: none;
  }
}
/**  用途で探す部分  **/
#tab-01 .cols-2 {
  background-image: url(../images/common/bg-cont-03.jpg);
  background-repeat: repeat;
  background-size: 30px 30px;
  margin-top: 80px;
}

#tab-01 .col-img {
  width: 50%;
  vertical-align: top;
  height: 400px;
  background-image: url(../images/bino/purpose-01.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
}

#tab-01 .item-img {
  height: 242px;
  position: absolute;
  bottom: -20px;
  left: -280px;
}

#tab-01 .col-txts {
  font-size: 14px;
  width: 50%;
  vertical-align: top;
  height: 400px;
  background-color: rgba(234, 234, 234, 0.7);
  text-align: center;
  position: relative;
}

#tab-01 .wrap-txts {
  width: 480px;
  margin: 0 auto;
  padding-top: 30px;
}

#tab-01 .txt-h4 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

#tab-01 p.catch {
  font-size: 24px;
  letter-spacing: 1px;
}

#tab-01 p.catch strong {
  background: linear-gradient(transparent 50%, rgba(252, 238, 33, 0.6) 0%);
}

#tab-01 p.catch-01 {
  margin-bottom: 10px;
}

#tab-01 p.discription {
  margin-top: 30px;
  font-size: 15px;
  line-height: 180%;
  text-align: left;
}

.reco {
  padding: 30px 0;
}

.reco .txt-h5 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
}

#binoculars .reco .wrap-img {
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding: 10px;
}

#binoculars .reco .wrap-img img {
  max-height: 160px;
  max-width: 240px;
}

.bt-style-04 {
  width: 200px;
  margin: 0 auto;
  text-align: center;
}

.bt-style-04 a {
  display: block;
  width: 100%;
  font-size: 16px;
  position: relative;
  background-color: #22a573;
  color: #fff;
  padding: 15px;
  margin-top: 30px;
  border-radius: 3px;
}

.bt-style-04 a i {
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -8px;
}

#binoculars.tele .bt-style-04 a {
  background-color: #0f2f77;
}

#tab-01 .item-01 .item-img {
  left: -180px;
}

#tab-01 .item-02 .col-img {
  background-image: url(../images/bino/purpose-02.jpg);
}

#tab-01 .item-02 .col-txts {
  background-color: rgba(210, 251, 186, 0.7);
}

#tab-01 .item-02 .item-img {
  width: 280px;
  height: auto;
  left: -180px;
}

#tab-01 .item-03 .col-img {
  background-image: url(../images/bino/purpose-03.jpg);
}

#tab-01 .item-03 .col-txts {
  background-color: rgba(251, 249, 186, 0.7);
}

#tab-01 .item-03 .item-img {
  left: -220px;
}

#tab-01 .item-04 .col-img {
  background-image: url(../images/bino/purpose-04.jpg);
}

#tab-01 .item-04 .col-txts {
  background-color: rgba(186, 228, 251, 0.7);
}

#tab-01 .item-04 .item-img {
  left: -240px;
}

#tab-01 .item-05 .col-img {
  background-image: url(../images/bino/purpose-05.jpg);
}

#tab-01 .item-05 .col-txts {
  background-color: rgba(241, 186, 251, 0.7);
}

#tab-01 .item-05 .item-img {
  left: -220px;
}

#pp05 p.catch {
  font-size: 22px;
  text-align: left;
}

#binoculars.tele #pp05 p.catch {
  font-size: 24px;
  text-align: center;
}

#binoculars.tele #tab-01 .item-01 .col-img {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/img-01.jpg);
}

#binoculars.tele #tab-01 .item-02 .col-img {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/img-02.jpg);
}

#binoculars.tele #tab-01 .item-03 .col-img {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/img-03.jpg);
}

#binoculars.tele #tab-01 .item-04 .col-img {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/img-04.jpg);
}

#binoculars.tele #tab-01 .item-05 .col-img {
  background-image: url(https://www.kenko-tokina.co.jp/images/tele/img-05.jpg);
  background-position: top center;
}

@media only screen and (min-width: 800px) and (-webkit-min-device-pixel-ratio: 2) {
  #tab-01 .item-01 .col-img {
    background-image: url(../images/bino/purpose-01@2x.jpg);
  }
  #tab-01 .item-02 .col-img {
    background-image: url(../images/bino/purpose-02@2x.jpg);
  }
  #tab-01 .item-03 .col-img {
    background-image: url(../images/bino/purpose-03@2x.jpg);
  }
  #tab-01 .item-04 .col-img {
    background-image: url(../images/bino/purpose-04@2x.jpg);
  }
  #tab-01 .item-05 .col-img {
    background-image: url(../images/bino/purpose-05@2x.jpg);
  }
  #binoculars.tele #tab-01 .item-01 .col-img {
    background-image: url(../images/tele/img-01@2x.jpg);
  }
  #binoculars.tele #tab-01 .item-02 .col-img {
    background-image: url(../images/tele/img-02@2x.jpg);
  }
  #binoculars.tele #tab-01 .item-03 .col-img {
    background-image: url(../images/tele/img-03@2x.jpg);
  }
  #binoculars.tele #tab-01 .item-04 .col-img {
    background-image: url(../images/tele/img-04@2x.jpg);
  }
  #binoculars.tele #tab-01 .item-05 .col-img {
    background-image: url(../images/tele/img-05@2x.jpg);
  }
}
@media screen and (max-width: 1380px) {
  #binoculars .sec-03.page-sec-common {
    padding: 40px 0px 80px;
  }
}
@media screen and (max-width: 1240px) {
  #tab-01 .item-01 .item-img {
    left: -220px;
    height: 180px;
  }
  #tab-01 .item-02 .item-img {
    left: -220px;
    height: 180px;
  }
  #tab-01 .item-03 .item-img {
    left: -220px;
  }
  #tab-01 .item-04 .item-img {
    left: -220px;
  }
  #tab-01 .item-05 .item-img {
    left: -220px;
  }
}
@media screen and (max-width: 1200px) {
  #tab-01 .wrap-txts {
    width: 90%;
  }
  #pp05 p.catch {
    font-size: 22px;
  }
  #tab-01 .item-01 .item-img {
    left: -240px;
  }
  #tab-01 .item-02 .item-img {
    left: -260px;
  }
  #tab-01 .item-03 .item-img {
    left: -280px;
  }
  #tab-01 .item-04 .item-img {
    left: -280px;
  }
  #tab-01 .item-05 .item-img {
    left: -280px;
  }
}
@media screen and (max-width: 800px) {
  #tab-01 .item-img {
    display: none;
  }
  #tab-01 .wrap-txts {
    width: 100%;
    margin: 0 auto;
    padding: 30px 10px;
  }
  #tab-01 .txt-h4 {
    font-size: 18px;
  }
  #tab-01 p.catch {
    font-size: 14px !important;
    letter-spacing: 1px;
    line-height: 180%;
  }
  #tab-01 p.catch-01 {
    margin-bottom: 10px;
  }
  #tab-01 p.discription {
    margin-top: 20px;
    font-size: 12px;
  }
  #tab-01 p.catch br {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  #tab-01 .cols-2 {
    background-image: url(../images/common/bg-cont-03.jpg);
    background-repeat: repeat;
    background-size: 30px 30px;
    margin-top: 80px;
  }
  #tab-01 .col-img {
    width: 100%;
    height: 160px;
  }
  #tab-01 .col-txts {
    font-size: 12px;
    width: 100%;
    height: auto;
  }
  .reco {
    padding: 30px 0 0 10px;
  }
  .reco .txt-h5 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  #binoculars .reco .wrap-img {
    width: 100%;
    background-color: #fff;
    text-align: center;
    padding: 10px;
  }
  #binoculars .reco .wrap-img img {
    max-height: 160px;
    max-width: 100%;
  }
  .bt-style-04 a {
    font-size: 12px;
    padding: 15px;
  }
  .bt-style-04 a i {
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -5px;
  }
}
/**  カテゴリーで探す部分  **/
#tab-02 {
  padding-top: 80px;
}

#tab-02 .txt-h4 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 2px;
}

#tab-02 .txt-h4:nth-of-type(2) {
  margin-top: 30px;
}

.list-cat {
  font-size: 0;
}

.list-cat li {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  width: 33.33333%;
  width: -webkit-calc(100% / 3);
  width: 33.3333333333%;
  padding: 40px 30px;
  text-align: center;
  position: relative;
}

.list-cat li:hover {
  cursor: pointer;
}

.list-cat li .wrap-img {
  height: 220px;
  width: 220px;
  margin: 0 auto;
  padding: 10px;
  background-color: #fff;
  display: table-cell;
  vertical-align: middle;
}

.list-cat li .wrap-img img {
  max-width: 200px;
  max-height: 200px;
}

.list-cat li a {
  color: #333;
}

.list-cat li .cat-name {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 10px;
}

.list-cat li .cat-name span {
  font-size: 16px;
  display: block;
}

.list-cat li p {
  line-height: 180%;
  min-height: 100px;
  text-align: left;
}

.list-cat li .icon-new {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #dd1c24;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  text-align: center;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  font-weight: normal;
  padding-top: 16px;
}

@media screen and (max-width: 900px) {
  .list-cat li {
    padding: 20px;
  }
}
@media screen and (max-width: 500px) {
  #tab-02 {
    padding-top: 30px;
  }
  #tab-02 .txt-h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0px;
    text-align: center;
  }
  #tab-02 .txt-h4:nth-of-type(2) {
    margin-top: 20px;
  }
  .list-cat li {
    font-size: 12px;
    width: 50%;
    border: none !important;
    padding: 10px !important;
  }
  .list-cat li:hover {
    background-color: #fff;
  }
  .list-cat li .wrap-img {
    padding: 5px;
  }
  .list-cat li .wrap-img img {
    max-width: 100%;
    max-height: inherit;
  }
  .list-cat li .cat-name {
    font-size: 14px !important;
    margin-bottom: 10px;
    margin-top: 0px;
  }
  .list-cat li .cat-name span {
    font-size: 14px;
    display: block;
  }
  .list-cat li p {
    line-height: 160%;
    height: auto;
    text-align: left;
  }
  .list-cat li .icon-new {
    font-size: 10px;
    width: 30px;
    height: 30px;
    padding-top: 8px;
  }
}
/**  シリーズで探す部分  **/
#tab-03 {
  padding-top: 80px;
}

#tab-03 .list-cat li,
.col4 li {
  width: 25%;
}

.col4 li .cat-name {
  font-size: 16px;
}

#tab-03 .bn-kiso {
  max-width: 800px;
  text-align: center;
  background-color: #eee;
  padding: 20px;
  margin: 0 auto 40px;
  font-weight: bold;
}

#tab-03 .bn-kiso img {
  width: 100%;
  height: auto;
}

#tab-03 .txt-h4 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 10px 20px;
  background-color: #eee;
  border-top: solid 3px #000;
  margin-top: 30px;
  border-radius: 0;
}

#tab-03 p.cat-desc {
  font-size: 16px;
  padding: 0 20px;
}

@media screen and (max-width: 800px) {
  #tab-03 .list-cat li,
  .col4 li {
    width: 33.33333%;
    display: none;
  }
}
@media screen and (max-width: 500px) {
  #tab-03 {
    padding-top: 30px;
  }
  #tab-03 .list-cat li,
  .col4 li {
    width: 50%;
  }
  .col4 li .cat-name {
    font-size: 14px;
  }
}
.wrap-800 {
  max-width: 800px;
  margin: 0 auto;
}

/**  スペックで探す部分  **/
#tab-04 {
  padding-top: 80px;
}

#tab-04 table {
  margin: 50px;
}

.table-style-01 {
  background-color: #ddd;
  border-spacing: 1px;
}

.table-style-01 th {
  background-color: #f5f5f5;
  padding: 15px;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
}

.table-style-01 td {
  background-color: #fff;
  padding: 15px;
}

.table-style-01 td label:hover {
  cursor: pointer;
  cursor: hand;
}

#binoculars .sec-05 {
  text-align: center;
}

#binoculars .sec-05 a {
  width: 48%;
  display: inline-block;
  padding: 0 3px;
}

#binoculars .sec-05 img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 500px) {
  #tab-04 {
    padding-top: 30px;
  }
  #binoculars .sec-05 a {
    width: 100%;
    display: block;
    padding: 5px 0;
  }
}
#binoculars .related-contents {
  background-color: rgba(203, 232, 247, 0.8);
  padding: 50px 0;
}

.related-contents h3 {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

@media screen and (max-width: 1200px) {
  .list-cat li {
    padding: 20px 20px;
  }
  .list-cat li .cat-name {
    font-size: 16px;
  }
  .col4 li .cat-name {
    font-size: 15px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/** ******************************

比較部分

****************************** */
.wrap-compare {
  max-width: 900px;
  margin: 50px auto;
  margin-top: 0;
}

.wrap-compare h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}

.wrap-compare h4 {
  font-size: 16px;
  font-weight: bold;
  margin: 30px 0 10px;
  border-left: solid 3px #000;
  padding: 3px 10px;
  background-color: #f5f5f5;
}

.wrap-compare .p1 {
  margin-bottom: 1em;
  font-size: 16px;
  font-weight: bold;
}

.wrap-compare .p2 {
  margin-top: 2em;
  font-size: 16px;
  font-weight: bold;
}

.list-compare {
  font-size: 0;
}

.list-compare li {
  display: inline-block;
  vertical-align: top;
  width: 20%;
  font-size: 14px;
  padding: 10px;
  text-align: center;
  position: relative;
}

.list-compare li a {
  display: block;
  border: solid 1px #fff;
  border-radius: 3px;
}

.list-compare li a.on {
  border: solid 1px rgb(254, 135, 0);
}

.list-compare li img {
  width: 80%;
  height: auto;
}

.list-compare img[data-echo] {
  min-width: 50px;
  min-height: 50px;
  background-image: url(../images/common/preloader-30-w.gif);
  background-position: center center;
  border-radius: 5px;
}

.list-compare img[data-echo].loaded {
  background-image: none;
}

.list-compare li .icon-new {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #dd1c24;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  text-align: center;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  font-weight: normal;
  padding-top: 8px;
}

@media screen and (max-width: 500px) {
  .wrap-compare {
    margin: 0px auto;
  }
  .wrap-compare h3 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .wrap-compare h4 {
    font-size: 14px;
    font-weight: bold;
    margin: 30px 0 10px;
  }
  .wrap-compare .p1 {
    margin-bottom: 1em;
    font-size: 12px;
    font-weight: bold;
  }
  .wrap-compare .p2 {
    margin-top: 2em;
    font-size: 12px !important;
    font-weight: bold;
  }
  .wrap-compare .p3 {
    font-size: 12px;
    margin-top: 10px;
  }
  .list-compare li {
    width: 33.3333%;
    font-size: 12px;
    padding: 5px;
  }
  .list-compare li a {
    display: block;
    border: solid 1px #fff;
    border-radius: 3px;
  }
  .list-compare li a.on {
    border: solid 1px rgb(254, 135, 0);
  }
  .list-compare li img {
    width: 80%;
    height: auto;
  }
  .list-compare img[data-echo] {
    min-width: 50px;
    min-height: 50px;
    background-image: url(../images/common/preloader-30-w.gif);
    background-position: center center;
    border-radius: 5px;
  }
  .list-compare img[data-echo].loaded {
    background-image: none;
  }
  .list-compare li .icon-new {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #dd1c24;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    text-align: center;
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    font-weight: normal;
    padding-top: 8px;
  }
}
/** 右の選択製品 **/
#choosed-items {
  width: 150px;
  position: fixed;
  top: 150px;
  right: 0;
  background-color: #fff;
  text-align: center;
  z-index: 999;
  border: solid 1px #ddd;
  display: none;
}

#choosed-items li {
  display: block;
  font-size: 12px;
  padding: 10px;
  text-align: center;
  position: relative;
}

#choosed-items li img {
  width: 100px;
  height: auto;
}

#choosed-items li i.icon-new {
  display: none;
}

#choosed-items li i {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 14px;
}

#choosed-items .bt {
  display: inline-block;
  width: 90%;
  text-align: center;
  padding: 10px;
  background-color: #22a673;
  color: #fff;
  font-size: 14px;
  margin-top: 20px;
}

@media screen and (max-width: 500px) {
  #choosed-items {
    width: 100%;
    position: fixed;
    top: inherit;
    bottom: 0;
    right: 0;
    background-color: #fff;
    text-align: center;
    z-index: 999;
    border: solid 1px #ddd;
    display: none;
  }
  #choosed-items li {
    display: inline-block;
    font-size: 10px;
    padding: 10px;
    width: 25%;
    vertical-align: top;
  }
  #choosed-items li img {
    width: 100%;
    height: auto;
  }
  #choosed-items .bt {
    display: block;
    margin: 0px auto;
    width: 100%;
  }
}
/** 比較テーブル **/
#comparison {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  overflow: auto;
  display: none;
}

#comparison .wrap-tables {
  max-width: 800px;
  background-color: #fff;
  margin: 50px auto;
  border-radius: 3px;
  font-size: 0;
  background-image: url(../images/common/loader-white.gif);
  background-position: top 300px center;
  background-size: 40px 40px;
}

#comparison table {
  border-spacing: 1px;
  background-color: #fff;
}

#comparison .table-th {
  width: 200px;
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  border-right: solid 1px #ddd;
}

#comparison .table-td {
  width: 200px;
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  border-right: solid 1px #ddd;
}

#comparison table th {
  background-color: #eee;
  padding: 10px;
  font-weight: bold;
  text-align: right;
  width: 25%;
}

#comparison table td {
  padding: 10px;
  width: 25%;
}

#comparison table td {
  border-right: solid 1px #ddd;
}

#comparison table td:last-child {
  border-right: none;
}

#comparison table tr:nth-of-type(2n) td {
  background-color: #f5f5f5;
}

#comparison table td img {
  width: 150px;
  height: auto;
}

#comparison table .choose {
  text-align: center;
  font-size: 18px;
  height: 50px;
  display: none;
}

#comparison table .img {
  height: 220px;
}

#comparison table .perchase {
  height: 60px;
}

#comparison table .name a {
  font-weight: bold;
}

#comparison .table-td .img {
  text-align: center;
}

#comparison .bt-close {
  font-style: normal;
  font-size: 30px;
  position: fixed;
  top: 30px;
  right: 50px;
  color: #fff;
}

.bt-buy {
  display: block;
  background-color: #29abe2;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  width: 150px;
  margin: 0 auto;
  border-radius: 2px;
}

.bt-buy:hover {
  color: #fff;
  background-color: #e25a24;
}

@media screen and (max-width: 500px) {
  #comparison .wrap-tables {
    width: 800px;
    background-color: #fff;
    margin: 10px auto;
    border-radius: 0px;
    font-size: 0;
    background-image: url(../images/common/loader-white.gif);
    background-position: top 300px center;
    background-size: 40px 40px;
  }
  #comparison table {
    border-spacing: 1px;
    background-color: #fff;
  }
  #comparison .table-th {
    width: 200px;
    display: inline-block;
    vertical-align: top;
    font-size: 10px;
    border-right: solid 1px #ddd;
  }
  #comparison .table-td {
    width: 200px;
    display: inline-block;
    vertical-align: top;
    font-size: 10px;
    border-right: solid 1px #ddd;
  }
  #comparison table th {
    background-color: #eee;
    padding: 10px;
    font-weight: bold;
    text-align: right;
    width: 25%;
  }
  #comparison table td {
    padding: 10px;
    width: 25%;
  }
  #comparison table td {
    border-right: solid 1px #ddd;
  }
  #comparison table td:last-child {
    border-right: none;
  }
  #comparison table tr:nth-of-type(2n) td {
    background-color: #f5f5f5;
  }
  #comparison table td img {
    width: 150px;
    height: auto;
  }
  #comparison table .choose {
    text-align: center;
    font-size: 18px;
    height: 50px;
    display: none;
  }
  #comparison table .img {
    height: 220px;
  }
  #comparison table .perchase {
    height: 60px;
  }
  #comparison table .name a {
    font-weight: bold;
  }
  #comparison .table-td .img {
    text-align: center;
  }
  #comparison .bt-close {
    font-style: normal;
    font-size: 20px;
    position: fixed;
    top: 10px;
    right: 10px;
    color: #fff;
  }
  .bt-buy {
    display: block;
    background-color: #29abe2;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    width: 150px;
    margin: 0 auto;
    border-radius: 2px;
  }
  .bt-buy:hover {
    color: #fff;
    background-color: #e25a24;
  }
}
/** 双眼鏡　特長リスト **/
.bino-feat li {
  font-size: 0;
  border-bottom: solid 1px #eee;
  padding: 30px 0 20px;
}

.bino-feat li:last-child {
  border-bottom: none;
}

.bino-feat li .wrap-img {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  width: 38%;
  padding: 0 10px;
}

.bino-feat li .wrap-txt {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  width: 62%;
  padding: 0 10px;
}

.bino-feat li .wrap-img img {
  width: auto;
  height: auto;
  max-height: 250px;
}

.bt-compare {
  display: inline-block;
  width: 100%;
  max-width: 200px;
  text-align: center;
  padding: 10px;
  background-color: #22a673;
  color: #fff !important;
  font-size: 14px;
  margin-top: 20px;
  border-radius: 3px;
  margin-left: 10px;
}

.bt-compare:hover {
  opacity: 0.8;
}

.bt-compare-02 {
  display: block;
  width: 100%;
  max-width: 200px;
  font-size: 13px !important;
  margin: 0 0 20px auto !important;
}

.bt-compare.on {
  background-color: #ccc !important;
}

@media screen and (max-width: 800px) {
  .bt-compare {
    font-size: 13px;
  }
}
@media screen and (max-width: 500px) {
  .bt-compare {
    display: none;
  }
}
.sec-cover {
  padding: 100px 0;
  background-position: center center;
  background-size: cover;
  position: relative;
  color: #fff;
  background-color: #eee;
}

.sec-cover h1.title-h1 {
  font-weight: bold;
  font-size: 28px;
  text-shadow: 2px 2px 2px #666;
}

.sec-cat-desc {
  background-color: #f5f5f5;
  width: 100%;
  padding: 40px 0;
  text-align: center;
}

.sec-cat-desc .inner {
  max-width: 600px;
  position: relative;
  padding-bottom: 20px;
}

.sec-cat-desc h1.title-h1 {
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto 30px;
}

.sec-cat-desc h1.title-h1 span {
  display: block;
  font-size: 14px;
  color: #999;
  font-weight: normal;
}

.sec-cat-desc p {
  font-size: 16px;
  text-align: left;
  padding: 10px 20px 0;
  font-weight: bold;
  line-height: 200%;
}

.sec-cat-desc img {
  padding-top: 40px;
}

.sec-pd-list {
  padding: 20px 0 50px;
}

.list-cat.four li {
  width: 25%;
}

/** 2019.12.18 削除？
.list-cat.four li:nth-of-type(4){border-top:solid 1px #eee}
.list-cat.four li:nth-of-type(4n){border-right:solid 1px #eee}
**/
.sec-pd-list .icons {
  position: absolute;
  top: 170px;
  left: 0;
}

.sec-pd-list .icons span {
  position: relative;
  margin-right: 3px;
  display: inline-block;
}

.sec-pd-list .icons img {
  width: 30px;
  height: auto;
}

.sec-pd-list .icon-01:after {
  content: "完全防水";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  position: absolute;
  top: -30px;
  left: 0;
  width: 80px;
  padding: 3px 0;
  border-radius: 3px;
  display: none;
}

.sec-pd-list .icon-02:after {
  content: "UVカット";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  position: absolute;
  top: -30px;
  left: 0;
  width: 80px;
  padding: 3px 0;
  border-radius: 3px;
  display: none;
}

.sec-pd-list .icon-03:after {
  content: "広視界タイプ";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  position: absolute;
  top: -30px;
  left: 0;
  width: 80px;
  padding: 3px 0;
  border-radius: 3px;
  display: none;
}

.sec-pd-list .icon-04:after {
  content: "防滴構造";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  position: absolute;
  top: -30px;
  left: 0;
  width: 80px;
  padding: 3px 0;
  border-radius: 3px;
  display: none;
}

.sec-pd-list .icon-05:after {
  content: "三脚の使用を推奨";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  text-align: center;
  position: absolute;
  top: -30px;
  left: 0;
  width: 90px;
  padding: 3px 0;
  border-radius: 3px;
  display: none;
}

.sec-pd-list .icons span:hover:after {
  display: block;
}

.sec-pd-list .item-list-col-4 li {
  margin-bottom: 40px;
  border-bottom: solid 1px #eee;
  padding-bottom: 40px;
}

.sec-pd-list .item-list-col-4 .wrap-img {
  width: 100%;
  background-color: #fff;
  padding: 10px;
}

.sec-pd-list .item-list-col-4 .wrap-img img {
  max-height: 160px;
  max-width: 240px;
}

@media screen and (max-width: 900px) {
  .list-cat.four li {
    width: 33.333333%;
    border: none;
    height: auto;
  }
  .list-cat.four li .wrap-img img {
    width: 100%;
    height: auto;
  }
  .list-cat.four li:nth-of-type(4) {
    border-top: none;
  }
  .list-cat.four li:nth-of-type(4n) {
    border-right: none;
  }
  .list-cat.four .cat-name {
    font-size: 14px !important;
  }
}
@media screen and (max-width: 500px) {
  .sec-cover h1.title-h1 {
    font-size: 24px;
  }
  .sec-cat-desc {
    padding: 30px 0;
  }
  .sec-cat-desc .inner {
    padding-bottom: 0px;
  }
  .sec-cat-desc h1.title-h1 {
    font-size: 18px;
    margin: 0 auto 20px;
  }
  .sec-cat-desc p {
    font-size: 14px;
    font-weight: normal;
  }
  .sec-cat-desc img {
    padding-top: 30px;
  }
  .sec-pd-list {
    padding: 20px 0 30px;
  }
  .list-cat.four li {
    width: 50%;
    border: none;
    height: auto;
  }
  .list-cat.four .cat-name {
    font-size: 12px !important;
  }
  .list-cat.four li p {
    font-size: 10px;
  }
  .sec-pd-list .item-list-col-4 li {
    margin-bottom: 40px;
    border: none;
    padding-bottom: 40px;
  }
  .sec-pd-list .item-list-col-4 .wrap-img {
    width: 100%;
    height: 200px;
    background-color: #fff;
    padding: 10px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sec-pd-list .item-list-col-4 .wrap-img img {
    max-width: 90%;
    max-height: 80%;
    width: auto;
    height: auto;
  }
}
.related-news {
  background-color: #f5f5f5;
}

#slick-01 li {
  position: relative;
}

#slick-01 li .a-01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  vertical-align: top;
}

#slick-01 li .a-02 {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 50%;
  height: 100%;
  vertical-align: top;
}

.wrap-title-img .cover {
  margin: 0 auto 30px;
  display: block;
  width: 100%;
}

#frame-sub-01 ul {
  font-size: 0;
  text-align: center;
}

#frame-sub-01 li {
  display: inline-block;
  width: 14.28%;
  font-size: 12px;
  vertical-align: top;
  color: #333;
  max-height: 140px;
  border: solid 2px #eee;
  vertical-align: top;
  margin: 0;
  text-align: center;
}

#frame-sub-01 li img {
  width: auto !important;
  height: 84px !important;
  margin: 0 auto;
  display: block;
}

#frame-sub-01 li a {
  display: block;
  margin-bottom: 5px;
  text-align: left;
  color: #333;
}

#frame-sub-01 li .name {
  font-size: 11px;
  padding: 10px 5px 5px;
  letter-spacing: 0px;
  font-weight: bold;
}

#frame-sub-01 h4 {
  font-size: 12px;
  padding: 5px 0;
  font-weight: bold;
  text-align: center;
}

#frames .top-catch {
  font-size: 16px;
  margin-top: 20px;
}

#frames .sec-01 {
  background-image: url(../images/gaku/top-cover.jpg);
  background-size: cover;
  background-position: center;
}

#frames .sec-01 .inner {
  height: 380px;
}

#frames .sec-01 h2 {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 10%;
  text-align: center;
  font-size: 30px;
  letter-spacing: 2px;
  font-weight: bold;
  margin-top: -15px;
  text-shadow: 5px 5px 7px #333;
}

#frames .sec-01 h2 span.en {
  display: block;
  font-size: 14px;
}

@media screen and (max-width: 600px) {
  #frame-sub-01 li {
    width: 33.33333333%;
    font-size: 10px;
    max-height: auto;
  }
  #frame-sub-01 h4 {
    font-size: 10px;
    font-weight: normal;
  }
}
#frames .sec-02 {
  background-image: url(../images/gaku/bg500.jpg);
  background-repeat: repeat;
  text-align: center;
  min-height: auto;
}

#frames .sec-02 h3 {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 1.5px;
}

#frames .sec-02 .frame-cat {
  text-align: center;
  padding: 50px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#frames .sec-02 .frame-cat li {
  padding: 10px;
  margin: 15px 0;
  position: relative;
  width: 33.3333333333%;
  list-style: none;
}

#frames .sec-02 .frame-cat li .wrap-img {
  max-width: 330px;
  width: 100%;
  height: 330px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

#frames .sec-02 .frame-cat li img {
  max-width: 90%;
  max-height: 90%;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0px 0px 3px #999);
}

#frames .sec-02 .frame-cat a h4 {
  color: #333;
  font-size: 16px;
  margin-top: 10px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
}

#frames .sec-02 .frame-cat-2 {
  text-align: center;
  padding: 50px 0 0;
}

#frames .sec-02 .frame-cat-2 li {
  padding: 10px;
  margin: 15px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  position: relative;
}

#frames .sec-02 .frame-cat-2 li .wrap-img {
  max-width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#frames .sec-02 .frame-cat-2 li img {
  max-width: 90%;
  max-height: 90%;
}

#frames .sec-02 .frame-cat-2 a h4 {
  color: #333;
  font-size: 14px;
  margin-top: 10px;
  font-weight: bold;
}

@media screen and (max-width: 600px) {
  #frames .sec-02 .frame-cat {
    text-align: center;
    padding: 0;
  }
  #frames .sec-02 .frame-cat li {
    width: 50%;
    padding: 10px;
  }
  #frames .sec-02 .frame-cat li .wrap-img {
    max-width: 100%;
    height: 160px !important;
  }
  #frames .sec-02 .frame-cat a h4 {
    font-size: 12px;
  }
  #frames .sec-02 .frame-cat-2 {
    text-align: center;
    padding: 0;
  }
  #frames .sec-02 .frame-cat-2 li {
    width: 31% !important;
    padding: 10px;
    margin: 0;
  }
  #frames .sec-02 .frame-cat-2 li .wrap-img {
    max-width: 100%;
    height: 160px !important;
  }
  #frames .sec-02 .frame-cat-2 a h4 {
    font-size: 12px;
  }
}
#frames .sec-bn {
  text-align: center;
  padding: 40px 0;
}

#frames .sec-bn a {
  width: 48%;
  display: inline-block;
  padding: 0 3px;
}

#frames .sec-bn img {
  width: 100%;
  height: auto;
}

#frames .cover-cat {
  background-size: cover;
  background-position: center;
}

#frames .cover-cat .inner {
  height: 220px;
}

#frames .cover-cat h2 {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 10%;
  text-align: center;
  font-size: 30px;
  letter-spacing: 2px;
  font-weight: bold;
  margin-top: -15px;
  text-shadow: 5px 5px 7px #333;
}

#frames .cover-cat p {
  color: #fff;
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 10%;
  padding-top: 30px;
}

#frames .cover-cat img.frame {
  width: auto;
  height: auto;
  max-height: 180px;
  box-shadow: 5px 5px 7px #333;
  position: absolute;
  top: 20px;
  right: 30px;
}

#frames .sec-02 .frame-cat-3 {
  text-align: left;
  padding: 50px 0 0;
}

#frames .sec-02 .frame-cat-3 li {
  padding: 10px;
  margin: 15px;
  display: inline-block;
  text-align: center;
  vertical-align: top;
  position: relative;
  width: 22%;
}

#frames .sec-02 .frame-cat-3 li .wrap-img {
  max-width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

#frames .sec-02 .frame-cat-3 li img {
  max-width: 200px;
  max-height: 200px;
}

#frames .sec-02 .frame-cat-3 a h4 {
  color: #333;
  font-size: 16px;
  margin-top: 20px;
  font-weight: bold;
}

#frames .sec-02 .frame-cat-3 li p {
  text-align: left;
  margin-top: 20px;
  font-size: 13px;
}

#frames .sec-bg {
  background-image: url(../images/gaku/bg500.jpg);
  background-repeat: repeat;
}

#frames .title-area {
  border-bottom: solid 1px #000;
  padding: 30px 20px;
  background-color: rgb(220, 214, 198);
}

#frames .title-area h2 {
  font-size: 36px;
  font-weight: bold;
}

#frames .sec-detail .gaku-entry p {
  font-size: 16px;
  margin-bottom: 1em;
}

#frames .sec-detail .gaku-entry p.notice {
  font-size: 13px !important;
}

#frames .sec-detail .gaku-entry .icon-1 {
  background-color: brown;
  padding: 2px 10px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  border-radius: 3px;
}

#frames .sec-detail .gaku-entry .icon-2 {
  margin-left: 10px;
  background-color: cadetblue;
  padding: 2px 10px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  border-radius: 3px;
}

#frames .sec-detail .spec {
  margin: 20px 0;
  border-spacing: 1px;
}

#frames .sec-detail .spec th {
  padding: 10px;
  font-weight: bold;
  background-color: #333;
  color: #fff;
  font-size: 14px;
}

#frames .sec-detail .spec td {
  padding: 10px;
  background-color: #fff;
  font-size: 14px;
}

#frames .sec-detail .block {
  padding: 30px 0;
}

#frames .sec-detail .block h3.title {
  border-left: solid 5px #333;
  padding: 5px 14px;
  font-size: 24px;
  font-weight: bold;
}

#frames .sec-detail .block .cols-2 {
  padding: 50px 0;
}

#frames .sec-detail .block .col-1 {
  text-align: center;
  width: 50%;
  overflow: hidden;
}

#frames .sec-detail .block .col-2 {
  width: 50%;
  padding-left: 50px;
}

#frames .sec-detail .block .col-1 img {
  max-width: 500px;
  max-height: 500px;
}

#frames .sec-detail .block .col-2 table {
  width: 100%;
  border-spacing: 0;
  max-width: 620px;
  margin: 50px auto;
}

#frames .sec-detail .block .col-2 th {
  text-align: center;
  padding: 10px;
  background-color: #333;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

#frames .sec-detail .block .col-2 td {
  text-align: center;
  padding: 10px;
  background-color: #eee;
  font-size: 14px;
}

#frames .sec-detail .block .col-2 tr:nth-of-type(2n) td {
  background-color: #fff;
}

#frames .sec-detail .block .slick li {
  display: inline-block;
  vertical-align: middle;
}

#frames .sec-detail .block .slick li img {
  width: auto;
  height: auto;
  max-height: 500px;
  max-width: 100%;
}

#frames .sec-detail .block .slick li p {
  font-size: 16px;
  font-weight: bold;
  margin-top: 20px;
}

#frames .sec-detail .block .slick-thumbs {
  margin-top: 20px;
  cursor: pointer;
  position: relative;
  padding: 0 10px;
}

#frames .sec-detail .block .slick-thumbs li {
  display: inline-block;
}

#frames .sec-detail .block .slick-thumbs li img {
  width: auto;
  height: auto;
  max-height: 80px;
  max-width: 80%;
  vertical-align: middle;
}

#frames .sec-detail .block .slick-thumbs .slick-current img {
  border: solid 2px #333;
  padding: 2px;
}

#frames .sec-detail .block .slick-thumbs .slick-arrow {
  position: absolute;
  top: 50%;
  margin-top: -17px;
  z-index: 2;
}

#frames .sec-detail .block .slick-thumbs .slick-arrow i {
  font-size: 30px;
}

#frames .sec-detail .block .slick-thumbs .slick-prev {
  left: 0;
}

#frames .sec-detail .block .slick-thumbs .slick-next {
  right: 0;
}

#frames.stand .sec-02 .frame-cat li img,
#frames.stand .cover-cat img {
  box-shadow: none;
}

#ordermade1 h3 {
  margin-top: 30px;
}

#ordermade1 dl {
  padding: 30px 30px 0;
}

#ordermade1 dt {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

#ordermade1 dd {
  font-size: 16px;
  margin-bottom: 30px;
  padding: 0 1em;
  line-height: 180%;
}

#ordermade1 dd li {
  font-size: 16px;
  margin-bottom: 10px;
}

#ordermade1 table {
  margin: 30px 0;
  border-spacing: 1px;
  background-color: #ddd;
}

#ordermade1 table th {
  padding: 20px;
  background: #f3f3f3;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  text-align: left;
  width: 20%;
  line-height: 180%;
  white-space: nowrap;
}

#ordermade1 table td {
  padding: 20px;
  line-height: 180%;
  font-size: 16px;
  background-color: #fff;
}

@media screen and (max-width: 600px) {
  #ordermade1 table th {
    font-size: 12px;
    width: 100%;
    display: block;
  }
  #ordermade1 table td {
    display: block;
    width: 100%;
    font-size: 12px;
  }
}
#ordermade {
  background-color: #fff;
  padding: 50px 30px;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  border: solid 5px #000;
}

#ordermade p.catch {
  font-size: 20px !important;
  font-weight: bold;
}

#ordermade p.catch2 {
  padding: 10px 20px;
}

#ordermade .title {
  margin-bottom: 30px;
}

#ordermade p.notice {
  font-size: 14px !important;
  margin-bottom: 20px;
  text-align: left;
}

#ordermade dl {
  padding: 30px;
}

#ordermade dt {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

#ordermade dd {
  font-size: 16px;
  margin-bottom: 30px;
  padding: 0 1em;
  line-height: 180%;
}

#ordermade dd li {
  font-size: 16px;
  margin-bottom: 10px;
}

#ordermade .note {
  font-size: 12px;
}

#ordermade .order {
  padding: 30px;
}

#ordermade .order h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}

#ordermade address {
  font-style: normal;
  padding: 10px;
  background-color: #eee;
  margin: 20px;
  line-height: 180%;
  max-width: 500px;
}

#ordermade .ul-note {
  padding: 30px;
}

#ordermade .ul-note li {
  font-size: 16px;
  margin-bottom: 5px;
}

#ordermade .cols-3 {
  padding: 0 30px 30px;
}

#ordermade .cols-3 .col {
  padding-right: 30px;
  text-align: center;
}

#ordermade .cols-3 .col img {
  display: block;
}

#ordermade .p1 {
  margin-left: 30px;
}

#ordermade .p1 span {
  font-weight: bold;
}

#ordermade .cols-2 {
  padding: 30px;
}

#ordermade .cols-2 .col {
  padding: 10px;
  line-height: 180%;
  font-size: 16px;
  font-weight: bold;
}

#ordermade .col img {
  max-width: 100%;
  height: auto;
}

#ordermade .wrap-pr-table {
  padding: 30px;
}

#ordermade .wrap-pr-table h4 {
  font-size: 16px;
  font-weight: bold;
  padding-top: 30px;
  border-top: solid 1px #ddd;
  margin-top: 30px;
}

#ordermade .wrap-pr-table h4:nth-of-type(1) {
  border-top: none;
  padding-top: 0;
}

#ordermade .wrap-pr-table .note {
  font-size: 14px !important;
}

#ordermade .table01 {
  margin: 20px auto 10px;
  width: 100%;
  background-color: #ddd;
  border-spacing: 1px;
}

#ordermade table.table01 th {
  padding: 10px;
  background: #f3f3f3;
  text-align: center;
  font-weight: bold;
  font-size: 13px;
}

#ordermade table.table01 th.th1 {
  text-align: left;
}

#ordermade table.table01 td {
  padding: 3px 10px;
  line-height: 1.5;
  background-color: #fff;
  text-align: center;
}

#ordermade .wrap-img {
  background-color: #fff;
  text-align: center;
  padding: 20px;
}

#ordermade .notice {
  text-align: right;
  margin-top: 10px;
}

#gaku-discon {
  max-width: 900px;
  margin: 0 auto;
  background-color: #fff;
  padding: 40px;
}

#gaku-discon h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 30px 0 20px;
  background-color: cadetblue;
  color: #fff;
  padding: 2px 10px;
}

#gaku-discon li {
  list-style: outside disc;
  margin: 0 0 10px 20px;
  font-size: 14px;
}

@media only screen and (min-width: 600px) and (-webkit-min-device-pixel-ratio: 2) {
  #frames .sec-01 {
    background-image: url(../images/gaku/top-cover@2x.jpg);
  }
  #frames .sec-02,
  #frames .sec-bg {
    background-image: url(../images/gaku/bg500@2x.jpg);
    background-repeat: repeat;
  }
}
@media screen and (max-width: 1200px) {
  #frames .sec-02 .frame-cat-3 li {
    width: 20%;
  }
  #frames .sec-02 .frame-cat-3 li .wrap-img {
    max-width: 200px;
    height: 200px;
  }
  #frames .sec-02 .frame-cat-3 li img {
    max-width: 100%;
    max-height: 100%;
  }
}
@media screen and (max-width: 600px) {
  #frames .title-area h2 {
    font-size: 20px;
  }
  #frames .sec-01 .inner {
    height: 200px;
  }
  #frames .sec-01 h2 {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0%;
    text-align: center;
    font-size: 24px;
    letter-spacing: 2px;
    font-weight: normal;
    margin-top: -15px;
    text-shadow: 5px 5px 7px #333;
    width: 100%;
  }
  #frames .sec-01 h2 span.en {
    font-size: 12px;
  }
  #frames .sec-02 {
    background-image: url(../images/gaku/bg500.jpg);
    background-repeat: repeat;
    text-align: center;
    min-height: auto;
    padding-bottom: 30px;
  }
  #frames .sec-02 h3 {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1.5px;
  }
  #frames .top-catch {
    font-size: 14px;
  }
  #frames .sec-bn {
    text-align: center;
    padding: 20px 0;
  }
  #frames .sec-bn a {
    width: 100%;
    display: block;
    margin-bottom: 10px;
  }
  #frames .sec-bn img {
    width: 100%;
    height: auto;
  }
  #frames .sec-02 .frame-cat-3 {
    text-align: left;
    padding: 0;
    font-size: 0;
  }
  #frames .sec-02 .frame-cat-3 li {
    padding: 10px;
    margin: 10px 0;
    width: 50%;
    font-size: 12px;
    text-align: center;
    vertical-align: top;
    position: relative;
  }
  #frames .sec-02 .frame-cat-3 li .wrap-img {
    display: flex;
    height: 150px;
    width: 90%;
    justify-content: center;
    align-items: center;
  }
  #frames .sec-02 .frame-cat-3 li img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  #frames .sec-02 .frame-cat-3 a h4 {
    color: #333;
    font-size: 14px;
    margin-top: 10px;
    font-weight: bold;
    letter-spacing: 1px;
  }
  #frames .sec-02 .frame-cat-3 li p {
    text-align: left;
    margin-top: 20px;
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 1.4;
  }
  #frames .sec-bg {
    background-image: url(../images/gaku/bg500.jpg);
    background-repeat: repeat;
  }
  #frames .sec-detail {
    padding: 20px 10px;
  }
  #frames .sec-detail .gaku-entry {
    padding: 10px 0;
  }
  #frames .sec-detail .gaku-entry p {
    font-size: 14px;
    margin-bottom: 1em;
  }
  #frames .sec-detail .gaku-entry p.notice {
    font-size: 13px !important;
  }
  #frames .sec-detail .gaku-entry .icon-1 {
    background-color: brown;
    padding: 2px 10px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    border-radius: 3px;
  }
  #frames .sec-detail .gaku-entry .icon-2 {
    margin-left: 10px;
    background-color: cadetblue;
    padding: 2px 10px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    border-radius: 3px;
  }
  #frames .sec-detail .spec {
    margin: 20px 0;
    border-spacing: 1px;
  }
  #frames .sec-detail .spec th {
    padding: 10px;
    font-weight: bold;
    background-color: #333;
    color: #fff;
    font-size: 12px;
    text-align: right;
  }
  #frames .sec-detail .spec td {
    padding: 10px;
    background-color: #fff;
    font-size: 12px;
    text-align: left;
    display: table-cell !important;
  }
  #frames .sec-detail .block {
    padding: 10px 0;
  }
  #frames .sec-detail .block h3.title {
    border-left: solid 5px #333;
    padding: 5px 14px;
    font-size: 18px;
    font-weight: bold;
  }
  #frames .sec-detail .block .cols-2 {
    padding: 50px 0 0;
  }
  #frames .sec-detail .block .col-1 {
    text-align: center;
    display: block;
    width: 100%;
  }
  #frames .sec-detail .block .col-2 {
    display: block;
    width: 100%;
    padding: 0;
  }
  #frames .sec-detail .block .col-1 img {
    max-width: 90%;
    max-height: inherit;
    display: block;
    margin: 0 auto;
  }
  #frames .sec-detail .block .col-2 table {
    width: 100%;
    border-spacing: 0;
    max-width: 620px;
    margin: 50px auto;
  }
  #frames .sec-detail .block .col-2 th {
    text-align: center;
    padding: 10px;
    background-color: #333;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
  }
  #frames .sec-detail .block .col-2 td {
    text-align: center;
    padding: 10px;
    background-color: #eee;
    font-size: 12px;
    display: table-cell !important;
  }
  #frames .sec-detail .block .col-2 tr:nth-of-type(2n) td {
    background-color: #fff;
  }
  #frames .sec-detail .block .slick {
    overflow-x: hidden;
  }
  #frames .sec-detail .block .slick li {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
  }
  #frames .sec-detail .block .slick li img {
    box-shadow: 5px 5px 7px #333;
  }
  #frames .sec-detail .block .slick li p {
    font-size: 16px;
    font-weight: bold;
    margin: 20px 0;
  }
  #frames ul.slick-dots {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
  }
  #frames .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 2px;
    padding: 0;
    background-color: #fff;
    border-radius: 100px;
  }
  #frames .slick-dots button {
    display: block;
    width: 10px;
    height: 10px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  #frames .slick-dots li.slick-active {
    background-color: #009fe8;
  }
  #frames .sec-detail .block .slick .slick-arrow {
    position: absolute;
    top: 100px;
    z-index: 2;
  }
  #frames .sec-detail .block .slick .slick-arrow i {
    font-size: 30px;
  }
  #frames .sec-detail .block .slick .slick-prev {
    left: 0;
  }
  #frames .sec-detail .block .slick .slick-next {
    right: 0;
  }
  #ordermade {
    overflow-x: auto;
  }
  #ordermade .title {
    margin-bottom: 30px;
  }
  #ordermade p.notice {
    font-size: 13px !important;
    margin-bottom: 20px;
  }
  #ordermade .table01 {
    margin-bottom: 20px;
    max-width: 800px;
    background-color: #ddd;
    border-spacing: 1px;
  }
  #ordermade table.table01 th {
    padding: 10px;
    white-space: normal;
    background: #f3f3f3;
    text-align: center;
    font-weight: bold;
    font-size: 12px;
  }
  #ordermade table.table01 th.thWSnormal {
    white-space: normal;
  }
  #ordermade table.table01 td {
    padding: 3px 10px;
    line-height: 1.5;
    background-color: #fff;
    display: table-cell !important;
    font-size: 12px;
  }
  #ordermade table.table01 .bg01 {
    background: #f0f8ff;
  }
  #ordermade table.table01 .nowrap {
    white-space: nowrap;
  }
  #ordermade table.table01 td.borderRnone {
    border-right: none;
  }
  #ordermade table.table01 .borderBdouble {
    border-bottom: 3px double #dfdfdf;
  }
  #ordermade table.table01 th.tbright,
  #ordermade table.table01 td.tbright {
    text-align: right;
  }
  #ordermade table.table01 th.tbleft,
  #ordermade table.table01 td.tbleft {
    text-align: left;
  }
  #ordermade table.table01 th.tbcenter,
  #ordermade table.table01 td.tbcenter {
    text-align: center;
  }
  #ordermade table.tbfontS td {
    font-size: 12px;
  }
  #ordermade table.table01 th.tbfontnormal {
    font-weight: normal;
  }
  #ordermade table.table01 ol {
    margin-left: 20px;
    margin-top: 10px;
  }
  #ordermade table.table01 ol li {
    margin-bottom: 8px;
  }
  #ordermade table.table01 .bg02 {
    background: #000000;
    color: #ffffff;
  }
  #ordermade table.table01 .bg03 {
    background: #00ccff;
    color: #ffffff;
  }
  #ordermade table.table01 .bg04 {
    background: #c0c0c0;
  }
  #ordermade .wrap-img {
    background-color: #fff;
    text-align: center;
    padding: 20px;
  }
  #ordermade .notice {
    text-align: right;
    margin-top: 10px;
  }
  #gaku-discon {
    max-width: 900px;
    margin: 0 auto;
    background-color: #fff;
    padding: 40px 10px;
  }
  #gaku-discon h3 {
    font-size: 20px;
    font-weight: bold;
    margin: 30px 0 20px;
    background-color: cadetblue;
    color: #fff;
    padding: 2px 10px;
  }
  #gaku-discon li {
    list-style: outside disc;
    margin: 0 0 10px 20px;
    font-size: 14px;
  }
  /** ADD 2018.09.18**/
  .bt-01 {
    display: block;
    width: 90%;
    margin: 1em auto;
    padding: 14px 10px;
    text-align: center;
    font-size: 16px;
    background-color: #15497b;
    color: #fff;
    border-radius: 3px;
  }
  .bt-02 {
    display: block;
    width: 90%;
    margin: 1em auto;
    padding: 14px 10px;
    text-align: center;
    font-size: 16px;
    background-color: #b90c0c;
    color: #fff;
    border-radius: 3px;
  }
  .bd-01 {
    background: linear-gradient(transparent 60%, rgba(252, 238, 33, 0.6) 0%);
    font-weight: bold;
  }
  .bd-02 {
    background: linear-gradient(transparent 60%, rgba(228, 0, 3, 0.4) 0%);
    font-weight: bold;
  }
  .bd-03 {
    background: linear-gradient(transparent 60%, rgba(0, 65, 219, 0.5) 0%);
    font-weight: bold;
  }
  #ordermade {
    background-color: #fff;
    padding: 20px 10px;
  }
  #ordermade p.catch {
    font-size: 14px;
    font-weight: bold;
  }
  #ordermade p.catch2 {
    padding: 10px;
  }
  #ordermade .title {
    margin-bottom: 30px;
    font-size: 14px !important;
  }
  #ordermade p.notice {
    font-size: 10px !important;
    margin-bottom: 20px;
    text-align: left;
  }
  #ordermade dl {
    padding: 30px 10px;
  }
  #ordermade dt {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  #ordermade dd {
    font-size: 12px;
    margin-bottom: 30px;
    padding: 0 1em;
    line-height: 180%;
  }
  #ordermade dd li {
    font-size: 12px;
    margin-bottom: 10px;
  }
  #ordermade .note {
    font-size: 10px;
  }
  #ordermade .order {
    padding: 30px 10px;
  }
  #ordermade .order h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  #ordermade address {
    font-style: normal;
    padding: 10px;
    background-color: #eee;
    margin: 20px 0;
  }
  #ordermade .ul-note {
    padding: 30px;
  }
  #ordermade .ul-note li {
    font-size: 14px;
    margin-bottom: 5px;
  }
  #ordermade .cols-3 {
    padding: 0 10px;
  }
  #ordermade .cols-3 .col {
    text-align: center;
    width: 100%;
    padding-bottom: 20px;
  }
  #ordermade .cols-3 .col img {
    display: block;
  }
  #ordermade .p1 span {
    font-weight: bold;
  }
  #ordermade .cols-2 {
    padding: 30px 10px;
  }
  #ordermade .cols-2 .col {
    width: 100%;
    padding: 10px 0;
    line-height: 180%;
    font-size: 16px;
    font-weight: bold;
  }
  #ordermade .col img {
    max-width: 100%;
    height: auto;
  }
  #ordermade .wrap-pr-table {
    padding: 30px 10px;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  #ordermade .wrap-pr-table table {
    max-width: 1000px;
  }
  #ordermade .wrap-pr-table h4 {
    font-size: 16px;
    font-weight: bold;
    padding-top: 30px;
    border-top: solid 1px #ddd;
    margin-top: 30px;
  }
  #ordermade .wrap-pr-table h4:nth-of-type(1) {
    border-top: none;
    padding-top: 0;
  }
  #ordermade .wrap-pr-table .note {
    font-size: 14px !important;
  }
  #ordermade .table01 {
    margin: 20px auto 10px;
    width: 100%;
    background-color: #ddd;
    border-spacing: 1px;
  }
  #ordermade table.table01 th {
    padding: 10px;
    background: #f3f3f3;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
  }
  #ordermade table.table01 th.th1 {
    text-align: left;
  }
  #ordermade table.table01 td {
    padding: 3px 10px;
    line-height: 1.5;
    background-color: #fff;
    text-align: center;
  }
  #ordermade .wrap-img {
    background-color: #fff;
    text-align: center;
    padding: 20px;
  }
  #ordermade .notice {
    text-align: right;
    margin-top: 10px;
  }
}
@media screen and (max-width: 600px) {
  #frames .cover-cat .inner {
    height: 150px;
  }
  #frames .cover-cat img.frame {
    max-height: 80px;
    top: 30px;
    right: 30px;
  }
  #frames .cover-cat h2 {
    font-size: 20px;
    margin-top: -15px;
  }
}
.discon a {
  display: block;
  width: 100%;
  max-width: 200px;
  text-align: center;
  padding: 15px;
  font-size: 14px;
  color: #fff;
  border: solid 1px #999;
  margin: 0 0 0 auto;
  letter-spacing: 1.5px;
  background-color: #999;
}

.discon a::before {
  content: "→ ";
}

@media screen and (max-width: 800px) {
  .bt-shop-list a {
    max-width: 300px;
    margin: 20px auto 0;
  }
  .discon a {
    margin: 0 auto;
  }
}
/** STAY HOME

#stayhome {
  padding-bottom: 100px;
}
#stayhome .catch {
  text-align: center;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 1px;
  line-height: 180%;
  margin-bottom: 30px;
}

#stayhome .inner {
  max-width: 1024px;
  margin: 0 auto;
  min-height: 500px;
  text-align: center;
}

#stayhome .block {
  padding: 30px 0;
}

#stayhome .title {
  letter-spacing: 2px;
  line-height: 180%;
  font-size: 30px;
  margin-bottom: 30px;
}
#stayhome .title span {
  font-size: 14px;
  display: block;
  color: #999;
}

#stayhome .cat {
  text-align: left;
}
#stayhome .cat .col {
  padding: 10px;
  padding-bottom: 20px;
  text-align: center;
}
#stayhome .cat .wrap-img {
  background-size: cover;
  background-position: center;
  display: block;
  width: 100%;
  height: 220px;
  background-color: #eee;
  border-radius: 5px;
  border: solid 1px #fff;
  box-shadow: 0 0 3px #666;
  margin-bottom: 10px;
}
#stayhome .cat p.name {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
#stayhome .cat p.desc {
  font-size: 16px;
  letter-spacing: 1px;
  text-align: left;
}

#stayhome .articles {
  text-align: left;
}
#stayhome .articles .col {
  padding: 10px;
  padding-bottom: 20px;
}
#stayhome .articles .wrap-img {
  background-size: cover;
  background-position: center;
  display: block;
  width: 100%;
  height: 160px;
  background-color: #eee;
  border-radius: 5px;
  margin-bottom: 10px;
}
#stayhome p.name {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 10px;
  line-height: 160%;
}
#stayhome p.desc {
  letter-spacing: 1px;
  margin-bottom: 10px;
  line-height: 160%;
}
#stayhome .more {
  display: block;
  font-size: 13px;
  color: #0052a5;
  font-weight: bold;
}

#stayhome .rec-items {
  text-align: left;
}
#stayhome .rec-items .col {
  padding: 10px;
  padding-bottom: 20px;
}
#stayhome .rec-items .wrap-img {
  text-align: center;
  background-color: #eee;
  margin-bottom: 10px;
  border-radius: 5px;
}
#stayhome .rec-items .wrap-img img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 160px;
}

@media screen and (max-width: 800px) {
  #stayhome .wrap-title-img {
    overflow: hidden;
    text-align: center;
    position: relative;
    height: 260px;
  }
  #stayhome .wrap-title-img img {
    width: 800px !important;
    max-width: inherit !important;
    height: auto;
    display: block;
    left: 50%;
    top: 0;
    position: absolute;
    margin-left: -400px !important;
  }

  #stayhome {
    padding-bottom: 50px;
  }
  #stayhome .catch {
    text-align: left;
    padding: 0 20px;
    font-size: 18px;
  }

  #stayhome .title {
    letter-spacing: 2px;
    line-height: 180%;
    font-size: 30px;
    margin-bottom: 30px;
  }
  #stayhome .title span {
    font-size: 14px;
    display: block;
    color: #999;
  }

  #stayhome .cat .col {
    padding: 10px;
    padding-bottom: 20px;
    text-align: center;
    width: 33.333333%;
    width: calc(100% / 3);
  }
  #stayhome .cat p {
    font-size: 18px;
  }

  #stayhome .articles .col {
    width: 33.333333%;
    width: calc(100% / 3);
  }
  #stayhome .rec-items .col {
    width: 33.333333%;
    width: calc(100% / 3);
  }
}

@media screen and (max-width: 600px) {
  #stayhome {
    padding-bottom: 30px;
  }
  #stayhome .catch {
    padding: 0 10px;
    font-size: 16px;
  }
  #stayhome .block {
    padding: 10px 0;
  }

  #stayhome .title {
    font-size: 20px;
    margin-bottom: 30px;
  }
  #stayhome .title span {
    font-size: 10px;
    display: block;
    color: #999;
  }

  #stayhome .cat .col {
    padding: 10px;
    padding-bottom: 20px;
    text-align: center;
    width: 50%;
  }
  #stayhome .cat .wrap-img {
    height: 180px;
  }
  #stayhome .cat p {
    font-size: 16px;
  }

  #stayhome .articles .col {
    width: 50%;
  }
  #stayhome .rec-items .col {
    width: 50%;
  }
  #stayhome p.name {
    font-size: 14px;
  }
  #stayhome p.desc {
    font-size: 12px;
  }
  #stayhome .more {
    display: block;
    font-size: 12px;
    color: #0052a5;
    font-weight: bold;
  }
}
**/
.tab-menu li {
  list-style: none !important;
}

.cokin-top .inner {
  max-width: 1000px !important;
}
.cokin-top .block {
  margin-bottom: 100px;
}
.cokin-top .title-h3 {
  margin-bottom: 50px;
  letter-spacing: 1px;
  font-size: 20px;
}
.cokin-top .title-h4 {
  letter-spacing: 1px;
  font-size: 16px;
  border-bottom: solid 1px #333;
  padding-bottom: 5px;
  display: inline-block;
  margin: 0 auto 10px;
}
.cokin-top .title-note {
  display: block;
  font-size: 12px;
  color: #c70000;
  margin-bottom: 50px;
}
.cokin-top .wrap-cokin-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.cokin-top .wrap-cokin-list.filter-effect li {
  padding-bottom: 25px;
}
.cokin-top .wrap-cokin-list li {
  width: calc(25% - 20px);
  border: solid 1px #ddd;
  border-radius: 6px;
  padding: 15px;
  position: relative;
  transition: all 0.3s;
  margin: 0 10px 20px;
}
@media screen and (max-width: 800px) {
  .cokin-top .wrap-cokin-list li {
    width: calc(33.3333333333% - 20px);
  }
}
@media screen and (max-width: 600px) {
  .cokin-top .wrap-cokin-list li {
    width: calc(50% - 10px);
    margin: 0 5px 10px;
  }
}
.cokin-top .wrap-cokin-list li:hover {
  background-color: #333;
  color: #fff;
  cursor: pointer;
}
.cokin-top .wrap-cokin-list li.on {
  background-color: #333;
  color: #fff;
}
.cokin-top .wrap-cokin-list li .input {
  position: absolute;
  top: 10px;
  left: 10px;
}
.cokin-top .wrap-cokin-list li img.img-logo {
  width: 100%;
  max-width: 150px !important;
  height: auto;
  display: block;
  margin: 20px auto 0;
}
.cokin-top .wrap-cokin-list li img.img-effect {
  width: 100%;
  max-width: 180px !important;
  height: auto;
  display: block;
  margin: 20px auto;
  border-radius: 5px;
  border: solid 1px #fff;
}
.cokin-top .wrap-cokin-list li .wrap-pd-img {
  max-width: 150px;
  max-height: 150px;
  margin: 0 auto 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cokin-top .wrap-cokin-list li .wrap-pd-img img {
  width: auto;
  height: auto;
  max-width: 150px;
  max-height: 150px;
}
.cokin-top .wrap-cokin-list li h5.name {
  font-size: 15px;
  margin-bottom: 10px;
  letter-spacing: 1px;
}
@media screen and (max-width: 600px) {
  .cokin-top .wrap-cokin-list li h5.name {
    font-size: 13px;
  }
}
.cokin-top .wrap-cokin-list li p.desc {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 1px;
  text-align: left;
  margin-bottom: 15px;
  padding: 0 5px;
}
@media screen and (max-width: 600px) {
  .cokin-top .wrap-cokin-list li p.desc {
    font-size: 12px;
  }
}
.cokin-top .wrap-cokin-list li a.bt {
  display: block;
  max-width: 120px;
  margin: 0 auto;
  background-color: #2151a0;
  color: #fff;
  font-size: 12px;
  padding: 10px 10px 8px;
  text-align: center;
  border-radius: 4px;
}
.cokin-top .bt-search {
  display: block;
  max-width: 300px;
  margin: 50px auto 0;
  background-color: #2151a0;
  color: #fff;
  font-size: 15px;
  padding: 20px 10px 18px;
  text-align: center;
  border-radius: 4px;
  font-weight: bold;
  letter-spacing: 1px;
  box-shadow: 0 0 5px #666;
}

.cokin-search .bn {
  display: none;
}
.cokin-search .bn.on {
  display: block;
}
.cokin-search .main-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 50px;
}
.cokin-search .wrap-pd-list {
  text-align: left;
}

.sub-items {
  padding-bottom: 50px;
}
@media screen and (max-width: 500px) {
  .sub-items {
    padding-bottom: 30px;
  }
}
.sub-items h4.title {
  margin-left: 20px;
  font-size: 16px;
  margin-bottom: 10px;
  letter-spacing: 1px;
}
@media screen and (max-width: 500px) {
  .sub-items h4.title {
    margin-left: 10px;
    font-size: 14px;
  }
}
.sub-items h4.title::before {
  content: "― ";
}

.pd-list-tokina {
  padding: 0 10px;
  margin-bottom: 30px;
}

.pd-list-tokina > li {
  display: inline-block;
  font-size: 14px;
  vertical-align: top;
  padding: 10px;
  position: relative;
}

.pd-list-tokina .waku {
  display: block;
  width: 100%;
  text-align: center;
  border: solid 1px #ddd;
  position: relative;
}

.pd-list-tokina .size {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 10px;
  padding: 5px;
  color: #fff;
  letter-spacing: 1.5px;
}

.pd-list-tokina .waku-1 .size {
  background-color: rgb(200, 171, 145);
}

.pd-list-tokina .waku-2 .size {
  background-color: rgb(0, 162, 149);
}

.pd-list-tokina .waku-3 .size {
  background-color: rgb(0, 164, 220);
}

.pd-list-tokina .wrap-img {
  text-align: center;
  display: block;
  width: 100%;
  height: 220px;
  overflow: hidden;
  position: relative;
}

.pd-list-tokina .wrap-img img {
  max-height: 200px;
  max-width: 200px;
  padding: 0 10px;
  width: auto;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.pd-list-tokina .pd-name {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 0 15px;
}

.pd-list-tokina .pd-name .icon-new {
  font-style: normal;
  font-size: 12px;
  background-color: #de1c24;
  color: #fff;
  padding: 2px 10px;
  font-weight: normal;
  position: absolute;
  top: -1px;
  right: 0;
}

.pd-list-tokina .desc {
  padding: 0 10px;
  text-align: left;
}

.pd-list-tokina .terminated::after {
  content: "この製品は生産を終了しました。";
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 10px;
  color: rgb(255, 90, 26);
  display: block;
}

.pd-list-tokina .fe {
  padding: 0 10px;
  text-align: center;
  margin: 0 auto;
  max-width: 300px;
}

.pd-list-tokina .fe li {
  font-size: 12px;
  display: inline-block;
  padding: 5px;
  border: solid 1px #333;
  margin-bottom: 5px;
}

.pd-list-tokina .price-1 {
  margin-top: 10px;
}

.pd-list-tokina .bt a {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 20px auto;
  padding: 8px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  background-color: #0071bc;
  letter-spacing: 1.5px;
}

.pd-list-tokina .bt.og a {
  background-color: rgb(255, 140, 0);
  margin-bottom: 10px;
  margin-top: 10px;
}

.pd-list-tokina .bt a:before {
  content: "▶";
  font-size: 10px;
  margin-right: 10px;
}

.pd-list-tokina .shop-info {
  background-color: #f5f5f5;
  padding: 10px;
}

.pd-list-tokina .price-2 {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
}

.pd-list-tokina .price-2 span {
  font-size: 12px;
  font-weight: normal;
}

.pd-list-tokina .price-2 span.p-tax {
  font-size: 16px;
  font-weight: bold;
}

.pd-list-tokina .shop-info p.end {
  font-size: 14px;
  text-align: left;
  padding: 10px;
  line-height: 160%;
}

.sub-category {
  font-size: 18px;
  margin: 0 0 10px 20px;
  letter-spacing: 2px;
}

.sub-category::before {
  content: "- ";
}

@media screen and (max-width: 900px) {
  .pd-list-tokina {
    padding: 0;
  }
  .pd-list-tokina > li {
    padding: 10px;
  }
}
@media screen and (max-width: 800px) {
  .pd-list-tokina > li {
    width: 50% !important;
  }
}
@media screen and (max-width: 600px) {
  .pd-list-tokina .fe li {
    font-size: 10px;
  }
  .pd-list-tokina > li {
    padding: 5px;
  }
  .pd-list-tokina .waku {
    border: none;
  }
  .pd-list-tokina .wrap-img {
    height: 220px;
  }
  .pd-list-tokina .wrap-img img {
    max-height: 200px;
    max-width: 100%;
  }
  .pd-list-tokina .pd-name {
    font-size: 14px;
  }
  .pd-list-tokina .desc {
    display: block;
    font-size: 12px;
    margin-bottom: 10px;
  }
  .pd-list-tokina .price-1 {
    display: none;
  }
  .pd-list-tokina .bt a {
    font-size: 12px;
  }
  .pd-list-tokina .shop-info {
    font-size: 10px;
    text-align: left;
  }
}
#lens-sorter {
  background-color: #f5f5f5;
  padding: 20px;
  max-width: 1140px;
  margin: 0 auto 30px;
  border: solid 1px #ddd;
}

#lens-sorter .title {
  font-weight: bold;
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
  letter-spacing: 2px;
}

#lens-sorter .cols-2 {
  max-width: 900px;
  margin: 0 auto;
  padding-bottom: 20px;
}

#lens-sorter .col-1 {
  text-align: right;
  font-weight: bold;
  width: 20%;
  padding-right: 15px;
  font-size: 16px;
  vertical-align: middle;
}

#lens-sorter .col-2 {
  text-align: left;
  width: 80%;
  vertical-align: middle;
}

#lens-sorter label {
  margin-right: 10px;
  margin-top: 10px;
  font-size: 16px;
  display: inline-block;
  border: solid 1px #ddd;
  border-radius: 5px;
  padding: 8px 10px;
  background-color: #fff;
  cursor: pointer;
}

#lens-sorter label:hover,
#lens-sorter label.on {
  background-color: #333;
  color: #fff;
  border: solid 1px #333;
}

#lens-sorter .result {
  text-align: center;
}

#lens-sorter .result span {
  display: none;
}

#lens-sorter .result .p1 {
  font-weight: bold;
}

#lens-sorter .bt {
  background-color: #fff;
  max-width: 200px;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
  border: solid 1px #ddd;
  cursor: pointer;
  margin: 0 auto 20px;
}

.is-hide {
  display: none !important;
}

p.note {
  display: none;
  text-align: center;
  background-color: #f5f5f5;
  padding: 50px !important;
  font-size: 14px;
  letter-spacing: 2px;
}

p.p-note {
  font-size: 14px;
  padding: 20px;
  color: #666;
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  z-index: 9999;
}

.loader img {
  position: absolute;
  max-width: 200px;
  max-height: 200px;
  width: auto;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.situation {
  text-align: center;
  margin-bottom: 20px;
}

.situation .open {
  cursor: pointer;
  background-color: #0071bc;
  max-width: 240px;
  padding: 10px;
  margin: 0 auto;
  color: #fff;
  font-size: 14px;
  border-radius: 3px;
}

.situation .open:hover {
  opacity: 0.8;
}

.situation span {
  font-size: 12px;
  vertical-align: middle;
}

.situation .search-box {
  padding: 10px;
  display: none;
}

.situation .search-box input {
  display: none;
}

.situation .search-box label {
  font-size: 14px !important;
}

.situation .search-box img {
  height: 45px;
  width: auto;
  display: block;
  margin: 0 auto 8px;
}

.situation2 .search-box img {
  height: 150px !important;
  width: auto;
  display: block;
  margin: 0 auto 8px;
}

/** ***********************************************

DETAIL TAB5　撮影サンプル

*********************************************** **/
.sample-grid {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.sample-grid li {
  width: 25%;
  padding: 5px;
}
@media screen and (max-width: 500px) {
  .sample-grid li {
    width: 33.3333333333%;
  }
}
.sample-grid li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#cboxTitle {
  font-size: 12px;
}
@media screen and (max-width: 500px) {
  #cboxTitle {
    font-size: 10px;
    bottom: -50px;
    text-align: left;
    line-height: 2;
  }
}

#cboxTitle a {
  color: #fff !important;
  font-size: 12px;
  border: solid 1px #fff;
  padding: 2px 10px;
  margin-left: 10px;
}
@media screen and (max-width: 500px) {
  #cboxTitle a {
    font-size: 10px;
    display: inline-block;
    vertical-align: middle;
  }
}

#cboxCurrent {
  position: absolute;
  bottom: -30px;
  left: -5%;
  color: #ccc;
}
@media screen and (max-width: 500px) {
  #cboxCurrent {
    bottom: inherit;
    top: -20px;
    left: 0;
  }
}

.sec-sns {
  margin-top: 30px;
}
.sec-sns .wrap-icons {
  background-color: #f5f5f5;
  width: 100%;
  height: 200px;
  max-width: 600px;
  display: flex;
  padding: 30px;
  justify-content: center;
  align-items: center;
}
.sec-sns .wrap-icons .col {
  width: 50%;
  text-align: center;
}
.sec-sns .wrap-icons img {
  display: block;
  width: 30px !important;
  margin: 0 auto 15px;
}
.sec-sns .wrap-icons .name {
  font-weight: bold;
  font-size: 14px;
}

.wrap-bn {
  border: solid 1px #666;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 40px 28px;
  max-width: 400px;
  border-radius: 6px;
  position: relative;
}

.wrap-bn::after {
  content: "▶";
  position: absolute;
  top: 50%;
  right: 5px;
  font-size: 14px;
  display: block;
  transform: translateY(-50%);
}

.bn-samyang::after {
  color: #d60b2f;
}

.wrap-bn img {
  width: 120px;
}

.wrap-bn .bt-link {
  display: block;
  color: #333;
  letter-spacing: 1px;
  font-size: 15px;
}

@media screen and (max-width: 500px) {
  .wrap-bn {
    display: block;
    padding: 30px 20px 28px;
    max-width: 90%;
    margin: 0 auto 20px;
    text-align: center;
  }
  .wrap-bn::after {
    right: 10px;
    font-size: 16px;
  }
  .wrap-bn img {
    width: 70% !important;
    max-width: 180px !important;
  }
  .wrap-bn .bt-link {
    margin-top: 20px;
  }
}
#filter-sub-02 ul,
.lm-pd-list ul {
  font-size: 0;
}

#filter-sub-02 li,
.lm-pd-list li {
  display: inline-block;
  width: 14.28%;
  font-size: 12px;
  vertical-align: top;
  background-color: #fff;
  color: #333;
  height: 140px;
  border: solid 2px #eee;
  vertical-align: top;
  margin: 0;
}

#filter-sub-02 li img,
.lm-pd-list li img {
  width: auto !important;
  height: 84px !important;
  margin: 0 auto;
  display: block;
}

#filter-sub-02 li a,
.lm-pd-list li a {
  display: block;
  margin-bottom: 5px;
  text-align: left;
  color: #333;
}

#filter-sub-02 li .name,
.lm-pd-list li .name {
  font-size: 11px;
  padding: 10px 5px 5px;
  letter-spacing: 0px;
  font-weight: bold;
}

#filter-sub-02 p,
.lm-pd-list p {
  font-size: 12px;
  padding: 5px 0;
  font-weight: bold;
}

#filter-sub-02 p.p02,
.lm-pd-list p.p-02 {
  padding-top: 10px;
}

@media screen and (max-width: 500px) {
  #filter-sub-02 li,
  .lm-pd-list li {
    width: 25%;
    height: 100px;
  }
  #filter-sub-02 li img,
  .lm-pd-list li img {
    width: auto !important;
    height: 50px !important;
  }
  #filter-sub-02 li a,
  .lm-pd-list li a {
    display: block;
    margin-bottom: 5px;
    text-align: left;
    color: #333;
  }
  #filter-sub-02 li .name,
  .lm-pd-list li .name {
    font-size: 10px;
    padding: 10px 5px 5px;
    letter-spacing: 0px;
    font-weight: bold;
  }
  #filter-sub-02 p,
  .lm-pd-list p {
    font-size: 10px;
    padding: 5px 0;
    font-weight: bold;
  }
  #filter-sub-02 .cat-name {
    font-size: 10px;
    font-weight: normal;
  }
}
#filter-sub-03 li {
  display: inline-block;
  width: 20%;
  font-size: 13px;
  vertical-align: top;
  background-color: #fff;
  color: #333;
  height: 200px;
  border: solid 2px #eee;
  vertical-align: top;
  margin: 0;
  position: relative;
}

#filter-sub-03 li img {
  width: 100%;
  height: auto;
}

#filter-sub-03 li a {
  display: block;
  margin-bottom: 3px;
  text-align: left;
  font-size: 12px;
}

#filter-sub-03 li .wrap-txts {
  padding: 5px 10px;
}

#filter-sub-03 li p {
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 12px;
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 2px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 500px) {
  #filter-sub-03 li {
    width: 33.3333333%;
    font-size: 10px;
    height: 140px;
    overflow: hidden;
  }
  #filter-sub-03 li img {
    width: 100%;
    height: auto;
  }
  #filter-sub-03 li a {
    font-size: 10px;
  }
  #filter-sub-03 li .wrap-txts {
    padding: 5px;
  }
  #filter-sub-03 li p {
    display: none;
  }
}
#filter-sub-04 ul {
  font-size: 0;
}

#filter-sub-04 li {
  display: inline-block;
  width: 33.33333%;
  font-size: 14px;
}

#filter-sub-04 li img {
  width: 100%;
  height: auto;
  border: solid 3px #eee;
}

#filter-sub-04 li.item-04,
#filter-sub-04 li.item-05 {
  width: 50%;
}

@media screen and (max-width: 500px) {
  #filter-sub-04 li {
    width: 100%;
    font-size: 12px;
  }
  #filter-sub-04 li.item-04,
  #filter-sub-04 li.item-05 {
    width: 100%;
  }
}
.wrap-bt-maker {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0 0;
}

.bt-maker {
  color: #014094;
  display: block;
  padding: 20px;
  text-align: center;
  max-width: 280px;
  font-size: 14px;
  font-weight: bold;
  border: solid 1.5px #014094;
  border-radius: 3px;
}
@media screen and (max-width: 500px) {
  .bt-maker {
    padding: 15px;
    max-width: -moz-fit-content;
    max-width: fit-content;
    font-size: 13px;
  }
}
.bt-maker .icon-w {
  width: 12px;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
}

.wrap-award {
  padding: 20px 20px 50px;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 400px) {
  .wrap-award {
    padding: 0px 20px 30px;
  }
}
.wrap-award .wrap-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2px gold;
  border-radius: 10px;
  padding: 20px;
  flex-wrap: wrap;
}
.wrap-award .wrap-flex .col-1 {
  width: 30%;
}
@media screen and (max-width: 400px) {
  .wrap-award .wrap-flex .col-1 {
    width: 100%;
  }
}
.wrap-award .wrap-flex .col-1 img {
  width: 100%;
  display: block;
  max-width: 80px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 400px) {
  .wrap-award .wrap-flex .col-1 img {
    max-width: 60px;
    margin: 0 auto;
  }
}
.wrap-award .wrap-flex .col-2 {
  width: 70%;
  padding-left: 30px;
}
@media screen and (max-width: 400px) {
  .wrap-award .wrap-flex .col-2 {
    width: 100%;
    padding: 20px 0 0;
  }
}
.wrap-award .wrap-flex .col-2 p {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 700px) {
  .wrap-award .wrap-flex .col-2 p {
    font-size: 20px;
  }
}
@media screen and (max-width: 500px) {
  .wrap-award .wrap-flex .col-2 p {
    font-size: 18px;
  }
}
@media screen and (max-width: 400px) {
  .wrap-award .wrap-flex .col-2 p {
    font-size: 15px;
  }
}
.wrap-award .notice {
  font-size: 12px;
  color: #666;
  display: block;
  margin-top: 20px;
  line-height: 1.8;
}/*# sourceMappingURL=common-2016-new.css.map */