@charset "utf-8";

/* top */
.works_top {
  padding-top: 42px;
  line-height: 1.5;
}

.ttl1 {
  padding-left: clamp(2.5rem, -2.283rem + 20.41vw, 7.5rem);
  padding-right: clamp(2.5rem, -2.283rem + 20.41vw, 7.5rem);
}

.scrolldown {
  display: none;
}

.works_top_flex img {
  display: block;
  width: 100%;
  height: auto;
  padding-top: 38px;
  object-fit: cover;
}

.works_top_left {
  padding: 22px clamp(2.5rem, -2.283rem + 20.41vw, 7.5rem) 58px;
}

.works_tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 300;
  color: #FF9142;
  letter-spacing: 1.3px;
  border: solid 1px #FF9142;
  padding: 1px 12px;
  border-radius: 9999px;
}

h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1.1px;
  padding-top: 7px;
  line-height: 1.3;
}

.works_data a {
  display: block;
  color: #FF9142;
  font-weight: 400;
  padding-top: 8px;
  letter-spacing: 0;
}

.works_time {
  padding-top: 45px;
}

.works_time_top,
.works_tool_top {
  font-size: 14px;
  padding-bottom: 2px;
}

.works_time_detail,
.works_tool_detail {
  font-weight: 400;
  padding-top: 3px;
  letter-spacing: 0;
}

.works_tool {
  padding-top: 22px;
}

@media (min-width: 1025px) {
  .works_top {
    padding-top: 63px;
    padding-bottom: 175px;
  }

  .ttl1 {
    padding-left: 11%;
    padding-right: 11%;
  }

  /* ↓スクロールダウン */

  .scrolldown {
    display: block;
    position: absolute;
    top: 76%;
    left: 12%;
  }


  .scrolldown::after {
    content: "";
    position: absolute;
    top: 0;
    left: -7px;

    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #FF9142;

    animation:
      circlemove 2.3s ease-in-out infinite,
      cirlemovehide 2.3s ease-out infinite;
  }

  @keyframes circlemove {
    0% {
      top: 0px;
    }

    100% {
      top: 470px;
    }
  }

  .scrolldown::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 1px;
    height: 470px;
    background: #9D9D95;
  }

  /* ↑スクロールダウン */


  .works_top_flex {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding-top: 42px;
    padding-left: clamp(9.375rem, -2.793rem + 18.99vw, 20rem);
    gap: 90px;
  }

  .works_top_flex img {
    width: 57%;
    padding-top: 0;

  }

  .works_top_left {
    padding: 130px 0 0;
  }

  .works_tag {
    font-size: 14px;
    padding: 3px 23px;
  }

  h2 {
    font-size: clamp(1.25rem, 0.393rem + 1.34vw, 2rem);
  }

  .works_data a {
    padding-top: 18px;
  }

  .works_time {
    padding-top: 62px;
  }

  .works_time_top,
  .works_tool_top {
    font-size: 20px;
    padding-bottom: 6px;
  }

  .works_time_detail,
  .works_tool_detail {
    padding-top: 8px;
  }

  .works_tool {
    padding-top: 42px;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {
  .ttl1 {
    padding-left: clamp(7.5rem, -7.5rem + 31.25vw, 12.5rem);
    padding-right: clamp(7.5rem, -7.5rem + 31.25vw, 12.5rem);
  }

  .works_top_left {
    padding: 22px clamp(7.5rem, -7.5rem + 31.25vw, 12.5rem) 58px;
  }
}

/* main */

.works_main {
  margin: 0 clamp(1.25rem, -3.533rem + 20.41vw, 6.25rem) 55px;
  background-color: #EBEBE1;
  border-radius: 20px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.works_inner_top,
.works_inner_center,
.works_inner_bottom {
  background-color: #FFFFFB;
  border-radius: 10px;
  margin-left: 20px;
  margin-right: 20px;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 50px;
  position: relative;
}

.works_inner_top::after {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);

  width: 0;
  height: 0;

  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 20px solid #FF9142;
}

.works_inner_center::after {
  content: "";
  position: absolute;
  top: 97%;
  left: 50%;
  transform: translateX(-50%);

  width: 0;
  height: 0;

  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 20px solid #FF9142;
}

.works_overview {
  padding-top: 38px;
  line-height: 1.5;
}

.ja_ttl2 {
  border-bottom: solid 1px #FF9142;
  padding-bottom: 4px;
  padding-left: 10px;
}

.overview_text {
  padding-top: 12px;
  padding-left: 10px;
  padding-right: 10px;
}

.works_purpose {
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
}

.purpose_ttl {
  display: inline-block;
  border: solid 1px #4A5052;
  border-radius: 20% / 50%;
  padding: 5px 15px;
  margin-bottom: 5px;
  letter-spacing: 0;
}

.purpose_list {
  padding-left: 14px;
  padding-bottom: 10px;
}

.purpose_list li {
  padding-top: 5px;
  position: relative;
}

.purpose_list li::before {
  content: "・";
  position: absolute;
  left: -12px;
  top: 6px;
}

.works_detail {
  padding-top: 30px;
  padding-left: 10px;
  padding-right: 10px;
  line-height: 1.5;
}

.works_ttl3 {
  display: flex;
  padding-bottom: 7px;
  line-height: 1.5;
}

.works_ttl3_num {
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  position: relative;
}

.works_ttl3_num::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 12px;
  width: 18px;
  height: 1px;
  background: #FF9142;
  transform: rotate(-45deg);
  transform-origin: center;
}

