/* ***************************
common
*************************** */
:root {
  --arrow-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNC4xNDIgMTQuMTQyIj4KICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtNy4wNyAxLjQxNCA1LjY1OCA1LjY1Ny01LjY1NyA1LjY1NyIvPgo8L3N2Zz4K);
}
.l-main__body {
  font-size: 88.88889%;
  line-height: 187.5%;
}
@media screen and (min-width: 768px) {
  :where(.l-main__body) * + h2 {
    margin-top: 60px;
  }
  :where(.l-main__body) * + p {
    margin-top: 20px;
  }
  :where(.l-main__body) * + :is(figure, picture) {
    margin-top: 38px;
  }
}

.l-main__footer {
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .l-main__footer {
    margin-top: 120px;
  }
}

/* ***************************
p-pageHeading
*************************** */
.p-pageHeading {
  --gap: 16px;
}
.p-pageHeading--innov .p-pageHeading__inner {
  position: relative;
  display: grid;
  grid-template-columns: [img-start] minmax(var(--gap), 1fr) [text] min(1440px, 100% - var(--gap) * 2) minmax(var(--gap), 1fr) [img-end];
  grid-template-rows: [img-start text] max-content 52px [img-end];
  align-items: center;
  z-index: 0;
}
.p-pageHeading--innov .p-pageHeading__text {
  grid-area: text;
  padding-top: 28px;
  z-index: 2;
}
.p-pageHeading--innov .p-pageHeading__img {
  grid-area: img;
  margin: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-pageHeading {
    --gap: 72px;
  }
  .p-pageHeading--innov .p-pageHeading__inner {
    grid-template-rows: [img-start text] 516px 52px [img-end];
  }
  .p-pageHeading--innov .p-pageHeading__text {
    padding-top: 16px;
  }
}

/* ***************************
innov-nav
*************************** */
.innov-nav {

}
.innov-nav__list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #005091;
}
.innov-nav__item {
  display: grid;
  width: calc(100% / 3);
  margin: 0;
  padding: 0;
}
.innov-nav__item::before {
  content: none;
}
.innov-nav__link {
  display: grid;
  place-items: center;
  min-height: 72px;
  padding: 7px 7px 5px;
  border-style: solid;
  border-width: 0 1px;
  font-size: 77.77778%;
  line-height: 142.85714%;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  word-break: keep-all;
  overflow-wrap: anywhere;
  transition: background-color .3s, color .3s;
}
.innov-nav__item:nth-child(odd) .innov-nav__link {
  background-color: #005091;
  border-color: #005091;
  color: #fff;
}
.innov-nav__item:nth-child(even) .innov-nav__link {
  background-color: #ebf1fa;
  border-color: #ebf1fa;
  color: #005091;
}
@media (any-hover: hover) {
  .innov-nav__item:nth-child(odd) .innov-nav__link:hover {
    background-color: #ebf1fa;
    color: #005091;
  }
  .innov-nav__item:nth-child(even) .innov-nav__link:hover {
    background-color: #005091;
    color: #fff;
  }
}
.innov-nav__item:first-child .innov-nav__link {
  border-left-color: transparent;
}
.innov-nav__item:last-child .innov-nav__link {
  border-right-color: transparent;
}
@media screen and (max-width: 767px) {
  .innov-nav__item:nth-child(3n) .innov-nav__link {
    border-right-color: transparent;
  }
  .innov-nav__item:nth-child(3n + 1) .innov-nav__link:hover {
    border-left-color: transparent;
  }
}
@media screen and (min-width: 768px) {
  .innov-nav__list {
    flex-wrap: nowrap;
  }
  .innov-nav__item {
    width: 100%;
  }
  .innov-nav__link {
    min-height: 80px;
    padding: 16px 14px 11px;
    font-size: 100%;
    line-height: 144.44444%;
  }
}


/* ***************************
innov-heading
*************************** */
.innov-heading {
  color: #fff;
}
.innov-heading__title {
  font-weight: bold;
}
.innov-heading__title__sub {
  margin-bottom: 9px;
  font-size: 111.11111%;
  line-height: 150%;
}

