
:root {
    --main: #AF3C3C;
    --second: #F8F4E6;
    --gray: #3C3C3C;
}



body {
    font-family: "Zen Maru Gothic", "Noto Sans JP", serif;
}




/* ヘッダー */

.hderCenterLogo {
    /*position: fixed;*/
    top: 0;
    z-index: 9999;
    width: 100%;
    background: #fff;
    padding: 10px 0 11px;
  text-align: center;
  }
  
  @media (min-width: 768px) {
    .hderCenterLogo {
      padding: 18px 0;
    }
  }
  
.hderCenterLogo img {
height: 40px;
margin: 0 auto;
}

@media (min-width: 768px) {
.hderCenterLogo img {
    height: 40px;
}
}

.shadow {
    box-shadow: 0 2px 2px -1px #ee7801;
}

.wrapper {
    background-color: var(--main);
    width: 100%;
}


/* MV */

.mv-container {
width: 100%;
max-width: 1920px;
margin: 0 auto;
aspect-ratio: 16 / 7.4;
background-color: var(--main);
}

.mv-inner {
    padding: 30px 30px 30px 30px;
    height: 100%;
}

.mv-images {
    width: 100%;
    position: relative;
  }

.mv-images-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    animation: img-change 24s infinite;
  }
  .mv-images-item:nth-child(1) {
    animation-delay: 0s;
  }
  .mv-images-item:nth-child(2) {
    animation-delay: 6s;
  }
  .mv-images-item:nth-child(3) {
    animation-delay: 12s;
  }

  .mv-images-item:nth-child(4) {
    animation-delay: 18s;
  }
  
  .mv-images-item img {
    width: 100%;
    object-fit: cover;
  }
  
  @keyframes img-change {
    0% {
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    20% {
      opacity: 1;
    }
    30% {
      opacity: 1;
    }
    40% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }

.mv-text {
    position: relative;
    max-width: 610px;
    height: 100%;
}

.mv-text-item img {
    position: absolute;
    width: 45vw;
    bottom: 0;
    left: 0;
    max-width: 864px;
}

@media (max-width: 768px) {

    .mv-container {
        aspect-ratio: 1 / 1.5;
        }
        
        .mv-inner {
            padding: 20px 20px 20px 20px;
            height: 100%;
        }
        
        .mv-images {
            width: 100%;
            position: relative;
          }
        
        .mv-images-item {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            opacity: 0;
            animation: img-change 24s infinite;
          }
          .mv-images-item:nth-child(1) {
            animation-delay: 0s;
          }
          .mv-images-item:nth-child(2) {
            animation-delay: 6s;
          }
          .mv-images-item:nth-child(3) {
            animation-delay: 12s;
          }
        
          .mv-images-item:nth-child(4) {
            animation-delay: 18s;
          }
          
          .mv-images-item img {
            width: 100%;
            object-fit: cover;
          }
          
          @keyframes img-change {
            0% {
              opacity: 0;
            }
            10% {
              opacity: 1;
            }
            20% {
              opacity: 1;
            }
            30% {
              opacity: 1;
            }
            40% {
              opacity: 0;
            }
            100% {
              opacity: 0;
            }
          }
        
        .mv-text {
            max-width: 610px;
            height: 100%;
        }
        
        .mv-text-item img {
            width: 100%;
            bottom: 5%;
            max-width: 864px;
        }
}



.contents-area {
  opacity: 0;
  transition: opacity 1s ease;
}
.contents-area.fade-in {
  opacity: 1;
}




/* キャッチ */


.catch-q {
    width: 100%;
    max-width: 1100px;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    padding: 258px 0 32px 0;
}

.catch-q-inner {
    margin: 48px 48px;
}

.catch-q-images {
    display: flex;
    position: absolute;
    right: 15%;
    top: 15%;
    z-index: 2;
}

.catch-q-title {
    width: 100%;
    background-color: var(--second);
    padding: 64px 0px;
    border-radius: 16px;
}

.catch-q-title  h2 {
    font-size: 40px;
    font-weight: bold;
    color: var(--main);
}

@media (max-width: 768px) {

  .catch-q {
    padding: 32px 0 32px 0;
}

.catch-q-inner {
  margin: 16px 16px;
}

  .catch-q-sp img {
    width: 100%;
  }
}

.contents-area {
  margin-top: 108px;
}

.catch-a {
  width: 100%;
  max-width: 1100px;
  height: 100%;
  margin: 0 auto;
  text-align: center;
}

.catch-a-inner {
  margin: 0 48px;
}

.catch-a-images {
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {

  .catch-a-sp img {
    width: 100%;
  }

}





.box01 {
  width: 100%;
  width: 100%;
  background-color: var(--second);
  background-image: url(../images/machi.png);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: auto 158px;
  padding: 64px 0;
}

.cv {
  margin: 0 auto;
  text-align: center;
}

.cv-title {
  color: var(--main);
  font-weight: bold;
  margin-bottom: 24px;
}

.cv-title p {
  font-size: 28px;
  margin-bottom: 8px;
}

.cv-title h2 {
  font-size: 40px;
}

.cv-button {
  width: 540px;
  display: flex;
  justify-content: space-between;
  background-color: var(--main);  
  padding: 24px 32px;
  border-radius: 50px;
  transition-duration: .5s;
  margin: 0 auto;
}

.cv-button:hover {
  box-shadow: 0px 5px 0px #A53333;
  transform: translateY(-4px);
}

.cv-button-text {
  color: #fff;
  font-size: 24px;
  align-items: center;
  display: flex;
  gap: 24px;
}

.cv-button-text img {
  display: block;
}

@media (max-width: 768px) {


.box01 {
  width: 100%;
  background-size: auto 120px;
  padding: 64px 20px;
}

.cv {
  margin: 0 20px;
  text-align: center;
}

.cv-title {
  margin-bottom: 32px;
}

.cv-title p {
  font-size: 18px;
  margin-bottom: 8px;
}

.cv-title h2 {
  font-size: 26px;
  line-height: 150%;
}

.cv-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  background-color: var(--main);  
  padding: 20px 24px;
  border-radius: 50px;
  transition-duration: .5s;
  margin: 0 auto;
}

.cv-button:hover {
  box-shadow: 0px 5px 0px #A53333;
  transform: translateY(-4px);
}

.cv-button-text {
  color: #fff;
  font-size: 16px;
  align-items: center;
  display: flex;
  gap: 24px;
}

.cv-button-text img {
  display: block;
}

}





.chart {
  width: 100%;
  max-width: 840px;
  text-align: center;
  margin: 108px auto 0;
}

.h3-title-area {
  margin-bottom: 72px;
}

.h3-title-text {
  font-size: 32px;
  color: var(--main);
  font-weight: bold;
  margin-bottom: 16px;
}

.h3-title-deco img {
  width: 180px;
}

.chart-images {
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
}

.chart-image-01 img {
  width: 337px;
}

.chart-image-02 img {
  width: 439px;
}

.chart-caption {
  font-size: 12px;
  color: #B09D89;
  font-family: 'Noto sans jp';
}

@media (max-width: 768px) {

  .chart {
    width: 100%;
    text-align: center;
    margin: 72px auto 0;
  }
  
  .h3-title-area {
    margin-bottom: 32px;
  }
  
  .h3-title-text {
    font-size: 22px;
    color: var(--main);
    font-weight: bold;
    margin-bottom: 16px;
  }
  
  .h3-title-deco img {
    width: 150px;
  }
  
  .chart-images {
    display: block;
    width: 100%;
  }

  .chart-image-01 {
    margin-bottom: 32px;
  }
  
  .chart-image-01 img {
    width: 298px;
    margin: 0 auto;
  }
  
  .chart-image-02 img {
    width: 337px;
    margin: 0 auto;
  }
  
  .chart-caption {
    font-size: 12px;
    color: #B09D89;
    font-family: 'Noto sans jp';
  }
  

}





.interview {
  width: 100%;
  max-width: 696px;
  text-align: center;
  margin: 108px auto 0;
  position: relative;
}

.interview-item {
  width: 486px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.interview-image img {
  width:131px;
}

.interview-image-03 img {
  width:107px;
}

.interview-box {
  width: 339px;
}

.interview-info {
  color: var(--main);
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 24px;
}

.interview-info p {
  margin-bottom: 24px;
}

.interview-info span {
  font-size: 60px;
  line-height: 100%;
}

.interview-info img {
  height: 116px;
}


.interview-text {
  font-size: 16px;
  color: var(--gray);
  line-height: 170%;
  text-align: left;
}


.interview-swipe {
  display: flex;
  justify-content: center;
}


.custom {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  right: 38%;
  bottom: -2%;
  margin-top: 32px;
}

.custom-prev,
.custom-next {
  cursor: pointer;
}

.custom-prev:hover,
.custom-next:hover {
  opacity: 70%;
  transition-duration: 1s;
}


.swiper-pagination {
  position: inherit;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #ccc;
  opacity: 0.6;
  border-radius: 50%;

}

.swiper-pagination-bullet-active {
  background-color: var(--main) !important;
  opacity: 1;
}

@media (max-width: 768px){

  .interview {
    margin: 72px auto 0;
  }
  
  .interview-item {
    width: 343px;
    display: block;
    padding: 0 16px;
  }

  .interview-box-sp {
    display: flex;
    justify-content: center;
    gap: 8px;
  }
  
  .interview-image-sp img {
    width:131px;
  }

  .interview-image-03-sp img {
    width: 90px;
  }
  
  .interview-box {
    width: 339px;
  }
  
  .interview-info-sp {
    color: var(--main);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 24px;
  }
  
  .interview-info-sp p {
    margin-bottom: 24px;
  }
  
  .interview-info-sp span {
    font-size: 48px;
    line-height: 100%;
  }
  
  .interview-info-sp img {
    height: 90px;
  }
  
  
  .interview-text-sp {
    font-size: 16px;
    color: var(--gray);
    line-height: 170%;
    text-align: left;
  }
  
  
  .interview-swipe {
    display: flex;
    justify-content: center;
  }

  .custom {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    right: 38%;
    bottom: -2%;
    margin-top: 32px;
  }
  
  
  .custom-prev:hover,
  .custom-next:hover {
    opacity: 70%;
    transition-duration: 1s;
  }
  
  
  .swiper-pagination {
    position: inherit;
    margin-top: 0px;
  }
  
  .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #ccc;
    opacity: 0.6;
    border-radius: 50%;
  
  }
  
  .swiper-pagination-bullet-active {
    background-color: var(--main) !important;
    opacity: 1;
  }

  .custom-prev, .custom-next {
    cursor: pointer;
}

  .swiper-pagination {
    flex-shrink: 0;
}

}






.box02 {
  background-image: url(../images/background.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 108px 0 108px;
}

.category {
  width: 100%;
}

.category-inner {
  width: 100%;
  max-width: 977px;
  margin: 0 auto 0;
  text-align: center;
  position: relative;
}

.category-title {
  margin-bottom: 24px;
}

.category-title img {
  width: 478px;
}

.category-list {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 32px;
}

/* カード */

.category-item {
  width: 220px;
  background-color: var(--second);
  max-width: 220px;
  border-radius: 190px 190px 8px 8px;
  padding: 32px 16px 16px 16px;
  text-align: center;
}

.category-item:hover {
  box-shadow: 0px 8px 0px #E6DFC6;
  transform: translateY(-6px);
  cursor: pointer;
}

.category-image-01 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_01.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-01{
    background-image: url(../images/item_01_hover.png);
  }
}



.category-text-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}

