@charset "UTF-8";
/* cookie
======================================= */
.cookie {
  position: fixed;
  bottom: 1.75em;
  right: 1.6875em;
  z-index: 10;
  background-color: #F1F2EC;
  width: 91.4667%;
  max-width: 800px;
  bottom: 1rem;
}
@media (max-width: 768px) {
  .cookie {
    right: 1rem;
    left: 1rem;
    bottom: 1rem;
  }
}
.cookie.is-hide {
  -webkit-animation: hide 0.5s linear 0s;
          animation: hide 0.5s linear 0s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.cookie__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5em;
  padding: 1em 2em;
}
@media (max-width: 768px) {
  .cookie__inner {
    padding: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.cookie__text {
  font-size: 0.8125em;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.cookie__text a {
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cookie__text a:hover {
  opacity: 0.7;
}
.cookie__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
@media (max-width: 768px) {
  .cookie__buttons {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
  }
}
.cookie__button {
  font-size: 0.6875em;
  line-height: 1.4;
  padding: 0 1em;
  width: 100px;
  height: 28px;
  border-radius: 30px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .cookie__button {
    width: 131.5px;
  }
}
.cookie__button:hover {
  opacity: 0.7;
}
.cookie__button.--accept {
  background-color: #A39354;
  color: #fff;
}
.cookie__button.--reject {
  border: 1px solid #3E3A39;
}

/* fv
======================================= */
.fv {
  height: 55.56vw;
  overflow: hidden;
  background-color: #000;
}
@media (max-width: 768px) {
  .fv {
    height: 100vh;
  }
}
.fv__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  position: relative;
  gap: 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  .fv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.fv__left, .fv__right {
  background-color: #000;
}
.fv__left {
  width: 50.97222%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media (max-width: 768px) {
  .fv__left {
    width: 100%;
    height: 50vh;
  }
}
.fv__right {
  width: 49.02778%;
  margin-left: -0.5px !important;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media (max-width: 768px) {
  .fv__right {
    width: 100%;
    height: 50vh;
    margin-left: 0 !important;
  }
}
.fv .splide {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  margin: 0;
  padding: 0;
}
.fv .splide .splide__track,
.fv .splide .splide__list,
.fv .splide .splide__slide {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  margin: 0;
  padding: 0;
}
.fv__catch {
  position: absolute;
  bottom: 6.111vw;
  left: 6.111%;
  width: 100%;
  color: #fff;
}
@media (max-width: 768px) {
  .fv__catch {
    bottom: 2.25em;
    left: 2em;
  }
}
.fv__catch-jp {
  font-size: 2.25em;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 0.875rem;
}
@media (max-width: 768px) {
  .fv__catch-jp {
    font-size: 1.75em;
    line-height: 1.4;
  }
}
.fv__catch-en {
  font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 0.8125em;
  line-height: 200%;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .fv__catch-en {
    font-size: 0.625em;
    line-height: 1.6;
  }
}

/* concept
======================================= */
.concept__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 12.5em;
  padding-bottom: 0;
  max-width: 1120px;
  width: 77.778%;
}
@media (max-width: 768px) {
  .concept__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.5em;
    padding-top: 4em;
    width: 82.9333%;
  }
}
.concept__left {
  width: 44.2857%;
}
@media (max-width: 768px) {
  .concept__left {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .concept__title-en {
    font-size: 0.8125em;
  }
}
.concept__right {
  width: 50%;
  position: relative;
}
@media (max-width: 768px) {
  .concept__right {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}
.concept__img {
  top: 5em;
  left: 0;
  width: 50vw;
  position: relative;
  position: -webkit-sticky;
  position: sticky;
}
.concept__img::before {
  content: "";
  display: block;
  padding-top: 83.2%;
}
.concept__img img, .concept__img video, .concept__img iframe, .concept__img svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .concept__img {
    top: 0;
    width: 100vw;
    position: relative;
  }
  .concept__img::before {
    padding-top: 85.333%;
  }
}
.concept__text {
  margin-bottom: 4em;
}
@media (max-width: 768px) {
  .concept__text {
    margin-bottom: 1.5rem;
  }
}
.concept__text:last-child {
  margin-bottom: 0;
}

/* images
======================================= */
.images__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 5em;
  padding-bottom: 5em;
}
@media (max-width: 768px) {
  .images__inner {
    padding-top: 4em;
    padding-bottom: 0;
  }
}
.images__image.--01 {
  width: 32.36111%;
}
@media (max-width: 768px) {
  .images__image.--01 {
    width: 44%;
    position: relative;
  }
  .images__image.--01::before {
    content: "";
    display: block;
    padding-top: 86%;
  }
  .images__image.--01 img, .images__image.--01 video, .images__image.--01 iframe, .images__image.--01 svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.images__image.--02 {
  width: 27.5%;
  margin-right: 10.41667%;
  margin-top: 6.8125em;
}
@media (max-width: 768px) {
  .images__image.--02 {
    width: 42.1333%;
    margin-right: 2.9333%;
    margin-top: 5.5em;
    position: relative;
  }
  .images__image.--02::before {
    content: "";
    display: block;
    padding-top: 112.658%;
  }
  .images__image.--02 img, .images__image.--02 video, .images__image.--02 iframe, .images__image.--02 svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

/* point
======================================= */
.point {
  position: relative;
}
.point__title {
  width: 88.889%;
  max-width: 1280px;
  margin: 0 auto 4rem;
}
@media (max-width: 768px) {
  .point__title {
    width: 82.9333%;
    margin-bottom: 0;
  }
}
.point__title-en {
  font-size: 1.25em;
  line-height: 1.4;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .point__title-en {
    font-size: 1rem;
  }
}
.point__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.point__left, .point__right {
  width: 50%;
}
@media (max-width: 768px) {
  .point__left, .point__right {
    width: 100%;
  }
}
.point__image {
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.point__image.--01 {
  z-index: 1;
}
.point__image.--02 {
  z-index: 2;
}
.point__image.--03 {
  z-index: 3;
}
.point__image.--04 {
  z-index: 4;
}
.point__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  padding: 1.5em;
}
@media (max-width: 768px) {
  .point__item {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    padding: 0;
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.point__item.--01 {
  z-index: 1;
}
.point__item.--02 {
  z-index: 2;
}
.point__item.--03 {
  z-index: 3;
}
.point__item-contents {
  max-width: 422px;
  margin: auto;
}
@media (max-width: 768px) {
  .point__item-contents {
    width: 100%;
    max-width: 100%;
    padding: 4em 2em;
    background-color: #F1F2EC;
  }
}
@media (max-width: 768px) {
  .point__item-image {
    width: 100%;
  }
}
.point__item-title {
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .point__item-title-jp {
    font-size: 1.25em;
  }
}
.point__item-note {
  font-size: 0.8125em;
  margin-top: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

/* products
======================================= */
.products__inner {
  position: relative;
}
.products__video {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: 100vh;
}
.products__video::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.products__contents {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}
.products__title {
  margin-bottom: 0;
}
.products__title-en {
  font-size: 1.25em;
  line-height: 1.4;
  color: #fff;
}
@media (max-width: 768px) {
  .products__title-en {
    font-size: 1rem;
  }
}
.products__images {
  overflow: hidden;
  height: 232.75vh;
  position: relative;
  margin-top: -12.75vh;
}
@media (max-width: 768px) {
  .products__images {
    height: 200vh;
  }
}
.products__image {
  position: absolute;
}
.products__image.--01 {
  width: 22.847222%;
  top: 0;
  right: 10%;
}
@media (max-width: 768px) {
  .products__image.--01 {
    width: 36.5333%;
    right: 2.667%;
  }
}
.products__image.--02 {
  width: 27.986111%;
  top: 17.77%;
  left: 0;
}
@media (max-width: 768px) {
  .products__image.--02 {
    width: 41.368%;
    top: 12.752%;
  }
}
.products__image.--03 {
  width: 22.91667%;
  top: 31.2567%;
  right: 2.333%;
}
@media (max-width: 768px) {
  .products__image.--03 {
    width: 28.8%;
    right: 6.4%;
    top: 23.56%;
  }
}
.products__image.--04 {
  width: 26.458333%;
  top: 41.3%;
  left: 10.41667%;
}
@media (max-width: 768px) {
  .products__image.--04 {
    width: 43.7333%;
    left: 0;
    top: 37.176%;
  }
}
.products__image.--05 {
  width: 29.0278%;
  top: 64.983%;
  right: 8.68%;
}
@media (max-width: 768px) {
  .products__image.--05 {
    width: 55.512%;
    right: 0;
    top: 56.916%;
  }
}

/* story
======================================= */
.story {
  overflow: hidden;
}
@media (max-width: 768px) {
  .story__inner {
    padding-bottom: 2.5em;
  }
}
.story__title {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .story__title {
    margin-bottom: 1.5rem;
  }
}
.story__title-en {
  font-size: 1.25em;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .story__title-en {
    font-size: 1rem;
  }
}
.story__container {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 4em;
  padding-bottom: 4em;
}
@media (max-width: 768px) {
  .story__container {
    padding-top: 1.5em;
    padding-bottom: 2em;
  }
}
.story__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5em;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .story__list {
    gap: 2rem;
  }
}
.story__item {
  width: 520px;
}
@media (max-width: 768px) {
  .story__item {
    width: 248px;
  }
}
.story__item-image {
  position: relative;
  margin-bottom: 1.5em;
}
.story__item-image::before {
  content: "";
  display: block;
  padding-top: 61.53846%;
}
.story__item-image img, .story__item-image video, .story__item-image iframe, .story__item-image svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .story__item-image {
    margin-bottom: 0.5rem;
  }
  .story__item-image::before {
    padding-top: 75.4%;
  }
}
@media (max-width: 768px) {
  .story__item-title {
    margin-bottom: 0.25rem;
  }
}
.story__item-title-num {
  font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 0.875em;
  color: #A39354;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .story__item-title-num {
    font-size: 0.75em;
    line-height: 1.4;
    margin-bottom: 4px;
  }
}
.story__item-title-text {
  font-size: 1.375em;
  white-space: nowrap;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .story__item-title-text {
    font-size: 1.125em;
    line-height: 1.8;
    letter-spacing: 0;
    margin-bottom: 0;
  }
}
.story__item-text {
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .story__item-text {
    font-size: 0.875em;
    line-height: 1.6;
  }
}
.story__item-note {
  font-size: 0.8125em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}
.story .splide__pagination {
  padding: 0;
  bottom: 0;
}
.story .splide__pagination > li {
  width: 25%;
}
.story .splide__pagination__page {
  background: #D9D9D9;
  width: 100%;
  border-radius: inherit;
  opacity: 1;
  height: 2px;
  margin: 0;
}
.story .splide__pagination__page.is-active {
  background: #8C8A82;
  -webkit-transform: inherit;
          transform: inherit;
}

/* gallery
======================================= */
.gallery {
  overflow: hidden;
}
.gallery__inner {
  padding-top: 5em;
  padding-bottom: 12.5em;
}
@media (max-width: 768px) {
  .gallery__inner {
    padding-top: 2.5em;
    padding-bottom: 0;
  }
}
.gallery__title {
  width: 75%;
  max-width: 1080px;
  margin: 0 auto 1.5rem;
}
@media (max-width: 768px) {
  .gallery__title {
    width: 87.2%;
  }
}
.gallery__title-en {
  font-size: 1.25em;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .gallery__title-en {
    font-size: 1rem;
  }
}
@media (max-width: 768px) {
  .gallery__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.gallery__item {
  position: relative;
}
@media (max-width: 768px) {
  .gallery__item {
    cursor: pointer;
    overflow: hidden;
  }
}
@media (max-width: 768px) {
  .gallery__item.is-open .gallery__item-btn {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}
.gallery__item-image {
  position: relative;
}
.gallery__item-image::before {
  content: "";
  display: block;
  padding-top: 131.181818%;
}
.gallery__item-image img, .gallery__item-image video, .gallery__item-image iframe, .gallery__item-image svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .gallery__item-image {
    position: relative;
  }
  .gallery__item-image::before {
    content: "";
    display: block;
    padding-top: 42.667%;
  }
  .gallery__item-image img, .gallery__item-image video, .gallery__item-image iframe, .gallery__item-image svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.gallery__item-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .gallery__item:hover .gallery__item-image::after {
    background-color: rgba(0, 0, 0, 0.2);
  }
}
@media (max-width: 768px) {
  .gallery__item:hover .gallery__item-num {
    opacity: 1;
  }
}
.gallery__item:hover .gallery__item-contents {
  opacity: 1;
}
.gallery__item-num {
  position: absolute;
  bottom: 2.5em;
  right: 3.65635em;
  font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 1.25em;
  color: #fff;
  padding-bottom: 18.5px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .gallery__item-num {
    bottom: inherit;
    right: inherit;
    left: 0.75em;
    top: 0.5em;
  }
}
.gallery__item-num::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10.5px;
  width: 2em;
  height: 1px;
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
@media (max-width: 768px) {
  .gallery__item-num::after {
    height: 0.5px;
  }
}
.gallery__item-btn {
  position: absolute;
  top: 7em;
  right: 1.5em;
  width: 1.375rem;
  height: 1.375rem;
  border: 0.5px solid #fff;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: none;
}
.gallery__item-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.33rem;
  height: 0.33rem;
  -webkit-transform: translate(-50%, -66%) rotate(45deg);
          transform: translate(-50%, -66%) rotate(45deg);
  border-right: 0.5px solid #fff;
  border-bottom: 0.5px solid #fff;
}
.gallery__item-contents {
  display: none !important;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #fff;
  padding: 9.09%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .gallery__item-contents {
    padding: 0.75em 1.25em 2em;
    opacity: 1;
    position: relative;
    color: #3E3A39;
    display: none;
    -webkit-transition: 0s;
    transition: 0s;
  }
}
.gallery__item-title {
  margin-bottom: 0.5rem;
}
.gallery__item-title-num {
  font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 0.875em;
  color: #fff;
  margin-bottom: 0.5rem;
  letter-spacing: 0.05em;
}
.gallery__item-title-text {
  font-size: 1.25em;
}
@media (max-width: 768px) {
  .gallery__item-title-text {
    font-size: 1.125em;
  }
}
.gallery__item-text {
  font-size: 0.9375em;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .gallery__item-text {
    font-size: 0.875em;
  }
}
.gallery .splide__arrow {
  background: inherit;
  border: 1px solid #fff;
}
@media (max-width: 768px) {
  .gallery .splide__arrow {
    display: none;
  }
}
.gallery .splide__arrow svg {
  fill: #fff;
  width: 0.7em;
  height: 0.7em;
}

/* contact
======================================= */
.contact {
  background: url(../img/top/contact/contact.jpg) no-repeat center center/cover;
  position: relative;
  z-index: 0;
}
.contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.contact__inner {
  padding-top: 10em;
  padding-bottom: 10em;
}
@media (max-width: 768px) {
  .contact__inner {
    padding-left: 2em;
    padding-right: 2em;
  }
}
.contact__contents {
  text-align: center;
  color: #fff;
}
.contact__title {
  margin-bottom: 0.625rem;
}
.contact__title-en {
  font-size: 1.25em;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .contact__title-en {
    font-size: 1rem;
  }
}
.contact__title-jp {
  font-size: 2em;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .contact__title-jp {
    font-size: 1.5em;
  }
}
.contact__text {
  margin: auto;
  line-height: 2.4;
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .contact__text {
    font-size: 0.875em;
    line-height: 2;
  }
}

/* news
======================================= */
.news__inner {
  padding-top: 10em;
}
@media (max-width: 768px) {
  .news__inner {
    padding-top: 4em;
    padding-bottom: 1.25em;
  }
}
.news__upper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .news__upper {
    margin-bottom: 2rem;
  }
}
.news__title {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .news__title-en {
    line-height: 1.4;
    margin-bottom: 0;
  }
}
.news__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4em 2.964%;
}
@media (max-width: 768px) {
  .news__list {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2rem;
  }
}
@media (max-width: 768px) {
  .news__button a {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

/* blog
======================================= */
.blog__inner {
  padding-bottom: 10em;
}
@media (max-width: 768px) {
  .blog__inner {
    padding-top: 1.25em;
    padding-bottom: 4em;
  }
}
.blog__upper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .blog__upper {
    margin-bottom: 2rem;
  }
}
.blog__title {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .blog__title-en {
    line-height: 1.4;
    margin-bottom: 0;
  }
}
.blog__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 768px) {
  .blog__list {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2rem;
  }
}
@media (max-width: 768px) {
  .blog__button a {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}