@charset "UTF-8";
/***/
/** Spacer **/
button,
a {
  transition: 0.3s;
}
button:hover,
a:hover {
  opacity: 0.7;
}

@media print, screen and (min-width: 769px) {
  .top-wrapper_pc {
    max-width: 108.5rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.slide-animation {
  animation: zoomUp 10s linear 0s 1 normal both;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes move-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}
.anime-move-y {
  animation: move-y 0.5s infinite alternate ease-in-out;
}

.hero {
  position: relative;
}
.hero__box {
  width: 100%;
  position: absolute;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: 22rem;
}
@media print, screen and (min-width: 769px) {
  .hero__box {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.hero__box img {
  margin-left: auto;
  margin-right: auto;
}
.hero__lead {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4rem;
  max-width: 28rem;
}
@media print, screen and (min-width: 769px) {
  .hero__lead {
    max-width: 39.6rem;
  }
}
.hero__logo {
  max-width: 13.7rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8.6rem;
}
@media print, screen and (min-width: 769px) {
  .hero__logo {
    max-width: 15rem;
    margin-bottom: 3rem;
  }
}
.hero__arrow {
  max-width: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
.hero .js-hero-slider {
  display: none;
}
.hero .js-hero-slider.slick-initialized {
  display: block;
  /*slick-initializedが付与されたら表示*/
}

.top-event {
  padding: 4.8rem 0 6.4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-event__inner {
    padding: 0 2rem;
  }
}
.top-event__label {
  text-align: center;
  color: #fff;
  font-weight: bold;
  background-color: #A78A49;
  width: 28rem;
}
@media screen and (max-width: 768px) {
  .top-event__label {
    padding: 0.8rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    transform: translate(-50%, -50%);
    top: 0;
    position: absolute;
    letter-spacing: 0.025em;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-event__label {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
    padding: 0.7rem;
    position: relative;
  }
  .top-event__label::after {
    content: "";
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2222%22%20viewBox%3D%220%200%2025%2022%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_19%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2019%22%20d%3D%22M12.5%2C0%2C25%2C22H0Z%22%20transform%3D%22translate(25%2022)%20rotate(180)%22%20fill%3D%22%23a78a49%22%2F%3E%3C%2Fsvg%3E");
    width: 2.5rem;
    height: 2.2rem;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 100%);
  }
}
.top-event__label::after {
  content: "";
  position: absolute;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  transform: translate(-50%, 80%);
  bottom: 0;
  width: 2.5rem;
  height: 2rem;
  background-color: #A78A49;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.top-event__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  margin-bottom: 4.8rem;
}
@media print, screen and (min-width: 769px) {
  .top-event__items {
    grid-template-columns: repeat(3, 1fr);
  }
  .top-event__items .c-card__between br {
    display: none;
  }
}
.top-event .c-card {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .top-event .c-card:nth-child(1) {
    grid-column: span 2;
  }
  .top-event .c-card:nth-child(n+2) .c-card__label {
    margin-left: auto;
    margin-right: auto;
  }
  .top-event .c-card:nth-child(n+2) .c-card__title {
    font-size: 1.2rem;
  }
  .top-event .c-card:nth-child(n+2) .c-card__between {
    grid-template-columns: 3rem 62%;
    font-size: 1rem;
  }
}

.top-works {
  padding: 14rem 0 12.8rem;
}
@media screen and (max-width: 768px) {
  .top-works {
    padding: 9.6rem 0 4.8rem;
    background-image: url("../images/top/works-bg.png");
    background-position: center top 0;
    background-repeat: no-repeat;
  }
}
@media print, screen and (min-width: 769px) {
  .top-works {
    position: relative;
    overflow: hidden;
  }
  .top-works::before {
    content: "";
    background-color: #f7f7f7;
    width: 100%;
    height: 38.3rem;
    position: absolute;
    left: 0;
    top: 27.5rem;
  }
  .top-works .c-top-heading {
    margin-left: 74.5rem;
    width: fit-content;
    margin-bottom: 10rem;
  }
  .top-works .c-button {
    margin-left: 70.5rem;
  }
}
.top-works__inner {
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-works__inner {
    padding: 0 2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-works__visual {
    position: absolute;
    top: -4rem;
    left: -6rem;
    width: 37.5rem;
    z-index: 2;
  }
}
.top-works .slick-arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-size: contain;
  background-image: url("../images/common/slider-arrow.png");
}
.top-works .slick-next,
.top-works .slick-prev {
  width: 2.5rem;
  height: 2.5rem;
}
.top-works .slick-prev {
  left: -1rem;
  z-index: 1;
}
.top-works .slick-next {
  right: -1rem;
  transform: translate(0, -50%) scaleX(-1) !important;
}
.top-works .slick-dots {
  margin-top: 2.4rem;
  display: block;
  bottom: auto;
}
.top-works .slick-active button::before {
  color: #A78A49 !important;
  opacity: 1 !important;
}
.top-works__button {
  margin-top: 9rem;
}
@media print, screen and (min-width: 769px) {
  .top-works__slider {
    margin-right: calc(50% - 50vw);
    padding-left: 37.5rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-works__slide {
    padding: 0 1.75rem;
  }
  .top-works__slide img {
    width: 100%;
    height: 23.5rem;
    object-fit: cover;
  }
  .top-works__slide:hover img {
    scale: 1.1;
  }
}
.top-works__slide-image {
  position: relative;
  overflow: hidden;
}
.top-works__slide-image img {
  transition: 0.3s;
  margin-left: auto;
  margin-right: auto;
}
.top-works__slide-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
}

.top-concept {
  padding: 4.8rem 0;
}
@media print, screen and (min-width: 769px) {
  .top-concept {
    position: relative;
    overflow: hidden;
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .top-concept .c-top-heading {
    margin-top: -3.2rem;
    margin-bottom: 3.2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-concept__inner {
    max-width: 136.6rem;
    margin: auto;
    display: grid;
    grid-template-columns: 67rem 1fr;
  }
}
.top-concept__lead {
  max-width: 30rem;
  margin-bottom: 3.2rem;
  margin-left: auto;
  margin-right: auto;
}
.top-concept__desc {
  margin-bottom: 4.8rem;
  text-align: center;
}
@media print, screen and (min-width: 769px) {
  .top-concept__desc {
    letter-spacing: 0.05em;
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}
.top-concept__visuals {
  position: relative;
}
.top-concept__visual1 {
  width: 44rem;
  margin-left: 25.8rem;
}
.top-concept__visual2 {
  width: 44rem;
  position: absolute;
  top: 12.6rem;
  right: 25.8rem;
}

.top-lineup {
  padding: 4.8rem 0;
}
@media screen and (max-width: 768px) {
  .top-lineup__inner {
    padding: 0 2rem;
  }
}
.top-lineup__desc {
  margin-bottom: 4.8rem;
  text-align: center;
}
.top-lineup__visual {
  margin-bottom: 2.4rem;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__visual {
    flex: 0 0 83rem;
    margin-bottom: 0;
  }
}
.top-lineup__product {
  position: relative;
  padding: 4.8rem 0;
  margin-bottom: 6.4rem;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__product {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-bottom: 0;
    padding: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .top-lineup__product-body {
    background: rgba(222, 222, 222, 0.25);
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.top-lineup__product::after {
  content: "";
  background: rgba(222, 222, 222, 0.25);
  width: 28.8rem;
  height: 100%;
  z-index: -1;
  position: absolute;
  right: -2rem;
  top: 0;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__product::after {
    display: none;
  }
}
.top-lineup__product--type2::after {
  right: auto;
  left: -2rem;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__product--type2 {
    display: flex;
    flex-direction: row;
  }
  .top-lineup__product--type2 .top-lineup__product-body {
    background: #fff;
    flex: 0 0 53.5rem;
    max-width: 53.5rem;
  }
}
.top-lineup__product--type3 {
  margin-bottom: 0;
}
.top-lineup__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.5rem 2rem;
  margin-bottom: 4.8rem;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__items {
    flex: 1;
    padding: 8rem 0 6rem;
    grid-template-columns: repeat(4, 1fr);
    padding-right: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .top-lineup__item:nth-child(2) {
    margin-top: 9rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-lineup__item:nth-child(2) {
    margin-top: 6.8rem;
  }
}
@media screen and (max-width: 768px) {
  .top-lineup__item:nth-child(3) {
    margin-top: -9rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-lineup__item:nth-child(4) {
    margin-top: 6.8rem;
  }
}
.top-lineup__item-visual {
  position: relative;
  margin-bottom: 1.6rem;
}
.top-lineup__item-no {
  position: absolute;
  font-size: 3.2rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: absolute;
  left: 1rem;
  top: -2.4rem;
}
.top-lineup__item-title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  white-space: nowrap;
  font-size: 2.5rem;
  font-weight: 500;
}
.top-lineup__item-title span {
  font-size: 1.2rem;
}
.top-lineup__item-desc {
  letter-spacing: 0.08em;
  white-space: nowrap;
  font-size: 1.2rem;
  margin-bottom: 1.6rem;
}
.top-lineup__item-link {
  width: fit-content;
  margin-left: auto;
  display: block;
  line-height: 1;
  padding-right: 1.25em;
  font-size: 1.1rem;
  background-image: url("../images/common/button-arrow.png");
  background-size: 0.6rem;
  background-repeat: no-repeat;
  background-position: center right 0;
  text-decoration: underline;
}
.top-lineup__visual-title {
  font-size: 2rem;
  margin-bottom: 0.5em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 500;
}
.top-lineup__visual-desc {
  margin-bottom: 4.8rem;
}
@media print, screen and (min-width: 769px) {
  .top-lineup__visual-desc {
    margin-bottom: 2.4rem;
  }
}
.top-lineup__visual-caption {
  text-align: center;
}

@media print, screen and (min-width: 769px) {
  .cta-top {
    max-width: 95rem;
    margin-left: auto;
    margin-right: auto;
    padding: 4.5rem 0 5rem;
    margin-bottom: 10rem;
  }
  .cta-top::before {
    display: none;
  }
  .cta-top::after {
    content: "";
    width: calc(100% - 2rem);
    height: calc(100% - 2rem);
    position: absolute;
    left: 1rem;
    top: 1rem;
    border: solid 1px #fff;
  }
  .cta-top__header {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 2.4rem;
  }
  .cta-top__header img {
    width: 21.5rem;
  }
  .cta-top .cta__inner {
    display: block;
  }
  .cta-top .cta__buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
  }
  .cta-top .cta__buttons .c-cta-button {
    margin: 0;
  }
  .cta-top .cta__title {
    font-size: 1.6rem;
  }
}

.top-voice {
  padding: 4.8rem 0 6.4rem;
}
@media print, screen and (min-width: 769px) {
  .top-voice {
    padding: 8rem 0 8rem;
  }
}
@media screen and (max-width: 768px) {
  .top-voice__inner {
    padding: 0 2rem;
  }
}
.top-voice__title {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position: absolute;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  font-weight: 500;
  transform: translate(-50%, -50%);
}
.top-voice__box {
  position: relative;
  padding: 4.8rem 1rem;
}
@media screen and (max-width: 768px) {
  .top-voice__box {
    background-color: rgba(195, 195, 195, 0.25);
  }
}
.top-voice__slider {
  margin-bottom: 4.8rem;
}
@media print, screen and (min-width: 769px) {
  .top-voice__slider {
    max-width: 84rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-voice__slide-inner {
  padding: 0 1rem;
}
.top-voice__slide-visual {
  margin-bottom: 1.6rem;
}
.top-voice__slide-visual img {
  width: 100%;
  object-fit: cover;
}
@media print, screen and (min-width: 769px) {
  .top-voice__slide-visual img {
    height: 24.7rem;
  }
}
.top-voice__slide-title {
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 1.6rem;
}
.top-voice__slide-date {
  text-align: right;
  font-size: 1.1rem;
  display: block;
}
.top-voice .slick-dots {
  display: block;
  position: relative;
  bottom: auto;
  margin-top: 2.4rem;
}
.top-voice .slick-arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../images/common/slider-arrow2.png");
}
.top-voice .slick-next,
.top-voice .slick-prev {
  width: 2.5rem;
  height: 2.5rem;
}
.top-voice .slick-prev {
  left: -2rem;
  z-index: 1;
}
.top-voice .slick-next {
  right: -2rem;
  transform: translate(0, -50%) scaleX(-1) !important;
}
.top-voice .slick-active button::before {
  color: #A78A49 !important;
  opacity: 1 !important;
}

.top-document {
  background: rgba(222, 222, 222, 0.25);
  padding: 0 0 6.4rem;
}
.top-document__desc {
  text-align: center;
  font-weight: bold;
  margin: 3.2rem auto;
}
@media print, screen and (min-width: 769px) {
  .top-document__desc {
    margin-top: 0;
    margin-bottom: 2.8rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-document {
    max-width: 85rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    display: grid;
    grid-template-columns: 36.5rem 1fr;
    background-color: #F8F5F0;
    padding: 1rem;
    position: relative;
    margin-bottom: 10rem;
  }
  .top-document::before {
    display: none;
  }
  .top-document::after {
    content: "";
    width: calc(100% - 2rem);
    height: calc(100% - 2rem);
    position: absolute;
    left: 1rem;
    top: 1rem;
    border: solid 1px #fff;
  }
  .top-document__header {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 2.4rem;
  }
  .top-document__header img {
    width: 21.5rem;
  }
  .top-document .c-cta-button {
    margin: 0 auto 5.4rem;
  }
  .top-document .cta__title {
    font-size: 1.6rem;
  }
  .top-document__visual {
    height: 100%;
    object-fit: cover;
    display: flex;
  }
}
.top-document__title {
  display: none;
}
@media print, screen and (min-width: 769px) {
  .top-document__title {
    display: block;
    width: 16rem;
    margin: 4rem auto 1.6rem;
  }
}
.top-document__inner {
  position: relative;
  z-index: 2;
}

.top-estate {
  position: relative;
  padding: 6.4rem 0 0;
  margin-bottom: 6rem;
}
@media print, screen and (min-width: 769px) {
  .top-estate {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .top-estate__inner {
    padding: 0 2rem;
  }
}
.top-estate::before {
  content: "";
  height: 17rem;
  background: rgba(222, 222, 222, 0.25);
  width: 100%;
  position: absolute;
  left: 0;
  top: 25rem;
  z-index: -1;
}
@media print, screen and (min-width: 769px) {
  .top-estate::before {
    height: 31.4rem;
    bottom: 0;
    top: auto;
  }
}
.top-estate__items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
@media print, screen and (min-width: 769px) {
  .top-estate__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.top-estate__item {
  width: calc(50% - 2rem);
  display: block;
}
@media print, screen and (min-width: 769px) {
  .top-estate__item {
    width: 100%;
    max-width: 33.5rem;
  }
}
.top-estate__item-title {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 0.8rem;
}
@media print, screen and (min-width: 769px) {
  .top-estate__item-title {
    font-size: 1.4rem;
    text-align: center;
    margin-top: 2rem;
  }
}
.top-estate__button {
  margin-top: 4.8rem;
}

.top-news {
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 768px) {
  .top-news__inner {
    padding: 0 2rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-news__inner {
    max-width: 136.6rem;
    margin: auto;
    display: grid;
    grid-template-columns: 60% 1fr;
    gap: 10rem;
  }
}
@media print, screen and (min-width: 769px) {
  .top-news__body {
    max-width: 33.5rem;
  }
}
.top-news__visual {
  margin-left: -5.4rem;
}
.top-news__item {
  padding: 1.25rem 0 1.45rem;
  display: block;
  border-bottom: 0.5px dashed #707070;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.691%22%20height%3D%2211.108%22%20viewBox%3D%220%200%206.691%2011.108%22%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_17%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2017%22%20width%3D%226.691%22%20height%3D%2211.108%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%234d4d4d%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035%22%20transform%3D%22translate(0%200)%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_8%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%208%22%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_29%22%20data-name%3D%22%E3%83%91%E3%82%B9%2029%22%20d%3D%22M6.357%2C4.749%2C1.94.333A1.136%2C1.136%2C0%2C0%2C0%2C.333%2C1.94L3.948%2C5.553.333%2C9.168A1.137%2C1.137%2C0%2C0%2C0%2C1.94%2C10.776L6.357%2C6.357a1.134%2C1.134%2C0%2C0%2C0%2C0-1.608%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%234d4d4d%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center right 1rem;
  padding-right: 2rem;
}
.top-news__item-date {
  font-size: 1.2rem;
}
.top-news__item-date .new {
  color: #CC0000;
  margin-left: 1em;
}
.top-news__item-label {
  border-radius: 40px;
  border: solid 1px #707070;
  padding: 0.4rem 0.8rem;
  display: inline-block;
  line-height: 1;
  font-size: 1rem;
  letter-spacing: 0.025em;
  margin-right: 0.8rem;
  white-space: nowrap;
}
.top-news__item-body {
  margin-top: 0.5rem;
  display: flex;
}
.top-news__item-title {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.025em;
  font-weight: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 1rem;
}
.top-news__button {
  margin-top: 3.2rem;
}

/*# sourceMappingURL=index.css.map */
