:root {
  --vw: 1vw;
}

/* ---------------------------------------------------------
animation
----------------------------------------------------------*/
.fadeAnimeBefore {
  visibility: hidden;
}

.fadeAnime {
  visibility: visible;
  animation-name: fadeAnime;
}

@keyframes fadeAnime {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes leftRotateAnime {
  0%, 100% {
    transform: rotate(0deg) translateY(0);
  }
  50% {
    transform: rotate(-20deg) translateY(0);
  }
}
@keyframes rotateAnime {
  0%, 100% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
@keyframes upAnime {
  from {
    transform: translateY(-5px);
  }
  to {
    transform: translateY(5px);
  }
}
/* ---------------------------------------------------------
body
----------------------------------------------------------*/
body {
  color: #595959;
  padding-top: 16.8229166667%;
}
@media screen and (max-width: 1000px) {
  body {
    padding-top: calc(34.66 * var(--vw));
  }
}

/* ---------------------------------------------------------
.sec-intro
----------------------------------------------------------*/
.sec-intro {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .sec-intro {
    display: block;
  }
}
.sec-intro .pic {
  width: calc(44.21 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .sec-intro .pic {
    width: 60%;
  }
}
.sec-intro .txt-col {
  width: calc(33.33 * var(--vw));
  margin-right: calc(7.7 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .sec-intro .txt-col {
    width: 100%;
    padding: 0 calc(8 * var(--vw));
    margin: calc(8 * var(--vw)) 0 0;
  }
}
.sec-intro .txt-col .ttl {
  font-size: 48px;
  font-size: calc(2.5 * var(--vw));
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 1000px) {
  .sec-intro .txt-col .ttl {
    font-size: calc(4.26 * var(--vw));
  }
}
.sec-intro .txt-col .intro-bottom {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 50px;
  margin-top: calc(2.6 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .sec-intro .txt-col .intro-bottom {
    justify-content: flex-start;
    margin-top: calc(5.33 * var(--vw));
  }
}
.sec-intro .txt-col .txt-date {
  font-size: 30px;
  font-size: calc(1.56 * var(--vw));
  font-weight: 500;
  margin-right: 40px;
  margin-right: calc(2.08 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .sec-intro .txt-col .txt-date {
    font-size: calc(3.73 * var(--vw));
    margin-right: calc(2.66 * var(--vw));
  }
}
.sec-intro .txt-col .txt-cat {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
}
.sec-intro .txt-col .txt-cat span {
  display: inline-block;
  font-size: 22px;
  font-size: calc(1.14 * var(--vw));
  font-weight: 500;
  letter-spacing: -0.03em;
  padding: 8px 12px 6px;
  padding: calc(0.41 * var(--vw)) calc(0.62 * var(--vw)) calc(0.31 * var(--vw));
  border: 1px solid #000;
  border-radius: 100px;
}
@media screen and (max-width: 1000px) {
  .sec-intro .txt-col .txt-cat span {
    font-size: calc(3.46 * var(--vw));
    padding: calc(1.06 * var(--vw)) calc(1.6 * var(--vw));
  }
}
.sec-intro .txt-col .txt-cat span a {
  transition: opacity 0.3s;
}
.sec-intro .txt-col .txt-cat span a:hover {
  opacity: 0.6;
}

/* ---------------------------------------------------------
.news-body
----------------------------------------------------------*/
.news-body {
  width: 60.8854166667%;
  font-size: 24px;
  font-size: calc(1.25 * var(--vw));
  font-weight: 500;
  line-height: 1.875;
  margin: 11.4583333333% auto 9.8958333333%;
}
@media screen and (max-width: 1000px) {
  .news-body {
    width: calc(84 * var(--vw));
    font-size: calc(3.73 * var(--vw));
    margin: calc(8 * var(--vw)) auto calc(16 * var(--vw));
  }
}
.news-body ul {
  list-style-type: disc;
  list-style-position: inside;
}
.news-body ol {
  list-style: decimal;
  list-style-position: inside;
}
.news-body ul li, .news-body ol li {
  text-indent: -1em;
  padding-left: 1em;
}
.news-body p, .news-body ul, .news-body img, .news-body ol {
  margin-top: 3.3361847733%;
}
@media screen and (max-width: 1000px) {
  .news-body p, .news-body ul, .news-body img, .news-body ol {
    margin-top: calc(8 * var(--vw));
  }
}
.news-body p:first-child, .news-body ul:first-child, .news-body img:first-child, .news-body ol:first-child {
  margin-top: 0;
}
.news-body img {
  max-width: 100%;
  width: auto;
  margin-top: 6.6723695466%;
}
@media screen and (max-width: 1000px) {
  .news-body img {
    margin-top: calc(8 * var(--vw));
  }
}

/* ---------------------------------------------------------
.next-post
----------------------------------------------------------*/
.next-post a {
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
  width: 94.2708333333%;
  padding: calc(1.56 * var(--vw)) calc(0.88 * var(--vw)) calc(1.56 * var(--vw)) calc(1.09 * var(--vw));
  margin: 0 auto calc(3.33 * var(--vw));
  border-top: 1px solid #c1c1c2;
  border-bottom: 1px solid #c1c1c2;
}
.next-post a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .next-post a {
    display: block;
    width: auto;
    padding: calc(8 * var(--vw)) 0;
    margin: 0 calc(8 * var(--vw));
  }
}
.next-post a .txt-date {
  width: calc(18.95 * var(--vw));
  font-size: 24px;
  font-size: calc(1.25 * var(--vw));
  font-weight: 500;
}
@media screen and (max-width: 1000px) {
  .next-post a .txt-date {
    width: 100%;
    font-size: calc(3.73 * var(--vw));
  }
}
.next-post a .txt {
  width: calc(62.7 * var(--vw));
  font-size: 24px;
  font-size: calc(1.25 * var(--vw));
  font-weight: 500;
  line-height: 3;
  padding-right: calc(1.04 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .next-post a .txt {
    width: 100%;
    font-size: calc(3.73 * var(--vw));
    line-height: 1.8;
    padding-right: 0;
    margin-top: calc(2.66 * var(--vw));
  }
}
.next-post a .pic {
  position: relative;
  width: calc(10.67 * var(--vw));
  padding-top: calc(6.56 * var(--vw));
  border-radius: 7px;
  overflow: hidden;
  aspect-ratio: 205/126;
}
@media screen and (max-width: 1000px) {
  .next-post a .pic {
    width: calc(42.66 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
  }
}
.next-post a .pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------------------------------------------------
.nav-post
----------------------------------------------------------*/
.nav-post {
  display: flex;
  justify-content: space-between;
  width: 94.2708333333%;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .nav-post {
    width: calc(84 * var(--vw));
  }
}
.nav-post li {
  border-bottom: 1px solid #c1c1c2;
}
.nav-post li.is-off a {
  pointer-events: none;
  opacity: 0.3;
}
.nav-post li a {
  transition: opacity 0.3s;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(12.81 * var(--vw));
  height: calc(5.62 * var(--vw));
  font-size: 23px;
  font-size: calc(1.19 * var(--vw));
  font-weight: 500;
  line-height: 1;
  padding: 0 calc(2.08 * var(--vw));
}
.nav-post li a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .nav-post li a {
    width: calc(26.66 * var(--vw));
    height: calc(13.33 * var(--vw));
    font-size: calc(3.73 * var(--vw));
    padding: 0 calc(2.66 * var(--vw));
  }
}
.nav-post li:first-child a::before {
  content: "";
  display: block;
  width: calc(1.14 * var(--vw));
  height: calc(1.14 * var(--vw));
  background: url(../img/news/icon_arrow.png) no-repeat;
  background-size: contain;
  transform: scaleX(-1);
}
@media screen and (max-width: 1000px) {
  .nav-post li:first-child a::before {
    width: calc(4.26 * var(--vw));
    height: calc(4.26 * var(--vw));
  }
}
.nav-post li:last-child a::after {
  content: "";
  display: block;
  width: calc(1.14 * var(--vw));
  height: calc(1.14 * var(--vw));
  background: url(../img/news/icon_arrow.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1000px) {
  .nav-post li:last-child a::after {
    width: calc(4.26 * var(--vw));
    height: calc(4.26 * var(--vw));
  }
}

/* ---------------------------------------------------------
.news-bottom
----------------------------------------------------------*/
.news-bottom {
  display: flex;
  justify-content: space-between;
  width: 94.2708333333%;
  margin: 12.9166666667% auto 0;
}
@media screen and (max-width: 1000px) {
  .news-bottom {
    display: block;
    width: calc(84 * var(--vw));
    margin-top: calc(16 * var(--vw));
  }
}
.news-bottom h3 {
  font-size: 36px;
  font-size: calc(1.87 * var(--vw));
  font-weight: 500;
  margin-bottom: calc(2.86 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom h3 {
    font-size: calc(4.8 * var(--vw));
    margin-bottom: calc(5.33 * var(--vw));
  }
}
.news-bottom .left-col {
  width: 72.4861878453%;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col {
    width: 100%;
  }
}
.news-bottom .left-col .post a {
  transition: opacity 0.3s;
  position: relative;
  display: flex;
  align-items: center;
  padding: 3.0487804878% 0;
  border-bottom: 2px solid #c1c1c2;
}
.news-bottom .left-col .post a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .post a {
    display: block;
    padding: calc(5.33 * var(--vw)) 0;
  }
}
.news-bottom .left-col .post a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(1.77 * var(--vw));
  display: block;
  width: calc(0.57 * var(--vw));
  height: calc(0.57 * var(--vw));
  background-color: #000000;
  border-radius: 50%;
  transform: translateY(-50%);
}
.news-bottom .left-col .pic {
  position: relative;
  width: 15.625%;
  padding-top: 9.6036585366%;
  border-radius: 7px;
  margin-left: 1.3719512195%;
  margin-right: 7.012195122%;
  aspect-ratio: 205/126;
  overflow: hidden;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .pic {
    width: calc(41.33 * var(--vw));
    margin: 0;
  }
}
.news-bottom .left-col .pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-bottom .left-col .txt-col {
  width: 75.9908536585%;
  padding-right: calc(4.95 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col {
    width: auto;
    padding: 0;
  }
}
.news-bottom .left-col .txt-col .txt {
  font-size: 22px;
  font-size: calc(1.14 * var(--vw));
  font-weight: bold;
  line-height: 1.8636363636;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col .txt {
    font-size: calc(3.73 * var(--vw));
    margin-top: calc(4.26 * var(--vw));
  }
}
.news-bottom .left-col .txt-col .post-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(0.52 * var(--vw)) 0;
  margin-top: 2.0060180542%;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col .post-bottom {
    display: block;
    margin-top: calc(4.26 * var(--vw));
  }
}
.news-bottom .left-col .txt-col .post-bottom .txt-date {
  width: 13.4403209629%;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: calc(1.04 * var(--vw));
  font-weight: 500;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col .post-bottom .txt-date {
    font-size: calc(3.46 * var(--vw));
  }
}
.news-bottom .left-col .txt-col .post-bottom .txt-cat {
  display: unset;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col .post-bottom .txt-cat {
    display: flex;
    flex-wrap: wrap;
    gap: calc(2.66 * var(--vw)) 0;
    margin-top: calc(2.66 * var(--vw));
  }
}
.news-bottom .left-col .txt-col .post-bottom .txt-cat span {
  display: inline-flex;
  font-size: 22px;
  font-size: calc(1.14 * var(--vw));
  color: #fff;
  background-color: #5b7e96;
  padding: calc(0.05 * var(--vw)) calc(1.04 * var(--vw));
  border-radius: 11px;
  margin-right: calc(0.52 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .txt-col .post-bottom .txt-cat span {
    font-size: calc(3.2 * var(--vw));
    padding: calc(0.53 * var(--vw)) calc(2.66 * var(--vw));
    margin-right: calc(1.06 * var(--vw));
  }
}
.news-bottom .left-col .post-list {
  border-bottom: 2px solid #c1c1c2;
}
.news-bottom .left-col .post-list a {
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
  height: calc(10.93 * var(--vw));
  font-size: 23px;
  font-size: calc(1.19 * var(--vw));
  font-weight: 500;
  padding-left: calc(3.69 * var(--vw));
  padding-right: calc(1.77 * var(--vw));
}
.news-bottom .left-col .post-list a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .post-list a {
    height: calc(16 * var(--vw));
    font-size: calc(3.73 * var(--vw));
  }
}
.news-bottom .left-col .post-list a::before {
  content: "";
  display: block;
  width: calc(0.93 * var(--vw));
  height: calc(0.93 * var(--vw));
  background: url(../img/news/icon_list.png) no-repeat;
  background-size: contain;
  margin-right: calc(4.68 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .post-list a::before {
    width: calc(3.84 * var(--vw));
    height: calc(3.84 * var(--vw));
    margin-right: calc(5.33 * var(--vw));
  }
}
.news-bottom .left-col .post-list a::after {
  content: "";
  display: block;
  width: calc(0.57 * var(--vw));
  height: calc(0.57 * var(--vw));
  background-color: #000000;
  border-radius: 50%;
  margin-left: auto;
}
@media screen and (max-width: 1000px) {
  .news-bottom .left-col .post-list a::after {
    width: calc(1.6 * var(--vw));
    height: calc(1.6 * var(--vw));
  }
}
.news-bottom .right-col {
  width: 21.7127071823%;
}
@media screen and (max-width: 1000px) {
  .news-bottom .right-col {
    width: 100%;
    margin-top: calc(10.66 * var(--vw));
  }
}
.news-bottom .right-col li {
  border-bottom: 2px solid #c1c1c2;
  margin-top: calc(1.09 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom .right-col li {
    margin-top: calc(2.66 * var(--vw));
  }
}
.news-bottom .right-col li:first-child {
  margin-top: 0;
}
.news-bottom .right-col li:first-child a {
  padding-left: calc(0.78 * var(--vw) + 1em);
}
@media screen and (max-width: 1000px) {
  .news-bottom .right-col li:first-child a {
    padding-left: calc(3.46 * var(--vw) + 1em);
  }
}
.news-bottom .right-col li a {
  transition: opacity 0.3s;
  display: flex;
  justify-content: space-between;
  font-size: calc(1.25 * var(--vw));
  padding: calc(1.51 * var(--vw)) calc(0.41 * var(--vw)) calc(1.51 * var(--vw)) calc(0.78 * var(--vw));
  padding-left: calc(0.78 * var(--vw) + 1em)
}
.news-bottom .right-col li a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .news-bottom .right-col li a {
    font-size: calc(3.46 * var(--vw));
    padding: calc(2.66 * var(--vw)) calc(1.6 * var(--vw)) calc(2.66 * var(--vw)) calc(2.66 * var(--vw));
    padding-left: calc(3.46 * var(--vw) + 1em);
  }
}
.news-bottom .right-col li a::after {
  content: ">";
  color:#fff;
  text-align: center;
  align-content: center;
  display: block;
  width: calc(1.71 * var(--vw));
  height: calc(1.71 * var(--vw));
  background-color: #5b7e96;
  border-radius: 100%;
  font-size: calc(0.9 * var(--vw));
}
@media screen and (max-width: 1000px) {
  .news-bottom .right-col li a::after {
    width: calc(1.6 * var(--vw));
    height: calc(1.6 * var(--vw));
  }
}

/* ---------------------------------------------------------
.sec-contact
----------------------------------------------------------*/
.sec-contact {
  position: relative;
  width: 78.2291666667%;
  padding: 27.65625% 0 0 19.7395833333%;
  margin: 15.0520833333% auto 0;
}
@media screen and (max-width: 1000px) {
  .sec-contact {
    width: 100%;
    padding: calc(42.66 * var(--vw)) 0 0 calc(8 * var(--vw));
    margin-top: calc(16 * var(--vw));
  }
}
.sec-contact::before, .sec-contact::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 49.6671105193%;
  background: url(../img/top/bg_contact_effect.png) no-repeat center top;
  background-size: 100% auto;
  padding-top: 48.7350199734%;
  z-index: -1;
  margin: 14.9800266312% 0 0 -11.517976032%;
}
@media screen and (max-width: 1000px) {
  .sec-contact::before, .sec-contact::after {
    margin: calc(26.66 * var(--vw)) 0 0 calc(0 * var(--vw));
  }
}
.sec-contact::after {
  width: 99.6671105193%;
  background: url(../img/top/bg_contact.png) no-repeat center top;
  background-size: 100% auto;
  padding-top: 52.7296937417%;
  margin: 0;
}
@media screen and (max-width: 1000px) {
  .sec-contact::after {
    width: 100%;
  }
}
.sec-contact .txt-box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 99.82190561%;
  background-color: #fff;
  padding: 7.1237756011% 0 0 8.0142475512%;
  margin: 0 0 0 auto;
  border-radius: 8px;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box {
    display: block;
    width: 100%;
    padding: calc(8 * var(--vw)) calc(8 * var(--vw)) 0;
  }
}
.sec-contact .txt-box .ttl {
  width: 39.6702230844%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box .ttl {
    width: calc(41.94 * var(--vw));
  }
}
.sec-contact .txt-box .txt {
  width: 56.741028128%;
  font-size: 22px;
  font-size: clamp(0.75rem, 0.071rem + 1.09vw, 1.375rem);
  line-height: 1.9090909091;
  letter-spacing: -0.05em;
  margin: 3.879728419% 0 0 2.8128031038%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box .txt {
    width: 100%;
    font-size: calc(3.73 * var(--vw));
    margin: calc(5.33 * var(--vw)) 0 0;
  }
}
.sec-contact .txt-box .btn {
  width: 100.0969932105%;
  margin-top: 13.5790494665%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box .btn {
    width: 100%;
    margin-top: calc(5.33 * var(--vw));
  }
}
.sec-contact .txt-box .btn a {
  transition: opacity 0.3s;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 35px;
  font-size: clamp(1.563rem, 0.883rem + 1.09vw, 2.188rem);
  color: #fff;
  background-color: #5b7e96;
  border-radius: 11px;
  padding: 7.7519379845% 5.3294573643% 7.7519379845% 7.7519379845%;
}
.sec-contact .txt-box .btn a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box .btn a {
    font-size: calc(4.26 * var(--vw));
    padding: calc(4.26 * var(--vw)) calc(5.33 * var(--vw)) calc(4.26 * var(--vw)) calc(8 * var(--vw));
  }
}
.sec-contact .txt-box .btn a:hover {
  opacity: 0.8;
}
.sec-contact .txt-box .btn a::after {
  content: "";
  width: 5.4626532887%;
  background: url(../img/top/icon_arrow_contact.png) no-repeat;
  background-size: contain;
  padding-top: 5.4626532887%;
}
@media screen and (max-width: 1000px) {
  .sec-contact .txt-box .btn a::after {
    width: calc(8 * var(--vw));
    padding-top: calc(8 * var(--vw));
  }
}

/* ---------------------------------------------------------
.pagination
----------------------------------------------------------*/
.pagination {
  display: flex;
  justify-content: center;
  gap: 0 8px;
  margin-top: 64px;
}
@media screen and (max-width: 1000px) {
  .pagination {
    gap: 0 calc(2.13 * var(--vw));
    margin-top: calc(10.66 * var(--vw));
  }
}
.pagination span, .pagination a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 27px;
  height: 27px;
  font-size: 16px;
  font-weight: bold;
  color: #5b7e96;
  padding-bottom: 2px;
  border: 1px solid #5b7e96;
  border-radius: 50%;
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (max-width: 1000px) {
  .pagination span, .pagination a {
    width: calc(7.2 * var(--vw));
    height: calc(7.2 * var(--vw));
    font-size: calc(4.26 * var(--vw));
    padding-bottom: calc(0.53 * var(--vw));
  }
}
.pagination span.next, .pagination span.prev, .pagination a.next, .pagination a.prev {
  padding-bottom: 5px;
}
@media screen and (max-width: 1000px) {
  .pagination span.next, .pagination span.prev, .pagination a.next, .pagination a.prev {
    padding-bottom: calc(1.33 * var(--vw));
  }
}
.pagination span.current, .pagination a.current {
  color: #fff;
  background-color: #5b7e96;
}
@media print, screen and (min-width: 1001px) {
  .pagination span:hover, .pagination a:hover {
    color: #fff;
    background-color: #5b7e96;
  }
}
