@charset "UTF-8";
/** pxからvwへ変換関数 **/
.mv{
  height: 100vh;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 30rem;
  overflow: hidden;
}

/* 背景レイヤー */
.mv-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* 暗幕 */
.mv-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background-color: rgba(0,0,0,.2);
  z-index: 1;
}

/* 画像1枚分（重ねる） */
.mv-bg__item{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  opacity:0;
  animation-duration:20s;          /* 5枚×4秒 */
  animation-iteration-count:infinite;
  animation-timing-function:linear;
  animation-fill-mode:both;
  z-index:0;
}

.mv-bg__item:nth-child(1){ animation-name: mvFade1; opacity: 1; }
.mv-bg__item:nth-child(2){ animation-name: mvFade2; }
.mv-bg__item:nth-child(3){ animation-name: mvFade3; }
.mv-bg__item:nth-child(4){ animation-name: mvFade4; }
.mv-bg__item:nth-child(5){ animation-name: mvFade5; }

/* 1秒重なり(=5%)でクロスフェード
   さらに 95〜100% でも「5→1」をクロスフェードさせる */
@keyframes mvFade1{
  /* 最初の担当（1→2のクロス） */
  0%   {opacity:1;}
  15%  {opacity:1;}
  25%  {opacity:0;}

  /* 途中は消灯 */
  25.01% {opacity:0;}
  94.99% {opacity:0;}

  /* ループ継ぎ目（5→1のクロス） */
  95%  {opacity:0;}
  100% {opacity:1;}
}

@keyframes mvFade2{
  0%   {opacity:0;}
  15%  {opacity:0;}
  25%  {opacity:1;}
  35%  {opacity:1;}
  45%  {opacity:0;}
  100% {opacity:0;}
}

@keyframes mvFade3{
  0%   {opacity:0;}
  35%  {opacity:0;}
  45%  {opacity:1;}
  55%  {opacity:1;}
  65%  {opacity:0;}
  100% {opacity:0;}
}

@keyframes mvFade4{
  0%   {opacity:0;}
  55%  {opacity:0;}
  65%  {opacity:1;}
  75%  {opacity:1;}
  85%  {opacity:0;}
  100% {opacity:0;}
}

@keyframes mvFade5{
  0%   {opacity:0;}
  75%  {opacity:0;}
  85%  {opacity:1;}
  95%  {opacity:1;}
  100% {opacity:0;} /* このoutと、mvFade1の95-100% in が重なる */
}

/* 前面要素を確実に上へ */
.mv .container,
.mv .top-news-area{
  position: relative;
  z-index: 2;
}

/* 動きを減らす設定 */
@media (prefers-reduced-motion: reduce){
  .mv-bg__item{ animation: none; opacity: 1; }
  .mv-bg__item:not(:first-child){ display: none; }
}

/* 上に載せる要素 */
.mv .container{
  position: relative;
  z-index: 1;
}

.mv .container {
  padding: 0 2rem;
  display: flex;
  flex-direction: column-reverse;
}
.mv .container h1 {
  font-size: 2rem;
  color: #fff;
  margin-bottom: 2rem;
}
.mv .container h1 span {
  background-color: #fff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 2rem;
}
.mv .container p {
  color: #fff;
  font-size: 50px;
}

.top-news-area {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.top-news-area .top-news {
  font-size: 14px;
  padding: 1rem 2rem;
}
.top-news-area .archive {
  padding: 1rem 2rem;
  color: #fff;
  background-color: #4B3621;
}

.lead {
  background-image: url(../img/top/bg-lead02.jpg);
  background-size: cover;
  background-position: center;
  padding: 0;
}
.lead .container {
  position: relative;
  height: 450px;
  display: flex;
  align-items: flex-end;
}
.lead .container .verticle {
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(212, 87, 79, 0.5);
  height: 100%;
  display: flex;
  justify-content: center;
  padding: 0 25px;
}
.lead .container .verticle h2 {
  font-size: 2rem;
  color: #fff;
}
.lead .container .verticle h2 span {
  writing-mode: horizontal-tb;
}
.lead .container h3 {
  font-size: 1.6rem;
  line-height: 2;
  color: #fff;
  margin-bottom: 8rem;
}

.concept .container {
  position: relative;
}
.concept h3 {
  text-align: center;
}
.concept h3 span {
  width: 120px;
  display: inline-block;
}
.concept .content p {
  margin-bottom: 30px;
}
.concept #img01 {
  position: absolute;
  top: 60px;
  left: 0;
  width: 200px;
}
.concept #img02 {
  position: absolute;
  top: 60px;
  right: 0;
  width: 200px;
}
.concept #img03 {
  position: absolute;
  bottom: -70px;
  right: 0;
  width: 200px;
}
.concept #img04 {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 200px;
}