.category-text {
  font-size: 18px;
  font-weight: bold;
  color: var(--main);
}

.category-image-02 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_02.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-02{
    background-image: url(../images/item_02_hover.png);
  }
}

.category-image-03 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_03.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-03{
    background-image: url(../images/item_03_hover.png);
  }
}

.category-image-04 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_04.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-04{
    background-image: url(../images/item_04_hover.png);
  }
}

.category-image-05 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_05.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-05{
    background-image: url(../images/item_05_hover.png);
  }
}

.category-image-06 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_06.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-06{
    background-image: url(../images/item_06_hover.png);
  }
}

.category-image-07 {
  width: 126px;
  height: 126px;
  background-image: url(../images/item_07.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}

.category-item:hover {
  .category-image-07{
    background-image: url(../images/item_07_hover.png);
  }
}

.category-person {
  position: absolute;
  right: 3%;
  bottom: -10%;

}

.category-person img {
  width: 168px;
}

@media screen and (min-width: 769px) and (max-width: 980px) {

  .category-person {
    display: none;
  }

  .category-list {
    justify-content: center;
  }

}


@media (max-width: 768px) {

  .box02 {
    background-image: url(../images/background_sp.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 56px 0 56px;
  }
  
  .category {
    width: 100%;
  }
  
  .category-inner {
    margin: 0 auto 0;
  }
  
  .category-title {
    margin-bottom: 24px;
  }
  
  .category-title img {
    width: 332px;
  }
  
  .category-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0 16px;
  }

  .category-item {
    width: 164px;
    background-color: var(--second);
    max-width: 220px;
    border-radius: 190px 190px 8px 8px;
    padding: 32px 16px 16px 16px;
    text-align: center;
  }

  .category-item:last-child {
   text-align: left;
  }
  
  .category-item:hover {
    box-shadow: 0px 8px 0px #E6DFC6;
    transform: translateY(-6px);
    cursor: pointer;
  }
  
  .category-image-01 {
    width: 80px;
    height: 80px;
  }
  
  .category-item:hover {
    .category-image-01{
      background-image: url(../images/item_01_hover.png);
    }
  }
  
  .category-text-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
  }
  
  .category-text {
    font-size: 14px;
    font-weight: bold;
    color: var(--main);
  }
  
  .category-image-02 {
    width: 80px;
    height: 80px;
  }
  
  
  .category-image-03 {
    width: 80px;
    height: 80px;
  }
  
  .category-image-04 {
    width: 80px;
    height: 80px;
  }
  
  .category-image-05 {
    width: 80px;
    height: 80px;
  }
  
  .category-image-06 {
    width: 80px;
    height: 80px;
  }
  
  .category-image-07 {
    width: 80px;
    height: 80px;
  }
  
  .category-person {
    position: inherit;
    width: 164px;
  
  }
  
  .category-person img {
    width: 129px;
  }
  

}



