@charset "utf-8";
/*  FV
---------------------------------------------------- */
.kv_wrap {
  display: flex;
}
.kv_wrap .kv_img,
.kv_wrap .kv_slider {
  width: 50%;
}
.kv_wrap .kv_img {
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../images/top/kv_img01_pc.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.kv_wrap .kv_img_inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv_wrap .logo_img {
  width: 424px;
}
.kv_wrap .more {
  position: absolute;
  bottom: 30px;
  left: 30px;
}
.kv_wrap .more a {
  font-family: var(--font-instrument-serif);
  font-size: 3.2em;
  color: #fff;
}
.kv_wrap .more img {
  display: inline-block;
  width: 26px;
  margin-left: 16px;
}



.kv_wrap .kv_slider_inner {
  height: 100%;
  border: 40px solid #fff;
  box-sizing: border-box;
  overflow: hidden;
}
.kv_wrap .kvSwiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.kvSwiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.kv_wrap .kvSwiper .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
}
.kv_wrap .kvSwiper .swiper-slide > a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.kv_wrap .kvSwiper .swiper-slide > a:hover {
  opacity: 1;
}
.kv_wrap .kvSwiper .img_box {
  width: 100%;
  height: 100%;
}
.kv_wrap .kvSwiper .img_box img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv_wrap .kvSwiper .swiper-pagination {
  position: absolute;
  top: auto;
  right: 18px;
  bottom: 16px;
  left: auto;

  width: auto;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;

  transform: none;
}
.kv_wrap .kvSwiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 !important;
  background: #fff;
  opacity: 0.5;
}
.kv_wrap .kvSwiper .swiper-pagination-bullet-active {
  opacity: 1;
}




