@charset "utf-8";
/* CSS Document */

/*--------------------------------------------------------------------
top
--------------------------------------------------------------------*/
.top_mainimg {
  width: 100%;
}

.top_mainimg .slide_inner {
  width: 100%;
  height: 0;
  display: block;
  padding-top: 61.333%;
  background-position: center top;
}

.top_mainimg .slide_inner p {
  font-size: 14px;
  line-height: 2em;
  text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px,
    #fff -1px -1px 10px;
  background-size: contain;
}

.top_mainimg .main01 {
  background-image: url("../../img/slider/slider01_sp.jpg");
}

.top_mainimg .main02 {
  background-image: url("../../img/slider/slider02_sp.jpg");
}

.top_mainimg .main03 {
  background-image: url("../../img/slider/slider03_sp.jpg");
}

.top_mainimg .main04 {
  background-image: url("../../img/slider/slider04_sp.jpg");
}

.top_mainimg .main05 {
  background-image: url("../../img/slider/slider05_sp.jpg");
}

.top_mainimg .main06 {
  background-image: url("../../img/slider/slider06_sp.jpg");
}

.top_mainimg .slick-arrow {
  width: 40px;
  height: 40px;
  background-color: transparent;
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: 0.2s;
}

.top_mainimg .slick-arrow:hover::before {
  opacity: 0.7;
  transition: 0.2s;
}

.top_mainimg .slick-prev {
  opacity: 1;
  left: 10px;
}

.top_mainimg .slick-prev::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(0);
  background: url(../../img/slider/slid_arrow.png) no-repeat center center / contain;
  transition: 0.2s;
}

.top_mainimg .slick-next {
  opacity: 1;
  right: 10px;
}

.top_mainimg .slick-next::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: translateY(0);
  background: url(../../img/slider/slid_arrow02.png) no-repeat center center / contain;
  transition: 0.2s;
}

#top_banner {
  margin-top: 15px;
  margin-bottom: 30px;
}

.top_banner01 {
  width: 100%;
  height: auto;
  border-radius: 20px;
  position: relative;
}

.top_banner01:hover {
  opacity: 0.7;
}

.top_banner01 span {
  display: block;
}

.top_banner01 .box01 {
  padding: 20px 10px;
  width: 100%;
  text-align: center;
}

.top_banner01 .box01 .txt01 {
  font-size: 18px;
}

.top_banner01 .box01 .txt02 {
  font-size: 24px;
  margin-top: 10px;
}

.top_banner01 .box01 .btn {
  width: 100%;
  font-size: 16px;
  padding: 10px;
}

.top_banner01 .box01 .btn span {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}

.top_banner01 .box01 .btn span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  position: absolute;
  top: 5px;
  left: 0;
  transform: translateX(0) rotate(-45deg);
}

.top_banner01 .img01 {
  position: static;
  margin-top: 20px;
}

.title01 {
  font-size: 32px;
  margin-bottom: 20px;
}

.title01 .en {
  font-size: 14px;
}

.link02 {
  width: 200px;
  height: 30px;
  margin-top: 30px;
}

.link02 a {
  font-size: 14px;
  line-height: 30px;
}

#blog .blogText {
  padding-top: 0;
  padding-left: 0;
  position: static;
  display: block;
  margin-bottom: 20px;
  margin-top: -10px;
}

.top_content01 .inner {
  padding-top: 0px;
  margin-bottom: 40px;
}

.top_content01 .image {
  position: static;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 10px;
}

.top_content01 .box {
  position: static;
  width: auto;
  height: auto;
  padding: 20px;
  padding-top: 75px;
  margin-right: 10px;
  margin-left: 10px;
  margin-top: -60px;
}

.top_content01 .box h2 {
  font-size: 20px;
}

.top_content01 .box .txt01 {
  font-size: 16px;
}

.top_content01 .box .txt02 {
  font-size: 14px;
}

.link03 {
  text-align: center;
}

.link03 a {
  width: 125px;
  height: 25px;
  font-size: 14px;
  line-height: 25px;
}

.cataloglist li {
  width: 46%;
  margin-right: 2%;
  margin-left: 2%;
}

.cataloglist:after {
  display: none;
}

.cataloglist .name {
  font-size: 14px;
}

.cataloglist .thum {
  padding: 0 5px;
}

.cataloglist .cat {
  font-size: 14px;
}

.top_content02 {
  background-color: #f5f5f5;
  padding-top: 50px;
  padding-bottom: 50px;
}

.cat_list01 {
  width: 100%;
  display: block;
}

.cat_list01 li {
  width: 100%;
  margin-top: 30px;
}

.cat_list01 li:first-of-type {
  margin-top: 0;
}

.cat_list01 li a {
  width: 100%;
  height: 100%;
  display: block;
  background-color: #fff;
  color: #333;
  transition: 0.2s;
}

.cat_list01 li a .list_ttl01 {
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-top: 30px;
}

.cat_list01 li a .list_txt01 {
  width: 100%;
  font-size: 16px;
  padding: 10px 20px 30px;
}

.cataloglist02 .slick-prev,
.cataloglist02 .slick-next {
  background-color: transparent;
  opacity: 1;
  width: 28px;
  height: 28px;
  position: absolute;
  top: 50%;
  left: 0px;
  bottom: auto;
  z-index: 100;
  border: none;
  border-right: solid 2px #1d2b55;
  border-bottom: solid 2px #1d2b55;
  cursor: pointer;
}

.cataloglist02 .slick-prev {
  left: 0;
  transform: translateY(-50%) rotate(135deg);
}

.cataloglist02 .slick-next {
  left: auto;
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
}

.cataloglist02 .slick-slide li {
  padding: 0;
}

.slick-dots {
  margin-top: 20px;
}

.slick-dots li {
  width: 8px;
  height: 8px;
  margin: 0 10px;
}

.slick-dots li button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  text-indent: 1000px;
}