/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# HOME PAGE
	- MV
	- Topics
	- Introduction
	- Product
	- Giving
	- Feature
	- Column

--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> COMMON
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Home Page
--------------------------------------------------------------*/
/* MV
--------------------------------------------- */
#mv {
  position: relative;
  width: 100%;
  height: 800px;
}
#mv .wrap {
  justify-content: space-between;
  align-items: center;
  z-index: 10;
  height: 100%;
}
#mv .wrap .catchcopy {
  width: 57.32%;
}
#mv .wrap .mail {
  position: absolute;
  right: 0;
  bottom: 60px;
  z-index: 3;
  width: 384px;
  box-shadow: 4px 4px 8px rgba(204, 156, 107, 0.36);
}
#mv .mv__list {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -999;
  width: 100%;
  height: 100%;
}
#mv .mv__list .slick-list {
  height: 100%;
}
#mv .mv__list .slick-list .slick-track {
  height: 100%;
}
#mv .mv__list .slick-next {
  right: 25px;
  z-index: 10;
}
#mv .mv__list .slick-prev {
  left: 25px;
  z-index: 10;
}
#mv .mv__list--item {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: anime 24s 0s infinite;
}
#mv .mv__list .slide01 {
  background-image: url("../img/index/mv_img_01_pc.webp");
  animation-delay: 6s;
}
#mv .mv__list .slide02 {
  background-image: url("../img/index/mv_img_02_pc.webp");
  animation-delay: 12s;
}
#mv .mv__list .slide03 {
  background-image: url("../img/index/mv_img_03_pc.webp");
  animation-delay: 18s;
}
#mv .mv__list .slide04 {
  background-image: url("../img/index/mv_img_05_pc.webp");
}
#mv .mask {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 0;
}
#mv .mask img {
  width: 100%;
  height: auto;
}

@keyframes anime {
  0% {
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  17% {
    opacity: 1;
  }
  50% {
    opacity: 1;
    z-index: 9;
  }
  67% {
    opacity: 0;
    transform: scale(1.15);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 1280px) {
  #mv {
    height: 720px;
  }
}
@media screen and (max-width: 768px) {
  #mv {
    height: 75vh;
  }
  #mv .wrap .catchcopy {
    width: 82.32%;
  }
  #mv .wrap .mail {
    width: 72.84%;
    max-width: 280px;
  }
  #mv .mv__list--item {
    height: 100%;
    background-size: cover;
  }
  #mv .mv__list .slide01 {
    background-image: url("../img/index/mv_img_01_sp.webp");
    background-position: bottom center;
  }
  #mv .mv__list .slide02 {
    background-image: url("../img/index/mv_img_02_sp.webp");
  }
  #mv .mv__list .slide03 {
    background-image: url("../img/index/mv_img_03_sp.webp");
  }
  #mv .mv__list .slide04 {
    background-image: url("../img/index/mv_img_05_sp.webp");
  }
}
@media screen and (max-width: 500px) {
  #mv {
    height: 75vh;
  }
  #mv .wrap-wide .catchcopy {
    width: 82.32%;
  }
}
/* Topics
--------------------------------------------- */
#topics {
  margin-bottom: 100px;
}
#topics .headline2 {
  font-family: cabrito-normal, sans-serif;
  font-style: normal;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
}
#topics .topics-list {
  margin: 0 0 2em 0;
}
#topics .topics-list .topics-item {
  margin: 0 0 1em 0;
  padding: 1em 0 1em 8em;
  border-radius: 15px;
  background: #FFFFFF;
  font-size: 14px;
  list-style-type: none;
}
#topics .topics-list .topics-item time {
  margin-right: 2em;
}
#topics .topics-list .topics-item a {
  color: #1E1E1E;
}
#topics .topics-link {
  text-align: right;
}
#topics .topics-link a {
  display: inline-block;
  position: relative;
  padding: 0 2em 0 0;
  color: #CC9C6B;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}
