@charset "UTF-8";

/*  top mv
--------------------------------------------- */
@media  only screen and (min-width: 768px) {
  .mv {
    position: relative;
    width: 100%;
    min-height: 60.0rem;
    overflow: hidden;
  }
  .mv-img-container {
    width: 100%;
    height: 100%;
  }
  .mv-img-item {
    width: 100%;
    height: 100%;
  }

  .mv-img-item img {
    width: 100%;
    height: 100%; 
    min-height: 60.0rem;
    object-fit: cover;
  }
}
@media  only screen and (max-width: 767px) {
  .mv {
    position: relative;
    width: 100%;
    height: auto;
  }
  .mv-img-container {
    width: 100%;
    height: auto;
    z-index: 0;
  }
  .mv-img-item img {
    width: 100%;
    height: auto;
  }
}

/*  top about
--------------------------------------------- */
.top-about a{
  display: flex;
  background: var(--bg-white-color);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  margin-top: -15.0rem;
  position: relative;
  z-index: 1;
}
.about-txt,
.about-img{
  width: 50%;
  max-width: 50.0rem;
  flex: 1;
}
.about-txt {
  padding: clamp(4.0rem, 4.688vw, 6.0rem) clamp(4.0rem, 4.688vw, 6.0rem);
}
.about-txt .h1-ttl{
  font-size: var(--fs-26);
  text-align: left;
}
.about-img{
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  cursor: pointer;
}
.about-img::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../../assets/img/top/about.webp);
  background-position: center;
  background-size: cover;
  transition: transform .5s ease;
  transform: scale(1);
}
@media (hover: hover) and (pointer: fine) {
  .top-about a:hover .about-img::before {
    transform: scale(1.1);
  }
}
.top-about .button-txt.btn-max{
  font-size: var(--fs-18);
  font-weight: var(--fw-600);
  padding-right: 8.0rem;
  position: relative;
  display: inline-block;
  transition: 0.3s ease-in-out;
}
.top-about .button-txt.btn-max .link-arrow2:before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 5.4rem;
  height: 5.4rem;
  border: 0.1rem solid var(--lightgray-color);
  border-radius: 5.4rem;
  color: var(--white-color);
  transition: 0.3s ease-in-out;
}
.top-about .button-txt.btn-max .link-arrow2:after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 1.2rem;
  background: url(../img/common/arrow-right.svg) no-repeat center / contain;
  transition: none; 
  animation: none; 
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .top-about a:hover .button-txt.btn-max{
    color: var(--bg-main-color);
    transition: 0.3s ease-in-out;
  }
  .top-about a:hover .button-txt.btn-max .link-arrow2::before{ 
    background: var(--bg-main-color);
    border: 0.1rem solid var(--bg-main-color);
  }
  .top-about a:hover .button-txt.btn-max .link-arrow2::after{  
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(317deg) brightness(103%) contrast(102%);
  }
}
@media  only screen and (max-width: 1024px) and (min-width: 768px) {
  .about-txt .h1-ttl{
    font-size: clamp(3.0rem, 3.125vw, 3.2rem);
    white-space: nowrap;
  }
  .about-txt .ttl-wrapper,
  .about-txt .button-wrapper{
    margin-bottom: 3.0rem;
  }
}
@media  only screen and (max-width: 767px){
  .top-about a{
    margin-top: -18.667vw;
    margin-left: 4%;
    margin-right: 4%;
    flex-wrap: wrap;
  }
  .about-txt,
  .about-img{
    width: 100%;
    max-width: 100%;
    flex: unset;
  }
  .about-txt {
    padding: 8vw 8vw;
  }
  .about-img{
    width: 100%;
    height: auto;
    background: unset;
  }
  .top-about .button-wrapper{
    margin-top: clamp(2.0rem, 8vw, 3.0rem);
  }
  .top-about .button-txt.btn-max{
    padding-right: clamp(3.0rem, 14.667vw, 7.0rem);
  }
  .top-about .button-txt.btn-max .link-arrow2:before {
    width: clamp(3.0rem, 10.667vw, 5.0rem);
    height: clamp(3.0rem, 10.667vw, 5.0rem);
  }
  .top-about .button-txt.btn-max .link-arrow2:after {
    right: clamp(0.5rem, 4vw, 1.8rem);;
    width: clamp(0.5rem, 3.467vw, 1.7rem);;
    height: clamp(0.5rem, 2.4vw, 1.3rem);
  }
}

