
@charset "UTF-8";

/*悩み*/
#worries + .contents_box01 .content_wrapper {
    max-width: initial !important;
    padding-left: 5%;
}
.worries_title {
    font-size: 5rem;
}
.worries_list {
    display: flex;
    gap: 20px;
    margin-top: 3rem;
}
.worries_item {
    position: relative;
    list-style: none !important;
    width: 300px;
    height: 300px;
    box-sizing: border-box;
    display: grid;
    place-content: center;
}
.worries_item p {
    position: relative;
    width: 300px;
    height: 300px;
    box-sizing: border-box;
    padding: 75px 50px 50px;
    display: grid;
    place-content: center;
    z-index: 3;
    font-size: 1.9rem;
}
.worries_item:after {
    content: '';
    position: absolute;
    clip-path: polygon(50% 0%, 90% 20%, 100% 60%, 75% 100%, 25% 100%, 0% 60%, 10% 20%);
    width: 300px;
    height: 300px;
    background: #fff;
    top: 0;
    left: 0;
    z-index: 2;
}
.worries_item:before {
    content: '';
    position: absolute;
    clip-path: polygon(50% 0%, 90% 20%, 100% 60%, 75% 100%, 25% 100%, 0% 60%, 10% 20%);
    width: 302px;
    height: 302px;
    background: #7fbaaa;
    box-shadow: 0px 0px 15px 5px #7fbaaa;
    top: -1px;
    left: -1px;
    z-index: 1;
}
.worries_img {
    position: absolute;
    width: 60%;
    z-index: -1;
    top: 0;
    right: 0;
}
@media screen and (max-width: 1023px) {
#worries + .contents_box01 {
    padding-top: 100px !important;
}
.worries_title {
    font-size: 5vw;
}
.worries_img {
    width: 80%;
    top: -180px;
}
.worries_item p {
    position: relative;
    width: 28vw;
    height: 28vw;
    padding: 5vw 5vw 3vw;
    font-size: 1.9vw;
}
.worries_item:after {
    width: 28vw;
    height: 28vw;
}
.worries_item:before {
    width: calc(28vw + 2px);
    height: calc(28vw + 2px);
}
.worries_item {
    width: 28vw;
    height: 28vw;
}
}
@media screen and (max-width: 480px) {
.worries_list {
    flex-direction: column;
    align-items: center;
}
.worries_item p {
    width: 80vw;
    height: 80vw;
    font-size: 5.8vw;
    padding: 8vw 10vw 3vw;
}
.worries_item:after {
    width: 80vw;
    height: 80vw;
}
.worries_item:before {
    width: calc(80vw + 2px);
    height: calc(80vw + 2px);
}
.worries_item {
    width: 80vw;
    height: 80vw;
}
.worries_title {
    font-size: 7vw;
}
#worries + .contents_box01 {
    padding-top: 180px !important;
}
.worries_img {
    top: -150px;
}
}

/*プログラム手順*/
.program_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
  margin-top: 3rem;
}
.program_item {
  position: relative;
  list-style: none !important;
}
.program_num {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 2.4rem;
  padding: 0 1rem;
  background: var(--i_sub_color);
  color: #fff;
}
.program_text {
  position: absolute;
  font-size: 1.6rem;
  padding: 0 1rem;
  background: var(--i_sub_color);
  color: #fff;
}
.program_item:nth-of-type(1) .program_text {
  bottom: 10px;
  right: 10px;
}
.program_item:nth-of-type(2) .program_text {
  top: 10px;
  right: 10px;
}
.program_item:nth-of-type(3) .program_text {
  bottom: 10px;
  left: 10px;
}
.program_img {
  width: 100%;
  height: 100%;
}
.program_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.program_item:not(:first-of-type):before {
  content: "→";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -55px;
  font-size: 3rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .program_list {
    grid-template-columns: repeat(1, 1fr);
  }
  .program_num {
    font-size: 4vw;
  }
  .program_text {
    font-size: 4vw;
  }
  .program_item:not(:first-of-type):before {
    content: "↓";
    top: -65px;
    transform: translateX(-50%);
    left: 50%;
    font-size: 3rem;
  }
}