@charset "UTF-8";
/**
 * ViewPort Mixin and setting rem to pixel.
 */
/** ここでデザインファイルのサイズを入力 */
/**
 * mixin
 */
/**
 * pxをvwで返す関数
 */
/** デスクトップ上でpxをvwを返す */
/** モバイル上でpxをvwを返す */
/** largeDisplay（1536px以上）でウィンドウサイズサイズに追従するための関数 */
/**
 * Colors
 */
.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;
  }
}

.firstview {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
}
@media (max-width: 768px) {
  .firstview {
    margin-top: 72rem;
    min-height: 100vw;
  }
}
.firstview .swiper {
  position: relative;
  z-index: 1;
}
.firstview .firstview-images, .firstview .swiper-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.firstview .firstview-images.swiper-slide-active, .firstview .swiper-slide.swiper-slide-active {
  z-index: 1;
  opacity: 1 !important;
}
.firstview .text {
  color: var(--White, #FFF);
  z-index: 2;
  /* 24-12 */
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-size: 120rem;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
  position: absolute;
  bottom: 48rem;
  left: 48rem;
  text-align: left;
  pointer-events: none;
}
@media (max-width: 768px) {
  .firstview .text {
    display: none;
  }
}
.firstview .heading1 {
  width: 84%;
  margin: 82vw auto 60rem;
  position: relative;
  z-index: 2;
}

.news {
  padding: 72rem 0;
  background: #FF9000;
}
@media (max-width: 768px) {
  .news {
    padding: 48rem 24rem;
  }
}
.news .news-inner {
  max-width: 1080rem;
  background: #fff;
  margin: 0 auto;
  border-radius: 24rem;
  padding: 60rem 60rem 48rem;
  display: flex;
  gap: 72rem;
}
@media (max-width: 768px) {
  .news .news-inner {
    padding: 45rem 24rem;
    flex-direction: column;
    gap: 24rem;
  }
}
.news .inner-title {
  width: 150rem;
  display: flex;
  flex-direction: column;
  align-items: space-between;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .news .inner-title {
    width: 100%;
  }
}
.news .inner-title .heading2-en {
  font-size: 48rem;
  font-weight: 500;
  text-align: left;
  display: block;
  color: #FF9000;
}
.news .inner-title .heading2-ja {
  font-size: 15rem;
  text-align: left;
  margin-top: 15rem;
  display: block;
  font-weight: 700;
}
@media (max-width: 768px) {
  .news .inner-title .heading2-ja {
    margin: 0;
    transform: translateY(26rem);
  }
}
@media (max-width: 768px) {
  .news .inner-title .heading2 {
    display: flex;
    justify-content: space-between;
  }
}
.news .inner-content {
  flex: 1;
}
.news .news-item {
  text-align: left;
  display: flex;
  font-size: 15rem;
}
@media (max-width: 768px) {
  .news .news-item {
    padding: 20rem 0;
    gap: 15rem 0;
    font-size: 18rem;
    flex-wrap: wrap;
    border-bottom: 1px solid #d7d7d7;
    justify-content: space-between;
  }
}
.news .news-item .date {
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  font-weight: 500;
}
.news .news-item .category {
  color: #FF9000;
  font-weight: 500;
  width: 158rem;
  text-align: center;
}
@media (max-width: 768px) {
  .news .news-item .category {
    width: unset;
  }
}
.news .news-item .title {
  font-weight: 400;
}
@media (max-width: 768px) {
  .news .news-item .title {
    line-height: 178%;
  }
}
.news .news-item + .news-item {
  margin-top: 36rem;
}
@media (max-width: 768px) {
  .news .news-item:nth-child(n+4) {
    display: none;
  }
}
.news .btn-more {
  display: flex;
  align-items: center;
  gap: 12rem;
  font-size: 13rem;
  font-weight: 500;
  color: #FF9000;
}
@media (max-width: 768px) {
  .news .btn-more {
    display: none;
  }
}
.news .btn-more .arrow {
  width: 18rem;
  display: flex;
}

.about {
  display: flex;
  gap: 100rem;
  padding-right: 84rem;
  margin: 50rem auto;
  justify-content: center;
  max-width: 1088rem;
}
@media (max-width: 768px) {
  .about {
    display: none;
  }
}
.about .image {
  width: 544rem;
  overflow: hidden;
  border-radius: 24rem;
  line-height: 0;
}
.about .info {
  width: 360rem;
}

.home-menu {
  margin: 120rem auto;
}
@media (max-width: 768px) {
  .home-menu {
    margin: 80rem auto;
  }
}
.home-menu .menu-wrap {
  display: flex;
  gap: 24rem;
  flex-wrap: wrap;
  max-width: 1088rem;
  margin: 25rem auto 0;
}
@media (max-width: 768px) {
  .home-menu .menu-wrap {
    gap: 48rem 24rem;
    width: 88%;
  }
}
.home-menu .menu-item {
  border-radius: 24rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .home-menu .menu-item {
    border-radius: 0;
  }
}
@media (max-width: 768px) {
  .home-menu .menu-item .image {
    border-radius: 12rem;
    overflow: hidden;
    line-height: 0;
  }
}
.home-menu .menu-item {
  line-height: 0;
  flex-basis: calc(25% - 18rem);
  position: relative;
}
@media (max-width: 768px) {
  .home-menu .menu-item {
    flex-basis: calc(50% - 12rem);
  }
}
.home-menu .menu-item .text-wrap {
  position: absolute;
  bottom: 18rem;
  left: 18rem;
  z-index: 2;
  color: #fff;
  text-align: left;
  line-height: 100%;
}
@media (max-width: 768px) {
  .home-menu .menu-item .text-wrap {
    position: relative;
    bottom: unset;
    left: unset;
    color: #000;
  }
}
.home-menu .menu-item .heading4 {
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-size: 20rem;
  font-style: normal;
  font-weight: 500;
  display: block;
  margin: 10rem auto;
}
@media (max-width: 768px) {
  .home-menu .menu-item .heading4 {
    color: #FF9000;
    display: block;
    margin: 18rem auto 12rem;
    font-weight: 700;
  }
}
.home-menu .menu-item .text {
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  font-size: 15rem;
  font-style: normal;
  font-weight: 400;
  line-height: 166%;
}
.home-menu .menu-item img {
  line-height: 0;
}
.home-menu .menu-item:not(.first-item) .image {
  position: relative;
}
.home-menu .menu-item:not(.first-item) .image::before {
  content: "";
  display: block;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  width: 100%;
  height: 110rem;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.home-menu .menu-item:not(.first-item) .heading3 {
  font-size: 35rem;
  writing-mode: sideways-lr;
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  position: absolute;
  color: #fff;
  font-weight: 400;
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
  top: 12rem;
  left: 32rem;
}
@media (max-width: 768px) {
  .home-menu .menu-item .heading3 {
    display: none;
  }
}
.home-menu .first-item {
  width: 100%;
  flex-basis: unset;
  position: relative;
}
.home-menu .first-item .image {
  position: relative;
}
.home-menu .first-item .image::before {
  content: "";
  display: block;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  width: 380rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.home-menu .first-item .text-wrap {
  position: absolute;
  bottom: 24rem;
  left: 24rem;
  z-index: 2;
  color: #fff;
  text-align: left;
}
@media (max-width: 768px) {
  .home-menu .first-item .text-wrap {
    position: relative;
    bottom: unset;
    left: unset;
    color: #000;
  }
}
.home-menu .first-item .text-wrap .heading3 {
  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: 42rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
.home-menu .heading2 .en {
  color: #FF9000;
}

.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;
}

.section__why {
  padding: 120rem 0 100rem;
  background: #FF9000;
  color: #fff;
}
@media (max-width: 768px) {
  .section__why {
    padding: 90rem 0;
  }
}
.section__why .why-item {
  max-width: 1088rem;
  display: flex;
  gap: 40rem;
  align-items: center;
  justify-content: center;
  margin: 60rem auto 0;
  padding-right: 86rem;
}
@media (max-width: 768px) {
  .section__why .why-item {
    padding: 0;
    flex-direction: column;
    gap: 30rem;
    width: 88%;
  }
}
.section__why .why-item .image {
  max-width: 532rem;
  line-height: 0;
  overflow: hidden;
  border-radius: 12rem;
}
.section__why .why-item .text-wrap {
  text-align: left;
  flex: 1;
}
.section__why .why-item:nth-child(odd) {
  flex-direction: row-reverse;
  padding: 0 0 0 86rem;
}
@media (max-width: 768px) {
  .section__why .why-item:nth-child(odd) {
    padding: 0;
    flex-direction: column;
  }
}
.section__why .why-item .number {
  font-size: 15rem;
  font-weight: 600;
}
.section__why .why-item .heading3 {
  font-size: 24rem;
  font-weight: 700;
  display: block;
  margin: 14rem auto 10rem;
}
@media (max-width: 768px) {
  .section__why .why-item .heading3 {
    font-size: 36rem;
    line-height: 133%;
  }
}
.section__why .why-item .heading3 .small {
  font-size: 16rem;
  line-height: 250%;
  display: block;
  margin-top: -10rem;
}
@media (max-width: 768px) {
  .section__why .why-item .heading3 .small {
    font-size: 20rem;
  }
}
.section__why .why-item .text {
  font-size: 15rem;
  font-weight: 500;
  line-height: 166%;
}
.section__why .heading2 .en {
  color: #fff;
}

.section__voice {
  margin: 100rem auto;
  overflow: hidden;
}
@media (max-width: 768px) {
  .section__voice {
    margin: 70rem auto;
  }
}
.section__voice .voice-wrap {
  position: relative;
  max-width: 1084rem;
  margin: 50rem auto 0;
  padding: 0 20rem;
}
@media (max-width: 768px) {
  .section__voice .voice-wrap {
    max-width: 85vw;
  }
}
.section__voice .voice-swiper {
  overflow: visible;
  margin: 0 -20rem;
  padding: 0 20rem;
}
@media (max-width: 768px) {
  .section__voice .voice-swiper {
    padding: 0;
  }
}
.section__voice .swiper-slide {
  width: 520rem !important;
}
@media (max-width: 768px) {
  .section__voice .swiper-slide {
    width: 330rem !important;
  }
}
.section__voice .swiper-wrapper {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}
.section__voice .voice-item {
  width: 520rem;
}
@media (max-width: 768px) {
  .section__voice .voice-item {
    width: 100%;
  }
}
.section__voice .voice-item .voice-top {
  display: flex;
  gap: 24rem;
}
.section__voice .image {
  width: 70rem;
  height: 70rem;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
}
.section__voice .image img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section__voice .top-text {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0rem 14rem;
  align-items: center;
}
.section__voice .heading3 {
  font-size: 24rem;
  font-weight: 600;
  flex-basis: 100%;
  text-align: left;
  display: block;
}
@media (max-width: 768px) {
  .section__voice .heading3 {
    font-size: 20rem;
  }
}
.section__voice .name, .section__voice .time {
  font-size: 15rem;
  font-weight: 700;
}
.section__voice .comment {
  padding: 30rem 36rem;
  border-radius: 12rem;
  background: rgba(255, 144, 0, 0.1);
  margin-top: 24rem;
  font-size: 15rem;
  font-weight: 400;
  text-align: left;
  line-height: 166%;
}
@media (max-width: 768px) {
  .section__voice .comment {
    padding: 32rem 30rem;
    margin-top: 12rem;
    font-size: 16rem;
    line-height: 150%;
  }
}
.section__voice .voice-nav-prev,
.section__voice .voice-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;
}
.section__voice .voice-nav-prev::after,
.section__voice .voice-nav-next::after {
  display: none;
}
.section__voice .voice-nav-prev svg,
.section__voice .voice-nav-next svg {
  width: 100%;
  height: 100%;
}
.section__voice .voice-nav-prev {
  left: -20rem;
}
.section__voice .voice-nav-next {
  right: -20rem;
}
@media (max-width: 768px) {
  .section__voice .voice-nav-next {
    right: 0;
  }
}
.section__voice .voice-pagination {
  position: relative;
  margin-top: 40rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24rem;
}
@media (max-width: 768px) {
  .section__voice .voice-pagination {
    display: none;
  }
}
.section__voice .voice-pagination .swiper-pagination-bullet {
  width: 12rem;
  height: 12rem;
  background: transparent;
  border: 1rem solid #FF9100;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  transition: all 0.3s ease;
}
.section__voice .voice-pagination .swiper-pagination-bullet-active {
  width: 12rem;
  height: 12rem;
  background: #FF9100;
  border-color: #FF9100;
}
.section__voice .swiper-button-disabled {
  opacity: 0 !important;
  pointer-events: none;
}

.shared-button {
  font-size: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #fff;
  background: #FF9000;
  width: 410rem;
  height: 63rem;
  margin: 50rem auto 0;
  border: 1px solid #FF9000;
  padding-top: 2rem;
  transition: 0.4s ease;
  border-radius: 100px;
}
@media (max-width: 768px) {
  .shared-button {
    font-size: 18rem;
    width: 342rem;
    height: 62rem;
    font-size: 18rem;
  }
}
.shared-button:hover {
  background: #fff;
  color: #FF9000;
}
@media (max-width: 768px) {
  .shared-button:hover {
    background: #FF9000;
    color: #fff;
  }
}

.section__works {
  margin: 100rem auto;
}
.section__works .works-wrap {
  display: flex;
  gap: 24rem;
  justify-content: center;
  margin-top: 50rem;
}
@media (max-width: 768px) {
  .section__works .works-wrap {
    gap: 36rem 24rem;
    margin-top: 30rem;
    flex-wrap: wrap;
    width: 88%;
    margin: 30rem auto 0;
  }
}
.section__works .works-item {
  max-width: 254rem;
  width: 100%;
}
@media (max-width: 768px) {
  .section__works .works-item {
    width: calc(50% - 12rem);
  }
}
.section__works .works-item .image {
  border-radius: 24rem;
  line-height: 0;
  overflow: hidden;
  padding-top: 100%;
  position: relative;
}
.section__works .works-item .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section__works .works-item .location {
  font-size: 15rem;
  font-weight: 500;
  display: block;
  text-align: left;
  margin-top: 15rem;
}
.section__works .works-item .title {
  display: block;
  margin: 12rem auto 15rem;
  text-align: left;
  font-weight: 500;
  font-size: 20rem;
}
@media (max-width: 768px) {
  .section__works .works-item .title {
    font-size: 24rem;
    line-height: 150%;
    font-weight: 700;
    margin: 10rem auto;
  }
}
.section__works .works-item .tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem;
}
.section__works .works-item .tag-wrap .tag-item {
  font-size: 13rem;
  font-weight: 500;
  display: inline-block;
  padding: 5rem 12rem 4rem;
  color: #FF9000;
  border: 1px solid #FF9000;
  border-radius: 100px;
}
@media (max-width: 768px) {
  .section__works .works-item .tag-wrap .tag-item {
    padding: 5rem 12rem 2rem;
  }
}

.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;
}