.innov-heading__title__main {
  font-family: "Open Sans", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
  font-size: 138.88889%;
  line-height: 120%;
}
.innov-heading__desc {
  margin-top: 47px;
}
.innov-heading__desc__label {
  width: fit-content;
  padding-bottom: 2px;
  border-bottom: 2px solid #fff;
  font-size: 111.11111%;
  line-height: 150%;
  font-weight: bold;
}
.innov-heading__desc__body {
  margin-top: 19px;
  font-size: 77.77778%;
  line-height: 185.71429%;
}
@media screen and (min-width: 768px) {
  .innov-heading__title__sub {
    margin-bottom: 18px;
    font-size: 133.333%;
    line-height: 125%;
  }
  
  .innov-heading__title__main {
    font-size: 266.667%;
    line-height: 125%;
  }
  .innov-heading__desc {
    margin-top: 88px;
  }
  .innov-heading__desc__label {
    padding-bottom: 4px;
    font-size: 133.333%;
    line-height: 125%;
  }
  .innov-heading__desc__body {
    margin-top: 26px;
    font-size: 111.11111%;
    line-height: 160%;
  }
}


/* ***************************
innov-kvSlider
*************************** */
.innov-kvSlider {
  height: 100%;
}
.innov-kvSlider__img {
  position: relative;
  margin: 0;
}
.innov-kvSlider__img::after {
  position: absolute;
  display: block;
  inset: 0;
  background-color: #0b5bac;
  mix-blend-mode: multiply;
  opacity: 0.27;
  content: '';
}
.innov-kvSlider__img  picture {
  width: 100%;
  height: 100%;
}
.innov-kvSlider__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.innov-kvSlider__pager {
  bottom: 20px !important;
  margin: 0;
  line-height: 0;
}
.innov-kvSlider__pager .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 10px !important;
  border: none;
}

