/* ===============================================================================
Module
=============================================================================== */
/* inner module 
========================= */
/* m-inner-1 */
.m-inner-1 {
  max-width: 1024px;
  padding: 0 20px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .m-inner-1 {
    padding: 0;
    margin: 0 15px;
  }
  .m-inner-1__inner {
    margin: 0 13.045%;
  }
}

/* hedinag module 
========================= */
/* m-heading-1 */
.m-heading-1 {
  font-size: 2.1875rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .m-heading-1 {
    font-size: 1.25rem;
  }
}

/* m-heading-2 */
.m-heading-2 {
  font-size: 1.25rem;
  line-height: 2.66;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .m-heading-2 {
    font-size: 0.7813rem;
    line-height: 2.128;
  }
}

/* text module 
========================= */
/* m-txt-1 */
.m-txt-1 {
  font-size: 0.9375rem;
  line-height: 2.333;
}

@media screen and (max-width: 768px) {
  .m-txt-1 {
    font-size: 0.7813rem;
    line-height: 2;
  }
}

/* m-txt-2 */
.m-txt-2 {
  font-size: 1.25rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .m-txt-2 {
    font-size: 0.7813rem;
    line-height: 2;
  }
}

/* button module 
========================= */
/* m-btn-1 */
.m-btn-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 250px;
  height: 50px;
  margin: 0 auto;
  background: #105b99;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
}

.m-btn-1:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .m-btn-1 {
    width: 150px;
    height: 30px;
    font-size: 0.75rem;
  }
}

/* m-btn-2 */
.m-btn-2 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 250px;
  height: 50px;
  margin: 0 auto;
  background: #105b99;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.m-btn-2:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .m-btn-2 {
    width: 200px;
    height: 40px;
    font-size: 0.9375rem;
  }
}

/* list module 
========================= */
/* m-list-1 */
.m-list-1__item {
  display: inline-block;
}

.m-list-1__item:not(:last-child) {
  margin-right: 1em;
}

/* m-newsList-1 */
.m-newsList-1 {
  border-top: solid 1px #b2b2b2;
}

.m-newsList-1__item {
  font-size: 0.9375rem;
  line-height: 2;
  border-bottom: solid 1px #b2b2b2;
}

.m-newsList-1__item__box {
  display: block;
  padding: 19px 76px 20px 25px;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  position: relative;
}

.m-newsList-1__item__box::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  right: 33px;
  bottom: 0;
  margin: auto 0;
  width: 10px;
  height: 12px;
  background: url("../img/cmn/cmn_arr05.svg") no-repeat 0 0/100% 100%;
}

.m-newsList-1__item__box:hover {
  background: #f1f1f1;
}

.m-newsList-1__item__box__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.m-newsList-1__item__box__date {
  width: 142px;
}

.m-newsList-1__item__box__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .m-newsList-1__item {
    font-size: 0.7813rem;
    line-height: 1.8;
  }
  .m-newsList-1__item__box {
    padding: 14px 43px 14px 15px;
  }
  .m-newsList-1__item__box::after {
    content: "";
    right: 15px;
    width: 8px;
    height: 10px;
  }
  .m-newsList-1__item__box:hover {
    background: #f1f1f1;
  }
  .m-newsList-1__item__box__inner {
    display: block;
  }
  .m-newsList-1__item__box__date {
    width: auto;
  }
}

/* m-linkList-1 */
.m-linkList-1 + .m-linkList-1 {
  margin-top: 78px;
}

.m-linkList-1__heading {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 700;
  padding: 0 15px 13px;
  border-bottom: solid 2px #105b99;
  margin-bottom: 4px;
}

.m-linkList-1__list__item {
  border-bottom: 1px solid #b3b2b2;
  font-size: 0.9375rem;
}

.m-linkList-1__list__item a {
  display: block;
  padding: 18px 32px 18px 15px;
  background: url("../img/cmn/cmn_arr05.svg") no-repeat center right 7px/10px auto;
}

.m-linkList-1__list__item a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .m-linkList-1 + .m-linkList-1 {
    margin-top: 50px;
  }
  .m-linkList-1__heading {
    font-size: 1rem;
    padding: 0 15px 11px;
  }
  .m-linkList-1__list__item {
    border-bottom: 1px solid #b3b2b2;
    font-size: 0.7813rem;
  }
  .m-linkList-1__list__item a {
    display: block;
    padding: 14px 37px 14px 15px;
    background: url("../img/cmn/cmn_arr05.svg") no-repeat center right 15px/6px auto;
  }
}

