@charset "UTF-8";
/* init, functions */
:root {
  --main: #1978cf;
  --black: #484A4A;
  --white: #FFFFFF;
  --gray: #A1A6A6;
  --gray02: #ccc;
  --mint: #85D6D6;
  --attention: #E50012;
  --link: #0068B6;
  --bg01: #FCFBF7;
  --bg02: #F9F7F0;
}

/* modules */
/* SP Base Settings */
.d-none {
  display: none !important;
}

.flex,
.d-flex {
  display: flex;
}

.d-block {
  display: block !important;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink {
  flex-shrink: 1;
}

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

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.justify-start {
  justify-content: start;
}

.justify-end {
  justify-content: end;
}

.align-center {
  align-items: center;
  text-align: center;
}

.align-stretch {
  align-items: stretch;
}

.align-start {
  align-items: start;
}

.align-end {
  align-items: end;
}

.self-center {
  align-self: center;
}

.grid,
.d-grid {
  display: grid;
}

.center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.m-00 {
  margin: calc(10px * 0) !important;
}

.mt-00 {
  margin-top: calc(10px * 0) !important;
}

.mb-00 {
  margin-bottom: calc(10px * 0) !important;
}

.mi-00 {
  margin-inline: calc(10px * 0) !important;
}

.p-00 {
  padding: calc(10px * 0) !important;
}

.pt-00 {
  padding-top: calc(10px * 0) !important;
}

.pb-00 {
  padding-bottom: calc(10px * 0) !important;
}

.pi-00 {
  padding-inline: calc(10px * 0) !important;
}

.fs-00 {
  font-size: calc(10px * 0) !important;
}

.m-10 {
  margin: calc(10px * 1) !important;
}

.mt-10 {
  margin-top: calc(10px * 1) !important;
}

.mb-10 {
  margin-bottom: calc(10px * 1) !important;
}

.mi-10 {
  margin-inline: calc(10px * 1) !important;
}

.p-10 {
  padding: calc(10px * 1) !important;
}

.pt-10 {
  padding-top: calc(10px * 1) !important;
}

.pb-10 {
  padding-bottom: calc(10px * 1) !important;
}

.pi-10 {
  padding-inline: calc(10px * 1) !important;
}

.fs-10 {
  font-size: calc(10px * 1) !important;
}

.m-20 {
  margin: calc(10px * 2) !important;
}

.mt-20 {
  margin-top: calc(10px * 2) !important;
}

.mb-20 {
  margin-bottom: calc(10px * 2) !important;
}

.mi-20 {
  margin-inline: calc(10px * 2) !important;
}

.p-20 {
  padding: calc(10px * 2) !important;
}

.pt-20 {
  padding-top: calc(10px * 2) !important;
}

.pb-20 {
  padding-bottom: calc(10px * 2) !important;
}

.pi-20 {
  padding-inline: calc(10px * 2) !important;
}

.fs-20 {
  font-size: calc(10px * 2) !important;
}

.m-30 {
  margin: calc(10px * 3) !important;
}

.mt-30 {
  margin-top: calc(10px * 3) !important;
}

.mb-30 {
  margin-bottom: calc(10px * 3) !important;
}

.mi-30 {
  margin-inline: calc(10px * 3) !important;
}

.p-30 {
  padding: calc(10px * 3) !important;
}

.pt-30 {
  padding-top: calc(10px * 3) !important;
}

.pb-30 {
  padding-bottom: calc(10px * 3) !important;
}

.pi-30 {
  padding-inline: calc(10px * 3) !important;
}

.fs-30 {
  font-size: calc(10px * 3) !important;
}

.m-40 {
  margin: calc(10px * 4) !important;
}

.mt-40 {
  margin-top: calc(10px * 4) !important;
}

.mb-40 {
  margin-bottom: calc(10px * 4) !important;
}

.mi-40 {
  margin-inline: calc(10px * 4) !important;
}

.p-40 {
  padding: calc(10px * 4) !important;
}

.pt-40 {
  padding-top: calc(10px * 4) !important;
}

.pb-40 {
  padding-bottom: calc(10px * 4) !important;
}

.pi-40 {
  padding-inline: calc(10px * 4) !important;
}

.fs-40 {
  font-size: calc(10px * 4) !important;
}

.m-50 {
  margin: calc(10px * 5) !important;
}

.mt-50 {
  margin-top: calc(10px * 5) !important;
}

.mb-50 {
  margin-bottom: calc(10px * 5) !important;
}

.mi-50 {
  margin-inline: calc(10px * 5) !important;
}

.p-50 {
  padding: calc(10px * 5) !important;
}

.pt-50 {
  padding-top: calc(10px * 5) !important;
}

.pb-50 {
  padding-bottom: calc(10px * 5) !important;
}

.pi-50 {
  padding-inline: calc(10px * 5) !important;
}

.fs-50 {
  font-size: calc(10px * 5) !important;
}

.m-60 {
  margin: calc(10px * 6) !important;
}

.mt-60 {
  margin-top: calc(10px * 6) !important;
}

.mb-60 {
  margin-bottom: calc(10px * 6) !important;
}

.mi-60 {
  margin-inline: calc(10px * 6) !important;
}

.p-60 {
  padding: calc(10px * 6) !important;
}

.pt-60 {
  padding-top: calc(10px * 6) !important;
}

.pb-60 {
  padding-bottom: calc(10px * 6) !important;
}

.pi-60 {
  padding-inline: calc(10px * 6) !important;
}

.fs-60 {
  font-size: calc(10px * 6) !important;
}

.m-70 {
  margin: calc(10px * 7) !important;
}

.mt-70 {
  margin-top: calc(10px * 7) !important;
}

.mb-70 {
  margin-bottom: calc(10px * 7) !important;
}

.mi-70 {
  margin-inline: calc(10px * 7) !important;
}

.p-70 {
  padding: calc(10px * 7) !important;
}

.pt-70 {
  padding-top: calc(10px * 7) !important;
}

.pb-70 {
  padding-bottom: calc(10px * 7) !important;
}

.pi-70 {
  padding-inline: calc(10px * 7) !important;
}

.fs-70 {
  font-size: calc(10px * 7) !important;
}

.m-80 {
  margin: calc(10px * 8) !important;
}

.mt-80 {
  margin-top: calc(10px * 8) !important;
}

.mb-80 {
  margin-bottom: calc(10px * 8) !important;
}

.mi-80 {
  margin-inline: calc(10px * 8) !important;
}

.p-80 {
  padding: calc(10px * 8) !important;
}

.pt-80 {
  padding-top: calc(10px * 8) !important;
}

.pb-80 {
  padding-bottom: calc(10px * 8) !important;
}

.pi-80 {
  padding-inline: calc(10px * 8) !important;
}

.fs-80 {
  font-size: calc(10px * 8) !important;
}

.m-90 {
  margin: calc(10px * 9) !important;
}

.mt-90 {
  margin-top: calc(10px * 9) !important;
}

.mb-90 {
  margin-bottom: calc(10px * 9) !important;
}

.mi-90 {
  margin-inline: calc(10px * 9) !important;
}

.p-90 {
  padding: calc(10px * 9) !important;
}

.pt-90 {
  padding-top: calc(10px * 9) !important;
}

.pb-90 {
  padding-bottom: calc(10px * 9) !important;
}

.pi-90 {
  padding-inline: calc(10px * 9) !important;
}

.fs-90 {
  font-size: calc(10px * 9) !important;
}

.m-100 {
  margin: calc(10px * 10) !important;
}

.mt-100 {
  margin-top: calc(10px * 10) !important;
}

.mb-100 {
  margin-bottom: calc(10px * 10) !important;
}

.mi-100 {
  margin-inline: calc(10px * 10) !important;
}

.p-100 {
  padding: calc(10px * 10) !important;
}

.pt-100 {
  padding-top: calc(10px * 10) !important;
}

.pb-100 {
  padding-bottom: calc(10px * 10) !important;
}

.pi-100 {
  padding-inline: calc(10px * 10) !important;
}

.fs-100 {
  font-size: calc(10px * 10) !important;
}

.fs-0em {
  font-size: calc(0.1em * 0);
}

.fs-0px {
  font-size: calc(1px * 0);
}

.lh-00 {
  line-height: calc(10% * 0);
}

.fs-1em {
  font-size: calc(0.1em * 1);
}

.fs-1px {
  font-size: calc(1px * 1);
}

.lh-10 {
  line-height: calc(10% * 1);
}

.fs-2em {
  font-size: calc(0.1em * 2);
}

.fs-2px {
  font-size: calc(1px * 2);
}

.lh-20 {
  line-height: calc(10% * 2);
}

.fs-3em {
  font-size: calc(0.1em * 3);
}

.fs-3px {
  font-size: calc(1px * 3);
}

.lh-30 {
  line-height: calc(10% * 3);
}

.fs-4em {
  font-size: calc(0.1em * 4);
}

.fs-4px {
  font-size: calc(1px * 4);
}

.lh-40 {
  line-height: calc(10% * 4);
}

.fs-5em {
  font-size: calc(0.1em * 5);
}

.fs-5px {
  font-size: calc(1px * 5);
}

.lh-50 {
  line-height: calc(10% * 5);
}

.fs-6em {
  font-size: calc(0.1em * 6);
}

.fs-6px {
  font-size: calc(1px * 6);
}

.lh-60 {
  line-height: calc(10% * 6);
}

.fs-7em {
  font-size: calc(0.1em * 7);
}

.fs-7px {
  font-size: calc(1px * 7);
}

.lh-70 {
  line-height: calc(10% * 7);
}

.fs-8em {
  font-size: calc(0.1em * 8);
}

.fs-8px {
  font-size: calc(1px * 8);
}

.lh-80 {
  line-height: calc(10% * 8);
}

.fs-9em {
  font-size: calc(0.1em * 9);
}

.fs-9px {
  font-size: calc(1px * 9);
}

.lh-90 {
  line-height: calc(10% * 9);
}

.fs-10em {
  font-size: calc(0.1em * 10);
}

.fs-10px {
  font-size: calc(1px * 10);
}

.lh-100 {
  line-height: calc(10% * 10);
}

.fs-11em {
  font-size: calc(0.1em * 11);
}

.fs-11px {
  font-size: calc(1px * 11);
}

.lh-110 {
  line-height: calc(10% * 11);
}

.fs-12em {
  font-size: calc(0.1em * 12);
}

.fs-12px {
  font-size: calc(1px * 12);
}

.lh-120 {
  line-height: calc(10% * 12);
}

.fs-13em {
  font-size: calc(0.1em * 13);
}

.fs-13px {
  font-size: calc(1px * 13);
}

.lh-130 {
  line-height: calc(10% * 13);
}

.fs-14em {
  font-size: calc(0.1em * 14);
}

.fs-14px {
  font-size: calc(1px * 14);
}

.lh-140 {
  line-height: calc(10% * 14);
}

.fs-15em {
  font-size: calc(0.1em * 15);
}

.fs-15px {
  font-size: calc(1px * 15);
}

.lh-150 {
  line-height: calc(10% * 15);
}

.fs-16em {
  font-size: calc(0.1em * 16);
}

.fs-16px {
  font-size: calc(1px * 16);
}

.lh-160 {
  line-height: calc(10% * 16);
}

.fs-17em {
  font-size: calc(0.1em * 17);
}

.fs-17px {
  font-size: calc(1px * 17);
}

.lh-170 {
  line-height: calc(10% * 17);
}

.fs-18em {
  font-size: calc(0.1em * 18);
}

.fs-18px {
  font-size: calc(1px * 18);
}

.lh-180 {
  line-height: calc(10% * 18);
}

.fs-19em {
  font-size: calc(0.1em * 19);
}

.fs-19px {
  font-size: calc(1px * 19);
}

.lh-190 {
  line-height: calc(10% * 19);
}

.fs-20em {
  font-size: calc(0.1em * 20);
}

.fs-20px {
  font-size: calc(1px * 20);
}

.lh-200 {
  line-height: calc(10% * 20);
}

.fs-21em {
  font-size: calc(0.1em * 21);
}

.fs-21px {
  font-size: calc(1px * 21);
}

.lh-210 {
  line-height: calc(10% * 21);
}

.fs-22em {
  font-size: calc(0.1em * 22);
}

.fs-22px {
  font-size: calc(1px * 22);
}

.lh-220 {
  line-height: calc(10% * 22);
}

.fs-23em {
  font-size: calc(0.1em * 23);
}

.fs-23px {
  font-size: calc(1px * 23);
}

.lh-230 {
  line-height: calc(10% * 23);
}

.fs-24em {
  font-size: calc(0.1em * 24);
}

.fs-24px {
  font-size: calc(1px * 24);
}

.lh-240 {
  line-height: calc(10% * 24);
}

.fs-25em {
  font-size: calc(0.1em * 25);
}

.fs-25px {
  font-size: calc(1px * 25);
}

.lh-250 {
  line-height: calc(10% * 25);
}

.fs-26em {
  font-size: calc(0.1em * 26);
}

.fs-26px {
  font-size: calc(1px * 26);
}

.lh-260 {
  line-height: calc(10% * 26);
}

.fs-27em {
  font-size: calc(0.1em * 27);
}

.fs-27px {
  font-size: calc(1px * 27);
}

.lh-270 {
  line-height: calc(10% * 27);
}

.fs-28em {
  font-size: calc(0.1em * 28);
}

.fs-28px {
  font-size: calc(1px * 28);
}

.lh-280 {
  line-height: calc(10% * 28);
}

.fs-29em {
  font-size: calc(0.1em * 29);
}

.fs-29px {
  font-size: calc(1px * 29);
}

.lh-290 {
  line-height: calc(10% * 29);
}

.fs-30em {
  font-size: calc(0.1em * 30);
}

.fs-30px {
  font-size: calc(1px * 30);
}

.lh-300 {
  line-height: calc(10% * 30);
}

.m-auto {
  margin-inline: auto;
}

.v-stack {
  display: flex;
  flex-direction: column;
}

@media screen and (width < 744px) {
  .v-stack-sp {
    display: flex;
    flex-direction: column;
  }
}

.h-stack {
  display: flex;
  flex-direction: row;
}

@media screen and (width < 744px) {
  .h-stack-sp {
    display: flex;
    flex-direction: row;
  }
}

.gap-v-5, .gap-5 {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}
.gap-h-5 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 5px;
       column-gap: 5px;
}