/*  top contents
--------------------------------------------- */
.contents-list .list-item a{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.contents-list .list-item .list-img{
  cursor: pointer;
  overflow: hidden;
  width: 100%;
}
.contents-list .list-item .list-img img{
  height: auto;
  transition: transform .5s ease;
  width: 100%;
}
.contents-list .list-item .list-block{
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.contents-list .list-item .list-block .h3-ttl.min-ttl{
  text-align: center;
  padding: 3.0rem 0;
}
.contents-list .list-item .list-block .list-txt{
  padding: 0 2.0rem;
}
.list-block .button-wrapper-min{
  margin-top: auto;
}
.list-block .button-round{
  border: 0.1rem solid var(--lightgray-color);
  border-radius: 5.0rem;
  font-size: var(--fs-15);
  display: block;
  padding: 1.0rem;
  text-align: center;
  transition: 0.3s ease-in-out;
  margin: 3.0rem 2.0rem 0;
}
@media (hover: hover) and (pointer: fine) {
  .contents-list .list-item a:hover .list-block .button-round{
    border: 0.1rem solid var(--bg-main-color);
    background: var(--bg-main-color);
    color: var(--white-color);
  }
  .contents-list .list-item a:hover .list-img img{
    transform: scale(1.1);
  }
}
@media  only screen and (max-width: 1024px){
  .contents-list .list-item .list-block .h3-ttl.min-ttl{
    padding: 2.0rem 0;
  }
  .contents-list .list-item .list-block .list-txt{
    padding: 0 1.0rem;
  }
  .list-block .button-round{
    padding: 1.0rem;
    margin: 2.0rem 0 0;
  }
}
@media  only screen and (max-width: 767px){
  .contents-list .list-item .list-block .h3-ttl.min-ttl{
    padding: 2.0rem 0;
  }
  .contents-list .list-item .list-block .list-txt{
    padding: 0 1.333vw;
  }
  .list-block .button-round{
    border-radius: 8vw;
    font-size: var(--fs-14);
    padding: 1.6vw;
    margin: 5.333vw 0 0;
  }
}

/*  news top / news
--------------------------------------------- */
.news-list{
  width: 100%;
}
.news-list .list-item a{
  border-bottom: 0.1rem solid var(--lightgray-color);
  display: flex;
  align-items: flex-start;
  padding: 3.0rem 0;
  text-decoration: none !important;
  transition: transform .3s;
}
.list-time{
  color: var(--lightgray-color);
  min-width: 10.0rem;
  margin-right: 4.0rem;
  display: inline-block;
  white-space: nowrap;
}
.list-ttl{
  color: var(--black-color);
  position: relative;
  /* underline */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.6em;
}
@media (hover: hover) and (pointer: fine) {
  .news-list .list-item a:hover .list-ttl{
    text-decoration: underline;
  }
  /* .news-list .list-item a .list-ttl::after {
    content: "";
    position: absolute;
    bottom: -0.2rem;
    height: 0.1rem;
    left: 0;
    background-color: var(--black-color);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
    width: 100%;
  }
  .news-list .list-item a:hover .list-ttl::after {
    transform: scale(1, 1);
  } */
}

@media  only screen and (max-width: 767px){
  .news-list .list-item a{
    flex-wrap: wrap;
    gap: 1.2rem;
    padding: 2.0rem 0;
  }
  .list-time{
    min-width: 100%;
    margin-right: unset;
    white-space: unset;
  }
  .list-ttl{
    position: relative;
    white-space: unset;
    overflow: unset;
    text-overflow: unset;
  }
}