.article {
  width: 100%;
  max-width: 772px;
  margin: 108px auto 0;
  position: relative;
}

.article-inner {
  margin: 0 auto;
  text-align: center;
}

.article-title {
  margin-bottom: 24px;
}

.article-title img {
  width: 324px;
}

.article-list {
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
  gap: 32px;
}

/* カード */

.article-item  {
  max-width: 236px;
  background-color: var(--second);
  text-align: center;
  padding: 32px 24px 16px 24px;
  border-radius: 8px;
}

.article-item:hover {
  box-shadow: 0px 8px 0px #E6DFC6;
  transform: translateY(-6px);
  cursor: pointer;
}

.article-image {
  margin-bottom: 32px;
}

.article-image img {
  width: 162px;
}

.article-text {
  width: 100%;
  color: var(--main);
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 16px;
  text-align: left;
  line-height: 150%;
}

.article-arrow {
  width: 100%;
  text-align: right;
}

.article-person {
  position: absolute;
  left: 5%;
  bottom: 3%;
}

.article-person img {
  width: 170px;
}

.article-person-sp {
  display: none;
}

@media (max-width: 768px) {

  .article {
    width: 100%;
    margin: 48px auto 0;
    position: relative;
  }
  
  .article-inner {
    margin: 0 auto;
    text-align: center;
  }
  
  .article-title img {
    width: 248px;
  }
  
  .article-list {
    width: 100%;
    gap: 16px;
    margin: 0 auto;
    justify-content: center;
  }
  
  /* カード */
  
  .article-item  {
    width: 164px;
    background-color: var(--second);
    text-align: right;
    padding: 32px 16px 16px 16px;
    border-radius: 8px;
  }
  
  .article-item:hover {
    box-shadow: 0px 8px 0px #E6DFC6;
    transform: translateY(-6px);
    cursor: pointer;
  }
  
  .article-image {
    margin-bottom: 32px;
    text-align: center;
  }
  
  .article-image img {
    width: 102px;
  }
  
  .article-text {
    width: 100%;
    color: var(--main);
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    line-height: 150%;
  }
  
  .article-arrow {
    width: 100%;
    text-align: right;
  }
  
  .article-person {
    position: absolute;
    right: 5%;
  }
  
  .article-person img {
    width: 170px;
  }

}

