/*********/
.cat {
  background-color: #fff;
  border: 1px solid #2AA4B8;
  color: #2AA4B8;
  text-decoration: none;
  display: block;
  font: 1.4rem/26px "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  width: fit-content;
  height: 28px;
  padding: 0 8px; }
  .cat.current {
    color: #fff;
    background-color: #2AA4B8; }

.news-category-list {
  max-width: 1200px;
  width: calc(100% - 80px);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 auto 64px; }
  .news-category-list a {
    margin: 0 16px 16px 0; }

/*min-width:1920px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  .news-category-list {
    max-width: 896px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news-category-list a {
    margin: 0 10px 10px 0;
    letter-spacing: 0.1em; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news-category-list {
    max-width: 315px;
    margin: 0 auto 40px; }
    .news-category-list a {
      font: 1.3rem/26px "Noto Sans JP", sans-serif;
      font-weight: 400; } }
/*max-width:480px*/
/*********/
.box {
  max-width: 1200px;
  width: calc(100% - 80px);
  margin: 0 auto;
  padding: 0 0 120px; }

.news-list {
  width: 100%;
  margin: 0 auto 48px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start; }
  .news-list li {
    width: calc((100% - 48px)/4);
    margin: 0 16px 48px 0; }
    .news-list li:nth-of-type(4n) {
      margin-right: 0; }
  .news-list a {
    text-decoration: none; }
  .news-list .news-item__image {
    aspect-ratio: 288/200;
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: hidden;
    margin: 0 0 16px; }
  .news-list img {
    transition: .3s;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .news-list .cat {
    margin: 0 0 16px;
    color: #fff;
    background-color: #2AA4B8; }
  .news-list time {
    font: 1.5rem/1em "Noto Serif", serif;
    font-weight: 600;
    letter-spacing: 0.05em;
    display: block;
    margin: 0 0 8px; }
  .news-list .news-item__title {
    font: 1.6rem/1.8em "Noto Serif", serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 16px; }
  .news-list .arrow_link {
    font: 1.4rem/1em "Noto Serif", serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    display: block;
    width: fit-content;
    margin: 0 0 0 auto;
    position: relative;
    padding: 0 24px 8px 0;
    background: url("../images/common/arrow.svg") right top -4px no-repeat; }
    .news-list .arrow_link:before, .news-list .arrow_link:after {
      position: absolute;
      content: "";
      display: block;
      border-bottom: 1px solid;
      height: 1px;
      width: 100%;
      left: 0;
      bottom: 0; }
    .news-list .arrow_link:before {
      border-color: #A3B7BC; }
    .news-list .arrow_link:after {
      border-color: #0E798A;
      opacity: 0; }

@media (hover: hover) {
  .news-list a:hover img {
    transform: scale(1.1);
    transform-origin: center center; }
  .news-list a:hover .arrow_link:before {
    opacity: 0; }
  .news-list a:hover .arrow_link:after {
    opacity: 1; } }
/*min-width:1920px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  .box {
    max-width: 896px;
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 0 0 120px; }

  .news-list li {
    width: calc((100% - 32px)/3);
    margin: 0 16px 48px 0; }
    .news-list li:nth-of-type(4n) {
      margin-right: 16px; }
    .news-list li:nth-of-type(3n) {
      margin-right: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news-list {
    justify-content: space-between; }
    .news-list li {
      width: calc((100% - 20px)/2);
      margin: 0 0 48px; }
      .news-list li:nth-of-type(4n), .news-list li:nth-of-type(3n) {
        margin-right: 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .box {
    max-width: 315px;
    width: calc(100% - 60px);
    padding: 0 0 120px; }

  .news-list li {
    width: 100%;
    max-width: 288px;
    margin: 0 auto 64px; }
  .news-list time {
    font: 1.3rem/1em "Noto Serif", serif;
    font-weight: 600; }
  .news-list .news-item__title {
    font: 1.5rem/1.8em "Noto Serif", serif;
    font-weight: 500; }
  .news-list .arrow_link {
    font: 1.3rem/1em "Noto Serif", serif;
    font-weight: 500; } }
/*max-width:480px*/
/*********/
.pagination {
  max-width: 315px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
  .pagination a, .pagination span {
    text-align: center;
    margin: 0 15px 10px;
    font: 1.5rem/1em "Noto Serif", serif, sans-serif;
    font-weight: 400;
    text-decoration: none;
    color: #244C66; }

@media (hover: hover) {
  .pagination a:hover {
    opacity: 0.5; } }
/*min-width:1920px*/
/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .pagination {
    justify-content: center;
    align-items: center;
    max-width: 315px; } }
/*max-width:480px*/
/*********/
.single_flex {
  padding: 0 0 160px;
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 80px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .single_flex .left {
    width: 400px; }
    .single_flex .left .cat {
      margin: 0 0 24px;
      color: #fff;
      background-color: #2AA4B8; }
    .single_flex .left time {
      font: 1.6rem/1em "Noto Serif", serif;
      font-weight: 600;
      letter-spacing: 0.05em;
      display: block;
      padding: 0 0 16px;
      border-bottom: #A3B7BC 1px solid;
      margin: 0 0 16px; }
    .single_flex .left .ttl {
      font: 2.4rem/2.1em "Noto Serif", serif;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-align: justify;
      text-justify: inter-ideograph; }
  .single_flex .right {
    width: calc(100% - 480px);
    max-width: 680px; }

/*min-width:1920px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  .single_flex {
    padding: 0 0 160px;
    max-width: 680px;
    display: block; }
    .single_flex .left {
      width: 100%;
      max-width: 400px;
      margin-bottom: 48px; }
    .single_flex .right {
      width: 100%;
      max-width: 680px; } }
/*max-width:1024px*/
@media (max-width: 480px) {
  .single_flex {
    padding: 0 0 80px;
    max-width: 315px;
    margin: 0 auto;
    width: calc(100% - 60px); }
    .single_flex .left {
      width: 100%;
      max-width: 400px;
      margin-bottom: 40px; }
      .single_flex .left .cat {
        margin: 0 0 16px; }
      .single_flex .left time {
        font: 1.5rem/1em "Noto Serif", serif;
        font-weight: 600;
        letter-spacing: 0.05em; }
      .single_flex .left .ttl {
        font: 2rem/2.1em "Noto Serif", serif;
        font-weight: 500;
        letter-spacing: 0.1em; } }
/*max-width:480px*/
/*********/
.honbun {
  font: 1.6rem/2.2em "Noto Serif", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph; }
  .honbun p {
    margin-bottom: 30px; }
  .honbun img {
    display: block;
    margin-bottom: 10px; }
  .honbun h1 {
    margin-bottom: 10px;
    font: 120%/2.2em "Noto Serif", serif;
    font-weight: 700; }
  .honbun h2 {
    color: #202020;
    margin-bottom: 10px;
    font: 115%/2.2em "Noto Serif", serif;
    font-weight: 700;
    padding: 0;
    width: 100%;
    max-width: 1000%; }
    .honbun h2:before, .honbun h2:after {
      display: none; }
  .honbun h3 {
    margin-bottom: 10px;
    font: 110%/2.2em "Noto Serif", serif;
    font-weight: 700; }
  .honbun h4 {
    margin-bottom: 10px;
    font: 105%/2.2em "Noto Serif", serif;
    font-weight: 700; }
  .honbun h5 {
    margin-bottom: 10px;
    font: 100%/2.2em "Noto Serif", serif;
    font-weight: 700; }
  .honbun a:hover {
    text-decoration: underline; }

.block_link {
  display: block;
  background-color: #fff;
  width: 480px;
  height: 80px;
  border: 1px solid #A3B7BC;
  margin: 64px auto 0;
  text-align: center;
  font: 2rem/78px "Noto Serif", serif;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: .3s; }
  .block_link span {
    position: relative;
    padding: 0 48px 0 0; }
    .block_link span:before, .block_link span:after {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      width: 24px;
      height: 24px;
      top: 1px;
      right: 0; }
    .block_link span:before {
      background: url("../images/common/arrow_block01.svg") center center no-repeat;
      background-size: contain; }
    .block_link span:after {
      background: url("../images/common/arrow_block02.svg") center center no-repeat;
      background-size: contain;
      opacity: 0; }

@media (hover: hover) {
  .block_link:hover {
    background-color: #0E798A;
    color: #fff; }
    .block_link:hover span {
      position: relative;
      padding: 0 48px 0 0; }
      .block_link:hover span:before {
        opacity: 0; }
      .block_link:hover span:after {
        opacity: 1; } }
@media (max-width: 768px) {
  .block_link {
    width: 100%;
    max-width: 400px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .block_link {
    margin: 48px auto 0;
    max-width: 315px;
    font: 1.6rem/78px "Noto Serif", serif;
    font-weight: 500; }

  .honbun {
    font: 1.5rem/2.2em "Noto Serif", serif;
    font-weight: 500;
    letter-spacing: 0.05em; } }
/*max-width:480px*/
