#policy .wrap .contents h2 {
  margin-bottom: 4em;
}
#policy .wrap .contents .text_box {
  font-size: 3rem;
  -webkit-clip-path: polygon(1em 0, calc(100% - 1em) 0, 100% 1em, 100% calc(100% - 1em), calc(100% - 1em) 100%, 1em 100%, 0 calc(100% - 1em), 0 1em);
  clip-path: polygon(1em 0, calc(100% - 1em) 0, 100% 1em, 100% calc(100% - 1em), calc(100% - 1em) 100%, 1em 100%, 0 calc(100% - 1em), 0 1em);
  background-color: var(--color_sub3);
  padding: 60px 80px;
  position: relative;
  letter-spacing: 0.01em;
}
#policy .wrap .contents .text_box::before {
  content: "";
  display: block;
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  position: absolute;
  z-index: 1;
  top: 1.5px;
  left: 1.5px;
  background-color: var(--color_sub4);
  -webkit-clip-path: inherit;
  clip-path: inherit;
}
#policy .wrap .contents .text_box h3 {
  font-size: 3.2rem;
  color: var(--color_main);
  line-height: 1.5;
  display: grid;
  position: relative;
  z-index: 2;
  font-weight: 500;
  margin-bottom: 0.66em;
}
#policy .wrap .contents .text_box h3 .font_en {
  font-size: 1.6rem;
  font-weight: 400;
}
#policy .wrap .contents .text_box p {
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
  line-height: 2;
}

#training .wrap .contents h2, #flow .wrap .contents h2 {
  margin-bottom: 4em;
}
#training .wrap .contents .img .scrollable, #flow .wrap .contents .img .scrollable {
  padding-bottom: 15px;
}
#training .wrap .contents .img img, #flow .wrap .contents .img img {
  display: block;
}
#training .wrap .contents .img.img800, #flow .wrap .contents .img.img800 {
  margin-bottom: 30px;
}
#training .wrap .contents .img.img800 img, #flow .wrap .contents .img.img800 img {
  min-width: 800px;
}
#training .wrap .contents .img.img1000 img, #flow .wrap .contents .img.img1000 img {
  min-width: 940px;
}
#training .wrap .contents .img.img600 img, #flow .wrap .contents .img.img600 img {
  max-width: 660px;
}
#training .wrap .contents .contents_inner, #flow .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 120px;
  grid-gap: 90px 5%;
}
#training .wrap .contents .contents_inner .item, #flow .wrap .contents .contents_inner .item {
  letter-spacing: 0.01em;
}
#training .wrap .contents .contents_inner .item h3, #flow .wrap .contents .contents_inner .item h3 {
  font-size: 2.4rem;
  line-height: 1.5;
  color: var(--color_main);
  border-bottom: 1px solid var(--color_main);
  font-weight: 500;
  padding-bottom: 1em;
  margin-bottom: 1.5em;
}
#training .wrap .contents .contents_inner .item h4, #flow .wrap .contents .contents_inner .item h4 {
  font-size: 1.8rem;
  line-height: 2;
  color: var(--color_main);
  font-weight: 500;
}
#training .wrap .contents .contents_inner .item p, #flow .wrap .contents .contents_inner .item p {
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #policy .wrap .contents h2 {
    margin-bottom: 2.5em;
  }
  #policy .wrap .contents .text_box {
    font-size: 2rem;
    padding: 40px 25px;
  }
  #policy .wrap .contents .text_box h3 {
    font-size: min(5.2vw, 2rem);
    text-align: center;
    margin: 0 -1em 1.33em;
  }
  #policy .wrap .contents .text_box h3 .font_en {
    font-size: 1.4rem;
    margin-bottom: 1em;
  }
  #policy .wrap .contents .text_box p {
    font-size: 1.5rem;
    line-height: 2;
  }
  #training .wrap .contents h2, #flow .wrap .contents h2 {
    margin-bottom: 2em;
  }
  #training .wrap .contents .img.img800, #flow .wrap .contents .img.img800 {
    margin-bottom: 20px;
  }
  #training .wrap .contents .img.img600 img, #flow .wrap .contents .img.img600 img {
    max-width: 310px;
  }
  #training .wrap .contents .contents_inner, #flow .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    margin-top: 90px;
    grid-gap: 40px;
  }
  #training .wrap .contents .contents_inner .item h3, #flow .wrap .contents .contents_inner .item h3 {
    font-size: 2.2rem;
    margin-bottom: 1em;
    padding-bottom: 0.66em;
  }
  #training .wrap .contents .contents_inner .item h4, #flow .wrap .contents .contents_inner .item h4 {
    font-size: 1.6rem;
    line-height: 2;
    color: var(--color_main);
    font-weight: 500;
  }
  #training .wrap .contents .contents_inner .item p, #flow .wrap .contents .contents_inner .item p {
    font-size: 1.6rem;
    line-height: 2;
  }
}