@charset "UTF-8";
/* CSS Document */
/*
-----------------------------------------------
▼共通
----------------------------------------------- */
body {
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
}
.mx-img img {
  width: 100%;
}
.inner01 {
  max-width: 1140px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}
.inner02 {
  padding-left: 150px;
}
.inner03 {
  padding-right: 150px;
}
.inner04 {
  padding-right: 150px;
}
.con01 {
  padding-left: 5%;
  padding-right: 5%;
}
@media screen and (min-width: 1500px) {
  .inner01 {
    max-width: 1280px;
  }
  .inner02 {
    max-width: 1280px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner03 {
    max-width: 1280px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner04 {
    max-width: 1280px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1370px) {
  .inner02 {
    padding-left: 5vw;
  }
  .inner03 {
    padding-right: 5vw;
  }
  .inner04 {
    padding-right: 5vw;
  }
}
@media screen and (max-width: 1000px) {
  .inner04 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .inner02 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .inner03 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .con01 {
    padding-left: 0;
    padding-right: 0;
  }
}
/*
-----------------------------------------------
▼breakpoint
----------------------------------------------- */
.under767 {
  display: none;
}
.under600 {
  display: none;
}
@media screen and (max-width: 1200px){
	.under1200{
		display: none;
	}
}
@media screen and (max-width: 1090px) {
  .under1090 {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .under1000 {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .under767 {
    display: block
  }
  .over768 {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .under600 {
    display: block;
  }
}
/*
-----------------------------------------------
▼main image
----------------------------------------------- */
.main_img{
	position: relative;
}
.slide-item{
	width: 100%;
}
.main_ttl_bg {
  background-color: rgba(1, 121, 101, 0.87);
  width: 524px;
  height: 220px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.main_ttl {
  font-size: 6rem;
  font-weight: 700;
  color: #ffffff;
  position: absolute;
  top: 50%;
  transform: translateY(-55%);
  left: 0.6em;
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.32);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1000px) {
  .main_ttl_bg {
    width: 440px;
    height: 180px;
  }
  .main_ttl {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .main_ttl_bg {
    width: 400px;
    height: 160px;
  }
  .main_ttl {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 600px) {
  .main_ttl_bg {
    width: 52vw;
    height: 25vw;
  }
  .main_ttl {
    font-size: 6vw;
  }
}
/*
-----------------------------------------------
▼タイトル
----------------------------------------------- */
.ttl-type01 {
  position: relative;
  padding-left: 25px;
  margin-bottom: 40px;
}
.ttl-type01::before {
  content: "";
  position: absolute;
  background-color: #017965;
  width: 10px;
  height: 113px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.ttl-type01 h2 {
  font-size: 4rem;
}
.ttl-type01 span {
  font-size: 2.4rem;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 700;
  color: #017965;
}
.ttl-type02 {
  display: flex;
  align-items: center;
  column-gap: 24px;
  margin-bottom: 50px;
}
.ttl-type02 h3 {
  font-size: 4rem;
}
.ttl-type02 span {
  background-color: #017965;
  color: #ffffff;
  font-size: 3.1rem;
  font-weight: 700;
  width: 190px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  display: inline-block;
  letter-spacing: 0.05em;
}
.ttl-type03 h3 {
  font-size: 2.5rem;
  margin-bottom: 1.2em;
}
.ttl-type03 span {
  font-size: 2.3rem;
  background-color: #017965;
  display: inline-block;
  color: #ffffff;
  width: 352px;
  height: 47px;
  line-height: 47px;
  text-align: center;
  margin-bottom: 0.8em;
}
.ttl-type04 {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: solid 1px #333333;
  padding-bottom: 0.3em;
  margin-bottom: 1.2em;
}
.ttl-type05 {
  background-color: #017965;
  color: #ffffff;
  display: inline-block;
  text-align: center;
}
.ttl-type05_size01 {
  font-size: 1.9rem;
  font-weight: 700;
  width: 114px;
  height: 30px;
  line-height: 30px;
}
.ttl-type05_size02 {
  font-size: 1.9rem;
  font-weight: 700;
  height: 40px;
  line-height: 40px;
  padding-left: 0.8em;
  padding-right: 0.8em;
}
.ttl-type05_size03 {
  font-size: 1.9rem;
  font-weight: 700;
  width: 350px;
  height: 40px;
  line-height: 40px;
}
.ttl-type06 {
  display: flex;
  align-items: center;
  column-gap: 24px;
}
.ttl-type06 span {
  font-size: 1.9rem;
  font-weight: 700;
  background-color: #ffffff;
  border: solid 1px #017965;
  width: 129.5px;
  height: 38px;
  display: inline-block;
  text-align: center;
  line-height: 36px;
}
.ttl-type06 p {
  font-size: 3rem;
  font-weight: 700;
}
.ttl-type07 {
  color: #017965;
  font-size: 1.9rem;
  font-weight: 700;
  border-bottom: solid 1px #017965;
  padding-bottom: 0.4em;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 1300px) {
  .ttl-type01 h2 {
    font-size: 3.4rem;
  }
  .ttl-type01 span {
    font-size: 1.8rem;
  }
  .ttl-type02 span {
    font-size: 2.4rem;
    width: auto;
    height: auto;
    padding: 0.2em 0.8em;
    line-height: inherit;
  }
  .ttl-type02 h3 {
    font-size: 3rem;
  }
  .ttl-type02 {
    margin-bottom: 20px;
  }
  .ttl-type01::before {
    width: 7px;
    height: 80px;
  }
  .ttl-type03 span {
    font-size: 2rem;
    height: 40px;
    line-height: 40px;
    width: 100%;
  }
  .ttl-type03 h3 {
    font-size: 2.1rem;
  }
  .ttl-type04 {
    font-size: 2rem;
  }
  .ttl-type05_size01 {
    font-size: 1.6rem;
    width: 100px;
  }
  .ttl-type05_size02 {
    font-size: 1.6rem;
    height: 35px;
    line-height: 35px;
  }
  .ttl-type05_size03 {
    font-size: 1.6rem;
    height: 35px;
    line-height: 35px;
    width: 100%;
  }
  .ttl-type06 span {
    font-size: 1.6rem;
    width: 105px;
    height: 32px;
    line-height: 30px;
  }
  .ttl-type06 p {
    font-size: 2.4rem;
  }
  .ttl-type07 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1000px) {
  .ttl-type02 span {
    font-size: 1.8rem;
  }
  .ttl-type02 h3 {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 600px) {
  .ttl-type01 h2 {
    font-size: 5.5vw;
  }
  .ttl-type01 span {
    font-size: 4vw;
  }
  .ttl-type01 {
    padding-left: 20px;
    margin-bottom: 30px;
  }
  .ttl-type01::before {
    width: 5px;
    height: 60px;
  }
  .ttl-type02 span {
    font-size: 4vw;
  }
  .ttl-type02 h3 {
    font-size: 5.2vw;
  }
  .ttl-type02 {
    column-gap: 10px;
    margin-bottom: 0;
  }
  .ttl-type03 span {
    font-size: 1.6rem;
    height: 35px;
    line-height: 35px;
  }
  .ttl-type03 h3 {
    font-size: 1.8rem;
    margin-bottom: 0.8em;
  }
  .ttl-type04 {
    font-size: 1.7rem;
  }
  .ttl-type05_size01 {
    font-size: 1.5rem;
    width: 90px;
    height: 27px;
    line-height: 27px;
  }
  .ttl-type07 {
    font-size: 1.5rem;
  }
  .ttl-type06 span {
    font-size: 1.5rem;
    width: 100px;
    height: 28px;
    line-height: 26px;
  }
  .ttl-type06 p {
    font-size: 2rem;
  }
  .ttl-type06 {
    column-gap: 10px;
  }
}
/*
-----------------------------------------------
▼about us
----------------------------------------------- */
.about_us {
  margin-top: 70px;
}
.about_txt01 {
  font-size: 2rem;
  line-height: 1.6;
}
.about_box01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 90px;
}
.about_txt_box01 {
  width: 59%;
}
.about_img01 {
  width: 37%;
}
.about_box02 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}
.about_txt_box02 {
  width: 51%;
}
.about_img02 {
  width: 45%;
}
.about_txt_box02 h4 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
.about_txt_box02 p {
  font-size: 1.6rem;
  line-height: 1.5;
}
.about_content {
  background-color: #f5f5f5;
  padding: 1.5em 2em;
  margin-top: 20px;
}
.about_content h5 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.4em;
}
.about_content p {
  padding-left: 0.6em;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.btn01 a {
  background-color: #017965;
  color: #ffffff;
  font-size: 2rem;
  letter-spacing: 0.08em;
  width: 220px;
  height: 50px;
  text-decoration: none;
  display: inline-block;
  line-height: 48px;
  text-align: center;
  border-radius: 50px;
  border: solid 1px #017965;
  position: relative;
  margin-top: 20px;
  transition: all 0.5s 0s ease;
}
.btn01 a::after {
  content: "\025bc";
  position: absolute;
  font-size: 11px;
  right: 4em;
  top: 50%;
  transform: translateY(-50%);
}
.btn01 a:hover {
  background-color: #ffffff;
  color: #017965;
}
.about_bg {
  background-image: url("../img/bg01.jpg");
  padding-top: 80px;
  padding-bottom: 75px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
}
.about_wrap {
  background-color: rgba(255, 255, 255, 0.88);
  padding-left: 35px;
  padding-right: 35px;
  display: flex;
  justify-content: space-between;
}
.about_wrap p {
  font-size: 1.5rem;
  line-height: 1.8;
}
.about_wrap_txt {
  width: 36%;
}
.fig01 {
  width: 62.5%;
}
.about_box03 {
  padding-top: 25px;
  padding-bottom: 25px;
  margin-bottom: 57px;
}
.about_box04 {
  padding-top: 22px;
  padding-bottom: 30px;
}
@media screen and (max-width: 1300px) {
  .about_txt01 {
    font-size: 1.8rem;
  }
  .about_img01 {
    width: 35%;
  }
  .about_txt_box02 h4 {
    font-size: 2.2rem;
  }
  .about_txt_box02 p {
    font-size: 1.5rem;
  }
  .about_content h5 {
    font-size: 1.8rem;
  }
  .about_box01 {
    margin-bottom: 60px;
  }
  .about_wrap p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1000px) {
  .about_box03 {
    flex-direction: column;
    grid-row-gap: 5vw;
  }
  .about_wrap_txt {
    width: 100%;
  }
  .fig01 {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
  .about_box04 {
    flex-direction: column-reverse;
    grid-row-gap: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .about_box01 {
    flex-direction: column;
    grid-row-gap: 3vw;
  }
  .about_txt_box01 {
    width: 100%;
  }
  .about_img01 {
    width: 55%;
    margin-left: auto;
    margin-right: auto;
  }
  .about_box02 {
    flex-direction: column-reverse;
    grid-row-gap: 3vw;
    margin-bottom: 0;
  }
  .about_txt_box02 {
    width: 100%;
  }
  .about_img02 {
    width: 55%;
    margin-left: auto;
    margin-right: auto;
  }
  .btn_about_sp {
    text-align: center;
    margin-bottom: 40px;
  }
  .about_us {
    margin-top: 40px;
  }
  .about_wrap {
    flex-direction: column;
    grid-row-gap: 5vw;
  }
  .about_wrap_txt {
    width: 100%;
  }
  .fig01 {
    width: 100%;
  }
  .about_wrap_sp {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 600px) {
  .about_txt01 {
    font-size: 1.5rem;
  }
  .about_box01 {
    margin-bottom: 30px;
  }
  .about_txt_box02 h4 {
    font-size: 4.3vw;
  }
  .about_txt_box02 p {
    font-size: 1.4rem;
  }
  .about_content h5 {
    font-size: 1.6rem;
  }
  .about_content {
    padding: 1em 1.2em;
  }
  .btn01 a {
    font-size: 1.7rem;
  }
  .about_wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
  .about_bg {
    padding-top: 40px;
  }
  .about_box03 {
    margin-bottom: 30px;
  }
  .about_bg {
    padding-bottom: 40px;
  }
}
/*
-----------------------------------------------
▼personnel
----------------------------------------------- */
.personnel_box01 {
  display: flex;
  column-gap: 3%;
}
.personnel_img01 {
  width: 60%;
}
.personnel_txt_box01 {
  width: 50%;
}
.personnel_txt_box01 h3 {
  font-size: 3.2rem;
  font-weight: 700;
}
.personnel_txt_box01 h3 span {
  font-size: 2.6rem;
  line-height: 1.4;
  display: inline-block;
  padding-left: 0.5em;
  margin-top: 0.4em;
}
.personnel_txt_box01 ul {
  margin-top: 4em;
}
.personnel_txt_box01 ul li {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
}
.personnel {
  margin-top: 80px;
  margin-bottom: 70px;
}
@media screen and (max-width: 1300px) {
  .personnel_txt_box01 h3 span {
    font-size: 2.2rem;
  }
  .personnel_txt_box01 h3 {
    font-size: 2.8rem;
  }
  .personnel_txt_box01 ul li {
    font-size: 1.6rem;
  }
  .personnel_txt_box01 ul {
    margin-top: 2.5em;
  }
}
@media screen and (max-width: 1000px) {
  .personnel_box01 {
    flex-direction: column;
    grid-row-gap: 30px;
  }
  .personnel_img01 {
    width: 100%;
  }
  .personnel_txt_box01 {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .personnel {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .personnel_txt_box01 h3 {
    font-size: 2rem;
  }
  .personnel_txt_box01 h3 span {
    font-size: 1.7rem;
  }
  .personnel_txt_box01 ul li {
    font-size: 1.5rem;
  }
  .personnel_txt_box01 ul {
    margin-top: 1.4em;
  }
  .personnel_txt_box01 {
    margin-top: 15px;
  }
}
/*
-----------------------------------------------
▼environment
----------------------------------------------- */
.environment {
  padding-bottom: 40px;
}
.env_list01 dl {
  display: flex;
  align-items: center;
  column-gap: 17px;
}
.env_list01 dl:not(:last-child) {
  margin-bottom: 17px;
}
.env_list01 dl:last-child {
  margin-bottom: 50px;
}
.env_list01 dd {
  font-size: 2rem;
  font-weight: 500;
}
.env_box01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
.env_img01 {
  width: 30%;
}
.env_txt_box01 {
  width: 67%;
}
.env_txt_box01 p {
  font-size: 1.5rem;
  margin-top: 1em;
  line-height: 1.5;
}
.env_list02 p {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-top: 1em;
}
.env_list02 li {
  width: 31%;
}
.env_list02 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.env_con {
  padding-bottom: 25px;
}
@media screen and (max-width: 1300px) {
  .env_list01 dd {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .env_box01 {
    flex-direction: column;
    grid-row-gap: 3vw;
  }
  .env_img01 {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .env_txt_box01 {
    width: 100%;
  }
  .env_list02 {
    grid-row-gap: 4vw;
  }
  .env_list02 li {
    width: 48%;
  }
}
@media screen and (max-width: 600px) {
  .env_list01 dl {
    flex-direction: column;
    align-items: flex-start;
    grid-row-gap: 5px;
  }
  .env_list01 dd {
    font-size: 1.5rem;
  }
  .env_list01 dl:last-child {
    margin-bottom: 40px;
  }
  .env_img01 {
    width: 100%;
  }
  .env_list02 {
    flex-direction: column;
  }
  .env_list02 li {
    width: 100%;
  }
  .env_con {
    padding-bottom: 0;
  }
  .env_box01 {
    margin-bottom: 10px;
  }
}
/*
-----------------------------------------------
▼data
----------------------------------------------- */
.data_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  grid-row-gap: 3vw;
}
.data_list li {
  width: 31%;
}
.data p {
  text-align: right;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 0.5em;
}
.data {
  margin-bottom: 70px;
}
@media screen and (max-width: 1300px) {
  .data p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .data_list li {
    width: 48%;
  }
}
@media screen and (max-width: 600px) {
  .data {
    margin-bottom: 45px;
  }
}
/*
-----------------------------------------------
▼staff
----------------------------------------------- */
.staff_box01 p, .staff_box02 p {
  font-size: 1.5rem;
  line-height: 1.8;
}
.staff_con {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  margin-top: 30px;
}
.staff_box01 {
  width: 47.5%;
}
.staff_wrap {
  background-color: rgba(1, 121, 101, 0.09);
  padding: 30px;
}
.staff_wrap:last-child{
	margin-top: 40px;
}
.staff_box02 {
  display: flex;
  justify-content: space-between;
}
.staff_txt_box {
  width: 59%;
}
.staff_img_box {
  width: 36%;
}
.staff {
  margin-bottom: 70px;
}
@media screen and (max-width: 1300px) {
  .staff_box01 p, .staff_box02 p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .staff_con {
    flex-direction: column;
    grid-row-gap: 5vw;
    margin-bottom: 5vw;
  }
  .staff_box01 {
    width: 100%;
  }
  .staff_box02 {
    flex-direction: column;
    grid-row-gap: 3vw;
  }
  .staff_txt_box {
    width: 100%;
  }
  .staff_img_box {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 600px) {
  .staff_wrap {
    padding: 20px;
  }
  .staff_img_box {
    width: 100%;
  }
  .staff {
    margin-bottom: 45px;
  }
}
/*
-----------------------------------------------
▼solicitation
----------------------------------------------- */
.sol_list01 {
  border: solid 2px #017965;
  text-align: center;
  padding: 1.8em;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
.sol_list02 {
  margin-bottom: 65px;
}
.sol_list02 dl {
  display: table;
  border-bottom: solid 1px #999999;
  width: 100%;
}
.sol_list02 dl:first-child {
  border-top: solid 1px #999999;
}
.sol_list02 dt {
  background-color: #f5f5f5;
  font-size: 1.8rem;
  width: 25%;
  display: table-cell;
  vertical-align: middle;
  padding-left: 1.8em;
}
.sol_list02 dd {
  font-size: 1.7rem;
  width: 75%;
  display: table-cell;
  vertical-align: middle;
  padding: 3%;
}
.sol_list02 dd span {
  font-size: 1.5rem;
}
.btn02 {
  text-align: center;
}
.btn02 a {
  background-color: #017965;
  color: #ffffff;
  font-size: 3rem;
  font-weight: 700;
  text-decoration: none;
  width: 626px;
  height: 97px;
  display: inline-block;
  line-height: 95px;
  text-align: center;
  letter-spacing: 0.08em;
  border: solid 1px #017965;
  border-radius: 97px;
  transition: all 0.5s 0s ease;
  position: relative;
}
.btn02 a::after {
  content: "\025b6";
  position: absolute;
  font-size: 12px;
  top: 50%;
  transform: translateY(-50%);
  right: 6em;
}
.btn02 a:hover {
  background-color: #ffffff;
  color: #017965;
}
.sol_info {
  background-color: #f5f5f5;
  margin-top: 80px;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding: 40px;
  align-items: center;
}
.sol_info h3 {
  font-size: 2.8rem;
  font-weight: 700;
  color: #017965;
  position: relative;
  padding-right: 1.5em;
}
.sol_info h3::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 2px;
  height: 110px;
  background-color: #017965;
}
.sol_info p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
  padding-left: 1.5em;
}
.solicitation {
  margin-bottom: 98px;
}
@media screen and (max-width: 1300px) {
  .sol_list01 {
    font-size: 1.8rem;
  }
  .btn02 a {
    font-size: 2.4rem;
    width: 550px;
    height: 90px;
    line-height: 88px;
  }
  .sol_info h3 {
    font-size: 2.4rem;
  }
  .sol_info p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1000px){
	.sol_info{
		width: 85%;
	}
}
@media screen and (max-width: 767px) {
  .sol_list02 dt {
    font-size: 1.5rem;
    padding-left: 1em;
  }
  .sol_list02 dd {
    font-size: 1.5rem;
  }
  .sol_list02 dd span {
    font-size: 1.4rem;
  }
  .sol_info {
    width: 85%;
  }
  .sol_info h3 {
    font-size: 1.8rem;
  }
  .sol_info p {
    font-size: 1.4rem;
  }
  .btn02 a {
    width: 80%;
  }
  .btn02 a::after {
    right: 4em;
  }
}
@media screen and (max-width: 600px) {
  .sol_list01 {
    font-size: 1.5rem;
    padding: 1em;
    text-align: left;
  }
  .sol_list01 li:not(:last-child) {
    margin-bottom: 10px;
  }
  .sol_list02 dt {
    font-size: 1.4rem;
    padding-left: 0.4em;
  }
  .sol_list02 dd {
    font-size: 1.4rem;
  }
  .sol_list02 dd span {
    font-size: 1.3rem;
  }
  .btn02 a {
    font-size: 1.7rem;
    width: 100%;
    height: 50px;
    line-height: 48px;
  }
  .btn02 a::after {
    right: 2em;
  }
  .sol_list02 {
    margin-bottom: 45px;
  }
  .sol_info {
    width: 100%;
    margin-top: 40px;
  }
  .sol_info {
    flex-direction: column;
    align-items: flex-start;
    grid-row-gap: 7px;
    padding: 17px;
  }
  .sol_info p {
    padding-left: 0;
  }
  .sol_info h3::after {
    display: none;
  }
  .solicitation {
    margin-bottom: 45px;
  }
}
/*
-----------------------------------------------
▼o_summary
----------------------------------------------- */
.o_list li:not(:last-child) {
  margin-bottom: 1em;
}
.map {
  display: inline-block;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: #017965;
  border: solid 1px #017965;
  color: #ffffff;
  padding: 0.2em 0.6em;
  margin-left: 0.8em;
  transition: all 0.5s 0s ease;
}
.map:hover {
  background-color: #ffffff;
  color: #017965;
}
.o_summary {
  padding-bottom: 155px;
}
@media screen and (max-width: 1000px){
	.o_summary{
		padding-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
  .o_summary {
    padding-bottom: 0;
  }
}
/*
-----------------------------------------------
▼footer
----------------------------------------------- */
footer {
  background-color: #017965;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 10px;
}
.footer_logo {
  width: 12.71vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
footer small {
  font-size: 1.4rem;
  font-weight: 500;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .footer_logo {
    width: 20vw;
  }
  footer small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 600px) {
  .footer_logo {
    width: 25vw;
    margin-bottom: 10px;
  }
  footer small {
    font-size: 1.1rem;
  }
}
/*
-----------------------------------------------
▼page top
----------------------------------------------- */
.page-top{
	width: 50px;
	height: 50px;
	background-color: #ffffff;
	border: solid 1px #017965;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 1000;
	cursor: pointer;
	  opacity: 0;
  visibility: hidden;
	transition: .2s;
}

.page-top p{
position: relative;
}
.page-top p::before{
	content: "\025b2";
	position: absolute;
	top: 50%;
	color: #017965;
	transform: translate(-50%, -50%);
	z-index: 1000;
	font-size: 20px;
}
.page-top.is-active {
  opacity: 1;
  visibility: visible;
}
.page-top:hover{
	background-color: #017965;
}
.page-top:hover p::before{
	color: #ffffff;
}

/*
-----------------------------------------------
▼アニメーション
----------------------------------------------- */
.fadeUp{
  opacity: 0; 
  transform: translateY(30px); 
  transition: opacity .8s, transform .8s; 
}
.fadeUp.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: .5s; 
}
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-inview {
  opacity: 1;
}

/*
-----------------------------------------------
フェードイン
----------------------------------------------- */
.fadein {
  animation: fadeImage 2.5s;
}
@keyframes fadeImage {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}