#topics .topics-link a:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  width: 6px;
  height: 11px;
  margin: auto 0;
  background-image: url("../img/common/icon_arrow3.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

@media screen and (max-width: 1100px) {
  #topics {
    width: calc(100% - 2em);
    margin: 0 auto 100px;
  }
  #topics .topics-list {
    margin: 0 0 2em 0;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #topics {
    width: 100%;
  }
  #topics .topics-list {
    margin: 0 0 2em 0;
  }
  #topics .topics-list .topics-item {
    padding: 1em;
    font-size: 14px;
  }
  #topics .topics-list .topics-item time {
    display: block;
  }
}
/* Introduction
--------------------------------------------- */
#introduction {
  position: relative;
  margin-bottom: 100px;
}
#introduction .wrap .intro-text {
  width: 50%;
}
#introduction .wrap .intro-text .intro-title {
  margin-bottom: 2em;
}
#introduction .wrap .intro-text .intro-title h2 {
  margin: 0;
}
#introduction .wrap .intro-text .intro-title span {
  color: #E8D2BC;
  font-size: 12px;
  font-family: cabrito-normal, sans-serif;
  font-style: normal;
  font-weight: 500;
}
#introduction .wrap .intro-text p {
  margin-bottom: 2em;
  line-height: 2.4;
}
#introduction .intro-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 45vw;
}

@media screen and (max-width: 1440px) {
  #introduction .intro-img {
    width: 52.25vw;
  }
}
@media screen and (max-width: 1100px) {
  #introduction {
    position: relative;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  #introduction .wrap {
    margin-bottom: 2em;
  }
  #introduction .wrap .intro-text {
    width: 100%;
    padding: 0;
    text-align: center;
  }
  #introduction .intro-img {
    position: relative;
    width: calc(100% - 1em);
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #introduction {
    overflow-y: hidden;
  }
}
/* Product
--------------------------------------------- */
#product {
  padding: 100px 0 150px;
}
#product .product__inner {
  text-align: center;
}
#product .product__inner .product__inner--title h2 {
  margin: 0;
}
#product .product__inner .product__inner--title .mark {
  width: 289px;
  height: auto;
  margin: 0 0 -48px -280px;
}
#product .product__inner p {
  margin: 2em 0;
  line-height: 2.4;
  text-align: center;
}
#product .product__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 1.875rem 1.25rem;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  list-style-type: none;
}
#product .product__list .product__list--item {
  width: 100%;
}
#product .product__list .product__list--item img {
  width: 100%;
  height: auto;
  border-radius: 15px;
}
#product .product__list .product__list--item p {
  margin: 10px 0 0;
  text-align: center;
}
#product .product__list .product__list--item p span {
  display: block;
  font-family: cabrito-normal, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.1em;
}
#product .product__list .product__list--item:nth-of-type(2) img, #product .product__list .product__list--item:nth-of-type(5) img {
  margin-top: 50px;
}
#product .product__list .product__list--item.animation_delay1, #product .product__list .product__list--item.animation_delay4 {
  animation-delay: 0.2s;
}
#product .product__list .product__list--item.animation_delay2, #product .product__list .product__list--item.animation_delay5 {
  animation-delay: 0.4s;
}
#product .product__list .product__list--item.animation_delay3, #product .product__list .product__list--item.animation_delay6 {
  animation-delay: 0.6s;
}
#product .product__btn {
  text-align: center;
}