.section__contact {
  margin: 120rem auto;
}
@media (max-width: 768px) {
  .section__contact {
    margin: 100rem auto;
  }
}
.section__contact .contact-wrap {
  background: #FF9000;
  display: flex;
  padding: 45rem;
  max-width: 1088rem;
  border-radius: 24rem;
  margin: 30rem auto 0;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .section__contact .contact-wrap {
    flex-direction: column;
    width: 88%;
    border-radius: 36rem;
    gap: 12rem;
    padding: 12rem;
  }
}
.section__contact .contact-item {
  width: 480rem;
  background: #fff;
  border-radius: 24rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  padding: 40rem 0;
  justify-content: center;
}
@media (max-width: 768px) {
  .section__contact .contact-item {
    width: 100%;
    padding: 48rem 0;
  }
}
.section__contact .small {
  font-size: 16rem;
  font-weight: 500;
  display: block;
}
.section__contact .large {
  color: var(--key-1, #FF9000);
  font-family: "Avenir Next", "Avenir Next", "ryo-gothic-plusn", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", meiryo, sans-serif;
  font-size: 48rem;
  display: block;
  margin: 20rem 0;
  font-style: normal;
  font-weight: 500;
}
@media (max-width: 768px) {
  .section__contact .large {
    font-size: 36rem;
  }
}
.section__contact .button {
  width: 240rem;
  height: 48rem;
  color: #fff;
  font-size: 13rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background: #FF9000;
  border: 1px solid #FF9000;
  letter-spacing: 2rem;
  gap: 15rem;
  transition: 0.4s ease;
  margin-top: 20rem;
}
.section__contact .button:hover {
  background: #fff;
  color: #FF9000;
}
@media (max-width: 768px) {
  .section__contact .button:hover {
    background: #FF9000;
    color: #fff;
  }
}
.section__contact .button .icon {
  width: 18rem;
  display: flex;
}

.section__link {
  margin: 100rem auto;
}
.section__link .link-wrap {
  display: flex;
  gap: 24rem;
  justify-content: center;
  max-width: 1088rem;
  margin: 30rem auto 0;
}
@media (max-width: 768px) {
  .section__link .link-wrap {
    flex-direction: column;
    width: 88%;
  }
}
.section__link .link-wrap .link-item {
  min-height: 96rem;
  flex: 1;
  background: #FF9000;
}

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

.news-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 12rem;
  justify-content: center;
  margin: 30rem auto 0;
  max-width: 1088rem;
}
@media (max-width: 768px) {
  .news-categories {
    gap: 8rem;
    width: 88%;
  }
}
.news-categories .category {
  display: inline-block;
  padding: 8rem 20rem;
  font-size: 14rem;
  font-weight: 500;
  color: #FF9000;
  border: 1px solid #FF9000;
  border-radius: 100px;
  transition: 0.3s ease;
  text-decoration: none;
}
@media (max-width: 768px) {
  .news-categories .category {
    font-size: 13rem;
    padding: 6rem 16rem;
  }
}
.news-categories .category:hover, .news-categories .category.is-active {
  background: #FF9000;
  color: #fff;
}