#introduction #content-block {
  padding-block: 100px;
}
@media screen and (max-width: 767px) {
  #introduction #content-block {
    padding-block: 50px;
  }
}
#introduction #content-block #first {
  text-align: center;
  padding-bottom: 60px;
  margin-bottom: 100px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #first {
    padding-bottom: 30px;
    margin-bottom: 50px;
  }
}
#introduction #content-block #first::after {
  content: "";
  display: block;
  position: absolute;
  width: 94%;
  height: 50%;
  left: 3%;
  bottom: 0;
  background-color: #F1F5F2;
  border-radius: 15px;
  z-index: -1;
}
#introduction #content-block #first .image {
  max-width: 960px;
  margin: 0 auto 0;
}
#introduction #content-block #first .note {
  max-width: 800px;
  margin: 0 auto;
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
  text-align: left;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #first .note {
    font-size: clamp(1.175rem, 1.012rem + 0.2vw, 1.3rem);
    padding: 0 5%;
    margin-top: 2rem;
  }
}
#introduction #content-block #in-page-nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 100px;
}
@media (max-width: 960px) {
  #introduction #content-block #in-page-nav {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #introduction #content-block #in-page-nav {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 30px;
  }
}
#introduction #content-block #in-page-nav li {
  margin-bottom: 40px;
}
@media (max-width: 960px) {
  #introduction #content-block #in-page-nav li {
    margin-bottom: 20px;
  }
}
#introduction #content-block #in-page-nav li a {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #in-page-nav li a {
    font-size: clamp(1.175rem, 1.012rem + 0.2vw, 1.3rem);
    align-items: flex-start;
  }
}
#introduction #content-block #in-page-nav li a .mark {
  width: 36px;
  transform: rotate(90deg);
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #in-page-nav li a .mark {
    width: 16px;
    min-width: 16px;
    margin-right: 10px;
  }
}
#introduction #content-block #main-block .card {
  position: relative;
  margin-bottom: 150px;
}
#introduction #content-block #main-block .card::after {
  content: "";
  display: block;
  position: absolute;
  width: 95%;
  height: 100%;
  border-radius: 15px;
  background-color: #008B3E;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #main-block .card::after {
    width: 100%;
  }
}
#introduction #content-block #main-block .card .layout {
  display: flex;
  align-items: flex-start;
  color: #fff;
  gap: 5%;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #main-block .card .layout {
    flex-direction: column;
  }
}
#introduction #content-block #main-block .card .layout .image {
  width: 40%;
  border-radius: 15px;
  overflow: hidden;
  line-height: 0;
  transform: translateY(-15%);
}
@media screen and (max-width: 767px) {
  #introduction #content-block #main-block .card .layout .image {
    width: 80%;
    margin: auto;
  }
}
#introduction #content-block #main-block .card .layout .text {
  flex: 1;
  padding: 30px 5% 0 0;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #main-block .card .layout .text {
    padding: 0 5%;
  }
}
#introduction #content-block #main-block .card .layout .text h2 {
  font-size: clamp(2.45rem, 1.848rem + 0.8vw, 3rem);
  font-weight: 500;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  #introduction #content-block #main-block .card .layout .text h2 {
    font-size: 20px;
  }
}
#introduction #content-block #main-block .card .layout .text .department {
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
  padding-block: 2rem;
  display: flex;
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
}
#introduction #content-block #main-block .card .layout .text .department h3 {
  width: 60px;
}
#introduction #content-block #main-block .card .layout .text .department p {
  flex: 1;
}
#introduction #content-block #main-block .card .layout .text p.det {
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
  line-height: 1.8;
  padding-top: 2rem;
}
#introduction #content-block #main-block .card .link {
  text-align: center;
  transform: translateY(50%);
}
#introduction #content-block #main-block .card .link a {
  position: relative;
  display: block;
  margin: auto;
  max-width: 450px;
  background-color: #fff;
  border: 1px solid #008B3E;
  color: #008B3E;
  padding: 21px 30px;
  border-radius: 50px;
}
#introduction #content-block #main-block .card .link a:hover {
  background-color: #008B3E;
  color: #fff;
  border-color: #fff;
}
#introduction #content-block #main-block .card .link a:hover .mark {
  background-color: #fff;
}
#introduction #content-block #main-block .card .link a:hover .mark::after {
  border-color: #008B3E;
}
#introduction #content-block #main-block .card .link a .mark {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
#introduction #content-block .local {
  background-color: #F1F5F2;
  border-radius: 15px;
  padding: 50px 5%;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  #introduction #content-block .local {
    padding: 30px 5%;
  }
}
#introduction #content-block .local h2 {
  text-align: center;
  font-size: clamp(2.45rem, 1.848rem + 0.8vw, 3rem);
  font-weight: 500;
  color: #008B3E;
  margin-bottom: 3rem;
}
#introduction #content-block .local .layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  #introduction #content-block .local .layout {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}
#introduction #content-block .local .layout .box {
  margin-bottom: 5%;
}
#introduction #content-block .local .layout .box h3 {
  background-color: #008B3E;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  font-size: clamp(1.475rem, 1.268rem + 0.3vw, 1.7rem);
  font-weight: 500;
  line-height: 1;
  padding: 8px;
  margin-bottom: 15px;
}
#introduction #content-block .local .layout .box p {
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
}
#introduction #content-block .local .layout .box .link {
  text-align: center;
  margin-top: 2rem;
}
#introduction #content-block .local .layout .box .link a {
  background-color: #008B3E;
  position: relative;
  display: block;
  margin: auto;
  max-width: 250px;
  background-color: #fff;
  border: 1px solid #008B3E;
  color: #008B3E;
  padding: 10px 35px 10px 10px;
  border-radius: 50px;
}
#introduction #content-block .local .layout .box .link a:hover {
  background-color: #008B3E;
  color: #fff;
  border-color: #fff;
}
#introduction #content-block .local .layout .box .link a:hover .mark {
  background-color: #fff;
}
#introduction #content-block .local .layout .box .link a:hover .mark::after {
  border-color: #008B3E;
}
#introduction #content-block .local .layout .box .link a .mark {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
}
#project #content-block {
  position: relative;
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  #project #content-block {
    padding-top: 40px;
  }
}
#project #content-block .section-block {
  position: relative;
  display: flex;
  gap: 5%;
  padding-left: 0;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block {
    flex-direction: column;
    margin-bottom: 80px;
  }
}
#project #content-block .section-block::after {
  content: "";
  display: block;
  position: absolute;
  width: 150%;
  height: 100%;
  left: 20%;
  top: 30px;
  background-color: #F1F5F2;
  border-radius: 15px 0 0 15px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block::after {
    left: 0%;
    width: 100%;
  }
}
#project #content-block .section-block .lead-block {
  width: 50%;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block .lead-block {
    width: 100%;
  }
}
#project #content-block .section-block .lead-block .lead-stickey {
  position: sticky;
  top: 120px;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block .lead-block .lead-stickey {
    position: static;
  }
}
#project #content-block .section-block .lead-block h2 {
  background-color: #008B3E;
  color: #fff;
  font-size: clamp(2.075rem, 1.636rem + 0.6vw, 2.5rem);
  font-weight: 500;
  border-radius: 0 15px 0 0;
  line-height: 1;
  padding: 25px 15px 25px 10%;
}
#project #content-block .section-block .lead-block .image {
  position: relative;
  line-height: 0;
  margin-bottom: 26px;
}
#project #content-block .section-block .lead-block p {
  padding-left: 10%;
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
}
#project #content-block .section-block .num {
  position: absolute;
  right: 10px;
  top: 0;
  line-height: 1;
  font-size: clamp(12.2rem, 7.792rem + 5.7vw, 16rem);
  font-weight: 500;
  font-weight: bold;
  color: #008B3E;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block .num {
    font-size: 100px;
    top: auto;
    bottom: 0;
    color: #fff;
    z-index: 1;
    transform: none;
  }
}
#project #content-block .section-block .acordion-block {
  position: relative;
  padding-top: 80px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block .acordion-block {
    padding: 50px 5% 0;
  }
}
#project #content-block .section-block .acordion-block .here {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}
#project #content-block .section-block .acordion-block .here::after {
  content: "";
  display: block;
  position: absolute;
  width: 40px;
  height: 1px;
  background-color: #008B3E;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(120%);
}
#project #content-block .section-block .acordion-block .box {
  background-color: #fff;
  border-radius: 15px;
  position: relative;
  margin-bottom: 25px;
}
#project #content-block .section-block .acordion-block .box .oc {
  position: absolute;
  cursor: pointer;
  width: 80px;
  height: 40px;
  background-color: #008B3E;
  right: -15px;
  top: 17px;
  transform: translateY(50%) rotate(180deg);
  border-radius: 200px;
  transition: all 0.2s ease;
}
@media screen and (max-width: 767px) {
  #project #content-block .section-block .acordion-block .box .oc {
    top: auto;
    bottom: 20px;
    width: 60px;
    height: 30px;
  }
}
#project #content-block .section-block .acordion-block .box .oc::after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
#project #content-block .section-block .acordion-block .box .box-header {
  padding: 5%;
  border-radius: 15px 15px 0 0;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
}
#project #content-block .section-block .acordion-block .box .box-header:hover {
  opacity: 0.8;
}
#project #content-block .section-block .acordion-block .box .box-header:hover .oc {
  transform: translateY(50%) scale(1.05) rotate(180deg);
}
#project #content-block .section-block .acordion-block .box .box-header.open .oc {
  transform: translateY(50%) rotate(0);
}
#project #content-block .section-block .acordion-block .box .box-header h3 {
  font-size: clamp(1.7rem, 1.424rem + 0.4vw, 2rem);
  font-weight: 500;
  margin-bottom: 15px;
  color: #008B3E;
}
#project #content-block .section-block .acordion-block .box .box-header .profile {
  display: flex;
  gap: 2%;
}
#project #content-block .section-block .acordion-block .box .box-header .profile .face {
  width: 100px;
}
#project #content-block .section-block .acordion-block .box .box-header .profile p {
  flex: 1;
  font-size: clamp(1.175rem, 1.012rem + 0.2vw, 1.3rem);
}
#project #content-block .section-block .acordion-block .box .box-header .profile p .name {
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
  font-weight: 500;
}
#project #content-block .section-block .acordion-block .box .box-body {
  display: none;
  padding: 5% 0 5%;
  border-top: 1px dashed #008B3E;
}
#project #content-block .section-block .acordion-block .box .box-body h4 {
  padding: 0 5%;
  font-size: clamp(1.475rem, 1.268rem + 0.3vw, 1.7rem);
  font-weight: 500;
  margin-bottom: 10px;
  color: #008B3E;
}
#project #content-block .section-block .acordion-block .box .box-body .answer {
  color: #0088AB;
  margin-top: 2rem;
}
#project #content-block .section-block .acordion-block .box .box-body p {
  padding: 0 5%;
  font-size: clamp(1.325rem, 1.068rem + 0.3vw, 1.5rem);
}
#project #content-block .section-block .acordion-block .box .box-body .image {
  margin: 30px 0;
}