.case-study .progress-contents {
  display: block;
}
.case-study .complete-contents {
  display: none;
}
.case-study .title-area {
  margin: 0 auto;
}
.case-study .title-area h2 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 38px;
  line-height: 54px;
  text-align: center;
  margin: 40px auto;
}
.case-study .title-area p {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 26px;
  line-height: 50px;
  color: #00879A;
  background-image: url(../image/titlebar_green.svg);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: 100%;
  width: 400px;
  text-align: center;
  margin: 0 auto;
}
.case-study .title-area .thamnail-img {
  width: 724px;
  margin: 40px auto;
  border-radius: 10px;
}
.case-study .title-area .thamnail-img img {
  width: 100%;
  border-radius: 10px;
}
.case-study .inner-box {
  background-color: #d1e8eb;
  background-image: url(../image/case-bg-white.svg);
  background-repeat: repeat-x;
  background-position-x: 0;
  background-position-y: 0;
  padding-bottom: 80px;
}
.case-study .case-data {
  width: 1025px;
  background-color: white;
  border: solid 3px;
  border-radius: 30px;
  border-color: #00879A;
  margin: 0 auto;
  padding: 40px;
  box-shadow: 3px 3px 3px #E0E0E0;
}
.case-study .case-data a {
  color: #101010;
}
.case-study .case-data ol li {
  display: flex;
  border-bottom: dotted 1px;
  padding: 20px 0;
}
.case-study .case-data ol li h3 {
  width: 200px;
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  padding-left: 20px;
}
.case-study .case-data ol li h3::after {
  content: ":";
  padding-left: 10px;
  position: absolute;
  right: 20px;
}
.case-study .case-data ol li p {
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-weight: 400;
}
.case-study .case-data ol li:first-child p {
  font-weight: 700;
  color: #00879A;
}
.case-study .case-data ol li:nth-child(2) ul li {
  position: relative;
  padding-right: 20px;
}
.case-study .case-data ol li:nth-child(2) ul li::after {
  content: "/";
  position: absolute;
  right: 10px;
}
.case-study .case-data ol li:last-child {
  border-bottom: unset;
}
.case-study .case-data ol li ul {
  display: flex;
  padding: unset;
}
.case-study .case-data ol li ul li {
  padding: unset;
  border: unset;
}
.case-study .case-data ol .charge {
  background-color: #F9F8F4;
  margin-top: 20px;
}
.case-study .case-data .complete-data {
  margin-top: 40px;
}
.case-study .case-data .complete-data h4 {
  font-size: 26px;
  line-height: 50px;
  color: #00879A;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-image: url(../image/titlebar_case_data_green.svg);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: 100%;
}
.case-study .case-data .complete-data ol {
  background-color: #E8F4E6;
  margin: 20px 0;
  padding: unset;
}
.case-study .case-data .complete-data ol li h5 {
  width: 200px;
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  padding-left: 20px;
}
.case-study .case-data .complete-data ol li h5::after {
  content: ":";
  padding-left: 10px;
  position: absolute;
  right: 20px;
}
.case-study .case-data .complete-data ol li:first-child p {
  color: unset;
  font-weight: unset;
  line-height: 24px;
}
.case-study .case-list-data {
  width: 1025px;
  background-color: white;
  border: solid 3px;
  border-radius: 30px;
  border-color: #00879A;
  margin: 0 auto;
  padding: 40px;
  box-shadow: 3px 3px 3px #E0E0E0;
  margin: 40px auto;
}
.case-study .case-list-data h3 {
  font-size: 26px;
  line-height: 50px;
  color: #00879A;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-image: url(../image/titlebar_case_data_green.svg);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: 100%;
}
.case-study .case-list-data ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  margin-top: 40px;
  max-width: 100%;
}
.case-study .case-list-data ol .list-date {
  background-color: #00879A;
  padding: 10px;
}
.case-study .case-list-data ol .list-date p {
  color: white;
  font-size: 16px;
  line-height: 24px;
}
.case-study .case-list-data ol .list-img {
  width: 100%;
  padding-top: 75%;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  margin-top: 10px;
}
.case-study .case-list-data ol .list-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.case-study .case-list-data ol .list-title {
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #00879A;
  line-height: 24px;
  margin: 10px 0;
}
.case-study .case-list-data ol .list-text {
  font-size: 16px;
  line-height: 21px;
}
.case-study .case-cta {
  width: 390px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .case-study {
    transition-property: all;
    transition-duration: 0.3s;
  }
  .case-study .title-area {
    width: 100%;
    padding: 0% 4%;
  }
  .case-study .title-area h2 {
    font-size: 25.2px;
    line-height: 33.6px;
    margin: 24px auto;
  }
  .case-study .title-area p {
    font-size: 21.6px;
  }
  .case-study .title-area .thamnail-img {
    width: 100%;
    margin: 4% auto;
  }
  .case-study .inner-box {
    padding: 4.8% 4.8%;
  }
  .case-study .case-data {
    width: 100%;
  }
  .case-study .case-data h3, .case-study .case-data h5 {
    width: 30% !important;
    flex: 0 0 35%;
  }
  .case-study .case-data .complete-data h4 {
    background-image: url(../image/titlebar_case_data_green_sp.svg);
  }
  .case-study .case-data li:nth-child(2) ul {
    display: list-item;
  }
  .case-study .case-data li:nth-child(2) ul li {
    margin: 10px 0;
  }
  .case-study .case-data li:nth-child(2) ul li::after {
    display: none;
  }
  .case-study .case-list-data {
    width: 100%;
  }
  .case-study .case-list-data h3 {
    background-image: url(../image/titlebar_case_data_green_sp.svg);
  }
}
@media screen and (max-width: 768px) {
  .case-study {
    transition-property: all;
    transition-duration: 0.3s;
  }
  .case-study .title-area h2 {
    font-size: 21px;
    line-height: 28px;
    margin: 20px auto;
  }
  .case-study .title-area p {
    font-size: 18px;
  }
  .case-study .inner-box {
    padding: 4% 4%;
  }
  .case-study .title-area p {
    width: 100% !important;
  }
  .case-study .case-data, .case-study .case-list-data {
    padding: 5%;
  }
  .case-study .case-data ol li {
    display: list-item;
  }
  .case-study .case-data ol li h3 {
    font-size: 21px;
    padding-left: unset;
    margin-bottom: 2%;
  }
  .case-study .case-data ol li h3::after {
    content: unset;
  }
  .case-study .case-data ol li h3, .case-study .case-data ol li h5 {
    width: 50% !important;
  }
  .case-study .case-data ol .charge {
    padding: 3%;
  }
  .case-study .case-data .complete-data h4 {
    font-size: 21px;
  }
  .case-study .case-data .complete-data h5 {
    padding-left: unset !important;
    margin-bottom: 2%;
  }
  .case-study .case-data .complete-data h5::after {
    content: unset !important;
  }
  .case-study .case-data .complete-data ol {
    padding: 4%;
  }
  .case-study .case-list-data ol {
    grid-template-columns: repeat(2, 1fr);
  }
  .case-study .case-list-data ol .list-img {
    padding-top: 75%;
  }
  .case-study .case-list-data ol .list-date p {
    font-size: 12px;
  }
  .case-study .case-cta {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 10%;
  }
  .case-study .case-cta img {
    width: 100%;
    height: 100px;
  }
}

