@charset "UTF-8";

/* kobetsu */

.com_name {
  font-size: 14px;
  margin-top: 10px;
}

.tab_namelist {
  margin-top: 55px;
}

.tag_name {
  display: inline-block;
  font-size: 12px;
  color: #777;
  border: 1px solid #777;
  padding: 5px 12px;
  margin-top: 5px;
}

.work_infolist {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}

.work_infolist .work_infoitem {
  width: 50%;
  padding-bottom: 50px;
}

.work_infolist .work_infoitem:nth-of-type(odd) {
  border-right: 1px solid #d3d3d3;
  padding-right: 60px;
}

.work_infolist .work_infoitem:nth-of-type(even) {
  padding-left: 60px;
}

.work_infolist .work_infoitem:nth-of-type(n + 3) {
  margin-top: 60px;
}

.work_infolink .list_title {
  position: relative;
}

.work_infolink .list_title::after {
  content: "";
  display: block;
  background-image: url(/common/img/readmore.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 31px;
  height: 31px;
  position: absolute;
  /* bottom: 45px; */
  bottom: -40px;
  left: 0;
  transition: transform 0.3s ease;
}

.work_infolink:hover::after {
  transform: scale(1.2);
}

.work_infolink .thumb {
  overflow: hidden;
  display: block;
}

.work_infolink .thumb img {
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.work_infolink .thumb:hover img {
  transform: scale(1.2);
}

.busi-item {
  margin-bottom: 60px;
}

/* 下層ページ */
.project-ttl {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.page_detail {
  display: flex;
  flex-wrap: wrap;
}

.page_detail .work_tab {
  width: 70%;
  margin-right: 5%;
}

.page_detail .site-btn {
  width: 25%;
  margin-left: 0;
}

.category_flex {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 10px;
}

.solution_flex {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 10px;
}

.site-btn {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background: #000;
  border-radius: 40px;
  padding: 5px 50px 5px 30px;
}

.site-btn span {
  position: relative;
}

.site-btn span::before {
  content: "";
  display: block;
  background-image: url(/common/img/linkout.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translateY(-50%);
}

.main {
  margin-top: 100px;
}

.blue-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.blue-box li figure img {
  border-radius: 20px;
}

/* 表示幅：全幅（デフォルト） */
.blue-box li.width-full {
  width: 100%;
}

/* 表示幅：半幅（2カラム） */
.blue-box li.width-half {
  width: 48%;
}

.blue-box li:not(:first-of-type) {
  margin-top: 40px;
}

.other-inner {
  background: #fff;
  border-radius: 15px;
  padding: 40px 0 0 0;
  position: relative;
  margin: 120px auto 0;
}

.other-inner h3 {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.other-card {
  border-right: 1px solid #bababa;
  /* padding: 0 40px; */
}

.other-card:last-of-type {
  border-right: none;
}

.other-card .other-item {
  padding: 0 40px;
}

.other-card .thumb {
  overflow: hidden;
  display: block;
}

.other-card .thumb img {
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.other-card .thumb:hover img {
  transform: scale(1.2);
}

.other-card a {
  padding-bottom: 15px;
  position: relative;
  transition: box-shadow 0.5s ease;
}

.other-card a:hover {
  box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 #000, 0 0 rgba(0, 0, 0, 0), 0 0 #000,
  0 14px 10px rgba(14, 51, 108, 0.06), 40px 30px 40px rgba(14, 51, 108, 0.12);
}

.other-card a::after {
  content: "";
  display: block;
  background-image: url(/common/img/readmore.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 31px;
  height: 31px;
  position: absolute;
  bottom: 100px;
  left: 40px;
  transition: transform 0.3s ease;

  /* 矢印非表示 */
  content: none;
}

.other-card a:hover::after {
  transform: scale(1.2);
}

.other-inner .progress {
  margin-top: -2px;
  bottom: -16px;
}

.other-inner .slick-prev,
.other-inner .slick-next {
  top: -30px;
}

.other-body .tag_name {
  margin-top: 10px;
}

.other-list .slick-prev,
.other-list .slick-next {
  top: -30px;
}

.progress {
  background: #e5e4e4;
}

/* tab */
@media (max-width: 1180px) {}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 820px) {


  .work_infolist .work_infoitem {
    width: 100%;
    padding-bottom: 0;
  }

  .work_infolist .work_infoitem:nth-of-type(odd) {
    border-right: none;
    padding: 0 0 0 0;
  }

  .work_infolist .work_infoitem:nth-of-type(even) {
    padding-left: 0;
  }

  .work_infolist .work_infoitem:nth-of-type(n + 2) {
    margin-top: 50px;
  }

  .work_infolink:hover::after {
    transform: scale(1);
  }

  .work_infolink .thumb:hover img {
    transform: scale(1);
  }

  .busi-item {
    margin-bottom: 0;
  }

  /* 下層用 */

  .main {
    margin-top: 60px;
  }

  .page_detail .work_tab {
    width: 100%;
    margin-right: 0;
  }

  .page_detail .work_tab .ja {
    margin-right: 5px;
  }

  .page_detail .work_tab .category,
  .page_detail .work_tab .work_category,
  .page_detail .work_tab .solution,
  .page_detail .work_tab .work_solution {
    width: auto;
  }

  .page_detail .site-btn {
    width: 100%;
  }

  .blue-box li:not(:first-of-type) {
    margin-top: 10px;
  }

  .other-inner {
    padding: 20px 20px;
    margin-top: 60px;
  }

  .other-card {
    border-right: none;
  }

  .other-card .other-item {
    padding: 0 0;
  }

  .other-card .thumb:hover img {
    transform: scale(1);
  }

  .other-card a::after {
    width: 21px;
    height: 21px;
    left: 0;
  }

  .other-card a:hover {
    box-shadow: none;
  }

  .other-inner .progress {
    margin-top: 0;
    bottom: -40px;
  }

  .other-inner .slick-slider .slick-list {
    padding: 20px 0 0 0;
  }

  .other-list .slick-initialized .slick-slide {
    box-shadow: none;
  }
}

/* 動画対応スタイル */
.video-wrapper {
  position: relative;
  width: 100%;
}

/* YouTube/Vimeo埋め込み用（アスペクト比16:9） */
.video-wrapper.video-embed {
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper.video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* MP4動画ファイル用 */
.video-wrapper.video-file video {
  width: 100%;
  height: auto;
  display: block;
}

/* blue-box内の動画 */
.blue-box .video-wrapper {
  background: #000;
}

.blue-box li figure img,
.blue-box li figure video,
.blue-box li figure iframe {
  width: 100%;
  height: auto;
}