.works_ttl3_text {
  font-size: 16px;
  font-weight: 500;
  padding-left: 10px;
  padding-top: 8px;
}

.detail_list {
  padding-left: 14px;
}

.detail_list li {
  padding-top: 5px;
  position: relative;
}

.detail_list li::before {
  content: "・";
  position: absolute;
  left: -12px;
  top: 6px;
}

.detail_list li span {
  font-weight: 700;
  color: #FF9142;
}

.works_interval_text {
  padding: 42px 40px;
  text-align: center;
}

.works_contents_design {
  padding-top: 60px;
  padding-left: 10px;
  padding-right: 10px;
}

.contents_design_text {
  padding-top: 5px;
}

.detail_tab {
  line-height: 1.5;
}

.detail_btn {
  list-style: none;
  padding-top: 40px;
  color: #FF9142;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.detail_btn::-webkit-details-marker {
  display: none;
}

/* ↓矢印 */

.detail_btn_arrow {
  position: relative;
  display: block;
  width: 14px;
  height: 8px;
  transition: transform .3s ease;
}

.detail_btn_arrow::before,
.detail_btn_arrow::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10px;
  height: 1px;
  background: #FF9142;
}

.detail_btn_arrow::before {
  left: 0;
  transform: rotate(45deg);
  transform-origin: left center;
}

.detail_btn_arrow::after {
  right: 0;
  transform: rotate(-45deg);
  transform-origin: right center;
}

details[open] .detail_btn_arrow {
  transform: rotate(180deg);
}

/* ↓タブの中身 */

.detail_box {
  border: solid 1px #FF9142;
  border-radius: 10px;
  margin-top: 40px;
  padding: 15px 20px 45px;
}

.detail_box_inner {
  padding-top: 30px;
}

.detail_box_ttl {
  font-weight: 700;
  color: #FF9142;
  padding-bottom: 5px;
}

.detail_box_list {
  padding-left: 14px;
}

.detail_box_list li {
  padding-top: 5px;
  position: relative;
}

.detail_box_list li::before {
  content: "・";
  position: absolute;
  left: -12px;
  top: 6px;
}