.kv_wrap .kvSwiper .thumbnail_txt {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  z-index: 1;
  padding: 3.8554%;
  text-align: left;
  color: #fff;
}
.kv_wrap .kvSwiper .thumbnail_txt span {
  font-size: 1.6em;
}
.kv_wrap .kvSwiper .thumbnail_txt .tit,
.kv_wrap .kvSwiper .thumbnail_txt .txt {
    font-size: 2.8em;
}
.kv_wrap .kvSwiper .thumbnail_txt .txt {
  padding-left: 12px;
  line-height: 100%;
  border-left: 1px solid #fff;
}
.kv_wrap .kvSwiper .thumbnail_txt .txt small {
  font-size: 0.571429em;
}
@media (max-width: 1520px) and (min-width: 769px) {
  .kv_wrap .logo_img {
    width: 29.4444vw;
  }
}
@media (min-width: 769px) {
  .kv_inner {
    max-width: 1520px;
    margin-top: 124px;
    margin-left: auto;
    margin-right: auto;
    height: 760px;
  }

  .kv_wrap .kvSwiper .thumbnail_txt .tit {
      line-height: 170%;
      margin-top: 8px;
      margin-bottom: 8px;
  }
}
@media screen and (max-width: 768px) {
  .kv_wrap {
    height: auto;
    display: block;
    margin-top: 70px;
  }
  .kv_wrap .kv_slider {
    width: 100%;
  }

  .kv_wrap .kv_slider_inner {
    height: 100%;
    border: none;
  }
  .kv_wrap .img_cont {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .kv_wrap .swiper-slide .logo_img {
    width: calc(240 * var(--min-ratio));
  }

  .kv_wrap .swiper-slide .more {
    position: static;
    margin-top: 10.2564vw;
  }
  .kv_wrap .more a {
    font-size: 4.6154vw;
    display: flex;
    align-items: center;
  }
  .kv_wrap .more img {
    width: 5.3846vw;
    margin-left: 3.0769vw;
  }


  .kv_wrap .kvSwiper .swiper-pagination {
    right: 2.5641vw;
    bottom: 2.0513vw;
    gap: 2.0513vw;
  }
  .kv_wrap .kvSwiper .swiper-pagination-bullet {
    width: 1.2821vw;
    height: 1.2821vw;
  }


  .kv_wrap .kvSwiper .thumbnail_txt {
    padding: 6.1538vw 4.1026vw;
  }

  .kv_wrap .kvSwiper .thumbnail_txt .tit {
    margin-top: calc(8 * var(--min-ratio));
    margin-bottom: calc(8 * var(--min-ratio));
  }
  .kv_wrap .kvSwiper .thumbnail_txt span {
    font-size: calc(13 * var(--min-ratio));
  }
  .kv_wrap .kvSwiper .thumbnail_txt .tit,
  .kv_wrap .kvSwiper .thumbnail_txt .txt {
      font-size: calc(18 * var(--min-ratio));
  }
  .kv_wrap .kvSwiper .thumbnail_txt .txt {
    padding-left: 2.0513vw;
  }
  .kv_wrap .kvSwiper .thumbnail_txt .txt small {
    font-size: 3.3333vw;
  }

}











/*  Marquee
---------------------------------------------------- */
.marquee_wrapper {
  display: flex;
  align-items: center;
  overflow: hidden;
  user-select: none;
  width: 100%;
  border-top: 1px solid #1A1A1A;
  border-bottom: 1px solid #1A1A1A;
}
.marquee_content {
  flex-shrink: 0;
  display: flex;
  justify-content: space-around;
  gap: 16px;
  min-width: 100%;

  animation: scroll-left 120s linear infinite;
  will-change: transform;
}
.marquee_wrapper:hover .marquee_content {
  animation-play-state: paused;
}
.marquee_content p {
  display: flex;
  align-items: center;
  gap: 8px;
}
.marquee_content p time {
  font-family: var(--font-instrument-serif);
  font-size: 1.8em;
}
.marquee_content p span {
  font-size: 1.6em;
  white-space: nowrap;
  line-height: 1;
}  
@keyframes scroll-left {
  from {
      transform: translate3d(0, 0, 0);
  }
  to {
      transform: translate3d(-100%, 0, 0);
  }
}
@media (min-width: 769px) {
  .marquee_wrapper {
      height: 50px;
  }
  .marquee_content p img {
      width: 43px;
  }
  .marquee_content p time {
      font-size: 1.8em;
  }
  .marquee_content p span {
      font-size: 1.6em;
  }
}
@media screen and (max-width: 768px) {
  .marquee_wrapper {
    height: calc(33 * var(--min-ratio));
  }
  .marquee_content p img {
      width: calc(37 * var(--min-ratio));
  }
  .marquee_content p time {
      font-size: calc(15 * var(--min-ratio));
  }
  .marquee_content p span {
      font-size: calc(13 * var(--min-ratio));
  }
}



























/* index
---------------------------------------------------- */
.index_box {
  position: absolute;
  top: 2.2222%; /* 32px */
  top: 4%;
  right: 1.3889%; /* 20px */
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.5rem;
  text-align: center;
  font-size: var(--fs-18);
  font-size: 1.8em;
  font-family: var(--font-instrument-serif);
}
.index_vector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  isolation: isolate;
  gap: 10px;
}
.index_box p {
  position: relative;
  letter-spacing: 0.05em;
  line-height: 100%;
  transform:  rotate(90deg);
  z-index: 1;
  flex-shrink: 0;
}
.index_vector01 {
  width: 28px;
  height: 2.875rem;
  position: absolute;
  margin: 0 !important;

  top: -0.8rem;
  left: 0.1rem;
  z-index: 0;
  flex-shrink: 0;
}
.index_vector02 {
  width: 1.625rem;
  height: 2.875rem;
  position: absolute;
  margin: 0 !important;

  top: -0.8rem;
  left: 0.2rem;
  z-index: 0;
  flex-shrink: 0;
}
.index_vector03 {
  width: 28px;
  height: 3.125rem;
  position: absolute;
  margin: 0 !important;

  top: -0.7rem;
  left: 0.1rem;
  z-index: 0;
  flex-shrink: 0;
}
@media (min-width: 769px) {

}

@media screen and (max-width: 768px) {
  .index_box {
      top: calc(25 * var(--min-ratio));
      right: calc(11 * var(--min-ratio));
      font-size: calc(11 * var(--min-ratio));
  }
  .index_vector01 {
      width: calc(20 * var(--min-ratio));
      height: calc(33 * var(--min-ratio));
      top: -0.6rem;
      left: 0;
  }
  .index_vector02 {
      width: calc(19 * var(--min-ratio));
      height: calc(34 * var(--min-ratio));
      top: -0.7rem;
      left: 0;
  }
  .index_vector03 {
      width: calc(20 * var(--min-ratio));
      height: calc(36 * var(--min-ratio));
      top: -0.8rem;
      left: 0;
  }
}



/* content_wrap
---------------------------------------------------- */
.content_wrap {
  position: relative;
}
.content_wrap .top_tit_box {
  text-align: left;
}
.content_wrap .sub_tit {
  font-family: var(--font-instrument-serif);
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}
.content_wrap .hand-underline {
  font-weight: 500;
  position: relative;
  display: inline-block;
}
.content_wrap .underline-svg {
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 4px;
  display: block;
  overflow: visible;
}
.content_wrap .lead_box p {
  line-height: 210%;
  text-align: left;
}

@media (min-width: 769px) {
  .content_wrap .sub_tit {
      font-size: 1.6em;
  }
  .content_wrap .hand-underline {
      font-size: 4em;
      margin-left: 24px;
  }
  .content_wrap .lead_box {
      width: 358px;
  }
  .content_wrap .lead_box p {
      font-size: 1.6em;
  }
}

