@charset "UTF-8";
/**
 * ViewPort Mixin and setting rem to pixel.
 */
/** ここでデザインファイルのサイズを入力 */
/**
 * mixin
 */
/**
 * pxをvwで返す関数
 */
/** デスクトップ上でpxをvwを返す */
/** モバイル上でpxをvwを返す */
/** largeDisplay（1536px以上）でウィンドウサイズサイズに追従するための関数 */
/**
 * Colors
 */
.section .heading2 .en {
  font-size: 48rem;
  font-weight: 600;
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  color: #FF9000;
}
.section .heading2 .ja {
  font-size: 20rem;
  font-weight: 700;
  letter-spacing: 2px;
  display: block;
  margin-top: 10rem;
}

.reform-wrap {
  overflow: hidden;
  padding: 250rem 0 50rem;
  width: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .reform-wrap {
    background: #F6F8FC;
    padding: 0 0 75rem;
  }
}
.reform-wrap .swiper {
  height: 145rem;
  position: relative;
  overflow: visible;
}
@media (max-width: 768px) {
  .reform-wrap .swiper {
    height: unset;
    margin-top: -25rem;
    z-index: 2;
  }
}
.reform-wrap .swiper::after {
  display: none;
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2rem;
  transform: translateX(-50%);
  height: 100%;
  background: #FF9000;
  z-index: -1;
}
@media (max-width: 768px) {
  .reform-wrap .swiper::after {
    display: block;
  }
}
.reform-wrap .swiper-slide {
  width: 294rem !important;
  background: #fff;
  border-radius: 12rem;
  padding: 24rem 0;
}
@media (max-width: 768px) {
  .reform-wrap .swiper-slide {
    border: 2px solid #FF9000;
    border-radius: 12rem;
    padding: 20rem 0;
  }
}
.reform-wrap .bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
@media (max-width: 768px) {
  .reform-wrap .bg img {
    position: relative;
    top: unset;
    left: unset;
  }
}
.reform-wrap .heading2 {
  display: block;
  margin-bottom: 25rem;
  text-align: left;
  position: relative;
  color: #fff;
  z-index: 2;
  font-size: 24rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .reform-wrap .heading2 {
    display: none;
  }
}
.reform-wrap .reform-inner {
  max-width: 1088rem;
  margin: 0 auto;
  position: relative;
}
.reform-wrap .reform-swiper {
  overflow: visible;
}
.reform-wrap .swiper-wrapper {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .reform-wrap .swiper-wrapper {
    flex-direction: column;
    gap: 24rem;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
}
.reform-wrap .step {
  color: var(--key-1, #FF9000);
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  font-size: 15rem;
  font-style: normal;
  font-weight: 600;
}
.reform-wrap .title {
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-size: 20rem;
  font-style: normal;
  font-weight: 700;
  display: block;
  margin: 13rem auto;
}
.reform-wrap .text {
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-size: 15rem;
  font-style: normal;
  font-weight: 400;
  line-height: 166%;
}
.reform-wrap .reform-nav-prev,
.reform-wrap .reform-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48rem;
  height: 48rem;
  margin-top: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .reform-wrap .reform-nav-prev,
  .reform-wrap .reform-nav-next {
    display: none;
  }
}
.reform-wrap .reform-nav-prev::after,
.reform-wrap .reform-nav-next::after {
  display: none;
}
.reform-wrap .reform-nav-prev svg,
.reform-wrap .reform-nav-next svg {
  width: 100%;
  height: 100%;
}
.reform-wrap .reform-nav-prev {
  left: -20rem;
}
.reform-wrap .reform-nav-next {
  right: -20rem;
}
.reform-wrap .swiper-button-disabled {
  opacity: 0 !important;
  pointer-events: none;
}

.section__reform {
  margin: 100rem auto;
}
@media (max-width: 768px) {
  .section__reform {
    margin: 60rem auto;
  }
}
@media (max-width: 768px) {
  .section__reform .heading2 .en {
    font-size: 24rem;
    font-weight: 600;
  }
}
@media (max-width: 768px) {
  .section__reform .heading2 .ja {
    font-size: 36rem;
    line-height: 133%;
  }
}

.blog-wrap {
  display: flex;
  gap: 50rem;
  justify-content: center;
  max-width: 1090rem;
  margin: 30rem auto 0;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .blog-wrap {
    width: 88%;
    flex-direction: column;
    gap: 30rem;
  }
}
.blog-wrap__empty {
  width: 100%;
  text-align: center;
  padding: 60rem 0;
  color: #666;
}
.blog-wrap .blog-item {
  max-width: 330rem;
}
@media (max-width: 768px) {
  .blog-wrap .blog-item {
    max-width: unset;
  }
}
.blog-wrap .blog-item .image {
  overflow: hidden;
  border-radius: 24rem;
  line-height: 0;
  position: relative;
  padding-top: 66.4%;
}
.blog-wrap .blog-item .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.blog-wrap .blog-item .date {
  color: var(--key-1, #FF9000);
  leading-trim: both;
  text-edge: cap;
  text-overflow: ellipsis;
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  display: block;
  text-align: left;
  margin: 15rem auto 5rem;
  font-size: 15rem;
  font-style: normal;
  font-weight: 500;
}
.blog-wrap .blog-item .title {
  display: block;
  text-align: left;
  overflow: hidden;
  font-size: 16rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
@media (max-width: 768px) {
  .blog-wrap .blog-item .title {
    font-size: 24rem;
  }
}

.section__blog {
  padding: 120rem 0 0;
}
@media (max-width: 768px) {
  .section__blog {
    padding: 90rem 0;
  }
}
@media (max-width: 768px) {
  .section__blog .heading2 .en {
    font-size: 24rem;
    font-weight: 600;
  }
}
@media (max-width: 768px) {
  .section__blog .heading2 .ja {
    font-size: 36rem;
    line-height: 133%;
  }
}
@media (max-width: 768px) {
  .section__blog .heading2 .md-small {
    font-size: 24rem;
  }
}

.main-archive__pagination {
  margin-top: 60rem;
}
@media (max-width: 768px) {
  .main-archive__pagination {
    margin-top: 48rem;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 12rem;
  margin-top: 48rem;
}
.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45rem;
  height: 45rem;
  color: #FF9000;
  border: 1.5px solid #FF9000;
  border-radius: 50%;
  padding-top: 2rem;
  font-weight: 500;
  transition: 300ms;
}
.pagination .page-numbers:hover, .pagination .page-numbers.current {
  background: #FF9000;
  color: #fff;
}
.pagination .page-numbers.dots {
  margin: 0 -12rem;
  padding-bottom: 7rem;
  border: none;
}
.pagination .page-numbers.dots:hover {
  background: none;
  color: #FF9000;
}
.pagination__item {
  font-size: 18rem;
}

footer {
  margin-top: 100rem;
}