@media screen and (max-width: 768px) {
  #product {
    padding: 100px 0;
  }
  #product .product__inner .product__inner--title .mark {
    width: 52.54%;
    max-width: 289px;
    height: auto;
    margin: 0 0 -48px -280px;
  }
  #product .product__inner p {
    margin: 2em 0;
    line-height: 1.8;
    text-align: left;
  }
  #product .product__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  #product .product__list .product__list--item {
    width: 100%;
  }
  #product .product__list .product__list--item p {
    margin: 10px 0 0;
    text-align: center;
  }
  #product .product__list .product__list--item:nth-of-type(2n) img {
    margin-top: 2em;
  }
  #product .product__list .product__list--item:nth-of-type(5) img {
    margin-top: 0;
  }
  #product .product__list .product__list--item.animation_delay1, #product .product__list .product__list--item.animation_delay3, #product .product__list .product__list--item.animation_delay5 {
    animation-delay: 0.2s;
  }
  #product .product__list .product__list--item.animation_delay2, #product .product__list .product__list--item.animation_delay4, #product .product__list .product__list--item.animation_delay6 {
    animation-delay: 0;
  }
  #product .product__btn {
    text-align: center;
  }
}
@media screen and (max-width: 500px) {
  #product .product__inner .product__inner--title .mark {
    width: 52.54%;
    max-width: 289px;
    margin: 0 0 -16px -72px;
  }
}
/* Giving
--------------------------------------------- */
#giving {
  position: relative;
  margin-bottom: 6em;
  padding: 240px 0 320px 0;
  background-image: url("../img/index/feature_bg_01_pc.webp");
  background-size: cover;
  background-repeat: no-repeat;
}
#giving h2 {
  color: #FFFFFF;
}
#giving .mask {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  padding-top: 6.19%;
  background-image: url("../img/index/feature_bg_mask.webp");
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  #giving {
    margin-bottom: 4em;
    padding: 100px 0 150px 0;
    background-image: url("../img/index/feature_bg_01_sp.webp");
  }
  #giving .mask {
    padding-top: 9.27%;
    background-position: bottom center;
  }
}
/* Feature
--------------------------------------------- */
#feature {
  margin-bottom: 150px;
}
#feature .feature__item {
  justify-content: space-between;
  margin-bottom: 4em;
}
#feature .feature__item:nth-of-type(2n) {
  flex-flow: row-reverse;
}
#feature .feature__item .feature__item--img {
  width: 567px;
}
#feature .feature__item .feature__item--img img {
  width: 100%;
  border-radius: 15px;
}
#feature .feature__item .feature__item--content {
  width: 467px;
}
#feature .feature__item .feature__item--content .feature__item--title h3 {
  margin: 0;
  letter-spacing: -0.075em;
}
#feature .feature__item .feature__item--content .feature__item--title span {
  color: #E8D2BC;
  font-size: 12px;
  font-family: cabrito-normal, sans-serif;
  font-style: normal;
  font-weight: 500;
}
#feature .feature__item .feature__item--content .feature__item--title .mark {
  width: 30.19%;
  min-width: 120px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
#feature .feature__item .feature__item--content .feature__item--text {
  line-height: 2.4;
}
#feature .feature__item .feature__item--content .feature__item--text b {
  color: #CC9C6B;
  font-size: 1.1rem;
}

