.common_sub_main {
  width: 100%;
  height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
}
.common_sub_main.search_list {
  background: url(../images/search_list/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.search_detail {
  background: url(../images/search_detail/main_bg.jpg) center no-repeat;
  background-size: cover;
  height: auto;
}
.common_sub_main.project_list {
  background: url(../images/project_list/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.project_detail {
  background: url(../images/project_detail/main_bg.jpg) center no-repeat;
  background-size: cover;
  height: auto;
}
.common_sub_main.coordinator {
  background: url(../images/coordinator/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.registration {
  background: url(../images/registration/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.video {
  background: url(../images/video/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.news_list {
  background: url(../images/news_list/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.news_detail {
  background: url(../images/news_detail/main_bg.jpg) center no-repeat;
  background-size: cover;
  height: auto;
}
.common_sub_main.magazine_list {
  background: url(../images/magazine_list/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.members {
  background: url(../images/members/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.event {
  background: url(../images/event/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.link {
  background: url(../images/link/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.sitemap {
  background: url(../images/sitemap/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.privacy {
  background: url(../images/privacy/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.about {
  background: url(../images/about/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main.matching {
  background: url(../images/matching/main_bg.jpg) center no-repeat;
  background-size: cover;
}

.common_sub_main.not_found {
  background: url(../images/about/main_bg.jpg) center no-repeat;
  background-size: cover;
}
.common_sub_main .common_sub_main_ttl {
  padding-top: 60px;
}
.common_sub_main .common_sub_main_ttl .en {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.common_sub_main .common_sub_main_ttl .ja {
  display: block;
  font-size: 2.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.breadcrumb .breadcrumb_list {
  width: 100%;
  padding: 14px 15px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}
.breadcrumb .breadcrumb_list li {
  color: #222;
  font-size: 1.4rem;
}
.breadcrumb .breadcrumb_list li span {
  font-size: 1.4rem;
}
.breadcrumb .breadcrumb_list li a {
  display: block;
  font-size: 1.4rem;
  color: #005bac;
  opacity: 1;
  position: relative;
  padding-right: 15px;
  text-decoration: none;
}
.breadcrumb .breadcrumb_list li a::after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: calc(50% - 3px);
  right: 0px;
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  transform: rotate(45deg);
}
.breadcrumb .breadcrumb_list li a::before {
  content: "";
  width: calc(100% - 15px);
  height: 1px;
  background: #005bac;
  position: absolute;
  bottom: 0;
  left: 0;
}

.common_search_block {
  width: 100%;
  background: #fff;
  box-shadow: 0 0 24px rgba(0, 66, 118, 0.08);
  border-radius: 10px;
  padding: 40px 5%;
}
.common_search_block .common_search_block_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  color: #222;
  text-align: center;
  margin-bottom: 20px;
}

.common_search_block_form .filter-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.common_search_block_form .filter-row .select_wrap {
  width: 100%;
  position: relative;
}
.common_search_block_form .filter-row .select_wrap select {
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
  background: #f5f5f5;
  padding: 15px 30px 15px 42px;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.common_search_block_form .filter-row .select_wrap select option {
  font-size: 1.6rem;
}
.common_search_block_form .filter-row .select_wrap::after {
  content: "";
  width: 9px;
  height: 9px;
  position: absolute;
  z-index: 2;
  top: 40%;
  right: 10px;
  transform: translate(-50%, 0px) rotate(135deg);
  border-width: 0px;
  border-style: initial;
  border-color: initial;
  -o-border-image: initial;
     border-image: initial;
  border-top: 1px solid rgb(0, 91, 172);
  border-right: 1px solid rgb(0, 91, 172);
}
.common_search_block_form .filter-row .select_wrap::before {
  content: "";
  width: 20px;
  height: 22px;
  position: absolute;
  top: calc(50% - 13px);
  left: 10px;
  background-color: #005bac;
}
.common_search_block_form .filter-row .select_wrap.attempt::before {
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon01.svg);
          mask-image: url(../images/search_list/search_icon01.svg);
}
.common_search_block_form .filter-row .select_wrap.job::before {
  width: 16px;
  left: 12px;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon02.svg);
          mask-image: url(../images/search_list/search_icon02.svg);
}
.common_search_block_form .filter-row .select_wrap.area::before {
  width: 16px;
  left: 12px;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon03.svg);
          mask-image: url(../images/search_list/search_icon03.svg);
}
.common_search_block_form .filter-row .select_wrap.employees_num::before {
  width: 20px;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon04.svg);
          mask-image: url(../images/search_list/search_icon04.svg);
}
.common_search_block_form .filter-row .txt {
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  margin: 0 auto;
}
.common_search_block_form .keyword-box {
  width: 100%;
  margin-bottom: 30px;
}
.common_search_block_form .keyword-box input {
  width: 100%;
  padding: 15px;
  font-size: 1.6rem;
  background: #f5f5f5;
  border-radius: 50px;
  border: none;
  outline: none;
}
.common_search_block_form button[type=submit] {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: rgb(255, 255, 255);
  width: 80%;
  max-width: 340px;
  margin: 0 auto;
  background: rgb(0, 91, 172);
  padding: 2rem 0px;
  border-radius: 30px;
  transition: 0.5s;
  cursor: pointer;
  border: none;
}
.common_search_block_form button[type=submit]:hover {
  background: #23d1cb;
  transition: 0.5s;
}

.common_single_content {
  width: 100%;
}
.common_single_content h2 {
  margin-top: 50px;
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.common_single_content h2::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_single_content h3 {
  font-size: 2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-left: 40px;
  margin-top: 30px;
  margin-bottom: 20px;
}
.common_single_content h3::before {
  content: "";
  width: 30px;
  height: 26px;
  background: url(../images/common/single_h3_icon.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
.common_single_content p {
  font-size: 1.6rem;
  margin-bottom: 10px;
  line-height: 2;
}
.common_single_content ul {
  margin: 15px 0;
}
.common_single_content ul li {
  font-size: 1.6rem;
  color: #222;
  line-height: 2;
  position: relative;
  padding-left: 20px;
}
.common_single_content ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  background: #005bac;
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50px;
}

.common_single_content02 {
  width: 100%;
}
.common_single_content02 h2 {
  margin-top: 60px;
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.common_single_content02 h2::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_single_content02 h3 {
  font-size: 2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-left: 15px;
  margin-top: 35px;
  margin-bottom: 20px;
}
.common_single_content02 h3::before {
  content: "";
  width: 3px;
  height: 100%;
  background: #005bac;
  position: absolute;
  top: 0;
  left: 0;
}
.common_single_content02 h4 {
  font-size: 1.8rem;
  color: #222;
  margin-top: 30px;
  margin-bottom: 15px;
  font-weight: bold;
}
.common_single_content02 p {
  font-size: 1.6rem;
  margin-bottom: 10px;
  line-height: 2;
}
.common_single_content02 a {
  color: #005bac;
  text-decoration: none;
  padding-left: 15px;
  position: relative;
  font-size: 1.6rem;
  padding-bottom: 5px;
  word-break: break-all;
  display: inline-block;
}
.common_single_content02 a::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 6px;
  left: 0;
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  transform: rotate(45deg);
}
.common_single_content02 a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #005bac;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_single_content02 figure {
  margin: 30px auto;
  text-align: center;
}
.common_single_content02 figure img {
  max-width: 100%;
  height: auto;
}
.common_single_content02 figure figcaption {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 10px;
}
.common_single_content02 ul {
  margin: 15px 0;
}
.common_single_content02 ul li {
  font-size: 1.6rem;
  color: #222;
  line-height: 2;
  position: relative;
  padding-left: 20px;
}
.common_single_content02 ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  background: #005bac;
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50px;
}

.common_project_list .common_project-item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 30px 20px;
}
.common_project_list .common_project-item .listbox {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}
.common_project_list .common_project-item .listbox a {
  display: block;
  text-decoration: none;
}
.common_project_list .common_project-item .listbox a .image {
  display: block;
  width: 100%;
  height: 1px;
  padding-top: 52.6%;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 2.5rem;
  border-radius: 10px;
}
.common_project_list .common_project-item .listbox a .image::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(6, 133, 222, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 0;
  transition: 0.5s;
  border-radius: 10px;
}
.common_project_list .common_project-item .listbox a .image .logo {
  width: 31.57%;
  border-radius: 10px;
  background: #fff;
  border: 10px solid #fff;
  padding: 10px;
  height: 40%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
  position: absolute;
  bottom: -5%;
  left: -5%;
  z-index: 2;
  box-shadow: 0px 0px 6px rgba(151, 151, 151, 0.1);
}
.common_project_list .common_project-item .listbox a .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 155%;
  margin-bottom: 1.5rem;
  transition: 0.5s;
}
.common_project_list .common_project-item .listbox a .company {
  font-size: 1.4rem;
  font-weight: 700;
  color: #005bac;
  display: block;
  margin-bottom: 1.2rem;
}
.common_project_list .common_project-item .listbox a .cat .caticon {
  width: 11.5%;
  margin-right: 5px;
}
.common_project_list .common_project-item .listbox a .cat .caticon img {
  max-width: 100%;
}
.common_project_list .common_project-item .listbox a .info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
.common_project_list .common_project-item .listbox a .info dt {
  font-size: 1.4rem;
  font-weight: 700;
  width: 7em;
  padding: 3px 0 3px 20px;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto;
}
.common_project_list .common_project-item .listbox a .info dd {
  font-size: 1.4rem;
  width: calc(100% - 7em);
  padding: 3px 0;
}
.common_project_list .common_project-item .listbox a .info .info01 {
  background-image: url(../images/top/top_project_icon_job.png);
}
.common_project_list .common_project-item .listbox a .info .info02 {
  background-image: url(../images/top/top_project_icon_address.png);
}
.common_project_list .common_project-item .listbox a .info .info03 {
  background-image: url(../images/top/top_project_icon_number.png);
}
.common_project_list .common_project-item .listbox a:hover .image::before {
  opacity: 1;
  transition: 0.5s;
}
.common_project_list .common_project-item .listbox a:hover .ttl {
  color: #0685de;
  transition: 0.5s;
  text-decoration: underline;
}

/*search_list*/
.search_list_sec {
  padding: 50px 0 100px;
}
.search_list_sec .search_list {
  width: 100%;
  margin-top: 50px;
  gap: 20px;
}
.search_list_sec .search_list .search_list_box {
  display: block;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  background: #f5f7f9;
  border: 2px solid #005bac;
  padding: 25px 15px;
  border-radius: 10px;
}
.search_list_sec .search_list .search_list_box .image {
  width: 100%;
  padding-top: 62.5%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  margin-bottom: 30px;
}
.search_list_sec .search_list .search_list_box .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
  max-width: 100%;
  height: auto;
}
.search_list_sec .search_list .search_list_box .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.search_list_sec .search_list .search_list_box .text {
  font-size: 1.6rem;
  line-height: 2;
}
.search_list_sec .search_list .search_list_box .info_list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.search_list_sec .search_list .search_list_box .info_list li {
  position: relative;
  font-size: 1.4rem;
  color: #005bac;
  font-weight: bold;
  padding-left: 25px;
  margin-right: 20px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.search_list_sec .search_list .search_list_box .info_list li::before {
  content: "";
  position: absolute;
  left: 0px;
  background-color: #005bac;
}
.search_list_sec .search_list .search_list_box .info_list li.info01::before {
  width: 15px;
  height: 17px;
  left: 2px;
  top: calc(50% - 8px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon02.svg);
          mask-image: url(../images/search_list/search_icon02.svg);
}
.search_list_sec .search_list .search_list_box .info_list li.info02::before {
  width: 14px;
  height: 20px;
  left: 2px;
  top: calc(50% - 10px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon03.svg);
          mask-image: url(../images/search_list/search_icon03.svg);
}
.search_list_sec .search_list .search_list_box .info_list li.info03::before {
  width: 20px;
  height: 20px;
  top: calc(50% - 10px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/search_list/search_icon04.svg);
          mask-image: url(../images/search_list/search_icon04.svg);
}
.search_list_sec .search_list .search_list_box .search_list_box_btn {
  margin-top: 30px;
}

/*search_detail*/
.search_detail_main {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 100px;
  margin-bottom: 20px;
  gap: 20px;
}
.search_detail_main .search_detail_logo {
  width: 25%;
  max-width: 260px;
  border-radius: 10px;
}
.search_detail_main .search_detail_logo img {
  max-width: 100%;
  border-radius: 10px;
}
.search_detail_main .search_detail_txt {
  width: calc(75% - 20px);
}
.search_detail_main .search_detail_txt .search_detail_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
}
.search_detail_main .search_detail_txt .category {
  margin-bottom: 15px;
  display: flex;
  justify-content: flex-start;
}
.search_detail_main .search_detail_txt .category .cat {
  font-size: 1.4rem;
  color: #fff;
  background: #1a86b4;
  padding: 3px 20px;
  border: 1px solid #fff;
  border-radius: 50px;
}
.search_detail_main .search_detail_txt .sdgs .sdgs_list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5px;
}
.search_detail_main .search_detail_txt .sdgs .sdgs_list li {
  width: 40px;
}
.search_detail_main .search_detail_txt .sdgs .sdgs_list li img {
  max-width: 100%;
}

.search_detail_sec {
  padding: 50px 0 100px;
}
.search_detail_sec .search_detail_mainslide .slide {
  margin: 0 10px;
}
.search_detail_sec .search_detail_mainslide .slide img {
  border-radius: 25px;
  max-width: 100%;
}
.search_detail_sec .search_detail_mainslide .slick-arrow {
  border: none;
  font-size: 0;
  cursor: pointer;
}
.search_detail_sec .search_detail_mainslide .slick-arrow.slick-prev {
  position: absolute;
  top: 40%;
  width: 28px;
  height: 28px;
  background: url(../images/search_detail/prev_arrow.png) center no-repeat;
  background-size: contain;
  left: calc(15% + 10px - 14px);
  z-index: 2;
  transform: translateY(-50%);
}
.search_detail_sec .search_detail_mainslide .slick-arrow.slick-next {
  position: absolute;
  top: 40%;
  width: 28px;
  height: 28px;
  background: url(../images/search_detail/next_arrow.png) center no-repeat;
  background-size: contain;
  right: calc(15% + 10px - 14px);
  z-index: 2;
  transform: translateY(-50%);
}
.search_detail_sec .search_detail_mainslide .slick-dots {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.search_detail_sec .search_detail_mainslide .slick-dots li button {
  font-size: 0;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  margin: 10px;
  background: #d2d2d2;
  border: none;
  cursor: pointer;
}
.search_detail_sec .search_detail_mainslide .slick-dots li.slick-active button {
  background: #005bac;
}
.search_detail_sec .search_detail_pr {
  width: 100%;
  margin-top: 50px;
  margin-bottom: 50px;
}
.search_detail_sec .search_detail_pr .search_detail_pr_ttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.search_detail_sec .search_detail_pr .search_detail_pr_block {
  width: 100%;
  background: #f5f7f9;
  border-radius: 10px;
  border: 2px solid #005bac;
  padding: 20px;
}
.search_detail_sec .search_detail_pr .search_detail_pr_block p {
  font-size: 1.6rem;
  line-height: 2;
}
.search_detail_sec .case_study {
  width: 100%;
  margin-top: 80px;
  margin-bottom: 50px;
}
.search_detail_sec .case_study .case_study_ttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.search_detail_sec .search_detail_btn {
  margin-top: 50px;
}

/*project_list*/
.project_list_sec {
  padding: 50px 0 100px;
}
.project_list_sec .project_list_block {
  margin-top: 80px;
}
.project_list_sec .project_list_block .common_project-item .listbox {
  width: calc((100% - 20px) / 2);
  margin: 0;
}

/*project_detail*/
.project_detail_main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 100px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.project_detail_main .project_detail_txt {
  width: 100%;
  order: 2;
}
.project_detail_main .project_detail_txt .project_detail_ttl {
  font-size: 3rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: 10px;
}
.project_detail_main .project_detail_txt .project_detail_company {
  font-size: 2.2rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: 10px;
}
.project_detail_main .project_detail_txt .project_detail_info {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.project_detail_main .project_detail_txt .project_detail_info li {
  font-size: 1.6rem;
  color: #fff;
  position: relative;
  margin-right: 25px;
  margin-top: 7px;
  margin-bottom: 7px;
}
.project_detail_main .project_detail_txt .project_detail_info li::before {
  content: "";
  position: absolute;
  left: 0px;
  background-color: #fff;
}
.project_detail_main .project_detail_txt .project_detail_info li.business {
  padding-left: 25px;
}
.project_detail_main .project_detail_txt .project_detail_info li.business::before {
  width: 15px;
  height: 17px;
  left: 2px;
  top: calc(50% - 8px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/project_detail/business_icon.svg);
          mask-image: url(../images/project_detail/business_icon.svg);
}
.project_detail_main .project_detail_txt .project_detail_info li.access {
  padding-left: 25px;
}
.project_detail_main .project_detail_txt .project_detail_info li.access::before {
  width: 14px;
  height: 20px;
  left: 2px;
  top: calc(50% - 10px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/project_detail/map_icon.svg);
          mask-image: url(../images/project_detail/map_icon.svg);
}
.project_detail_main .project_detail_txt .project_detail_info li.employee {
  padding-left: 25px;
}
.project_detail_main .project_detail_txt .project_detail_info li.employee::before {
  width: 20px;
  height: 20px;
  top: calc(50% - 10px);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/project_detail/employee_icon.svg);
          mask-image: url(../images/project_detail/employee_icon.svg);
}
.project_detail_main .project_detail_img {
  width: 65%;
  margin: 0 auto 15px;
  order: 1;
}
.project_detail_main .project_detail_img img {
  border-radius: 10px;
  max-width: 100%;
}

.project_detail_sec {
  padding: 50px 0 100px;
}
.project_detail_sec .project_list_block {
  margin-top: 110px;
}
.project_detail_sec .project_list_block .common_project-item {
  gap: 50px 30px;
}
.project_detail_sec .sdgs_list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
.project_detail_sec .sdgs_list li {
  width: 80px;
  padding: 0;
  margin: 0;
}
.project_detail_sec .sdgs_list li::before {
  content: none;
}
.project_detail_sec .related_image {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
.project_detail_sec .related_image .img {
  width: calc((100% - 20px) / 2);
}
.project_detail_sec .related_image .img img {
  border-radius: 10px;
  max-width: 100%;
}
.project_detail_sec .project_detail_info {
  width: 100%;
  margin-top: 50px;
  margin-bottom: 50px;
}
.project_detail_sec .project_detail_info .project_detail_info_ttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.project_detail_sec .project_detail_info .project_detail_info_block {
  width: 100%;
  background: #f5f7f9;
  border-radius: 10px;
  border: 2px solid #005bac;
  padding: 20px;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .img {
  width: 260px;
  margin: 0 auto 20px;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .img img {
  max-width: 100%;
  border-radius: 10px;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .txt_box {
  width: 100%;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .txt_box dl {
  display: flex;
  justify-content: flex-start;
  margin: 7px 0;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .txt_box dl dt {
  width: 125px;
  font-size: 1.6rem;
  font-weight: bold;
  word-break: break-all;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .txt_box dl dd {
  font-size: 1.6rem;
}
.project_detail_sec .project_detail_info .project_detail_info_block .project_detail_info_flex .txt_box dl dd a {
  font-size: 1.6rem;
  word-break: break-all;
}
.project_detail_sec .project_detail_info .project_detail_info_block .link {
  display: flex;
  justify-content: flex-end;
}
.project_detail_sec .project_detail_info .project_detail_info_block .link a {
  margin-top: 15px;
  text-decoration: none;
  font-size: 1.6rem;
  color: #005bac;
  position: relative;
  padding-left: 15px;
  padding-bottom: 3px;
  display: inline-block;
  margin-left: auto;
}
.project_detail_sec .project_detail_info .project_detail_info_block .link a::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  left: 0px;
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  transform: rotate(45deg);
}
.project_detail_sec .project_detail_info .project_detail_info_block .link a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #005bac;
  position: absolute;
  bottom: 0;
  left: 0;
}
.project_detail_sec .project_detail_info .project_detail_info_block p {
  font-size: 1.6rem;
  line-height: 2;
}
.project_detail_sec .project_detail_btn.no_select {
  margin-top: 50px;
}

/*coordinator*/
.coordinator_sec {
  padding: 80px 0 100px;
}
.coordinator_sec .coordinator_block {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
}
.coordinator_sec .coordinator_box {
  width: 100%;
  background: #fff;
  box-shadow: 0 0 24px rgba(0, 66, 118, 0.08);
  border: 2px solid #005bac;
  border-radius: 10px;
  padding: 30px 15px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.coordinator_sec .coordinator_box .img {
  width: 100%;
  max-width: 260px;
  margin: 0 auto 15px;
}
.coordinator_sec .coordinator_box .img img {
  max-width: 100%;
  border-radius: 10px;
}
.coordinator_sec .coordinator_box .txt_box {
  width: 100%;
}
.coordinator_sec .coordinator_box .txt_box .name {
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.coordinator_sec .coordinator_box .txt_box .name::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.coordinator_sec .coordinator_box .txt_box .link {
  margin-top: 5px;
  text-decoration: none;
  font-size: 1.6rem;
  color: #005bac;
  position: relative;
  padding-bottom: 3px;
  margin-bottom: 10px;
  display: inline-block;
  margin-left: auto;
}
.coordinator_sec .coordinator_box .txt_box .link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #005bac;
  position: absolute;
  bottom: 0;
  left: 0;
}
.coordinator_sec .coordinator_box .txt_box .txt {
  font-size: 1.6rem;
  line-height: 2;
}

/*coordinator*/
.registration_sec {
  padding: 50px 0 100px;
}
.registration_sec .registration_main_txt {
  margin-bottom: 80px;
}
.registration_sec .registration_main_txt .txt {
  font-size: 1.6rem;
  text-align: left;
  line-height: 2;
}
.registration_sec .registration_main_txt .txt:nth-last-of-type(n+2) {
  margin-bottom: 3.0rem;
}
.registration_sec .registration_block {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.registration_sec .registration_block .registration_first_box {
  width: 100%;
  box-shadow: 0 0 24px rgba(0, 66, 118, 0.08);
  border-radius: 10px;
  /*padding: 50px 5% 30px;*/
  padding: 60px 5% 30px;
  border: 2px solid #009893;
  position: relative;
  margin-bottom: 80px;
}
.registration_sec .registration_block .registration_first_box::before {
  content: "";
  width: 70px;
  height: 35px;
  background: #fff;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
  border: 2px solid #009893;
  border-bottom: none;
  position: absolute;
  top: -37px;
  left: 50%;
  transform: translateX(-50%);
}
.registration_sec .registration_block .registration_first_box::after {
  content: "";
  width: 24px;
  height: 42px;
  background: url(../images/registration/first_icon.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}
.registration_sec .registration_block .registration_first_box .text {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 25px;
}
.registration_sec .registration_block .registration_first_box .registration_first_btn a {
  background-color: #009893;
  position: relative;
}
.registration_sec .registration_block .registration_first_box .registration_first_btn a:hover {
  background-color: #23d1cb;
}
.registration_sec .registration_block .registration_first_box .registration_first_btn a::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../images/registration/window_icon.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 10px);
  right: 25px;
}
.registration_sec .registration_block .registration_user_box {
  width: 100%;
  box-shadow: 0 0 24px rgba(0, 66, 118, 0.08);
  border-radius: 10px;
  padding: 50px 5% 30px;
  border: 2px solid #005bac;
  position: relative;
}
.registration_sec .registration_block .registration_user_box::before {
  content: "";
  width: 70px;
  height: 35px;
  background: #fff;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
  border: 2px solid #005bac;
  border-bottom: none;
  position: absolute;
  top: -37px;
  left: 50%;
  transform: translateX(-50%);
}
.registration_sec .registration_block .registration_user_box::after {
  content: "";
  width: 26px;
  height: 30px;
  background: url(../images/registration/user_icon.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
.registration_sec .registration_block .registration_user_box .text {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 25px;
}

.video_sec {
  padding: 50px 0 100px;
}
.video_sec .video_block .video_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.video_sec .video_block .video_ttl::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.video_sec .video_block .video_list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 50px 20px;
}
.video_sec.video_public .video_list:nth-last-of-type(n+2) {
  margin-bottom: 60px;
}
.video_sec .video_block .video_list .video_box {
  width: 100%;
}
.video_sec .video_block .video_list .video_box .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.video_sec .video_block .video_list .video_box .video iframe {
  width: 100%;
  height: 250px;
}
.video_sec.video_public .subtxt {
  width: 100%;
  text-align: left;
}
.video_sec.video_public .subtxt a {
  font-size: inherit;
}

.news_list_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.news_list_sec .news_list {
  width: 100%;
}
.news_list_sec .news_list li a {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  text-decoration: none;
  padding: 2rem 0;
  border-bottom: 1px solid #ddd;
  gap: 10px;
}
.news_list_sec .news_list li a .date {
  font-size: 1.6rem;
  display: inline-block;
  width: 100px;
}
.news_list_sec .news_list li a .cat {
  font-size: 1.4rem;
  color: #fff;
  display: inline-block;
  width: 18rem;
  padding: 3px;
  border-radius: 50px;
  text-align: center;
}
.news_list_sec .news_list li a .cat.cat01 {
  background: #005bac;
}
.news_list_sec .news_list li a .cat.cat02 {
  background: #00aca6;
}
.news_list_sec .news_list li a .cat.cat03 {
  background: #005bac;
}
.news_list_sec .news_list li a .ttl {
  font-size: 1.6rem;
  color: #005bac;
  display: inline-block;
  border-bottom: 1px solid #005bac;
}
.news_list_sec .news_list li a:hover .ttl {
  color: #0685de;
  border-bottom: 1px solid #0685de;
}

#pagenavi {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 8rem;
}
#pagenavi .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#pagenavi .wp-pagenavi a {
  text-decoration: none;
  border: 1px solid #005bac;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50px;
  color: #005bac;
  font-size: 1.4rem;
  margin: 0 5px;
  line-height: 1;
  border: 1px solid #005bac;
  background: #fff;
}
#pagenavi .wp-pagenavi a:hover {
  background: #005bac;
  color: #fff;
}
#pagenavi .wp-pagenavi a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#pagenavi .wp-pagenavi span.current {
  color: #fff;
  background: #005bac;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50px;
  border: 1px solid #005bac;
  font-size: 1.4rem;
  line-height: 1;
  margin: 0 5px;
}
#pagenavi .wp-pagenavi .nextpostslink {
  font-size: 0px;
  position: relative;
}
#pagenavi .wp-pagenavi .nextpostslink::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: calc(50% - 4px);
  right: calc(50% - 3px);
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  transform: rotate(45deg);
}
#pagenavi .wp-pagenavi .previouspostslink {
  font-size: 0px;
  position: relative;
}
#pagenavi .wp-pagenavi .previouspostslink::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: calc(50% - 4px);
  right: calc(50% - 7px);
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  transform: rotate(225deg);
}
#pagenavi .wp-pagenavi .extend {
  border: none;
}

.news_detail {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
}
.news_detail .news_detail_main_ttl {
  font-size: 2.6rem;
  color: #fff;
  text-align: left;
  margin-bottom: 10px;
  display: block;
  width: 100%;
  margin-top: 100px;
}
.news_detail .date {
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  width: 100%;
}
.news_detail .cate {
  margin-top: 15px;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.news_detail .cate li {
  font-size: 1.4rem;
  color: #fff;
  background: #005bac;
  display: inline-block;
  padding: 7px 40px;
  border: 1px solid #fff;
  border-radius: 50px;
}

.news_detail_sec {
  width: 100%;
  padding: 0px 0 100px;
}
.news_detail_sec .news_detail_btn {
  margin-top: 100px;
}

.magazine_list_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.magazine_list_sec .magazine_list_cat {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-bottom: 50px;
}
.magazine_list_sec .magazine_list_cat li a {
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  display: block;
  padding: 5px 15px;
  border-radius: 50px;
  color: #005bac;
  border: 1px solid #005bac;
}
.magazine_list_sec .magazine_list_cat li a.current {
  color: #fff;
  background: #005bac;
}
.magazine_list_sec .magazine_list_cat li a:hover {
  color: #fff;
  background: #005bac;
}

.common_magazine_list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 30px 15px;
}
.common_magazine_list .magazine_box {
  display: block;
  width: calc((100% - 15px) / 2);
  text-decoration: none;
}
.common_magazine_list .magazine_box .img {
  position: relative;
  width: 100%;
  padding-top: 52%;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 20px;
}
.common_magazine_list .magazine_box .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: contain;
     object-fit: contain;
}
.common_magazine_list .magazine_box .img .cat {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  padding: 3px 15px;
  background: #005bac;
  border-radius: 10px 0 10px 0;
}
.common_magazine_list .magazine_box .ttl {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.common_magazine_list .magazine_box .sub_lead_sentence {
  font-size: 1.4rem;
  color: #005bac;
  font-weight: bold;
  margin-bottom: 8px;
}
.common_magazine_list .magazine_box .date {
  font-size: 1.4rem;
  color: #a9a9a9;
}

.magazine_detail_top {
  height: 100px;
}

.magazine_detail_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.magazine_detail_sec .magazine_container {
  max-width: 1000px;
  margin: 0 auto 100px;
}
.magazine_detail_sec .magazine_detail_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.magazine_detail_sec .magazine_detail_info {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
}
.magazine_detail_sec .magazine_detail_info .info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px 20px;
}
.magazine_detail_sec .magazine_detail_info .info .date {
  font-size: 1.6rem;
  font-weight: bold;
  color: #005bac;
}
.magazine_detail_sec .magazine_detail_info .info .cat {
  font-size: 1.4rem;
  color: #fff;
  background: #005bac;
  display: inline-block;
  padding: 3px 20px;
  border: 1px solid #fff;
  border-radius: 50px;
}
.magazine_detail_sec .magazine_detail_info .share {
  font-size: 1.6rem;
}
.magazine_detail_sec .bottom_share {
  margin-top: 50px;
  font-size: 1.6rem;
}
.magazine_detail_sec .magazine_detail_btn {
  margin-top: 50px;
}
.magazine_detail_sec .magazine_detail_recommend_ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 35px;
}

.mokuji_box {
  width: 100%;
  margin: 50px auto;
  background: #f5f7f9;
  border: 2px solid #005bac;
  border-radius: 10px;
  padding: 25px 15px;
}
.mokuji_box .mokuji_title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.mokuji_box .chapter {
  list-style-type: none;
}
.mokuji_box .chapter li {
  list-style-type: none;
}
.mokuji_box .chapter li a {
  text-decoration: underline;
  text-decoration-color: #005bac;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #005bac;
  display: inline-block;
  margin: 5px 0;
  position: relative;
  padding-left: 25px;
}
.mokuji_box .chapter li a::before {
  content: "";
  width: 16px;
  height: 16px;
  background: #005bac;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: 0;
}
.mokuji_box .chapter li a::after {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(135deg);
}
.mokuji_box .chapter li a:hover {
  color: #0685de;
}
.mokuji_box:empty {
  display: none;
}
.mokuji_box:empty + .editor_area{
  margin-top: 50px;
}

.members_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.members_sec .members_block {
  width: 100%;
  margin-bottom: 60px;
}
.members_sec .members_block:last-child {
  margin-bottom: 0;
}
.members_sec .members_block .members_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
  padding-left: 40px;
}
.members_sec .members_block .members_ttl::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.members_sec .members_block .members_ttl.exchange::after {
  content: "";
  width: 28px;
  height: 25px;
  background: url(../images/members/icon01.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}
.members_sec .members_block .members_ttl.movie::after {
  content: "";
  width: 30px;
  height: 21px;
  background: url(../images/members/icon02.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 5px;
  left: 0;
}
.members_sec .members_block .members_btn_block {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
.members_sec .members_block .members_btn_block .members_btn {
  width: 100%;
  max-width: 380px;
}
.members_sec .members_block .members_btn_block .members_btn a {
  max-width: 380px;
}
.mokuji_box .chapter .chapter {
  padding-left: 1.5rem;
}

.event_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.event_sec .ank {
  padding-top: 110px;
  margin-top: -110px;
}
.event_sec .event_main {
  margin-bottom: 40px;
}
.event_sec .event_main .txt {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: left;
  line-height: 2;
}
.event_sec .event_cat_list {
  width: 100%;
  margin-bottom: 30px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.event_sec .event_cat_list li {
  width: calc((100% - 20px) / 2);
}
.event_sec .event_cat_list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  background: #005bac;
  border-radius: 50px;
  position: relative;
  padding: 10px;
  text-decoration: none;
}
.event_sec .event_cat_list li a::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: calc(50% - 8px);
  right: 20px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(135deg);
}
.event_sec .event_cat_list li a:hover {
  background: #0685de;
}
.event_sec .event_block {
  margin-bottom: 50px;
}
.event_sec .event_block .event_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.event_sec .event_block .event_ttl::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.event_sec .event_block .no_event {
  font-size: 1.6rem;
}
.event_sec .event_block .event_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 50px;
}
.event_sec .event_block .event_flex .img {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
.event_sec .event_block .event_flex .img img {
  border-radius: 10px;
}
.event_sec .event_block .event_flex .txt_box {
  width: 100%;
}
.event_sec .event_block .event_flex .txt_box .accept {
  display: inline-block;
  font-size: 1.4rem;
  color: #005bac;
  border: 1px solid #005bac;
  background: #f4faff;
  padding: 3px 20px;
  border-radius: 50px;
  font-weight: bold;
}
.event_sec .event_block .event_flex .txt_box .end {
  display: inline-block;
  font-size: 1.4rem;
  color: #d00824;
  border: 1px solid #d00824;
  background: #fff6f7;
  padding: 3px 20px;
  border-radius: 50px;
  font-weight: bold;
}
.event_sec .event_block .event_flex .txt_box .sttl {
  font-weight: 700;
  color: #005bac;
  margin-top: 2.0rem;
}
.event_sec .event_block .event_flex .txt_box .event_dl {
  margin-top: 15px;
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.event_sec .event_block .event_flex .txt_box .event_dl dt {
  width: 80px;
  padding: 15px 0;
  border-bottom: 1px solid #005bac;
  font-size: 1.6rem;
  font-weight: bold;
}
.event_sec .event_block .event_flex .txt_box .event_dl dd {
  width: calc(100% - 80px);
  padding: 15px;
  border-bottom: 1px solid #ddd;
  font-size: 1.6rem;
}
.event_sec .event_block .event_flex .txt_box .event_btn a {
  position: relative;
}
.event_sec .event_block .event_flex .txt_box .event_btn a::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../images/event/window.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 7px);
  right: 20px;
}

.link_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.link_sec .link_block {
  width: 100%;
  margin-bottom: 50px;
}
.link_sec .link_block .link_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.link_sec .link_block .link_ttl::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.link_sec .link_block .link_list {
  width: 100%;
}
.link_sec .link_block .link_list li {
  padding: 20px 15px;
  border-bottom: 1px solid #d2d2d2;
}
.link_sec .link_block .link_list li a {
  display: inline-block;
  text-decoration: none;
  color: #005bac;
  font-size: 1.6rem;
  padding-right: 30px;
  position: relative;
  padding-bottom: 3px;
}
.link_sec .link_block .link_list li a::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #005bac;
  position: absolute;
  bottom: 0;
  left: 0;
}
.link_sec .link_block .link_list li a::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../images/link/window.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 7px);
  right: 0;
}
.link_sec .link_block .link_list li a:hover {
  color: #0685de;
}

.sitemap_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.sitemap_sec .sitemap_block {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sitemap_sec .sitemap_block .sitemap_list {
  width: 100%;
}
.sitemap_sec .sitemap_block .sitemap_list li {
  margin: 5px 0;
}
.sitemap_sec .sitemap_block .sitemap_list li a {
  display: block;
  padding: 20px 10px;
  position: relative;
  font-size: 1.6rem;
  text-decoration: none;
  font-weight: bold;
}
.sitemap_sec .sitemap_block .sitemap_list li a::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 35%, #d2d2d2 35%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.sitemap_sec .sitemap_block .sitemap_list li a::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: calc(50% - 8px);
  right: 15px;
  border-top: 2px solid #005bac;
  border-right: 2px solid #005bac;
  transform: rotate(45deg);
}
.sitemap_sec .sitemap_block .sitemap_list li a.window::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../images/sitemap/window.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 7px);
  right: 15px;
  border-top: none;
  border-right: none;
  transform: rotate(0);
}
.sitemap_sec .sitemap_block .sitemap_list li.mb {
  margin-bottom: 20px;
}
.sitemap_sec .sitemap_block .sitemap_list li.sub a {
  color: #696969;
  padding: 5px 10px;
  font-weight: normal;
}
.sitemap_sec .sitemap_block .sitemap_list li.sub a::before {
  content: none;
}
.sitemap_sec .sitemap_block .sitemap_list li.sub a::after {
  border-top: 2px solid #696969;
  border-right: 2px solid #696969;
}
.sitemap_sec .sitemap_block .sitemap_list li.sub a:hover {
  opacity: 0.7;
  color: #0685de;
}
@media screen and (min-width: 480px) {
  .sitemap_sec .sitemap_block {
    gap: 20px;
  }
  .sitemap_sec .sitemap_block .sitemap_list {
    width: calc((100% - 20px) / 2);
  }
}

.privacy_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.privacy_sec .privacy_block {
  width: 100%;
  margin-bottom: 50px;
}
.privacy_sec .privacy_block .privacy_main_txt {
  margin-bottom: 40px;
}
.privacy_sec .privacy_block .privacy_main_txt .privacy_btn {
  padding-top: 20px;
}
.privacy_sec .privacy_block .privacy_main_txt .privacy_btn a {
  padding: 1.8rem 0;
}
.privacy_sec .privacy_block .privacy_main_txt .privacy_btn a::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../images/registration/window_icon.png) center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 10px);
  right: 25px;
}
.privacy_sec .privacy_block .privacy_main_txt .privacy_btn a .txt {
  line-height: 160%;
}
.privacy_sec .privacy_block .privacy_dlist dt {
  font-size: 2.2rem;
  font-weight: bold;
  color: #222;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.privacy_sec .privacy_block .privacy_dlist dt::before {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #005bac 0%, #005bac 16%, #d2d2d2 16%, #d2d2d2 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.privacy_sec .privacy_block .privacy_dlist dd {
  margin-bottom: 40px;
}

.matching_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.matching_sec .matching_block {
  width: 100%;
  margin-bottom: 50px;
}
.matching_sec .matching_block .soon {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  width: 100%;
  display: block;
  padding: 2em 0;  
}

.not_found_sec {
  width: 100%;
  padding: 50px 0 100px;
}
.not_found_sec .not_found_block {
  width: 100%;
  margin-bottom: 50px;
}
.not_found_sec .not_found_block .common_txt01 {
  padding: 30px 0 50px;
}/*# sourceMappingURL=sp_02.css.map */