/* ***************************
innov-programList
*************************** */
.innov-programList {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4.37318%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
  padding: 70px 0;
  border-image-source: linear-gradient(#ebf1fa, #ebf1fa);
  border-image-slice: 0 fill;
  border-image-outset: 0 50vw;
}
.innov-programList::before {
  position: absolute;
  display: block;
  width: 50px;
  height: 25px;
  right: 0;
  bottom: calc(100% - 1px);
  left: 0;
  margin-right: auto;
  margin-left: auto;
  background-color: #ebf1fa;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  content: '';
}
* + .innov-programList {
  margin-top: 44px;
}
.innov-programList__col {
}
.innov-programList__label {
  margin-bottom: 17px;
  padding: 7px 10px 3px;
  font-size: 100%;
  line-height: 122.22222%;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-radius: calc(infinity * 1px);
}
.innov-programList__label--learning {
  background-color: #6aa24c;
}
.innov-programList__label--practice {
  background-color: #199ba5;
}
.innov-programList__body {
}
@media screen and (min-width: 768px) {
  .innov-programList {
    column-gap: 6.25%;
    padding: 60px 0 60px;
  }
  .innov-programList::before {
    width: 100px;
    height: 52px;
    bottom: calc(100% - 2px);
  }
  * + .innov-programList {
    margin-top: 60px;
  }
  .innov-programList__label {
    margin-bottom: 38px;
    padding: 15px 15px 13px;
    font-size: 166.66667%;
    line-height: 133.33333%;
  }
}

/* ***************************
innov-programCard
*************************** */
.innov-programCard {
  display: grid;
  grid-template-columns: [text-start] 1fr [icon] 100px 1fr [text-end];
  grid-template-rows: [icon] max-content [text] max-content;
  place-items: center;
  padding: 24px 15px 19px;
  background-color: #fff;
  border-radius: 6px;
}
* + .innov-programCard {
  margin-top: 15px;
}
.innov-programCard__icon {
  grid-area: icon;
  display: grid;
  place-items: center;
  background-color: #fffae8;
  border-radius: 50%;
  overflow: hidden;
}
.innov-programCard__text {
  grid-area: text;
  margin-top: 0;
}
.innov-programCard__label {
  margin-bottom: 9px;
  font-size: 88.88889%;
  line-height: 175%;
  font-weight: bold;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.innov-programCard__desc {
  font-size: 88.88889%;
  line-height: 187.5%;
}
@media screen and (min-width: 768px) {
  .innov-programCard {
    grid-template-columns: [icon] 100fr 30fr [text] 260fr;
    grid-template-rows: [icon text] max-content;
    padding: 25px calc(30 / 450 * 100%);
  }
  * + .innov-programCard {
    margin-top: 38px;
  }
  .innov-programCard__text {
    /* margin-top: 16px; */
  }
  .innov-programCard__label {
    margin-bottom: 9px;
    font-size: 111.11111%;
    line-height: 160%;
    text-align: left;
  }
  .innov-programCard__desc {
    font-size: 100%;
    line-height: 177.77778%;
  }
}

/* ***************************
innov-cardList
*************************** */
.innov-cardList {
  position: relative;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.innov-cardList:has(.innov-cardList__container.is-initialize) {
  padding: 0 40px;
}
* + .innov-cardList {
  margin-top: 36px;
}
.innov-cardList__body  {
  transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
}
.innov-cardList__container:not(.is-initialize) .innov-cardList__body {
  display: flex;
  flex-wrap: wrap;
  column-gap: 15px;
  row-gap: 34px;
}
.innov-cardList__item {
  margin: 0;
}
.innov-cardList__container:not(.is-initialize) .innov-cardList__item {
  width: calc((100% - 15px) / 2);
}
.innov-cardList :is(.swiper-button-prev, .swiper-button-next) {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: auto;
  margin: calc(28.86297% - 15px) 0 0;
  background: none;
  background-color: #0b5bac;
  box-shadow: 0 4px 0 0 #1c4189;
  border-radius: 50%;
  opacity: 1;
  transition: translate .3s, box-shadow .3s;
}
@media (any-hover: hover) {
  .innov-cardList :is(.swiper-button-prev, .swiper-button-next):not(.swiper-button-disabled):hover {
    translate: 0 4px;
    box-shadow: 0 0 0 0 #1c4189;
  }
}
.innov-cardList :is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled {
  background-color: #ccc;
  box-shadow: 0 4px 0 0 #969696;
}
.innov-cardList .swiper-button-prev {
  left: 0;
}
.innov-cardList .swiper-button-next {
  right: 0;
}
.innov-cardList :is(.swiper-button-prev, .swiper-button-next)::before {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
  background-color: #fff;
  -webkit-mask-image: var(--arrow-image);
  mask-image: var(--arrow-image);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  content: '';
}
.innov-cardList :is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled::before {
  background-color: #969696;
}
.innov-cardList .swiper-button-prev::before {
  scale: -1 1;
  right: -2px;
}
.innov-cardList .swiper-button-next::before {
  left: -2px;
}

@media screen and (min-width: 768px) {
  .innov-cardList:has(.innov-cardList__container.is-initialize) {
    padding: 0;
  }
  * + .innov-cardList {
    margin-top: 38px;
  }
  .innov-cardList__container:not(.is-initialize) .innov-cardList__body {
    justify-content: center;
    column-gap: 60px;
    row-gap: 56px;
  }
  .innov-cardList__container:not(.is-initialize) .innov-cardList__item {
    width: calc((100% - 60px * 2) / 3);
  }
  .innov-cardList :is(.swiper-button-prev, .swiper-button-next) {
    width: 50px;
    height: 50px;
    margin: calc(17.70833% - 25px) 0 0;
  }
  .innov-cardList .swiper-button-prev {
    left: -70px;
  }
  .innov-cardList .swiper-button-next {
    right: -70px;
  }
  .innov-cardList :is(.swiper-button-prev, .swiper-button-next)::before {
    width: 15px;
    height: 15px;
  }
}
@media screen and (min-width: 1201px) {
  .innov-cardList :is(.swiper-button-prev, .swiper-button-next) {
    margin: calc(11.45833% - 25px) 0 0;
  }
}

/* ***************************
innov-card
*************************** */
.innov-card {
  display: grid;
  grid-template-columns: [thumb-start date title-start desc-start] max-content [label] 1fr [thumb-end title-end desc-end];
  grid-template-rows: [thumb] max-content [date label] max-content [title] max-content [desc] 1fr;
  width: 100%;
  text-decoration: none;
}
.innov-card::after {
  content: none;
}
a.innov-card,
a.innov-card:is(:hover, :visited) {
  color: inherit;
}
.innov-card__title {
  grid-area: title;
  margin: 0 0 16px;
  padding: 0;
  background: none;
  border: none;
  font-size: 111.11111%;
  line-height: 150%;
}
.innov-card__title:has(~ .innov-card__date, ~ .innov-card__label) {
  margin-top: 17px;
}
.innov-card__title::before {
  content: none;
}
.innov-card__thumb {
  position: relative;
  grid-area: thumb;
  margin: 0 0 16px;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  overflow: hidden;
}
.innov-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: scale .3s;
}
@media (any-hover: hover) {
  a.innov-card:hover .innov-card__thumb img {
    scale: 1.1;
  }
}
.innov-card__thumb::after {
  position: absolute;
  display: block;
  inset: 0;
  border: 1px solid #ccc;
  border-radius: inherit;
  content: '';
}

.innov-card__date {
  grid-area: date;
  align-self: baseline;
  margin: 0;
  font-size: 100%;
  line-height: 1;
  color: #777;
}
.innov-card__label {
  grid-area: label;
  align-self: baseline;
  width: fit-content;
  min-width: 140px;
  margin: 0;
  padding: 7px 10px;
  font-size: 100%;
  line-height: 1;
  background-color: #0b5bac;
  color: #fff;
  text-align: center;
  border-radius: calc(infinity * 1px);
}
.innov-card__desc {
  grid-area: desc;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .innov-card {
  }
  .innov-card__title {
    margin: 0 0 12px;
    font-size: 111.11111%;
    line-height: 150%;
  }
  .innov-card__title:has(~ .innov-card__date, ~ .innov-card__label) {
    margin-top: 14px;
  }
  .innov-card__thumb {
    margin: 0 0 20px;
  }
  .innov-card__date {
    font-size: 105.55556%;
    line-height: 1;
  }
  .innov-card__label {
    min-width: 140px;
    padding: 7px 10px 5px;
    font-size: 105.55556%;
    line-height: 1;
  }
}

/* ***************************
innov-eventList
*************************** */
.innov-eventList {
}
* + .innov-eventList {
  margin-top: 36px;
}
.innov-eventList__body {
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 30px;
}
.innov-eventList__item {
  margin: 0;
}
.innov-eventList__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  * + .innov-eventList {
    margin-top: 38px;
  }
  .innov-eventList__body {
    column-gap: 60px;
    row-gap: 60px;
  }
  .innov-eventList__item {
    width: calc((100% - 120px) / 3);
  }
}

/* ***************************
innov-eventCard
*************************** */
.innov-eventCard {
  position: relative;
  display: grid;
  grid-template-columns: [thumb-start] 20px [label-start title-start] 1fr [label-end title-end] 20px [thumb-end];
  grid-template-rows: [thumb-start] 20px [label] max-content 1fr [title] max-content 21px [thumb-end];
  text-decoration: none;
  z-index: 0;
}
.innov-eventCard::after {
  content: none;
}
a.innov-eventCard,
a.innov-eventCard:is(:hover, :visited) {
  color: inherit;
}
.innov-eventCard__label {
  grid-area: label;
  width: fit-content;
  min-width: 90px;
  margin: 0 0 20px;
  padding: 9px 10px 5px;
  background-color: #5d5d5d;
  border: 2px solid #fff;
  font-size: 88.88889%;
  line-height: 150%;
  font-weight: bold;
  text-align: center;
  color: #fff;
  border-radius: calc(infinity * 1px);
}
.innov-eventCard__title {
  grid-area: title;
  display: grid;
  margin: 0;
  font-weight: bold;
  color: #fff;
}
.innov-eventCard__title__sub {
  margin-bottom: 8px;
  font-size: 88.88889%;
  line-height: 150%;
}
.innov-eventCard__title__main {
  font-size: 111.11111%;
  line-height: 150%;
}
.innov-eventCard__thumb {
  position: relative;
  grid-area: thumb;
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
  z-index: -1;
}
.innov-eventCard__thumb::after {
  position: absolute;
  display: block;
  inset: 0;
  background-image: linear-gradient(to bottom, transparent 73%, #000 100%);
  content: '';
}
.innov-eventCard__thumb img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  transition: scale .3s;
}
@media (any-hover: hover) {
  a.innov-eventCard:hover .innov-eventCard__thumb img {
    scale: 1.1;
  }
}
@media screen and (min-width: 768px) {
  .innov-eventCard {
    grid-template-columns: [thumb-start] 20px [label-start] 10px [title-start] 1fr [label-end title-end] 20px [thumb-end];
    grid-template-rows: [thumb-start] 20px [label] max-content 1fr [title] max-content 42px [thumb-end];
  }
  .innov-eventCard__label {
    min-width: 110px;
    padding: 10px 10px 6px;
    font-size: 100%;
    line-height: 166.66667%;
  }
  .innov-eventCard__title__sub {
    margin-bottom: 16px;
    font-size: 111.11111%;
    line-height: 150%;
  }
  .innov-eventCard__title__main {
    font-size: 133.33333%;
    line-height: 125%;
  }
  .innov-eventCard__thumb::after {
    background-image: linear-gradient(to bottom, transparent 73%, #000 100%);
  }
}

/* ***************************
innov-valley
*************************** */
.innov-valley {
}
.innov-valley__top {
  margin: 0;
  padding: 64px 16px 70px;
  background-color: #ebf1fa;
}
.innov-valley__title {
  margin: 0 0 25px;
  padding: 0;
  border: none;
  color: #0b5bac;
  font-size: 166.66667%;
  line-height: 133.33333%;
}
.innov-valley__desc {
  margin: 0;
  font-size: 111.11111%;
  line-height: 220%;
}
.innov-valley__img {
  display: grid;
  place-items: center;
  margin: 20px 0 0;
}
.innov-valley__link {
  display: grid;
  place-items: center;
  margin: 50px 0 0;
}


@media screen and (min-width: 768px) {
  .innov-valley {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, max-content);
  }
  .innov-valley__top {
    grid-column: span 2;
    display: grid;
    grid-template-columns: [title desc link] 660fr [img] 840fr;
    grid-template-rows: [img-start] 46px [title] max-content [desc] max-content [link] max-content 1fr [img-end];
    column-gap: 60px;
    padding: 100px max(72px, 50% - 720px);
  }
  .innov-valley__title {
    grid-area: title;
    margin: 0 0 47px;
    font-size: 222.22222%;
    line-height: 125%;
  }
  .innov-valley__desc {
    grid-area: desc;
    font-size: 111.11111%;
    line-height: 220%;
  }
  .innov-valley__link {
    grid-area: link;
    justify-items: flex-start;
    margin: 70px 0 0;
  }
  .innov-valley__img {
    grid-area: img;
    margin: 0;
  }
}

/* ***************************
innov-contact
*************************** */
.innov-mailmagazine {
  display: grid;
  grid-template-columns: [img-start] 16px [title desc link] 1fr 16px [img-end];
  grid-template-rows: [img] max-content [title] max-content [desc] max-content [link] max-content;
  margin: 0;
  padding-bottom: 70px;
  background-color: #efefef;
}
.innov-mailmagazine__img {
  grid-area: img;
  display: grid;
  place-items: center;
  margin: 0 0 68px;
}
.innov-mailmagazine__title {
  grid-area: title;
  margin: 0 0 25px;
  padding: 0;
  border: none;
  color: #0b5bac;
  font-size: 166.66667%;
  line-height: 133.33333%;
  text-align: center;
}
.innov-mailmagazine__desc {
  grid-area: desc;
  margin: 0;
  font-size: 111.11111%;
  line-height: 220%;
}
.innov-mailmagazine__link {
  grid-area: link;
  display: grid;
  place-items: center;
  margin: 50px 0 0;
}
@media screen and (min-width: 768px) {
  .innov-mailmagazine {
    grid-template-columns: [img] 792fr [title desc link] 628fr;
    grid-template-rows: [img-start] 24px [title] max-content [desc] max-content [link] max-content 1fr [img-end];
    column-gap: 64px;
    padding: 125px max(67px, 50% - 742px) 123px;
  }
  .innov-mailmagazine__img {
    margin: 0;
  }
  .innov-mailmagazine__title {
    margin: 0 0 29px;
    font-size: 222.22222%;
    line-height: 125%;
  }
  .innov-mailmagazine__desc {
    text-align: center;
    font-size: 111.11111%;
    line-height: 220%;
  }
  .innov-mailmagazine__link {
    margin: 72px 0 0;
  }
}

/* ***************************
innov-contact
*************************** */
.innov-contact {
  margin: 0;
}
.innov-contact__item {
  display: grid;
  justify-items: center;
  align-content: flex-start;
  margin: 0;
  padding: 44px 16px 60px;
  color: #fff;
}
.innov-contact__item--visit {
  background-color: #6aa24c;
}
.innov-contact__item--contact {
  background-color: #0b5bac;
}
.innov-contact__head {
  margin: 0 0 25px;
  padding: 0;
  font-size: 222.22222%;
  line-height: 100%;
  color: #fff;
  font-weight: 400;
}
.innov-contact__head::before {
  content: none;
}
.innov-contact__desc {
  margin: 0;
  font-size: 100%;
  line-height: 155.55556%;
  text-align: center;
}
.innov-contact__link {
  margin: 36px 0 0;
}
@media screen and (min-width: 768px) {
  .innov-contact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .innov-contact__item {
    padding: 31px 40px 31px;
  }
  .innov-contact__head {
    margin: 0 0 25px;
    font-size: 311.11111%;
    line-height: 100%;
  }
  .innov-contact__desc {
    font-size: 133.33333%;
    line-height: 150%;
  }
  .innov-contact__link {
    margin: 23px 0 0;
  }
}

/* ***************************
innov-button
*************************** */
.innov-button {
  position: relative;
  display: block;
  width: fit-content;
  min-width: 320px;
  padding: 19px 20px 15px;
  background-color: #0b5bac;
  font-size: 111.11111%;
  line-height: 150%;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  text-align: center;
  box-shadow: 0 4px 0 0 #1c4189;
  border-radius: calc(infinity * 1px);
  transition: translate .3s, box-shadow .3s;
}
.innov-button,
.innov-button:is(:hover, :visited) {
  color: #fff;
}
@media (any-hover: hover) {
  .innov-button:hover {
    translate: 0 4px;
    box-shadow: 0 0 0 0 #1c4189;
  }
}
.innov-button--white {
  background-color: #fff;
}
.innov-button--white,
.innov-button--white:is(:hover, :visited) {
  color: #0b5bac;
}

.innov-button::after {
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  top: 0;
  right: 20px;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  background-color: currentColor;
  color: inherit;
  -webkit-mask-image: var(--arrow-image);
  mask-image: var(--arrow-image);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  content: '';
}


@media screen and (min-width: 768px) {
  .innov-button--large {
    padding: 20px 45px 16px;
    font-size: 133.33333%;
    line-height: 150%;
  }
  .innov-button--large::after {
    width: 18px;
    height: 18px;
  }
}

/* ***************************
innov-footer
*************************** */
.innov-footer {
  padding: 24px 10px 20px;
}
.innov-footer__body {

}
.innov-footer__body__left {

}
.innov-footer__body__right {
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  .innov-footer {
    padding: 28px max(72px, 50% - 720px) 28px;
  }
  .innov-footer__body {
    display: flex;
    justify-content: space-between;
  }
  .innov-footer__body__right {
    margin-top: 0;
  }
}

/* ***************************
innov-fLinkList
*************************** */
.innov-fLinkList {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.innov-fLinkList__item {
  margin: 0;
  padding: 0;
}
.innov-fLinkList__item + .innov-fLinkList__item {
  margin-top: 4px;
}
.innov-fLinkList__item::before {
  content: none;
}
.innov-fLinkList__link {
  font-size: 83.33333%;
  line-height: 133.33333%;
  text-decoration: none;
  color: #222;
}
.innov-fLinkList__link,
.innov-fLinkList__link:is(:hover, :visited) {
  color: inherit;
}
@media (any-hover: hover) {
  .innov-fLinkList__link:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  .innov-fLinkList {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .innov-fLinkList__item + .innov-fLinkList__item {
    margin-top: 0;
    padding-left: 23px;
  }
  .innov-fLinkList__item + .innov-fLinkList__item::before {
    width: 1px;
    height: 16px;
    top: 6px;
    left: 11px;
    background-color: #777;
    content: '';
  }
  .innov-fLinkList__link {
    font-size: 88.88889%;
    line-height: 187.5%;
  }
}

/* ***************************
innov-copy
*************************** */
.innov-copy {
  font-size: 66.66667%;
  line-height: 250%;
  text-align: center;
  color: #777;
}
@media screen and (min-width: 768px) {
  .innov-copy {
    font-size: 88.88889%;
    line-height: 187.5%;
  }
}

/* ===========================
Article
=========================== */
/* ***************************
innov-article
*************************** */
.innov-article {
  display: grid;
  grid-template-columns: [full-start] 1fr [content] min(1040px, 100%) 1fr [full-end];
  font-size: 100%;
  line-height: 200%;
}
.innov-article > * {
  grid-column: content;
}
.innov-article__head {

}
.innov-article__title {
  font-size: 133.33333%;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .innov-article__title {
    font-size: 177.77778%;
    line-height: 137.5%;
  }
}

.innov-article__date {
  display: block;
  margin-top: 18px;
  font-size: 100%;
  line-height: 166.66667%;
  color: #7e7e7e;
}

.innov-article__thumb {
  margin-top: 42px;
}
.innov-article__lead {
  margin-top: 41px;
}
.innov-article__toc {
  margin-top: 54px;
}
.innov-article__body {
  margin-top: 90px;
}

.innov-article h2 {
  margin: 0 0 34px;
  padding: 0;
  border: none;
  font-size: 111.11111%;
  line-height: 150%;
}
.innov-article * + h2 {
  margin-top: 78px;
}
@media screen and (min-width: 768px) {
  .innov-article h2 {
    font-size: 133.33333%;
    line-height: 150%;
  }
  .innov-article * + h2 {
    margin-top: 80px;
  }
}

.innov-article * + p {
  margin-top: 34px;
}
.innov-article p + p {
  margin-top: 22px;
}


/* ***************************
innov-toc
*************************** */
.innov-toc {
  padding: 33px 24px 22px;
  background-color: #ebf1fa;
}
@media screen and (min-width: 768px) {
  .innov-toc {
    padding: 41px 40px 38px;
  }
}
.innov-toc__label {
  margin-bottom: 15px;
  font-size: 111.11111%;
  line-height: 100%;
  font-weight: bold;
}
.innov-toc__body {
  color: #005091;
}
.innov-toc__body ol {
  counter-reset: toc;
}
.innov-toc__body li {
  display: grid;
  grid-template-columns: 1em auto;
  column-gap: .5em;
  padding: 0;
  counter-increment: toc;
}
.innov-toc__body li > * {
  grid-column: 2 / 3;
}

.innov-toc__body li + li {
  margin-top: 4px;
}
.innov-toc__body li::before {
  grid-column: 1 / 2;
  position: static;
  display: inline-flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  width: 1em;
  color: currentColor;
  font-weight: normal;
  white-space: nowrap;
  content: counters(toc, '-') '.';
}
.innov-toc__body a {
  color: currentColor;
  text-decoration: none;
}
.innov-toc__body a:hover {
  text-decoration: underline;
}

/* ***************************
innov-figure
*************************** */
.innov-figure {
  display: grid;
  grid-template-columns: [full-start] 1fr [content] min(560px, 100%) 1fr [full-end];
  text-align: left;
}
.innov-figure > * {
  grid-column: content;
}
.innov-figure--full > * {
  grid-column: full;
}
* + .innov-figure {
  margin-top: 38px;
}
.innov-figure img {
  justify-self: center;
  display: block;
}
.innov-figure figcaption {
  margin-top: 13px;
  font-size: 77.77778%;
  line-height: 157.14286%;
  color: #7e7e7e;
}