/* column module 
========================= */
/* m-col2-1 */
.m-col2-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.m-col2-1__col {
  position: relative;
  width: 47.62%;
  margin: 100px 4.76% 0 0;
}

.m-col2-1__col:nth-child(2n) {
  margin-right: 0;
}

.m-col2-1__col:nth-child(-n+2) {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .m-col2-1 {
    display: block;
  }
  .m-col2-1__col {
    width: auto;
    margin: 0;
  }
  .m-col2-1__col:not(:last-child) {
    margin-bottom: 50px;
  }
}

/* m-col3-1 */
.m-col3-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.m-col3-1__col {
  width: 31.25%;
  position: relative;
  margin: 80px 3.125% 0 0;
}

.m-col3-1__col:nth-child(3n) {
  margin-right: 0;
}

.m-col3-1__col:nth-child(-n+3) {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .m-col3-1 {
    display: block;
  }
  .m-col3-1__col {
    width: auto;
    margin: 0;
    display: none;
  }
  .m-col3-1__col:nth-child(-n+2) {
    display: block;
  }
  .m-col3-1__col:not(:last-child) {
    margin-bottom: 35px;
  }
}

/* box module 
========================= */
/* m-box-1 */
.m-box-1 {
  display: block;
  padding-bottom: 26px;
}

.m-box-1::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #105b99;
}

.m-box-1__image {
  padding-top: 65.117%;
  position: relative;
  margin-bottom: 8px;
}

.m-box-1__image img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.m-box-1__image::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: solid 1px #fff;
  z-index: 1;
}

.m-box-1__image::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/cmn/cmn_frame01.png") no-repeat 0 0/100% 100%;
}

.m-box-1__group {
  padding: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.m-box-1__date {
  font-size: 0.9375rem;
  margin: 5px 8px 5px 0;
}

.m-box-1__cat {
  margin: 5px 0;
  font-size: 0.9375rem;
  font-weight: 700;
  background: #d3e5f4;
  padding: 3px 18px;
}

.m-box-1__heading {
  font-size: 0.9375rem;
  line-height: 1.75;
  padding: 0 20px;
}

@media screen and (min-width: 769px) {
  .m-box-1.m-box-1_type-2 {
    padding-bottom: 7px;
  }
  .m-box-1.m-box-1_type-2 .m-box-1__image {
    margin-bottom: 16px;
  }
  .m-box-1.m-box-1_type-2 .m-box-1__group {
    padding: 0 7px;
    margin-bottom: 5px;
  }
  .m-box-1.m-box-1_type-2 .m-box-1__heading {
    padding: 0 7px;
  }
}

@media screen and (max-width: 768px) {
  .m-box-1 {
    padding-bottom: 8px;
  }
  .m-box-1::after {
    height: 1px;
  }
  .m-box-1__image {
    margin-bottom: 5px;
  }
  .m-box-1__group {
    padding: 0;
  }
  .m-box-1__date {
    font-size: 0.7813rem;
    margin: 3px 8px 3px 0;
  }
  .m-box-1__cat {
    margin: 3px 0;
    font-size: 0.7813rem;
    padding: 2px 12px;
  }
  .m-box-1__heading {
    font-size: 0.7813rem;
    line-height: 2;
    padding: 0;
  }
}

a.m-box-1:hover {
  opacity: 0.8;
}

/* table module 
========================= */
/* m-table-1 */
.m-table-1__table {
  width: 100%;
  border-top: solid 1px #c6c8c7;
}

.m-table-1__th, .m-table-1__td {
  border-bottom: solid 1px #c6c8c7;
  font-size: 0.9375rem;
  line-height: 2.333;
  box-sizing: border-box;
  padding: 23px 20px;
  text-align: left;
  vertical-align: middle;
}

.m-table-1__th {
  width: 250px;
  background: #f3f3f4;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .m-table-1__th, .m-table-1__td {
    font-size: 0.7813rem;
    line-height: 1.75;
    padding: 15px 10px;
  }
  .m-table-1__th {
    width: 93px;
  }
}