@media (max-width: 524px) {

  .article-person-sp {
    display: block;
    width: 164px;
    padding-top: 56px;
  }

  .article-person-sp img {
    width: 132px;
  }

}





/* アプリ */

.box03 {
  width: 100%;
  background-color: var(--second);
  padding-top: 40px;

}

.app {
  width: 100%;
  max-width: 680px;
  display: flex;
  justify-content: center;
  gap: 48px;
  margin: 0 auto;

}

.app-contents {
  margin-top: 40px;
}

.app-text-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}


.app-text-image img {
  width: 157px;
}

.app-text {
  width: 100%;
  text-align: center;
}

.app-text p {
  color: var(--main);
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 8px;
}

.app-text h2 {
  color: var(--main);
  font-size: 40px;
  font-weight: bold;
}

.app-button {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.appstore:hover {
  opacity: 70%;
}

.appstore img {
  width: 170px;
}

.android:hover {
  opacity: 70%;
}

.android img {
  width: 170px;
}

.app-capture img {
  width: 220px;
}

@media (max-width: 768px) {

  .box03 {
    width: 100%;
    background-color: var(--second);
    padding-top: 40px;
  }
  
  .app {
    width: 100%;
    max-width: 680px;
    display: block;
    text-align: center;
  }
  
  .app-contents {
    margin-top: 24px;
  }
  
  .app-text-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0x;
    margin-bottom: 16px;
  }
  
  
  .app-text-image img {
    width: 118px;
  }
  
  .app-text {
    width: 182px;
    text-align: center;
  }
  
  .app-text p {
    color: var(--main);
    font-size: 14px;
    font-weight: bold;
    padding-bottom: 8px;
  }
  
  .app-text h2 {
    color: var(--main);
    font-size: 32px;
    font-weight: bold;
  }
  
  .app-button {
    display: flex;
    justify-content: center;
    gap: 16px;
  }
  
  .appstore:hover {
    opacity: 70%;
  }
  
  .appstore img {
    width: 140px;
  }
  
  .android:hover {
    opacity: 70%;
  }
  
  .android img {
    width: 140px;
  }

  .app-capture {
    margin-top: 16px;
  }
  
  .app-capture img {
    width: 210px;
  }

}

