@charset "UTF-8";
@media print, only screen and (min-width: 1181px) {
  /* DATA */
  #data *, #data *::before, #data *::after {
    line-height: 1;
    box-sizing: border-box;
  }
  #data img {
    width: 100%;
    height: auto;
  }
  /* フェードアップ */
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .biz-udpgothic-regular {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  .biz-udpgothic-bold {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .big-shoulders-700 {
    font-family: "Big Shoulders", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
  }
  .counter {
    display: inline-block;
    text-align: center;
  }
  .contents {
    color: #fff;
    background: url(../img/data/data_bg.png) repeat center center #1c4198;
  }
  .contents .inner {
    max-width: 1180px;
    padding: 120px 40px;
    margin: 0 auto;
  }
  .contents .ttl_data {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
  }
  .contents .ttl_data:not(:first-of-type) {
    margin-top: 120px;
  }
  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 400px;
    background: url(../img/data/mv_bg_pc.png) repeat center center/cover;
  }
  .contents .ttl_mv {
    font-size: 104px;
    text-align: center;
    line-height: 1;
  }
  .contents .ttl_mv_sub {
    display: block;
    font-size: 20px;
    margin-top: 25px;
  }
  /* カード */
  .contents [class^=cards] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: bold;
  }
  .contents .cards01 {
    gap: 20px 1.81818%;
  }
  .contents .cards02 {
    gap: 19px 1.72727%;
    margin-bottom: 120px;
  }
  .contents [class^=cards] [class^=card] {
    color: #1c4198;
    background: #fff;
  }
  .contents [class^=cards] [class^=card] .ttl_card {
    color: #000d2c;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
  }
  .contents [class^=cards] [class^=card] .flex {
    display: flex;
    justify-content: space-between;
  }
  /* カード01 */
  .contents [class^=cards] .card01 {
    padding: 40px 60px 60px;
  }
  .contents [class^=cards] .card01 {
    width: 38.183%;
  }
  .contents [class^=cards] .card01 .ttl_card {
    margin-bottom: 35px;
  }
  .contents [class^=cards] .card01 .img {
    width: 74px;
    height: auto;
  }
  .contents [class^=cards] .card01 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card01 .num {
    width: 175.95px;
    font-size: 88px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card01 .year {
    font-size: 32px;
    padding-bottom: 10px;
  }
  .contents [class^=cards] .card01 .since {
    font-size: 20px;
    text-align: center;
    margin-top: 15px;
  }
  .contents [class^=cards] .card01 .flex {
    gap: 20px;
  }
  .contents [class^=cards] .card01 .flex .flex {
    gap: 5px;
  }
  /* カード02 */
  .contents [class^=cards] .card02 {
    padding: 40px 90px 60px;
  }
  .contents [class^=cards] .card02 {
    width: 60%;
  }
  .contents [class^=cards] .card02 .ttl_card {
    margin-bottom: 30px;
  }
  .contents [class^=cards] .card02 .img {
    width: 112px;
    height: auto;
  }
  .contents [class^=cards] .card02 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card02 .country {
    font-size: 24px;
    white-space: nowrap;
    margin-bottom: 15px;
  }
  .contents [class^=cards] .card02 [class^=num] {
    font-size: 88px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card02 .num01 {
    width: 113.5px;
  }
  .contents [class^=cards] .card02 .num02 {
    width: 62.47px;
  }
  .contents [class^=cards] .card02 .point {
    font-size: 32px;
    white-space: nowrap;
    padding-bottom: 10px;
  }
  .contents [class^=cards] .card02 .flex {
    gap: 20px;
  }
  .contents [class^=cards] .card02 .flex .flex {
    gap: 5px;
  }
  /* カード03 */
  .contents [class^=cards] .card03 {
    padding: 40px 40px 50px;
  }
  .contents [class^=cards] .card03 {
    width: 32.18%;
  }
  .contents [class^=cards] .card03 .ttl_card {
    margin-bottom: 40px;
  }
  .contents [class^=cards] .card03 .img {
    width: 97px;
    height: auto;
  }
  .contents [class^=cards] .card03 .flex {
    align-items: center;
  }
  .contents [class^=cards] .card03 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card03 .num {
    width: 134.61px;
    font-size: 72px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card03 .day {
    font-size: 32px;
    padding-bottom: 5px;
  }
  .contents [class^=cards] .card03 .flex {
    gap: 10px;
  }
  .contents [class^=cards] .card03 .flex .flex {
    gap: 0px;
  }
  /* カード04 */
  .contents [class^=cards] .card04 {
    width: 32.18%;
    padding: 40px 40px 35px;
  }
  .contents [class^=cards] .card04 .ttl_card {
    margin-bottom: 30px;
  }
  .contents [class^=cards] .card04 .img {
    width: 135px;
    height: auto;
  }
  .contents [class^=cards] .card04 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card04 .flex2 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px solid #1c4198;
  }
  .contents [class^=cards] .card04 .year {
    font-size: 32px;
    padding-bottom: 10px;
  }
  .contents [class^=cards] .card04 .num01 {
    width: 51.11px;
    font-size: 72px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card04 .day {
    font-size: 32px;
    padding-bottom: 10px;
  }
  .contents [class^=cards] .card04 .least {
    font-size: 24px;
    padding-bottom: 2px;
  }
  .contents [class^=cards] .card04 .num02 {
    width: 24.72px;
    font-size: 32px;
  }
  .contents [class^=cards] .card04 .holiday {
    font-size: 24px;
    padding-bottom: 2px;
  }
  .contents [class^=cards] .card04 .flex {
    gap: 5px;
  }
  .contents [class^=cards] .card04 .flex .flex {
    gap: 5px;
  }
  .contents [class^=cards] .card04 .flex2 {
    gap: 5px;
  }
  /* カード05 */
  .contents [class^=cards] .card05 {
    padding: 40px 25px 40px;
  }
  .contents [class^=cards] .card05 {
    width: 32.18%;
  }
  .contents [class^=cards] .card05 .ttl_card {
    margin-bottom: 30px;
  }
  .contents [class^=cards] .card05 .img {
    width: 102px;
    height: auto;
  }
  .contents [class^=cards] .card05 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card05 [class^=num] {
    font-size: 72px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .num01 {
    width: 92.86px;
  }
  .contents [class^=cards] .card05 .num02 {
    width: 51.11px;
  }
  .contents [class^=cards] .card05 .dot {
    font-size: 72px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .day {
    font-size: 32px;
    padding-bottom: 5px;
  }
  .contents [class^=cards] .card05 .record {
    font-size: 16px;
    text-align: center;
    margin-top: 15px;
  }
  .contents [class^=cards] .card05 .flex {
    gap: 5px;
  }
  .contents [class^=cards] .card05 .flex .flex {
    gap: 0px;
  }
  /* カード06 */
  .contents [class^=cards] .card06 {
    padding: 40px 70px 40px;
  }
  .contents [class^=cards] .card06 {
    width: 38.183%;
  }
  .contents [class^=cards] .card06 .ttl_card {
    margin-bottom: 30px;
  }
  .contents [class^=cards] .card06 .graph {
    width: 200px;
    margin: 0 auto 20px;
  }
  .contents [class^=cards] .card06 .img01 {
    width: 37px;
    height: 96px;
  }
  .contents [class^=cards] .card06 .img02 {
    width: 43px;
    height: 96px;
  }
  .contents [class^=cards] .card06 .gender {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .contents [class^=cards] .card06 [class^=num] {
    font-size: 40px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card06 .num01 {
    width: 56.78px;
  }
  .contents [class^=cards] .card06 .num02 {
    width: 51.59px;
  }
  .contents [class^=cards] .card06 .per {
    font-size: 24px;
    padding-bottom: 3px;
  }
  .contents [class^=cards] .card06 .flex {
    flex-direction: column;
  }
  .contents [class^=cards] .card06 .flex .flex {
    flex-direction: row;
    justify-content: center;
    gap: 25px;
  }
  .contents [class^=cards] .card06 .flex .flex .flex {
    align-items: center;
    gap: 10px;
  }
  .contents [class^=cards] .card06 .flex .flex .flex .flex {
    align-items: flex-end;
    gap: 2px;
  }
  /* カード07 */
  .contents [class^=cards] .card07 {
    padding: 40px 70px 40px;
  }
  .contents [class^=cards] .card07 {
    width: 60%;
  }
  .contents [class^=cards] .card07 .ttl_card {
    width: 60%;
    margin-bottom: 30px;
  }
  .contents [class^=cards] .card07 .graph {
    position: relative;
    width: 320px;
  }
  .contents [class^=cards] .card07 [class^=txt] {
    position: absolute;
    color: #fff;
  }
  .contents [class^=cards] .card07 .txt01 {
    top: 47px;
    right: 75px;
  }
  .contents [class^=cards] .card07 .txt02 {
    top: 160px;
    right: 36px;
  }
  .contents [class^=cards] .card07 .txt03 {
    top: 200px;
    right: 155px;
  }
  .contents [class^=cards] .card07 .txt04 {
    top: 93px;
    left: 33px;
  }
  .contents [class^=cards] .card07 .txt05 {
    top: 30px;
    left: 105px;
  }
  .contents [class^=cards] .card07 [class^=txt] .year {
    font-size: 16px;
    font-feature-settings: "palt";
    margin-bottom: 10px;
  }
  .contents [class^=cards] .card07 .txt05 .year {
    font-size: 14px;
    margin-bottom: 7px;
  }
  .contents [class^=cards] .card07 [class^=txt] [class^=num] {
    font-size: 32px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .txt02 .num,
  .contents [class^=cards] .card07 .txt03 .num,
  .contents [class^=cards] .card07 .txt04 .num {
    font-size: 40px;
  }
  .contents [class^=cards] .card07 [class^=txt] .per {
    font-size: 24px;
    padding-bottom: 3px;
  }
  .contents [class^=cards] .card07 .txt05 .per {
    font-size: 20px;
  }
  .contents [class^=cards] .card07 [class^=txt] .flex {
    gap: 5px;
  }
  .contents [class^=cards] .card07 .age {
    color: #000d2c;
    font-size: 24px;
    text-align: center;
    margin-bottom: 25px;
  }
  .contents [class^=cards] .card07 .num_age {
    width: 123.81px;
    font-size: 96px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .flex > .year {
    font-size: 32px;
    padding-bottom: 10px;
  }
  .contents [class^=cards] .card07 .flex {
    justify-content: center;
    align-items: center;
    gap: 50px;
  }
  .contents [class^=cards] .card07 .flex .flex {
    align-items: flex-end;
    gap: 5px;
  }
  /* カード08 */
  .contents [class^=cards] .card08 {
    width: 49.092%;
    padding: 40px 0 50px;
  }
  .contents [class^=cards] .card08 .ttl_card {
    padding-right: 20px;
  }
  .contents [class^=cards] .card08 .img {
    width: 72px;
    height: 114px;
  }
  .contents [class^=cards] .card08 [class^=num] {
    font-size: 80px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .num01 {
    width: 113.56px;
  }
  .contents [class^=cards] .card08 .num02 {
    width: 56.78px;
  }
  .contents [class^=cards] .card08 .dot {
    font-size: 80px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .per {
    font-size: 32px;
    padding-bottom: 5px;
  }
  .contents [class^=cards] .card08 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
    width: 200px;
    height: 28px;
    margin: 20px auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card08 .flex {
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
  .contents [class^=cards] .card08 .flex .flex {
    align-items: flex-end;
    gap: 3px;
  }
  /* カード09 */
  .contents [class^=cards] .card09 {
    width: 49.092%;
    padding: 40px 0 50px;
  }
  .contents [class^=cards] .card09 .ttl_card {
    padding-right: 20px;
  }
  .contents [class^=cards] .card09 .img {
    width: 113px;
    height: 109px;
  }
  .contents [class^=cards] .card09 [class^=num] {
    font-size: 80px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .num01 {
    width: 56.78px;
  }
  .contents [class^=cards] .card09 .num02 {
    width: 56.78px;
  }
  .contents [class^=cards] .card09 .dot {
    font-size: 80px;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .per {
    font-size: 32px;
    padding-bottom: 5px;
  }
  .contents [class^=cards] .card09 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
    width: 200px;
    height: 28px;
    margin: 20px auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card09 .flex {
    justify-content: center;
    align-items: center;
    gap: 15px;
  }
  .contents [class^=cards] .card09 .flex .flex {
    align-items: flex-end;
    gap: 4px;
  }
  @keyframes slide_up {
    0% {
      transform: translateY(30px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slide_down {
    0% {
      transform: translateY(-30px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slide_left {
    0% {
      transform: translateX(30px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes slide_right {
    0% {
      transform: translateX(-30px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes fade_in {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  /* -- animation home -- */
  @keyframes title_bg {
    0% {
      left: 0;
      width: 0;
    }
    33% {
      left: 0;
      width: 100%;
    }
    66% {
      left: 0;
      width: 100%;
    }
    to {
      left: 100%;
      width: 0;
    }
  }
  @keyframes title_font {
    0% {
      color: transparent;
    }
    to {
      color: #fff;
    }
  }
  @keyframes title_font_blue {
    0% {
      color: transparent;
    }
    to {
      color: #1c4198;
    }
  }
  @keyframes title_lead_ja {
    0% {
      transform: translateY(-30px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes title_lead_en {
    0% {
      opacity: 0;
    }
    to {
      opacity: 0.15;
    }
  }
  @keyframes content_bg {
    0% {
      left: 0;
      width: 0;
    }
    33% {
      left: 0;
      width: 100%;
    }
    66% {
      left: 0;
      width: 100%;
    }
    to {
      left: 100%;
      width: 0;
    }
  }
  @keyframes content_view {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes img_view {
    0% {
      transform: translateX(30px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes movie_bg {
    0% {
      left: -100%;
      width: 0;
    }
    33% {
      left: -100%;
      width: 200%;
    }
    66% {
      left: -100%;
      width: 200%;
    }
    to {
      left: -117px;
      width: calc(100% + 117px);
    }
  }
  @keyframes movie_bg_sp {
    0% {
      top: 0;
      height: 0;
    }
    to {
      top: 0;
      height: 100%;
    }
  }
  @keyframes data_head {
    0% {
      top: 0;
      height: 100%;
    }
    to {
      top: 100%;
      height: 0;
    }
  }
  @keyframes works_pop {
    0% {
      transform: scale(1.2);
      opacity: 0;
    }
    to {
      transform: scale(1);
      opacity: 1;
    }
  }
  @keyframes works_fead {
    0% {
      opacity: 0;
    }
    to {
      opacity: 0.5;
    }
  }
  @keyframes employees_fead {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes more_zoom {
    0% {
      transform: scale(0);
    }
    to {
      transform: scale(1);
    }
  }
  @keyframes news_view {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes slide_entry {
    0% {
      transform: translateX(30px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  .scroll-flag {
    opacity: 0;
  }
  .slide-up.show {
    animation: slide_up 0.3s forwards linear;
  }
  .slide-down.show {
    animation: slide_down 0.3s forwards linear;
  }
  .fade-in.show {
    animation: fade_in 0.3s forwards linear;
  }
}
@media only screen and (max-width: 1180px) and (min-width: 769px) {
  /* DATA */
  #data *, #data *::before, #data *::after {
    line-height: 1;
    box-sizing: border-box;
  }
  #data img {
    width: 100%;
    height: auto;
  }
  /* フェードアップ */
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(2.5423728814vw);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(2.5423728814vw);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .biz-udpgothic-regular {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  .biz-udpgothic-bold {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .big-shoulders-700 {
    font-family: "Big Shoulders", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
  }
  .counter {
    display: inline-block;
    text-align: center;
  }
  .contents {
    color: #fff;
    background: url(../img/data/data_bg.png) repeat center center #1c4198;
  }
  .contents .inner {
    max-width: 100vw;
    padding: 10.1694915254vw 3.3898305085vw;
    margin: 0 auto;
  }
  .contents .ttl_data {
    font-size: 2.7118644068vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 4.2372881356vw;
  }
  .contents .ttl_data:not(:first-of-type) {
    margin-top: 10.1694915254vw;
  }
  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 33.8983050847vw;
    background: url(../img/data/mv_bg_pc.png) repeat center center/cover;
  }
  .contents .ttl_mv {
    font-size: 8.813559322vw;
    text-align: center;
    line-height: 1;
  }
  .contents .ttl_mv_sub {
    display: block;
    font-size: 1.6949152542vw;
    margin-top: 2.1186440678vw;
  }
  /* カード */
  .contents [class^=cards] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: bold;
  }
  .contents .cards01 {
    gap: 1.6949152542vw 1.81818%;
  }
  .contents .cards02 {
    gap: 1.6101694915vw 1.72727%;
    margin-bottom: 10.1694915254vw;
  }
  .contents [class^=cards] [class^=card] {
    color: #1c4198;
    background: #fff;
  }
  .contents [class^=cards] [class^=card] .ttl_card {
    color: #000d2c;
    font-size: 2.0338983051vw;
    font-weight: bold;
    text-align: center;
  }
  .contents [class^=cards] [class^=card] .flex {
    display: flex;
    justify-content: space-between;
  }
  /* カード01 */
  .contents [class^=cards] .card01 {
    padding: 3.3898305085vw 5.0847457627vw 5.0847457627vw;
  }
  .contents [class^=cards] .card01 {
    width: 38.183%;
  }
  .contents [class^=cards] .card01 .ttl_card {
    margin-bottom: 2.9661016949vw;
  }
  .contents [class^=cards] .card01 .img {
    width: 6.2711864407vw;
    height: auto;
  }
  .contents [class^=cards] .card01 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card01 .num {
    width: 14.9110169492vw;
    font-size: 7.4576271186vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card01 .year {
    font-size: 2.7118644068vw;
    padding-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card01 .since {
    font-size: 1.6949152542vw;
    text-align: center;
    margin-top: 1.2711864407vw;
  }
  .contents [class^=cards] .card01 .flex {
    gap: 1.6949152542vw;
  }
  .contents [class^=cards] .card01 .flex .flex {
    gap: 0.4237288136vw;
  }
  /* カード02 */
  .contents [class^=cards] .card02 {
    padding: 3.3898305085vw 7.6271186441vw 5.0847457627vw;
  }
  .contents [class^=cards] .card02 {
    width: 60%;
  }
  .contents [class^=cards] .card02 .ttl_card {
    margin-bottom: 2.5423728814vw;
  }
  .contents [class^=cards] .card02 .img {
    width: 9.4915254237vw;
    height: auto;
  }
  .contents [class^=cards] .card02 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card02 .country {
    font-size: 2.0338983051vw;
    white-space: nowrap;
    margin-bottom: 1.2711864407vw;
  }
  .contents [class^=cards] .card02 [class^=num] {
    font-size: 7.4576271186vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card02 .num01 {
    width: 9.6186440678vw;
  }
  .contents [class^=cards] .card02 .num02 {
    width: 5.2940677966vw;
  }
  .contents [class^=cards] .card02 .point {
    font-size: 2.7118644068vw;
    white-space: nowrap;
    padding-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card02 .flex {
    gap: 1.6949152542vw;
  }
  .contents [class^=cards] .card02 .flex .flex {
    gap: 0.4237288136vw;
  }
  /* カード03 */
  .contents [class^=cards] .card03 {
    padding: 3.3898305085vw 3.3898305085vw 4.2372881356vw;
  }
  .contents [class^=cards] .card03 {
    width: 32.18%;
  }
  .contents [class^=cards] .card03 .ttl_card {
    margin-bottom: 3.3898305085vw;
  }
  .contents [class^=cards] .card03 .img {
    width: 8.2203389831vw;
    height: auto;
  }
  .contents [class^=cards] .card03 .flex {
    align-items: center;
  }
  .contents [class^=cards] .card03 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card03 .num {
    width: 11.4076271186vw;
    font-size: 6.1016949153vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card03 .day {
    font-size: 2.7118644068vw;
    padding-bottom: 0.4237288136vw;
  }
  .contents [class^=cards] .card03 .flex {
    gap: 0.8474576271vw;
  }
  .contents [class^=cards] .card03 .flex .flex {
    gap: 0vw;
  }
  /* カード04 */
  .contents [class^=cards] .card04 {
    width: 32.18%;
    padding: 3.3898305085vw 3.3898305085vw 2.9661016949vw;
  }
  .contents [class^=cards] .card04 .ttl_card {
    margin-bottom: 2.5423728814vw;
  }
  .contents [class^=cards] .card04 .img {
    width: 11.4406779661vw;
    height: auto;
  }
  .contents [class^=cards] .card04 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card04 .flex2 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-top: 1.2711864407vw;
    margin-top: 1.2711864407vw;
    border-top: 0.0847457627vw solid #1c4198;
  }
  .contents [class^=cards] .card04 .year {
    font-size: 2.7118644068vw;
    padding-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card04 .num01 {
    width: 4.3313559322vw;
    font-size: 6.1016949153vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card04 .day {
    font-size: 2.7118644068vw;
    padding-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card04 .least {
    font-size: 2.0338983051vw;
    padding-bottom: 0.1694915254vw;
  }
  .contents [class^=cards] .card04 .num02 {
    width: 2.0949152542vw;
    font-size: 2.7118644068vw;
  }
  .contents [class^=cards] .card04 .holiday {
    font-size: 2.0338983051vw;
    padding-bottom: 0.1694915254vw;
  }
  .contents [class^=cards] .card04 .flex {
    gap: 0.4237288136vw;
  }
  .contents [class^=cards] .card04 .flex .flex {
    gap: 0.4237288136vw;
  }
  .contents [class^=cards] .card04 .flex2 {
    gap: 0.4237288136vw;
  }
  /* カード05 */
  .contents [class^=cards] .card05 {
    padding: 3.3898305085vw 2.1186440678vw 3.3898305085vw;
  }
  .contents [class^=cards] .card05 {
    width: 32.18%;
  }
  .contents [class^=cards] .card05 .ttl_card {
    margin-bottom: 2.5423728814vw;
  }
  .contents [class^=cards] .card05 .img {
    width: 8.6440677966vw;
    height: auto;
  }
  .contents [class^=cards] .card05 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card05 [class^=num] {
    font-size: 6.1016949153vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .num01 {
    width: 7.8694915254vw;
  }
  .contents [class^=cards] .card05 .num02 {
    width: 4.3313559322vw;
  }
  .contents [class^=cards] .card05 .dot {
    font-size: 6.1016949153vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .day {
    font-size: 2.7118644068vw;
    padding-bottom: 0.4237288136vw;
  }
  .contents [class^=cards] .card05 .record {
    font-size: 1.3559322034vw;
    text-align: center;
    margin-top: 1.2711864407vw;
  }
  .contents [class^=cards] .card05 .flex {
    gap: 0.4237288136vw;
  }
  .contents [class^=cards] .card05 .flex .flex {
    gap: 0vw;
  }
  /* カード06 */
  .contents [class^=cards] .card06 {
    padding: 3.3898305085vw 5.9322033898vw 3.3898305085vw;
  }
  .contents [class^=cards] .card06 {
    width: 38.183%;
  }
  .contents [class^=cards] .card06 .ttl_card {
    margin-bottom: 2.5423728814vw;
  }
  .contents [class^=cards] .card06 .graph {
    width: 16.9491525424vw;
    margin: 0 auto 1.6949152542vw;
  }
  .contents [class^=cards] .card06 .img01 {
    width: 3.1355932203vw;
    height: 8.1355932203vw;
  }
  .contents [class^=cards] .card06 .img02 {
    width: 3.6440677966vw;
    height: 8.1355932203vw;
  }
  .contents [class^=cards] .card06 .gender {
    font-size: 1.6949152542vw;
    margin-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card06 [class^=num] {
    font-size: 3.3898305085vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card06 .num01 {
    width: 4.8118644068vw;
  }
  .contents [class^=cards] .card06 .num02 {
    width: 4.3720338983vw;
  }
  .contents [class^=cards] .card06 .per {
    font-size: 2.0338983051vw;
    padding-bottom: 0.2542372881vw;
  }
  .contents [class^=cards] .card06 .flex {
    flex-direction: column;
  }
  .contents [class^=cards] .card06 .flex .flex {
    flex-direction: row;
    justify-content: center;
    gap: 2.1186440678vw;
  }
  .contents [class^=cards] .card06 .flex .flex .flex {
    align-items: center;
    gap: 0.8474576271vw;
  }
  .contents [class^=cards] .card06 .flex .flex .flex .flex {
    align-items: flex-end;
    gap: 0.1694915254vw;
  }
  /* カード07 */
  .contents [class^=cards] .card07 {
    padding: 3.3898305085vw 5.9322033898vw 3.3898305085vw;
  }
  .contents [class^=cards] .card07 {
    width: 60%;
  }
  .contents [class^=cards] .card07 .ttl_card {
    width: 60%;
    margin-bottom: 2.5423728814vw;
  }
  .contents [class^=cards] .card07 .graph {
    position: relative;
    width: 27.1186440678vw;
  }
  .contents [class^=cards] .card07 [class^=txt] {
    position: absolute;
    color: #fff;
  }
  .contents [class^=cards] .card07 .txt01 {
    top: 3.9830508475vw;
    right: 6.3559322034vw;
  }
  .contents [class^=cards] .card07 .txt02 {
    top: 13.5593220339vw;
    right: 3.0508474576vw;
  }
  .contents [class^=cards] .card07 .txt03 {
    top: 16.9491525424vw;
    right: 13.1355932203vw;
  }
  .contents [class^=cards] .card07 .txt04 {
    top: 7.8813559322vw;
    left: 2.7966101695vw;
  }
  .contents [class^=cards] .card07 .txt05 {
    top: 2.5423728814vw;
    left: 8.8983050847vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .year {
    font-size: 1.3559322034vw;
    font-feature-settings: "palt";
    margin-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card07 .txt05 .year {
    font-size: 1.186440678vw;
    margin-bottom: 0.593220339vw;
  }
  .contents [class^=cards] .card07 [class^=txt] [class^=num] {
    font-size: 2.7118644068vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .txt02 .num,
  .contents [class^=cards] .card07 .txt03 .num,
  .contents [class^=cards] .card07 .txt04 .num {
    font-size: 3.3898305085vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .per {
    font-size: 2.0338983051vw;
    padding-bottom: 0.2542372881vw;
  }
  .contents [class^=cards] .card07 .txt05 .per {
    font-size: 1.6949152542vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .flex {
    gap: 0.4237288136vw;
  }
  .contents [class^=cards] .card07 .age {
    color: #000d2c;
    font-size: 2.0338983051vw;
    text-align: center;
    margin-bottom: 2.1186440678vw;
  }
  .contents [class^=cards] .card07 .num_age {
    width: 10.4923728814vw;
    font-size: 8.1355932203vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .flex > .year {
    font-size: 2.7118644068vw;
    padding-bottom: 0.8474576271vw;
  }
  .contents [class^=cards] .card07 .flex {
    justify-content: center;
    align-items: center;
    gap: 4.2372881356vw;
  }
  .contents [class^=cards] .card07 .flex .flex {
    align-items: flex-end;
    gap: 0.4237288136vw;
  }
  /* カード08 */
  .contents [class^=cards] .card08 {
    width: 49.092%;
    padding: 3.3898305085vw 0 4.2372881356vw;
  }
  .contents [class^=cards] .card08 .ttl_card {
    padding-right: 1.6949152542vw;
  }
  .contents [class^=cards] .card08 .img {
    width: 6.1016949153vw;
    height: 9.6610169492vw;
  }
  .contents [class^=cards] .card08 [class^=num] {
    font-size: 6.7796610169vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .num01 {
    width: 9.6237288136vw;
  }
  .contents [class^=cards] .card08 .num02 {
    width: 4.8118644068vw;
  }
  .contents [class^=cards] .card08 .dot {
    font-size: 6.7796610169vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .per {
    font-size: 2.7118644068vw;
    padding-bottom: 0.4237288136vw;
  }
  .contents [class^=cards] .card08 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.3559322034vw;
    font-weight: normal;
    text-align: center;
    width: 16.9491525424vw;
    height: 2.3728813559vw;
    margin: 1.6949152542vw auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card08 .flex {
    justify-content: center;
    align-items: center;
    gap: 1.6949152542vw;
  }
  .contents [class^=cards] .card08 .flex .flex {
    align-items: flex-end;
    gap: 0.2542372881vw;
  }
  /* カード09 */
  .contents [class^=cards] .card09 {
    width: 49.092%;
    padding: 3.3898305085vw 0 4.2372881356vw;
  }
  .contents [class^=cards] .card09 .ttl_card {
    padding-right: 1.6949152542vw;
  }
  .contents [class^=cards] .card09 .img {
    width: 9.5762711864vw;
    height: 9.2372881356vw;
  }
  .contents [class^=cards] .card09 [class^=num] {
    font-size: 6.7796610169vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .num01 {
    width: 4.8118644068vw;
  }
  .contents [class^=cards] .card09 .num02 {
    width: 4.8118644068vw;
  }
  .contents [class^=cards] .card09 .dot {
    font-size: 6.7796610169vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .per {
    font-size: 2.7118644068vw;
    padding-bottom: 0.4237288136vw;
  }
  .contents [class^=cards] .card09 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.3559322034vw;
    font-weight: normal;
    text-align: center;
    width: 16.9491525424vw;
    height: 2.3728813559vw;
    margin: 1.6949152542vw auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card09 .flex {
    justify-content: center;
    align-items: center;
    gap: 1.2711864407vw;
  }
  .contents [class^=cards] .card09 .flex .flex {
    align-items: flex-end;
    gap: 0.3389830508vw;
  }
}
@media only screen and (max-width: 768px) {
  /* DATA */
  #data *, #data *::before, #data *::after {
    line-height: 1;
    box-sizing: border-box;
  }
  #data img {
    width: 100%;
    height: auto;
  }
  /* フェードアップ */
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .img.fade-up, .img01.fade-up, .img02.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  .img.fade-up.visible, .img01.fade-up.visible, .img02.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .biz-udpgothic-regular {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  .biz-udpgothic-bold {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .big-shoulders-700 {
    font-family: "Big Shoulders", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
  }
  .counter {
    display: inline-block;
    text-align: center;
  }
  .contents {
    color: #fff;
    background: url(../img/data/data_bg.png) repeat center center #1c4198;
  }
  .contents .inner {
    padding: 16vw 6.6666666667vw;
    margin: 0 auto;
  }
  .contents .ttl_data {
    font-size: 4.8vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 6.6666666667vw;
  }
  .contents .ttl_data:not(:first-of-type) {
    margin-top: 16vw;
  }
  /* メインタイトル */
  .contents .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56vw;
    padding-top: 10.6666666667vw;
    background: url(../img/data/mv_bg_sp.png) repeat center center/cover;
  }
  .contents .ttl_mv {
    font-size: 11.7333333333vw;
    text-align: center;
    line-height: 1;
  }
  .contents .ttl_mv_sub {
    display: block;
    font-size: 3.4666666667vw;
    margin-top: 3.3333333333vw;
  }
  /* カード */
  .contents [class^=cards] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: bold;
  }
  .contents .cards01 {
    gap: 1.3333333333vw;
  }
  .contents .cards02 {
    gap: 1.3333333333vw;
    margin-bottom: 16vw;
  }
  .contents [class^=cards] [class^=card] {
    color: #1c4198;
    background: #fff;
  }
  .contents [class^=cards] [class^=card] .ttl_card {
    color: #000d2c;
    font-size: 3.7333333333vw;
    font-weight: bold;
    text-align: center;
  }
  .contents [class^=cards] [class^=card] .flex {
    display: flex;
    justify-content: space-between;
  }
  /* カード01 */
  .contents [class^=cards] .card01 {
    width: 100%;
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card01 .ttl_card {
    margin-bottom: 5.3333333333vw;
  }
  .contents [class^=cards] .card01 .img {
    width: 9.8666666667vw;
    height: auto;
  }
  .contents [class^=cards] .card01 .flex {
    justify-content: center;
  }
  .contents [class^=cards] .card01 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card01 .num {
    width: 23.46vw;
    font-size: 11.7333333333vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card01 .year {
    font-size: 4.2666666667vw;
    padding-bottom: 1.3333333333vw;
  }
  .contents [class^=cards] .card01 .since {
    font-size: 3.4666666667vw;
    text-align: center;
    margin-top: 2vw;
  }
  .contents [class^=cards] .card01 .flex {
    gap: 2.6666666667vw;
  }
  .contents [class^=cards] .card01 .flex .flex {
    gap: 0.6666666667vw;
  }
  /* カード02 */
  .contents [class^=cards] .card02 {
    width: 100%;
    padding: 5.3333333333vw 1.3333333333vw 8vw;
  }
  .contents [class^=cards] .card02 .ttl_card {
    margin-bottom: 3.3333333333vw;
  }
  .contents [class^=cards] .card02 .img {
    width: 14.9333333333vw;
    height: auto;
  }
  .contents [class^=cards] .card02 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card02 .country {
    font-size: 3.2vw;
    white-space: nowrap;
    margin-bottom: 2vw;
  }
  .contents [class^=cards] .card02 [class^=num] {
    font-size: 11.7333333333vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card02 .num01 {
    width: 15.1333333333vw;
  }
  .contents [class^=cards] .card02 .num02 {
    width: 8.3293333333vw;
  }
  .contents [class^=cards] .card02 .point {
    font-size: 4.2666666667vw;
    white-space: nowrap;
    padding-bottom: 0.6666666667vw;
  }
  .contents [class^=cards] .card02 .flex {
    justify-content: center;
    gap: 2.6666666667vw;
  }
  .contents [class^=cards] .card02 .flex .flex {
    gap: 0.6666666667vw;
  }
  /* カード03 */
  .contents [class^=cards] .card03 {
    padding: 5.3333333333vw 1.3333333333vw 6.6666666667vw;
  }
  .contents [class^=cards] .card03 {
    width: calc(50% - 0.6666666667vw);
  }
  .contents [class^=cards] .card03 .ttl_card {
    margin-bottom: 5.3333333333vw;
  }
  .contents [class^=cards] .card03 .img {
    width: 12.9333333333vw;
    height: auto;
  }
  .contents [class^=cards] .card03 .flex {
    justify-content: center;
    align-items: center;
  }
  .contents [class^=cards] .card03 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card03 .num {
    width: 17.948vw;
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card03 .day {
    font-size: 4.2666666667vw;
    padding-bottom: 0.6666666667vw;
  }
  .contents [class^=cards] .card03 .flex {
    gap: 1.3333333333vw;
  }
  .contents [class^=cards] .card03 .flex .flex {
    gap: 0vw;
  }
  /* カード04 */
  .contents [class^=cards] .card04 {
    width: calc(50% - 0.6666666667vw);
    padding: 5.3333333333vw 1.3333333333vw 4.6666666667vw;
  }
  .contents [class^=cards] .card04 .ttl_card {
    margin-bottom: 4vw;
  }
  .contents [class^=cards] .card04 .img {
    width: 18vw;
    height: 9.0666666667vw;
  }
  .contents [class^=cards] .card04 .flex {
    justify-content: center;
  }
  .contents [class^=cards] .card04 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card04 .flex2 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-top: 2vw;
    margin-top: 2vw;
    border-top: 0.2666666667vw solid #1c4198;
  }
  .contents [class^=cards] .card04 .year {
    font-size: 4.2666666667vw;
    padding-bottom: 0.9333333333vw;
  }
  .contents [class^=cards] .card04 .num01 {
    width: 6.8146666667vw;
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card04 .day {
    font-size: 4.2666666667vw;
    padding-bottom: 0.9333333333vw;
  }
  .contents [class^=cards] .card04 .least {
    font-size: 3.2vw;
    padding-bottom: 0.2666666667vw;
  }
  .contents [class^=cards] .card04 .num02 {
    width: 3.296vw;
    font-size: 4.2666666667vw;
  }
  .contents [class^=cards] .card04 .holiday {
    font-size: 3.2vw;
    padding-bottom: 0.2666666667vw;
  }
  .contents [class^=cards] .card04 .flex {
    gap: 0.6666666667vw;
  }
  .contents [class^=cards] .card04 .flex .flex {
    gap: 0.6666666667vw;
  }
  .contents [class^=cards] .card04 .flex2 {
    gap: 0.6666666667vw;
  }
  /* カード05 */
  .contents [class^=cards] .card05 {
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card05 {
    width: 100%;
  }
  .contents [class^=cards] .card05 .ttl_card {
    margin-bottom: 4vw;
  }
  .contents [class^=cards] .card05 .img {
    width: 13.6vw;
    height: 16vw;
  }
  .contents [class^=cards] .card05 .flex {
    justify-content: center;
  }
  .contents [class^=cards] .card05 .flex .flex {
    align-items: flex-end;
  }
  .contents [class^=cards] .card05 [class^=num] {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .num01 {
    width: 12.3813333333vw;
  }
  .contents [class^=cards] .card05 .num02 {
    width: 6.8146666667vw;
  }
  .contents [class^=cards] .card05 .dot {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card05 .day {
    font-size: 4.2666666667vw;
    padding-bottom: 0.4vw;
  }
  .contents [class^=cards] .card05 .record {
    font-size: 2.9333333333vw;
    text-align: center;
    margin-top: 2vw;
  }
  .contents [class^=cards] .card05 .flex {
    gap: 0.6666666667vw;
  }
  .contents [class^=cards] .card05 .flex .flex {
    gap: 0vw;
  }
  /* カード06 */
  .contents [class^=cards] .card06 {
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card06 {
    width: 100%;
  }
  .contents [class^=cards] .card06 .ttl_card {
    margin-bottom: 4vw;
  }
  .contents [class^=cards] .card06 .graph {
    width: 24vw;
    height: 24vw;
  }
  .contents [class^=cards] .card06 .img01 {
    width: 5.4666666667vw;
    height: auto;
  }
  .contents [class^=cards] .card06 .img02 {
    width: 6.1333333333vw;
    height: auto;
  }
  .contents [class^=cards] .card06 .gender {
    font-size: 3.2vw;
    margin-bottom: 1.6vw;
  }
  .contents [class^=cards] .card06 [class^=num] {
    font-size: 8.5333333333vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card06 .num01 {
    width: 12.1173333333vw;
  }
  .contents [class^=cards] .card06 .num02 {
    width: 11.008vw;
  }
  .contents [class^=cards] .card06 .per {
    font-size: 3.2vw;
    padding-bottom: 0.6666666667vw;
  }
  .contents [class^=cards] .card06 .flex {
    justify-content: center;
    gap: 1.3333333333vw;
  }
  .contents [class^=cards] .card06 .flex .flex {
    gap: 1.3333333333vw;
  }
  .contents [class^=cards] .card06 .flex .flex .flex {
    align-items: center;
    gap: 1.3333333333vw;
  }
  .contents [class^=cards] .card06 .flex .flex .flex .flex {
    align-items: flex-end;
    gap: 0.2666666667vw;
  }
  /* カード07 */
  .contents [class^=cards] .card07 {
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card07 {
    width: 100%;
  }
  .contents [class^=cards] .card07 .ttl_card {
    width: 66%;
    margin-bottom: 4vw;
  }
  .contents [class^=cards] .card07 .graph {
    position: relative;
    width: 42.6666666667vw;
    height: 42.6666666667vw;
  }
  .contents [class^=cards] .card07 [class^=txt] {
    position: absolute;
    color: #fff;
  }
  .contents [class^=cards] .card07 .txt01 {
    top: 8vw;
    right: 8.4vw;
  }
  .contents [class^=cards] .card07 .txt02 {
    top: 22.6666666667vw;
    right: 4.2666666667vw;
  }
  .contents [class^=cards] .card07 .txt03 {
    top: 28vw;
    right: 20vw;
  }
  .contents [class^=cards] .card07 .txt04 {
    top: 13.3333333333vw;
    left: 5.3333333333vw;
  }
  .contents [class^=cards] .card07 .txt05 {
    top: 5.3333333333vw;
    left: 15.3333333333vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .year {
    font-size: 2.1333333333vw;
    font-feature-settings: "palt";
    margin-bottom: 1.3333333333vw;
  }
  .contents [class^=cards] .card07 .txt05 .year {
    font-size: 1.8666666667vw;
    margin-bottom: 0.9333333333vw;
  }
  .contents [class^=cards] .card07 [class^=txt] [class^=num] {
    font-size: 5.3333333333vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .txt02 .num,
  .contents [class^=cards] .card07 .txt03 .num,
  .contents [class^=cards] .card07 .txt04 .num {
    font-size: 6.4vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .per {
    font-size: 3.2vw;
  }
  .contents [class^=cards] .card07 .txt05 .per {
    font-size: 2.6666666667vw;
  }
  .contents [class^=cards] .card07 [class^=txt] .flex {
    gap: 0.6666666667vw;
  }
  .contents [class^=cards] .card07 .age {
    color: #000d2c;
    font-size: 3.2vw;
    text-align: center;
    margin-bottom: 3.3333333333vw;
  }
  .contents [class^=cards] .card07 .num_age {
    width: 16.508vw;
    font-size: 12.8vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card07 .flex > .year {
    font-size: 4.2666666667vw;
    padding-bottom: 1.3333333333vw;
  }
  .contents [class^=cards] .card07 .flex {
    justify-content: center;
    align-items: center;
    gap: 6.6666666667vw;
  }
  .contents [class^=cards] .card07 .flex .flex {
    align-items: flex-end;
    gap: 0.6666666667vw;
  }
  /* カード08 */
  .contents [class^=cards] .card08 {
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card08 {
    width: calc(50% - 0.6666666667vw);
  }
  .contents [class^=cards] .card08 .img {
    width: 9.6vw;
    height: 15.2vw;
  }
  .contents [class^=cards] .card08 [class^=num] {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .num01 {
    width: 13.64vw;
  }
  .contents [class^=cards] .card08 .num02 {
    width: 9.0853333333vw;
  }
  .contents [class^=cards] .card08 .dot {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card08 .per {
    font-size: 4.2666666667vw;
    padding-bottom: 0.6666666667vw;
  }
  .contents [class^=cards] .card08 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2.9333333333vw;
    font-weight: normal;
    text-align: center;
    width: 29.3333333333vw;
    height: 5.3333333333vw;
    margin: 2.6666666667vw auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card08 .flex {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.6666666667vw;
  }
  .contents [class^=cards] .card08 .flex .flex {
    flex-direction: row;
    align-items: flex-end;
    gap: 0.4vw;
  }
  /* カード09 */
  .contents [class^=cards] .card09 {
    padding: 5.3333333333vw 1.3333333333vw 5.3333333333vw;
  }
  .contents [class^=cards] .card09 {
    width: calc(50% - 0.6666666667vw);
  }
  .contents [class^=cards] .card09 .img {
    width: 15.0666666667vw;
    height: 14.5333333333vw;
  }
  .contents [class^=cards] .card09 [class^=num] {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .num01 {
    width: 7.5706666667vw;
  }
  .contents [class^=cards] .card09 .num02 {
    width: 7.5706666667vw;
  }
  .contents [class^=cards] .card09 .dot {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
    font-feature-settings: "palt";
  }
  .contents [class^=cards] .card09 .per {
    font-size: 4.2666666667vw;
    padding-bottom: 0.6666666667vw;
  }
  .contents [class^=cards] .card09 .join {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2.9333333333vw;
    font-weight: normal;
    text-align: center;
    width: 29.3333333333vw;
    height: 5.3333333333vw;
    margin: 2.6666666667vw auto 0;
    background: linear-gradient(90deg, rgb(54, 129, 196) 0%, rgb(46, 184, 218) 100%);
  }
  .contents [class^=cards] .card09 .flex {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.9333333333vw;
  }
  .contents [class^=cards] .card09 .flex .flex {
    flex-direction: row;
    align-items: flex-end;
    gap: 0.5333333333vw;
  }
  @keyframes slide_up {
    0% {
      transform: translateY(4vw);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slide_down {
    0% {
      transform: translateY(-4vw);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slide_left {
    0% {
      transform: translateX(4vw);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes slide_right {
    0% {
      transform: translateX(-4vw);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes fade_in {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  /* -- animation home -- */
  @keyframes title_bg {
    0% {
      left: 0;
      width: 0;
    }
    33% {
      left: 0;
      width: 100%;
    }
    66% {
      left: 0;
      width: 100%;
    }
    to {
      left: 100%;
      width: 0;
    }
  }
  @keyframes title_font {
    0% {
      color: transparent;
    }
    to {
      color: #fff;
    }
  }
  @keyframes title_font_blue {
    0% {
      color: transparent;
    }
    to {
      color: #1c4198;
    }
  }
  @keyframes title_lead_ja {
    0% {
      transform: translateY(-4vw);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes title_lead_en {
    0% {
      opacity: 0;
    }
    to {
      opacity: 0.15;
    }
  }
  @keyframes content_bg {
    0% {
      left: 0;
      width: 0;
    }
    33% {
      left: 0;
      width: 100%;
    }
    66% {
      left: 0;
      width: 100%;
    }
    to {
      left: 100%;
      width: 0;
    }
  }
  @keyframes content_view {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes img_view {
    0% {
      transform: translateX(4vw);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes movie_bg {
    0% {
      left: -100%;
      width: 0;
    }
    33% {
      left: -100%;
      width: 200%;
    }
    66% {
      left: -100%;
      width: 200%;
    }
    to {
      left: -15.6vw;
      width: calc(100% + 15.6vw);
    }
  }
  @keyframes movie_bg_sp {
    0% {
      top: 0;
      height: 0;
    }
    to {
      top: 0;
      height: 100%;
    }
  }
  @keyframes data_head {
    0% {
      top: 0;
      height: 100%;
    }
    to {
      top: 100%;
      height: 0;
    }
  }
  @keyframes works_pop {
    0% {
      transform: scale(1.2);
      opacity: 0;
    }
    to {
      transform: scale(1);
      opacity: 1;
    }
  }
  @keyframes works_fead {
    0% {
      opacity: 0;
    }
    to {
      opacity: 0.5;
    }
  }
  @keyframes employees_fead {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes more_zoom {
    0% {
      transform: scale(0);
    }
    to {
      transform: scale(1);
    }
  }
  @keyframes news_view {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes slide_entry {
    0% {
      transform: translateX(4vw);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  .scroll-flag {
    opacity: 0;
  }
  .slide-up.show {
    animation: slide_up 0.3s forwards linear;
  }
  .slide-down.show {
    animation: slide_down 0.3s forwards linear;
  }
  .fade-in.show {
    animation: fade_in 0.3s forwards linear;
  }
}