@charset "utf-8";
/*-----------------------------------------------------

  top.css
  TOPpage CSS

------------------------------------------------------*/

/*-----------------------------------------------------
  header　
-----------------------------------------------------*/

header {
}

.swiper-container {
  height: 500px;
  overflow: visible;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  opacity: 1;
  background: #d9d9d9;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 9px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #535353;
}

.swiper-pagination {
}

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: -32px;
}

.button-prev, .button-next {
  width: 46px;
  height: 69px;
  position: absolute;
  top: 50%;
  margin-top: -35px;
  z-index: 99;
  cursor: pointer;
}

.button-prev {
  background: url(./../images/common/arrow_slide_l.png) no-repeat center center;
  left: 170px;
}

.button-next {
  background: url(./../images/common/arrow_slide_r.png) no-repeat center center;
  right: 170px;
}

.slide_detail {
  width: 450px;
  height: 185px;
  position: absolute;
  bottom: 30px;
  right: 50px;
  z-index: 9999;
}

.slide_detail h4 {
  padding: 5px 20px;
  font-size: 2.4em;
  background: rgba(79, 142, 192, 0.9);
  color: #fff;
}

.slide_detail .slide_detail_description {
  background: rgba(255, 255, 255, 0.9);
  padding: 15px 0 50px 0;
  position: relative;
}

.slide_detail p {
  margin: 0 20px 15px;
  font-size: 1.6em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.slide_btn {
  font-size: 2em;
  position: absolute;
  bottom: 20px;
  right: 30px;
  line-height: 1;
}




/*-----------------------------------------------------
  contents　
-----------------------------------------------------*/

.top_description {
  width: 820px;
  margin: 75px auto 0;
}

.top_description p {
  font-size: 1.8em;
  line-height: 2;
}

#contents {
  width: 980px;
  margin: 75px auto;
}





/*-----------------------------------------------------

  SP layout

------------------------------------------------------*/


@media screen and (max-width: 767px) {



/*-----------------------------------------------------
  SP header
------------------------------------------------------*/

.search_header {
  margin-bottom: 0;
}

.swiper-container {
  height: 300px;
  border-bottom: solid 1px #bfbfbf;
}

.swiper-slide {
  padding-bottom: 107px;
}

.slide_detail {
  width: 100%;
  bottom: 0;
  height: 107px;
  right: 0;
}

.slide_detail h4 {
  font-size: 1.4rem;
  padding: 8px 95px 8px 10px;
  overflow: hidden;
}

.slide_detail p {
  font-size: 1.4rem;
  margin: 0;
}

.slide_detail .slide_detail_description {
  padding: 10px;
}

.slide_btn {
  font-size: 1.4rem;
  bottom: inherit;
  top: -30px;
}

a:link .slide_btn {text-decoration:none; color:#fff;}
a:visited .slide_btn {text-decoration:none; color:#fff;}
a:hover .slide_btn {text-decoration:none; color:#fff;}

.slide_btn .arrow_m {
  width: 18px;
  height: 18px;
  fill: #fff;
}

.swiper-pagination-bullet {
  width: 9px;
  height: 9px;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: -25px;
}

.top_description {
  width: 100%;
  margin: 50px 0 0;
  padding: 0 5%;
}

.top_description p {
  font-size: 1.4rem;
}

/*-----------------------------------------------------
  SP contents
------------------------------------------------------*/

#contents {
  width: 100%;
  margin-top: 30px;
}

#business {
  margin-bottom: 50px;
}

#business .sect_box h2 {
  margin-bottom: 25px;
}

#business .sect_box h2 .h2_en {
  display: block;
  font-size: 4rem;
  margin-bottom: 5px;
}

#business .sect_box h2 .h2_jp {
  display: block;
  font-size: 1.8rem;
}

#business .section_lead {
  margin-bottom: 20px;
}

#business .box > .btn_more {
  position: absolute;
  top: inherit;
  bottom: 0;
  right: inherit;
  left: 50%;
  transform: translateX(-50%);
}

#business .box {
  padding-bottom: 45px;
}

#vision {
  display: block;
  position: relative;
  margin-bottom: 35px;
  padding: 35px 0 225px;
}

#vision .section_L {
  width: 100%;
  height: 200px;
  position: absolute;
  bottom: 25px;
}

#vision .section_R {
  width: 100%;
  padding: 0 4% 50px;
}

#vision_photo_01 {
  width: 100%;
  height: 150px;
  top: inherit;
  bottom: 0;
  padding: 0 4% 0 30%;
}

#vision_photo_02 {
  top: 0;
  left: 4%;
  width: auto;
  height: 180px;
}

#vision_photo_02 img {
  width: auto;
  height: 100%;
}


#vision h2 {
  margin-bottom: 25px;
}

#vision h2 .h2_en {
  display: block;
  font-size: 4rem;
  margin-bottom: 5px;
  position: relative;
  top: inherit;
  left: inherit;
  color: #d5eecc;
}

#vision h2 .h2_jp {
  display: block;
  font-size: 1.8rem;
}

#vision .section_R p {
  font-size: 1.6rem;
}

#vision .btn_more {
  margin: 10px 0 0;
  float: right;
}


#company {
  height: auto;
  display: block;
  position: relative;
  margin-bottom: 35px;
  padding: 35px 0 200px;
}

#company .section_L {
  width: 100%;
  padding: 0 4% 50px;
}

#company .section_R {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 25px;
}

#company_photo_01 {
  width: 100%;
  height: 150px;
  top: inherit;
  bottom: 0;
  padding: 0 4%;
}

#company_photo_02 {
  top: 0;
  left: 4%;
  width: auto;
  height: 180px;
}

#company_photo_02 img {
  width: auto;
  height: 100%;
}

#company h2 {
  margin-bottom: 25px;
}

#company h2 .h2_en {
  display: block;
  font-size: 4rem;
  margin-bottom: 5px;
  position: relative;
  top: inherit;
  left: inherit;
}

#company h2 .h2_jp {
  display: block;
  font-size: 1.8rem;
}

#company .section_L p {
  display: block;
  width: auto;
  font-size: 1.6rem;
}

#company .btn_more {
  right: 4%;
  bottom: 0;
}

#works_lecture .section_L, #works_lecture .section_R {
  width: 100%;
}

#works_lecture {
  display: block;
  margin-bottom: 35px;
  padding: 35px 4%;
}

#works_lecture .section_L {
  margin-bottom: 35px;
  padding-right: 0;
  padding-bottom: 30px;
  position: relative;
}

#works_lecture .section_R {
  padding-left: 0;
  padding-bottom: 30px;
  position: relative;
}

#works_lecture h2 {
  margin-bottom: 25px;
}

#works_lecture h2 .h2_en {
  display: block;
  font-size: 4rem;
  margin-bottom: 5px;
  position: relative;
  top: inherit;
  left: inherit;
  color: #d5eecc;
}

#works_lecture h2 .h2_jp {
  display: block;
  font-size: 1.8rem;
}

#works_lecture .section_L h2 .h2_en, #works_lecture .section_R h2 .h2_en {
  top: inherit;
  left: inherit;
  right: inherit;
}

#works_lecture .section_L p, #works_lecture .section_R p {
  font-size: 1.6rem;
}

#works_lecture .btn_more {
  position: absolute;
  right: 4%;
  bottom: 0;
}

#news .sect_box h2 {
  font-size: 3.6rem;
}

#news .read_all {
  margin-top: 30px;
}

@media screen and (max-width: 320px) {

}
