.main .hgroup {
  max-width: 1026px;
  height: 200px;
  margin-inline: auto;
  display: grid;
  grid-template-rows: 1fr 20px;
  align-items: center;
  padding: 0 10px 20px;
}
@media screen and (max-width: 767px) {
  .main .hgroup {
    padding: 0 10px 30px;
    height: 145px;
  }
}
.main .hgroup .page_title {
  font-size: clamp(25px, 3.41131vw, 35px);
}
.main .main_img {
  display: grid;
}
.main .main_img .img,
.main .main_img .img_caption {
  grid-column: 1/2;
  grid-row: 1/2;
}
.main .main_img .img_caption {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: clamp(60px, 14.61988vw, 150px);
  color: #9c9c9c;
  font-weight: 400;
  position: relative;
  z-index: 1;
  font-family: 'Roboto', sans-serif;
  line-height: 1;
  translate: 0 5vw;
}
@media screen and (max-width: 767px) {
  .main .main_img .img_caption {
    translate: 0 8vw;
  }
}

.contents_title {
  font-size: clamp(20px, 3.41131vw, 35px);
  width: fit-content;
  border-bottom: 3px solid #0A50A1;
  line-height: 2;
  font-weight: 700;
  margin-inline: auto;
}
.contents_title + .news_list_wrap,
.contents_title + .read {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .contents_title + .news_list_wrap,
  .contents_title + .read {
    margin-top: 30px;
  }
}
.contents_title + .read {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents_title + .read {
    text-align: left;
  }
  .contents_title + .read br {
    display: none;
  }
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0 5px;
}
.breadcrumbs a,
.breadcrumbs span {
  font-size: 13px;
}
.breadcrumbs a {
  display: flex;
  gap: 0 5px;
}
.breadcrumbs a:after {
  content: ">";
  font-size: 13px;
  color: #222 !important;
}
@media (any-hover: hover) {
  .breadcrumbs a:hover {
    color: #757575;
  }
  .breadcrumbs a:hover:after {
    color: #222;
  }
}

ul.list_initial {
  list-style: initial;
  padding-left: 1rem;
  margin-top: 25px;
}
ul.list_initial li.in_list {
  font-size: 15px;
  line-height: 2;
}

.table_initial {
  border-collapse: collapse;
  border: 1px solid #E8E8E8;
  width: 100%;
}
.table_initial td,
.table_initial th {
  border: 1px solid #E8E8E8;
  font-size: 14px;
  line-height: 2;
  padding: 11px 13px 9px;
}
.table_initial td p,
.table_initial th p {
  font-size: 14px;
  line-height: 2;
}
.table_initial th {
  background: #F5F5F5;
}

.table_caption {
  display: flex;
  gap: 5px;
  margin-top: 8px;
}
.table_caption span {
  font-size: 14px;
}

.list_style {
  padding-left: 1rem;
  position: relative;
}
.list_style:before {
  content: "";
  position: absolute;
  display: block;
  top: 12px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: #222;
}

.pagenation_box {
  display: flex;
  width: 100%;
  justify-content: center;
  margin-top: 77px;
}
.pagenation_box .pagination .nav-links {
  display: flex;
  align-items: center;
  gap: 15px;
}
.pagenation_box .pagination .nav-links a,
.pagenation_box .pagination .nav-links span {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #757575;
}
.pagenation_box .pagination .nav-links a.back,
.pagenation_box .pagination .nav-links span.back {
  background: none;
  border: 1px solid #757575;
  color: #222;
}
.pagenation_box .pagination .nav-links a.back:after,
.pagenation_box .pagination .nav-links span.back:after {
  content: "<";
  display: block;
}
.pagenation_box .pagination .nav-links a.next,
.pagenation_box .pagination .nav-links span.next {
  background: none;
  border: 1px solid #757575;
  color: #222;
}
.pagenation_box .pagination .nav-links a.next:after,
.pagenation_box .pagination .nav-links span.next:after {
  content: ">";
  display: block;
}
.pagenation_box .pagination .nav-links span {
  background: #0A50A1;
  border: 1px solid #0A50A1;
  color: #FFF;
}

.template .container .contents h2 {
  font-size: clamp(23px, 2.92398vw, 30px);
  font-weight: 700;
  line-height: 2;
  padding-bottom: 6px;
  border-bottom: 1px solid #757575;
}
@media screen and (max-width: 767px) {
  .template .container .contents h2 {
    padding-bottom: 16px;
  }
}
.template .container .contents h3 {
  font-size: 25px;
  line-height: 2;
  position: relative;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .template .container .contents h3 {
    font-size: 20px;
    padding-left: 30px;
  }
  .template .container .contents h3 br {
    display: none;
  }
}
.template .container .contents h3:before {
  content: "";
  position: absolute;
  display: block;
  top: 24px;
  left: 0;
  width: 30px;
  height: 5px;
  background: #0A50A1;
}
@media screen and (max-width: 767px) {
  .template .container .contents h3:before {
    width: 20px;
    height: 3px;
    top: 20px;
  }
}
.template .container .contents h4 {
  font-size: clamp(18px, 1.42857vw, 20px);
  line-height: 1.5;
  font-weight:bold;
  padding-left: 15px;
  position:relative;
}
.template .container .contents h4:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 3px;
  height: 30px;
  background: #222222;
}
.template .container .contents h5 {
  font-size: clamp(16px, 1.75439vw, 18px);
  position: relative;
  line-height: 1.5;
  padding-left: 18px;
}
.template .container .contents h5:before {
  content: "";
  position: absolute;
  display: block;
  top: 9px;
  left: 0;
  background: #222;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .template .container .contents h5:before {
    top: 7px;
  }
}

