#catch_wrap {
  background-image: url(/img/top/bg_catch.webp);
  background-size: cover;
  background-position: center middle;
  padding: 136px 0;
}
#catch_wrap .wrap {
  justify-content: flex-start;
}
#catch_wrap .wrap figure {
  margin-right: 60px;
}
#catch_wrap .wrap figure img {
  max-width: 349px;
}
@media only screen and (max-width: 768px) {
  #catch_wrap .wrap figure img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #catch_wrap .wrap figure {
    margin: 0;
  }
}
#catch_wrap .wrap > div h2 {
  font-size: 34px;
  margin: 0 0 18px;
  line-height: 1.5;
}
#catch_wrap .wrap > div h2 span {
  position: relative;
}
#catch_wrap .wrap > div h2 span::before {
  content: "";
  display: block;
  background: #FF8E1D;
  width: 8px;
  height: 8px;
  border-radius: 50px;
  position: absolute;
  left: calc(50% - 4px);
  top: -10px;
}
@media only screen and (max-width: 768px) {
  #catch_wrap .wrap {
    flex-direction: column;
  }
}
#catch_wrap #catch_contact {
  height: 87px;
  width: 100%;
  max-width: 452px;
  border: 2px solid #FF8E1D;
  background: #FF8E1D;
  color: #fff;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  margin: 80px auto 0;
}
#catch_wrap #catch_contact span {
  margin-left: 10px;
}
#catch_wrap #catch_contact:hover {
  background: #fff;
  color: #FF8E1D;
}
#catch_wrap #catch_contact:hover svg path {
  fill: #FF8E1D;
}

#info_wrap {
  padding: 90px 0;
}
#info_wrap h3 {
  align-items: center;
  justify-content: center;
}
#info_wrap h3 span {
  margin-left: 10px;
}
#info_wrap ul {
  border-top: 1px solid #767676;
}
#info_wrap ul li {
  border-bottom: 1px solid #767676;
  padding: 23px 0;
  justify-content: flex-start;
  align-items: center;
}
#info_wrap ul li time {
  color: #767676;
  font-size: 14px;
  margin-right: 20px;
}
#info_wrap ul li p {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}

#problem_wrap {
  padding: 180px 0;
  background-image: url(/img/top/bg_problem.webp);
  background-size: cover;
  background-position: bottom center;
}
@media screen and (max-width: 768px) {
  #problem_wrap {
    padding: 40px;
  }
}
#problem_wrap p {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 100px;
}
#problem_wrap .flex {
  flex-wrap: wrap;
}
#problem_wrap .flex a {
  width: 24%;
  max-width: 250px;
  margin-bottom: 60px;
}
#problem_wrap .flex a img {
  width: 100%;
  max-width: 250px;
}
@media only screen and (max-width: 768px) {
  #problem_wrap .flex a {
    width: 49%;
  }
}

#problem_detail_wrap > div {
  padding: 200px 0;
  background-repeat: no-repeat;
  background-position-y: center;
}
@media screen and (max-width: 768px) {
  #problem_detail_wrap > div {
    padding: 40px;
  }
}
#problem_detail_wrap > div > .wrap {
  justify-content: flex-end;
}
#problem_detail_wrap > div > .wrap .detail_wrap {
  max-width: 880px;
  width: 100%;
}
#problem_detail_wrap > div > .wrap .detail_wrap .flex {
  justify-content: flex-start;
}
#problem_detail_wrap > div > .wrap .detail_wrap .flex figure {
  width: 24%;
  max-width: 150px;
  margin-right: 3.8%;
}
#problem_detail_wrap > div > .wrap .detail_wrap .flex figure:last-child {
  margin-right: 0;
}
#problem_detail_wrap > div > .wrap .detail_wrap .flex figure img {
  width: 100%;
  max-width: 150px;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links {
  display: flex;
  align-items: center;
  margin-right: 30px;
  margin-top: 50px;
  flex-wrap: wrap;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a {
  text-decoration: none;
  white-space-collapse: break-spaces;
  color: #FF8E1D;
  font-size: 20px;
  font-weight: bold;
  border: 2px solid #FF8E1D;
  padding: 10px 12px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  margin-right: 17px;
  background-color: #fff;
  height: 54px;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a:last-child {
  margin-right: 0;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a span.menu-icn {
  display: flex;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a span.menu-text {
  margin: 0 16px;
  display: none;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a > svg {
  display: none;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a {
  word-break: keep-all;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a span.menu-text {
  display: inline;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a > svg {
  display: inline;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a:hover {
  color: #fff;
  background: #FF8E1D;
}
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a:hover svg rect,
#problem_detail_wrap > div > .wrap .detail_wrap .menu_links a:hover svg path {
  fill: #fff;
}
@media only screen and (max-width: 768px) {
  #problem_detail_wrap > div > .wrap .detail_wrap .menu_links a {
    margin-bottom: 20px;
  }
}
#problem_detail_wrap > div#problem_detail01, #problem_detail_wrap > div#problem_detail03 {
  background-color: #FFF3E6;
}
#problem_detail_wrap > div#problem_detail01 {
  background-image: url(/img/top/bg_problem_detail01.webp);
  background-position-x: calc(50% - 660px);
}
#problem_detail_wrap > div#problem_detail02 {
  background-image: url(/img/top/bg_problem_detail02.webp);
  background-position-x: calc(50% - 750px);
}
#problem_detail_wrap > div#problem_detail03 {
  background-image: url(/img/top/bg_problem_detail03.webp);
  background-position-x: calc(50% - 800px);
}
@media only screen and (max-width: 768px) {
  #problem_detail_wrap > div {
    padding: 40px 0;
  }
}