/* navigation module 
========================= */
/* m-nav-1 */
.m-nav-1 {
  max-width: 665px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.m-nav-1__btn {
  font-size: 1.125rem;
}

.m-nav-1__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 151px;
  height: 45px;
  background: #e6e6e5;
}

.m-nav-1__btn a:hover {
  opacity: 0.8;
}

.m-nav-1__btn.m-nav-1__btn_prev a, .m-nav-1__btn.m-nav-1__btn_next a {
  background: #105b99;
  color: #fff;
}

.m-nav-1__btn.m-nav-1__btn_prev a::before {
  content: "";
  display: block;
  background: url("../img/cmn/cmn_arr04.svg") no-repeat 0 0/100% 100%;
  -webkit-transform: scale(-1, 1);
      -ms-transform: scale(-1, 1);
          transform: scale(-1, 1);
  width: 10px;
  height: 12px;
  margin-right: 12px;
}

.m-nav-1__btn.m-nav-1__btn_next a::after {
  content: "";
  display: block;
  background: url("../img/cmn/cmn_arr04.svg") no-repeat 0 0/100% 100%;
  width: 10px;
  height: 12px;
  margin-left: 12px;
}

@media screen and (max-width: 768px) {
  .m-nav-1__btn {
    width: 31%;
    font-size: 0.7813rem;
    line-height: 1.2;
  }
  .m-nav-1__btn a {
    width: 100%;
    height: 40px;
  }
  .m-nav-1__btn.m-nav-1__btn_prev a::before {
    width: 6px;
    height: 8px;
    margin-right: 6px;
  }
  .m-nav-1__btn.m-nav-1__btn_next a::after {
    width: 6px;
    height: 8px;
    margin-left: 6px;
  }
}

/* pagination module 
========================= */
/* m-pagination-1 */
.m-pagination-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #105b99;
}
.prev, .next,
.m-pagination-1__prev, .m-pagination-1__next {
  display: block;
  width: 35px;
  height: 35px;
  background: #105b99 url("../img/cmn/cmn_arr06.svg") no-repeat center center/6px auto;
}
.prev,
.m-pagination-1__prev {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 9px;
}
.next,
.m-pagination-1__next {
  margin-left: 9px;
}
.page-numbers,
.m-pagination-1__num {
  width: 35px;
  height: 35px;
  box-sizing: border-box;
  border: solid #105b99 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 8px;
  font-size: 1.0625rem;
}

.m-pagination-1 a:hover {
  opacity: 0.8;
}

.m-pagination-1 span.page-numbers,
.m-pagination-1 span.m-pagination-1__num {
  background: #105b99;
  color: #fff;
}

.m-pagination-1 span.dots,
.m-pagination-1__dots {
  background: #ffffff;
  border: 0px;
  color: #105b99;
  position: relative;
  top: -5px;
  font-size: 1.2188rem;
  margin: 0 9px;
}

@media screen and (max-width: 768px) {
  .prev, .next,
  .m-pagination-1__prev, .m-pagination-1__next {
    width: 30px;
    height: 30px;
    background: #105b99 url("../img/cmn/cmn_arr06.svg") no-repeat center center/5px auto;
  }
  .prev,
  .m-pagination-1__prev {
    margin-right: 7px;
  }
  .next,
  .m-pagination-1__next {
    margin-left: 7px;
  }
  .page-numbers,
  .m-pagination-1__num {
    width: 30px;
    height: 30px;
    margin: 0 7px;
    font-size: 0.8125rem;
  }
  .m-pagination-1 span.dots,
  .m-pagination-1__dots {
    top: -5px;
    margin: 0 6px;
  }
}

@media screen and (max-width: 374px) {
  .prex, .next,
  .m-pagination-1__prev, .m-pagination-1__next {
    width: 26px;
    height: 26px;
  }
  .prev,
  .m-pagination-1__prev {
    margin-right: 5px;
  }
  .next,
  .m-pagination-1__next {
    margin-left: 5px;
  }
  .page-numbers,
  .m-pagination-1__num {
    width: 26px;
    height: 26px;
    margin: 0 5px;
  }
  .m-pagination-1 span.dots,
  .m-pagination-1__dots {
    margin: 0 4px;
  }
}