.case-list {
  padding: 70px 0;
  border-bottom: solid 1px #E0E0E0;
}
.case-list .inner-box {
  width: 1280px;
  margin: 0 auto;
}
.case-list h3 {
  font-size: 26px;
  line-height: 42px;
  color: #00879A;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-image: url(../image/titlebar_case_list_green.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: left;
}
.case-list ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  margin-top: 40px;
  max-width: 100%;
}
.case-list ol.complete-contents {
  display: none;
}
.case-list li {
  border-radius: 30px;
  border: solid 3px #00879A;
  background-color: white;
  box-shadow: 3px 3px 3px #E0E0E0;
  padding: 20px;
}
.case-list li a {
  color: #101010;
}
.case-list li .thamnail {
  margin-bottom: 10px;
  width: 100%;
  padding-top: 75%;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
}
.case-list li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.case-list li dl {
  display: flex;
  align-items: center;
}
.case-list li dl dt {
  font-size: 12px;
  width: 80px;
  position: relative;
}
.case-list li dl dt::after {
  position: absolute;
  content: ":";
  right: 0;
  padding-right: 10px;
}
.case-list li dl dd {
  font-size: 12px;
}
.case-list li dl ul li {
  display: inline-block;
  border: unset;
  box-shadow: unset;
  padding: unset;
  background-color: #00879A;
  color: white;
  padding: 10px;
  margin-bottom: 5px;
}
.case-list li dl .area {
  background-color: #064599;
  color: white;
  padding: 10px;
  margin: 4px;
  border-radius: 30px;
}
.case-list li h4 {
  font-size: 14px;
  line-height: 21px;
}
.case-list li h4 br {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .case-list {
    transition-property: all;
    transition-duration: 0.3s;
  }
  .case-list .inner-box {
    width: 100%;
    padding: 0 4.8%;
  }
  .case-list h3 {
    font-size: 25.2px;
    line-height: 57.6px;
    background-image: url(../image/titlebar_case_list_green_sp.svg);
  }
  .case-list ol {
    grid-template-columns: repeat(3, 1fr);
  }
  .case-list ol .thamnail {
    padding-top: 75%;
  }
}
@media screen and (max-width: 768px) {
  .case-list {
    padding: 5% 0;
    padding-bottom: 15%;
    transition-property: all;
    transition-duration: 0.3s;
  }
  .case-list .inner-box {
    padding: 0 2%;
  }
  .case-list h3 {
    font-size: 21px;
    line-height: 48px;
    background-image: url(../image/titlebar_case_list_green_sp.svg);
  }
  .case-list ol {
    grid-template-columns: repeat(2, 1fr);
    gap: 1% 2%;
  }
  .case-list li {
    padding: 5%;
    border-radius: 15px;
  }
  .case-list li .thamnail {
    padding-top: 75%;
  }
  .case-list dl {
    display: table !important;
  }
  .case-list dl dt {
    width: -moz-fit-content !important;
    width: fit-content !important;
    margin-bottom: 10px;
  }
  .case-list dl dt::after {
    content: unset !important;
  }
}