/* margin */
.template .container .contents p + * {
  margin-top: 30px;
}
.template .container .contents dl + * {
  margin-top: 30px;
}
.template .container .contents ul + * {
  margin-top: 30px;
}
.template .container .contents ol + * {
  margin-top: 30px;
}
.template .container .contents table + * {
  margin-top: 30px;
}
.template .container .contents h2 + *{
  margin-top: 60px;
}
.template .container .contents h3 + *{
  margin-top: 45px;
}
.template .container .contents h4 + *,
.template .container .contents h5 + * {
  margin-top: 30px;
}
.template .container .contents * + h2,
.template .container .contents * + h3,
.template .container .contents * + h4,
.template .container .contents * + h5 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
.template .container .contents p + * {
  margin-top: 6vw;
}
.template .container .contents dl + * {
  margin-top: 6vw;
}
.template .container .contents ul + * {
  margin-top: 6vw;
}
.template .container .contents ol + * {
  margin-top: 6vw;
}
.template .container .contents table + * {
  margin-top: 6vw;
}
.template .container .contents h2 + *{
  margin-top: 12vw;
}
.template .container .contents h3 + *{
  margin-top: 9vw;
}
.template .container .contents h4 + *,
.template .container .contents h5 + * {
  margin-top: 6vw;
}
.template .container .contents * + h2,
.template .container .contents * + h3,
.template .container .contents * + h4,
.template .container .contents * + h5 {
  margin-top: 12vw;
}
}

.template .container .contents p {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .template .container .contents p {
    font-size: 14px;
  }
}
.template .container .contents dl {
/*  margin-top: 60px; */
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .template .container .contents dl {
    display: flex;
    flex-direction: column;
  }
}
.template .container .contents dl dt:has(img),
.template .container .contents dl dd:has(img) {
  display: flex;
  flex-direction: column;
  gap: 30px;
  flex: 0 0 400px;
}
.template .container .contents dl dt:not(:has(img)),
.template .container .contents dl dd:not(:has(img)) {
  flex: 1;
}
@media screen and (max-width: 767px) {
.template .container .contents dl dt:has(img),
.template .container .contents dl dd:has(img) {
  flex: auto;
}
}
.template .container .contents ul {
  list-style: disc;
  margin-left: 1rem;
}
.template .container .contents ul li {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .template .container .contents ul li {
    font-size: 14px;
  }
}
.template .container .contents ol {
  list-style: decimal;
  margin-left: 1rem;
}
.template .container .contents ol li {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .template .container .contents ol li {
    font-size: 14px;
  }
}
.template .container .contents table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #E8E8E8;
}
.template .container .contents table th {
  border: 1px solid #E8E8E8;
  width: 180px;
  padding: 10px 30px 9px;
  font-size: 15px;
  line-height: 2;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .template .container .contents table th {
    width: 100px;
    padding: 8px 12px 7px;
    font-size: 14px;
  }
}
.template .container .contents table td {
  border: 1px solid #E8E8E8;
  padding: 10px 30px 9px;
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .template .container .contents table td {
    padding: 8px 12px 8px;
    font-size: 14px;
  }
}
section.template a:has(img){
  display:inline-block;
}
.img_center{
  display: block;
  margin: 50px auto;
}
.common_btn {
  max-width: 340px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 45px;
  border: 1px solid #08478F;
  font-size: 15px;
  color: #08478F;
  margin: 0 auto;
}
.common_btn.blue {
  background: #08478F;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .common_btn {
    height: 50px;
  }
}
.common_btn:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 11px;
  translate: 0 -50%;
  width: 5px;
  height: 9px;
  background: url(../img/common/more_arow_b.svg) no-repeat left top;
  background-size: 5px 9px;
}
.common_btn.blue:after {
  background: url(../img/common/more_arow.svg) no-repeat left top;
}
@media (any-hover: hover) {
  .common_btn:hover {
    background: #08478F;
    color: #FFF;
  }
  .common_btn.blue:hover {
    background: #fff;
    color: #08478F;
  }
  .common_btn:hover:after {
    background: url(../img/common/more_arow.svg) no-repeat left top;
    background-size: 5px 9px;
  }
  .common_btn.blue:hover:after {
    background: url(../img/common/more_arow_b.svg) no-repeat left top;
  }
}

.container .contents .certificate{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
	align-items: center;
    gap: 30px;
}
.container .contents .certificate a{
    width: 300px;
}
section .container .contents .news-item + .news-item{
    margin-top:50px;
}

.container .contents .column_double{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
	align-items: center;
    gap: 30px;
}
.container .contents .column_double img{
    width:400px;
}
@media screen and (max-width: 767px) {
    .container .contents .column_double{
	    flex-direction: column;
        gap: 2vw;
	}
}

/*# sourceMappingURL=common.css.map */
