body {
  font-family: "century-gothic","noto-sans-cjk-jp", sans-serif;
  font-style: normal;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  padding: 0;
  margin: 0;
  letter-spacing: 0.05em;
}

main{
  color: #333333;
  background-color: #F5F5F5;
  padding-bottom: 120px;
}

.partner p{
  margin: 0;
}

.partner-require{
  font-size: var(--size16);
  line-height: var(--size30);
  padding-top: 100px;
  padding-bottom: 80px;
}

.bus-part-title-wrap{
  display: flex;
  align-items: center;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding-left: 16vw;
  height: min(3.1vw, 45px);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(100% - 95vw), #fff calc(100% - 95vw), #fff 100%);
  font-family: "century-gothic", sans-serif;
 }
 .bus-part-title{
  font-size: var(--size20);
  line-height: var(--size30);
 }
 .bus-part-title-deco{
  width: min(4.16vw, 60px);;
 }

.require-index{
  font-size: var(--size25);
  line-height: var(--size50);
  font-weight: 700;
  padding-top: 60px;
  padding-bottom: 60px;
}
.require-content{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.require-list-item{
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.require-title-wrap{
  display: flex;
  align-items: center;
}
.square{
  display: inline-block;
  width: 27px;
  height: 27px;
  background-color: #fff;
}
.require-title{
  padding-left: 13px;
  font-size: var(--size25);
  line-height: var(--size30);
  font-weight: 500;
}
.require-txt{
  font-size: var(--size16);
}
.require-item-line{
  width: 100%;
  border: 1px solid #B4B4B4;
}

.partner_detail_btn{
  width: fit-content;
  cursor: pointer;
  padding: 15px 37px 15px 37px;
  font-weight: 700;
  font-size: var(--size16);
  line-height: var(--size30);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  box-sizing: border-box;
  border-radius: 29.5px;
  background-color: #B4B4B4;
  color: #fff;
  border: none;
  gap: 18px;
  margin-top: 121px;
  box-shadow: 3px 3px 15px #00092F,-2px 0 15px #EEEEEE;
  background: linear-gradient(135deg, rgba(0, 92, 175, 1), rgba(110, 137, 201, 1) 50%, rgba(183, 167, 218, 1));
}
.partner_detail_btn:hover{
  width: fit-content;
  padding: 14px 37px 14px 37px;
  font-weight: 700;
  font-size: var(--size16);
  line-height: var(--size30);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  box-sizing: border-box;
  border-radius: 29.5px;
  background-color: #B4B4B4;
  color: #fff;
  border: none;
  gap: 18px;
  margin-top: 121px;
  box-shadow: inset -9px -13px 20px #fff,inset 10px 10px 25px rgba(0, 9, 47, 0.4);
  background: linear-gradient(135deg, rgba(0, 92, 175, 1), rgba(110, 137, 201, 1) 50%, rgba(183, 167, 218, 1));
}
.partner_detail_btn span{
  width: 21px;
  height: 21px;
  padding-bottom: 6px;
}
.partner_detail_btn img{
  width: 100%;
}

/* -----パートナー企業----- */
.part-company{
  margin-top: 140px;
}
.part-company-content{
  display: flex;
  gap: min(2.91vw,42px);
  justify-content: center;
}
.partner-comp-img{
  width: min(31.3vw,451px);
}
.partner-comp-img img{
  width: 100%;
}

.partner-txt-wrap{
  display: flex;
  width: min(33.45vw,525px);
  flex-direction: column;
  gap: var(--size45);
  padding-top: 2.84vw;
}
.partner-txt-index{
  font-size: var(--size20);
  line-height: var(--size45);
  font-weight: 700;
  letter-spacing: 0.15em;
}
.partner-txt-index span{
  display: block;
}
.partner-txt-overview{
  font-size: var(--size16);
  line-height: var(--size35);
  font-weight: 500;
  letter-spacing: 0.15em;
}

a{
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

@media screen and  (max-width:786px){
  .partner-require{
    font-size: 16px;
    line-height: 30px;
  }
  .bus-part-title-wrap{
    height: 45px;
    padding-left: 5vw;
    width: calc(100vw - 5vw);
  }
  .bus-part-title{
    font-size: 16px;
    line-height: 30px;
  }
  .bus-part-title-deco{
    width: 50px;
  }
  .require-content{
    gap: 50px;
  }
  .require-index{
    font-size: 23px;
    line-height: 50px;
    padding-top: 30px;
    padding-bottom: 10px
  }
  .require-title{
    font-size: 23px;
    line-height: 30px;
  }
  .require-txt{
    font-size: 16px;
    line-height: 30px;
  }
  .partner_detail_btn{
    font-size: 14px;
    line-height: 25px;
    margin-top: 100px;
  }
  .part-company-content{
    flex-direction: column;
    width: 100%;
    position: relative;
    gap: 30px;
  }
  .partner-comp-img{
    width: 100%;
    padding: 0 17px;
    order: 2;
    box-sizing: border-box;
  }
  .partner-txt-wrap{
    width: 100%;
  }
  .partner-txt-index{
    font-size: 20px;
    line-height: 40px;
    order: 1;
  }
  .partner-txt-index span{
    display: inline;
  }
  .partner-txt-overview{
    font-size: 16px;
    line-height: 30px;
    order: 3;
  }
  .partner_detail_btn{
    font-size: 14px;
    line-height: 20px;
  }
  .partner_detail_btn div span{
    display: block;
    width: 100%;
    padding: 0;
  }
}