.col-gap-5 {
  -moz-column-gap: 5px;
       column-gap: 5px;
}

.row-gap-5 {
  row-gap: 5px;
}

@media screen and (width < 744px) {
  .gap-v-sp-5[class], .gap-sp-5[class] {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
  }
  .gap-h-sp-5[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
}
.gap-v-6, .gap-6 {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}
.gap-h-6 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 6px;
       column-gap: 6px;
}

.col-gap-6 {
  -moz-column-gap: 6px;
       column-gap: 6px;
}

.row-gap-6 {
  row-gap: 6px;
}

@media screen and (width < 744px) {
  .gap-v-sp-6[class], .gap-sp-6[class] {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
  }
  .gap-h-sp-6[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 6px;
         column-gap: 6px;
  }
}
.gap-v-8, .gap-8 {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.gap-h-8 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.col-gap-8 {
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.row-gap-8 {
  row-gap: 8px;
}

@media screen and (width < 744px) {
  .gap-v-sp-8[class], .gap-sp-8[class] {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
  }
  .gap-h-sp-8[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}
.gap-v-10, .gap-10 {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.gap-h-10 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.col-gap-10 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.row-gap-10 {
  row-gap: 10px;
}

@media screen and (width < 744px) {
  .gap-v-sp-10[class], .gap-sp-10[class] {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
  }
  .gap-h-sp-10[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.gap-v-12, .gap-12 {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.gap-h-12 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 12px;
       column-gap: 12px;
}

.col-gap-12 {
  -moz-column-gap: 12px;
       column-gap: 12px;
}

.row-gap-12 {
  row-gap: 12px;
}

@media screen and (width < 744px) {
  .gap-v-sp-12[class], .gap-sp-12[class] {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
  }
  .gap-h-sp-12[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
.gap-v-16, .gap-16 {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.gap-h-16 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 16px;
       column-gap: 16px;
}

.col-gap-16 {
  -moz-column-gap: 16px;
       column-gap: 16px;
}

.row-gap-16 {
  row-gap: 16px;
}

@media screen and (width < 744px) {
  .gap-v-sp-16[class], .gap-sp-16[class] {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
  }
  .gap-h-sp-16[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.gap-v-20, .gap-20 {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.gap-h-20 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.col-gap-20 {
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.row-gap-20 {
  row-gap: 20px;
}

@media screen and (width < 744px) {
  .gap-v-sp-20[class], .gap-sp-20[class] {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .gap-h-sp-20[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
.gap-v-24, .gap-24 {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}
.gap-h-24 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 24px;
       column-gap: 24px;
}

.col-gap-24 {
  -moz-column-gap: 24px;
       column-gap: 24px;
}

.row-gap-24 {
  row-gap: 24px;
}

@media screen and (width < 744px) {
  .gap-v-sp-24[class], .gap-sp-24[class] {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
  }
  .gap-h-sp-24[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
.gap-v-28, .gap-28 {
  display: flex;
  flex-direction: column;
  row-gap: 28px;
}
.gap-h-28 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 28px;
       column-gap: 28px;
}

.col-gap-28 {
  -moz-column-gap: 28px;
       column-gap: 28px;
}

.row-gap-28 {
  row-gap: 28px;
}

@media screen and (width < 744px) {
  .gap-v-sp-28[class], .gap-sp-28[class] {
    display: flex;
    flex-direction: column;
    row-gap: 28px;
  }
  .gap-h-sp-28[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 28px;
         column-gap: 28px;
  }
}
.gap-v-30, .gap-30 {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.gap-h-30 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 30px;
       column-gap: 30px;
}

.col-gap-30 {
  -moz-column-gap: 30px;
       column-gap: 30px;
}

.row-gap-30 {
  row-gap: 30px;
}

@media screen and (width < 744px) {
  .gap-v-sp-30[class], .gap-sp-30[class] {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
  .gap-h-sp-30[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
.gap-v-32, .gap-32 {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}
.gap-h-32 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 32px;
       column-gap: 32px;
}

.col-gap-32 {
  -moz-column-gap: 32px;
       column-gap: 32px;
}

.row-gap-32 {
  row-gap: 32px;
}

@media screen and (width < 744px) {
  .gap-v-sp-32[class], .gap-sp-32[class] {
    display: flex;
    flex-direction: column;
    row-gap: 32px;
  }
  .gap-h-sp-32[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 32px;
         column-gap: 32px;
  }
}
.gap-v-40, .gap-40 {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
.gap-h-40 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 40px;
       column-gap: 40px;
}

.col-gap-40 {
  -moz-column-gap: 40px;
       column-gap: 40px;
}

.row-gap-40 {
  row-gap: 40px;
}

@media screen and (width < 744px) {
  .gap-v-sp-40[class], .gap-sp-40[class] {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
  }
  .gap-h-sp-40[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
.gap-v-45, .gap-45 {
  display: flex;
  flex-direction: column;
  row-gap: 45px;
}
.gap-h-45 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 45px;
       column-gap: 45px;
}

.col-gap-45 {
  -moz-column-gap: 45px;
       column-gap: 45px;
}

.row-gap-45 {
  row-gap: 45px;
}

@media screen and (width < 744px) {
  .gap-v-sp-45[class], .gap-sp-45[class] {
    display: flex;
    flex-direction: column;
    row-gap: 45px;
  }
  .gap-h-sp-45[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 45px;
         column-gap: 45px;
  }
}
.gap-v-50, .gap-50 {
  display: flex;
  flex-direction: column;
  row-gap: 50px;
}
.gap-h-50 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 50px;
       column-gap: 50px;
}

.col-gap-50 {
  -moz-column-gap: 50px;
       column-gap: 50px;
}

.row-gap-50 {
  row-gap: 50px;
}

@media screen and (width < 744px) {
  .gap-v-sp-50[class], .gap-sp-50[class] {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
  }
  .gap-h-sp-50[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
}
.gap-v-60, .gap-60 {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}
.gap-h-60 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 60px;
       column-gap: 60px;
}

.col-gap-60 {
  -moz-column-gap: 60px;
       column-gap: 60px;
}

.row-gap-60 {
  row-gap: 60px;
}

@media screen and (width < 744px) {
  .gap-v-sp-60[class], .gap-sp-60[class] {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
  }
  .gap-h-sp-60[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
.gap-v-70, .gap-70 {
  display: flex;
  flex-direction: column;
  row-gap: 70px;
}
.gap-h-70 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 70px;
       column-gap: 70px;
}

.col-gap-70 {
  -moz-column-gap: 70px;
       column-gap: 70px;
}

.row-gap-70 {
  row-gap: 70px;
}

@media screen and (width < 744px) {
  .gap-v-sp-70[class], .gap-sp-70[class] {
    display: flex;
    flex-direction: column;
    row-gap: 70px;
  }
  .gap-h-sp-70[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 70px;
         column-gap: 70px;
  }
}
.gap-v-80, .gap-80 {
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}
.gap-h-80 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 80px;
       column-gap: 80px;
}

.col-gap-80 {
  -moz-column-gap: 80px;
       column-gap: 80px;
}

.row-gap-80 {
  row-gap: 80px;
}

@media screen and (width < 744px) {
  .gap-v-sp-80[class], .gap-sp-80[class] {
    display: flex;
    flex-direction: column;
    row-gap: 80px;
  }
  .gap-h-sp-80[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
.gap-v-100, .gap-100 {
  display: flex;
  flex-direction: column;
  row-gap: 100px;
}
.gap-h-100 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 100px;
       column-gap: 100px;
}

.col-gap-100 {
  -moz-column-gap: 100px;
       column-gap: 100px;
}

.row-gap-100 {
  row-gap: 100px;
}

@media screen and (width < 744px) {
  .gap-v-sp-100[class], .gap-sp-100[class] {
    display: flex;
    flex-direction: column;
    row-gap: 100px;
  }
  .gap-h-sp-100[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 100px;
         column-gap: 100px;
  }
}
.gap-v-120, .gap-120 {
  display: flex;
  flex-direction: column;
  row-gap: 120px;
}
.gap-h-120 {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 120px;
       column-gap: 120px;
}

.col-gap-120 {
  -moz-column-gap: 120px;
       column-gap: 120px;
}

.row-gap-120 {
  row-gap: 120px;
}

@media screen and (width < 744px) {
  .gap-v-sp-120[class], .gap-sp-120[class] {
    display: flex;
    flex-direction: column;
    row-gap: 120px;
  }
  .gap-h-sp-120[class] {
    display: flex;
    flex-direction: row;
    -moz-column-gap: 120px;
         column-gap: 120px;
  }
}
.text-center {
  text-align: center;
}

.text-center-pc {
  text-align: center;
}
@media screen and (width < 744px) {
  .text-center-pc {
    text-align: unset;
  }
}

@media screen and (width < 744px) {
  .no-br-sp br {
    display: none;
  }
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-main {
  color: #1978cf;
}

.text-accent01 {
  color: var(--second);
}
.text-accent01:hover {
  color: var(--second);
}

.text-vertical {
  writing-mode: vertical-rl;
}

.text-black {
  color: var(--black);
}

.text-red {
  color: #E50012;
}

.font-normal {
  font-weight: 500;
}

.font-bold {
  font-weight: 700;
}

.text-small {
  font-size: 0.9em;
}

.text-large {
  font-size: 1.2em;
}

.font-bold {
  font-weight: bold;
}

.drop-shadow {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));
}

.drop-shadow-lg {
  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
}

@media (width < 744px) {
  .only-pc {
    display: none !important;
  }
}

@media (744px <= width) {
  .only-sp {
    display: none !important;
  }
}

@media screen and (width >= 1280px) {
  .except-pc {
    display: none !important;
  }
}

@media screen and (width < 1280px) {
  .except-sp {
    display: none !important;
  }
}

.bg-white {
  background-color: #FFFFFF;
}

.bg-second {
  --bg-color: var(--second);
  background-color: var(--second);
}

.bg-orange {
  --bg-color: #F29600;
  background-color: #F29600;
}

.bg-gray01 {
  --bg-color: var(--gray01);
  background-color: var(--gray01);
}

.bg-gray02 {
  --bg-color: var(--gray02);
  background-color: var(--gray02);
}

.bg-gray03 {
  --bg-color: var(--gray03);
  background-color: var(--gray03);
}

.bg-01 {
  background-color: var(--bg01);
}

.bg-02 {
  background-color: var(--bg02);
}

.radius {
  border-radius: 8px;
}

.underline {
  text-decoration: underline;
}

/* styles */
@font-face {
  font-family: "myFont";
  src: url("../font/subset_dotreca.woff") format("woff"), url("../font/subset_dotreca.ttf") format("truetype");
}
.font-text {
  font-family: "myFont", sans-serif;
}

.font-en {
  font-family: "myFont", sans-serif, sans-serif;
}

h1, .h1 {
  font-family: "myFont", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  text-align: center;
}
@media screen and (width < 744px) {
  h1, .h1 {
    font-size: 30px;
  }
}

h2, .h2 {
  font-family: "myFont", sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (width < 744px) {
  h2, .h2 {
    font-size: 24px;
  }
}

h3, .h3 {
  font-family: "myFont", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
@media screen and (width < 744px) {
  h3, .h3 {
    font-size: 22px;
  }
}

h4, .h4 {
  font-family: "myFont", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
@media screen and (width < 744px) {
  h4, .h4 {
    font-size: 20px;
  }
}

.ttl {
  font-family: "myFont", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.1em;
}
.ttl_xl {
  font-size: 64px;
}
@media screen and (width < 744px) {
  .ttl_xl {
    font-size: 60px;
  }
}
.ttl_l {
  font-size: 57px;
}
@media screen and (width < 744px) {
  .ttl_l {
    font-size: 60px;
  }
}
.ttl_m {
  font-size: 48px;
}
@media screen and (width < 744px) {
  .ttl_m {
    font-size: 28px;
  }
}
.ttl_s {
  font-size: 40px;
}
@media screen and (width < 744px) {
  .ttl_s {
    font-size: 24px;
  }
}
.ttl_s_jp {
  font-family: "myFont", sans-serif;
}

.text {
  font-family: "myFont", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.02em;
}

h1, h2, h3, p {
  margin: 0;
}

u {
  display: inline-block;
  text-decoration: none;
}

hr {
  width: 100%;
  border: none;
  border-bottom: 1px dashed #ccc;
  margin-block: 2rem;
}

a {
  color: var(--text-color, inherit);
  text-decoration: none;
  transition-duration: 0.2s;
  transition-property: background-color, border, color, opacity;
  text-underline-offset: 0.2em;
}
a:hover, a:active {
  color: var(--text-color, inherit);
  text-decoration: none;
  opacity: 0.7;
}
main a {
  text-decoration: underline;
}

/*
サイト全体のgrid、header、main、footerのスタイルを記述してあります。
*/
.fg-wrapper[class], main[class],
.content {
  --gap: 25px;
  --full: minmax(var(--gap), 1fr);
  --thin-width: 544px;
  --thin: min(var(--thin-width), 100% - var(--gap) * 2);
  --narrow-width: 756px;
  --narrow: minmax(0, calc((var(--narrow-width) - var(--thin-width)) / 2));
  --content-width: 928px;
  --content: minmax(0, calc((var(--content-width) - var(--narrow-width)) / 2));
  --popout-width: 1024px;
  --popout: minmax(0, calc((var(--popout-width) - var(--content-width)) / 2));
  --feature-width: 1120px;
  --feature: minmax(0, calc((var(--feature-width) - var(--popout-width)) / 2));
  display: grid;
  grid-template-columns: [full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [narrow-start] var(--narrow) [thin-start] var(--thin) [thin-end]  var(--narrow) [narrow-end]  var(--content) [content-end]  var(--popout) [popout-end]  var(--feature) [feature-end]  var(--full) [full-end];
}
.fg-wrapper[class] > *, main[class] > *,
.content > * {
  grid-column: content;
}
.fg-wrapper[class] > .thin, main[class] > .thin,
.content > .thin {
  grid-column: thin;
}
.fg-wrapper[class] > .narrow, .fg-wrapper[class] > .content-area, main[class] > .narrow, main[class] > .content-area,
.content > .narrow,
.content > .content-area {
  grid-column: narrow;
}
.fg-wrapper[class] > .content, main[class] > .content,
.content > .content {
  grid-column: content;
}
.fg-wrapper[class] > .popout, main[class] > .popout,
.content > .popout {
  grid-column: popout;
}
.fg-wrapper[class] > .feature, main[class] > .feature,
.content > .feature {
  grid-column: feature;
}
.fg-wrapper[class] > .full, main[class] > .full,
.content > .full {
  grid-column: full;
}
.fg-wrapper[class] > .fg-wrapper, main[class] > .fg-wrapper, .fg-wrapper[class] > main, main[class] > main,
.fg-wrapper[class] > .content,
main[class] > .content,
.content > .fg-wrapper,
.content > main,
.content > .content {
  display: grid !important;
  grid-template-columns: subgrid;
}

:root {
  --content-area-margin: clamp(80px, 8.333vw, 160px);
}
@media screen and (width < 744px) {
  :root {
    --content-area-margin: 20px;
  }
}

body {
  width: 100%;
}

#page-wrapper {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  width: 100%;
  overflow-x: clip;
}

main {
  overflow-x: clip;
  position: relative;
}

.content-area {
  color: var(--black);
  margin-block: 60px 80px;
}

.wp-block-group__inner-container {
  display: contents;
}

/*
サイト全体の基本的な要素に関する記述です。
ユニークなスタイルの記述はしないでください。
*/
:root {
  font-size: 16px;
}

html {
  overflow-x: hidden;
  font-display: fallback;
  scroll-padding-top: 120px;
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
}
@media screen and (width < 744px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  font-family: "myFont", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 180%;
  color: #484A4A;
  background-color: #FFFFFF;
  accent-color: var(--main);
}

img {
  height: auto;
}

figure {
  margin: 0;
}
figure img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  -o-object-fit: contain;
     object-fit: contain;
}

.img:has(> img) {
  overflow: hidden;
}
.img:has(> img) img {
  height: auto;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

ul, ol {
  margin: 0;
  padding-left: 1.3em;
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
}
ul li, ol li {
  line-height: 150%;
}

ul.annotation {
  list-style: none;
  padding-left: 1.5em;
  font-size: 14px;
}
ul.annotation li {
  text-indent: -1.5em;
}
ul.annotation li::before {
  content: "※";
  margin-right: 0.5em;
}

dl, dt, dd {
  margin-bottom: 0;
}

dl.tips {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px 20px;
}
dl.tips dt {
  padding: 5px 10px;
  background-color: #F29600;
  color: #FFFFFF;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  line-height: 150%;
  font-weight: 500;
  height: -moz-fit-content;
  height: fit-content;
}
dl.tips dd {
  line-height: 170%;
}

.top_copy {
  font-family: "myFont", sans-serif, sans-serif;
  font-size: 68px;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
  letter-spacing: 0.02em;
}
@media screen and (width < 744px) {
  .top_copy {
    font-size: 32px;
  }
}

.note {
  font-family: "myFont", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.02em;
}

.link-available a {
  cursor: pointer;
  color: var(--link);
}
.link-available a:hover {
  color: var(--link);
}

.link-disable a {
  color: inherit;
}
.link-disable a:hover {
  color: inherit;
}

#loader {
  position: fixed;
  inset: 0;
  background-color: white;
  z-index: 100;
  pointer-events: none;
  animation: fadeout-anim 0.8s linear forwards;
}

@keyframes fadeout-anim {
  0% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}
section > * {
  position: relative;
}
section + section {
  margin-top: 20px;
}
@media screen and (width < 744px) {
  section + section {
    margin-top: 20px;
  }
}

.tag {
  border-radius: 100vw;
  padding: 4px 10px;
  border: 1px solid var(--main);
  display: inline-block;
  font-size: 0.9em;
  font-weight: 550;
  display: flex;
  align-items: center;
}
.tag.type {
  background-color: #e0f2fe;
}
.tag.area {
  background-color: #f0fdf4;
}

.embed_youtube,
.wp-block-embed__wrapper {
  border: 1px solid #ccc;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin: auto;
}
.embed_youtube iframe,
.wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
}

.embed_map {
  border: 1px solid #ccc;
  width: min(100%, 700px);
  height: auto;
  aspect-ratio: 3/2;
}
.embed_map iframe {
  width: 100%;
  height: 100%;
}

.bg-white {
  background-color: white;
}

.border-gray img {
  border: 1px solid #ccc;
}

a.external-link {
  display: inline-flex;
}
a.external-link::after {
  content: "";
  height: 1lh;
  width: 1em;
  margin-left: 6px;
  background-image: url("/wp-content/themes/kiz/assets/img/common/ico_window.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-decoration: inherit;
}

table {
  font-size: 16px;
}
@media screen and (width < 744px) {
  table {
    font-size: 14px;
  }
}
table tr, table td, table th {
  border: 1px solid;
  border-color: rgb(97.9655172414, 170.0344827586, 236.0344827586);
}
table th {
  text-align: center;
  font-weight: 500;
}
table thead {
  border-bottom: 1px solid #f1ede3;
}

table.grid-table,
figure.grid-table table {
  display: grid;
  grid-template-columns: 200px auto;
  gap: 0 40px;
}
@media screen and (width < 744px) {
  table.grid-table,
  figure.grid-table table {
    grid-template-columns: 1fr !important;
    font-size: 14px;
  }
}
table.grid-table tbody,
figure.grid-table table tbody {
  display: contents;
}
table.grid-table tr,
figure.grid-table table tr {
  display: grid;
  grid-column: 2 span;
  grid-template-columns: subgrid;
  padding-block: 24px;
  border: none;
  border-top: 1px solid var(--gray02);
}
@media screen and (width < 744px) {
  table.grid-table tr,
  figure.grid-table table tr {
    padding-block: 16px 20px;
    grid-column: 1 span;
    gap: 16px;
  }
}
table.grid-table tr:last-child,
figure.grid-table table tr:last-child {
  border-bottom: 1px solid var(--gray02);
}
table.grid-table th, table.grid-table td,
figure.grid-table table th,
figure.grid-table table td {
  border: none;
  font-weight: 500;
  padding: 0;
}
table.grid-table th,
table.grid-table td:first-child,
figure.grid-table table th,
figure.grid-table table td:first-child {
  font-size: 15px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  gap: 0.5em;
}
@media screen and (width < 744px) {
  table.grid-table th,
  table.grid-table td:first-child,
  figure.grid-table table th,
  figure.grid-table table td:first-child {
    justify-content: flex-start;
    gap: 12px;
  }
}
table.grid-table th,
figure.grid-table table th {
  background-color: unset;
}

.grid-table-content {
  display: grid;
  grid-template-columns: max-content auto;
  gap: 16px 10px;
}
.grid-table-content tbody {
  display: contents;
}
.grid-table-content > *,
.grid-table-content tr {
  display: grid;
  grid-column: 2 span;
  grid-template-columns: subgrid;
  line-height: 1.4;
}

.map-wrapper {
  width: 100%;
  height: auto;
  aspect-ratio: 720/360;
  border-radius: 10px;
  overflow: hidden;
  background-color: var(--gray01);
}
@media screen and (width < 744px) {
  .map-wrapper {
    aspect-ratio: 320/200;
  }
}
.map-wrapper iframe {
  height: 100%;
  width: 100%;
}

.visually-hidden {
  /* コンテンツの流れから切り離す */
  position: absolute;
  /* 誤ったコードに対処するための回避策 */
  white-space: nowrap;
  /* 可能な限り文字サイズを小さくするための処理
   * (スクリーンリーダー中には height と width が 0 のものを無視するため)
   */
  width: 1px;
  height: 1px;
  /* オーバーフローしているコンテンツを隠す */
  overflow: hidden;
  /* 要素サイズを変更しうるプロパティのリセット */
  border: 0;
  padding: 0;
  /* 要素のどの部分が表示されるかを定義するもの */
  /* 古いブラウザでは使用できない */
  clip: rect(0 0 0 0);
  /* 最近のブラウザ用
   * コンテンツを非表示にする設定  */
  clip-path: inset(50%);
  margin: -1px;
}

svg.dilate-svg {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.dilate {
  filter: url(#dilate);
  text-shadow: 0px 0px 0.5px currentColor;
}

.scroll-fixed {
  overflow: hidden;
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.42, 2.3);
}

*:has(> a.cover-link) {
  position: relative;
  transition: opacity 0.3s ease;
}
*:has(> a.cover-link):hover {
  opacity: 0.8;
}

a.cover-link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.is-layout-flex.is-horizontal, .is-layout-flex.is-vertical {
  margin-block: 60px;
  gap: 20px 60px;
}
@media screen and (width < 744px) {
  .is-layout-flex.is-horizontal, .is-layout-flex.is-vertical {
    flex-direction: column;
  }
}
.is-layout-flex.is-horizontal > *, .is-layout-flex.is-vertical > * {
  margin: 0;
}

@media screen and (width < 744px) {
  figure.chart {
    max-width: 200px;
    margin-inline: auto;
  }
}

.btn-grid {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, 300px);
  gap: 20px 32px;
}
@media screen and (width < 744px) {
  .btn-grid {
    grid-template-columns: 300px;
  }
}
.btn-grid .btn {
  width: 100%;
}

.btns-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, 154px);
  gap: 20px 32px;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (width < 744px) {
  .btns-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px 20px;
  }
}
.btns-wrapper .btn {
  --bg-color: #FFFFFF;
  --text-color: #1978cf;
  border: 2px solid #1978cf;
  width: 154px;
  border-radius: 15px;
  font-size: 18px;
  height: 50px;
}
@media screen and (width < 744px) {
  .btns-wrapper .btn {
    width: 100%;
    padding-inline: 0;
  }
}
.btns-wrapper .btn.current, .btns-wrapper .btn:hover {
  --bg-color: #1978cf;
  --text-color: #FFFFFF;
}

.anchors-wrapper {
  grid-column: narrow;
  display: grid;
  grid-template-columns: repeat(auto-fit, 150px);
  -moz-column-gap: 32px;
       column-gap: 32px;
  justify-content: center;
}
.anchors-wrapper a {
  --border-weight: 2.5px;
  margin-top: calc(-1 * var(--border-weight));
  position: relative;
  height: 50px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.anchors-wrapper a span {
  font-weight: 700;
}
.anchors-wrapper a svg {
  position: relative;
  width: 20px;
  height: 20px;
  color: #1978cf;
  top: 0;
  transition: all 0.3s ease;
}
.anchors-wrapper a::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-block: var(--border-weight) solid #99E7ED;
  filter: url(#turbulence);
}
.anchors-wrapper a:hover svg {
  top: 2px;
}

.col-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.col-2 > img {
  width: 100%;
  height: auto;
}
@media screen and (width < 744px) {
  .col-2 {
    grid-template-columns: 1fr;
  }
}

.toggle-wrapper {
  transition: all 0.3s ease;
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
}
.toggle-wrapper .inner {
  transition: all 0.3s ease;
  overflow: hidden;
  padding-block: 0;
}

.open .toggle-wrapper,
.open.toggle-wrapper {
  grid-template-rows: 1fr;
  opacity: 1;
}

.absolutes {
  display: contents;
}
.absolutes > * {
  position: absolute;
  height: auto;
}

.paragraph {
  --p-gap: 1.4lh;
}
.paragraph h2 {
  margin-top: 1.2lh;
  margin-bottom: 1lh;
}
.paragraph h3 {
  margin-top: 60px;
  margin-bottom: var(--p-gap);
}
.paragraph p {
  margin-top: var(--p-gap);
  margin-bottom: var(--p-gap);
  line-height: 120%;
}
.paragraph a:not(.btn) {
  --text-color: #0068B6;
  color: #0068B6;
}
.paragraph ul, .paragraph ol {
  padding-bottom: 0;
  margin-block: var(--p-gap);
}
.paragraph ul ul, .paragraph ul ol, .paragraph ol ul, .paragraph ol ol {
  margin: 0;
}
.paragraph ul li:has(ul, ol), .paragraph ol li:has(ul, ol) {
  margin-block: var(--p-gap);
}
.paragraph figure {
  margin-block: calc(2 * var(--p-gap));
}
@media screen and (width < 744px) {
  .paragraph figure {
    margin-block: 30px;
  }
}
.paragraph figure figcaption {
  font-size: 14px;
}
.paragraph figure:has(img) {
  overflow: hidden;
  border-radius: 6px;
}
.paragraph figure.wp-block-table,
.paragraph figure:has(table) {
  margin-block: 30px;
}
.paragraph *:first-child {
  margin-top: 0 !important;
}
.paragraph *:last-child {
  margin-bottom: 0 !important;
}
.paragraph .annotation {
  margin-top: 10px;
  font-size: 14px;
}
.paragraph *:has(+ .annotation) {
  margin-bottom: 10px;
}

html, body {
  height: 100%;
}

body {
  position: relative;
  color: black;
  margin: 0;
  overflow-x: clip;
  font-family: "myFont", sans-serif;
  font-size: 20px;
}

footer {
  position: sticky;
  top: 100vh;
  top: 100dvh;
  display: flex;
  justify-content: center;
}

main {
  padding-block: 40px 100px;
  row-gap: 60px;
  font-family: "myFont", sans-serif;
}

h1 {
  font-size: min(7vw, 40px);
}

.logo img {
  max-width: 100%;
  width: 500px;
}

.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-delay: 500ms;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}/*# sourceMappingURL=styles.css.map */