@media (min-width: 1025px) {


  .works_main {
    margin: 0 clamp(5.625rem, -9.875rem + 24.22vw, 19.188rem) 160px;
    border-radius: 30px;
    padding-top: 95px;
    padding-bottom: 95px;
  }

  .works_inner_top,
  .works_inner_center {
    border-radius: 20px;
    margin-left: clamp(5.625rem, -2.875rem + 13.28vw, 13.063rem);
    margin-right: clamp(5.625rem, -2.875rem + 13.28vw, 13.063rem);
    padding-left: clamp(1.875rem, -1.554rem + 5.36vw, 4.875rem);
    padding-right: clamp(1.875rem, -1.554rem + 5.36vw, 4.875rem);
    padding-bottom: 80px;
  }

  .works_inner_bottom {
    border-radius: 20px;
    margin-left: 8%;
    margin-right: 8%;
    padding-left: 6%;
    padding-right: 6%;
    padding-bottom: 80px;
  }

  .works_inner_top::after {
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #FF9142;
  }

  .works_inner_center::after {
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #FF9142;
  }

  .works_overview {
    padding-top: 100px;
  }

  .ja_ttl2 {
    padding-bottom: 13px;
    padding-left: 4%;
  }

  .overview_text {
    padding-top: 24px;
    padding-left: 4%;
    padding-right: 4%;
    font-size: 20px;
  }

  .works_purpose {
    padding-top: 30px;
    padding-left: 4%;
    padding-right: 4%;

    display: flex;
    align-items: center;
    gap: 12px;
  }

  .purpose_ttl {
    min-width: 96px;
  }

  .purpose_list {
    padding-left: 16px;
    padding-bottom: 20px;
  }

  .purpose_list li {
    padding-top: 10px;
  }

  .purpose_list li::before {
    left: -16px;
    top: 11px;
  }

  .works_detail {
    padding-top: 64px;
    padding-left: 4%;
    padding-right: 4%;
  }

  .works_ttl3 {
    padding-bottom: 9px;
  }

  .works_ttl3_num {
    font-size: 12px;
  }

  .works_ttl3_num::after {
    left: 4px;
    top: 15px;
    width: 24px;
  }

  .works_ttl3_text {
    font-size: 24px;
    padding-left: 10px;
    padding-top: 10px;
  }

  .detail_list {
    padding-left: 16px;
  }

  .detail_list li {
    padding-top: 6px;
  }

  .detail_list li::before {
    left: -16px;
    top: 7px;
  }

  .works_interval_text {
    padding: 80px 0;
    font-size: 20px;
  }

  .works_contents_design {
    padding-top: 110px;
    padding-left: 4%;
    padding-right: 4%;
  }

  .contents_design_text {
    padding-top: 10px;
    padding-left: 3%;
    padding-right: 3%;
  }

  .detail_btn {
    padding-top: 45px;
    gap: 6px;
    transition: .3s;
  }

  .detail_btn:hover {
    color: #FFD9BE;
  }

  /* ↓タブの中身 */

  .detail_box {
    border-radius: 20px;
    margin-top: 40px;
    margin-left: 3%;
    margin-right: 3%;
    padding: 14px 7% 70px;
  }

  .detail_box_inner {
    padding-top: 60px;
  }

  .detail_box_ttl {
    padding-bottom: 8px;
  }

  .detail_box_list {
    padding-left: 16px;
  }

  .detail_box_list li {
    padding-top: 7px;
  }

  .detail_box_list li::before {
    left: -16px;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {
  .works_main {
    margin: 0 clamp(6.25rem, -8.75rem + 31.25vw, 11.25rem) 55px;
  }

  .works_inner_top,
  .works_inner_center,
  .works_inner_bottom {
    padding-left: clamp(0.625rem, -5rem + 11.72vw, 2.5rem);
    padding-right: clamp(0.625rem, -5rem + 11.72vw, 2.5rem);
  }
}

/* 下部の作品画像 */

.works_bottom_img0102 {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.works_bottom_img030405 {
  display: block;
  max-width: 300px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.works_bottom_img0607_pc {
  display: none;
}

.works_bottom_img0607_sp {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1025px) {

  .works_bottom_img030405 {
    max-width: 660px;
  }

  .works_bottom_img0607_pc {
    display: block;
  }

  .works_bottom_img0607_sp {
    display: none;
  }

}

/* リンクボタン */

.linkbtn_area {
  margin: 80px auto 125px;
}

.linkbtn_area_text {
  text-align: center;
  padding: 0;
}

@media (min-width: 1025px) {

  .linkbtn_area {
    margin-top: 135px;
    margin-bottom: 330px;
  }


}