@charset "utf-8";
/* -----------------------------------------------------------------
 .works
----------------------------------------------------------------- */
.works_body {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1180fr 620fr;
  grid-template-rows: auto 2fr;
  gap: 20px;
}
.works_item {
  display: block;
}
.works_item.works01 {
  grid-column: 1;
  grid-row: 1;
}
.works_item.works02 {
  margin-top: 10vw;
  grid-column: 2;
  grid-row: span 2;
}
.works_item.works01 .works_img {
  aspect-ratio: 1180 / 600;
}
.works_item.works02 .works_img {
  aspect-ratio: 620 / 900;
}
.works_item .works_img .more {
  position: absolute;
  bottom: 1em;
  right: 1em;
  display: flex;
  align-items: center;
  gap:.5em;
  font-size: .9em;
  transition: color .3s ease,transform .3s ease;
}
.works_item .works_img .more .icon_dot {
  width: 1rem;
  height: 1rem;
  position: relative;/*common上書き*/
  top: auto;/*common上書き*/
  left: auto;/*common上書き*/
  transform: translate(0);/*common上書き*/
}
.works_btn {
  grid-column: 1;
  justify-self: center;
  align-self: center;
}
.works_description .name {
  margin-top: .6em;
  font-size: min(.8rem,2vw);
}
.works_description .title {
  margin-top: .2rem;
  font-size: min(1.1rem,3vw);
}
.works_description .tag {
  margin-top: 1em;
  font-size: min(.8rem,2vw);
  color: var(--color_gray);
}
@media screen and (max-width: 767px) {
  .works_body {
    grid-template-columns: 1fr;
    gap:0;
  }
  .works_item.works01,
  .works_item.works02,
  .works_btn {
    grid-column: 1;
    grid-row: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .works_item.works01 {
    width: 100%;
  }
  .works_item.works02 {
    width: 60%;
    margin-top: 2rem;
  }
  .works_item.works01 .works_img {
    aspect-ratio: 1 / 1;
  }
  .works_item.works02 .works_img {
    aspect-ratio: 1 / 1;
  }
}
@media (hover: hover) and (pointer: fine) {
  a.works_item:hover .works_img .more {
    color: var(--color_kamikoubou);
    transform: translateX(-5px);
  }
  a.works_item:hover .works_description {
    opacity: .8;
  }
}
/* -----------------------------------------------------------------
 .about
----------------------------------------------------------------- */
.about {
  display: flex;
  align-items: center;
  gap:4vw;
}
.about_body {
  flex: 1;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .about {
    flex-direction: column;
    align-items: flex-start;
    gap:1rem;
  }
  .about .btn {
    display: flex;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  .about_title {
    width: 40%;
  }
}
/* -----------------------------------------------------------------
 .separator_slide
----------------------------------------------------------------- */
.separator_slide {
  margin-top: var(--margin_size_300);
}

/* -----------------------------------------------------------------
 news_list
----------------------------------------------------------------- */
.news_list {
  margin-top: var(--margin_size_20);
  border-top: var(--color_border_pale) 1px solid;
}
.news_list .item {
  display: flex;
  gap: 2rem 1rem;
  padding: 1rem 0;
  border-bottom: var(--color_border_pale) 1px solid;
}
.news_list .item_inner {
  flex: 1 0;
  display: flex;
  gap: .2rem 2rem;
}
.news_list .item .date {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  font-size: min(1.125rem, 1.8vw);
}
.news_list .item .date time {
  margin-top: .5rem;
}
.news_list .item .box_ttl {
  flex: 1 0;
  font-size: min(1.5rem, 2.4vw);
  transition: color 0.4s ease;
}
.news_list .item .box_ttl .ttl {
  line-height: 1.6;
}
.news_list .item .arrow {
  width: min(2rem, 8vw);
  height: 1rem;
  margin: auto;
  background-color: #000;
  -webkit-mask: url('../img/common/arrow01.svg') no-repeat center / contain;
  mask: url('../img/common/arrow01.svg') no-repeat center / contain;
  opacity: 0.25;
  transition: background-color 0.4s ease, transform 0.4s ease, opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
  .news_list .item_inner {
    flex-direction: column;
  }
  .news_list .item .date {
    font-size: min(.85rem, 2.8vw);
  }
  .news_list .item .box_ttl {
    font-size: min(1.05rem, 3.7vw);
  }
}
@media print, screen and (min-width: 768px) {
  .news_list .item {
    padding: 3.6rem 0;
  }
  .news_list .item .date {
    flex: 0 0 13rem;
  }
  .news_list .item .box_ttl {
    margin-top: .15rem;
  }
  .news_list .item .arrow {
    width: 3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  /*---------- hover共通処理 ----------*/
  .news_list .item:hover .box_ttl {
    color: var(--color_kamikoubou);
  }
  .news_list .item:hover .arrow {
    background-color: var(--color_kamikoubou);
    opacity: 1;
    transform: translateX(0.5rem);
  }
}


/* -----------------------------------------------------------------
 separator_deco
----------------------------------------------------------------- */
.separator_deco {
  margin-top: var(--margin_size_250);
  transform: scale(0.3);
  opacity: 0;
  transition: opacity .4s ease-out, transform .5s cubic-bezier(0.25, 0, 0, 1.5);
}

.separator_deco.js_is_visible {
  transform: scale(1);
  opacity: 1;
}