.features__list {
  margin-bottom: 40px;
}
.features__list .features__img {
  width: 30%;
}
.features__list .features__img img {
  border-radius: 10px;
}
.features__list .features__body {
  width: 70%;
  padding-left: 30px;
}
.features__list h3 {
  font-size: 20px;
  margin-bottom: 1rem;
}
.features__list p {
  font-size: 14px;
}

.features__list-center {
  display: flex;
  justify-content: center;
}

.features__list-end {
  display: flex;
  justify-content: flex-end;
}

.features__item {
  max-width: 800px;
  display: flex;
  align-items: center;
}

.menu__list {
  max-width: 800px;
  margin: 0 auto;
}
.menu__list .menu__card {
  display: flex;
  background-color: #fff;
  margin-bottom: 40px;
  border-radius: 10px;
  overflow: hidden;
}
.menu__list .menu__card .menu__media {
  width: 30%;
}
.menu__list .menu__card .menu__media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.menu__list .menu__card .menu__body {
  width: 70%;
  padding: 2rem;
}
.menu__list .menu__card .menu__text {
  font-size: 14px;
  margin-bottom: 1.5rem;
}

.voice .text-center {
  margin-bottom: 4rem;
}

.menu .text-center {
  margin-bottom: 4rem;
}
.menu .menu__link {
  display: block;
  text-align: right;
}



.groups-list {
  justify-content: center;
  margin-top: 40px;
}
.groups-list h3 {
  text-align: center;
}
.groups-list p {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  font-size: 1.4rem;
}
.groups-list .groups-link span {
  font-size: 10px;
  margin-left: 10px;
}

.menu__decor {
  display: flex;
  justify-content: center;
  margin-bottom: 6rem;
}

.btn-nayami {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}

.btn-nayami .worries__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 280px;
  padding: 14px 22px;
  background: #8b5a7b;
  border: 1px solid #8b5a7b;
  color: #fff;
  text-decoration: none;
  font-size: 2rem;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.btn-nayami .worries__btn:hover {
  color: #8b5a7b;
  background: transparent;
}

.worry-card__media img {
  width: 100%;
  height: 170px;
  object-fit: cover;
}

@media screen and (max-width: 750px) {
  .mv {
    padding-top: 0;
  }
  .mv .container {
    padding: 0;
  }
  .lead .container .verticle {
    width: 100%;
    height: auto;
    writing-mode: horizontal-tb;
    padding: 20px 25px;
  }
  .lead .container {
    width: 100%;
  }
  .lead .container h3 {
    padding: 0 2rem;
  }
  .concept .container img {
    position: static !important;
  }
  .concept h3 span {
    display: none;
  }
  .concept .imgs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .concept .imgs img {
    width: 48% !important;
    margin-bottom: 18px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .features__list .features__img {
    width: 100%;
    margin-bottom: 1.8rem;
  }
  .features__list .features__img img {
    width: 100%;
  }
  .features__item {
    flex-wrap: wrap;
  }
  .features__list .features__body {
    width: 100%;
    padding-left: 0;
  }
  .menu__list .menu__card {
    flex-wrap: wrap;
  }
  .menu__list .menu__card .menu__media {
    width: 100%;
  }
  .menu__list .menu__card .menu__body {
    width: 100%;
  }
  .mv {
    flex-direction: column;
  }
  .mv .top-news-area {
    bottom: -60px;
  }
}
@media screen and (max-width: 540px) {
  .mv .container p {
    font-size: 6.6666666667vw;
  }
  .mv .container h1 {
    font-size: 4.8vw;
    margin-bottom: 0;
  }
  .top-news-area {
    right: auto;
    width: 90%;
  }
  .concept h3 {
    font-size: 5.3333333333vw;
    margin-bottom: 2.5rem;
  }
  .features__list h3 {
    font-size: 4.8vw;
  }
  .menu__list .menu__card .menu__body h3 {
    font-size: 4.8vw;
  }
}/*# sourceMappingURL=top.css.map */