@font-face {
  font-family: "Metropolis-Bold";
  src: url("../fonts/Metropolis-Bold.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "Metropolis-SemiBold";
  src: url("../fonts/Metropolis-SemiBold.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "Metropolis-Medium";
  src: url("../fonts/Metropolis-Medium.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "Metropolis-Regular";
  src: url("../fonts/Metropolis-Regular.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "Nunito-Regular";
  src: url("../fonts/Nunito-Regular.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Nunito-Bold";
  src: url("../fonts/Nunito-Bold.ttf") format("truetype");
  font-weight: 800;
  font-display: swap;
}

:root {
  --color-red: #0c393f;
  --var-color-secondary: #d9bf80;
  --var-nav-primary: #e61404;
  --var-nav-secondary: #e61404;
}

p {
  font-family: "Metropolis-Regular";
  font-size: 15px;
}

.topgap {
  display: block;
  width: 100%;
  height: 64px;
}



h1 {
  font-family: "Metropolis-Bold";
  text-transform: uppercase;
  font-size: 7vw;
  background: linear-gradient(to bottom, #fff, #ffffff12);
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
  color: transparent;
  letter-spacing: 0.03em;

}

h2 {
  font-family: "Metropolis-Bold";
  font-size: 32px;
  line-height: 1.3;
}

p.subhd {
  font-family: "Metropolis-SemiBold";
  color: #fff;
  font-size: 25px;
  margin-top: -6%;
}

.sus_wrap {
  display: flex;
  gap: 1.5rem;

}

.sw_item {
  position: relative;
  width: 230px;
  min-height: 300px;
  border-radius: 20px;
  color: #fff;
  padding-top: 20px;
}

.sw_item::before {
  content: "";
  position: absolute;
  top: 38%;
  left: 0px;
  right: 0px;
  width: 100%;
  height: 130px;
  background: linear-gradient(transparent, rgb(248 171 27 / 29%), rgb(214, 33, 40));
  pointer-events: none;
}

.item_desc {
  width: 100%;
  padding: 15px;
  background-color: #D62128;
  border-radius: 0 0 30px 30px;
  min-height: 142px;
}

.item_desc h4 {
  font-family: "Metropolis-Bold";
  color: #fff;
  font-size: 20px;
  margin: 0;
}

.item_desc p {
  font-family: "Metropolis-Medium";
  color: #fff;
  font-size: 13px;
  margin: 0;
  line-height: 1.2;
  margin: auto;
  margin-top: 0.5rem;
}

.wrap_intro {
  padding: 3.5rem 2.3rem;
  background-color: #D92027;
  color: #fff;
  border-radius: 30px;
  background-image: url(../images/bg-ban.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.introsec {
  margin-top: -1px;
  z-index: 3;
  position: relative;
  background: linear-gradient(to top, #fff 70%, #101d17 26%);
}

.introsec h2 {
  text-shadow: 0 2px 4px #00000035;
}

.award-img {
  width: 13ch;
  height: 7ch;
  object-fit: contain;
  object-position: center;
}

.awd_desc p {
  margin: 0;
}

p.ad1 {
  font-family: "Metropolis-Bold";
  line-height: 1.2;
  font-size: 0.9vw;
}

p.ad2 {
  font-size: 12px;
}

p.ad1 span {
  color: #D62128;
}

.awd_desc {
  margin-top: 1rem;
}

.awards-carousel .splide__pagination__page {
  background: #909090;
  transform: scale(1);
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  scale: 1;
  width: 11px;
  border: 1px solid transparent;
  opacity: 0.5;
}

.awards-carousel .splide__pagination .splide__pagination__page {
  margin-left: 0.225rem;
  margin-right: 0.225rem;
  /* opacity: 1; */
  transform: scale(1);
}

.awards-carousel .splide__pagination__page.is-active {
  background: #D62128;
  transform: scale(1);
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  border: 1px solid #D62128;
  opacity: 1;

}

.awards-carousel .splide__pagination {
  bottom: -2.7rem;
}

.bg-forest {
  background: url(../images/image\ 9.webp);
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-forest h3 {
  font-family: "Metropolis-Bold";
  font-size: 22px;
  text-transform: uppercase;
}

.topframe {
  padding-top: 113px;
  padding-bottom: 2rem;
}

.framehouse {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.pyramid-lay {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.pl-label {
  grid-column: span 3;
}

.pl-tablewrap {
  grid-column: span 9;
}
.layout_custom {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  margin-top: 1.5rem;
  align-items: center;
}
.topic-headers {
  font-family: "Metropolis-Bold";
  font-size: 18px;
  color: #fff;
  text-transform: uppercase;
  background: linear-gradient(to right, #D62128, #F15A26);
  padding: 8px 20px;
  border-radius: 30px;
  /* box-shadow: inset 0px 0px 0px 3px #ffffff33; */
  width: 100%;
  text-align: center;
  position: relative;
}
.topic-headers::after {
  content: "";
  position: absolute;
  inset: 0;              /* stretch to all sides */
  padding: 2px;          /* border thickness */
  border-radius: 30px;   /* must match parent */
  background: linear-gradient(to bottom, #fff, transparent);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; /* cut the inside out */
          mask-composite: exclude;
pointer-events: none;
}

.topic-desc {
  padding: 1.5rem;
  min-height: 140px;
  background-color: #ffffffc7;
  border-radius: 10px;
  font-family: "Metropolis-Regular";
  font-size: 14px;
}

.topic-desc.min-2 {
  min-height: 240px;
}


ul.topicdesc {
  padding: 0 1rem;
  margin: 0;
}

.pillars-item {
  background: #D62128;
  width: 25%;
  height: 22vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pillars_img {
  width: 100%;
  height: 11vw;
  object-fit: contain;
  display: block;
  margin: auto;
}

p.pi-frame-hdline  {
  margin: 0;
  font-family: "Metropolis-Bold";
  font-size: 18px;
  margin-top: 1.5rem;
  color: #fff;

}
p.max-psubpp {
    max-width: 87%;
    margin: auto;
    margin: 1rem auto;
}
.pillars-item.red {
  background-color: #D62128;
  width: 100%;
}

.pillars-item.redorange {
  background-color: #F15A22;
    width: 100%;
}

.pillars-item.orange {
  background-color: #F58220;
    width: 100%;
}

.pillars-item.mustard {
  background-color: #FCAF17;
   width: 100%;
}

p.toBold {
  font-family: "Metropolis-Bold";
}
.lm_cta {
  text-decoration: underline;
}
.pillars-hover {
  color: #fff;
  text-align: center;
}

.timeline_sec {
  background: linear-gradient(to bottom, #003A19, #0F4B29);
  position: relative;
}

.timeline_sec>* {
  position: relative;
  z-index: 3;
}

.timeline_sec::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/timelinepattern.png);
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  /* opacity: 1; */
  /* backdrop-filter: grayscale(1); */
  mix-blend-mode: luminosity;
  z-index: 0;
}

#this-slider-timeline .splide__slide > div  {
  opacity: 0.4;
  transform: scale(0.8);
  transition: 0.3s ease;
  text-align: center;
}

#this-slider-timeline .splide__slide.is-active >div {
  opacity: 1;
  transform: scale(1);
  text-align: center;

}

.timl_logo {
  width: 80px;
  height: 40px;
  object-fit: contain;

}

p.tmlYear {
  color: #fff;
  font-family: "Metropolis-Regular";
  font-size: 25px;
  margin: 0;
  margin-bottom: -11px;
}

#this-slider-timeline .splide__track--nav>.splide__list>.splide__slide.is-active {
  border: 0;
}

.my-carousel-progress {
  background: radial-gradient(#ffffff, transparent 10%);
}

#this-slider-timeline .splide__slide.is-active span.radius_btn {
  opacity: 1;
}
#this-slider-timeline .splide__slide.is-active p.tmlYear {
 font-family: "Metropolis-Bold";
   font-size: 28px;
}

#this-slider-timeline .splide__list {
  position: relative;
}



span.radius_btn {
  background: #fff;
  width: 1em;
  height: 1em;
  border-radius: 1em;
  display: block;
  margin-bottom: 1rem;
  opacity: 0;
}

#this-slider-timeline .splide__track--nav>.splide__list>.splide__slide,
#this-slider-timeline .splide__track--nav>.splide__list>.splide__slide * {
  border: 0 !important;
}

.timeline-carousel .splide__slide {
  width: 15%;
}

/* #this-slider-timeline  .splide__list {
  padding-left: 50px;
  padding-right: 50px;
} */
.max_content {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 3.5rem;
  margin: auto;
  margin-top: 4rem;
  align-items: start;


}

.content-1 {
  grid-column: span 4;
  width: 100%;

}

.content-1 img {
  width: 100%;
  height: 30vw;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
}

.content-2 {
  grid-column: span 8;

}

span.tagTopic {
  padding: 7px 20px;
  background-color: #D62128;
  border-radius: 30px;
  font-family: "Metropolis-Bold";
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: 12px;
  display: block;
  width: fit-content;

}

ul.list_statement {
  font-family: "Metropolis-Regular";
  font-size: 14px;
  padding: 0 1rem;
  margin: 0;
  text-shadow: 0px 1px 6px 0px #00000099;

}

ul.list_statement li {
  line-height: 1.2;
  text-shadow: 0 0 10px #00000063;
      list-style: disc;

}

ul.list_statement li:not(:last-child) {
  margin-bottom: 10px;
}

.moreinfo_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.5rem;
  row-gap: 2.5rem;
}

.moreinfo_wrap>div:nth-child(1) .tagTopic {
  background: #D62128;
}

.moreinfo_wrap>div:nth-child(2) .tagTopic {
  background: #0C65FF;

}

.moreinfo_wrap>div:nth-child(3) .tagTopic {
  background: #FF981B;
}

.moreinfo_wrap>div:nth-child(4) .tagTopic {
  background: #00B84A;
}

span.yearTxt {
  text-align: center;
  color: #909090;
  font-family: "Metropolis-Bold";
  display: block;
}

.hero-carousel2 .splide__slide {
  /* transform: scale(0.8); */
  transition: 0.3s ease;
  text-align: center;
  margin: auto;


}
.hero-carousel2 .splide__slide .reportcont {
  opacity: 9; /* 左右のスライドを薄くする */
  transform: scale(.8); /* 左右のスライドを小さくする */
    transition: 0.3s ease;
    display: block;
}
.hero-carousel2 .splide__slide.is-active .reportcont {
  opacity: 1;
  transform: scale(1);
  text-align: center;
}

.hero-carousel2 .splide__slide .feat-img {
  border: 1px solid #909090;
}

.hero-carousel2 .splide__slide.is-active .feat-img {
  border: 1px solid #171717;
}


.tab_itm.active {
  background-color: #D62128;
  color: #fff;
  border: 2px solid #D62128;
}

.tab_itm {
  background-color: #fff;
  color: #000;
  border: 2px solid #000;
  font-family: "Metropolis-Bold";
  font-size: 15px;
  padding: 10px 25px;
  width: fit-content;
  display: block;
  border-radius: 30px;
      height: fit-content;
}

ul.list_information {
  padding: 0;
  margin: 0;
  list-style: none;
  margin-top: 1.5rem;
}

ul.list_information li {
  border-top: 1px solid #000;
  padding: 15px 0;
  font-family: "Metropolis-Regular";
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-size: 15px;
  align-items: center;
  transition: padding 0.2s ease-in-out;
}
ul.list_information li > a {
  
}
ul.list_information li:last-child {
  border-bottom:  1px solid #000;
}
ul.list_information li.hvr:hover {
  background: #000;
  color: #fff;
   padding: 15px 15px;
}
ul.list_information li.hvr:hover span:before  {
filter: invert(1);
}
ul.list_information li>span {
  position: relative;
  font-family: "Metropolis-Bold";
  padding-right: 1.7em;
  
}

ul.list_information li>span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background-image: url(https://imagedelivery.net/TdjZsXzzZt_je48pBzV3SA/c31acb98-8aea-41c3-024c-49557c917700/400);
  background-size: 14px;
  background-repeat: no-repeat;
  width: 1em;
  height: 100%;
  background-position: center;
}
.intro-carousel .splide__slide {
  transition: transform 0.4s ease;
}

.intro-carousel .splide__slide.is-active {
  transform: translateY(-16px);
}
.sp-card {
  font-size: 25px;
    font-family: "Metropolis-Bold";
    color: #B5B5B5;
    margin-top: 0.5rem;
}

.hero-carousel2 .splide__pagination__page {
  background: #909090;
  transform: scale(1);
  opacity: 0.5;
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  scale: 1;
  width: 11px;
  border: 1px solid transparent;
}

.hero-carousel2 .splide__pagination .splide__pagination__page {
  margin-left: 0.225rem;
  margin-right: 0.225rem;
  /* opacity: 1; */
  transform: scale(1);
}

.hero-carousel2 .splide__pagination__page.is-active {
  background: #D62128;
  transform: scale(1);
  opacity: 1;
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  border: 1px solid #D62128;

}

.hero-carousel2 .splide__pagination {
  bottom: -2.7rem;
}
.pillars-carousel .splide__pagination__page {
  background: #ffffff;
  transform: scale(1);
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  scale: 1;
  width: 11px;
  border: 1px solid transparent;
  opacity: 0.5;
}

.pillars-carousel .splide__pagination .splide__pagination__page {
  margin-left: 0.225rem;
  margin-right: 0.225rem;
  /* opacity: 1; */
  transform: scale(1);
}

.pillars-carousel .splide__pagination__page.is-active {
  background: #ffffff;
  transform: scale(1);
  z-index: 1;
  height: 11px;
  border-radius: 50px;
  border: 1px solid #ffffff;
  opacity: 1;

}
.fancybox__container {
  z-index: 9999999 !important;
}
@media (min-width: 768px) {
  .pos_header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
  #sus_hero .swiper-slide {
    width: 250px;
  }

  #sus_hero .swiper-wrapper {
    justify-content: center;
  }

  .wrap_intro p {
    max-width: 40ch;
  }

  p.max-int {
    max-width: 82ch;
    margin: auto;
  }
  .side-topic {
  min-width: 200px;
  text-align: end;
  padding-right: 10px;
  font-family: "Metropolis-Bold";
  color: #fff;

}
#this-slider-timeline .splide__list::before {
  content: "";
  position: absolute;
  top: 6px;
  left: -14%;
  right: 0;
  width: 100%;
  height: 1px;
  background: radial-gradient(#ffffff, transparent);
}
.pillars-item:hover .pillars-hover {
  opacity: 1;
  display: block;
}
.pillars-item:hover .pi-frame-1 {
  opacity: 0;
  display: none;
}
.pillars-hover {
  display: none;
  opacity: 0;
}
}

@media screen and (max-width: 768px) {
  main {
    background-color: #101d17;
    background-image:url(../images/hero-banner.webp);
    background-size: cover;
  }
  .heroimg {
    display: none;
  }
  h1 {
        font-size: 10vw;
  }
  #sus_hero .swiper-container {
    width: 600px;
    height: 500px;
    padding-top: 150px;
    padding-bottom: 50px;
  }

  #sus_hero .swiper-slide {
    background-position: center;
    background-size: cover;
    width: 300px;
    height: 500px;
  }

  .heroimg {
    height: 90vh;
    object-fit: cover;
    width: 100%;
  }
  .sw_item {
    width: 100%;
    min-height: 300px;
}

.intro-carousel .splide__slide {
  width: 47vw;
}
.pos_header {
        padding-top: 37%;
        text-align: center;
}
#this-slider-intro {
  padding-bottom: 2.5rem;
}
p.subhd {
         font-size: 4.5vw;
        margin-top: -4%;
}
.sw_item::before {
    top:unset;
    bottom: 8em;
}
.wrap_intro {
  background-size: cover;
      padding: 2.5rem 1.5rem;
}
h2 {
      font-size: 25px;
    line-height: 1.2;
}
.introsec h2 {
  text-align: center;
}
p.max-int{
  max-width: 32ch;
  margin: auto;
}
.layout_custom {
  display: flex;
  flex-direction: column;
}
.max_content {
    grid-template-columns: repeat(1, 1fr);
            gap: 0;
}
.content-1 {
  grid-column: span 1;
  width: 100%;

}
.timeline-carousel .splide__slide {
    width: 100%;
}
#this-slider-timeline::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0%;
  right: 0;
  width: 100%;
  height: 1px;
  background: radial-gradient(#ffffff, transparent);
}
.content-1 img {
display: none;
}
.moreinfo_wrap {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 0;
    row-gap: 1.5rem;
}
p.tmlYear {
  font-size: 7vw;
}
.pillars-item {
  height: 37ch;
  display: flex;
  flex-direction: column;
}
h2.max-pill {
  max-width: 18ch;
  margin: auto;
}
.pillars_img {
    height: 28vw;
}
.tab_itm {
    font-size: 14px;
    padding: 8px 20px;
   
}
.topic-desc {
    padding: 0;
    min-height: 0;
    background-color: unset;
    border-radius: 0;
    font-size: 12px;
}
.card_lyt {
  background: #ffffffa6;
  border-radius: 12px;
  padding: 1.5rem;
          height: 100%;

}
.side-topic {
  color: #D71920;
    font-family: "Metropolis-Bold";
            font-size: 14px;

}

.topframe {
    padding-top: 4rem;
}
.topframe > p {
  padding: 0 2rem;
}
.layout_custom.mob-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.8rem;
}
.layout_custom.mob-grid  > div {
  grid-column: span 6;
  width: 100%;
     

}
.pl-tablewrap {
  padding: 0 10px;
}.topic-headers {
  font-size: 3.5vw;
}
.layout_custom.mob-grid > .topic-desc.min-2 {
    min-height: 59px;
}
.topic-desc.min-2.min3 {
        min-height: 35ch;
}
ul.topicdesc {
    padding: 0 0 0 1rem;
}
ul.list_information li {
  line-height: 1.2;
          font-size: 13px;
}
p {
  font-size: 14px;
}
ul.list_statement {
  font-size: 12px;
}
#this-slider-timeline .splide__arrow {
  background: transparent;
}
#this-slider-timeline .splide__arrow svg {
  fill: #fff;
  opacity: 1;
}
.side-topic.whit {
  color: #fff;
}
.item_desc p, p.ad1 {
  font-size: 12px;
}
.item_desc h4 {
  font-size: 18px;
}
.item_desc {
    border-radius: 0 0 16px 16px;
}
.content-2 h2 {
  max-width: 19ch;
}
}