@media screen and (max-width: 1100px) {
  #feature {
    width: calc(100% - 2em);
    margin: 0 auto;
  }
  #feature .feature__item {
    justify-content: space-around;
  }
  #feature .feature__item .feature__item--img {
    width: 47.11%;
  }
  #feature .feature__item .feature__item--text {
    width: 47.11%;
  }
}
@media screen and (max-width: 768px) {
  #feature {
    overflow-x: hidden;
    width: 100%;
    margin-bottom: 100px;
  }
  #feature .feature__item {
    position: relative;
    flex-wrap: wrap;
  }
  #feature .feature__item:nth-of-type(2n) {
    flex-flow: row wrap;
  }
  #feature .feature__item .feature__item--img {
    width: 100%;
    margin-bottom: 1em;
  }
  #feature .feature__item .feature__item--text {
    width: 100%;
  }
  #feature .feature__item .feature__item--text .feature__item--title h3 {
    margin: 0;
    line-height: 1;
  }
  #feature .feature__item .feature__item--text .feature__item--title .mark {
    position: absolute;
    top: -45px;
    left: 0;
    width: 30.19%;
    min-width: 120px;
  }
}
/* Column
--------------------------------------------- */
#column {
  overflow: hidden;
  margin-bottom: 150px;
}
#column .flex {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
#column .flex .column__text {
  z-index: 1;
  width: 360px;
  margin-left: calc((100vw - 1100px) / 2);
  padding-top: 10px;
  text-align: left;
}
#column .flex .column__text .column__text--title {
  position: relative;
}
#column .flex .column__text .column__text--title h2 {
  margin: 0;
}
#column .flex .column__text .column__text--title .mark {
  position: absolute;
  top: -10px;
  left: 72px;
  width: 289px;
}
#column .flex .column__text p {
  width: 360px;
  margin: 2em 0;
  line-height: 2.4;
}
#column .flex .column__box {
  width: calc(100vw - (100vw - 1100px) / 2 - 360px);
  margin: 0;
}
#column .flex .column__box .column__list {
  margin: 0;
  padding: 0;
}
#column .flex .column__box .column__list .column__list--item {
  width: 300px;
  margin-right: 30px;
  list-style-type: none;
}
#column .flex .column__box .column__list .column__list--item img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
#column .flex .column__box .column__list .column__list--item aside {
  margin: 5px 0;
  font-size: 12px;
}
#column .flex .column__box .column__list .column__list--item aside time {
  margin-right: 1em;
}
#column .flex .column__box .column__list .column__list--item aside span a {
  padding: 0.4em 1em 0.5em 1em;
  border-radius: 5px;
  background-color: #63A946;
  color: #FFFFFF;
  text-decoration: none;
}
#column .flex .column__box .column__list .column__list--item h3 {
  margin: 0 0 10px;
  font-size: 14px;
}
#column .flex .column__box .column__list .column__list--item h3 a {
  color: #1E1E1E;
}
#column .flex .column__box .column__list .column__list--item p {
  margin: 0;
  font-size: 12px;
}
#column .flex .column__box .column__list .slick-list .slick-track {
  margin-left: 0;
}
#column .flex .column__box .column__list .slick-prev,
#column .flex .column__box .column__list .slick-next {
  z-index: 3;
  width: 32px;
  height: 32px;
  border: 2px solid #FFFFFF !important;
  border-radius: 50%;
  background-color: #CC9C6B !important;
}
#column .flex .column__box .column__list .slick-prev {
  left: -32px;
}
#column .flex .column__box .column__list .slick-prev:before {
  content: "\f053" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
}
#column .flex .column__box .column__list .slick-next {
  right: 0;
}
#column .flex .column__box .column__list .slick-next:before {
  content: "\f054" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
}

@media screen and (max-width: 960px) {
  #column {
    margin-bottom: 100px;
  }
  #column .flex {
    justify-content: space-around;
    flex-wrap: wrap;
  }
  #column .flex .column__text {
    width: calc(100% - 2em);
    margin-bottom: 2em;
    margin-left: 0;
    padding-top: 32px;
    text-align: center;
  }
  #column .flex .column__text .column__text--title {
    position: relative;
    text-align: center;
  }
  #column .flex .column__text .column__text--title .mark {
    position: absolute;
    top: -32px;
    left: calc(32% - 64px);
    width: 212px;
  }
  #column .flex .column__text p {
    width: 100%;
    margin: 2em 0;
  }
  #column .flex .column__text .column__text--link {
    text-align: center;
  }
  #column .flex .column__box {
    width: calc(100% - 2em);
    margin: 0;
  }
  #column .flex .column__box .column__list {
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
  }
  #column .flex .column__box .column__list .column__list--item {
    width: 100%;
    margin: 0 1em;
  }
  #column .flex .column__box .column__list .column__list--item aside {
    margin: 10px 0;
    font-size: 12px;
  }
  #column .flex .column__box .column__list .column__list--item aside time {
    margin-right: 1em;
  }
  #column .flex .column__box .column__list .column__list--item aside span a {
    padding: 0.4em 1em 0.5em 1em;
    border-radius: 5px;
    background-color: #63A946;
    color: #FFFFFF;
    text-decoration: none;
  }
  #column .flex .column__box .column__list .slick-prev {
    left: 0;
  }
}
@media screen and (max-width: 500px) {
  #column .flex .column__text .column__text--title .mark {
    top: -32px;
  }
}/*# sourceMappingURL=index.css.map */