@media screen and (max-width: 768px) {
  .content_wrap .sub_tit {
      font-size: calc(14 * var(--min-ratio));
  }
  .content_wrap .hand-underline {
      font-size: calc(28 * var(--min-ratio));
      margin-left: calc(16 * var(--min-ratio));
  }
  .content_wrap .lead_box {
      width: 100%;
  }
  .content_wrap .lead_box p {
      font-size: calc(13 * var(--min-ratio));
      margin-top: calc(40 * var(--min-ratio));
  }
}





/* content01_wrap
---------------------------------------------------- */
.content01_wrap {
  background: #4D713C;
  color: #fff;
}
.content01_wrap a {
  color: #fff;  
}
.content01_wrap .flex_box {
  align-items: center;
  justify-content: space-between;
}
.content01_wrap .hand-underline {
  color: #fff;
}
.content01_wrap .article_box ul {
  display: flex;
  justify-content: center;
}
.content01_wrap .article_box ul li {
  width: 23.6111%;
}
.content01_wrap .thumb_txt {
  padding: 4.7059% 7.0588% 0;
}
.content01_wrap .article_box ul li p {
  font-weight: 400;
  line-height: 170%;
  text-align: left;
  margin-bottom: 12px;
}
.content01_wrap .article_box ul li .category_list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.content01_wrap .article_box ul li .category_list span {
  line-height: 1;
  color: #D0D0D0;
  padding: 3px 8px;
  border-radius: 100vw;
  border: 1px solid #D0D0D0;
}

.content01_wrap .more_box {
  justify-content: flex-end;
}
.content01_wrap .more_box .hand-underline {
  font-size: 2.8em;
  margin-left: 0;
  text-transform: uppercase;
}
.content01_wrap .more_box .underline-svg {
  bottom: -4px;
  height: 2px;
}
.content01_wrap .more_box a {
  position: relative;
  font-family: var(--font-instrument-serif);
}
.content01_wrap .more_box a .arrow {
  width: 18px;
  position: absolute;
  right: -29px;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 1200px) and (min-width: 769px) {
  .content01_wrap .more_box {
    padding-right: 5em;
  }
}
@media (min-width: 769px) {
  .content01_wrap {
      padding: 185px 0 120px;
  }
  .content01_wrap .article_box {
      margin-top: 72px;
      margin-bottom: 72px;
  }
  .content01_wrap .article_box ul {
      gap: 16px;
  }
  .content01_wrap .article_box ul li p {
      font-size: 1.8em;
  }
  .content01_wrap .article_box ul li .category_list span {
      font-size: 1.2em;
  }
}
@media screen and (max-width: 768px) {
  .content01_wrap {
      padding: calc(120 * var(--min-ratio)) 0 calc(80 * var(--min-ratio));
  }
  .content01_wrap .flex_box {
      align-items: flex-start;
      flex-direction: column;
  }
  .content01_wrap .article_box {
      margin-top: calc(56 * var(--min-ratio));
      margin-bottom: calc(56 * var(--min-ratio));
  }
  .content01_wrap .article_box ul {
      flex-wrap: wrap;
      gap: calc(24 * var(--min-ratio)) calc(16 * var(--min-ratio));
  }
  .content01_wrap .article_box ul li {
      width: calc(171 * var(--min-ratio));
  }
  .content01_wrap .thumb_txt {
      padding: 4.7059% 0 0;
  }
  .content01_wrap .article_box ul li p {
      font-size: calc(14 * var(--min-ratio));
  }
  .content01_wrap .article_box ul li {
    gap: calc(4 * var(--min-ratio)) calc(8 * var(--min-ratio));
  }
  .content01_wrap .article_box ul li .category_list span {
      font-size: calc(12 * var(--min-ratio));
  }
  .content01_wrap .more_box {
      align-items: flex-end;
  }
  .content01_wrap .more_box .hand-underline {
      margin-right: calc(42 * var(--min-ratio));
  }
  .content01_wrap .more_box a .arrow {
      width: calc(16 * var(--min-ratio));
      right: calc(-26 * var(--min-ratio));
  }
}















/* content02_wrap
---------------------------------------------------- */
.content02_wrap .sec02_conts {
  position: relative;
}
.content02_wrap .txt_area .lead_box {
  margin-top: 4em;
}
.content02_wrap .article_box ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.content02_wrap .article_box ul li {
  /* width: 50%; */
  max-width: 563px;
  text-align: left;
}
.content02_wrap .article_box ul li .thumbnail_img {
  margin-bottom: 16px;
}
.content02_wrap .article_box ul li .thumbnail_txt {
  padding: 0 24px;
}
.content02_wrap .article_box ul li .tit,
.content02_wrap .article_box ul li .txt {
  font-size: 1.8em;
}
.content02_wrap .article_box ul li .txt {
  padding-left: 12px;
  border-left: 1px solid #1A1A1A;
}
.content02_wrap .article_box ul li .txt small {
  font-size: 0.888889em;
}
.content02_wrap .article_box ul li span,
.content02_wrap .article_box ul li.disabled .tit {
  color: #8E8E8E;
}

@media (max-width: 1200px) and (min-width: 769px) {
  .content02_wrap.content_wrap .lead_box {
      width: 37vw;
  }
}


@media (min-width: 769px) {
  .content02_wrap {
      padding-top: 184px;
      padding-bottom: 120px;
  }
  .content02_wrap .txt_area {
      position: absolute;
      width: 100%;
      left: 50%;
      top: 0;
      transform: translateX(-50%);
  }
  .content02_wrap .article_box {
      width: 51.5972%;
      margin: 0 0 0 auto;
  }
  .content02_wrap .article_box ul li span {
      font-size: 1.6em;
  }
  .content02_wrap .article_box ul li .tit {
      margin-top: 12px;
      margin-bottom: 12px;
  }
}

@media screen and (max-width: 768px) {
  .content02_wrap {
      padding-top: calc(120 * var(--min-ratio));
      padding-bottom: calc(80 * var(--min-ratio));
  }
  .content02_wrap .article_box {
      margin-top: calc(56 * var(--min-ratio));
  }
  .content02_wrap .article_box ul {
      gap: calc(40 * var(--min-ratio)) 0;
  }
  .content02_wrap .article_box ul li {
      width: calc(194 * var(--min-ratio));
  }
  .content02_wrap .article_box ul li:nth-child(1) {
      width: 100%;
  }
  .content02_wrap .article_box .thumbnail_txt {
      padding-left: calc(16 * var(--min-ratio));
      padding-right: calc(16 * var(--min-ratio));
  }
  .content02_wrap .article_box ul li span,
  .content02_wrap .article_box ul li .txt small {
      font-size: calc(13 * var(--min-ratio));
  }
  .content02_wrap .article_box ul li .tit {
      margin-top: calc(8 * var(--min-ratio));
      margin-bottom: calc(8 * var(--min-ratio));
  }

}










/* content03_wrap
---------------------------------------------------- */
.content03_wrap {
  background: #876A4A;
  color: #fff;
}
.content03_wrap a {
  color: #fff;  
}
.content03_wrap .flex_box {
  align-items: flex-end;
  justify-content: space-between;
}
.content03_wrap .cont_box p {
  font-family: var(--font-instrument-serif);
  letter-spacing: 0.05em;
  opacity: 0.6;
}
@media (min-width: 769px) {
  .content03_wrap {
      padding: 185px 0 200px;
  }
  .content03_wrap .hand-underline02 {
      margin-top: 16px;
  }
  .content03_wrap .cont_box {
      margin-top: 152px;
  }
  .content03_wrap .cont_box p {
      font-size: 4.8em;
  }
}

@media screen and (max-width: 768px) {
  .content03_wrap {
      padding: calc(120 * var(--min-ratio)) 0 calc(80 * var(--min-ratio));
  }
  .content03_wrap .flex_box {
      align-items: flex-start;
      flex-direction: column;
  }
  .content03_wrap .hand-underline02 {
      margin-top: calc(8 * var(--min-ratio));
  }
  .content03_wrap .cont_box {
      margin-top: calc(56 * var(--min-ratio));
  }
  .content03_wrap .cont_box p {
      font-size: calc(32 * var(--min-ratio));
  }
}






.person_img .person_img-ef,
.person_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  transform: rotateY(-180deg);
  opacity: 0;

  transition:
    transform 1.5s steps(12), 
    opacity 0.5s cubic-bezier(0, 0, 0.3, 1);
  
  backface-visibility: hidden;
}
.person_img.on .person_img-ef,
.person_img.on img {
  transform: rotateY(0deg);
  opacity: 1;
}


.article_box ul li:nth-child(1) .person_img img {
  transition-delay: 0s;
}
.article_box ul li:nth-child(2) .person_img img {
  transition-delay: 0.3s;
}
.article_box ul li:nth-child(3) .person_img img {
  transition-delay: 0.6s;
}
.article_box ul li:nth-child(4) .person_img img {
  transition-delay: 0.9s;
}


.kv_fade {
  opacity: 0;
  animation: kv_fade 1s ease-out 0.45s forwards;
}

@keyframes kv_fade {
  from {
      opacity: 0;
  }

  to {
      opacity: 1;
  }
}