@charset "UTF-8";
/* ブレイクポイントと連動している container の幅になる。 */
/* containerにデフォルトで入っているpaddingを設定 */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  vertical-align: bottom; }

*, *:before, *:after {
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.l-wrapper {
  overflow: hidden; }

.l-container {
  margin: 0 auto;
  position: relative;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .l-container.has-border {
    border-right: 1px #00000015 solid;
    border-left: 1px #00000015 solid;
    position: relative; }
    .l-container.has-border:after {
      content: '';
      z-index: -1;
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      height: 100%;
      width: 1px;
      background-color: #00000010; }
  .l-container.is-lg-width {
    max-width: 1280px; }
  .l-container.is-md-width {
    max-width: calc((1040/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .l-container.is-md-width {
        max-width: calc((323/375)*100vw); } }
  .l-container.is-sm-width {
    max-width: 768px; }
  .l-container.is-xs-width {
    max-width: 400px; }
  @media screen and (max-width: 400px) {
    .l-container {
      width: 100%; } }
  @media screen and (min-width: 401px) {
    .l-container {
      width: 100%; } }
  @media screen and (min-width: calc((1040/1280)*100vw) 1) {
    .l-container {
      padding-left: 84px;
      padding-right: 84px; } }
  .l-container.has-padding {
    padding: 0 15px;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .l-container.has-padding {
        padding: 0 20px; } }

.l-liquid-container {
  width: 100%;
  position: relative;
  padding-left: 84px;
  padding-right: 84px;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: calc((1040/1280)*100vw)) {
    .l-liquid-container {
      padding-left: 16px;
      padding-right: 16px; } }

.l-flex-box {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
  .l-flex-box.is-direction-column {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .l-flex-box.is-align-center {
    align-items: center; }
  .l-flex-box.is-align-start {
    align-items: flex-start; }
  .l-flex-box.is-flex-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .l-flex-box.is-justify-center {
    -webkit-justify-content: center;
    justify-content: center; }
  .l-flex-box.is-justify-space-between {
    -webkit-justify-content: space-between;
    justify-content: space-between; }
  .l-flex-box.l-block-sm {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .l-flex-box.l-block-sm {
        display: block; } }

.l-show-sm {
  display: none !important; }

.l-hide-sm {
  display: block !important; }

/* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
@media screen and (max-width: 768px) {
  .l-show-sm {
    display: block !important; }
  .l-hide-sm {
    display: none !important; } }

.u-relative {
  position: relative; }

html {
  font-size: 62.5%;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    html {
      font-size: 50%; } }
  @media (max-width: 350px) {
    html {
      font-size: 42%; } }

body {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  font-feature-settings: 'palt' on;
  line-height: 1.8;
  font-weight: bold;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  font-variant-ligatures: no-common-ligatures; }
  @media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; } }

a {
  color: inherit;
  text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  margin-bottom: 0.5em;
  margin: 0; }

.jp-fonts-main, body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-style: normal; }

.latin-fonts-main {
  font-family: Adrianna, sans-serif;
  font-family: adrianna, sans-serif;
  font-style: normal;
  font-weight: normal; }

::selection {
  background: #000;
  /* WebKit/Blink Browsers */
  color: #fff; }

::-moz-selection {
  background: #000;
  /* Gecko Browsers */
  color: #fff; }

.c-section-title {
  display: flex;
  flex-direction: column; }
  .c-section-title.c-section-title--numbers {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .c-section-title.c-section-title--numbers svg {
      width: 56.5%; }
    @media screen and (max-width: 768px) {
      .c-section-title.c-section-title--numbers svg {
        width: 90%; } }
  .c-section-title .c-section-title__jp {
    margin-bottom: calc((16/1280)*100vw);
    font-size: calc((16/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .c-section-title .c-section-title__jp {
        margin-bottom: calc((8/375)*100vw);
        font-size: calc((13/375)*100vw); } }
    .c-section-title .c-section-title__jp.c-section-title__jp--white {
      color: #fff; }
  .c-section-title svg {
    width: calc((960/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .c-section-title svg {
        width: 100%; } }

.u-textHighlight {
  color: #3C78C8; }

.u-textUnderline {
  text-decoration: underline; }

.animation-decimal svg path {
  opacity: 0; }

.js-animation-fire .animation-decimal svg path {
  animation: show-letter; }

.js-animation-fire .animation-decimal svg path:nth-of-type(1) {
  animation-duration: .18s;
  animation-delay: 0.38s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(2) {
  animation-duration: .18s;
  animation-delay: 0.46s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(3) {
  animation-duration: .18s;
  animation-delay: 0.54s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(4) {
  animation-duration: .18s;
  animation-delay: 0.62s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(5) {
  animation-duration: .18s;
  animation-delay: 0.7s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(6) {
  animation-duration: .18s;
  animation-delay: 0.78s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(7) {
  animation-duration: .18s;
  animation-delay: 0.86s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(8) {
  animation-duration: .18s;
  animation-delay: 0.94s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(9) {
  animation-duration: .18s;
  animation-delay: 1.02s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(10) {
  animation-duration: .18s;
  animation-delay: 1.1s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(11) {
  animation-duration: .18s;
  animation-delay: 1.18s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(12) {
  animation-duration: .18s;
  animation-delay: 1.26s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(13) {
  animation-duration: .18s;
  animation-delay: 1.34s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(14) {
  animation-duration: .18s;
  animation-delay: 1.42s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(15) {
  animation-duration: .18s;
  animation-delay: 1.5s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(16) {
  animation-duration: .18s;
  animation-delay: 1.58s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(17) {
  animation-duration: .18s;
  animation-delay: 1.66s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(18) {
  animation-duration: .18s;
  animation-delay: 1.74s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(19) {
  animation-duration: .18s;
  animation-delay: 1.82s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(20) {
  animation-duration: .18s;
  animation-delay: 1.9s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(21) {
  animation-duration: .18s;
  animation-delay: 1.98s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(22) {
  animation-duration: .18s;
  animation-delay: 2.06s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(23) {
  animation-duration: .18s;
  animation-delay: 2.14s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(24) {
  animation-duration: .18s;
  animation-delay: 2.22s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(25) {
  animation-duration: .18s;
  animation-delay: 2.3s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(26) {
  animation-duration: .18s;
  animation-delay: 2.38s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(27) {
  animation-duration: .18s;
  animation-delay: 2.46s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(28) {
  animation-duration: .18s;
  animation-delay: 2.54s;
  animation-fill-mode: forwards; }

.js-animation-fire .animation-decimal svg path:nth-of-type(29) {
  animation-duration: .18s;
  animation-delay: 2.62s;
  animation-fill-mode: forwards; }

@keyframes show-letter {
  from {
    opacity: 0;
    transform: translateY(80%); }
  to {
    opacity: 1;
    transform: translateY(0px); } }

.animation-typewriter svg path {
  opacity: 0; }

.animation-logo-top svg path {
  opacity: 0; }

.animation-logo-bottom svg path {
  opacity: 0; }

.js-animation-fire .animation-typewriter svg path {
  opacity: 1; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(1) {
  transition: 0s 0.04s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(2) {
  transition: 0s 0.08s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(3) {
  transition: 0s 0.12s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(4) {
  transition: 0s 0.16s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(5) {
  transition: 0s 0.2s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(6) {
  transition: 0s 0.24s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(7) {
  transition: 0s 0.28s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(8) {
  transition: 0s 0.32s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(9) {
  transition: 0s 0.36s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(10) {
  transition: 0s 0.4s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(11) {
  transition: 0s 0.44s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(12) {
  transition: 0s 0.48s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(13) {
  transition: 0s 0.52s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(14) {
  transition: 0s 0.56s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(15) {
  transition: 0s 0.6s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(16) {
  transition: 0s 0.64s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(17) {
  transition: 0s 0.68s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(18) {
  transition: 0s 0.72s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(19) {
  transition: 0s 0.76s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(20) {
  transition: 0s 0.8s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(21) {
  transition: 0s 0.84s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(22) {
  transition: 0s 0.88s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(23) {
  transition: 0s 0.92s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(24) {
  transition: 0s 0.96s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(25) {
  transition: 0s 1s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(26) {
  transition: 0s 1.04s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(27) {
  transition: 0s 1.08s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(28) {
  transition: 0s 1.12s; }

.js-animation-fire .animation-typewriter svg path:nth-of-type(29) {
  transition: 0s 1.16s; }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(1) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(1) {
      transition: 0s 0.44s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(2) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(2) {
      transition: 0s 0.48s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(3) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(3) {
      transition: 0s 0.52s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(4) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(4) {
      transition: 0s 0.56s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(5) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(5) {
      transition: 0s 0.6s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(6) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(6) {
      transition: 0s 0.64s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(7) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(7) {
      transition: 0s 0.68s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(8) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(8) {
      transition: 0s 0.72s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(9) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(9) {
      transition: 0s 0.76s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(10) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(10) {
      transition: 0s 0.8s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(11) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(11) {
      transition: 0s 0.84s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(12) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(12) {
      transition: 0s 0.88s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(13) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(13) {
      transition: 0s 0.92s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(14) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(14) {
      transition: 0s 0.96s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(15) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(15) {
      transition: 0s 1s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(16) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(16) {
      transition: 0s 1.04s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(17) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(17) {
      transition: 0s 1.08s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(18) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(18) {
      transition: 0s 1.12s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(19) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(19) {
      transition: 0s 1.16s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(20) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(20) {
      transition: 0s 1.2s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(21) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(21) {
      transition: 0s 1.24s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(22) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(22) {
      transition: 0s 1.28s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(23) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(23) {
      transition: 0s 1.32s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(24) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(24) {
      transition: 0s 1.36s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(25) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(25) {
      transition: 0s 1.4s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(26) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(26) {
      transition: 0s 1.44s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(27) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(27) {
      transition: 0s 1.48s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(28) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(28) {
      transition: 0s 1.52s; } }

.js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(29) {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (min-width: 769px) {
    .js-animation-fire .animation-typewriter.animation-typewriter--delayed svg path:nth-of-type(29) {
      transition: 0s 1.56s; } }

.js-animation-fire .animation-logo-top svg path {
  opacity: 1; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(1) {
  transition: 0s 0.25s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(2) {
  transition: 0s 0.3s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(3) {
  transition: 0s 0.35s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(4) {
  transition: 0s 0.4s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(5) {
  transition: 0s 0.45s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(6) {
  transition: 0s 0.5s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(7) {
  transition: 0s 0.55s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(8) {
  transition: 0s 0.6s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(9) {
  transition: 0s 0.65s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(10) {
  transition: 0s 0.7s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(11) {
  transition: 0s 0.75s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(12) {
  transition: 0s 0.8s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(13) {
  transition: 0s 0.85s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(14) {
  transition: 0s 0.9s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(15) {
  transition: 0s 0.95s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(16) {
  transition: 0s 1s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(17) {
  transition: 0s 1.05s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(18) {
  transition: 0s 1.1s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(19) {
  transition: 0s 1.15s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(20) {
  transition: 0s 1.2s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(21) {
  transition: 0s 1.25s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(22) {
  transition: 0s 1.3s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(23) {
  transition: 0s 1.35s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(24) {
  transition: 0s 1.4s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(25) {
  transition: 0s 1.45s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(26) {
  transition: 0s 1.5s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(27) {
  transition: 0s 1.55s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(28) {
  transition: 0s 1.6s; }

.js-animation-fire .animation-logo-top svg path:nth-of-type(29) {
  transition: 0s 1.65s; }

.js-animation-fire .animation-logo-bottom svg path {
  opacity: 1; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(1) {
  transition: 0s 0.93s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(2) {
  transition: 0s 0.96s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(3) {
  transition: 0s 0.99s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(4) {
  transition: 0s 1.02s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(5) {
  transition: 0s 1.05s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(6) {
  transition: 0s 1.08s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(7) {
  transition: 0s 1.11s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(8) {
  transition: 0s 1.14s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(9) {
  transition: 0s 1.17s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(10) {
  transition: 0s 1.2s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(11) {
  transition: 0s 1.23s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(12) {
  transition: 0s 1.26s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(13) {
  transition: 0s 1.29s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(14) {
  transition: 0s 1.32s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(15) {
  transition: 0s 1.35s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(16) {
  transition: 0s 1.38s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(17) {
  transition: 0s 1.41s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(18) {
  transition: 0s 1.44s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(19) {
  transition: 0s 1.47s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(20) {
  transition: 0s 1.5s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(21) {
  transition: 0s 1.53s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(22) {
  transition: 0s 1.56s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(23) {
  transition: 0s 1.59s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(24) {
  transition: 0s 1.62s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(25) {
  transition: 0s 1.65s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(26) {
  transition: 0s 1.68s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(27) {
  transition: 0s 1.71s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(28) {
  transition: 0s 1.74s; }

.js-animation-fire .animation-logo-bottom svg path:nth-of-type(29) {
  transition: 0s 1.77s; }

.animation-kv-parts {
  opacity: 0;
  overflow: hidden; }
  .animation-kv-parts a, .animation-kv-parts span {
    width: calc((152/1280)*100vw);
    white-space: nowrap; }
  .animation-kv-parts .animation-header-logo-image {
    min-width: calc((276/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .animation-kv-parts .animation-header-logo-image {
        min-width: calc((200/375)*100vw); } }

.js-animation-fire .animation-kv-parts {
  animation: show-kv-parts;
  animation-duration: .5s;
  animation-delay: 2.2s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.51, 0, 1, 0.85); }

.js-animation-fire .animation-kv-container {
  transform: translateY(1%);
  transition-delay: 2.5s;
  transition-duration: 1s;
  transition-timing-function: ease-in-out; }

.js-animation-fire .animation-intro-text {
  transform: translateY(8vh);
  opacity: 0; }

.js-animation-fire .animation-intro-text {
  animation: show-up-intro;
  animation-duration: 1s;
  animation-delay: 2.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out; }

@keyframes show-kv-parts {
  from {
    opacity: 1;
    width: 0; }
  to {
    opacity: 1;
    width: 100%; } }

.js-animation-content-card {
  opacity: 0; }

.js-animation-fire .js-animation-content-card {
  animation: show-up-normal;
  animation-duration: .3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out; }
  .js-animation-fire .js-animation-content-card:nth-of-type(1) {
    animation-delay: 0.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(2) {
    animation-delay: 0.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(3) {
    animation-delay: 0.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(4) {
    animation-delay: 1s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(5) {
    animation-delay: 1.2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(6) {
    animation-delay: 1.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(7) {
    animation-delay: 1.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(8) {
    animation-delay: 1.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(9) {
    animation-delay: 2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(10) {
    animation-delay: 2.2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(11) {
    animation-delay: 2.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(12) {
    animation-delay: 2.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(13) {
    animation-delay: 2.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(14) {
    animation-delay: 3s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(15) {
    animation-delay: 3.2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(16) {
    animation-delay: 3.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(17) {
    animation-delay: 3.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(18) {
    animation-delay: 3.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(19) {
    animation-delay: 4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(20) {
    animation-delay: 4.2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(21) {
    animation-delay: 4.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(22) {
    animation-delay: 4.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(23) {
    animation-delay: 4.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(24) {
    animation-delay: 5s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(25) {
    animation-delay: 5.2s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(26) {
    animation-delay: 5.4s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(27) {
    animation-delay: 5.6s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(28) {
    animation-delay: 5.8s; }
  .js-animation-fire .js-animation-content-card:nth-of-type(29) {
    animation-delay: 6s; }

.animation-logosGallery {
  opacity: 0;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .animation-logosGallery img {
    min-width: calc((1038/1280)*100vw); }
  @media screen and (max-width: 768px) {
    .animation-logosGallery img {
      min-width: calc((327/375)*100vw); } }

.js-animation-fire .animation-logosGallery {
  animation: show-up-normal;
  animation-duration: .8s;
  animation-delay: .1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out; }

.js-animation-voice-item {
  opacity: 0; }

.js-animation-fire .js-animation-voice-item {
  animation: show-up-normal;
  animation-duration: .4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(1) {
    animation-delay: 0.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(2) {
    animation-delay: 1s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(3) {
    animation-delay: 1.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(4) {
    animation-delay: 1.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(5) {
    animation-delay: 1.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(6) {
    animation-delay: 2s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(7) {
    animation-delay: 2.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(8) {
    animation-delay: 2.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(9) {
    animation-delay: 2.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(10) {
    animation-delay: 3s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(11) {
    animation-delay: 3.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(12) {
    animation-delay: 3.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(13) {
    animation-delay: 3.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(14) {
    animation-delay: 4s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(15) {
    animation-delay: 4.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(16) {
    animation-delay: 4.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(17) {
    animation-delay: 4.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(18) {
    animation-delay: 5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(19) {
    animation-delay: 5.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(20) {
    animation-delay: 5.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(21) {
    animation-delay: 5.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(22) {
    animation-delay: 6s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(23) {
    animation-delay: 6.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(24) {
    animation-delay: 6.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(25) {
    animation-delay: 6.75s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(26) {
    animation-delay: 7s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(27) {
    animation-delay: 7.25s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(28) {
    animation-delay: 7.5s; }
  .js-animation-fire .js-animation-voice-item:nth-of-type(29) {
    animation-delay: 7.75s; }

.js-animation-storyConcept {
  opacity: 0;
  transition-duration: .8s;
  transform: translateX(-30px); }

.js-animation-storyConcept--right {
  transform: translateX(30px); }

.js-animation-storyConcept--bottom {
  transform: translateY(30px);
  opacity: 0;
  transition-duration: 0.7s; }

.js-animation-storyConceptDot {
  opacity: 0;
  transition-duration: .5s; }

.js-animation-fire .js-animation-storyConcept {
  opacity: 1;
  transform: translateX(0px); }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(1) {
    transition-delay: 0.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(2) {
    transition-delay: 1.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(3) {
    transition-delay: 1.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(4) {
    transition-delay: 2.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(5) {
    transition-delay: 2.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(6) {
    transition-delay: 3.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(7) {
    transition-delay: 3.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(8) {
    transition-delay: 4.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(9) {
    transition-delay: 4.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(10) {
    transition-delay: 5.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(11) {
    transition-delay: 5.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(12) {
    transition-delay: 6.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(13) {
    transition-delay: 6.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(14) {
    transition-delay: 7.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(15) {
    transition-delay: 7.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(16) {
    transition-delay: 8.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(17) {
    transition-delay: 8.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(18) {
    transition-delay: 9.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(19) {
    transition-delay: 9.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(20) {
    transition-delay: 10.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(21) {
    transition-delay: 10.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(22) {
    transition-delay: 11.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(23) {
    transition-delay: 11.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(24) {
    transition-delay: 12.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(25) {
    transition-delay: 12.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(26) {
    transition-delay: 13.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(27) {
    transition-delay: 13.7s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(28) {
    transition-delay: 14.2s; }
  .js-animation-fire .js-animation-storyConcept:nth-of-type(29) {
    transition-delay: 14.7s; }

.js-animation-fire .js-animation-storyConcept--bottom {
  opacity: 1;
  transform: translateX(0px);
  transition-delay: 1s; }

.js-animation-fire .js-animation-storyConceptDot {
  opacity: 1; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(1) {
    transition-delay: 0.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(2) {
    transition-delay: 0.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(3) {
    transition-delay: 0.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(4) {
    transition-delay: 0.96s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(5) {
    transition-delay: 1.16s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(6) {
    transition-delay: 1.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(7) {
    transition-delay: 1.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(8) {
    transition-delay: 1.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(9) {
    transition-delay: 1.96s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(10) {
    transition-delay: 2.16s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(11) {
    transition-delay: 2.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(12) {
    transition-delay: 2.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(13) {
    transition-delay: 2.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(14) {
    transition-delay: 2.96s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(15) {
    transition-delay: 3.16s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(16) {
    transition-delay: 3.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(17) {
    transition-delay: 3.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(18) {
    transition-delay: 3.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(19) {
    transition-delay: 3.96s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(20) {
    transition-delay: 4.16s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(21) {
    transition-delay: 4.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(22) {
    transition-delay: 4.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(23) {
    transition-delay: 4.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(24) {
    transition-delay: 4.96s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(25) {
    transition-delay: 5.16s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(26) {
    transition-delay: 5.36s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(27) {
    transition-delay: 5.56s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(28) {
    transition-delay: 5.76s; }
  .js-animation-fire .js-animation-storyConceptDot:nth-of-type(29) {
    transition-delay: 5.96s; }

.js-animation-fire .js-animation-bounce {
  animation: bounce-pikopiko;
  animation-duration: 2.2s;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-timing-function: linear; }

@keyframes bounce-pikopiko {
  0% {
    transform: translateY(0px); }
  5% {
    transform: translateY(-8px); }
  10% {
    transform: translateY(-3px); }
  15% {
    transform: translateY(-8px); }
  20% {
    transform: translateY(0px); }
  100% {
    transform: translateY(0px); } }

@keyframes show-up-normal {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  80% {
    opacity: 1; }
  100% {
    opacity: 1;
    transform: translateY(0px); } }

@keyframes show-up-intro {
  from {
    opacity: 0;
    transform: translateY(8vh); }
  to {
    opacity: 1;
    transform: translateY(0px); } }

.parallax {
  transition-duration: 1.2s; }

.js-comment-gimmick-parent {
  position: relative; }
  .js-comment-gimmick-parent .js-comment-gimmick-target {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
    border-bottom: 2px dashed #3C78C8; }
    @media screen and (max-width: 768px) {
      .js-comment-gimmick-parent .js-comment-gimmick-target {
        display: none; } }
    .js-comment-gimmick-parent .js-comment-gimmick-target .js-comment-gimmick-target__comment {
      position: absolute;
      opacity: 0;
      visibility: hidden;
      padding-top: auto;
      bottom: 20px;
      right: 50%;
      left: 50%;
      transform: translateX(-50%);
      width: calc((400/1280)*100vw); }
      .js-comment-gimmick-parent .js-comment-gimmick-target .js-comment-gimmick-target__comment img {
        width: 100%; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-comment-gimmick-target--01 {
      position: absolute;
      left: 22%;
      top: 18%;
      width: 20vw;
      height: 2vw; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-comment-gimmick-target--02 {
      position: absolute;
      left: 35%;
      bottom: 30%;
      width: 11vw;
      height: 2vw; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-comment-gimmick-target--numbers-01 {
      position: absolute;
      right: 0%;
      top: 0%;
      width: 4em;
      height: 2vw; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-comment-gimmick-target--inline-text {
      position: absolute;
      right: 0%;
      top: 0%;
      width: 100%;
      height: 1.4em; }
    .js-comment-gimmick-parent .js-comment-gimmick-target:after {
      position: absolute;
      content: '';
      width: 100%;
      height: 100%;
      opacity: 0.12;
      background-color: #6494d3; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-show-comment:after {
      opacity: 0.25; }
    .js-comment-gimmick-parent .js-comment-gimmick-target.js-show-comment .js-comment-gimmick-target__comment {
      opacity: 1;
      visibility: visible; }
      .js-comment-gimmick-parent .js-comment-gimmick-target.js-show-comment .js-comment-gimmick-target__comment img {
        animation: show-comment-gimmick;
        animation-fill-mode: forwards;
        animation-duration: 0.3s; }

@keyframes show-comment-gimmick {
  0% {
    transform: translate3d(0, 10px, 0); }
  50% {
    transform: translate3d(0, -10px, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

.header {
  position: relative;
  z-index: 10;
  height: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .header .header__left {
    padding-left: calc((45/1280)*100vw);
    padding-top: calc((34/1280)*100vw);
    flex: 0 0 calc((276/1280)*100vw); }
    .header .header__left img {
      width: 100%; }
  .header .header__right {
    position: fixed;
    top: calc((43/1280)*100vw);
    right: calc((42/1280)*100vw); }
  @media screen and (max-width: 768px) {
    .header .header__left {
      padding-left: calc((24/375)*100vw);
      padding-top: calc((28/375)*100vw);
      flex: 0 0 calc((200/375)*100vw); }
    .header .header__right {
      top: calc((30/375)*100vw);
      right: calc((24/375)*100vw); } }

.headerMenu {
  position: relative;
  z-index: 1;
  cursor: pointer;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .headerMenu .headerMenu__bar {
    width: calc((34/1280)*100vw);
    height: 3px;
    background-color: #000;
    margin-bottom: 6px;
    transition-duration: 0.3s;
    transform-origin: center; }
  .headerMenu:after {
    display: block;
    content: 'menu';
    font-size: calc((13/1280)*100vw);
    letter-spacing: 0.01em;
    line-height: 1;
    transition-duration: 0.3s; }
  @media screen and (max-width: 768px) {
    .headerMenu .headerMenu__bar {
      width: calc((30/375)*100vw);
      height: 2.5px;
      margin-bottom: 5px; }
    .headerMenu:after {
      font-size: calc((11.5/375)*100vw); } }
  .headerMenu.open {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .headerMenu.open .headerMenu__bar:nth-of-type(1) {
      transform: translateY(9px) rotate(30deg); }
    .headerMenu.open .headerMenu__bar:nth-of-type(2) {
      opacity: 0; }
    .headerMenu.open .headerMenu__bar:nth-of-type(3) {
      transform: translateY(-9px) rotate(-30deg); }
    @media screen and (max-width: 768px) {
      .headerMenu.open .headerMenu__bar:nth-of-type(1) {
        transform: translateY(7.5px) rotate(30deg); }
      .headerMenu.open .headerMenu__bar:nth-of-type(2) {
        opacity: 0; }
      .headerMenu.open .headerMenu__bar:nth-of-type(3) {
        transform: translateY(-7.5px) rotate(-30deg); } }
  .headerMenu:hover {
    overflow: visible !important; }
    .headerMenu:hover .headerMenu__bar {
      background-color: #3C78C8; }
    .headerMenu:hover:after {
      color: #3C78C8; }

.menuContainer {
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.3s;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center; }
  .menuContainer.show {
    opacity: 1;
    visibility: visible; }

.menuList {
  width: calc((1040/1280)*100vw);
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: calc((40/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .menuList .menuList__titleJp {
    font-size: calc((16/1280)*100vw); }
  .menuList .menuList__titleEn {
    display: block;
    width: calc((576/1280)*100vw);
    margin-top: calc((6/1280)*100vw); }
    .menuList .menuList__titleEn svg {
      width: 100%; }
      .menuList .menuList__titleEn svg path {
        transition-duration: 0.3s;
        fill: #000; }
    .menuList .menuList__titleEn:hover svg path {
      fill: #3C78C8; }
  @media screen and (max-width: 768px) {
    .menuList {
      grid-template-columns: 1fr;
      gap: calc((16/375)*100vw); }
      .menuList .menuList__titleJp {
        font-size: calc((12/375)*100vw); }
      .menuList .menuList__titleEn {
        width: calc((300/375)*100vw);
        margin-top: calc((4/375)*100vw); } }

.footer {
  background-color: #000;
  color: #fff; }
  .footer .footer__inner {
    padding: calc((90/1280)*100vw) 0 calc((54/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .footer .footer__inner {
        padding: calc((60/375)*100vw) 0 calc((30/375)*100vw); } }
  .footer .footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-top: calc((120/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .footer .footer__bottom {
        display: block;
        margin-top: calc((60/375)*100vw); } }

.footerLogo {
  width: calc((400/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .footerLogo img {
    width: 100%; }
  @media screen and (max-width: 768px) {
    .footerLogo {
      width: calc((254/375)*100vw); } }

.footerButtonToServiceSite {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((270/1280)*100vw);
  height: calc((72/1280)*100vw);
  background-color: #3C78C8;
  font-size: calc((16/1280)*100vw);
  margin-top: calc((70/1280)*100vw);
  transition-duration: .3s;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .footerButtonToServiceSite:hover {
    cursor: pointer;
    background-color: #fff;
    color: #000; }
  @media screen and (max-width: 768px) {
    .footerButtonToServiceSite {
      width: calc((254/375)*100vw);
      height: calc((60/375)*100vw);
      margin-top: calc((40/375)*100vw);
      font-size: calc((13/375)*100vw); } }

.footerCopyright {
  font-size: calc((13/1280)*100vw);
  font-size: calc((13/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .footerCopyright {
      margin-top: calc((40/375)*100vw);
      font-size: calc((11/375)*100vw); } }

.footerMenu {
  display: flex;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .footerMenu {
      display: block; } }
  .footerMenu .footerMenu__item {
    font-size: calc((12/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      .footerMenu .footerMenu__item {
        font-size: calc((11/375)*100vw); } }
    .footerMenu .footerMenu__item:hover {
      color: #3C78C8; }
    .footerMenu .footerMenu__item:not(:last-child) {
      display: flex;
      align-items: center;
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      .footerMenu .footerMenu__item:not(:last-child):after {
        display: block;
        margin-right: 10px;
        margin-left: 10px;
        content: '';
        width: 1px;
        height: 12px;
        background-color: #fff; }
      @media screen and (max-width: 768px) {
        .footerMenu .footerMenu__item:not(:last-child) {
          margin-bottom: calc((7/375)*100vw); }
          .footerMenu .footerMenu__item:not(:last-child):after {
            display: none; } }

#js-loading {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center; }
  #js-loading svg {
    width: calc((200/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      #js-loading svg {
        width: calc((150/375)*100vw); } }

#js-loading.is-loaded {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-100vw); }

#js-page-content {
  display: none; }

#js-page-content.is-loaded {
  display: block; }

.keyvisual-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 92vh;
  background-size: cover;
  background-position: center left;
  transform: translateY(5%);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .keyvisual-container {
      height: 85vh;
      transform: translateY(3%); } }
  .keyvisual-container .background-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc((300/1280)*100vw);
    opacity: 0.5;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .keyvisual-container .background-circle img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      .keyvisual-container .background-circle {
        width: calc((180/375)*100vw); } }
    .keyvisual-container .background-circle.background-circle--01 img {
      animation: circle-move-01 57s linear infinite; }
    .keyvisual-container .background-circle.background-circle--02 img {
      animation: circle-move-02 75s linear infinite; }
    .keyvisual-container .background-circle.background-circle--03 img {
      animation: circle-move-03 44s linear infinite; }
  .keyvisual-container .background-slider {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 91vh;
    width: calc((3000/1280)*100vw);
    transform: translate(-14%, -50%);
    background: url(../images/keyvisual-bg-v2.jpg) repeat-x;
    background-size: 3000px;
    animation: bg-slide 100s linear infinite;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .keyvisual-container .background-slider {
        background: url(../images/keyvisual-bg-v2.jpg) repeat-x;
        height: 467px;
        width: calc((1500/375)*100vw);
        background-size: 1500px;
        animation: bg-slide-sp 100s linear infinite; } }

@keyframes circle-move-01 {
  0% {
    transform: translate3d(-120%, -100%, 0) rotate(0deg); }
  33% {
    transform: translate3d(-30%, 100%, 0) rotate(120deg); }
  66% {
    transform: translate3d(110%, -50%, 0) rotate(240deg); }
  100% {
    transform: translate3d(-120%, -100%, 0) rotate(360deg); } }

@keyframes circle-move-02 {
  0% {
    transform: translate3d(110%, -60%, 0) rotate(0deg); }
  33% {
    transform: translate3d(-50%, 100%, 0) rotate(120deg); }
  66% {
    transform: translate3d(-90%, -100%, 0) rotate(240deg); }
  100% {
    transform: translate3d(110%, -60%, 0) rotate(360deg); } }

@keyframes circle-move-03 {
  0% {
    transform: translate3d(40%, 90%, 0) rotate(0deg); }
  33% {
    transform: translate3d(-80%, 40%, 0) rotate(120deg); }
  66% {
    transform: translate3d(-120%, -120%, 0) rotate(240deg); }
  100% {
    transform: translate3d(40%, 90%, 0) rotate(360deg); } }

@keyframes bg-slide {
  0% {
    background-position: left; }
  100% {
    background-position: calc((-3000/1280)*100vw); } }

@keyframes bg-slide-sp {
  0% {
    background-position: left; }
  100% {
    background-position: calc((-1500/375)*100vw); } }

.big-three {
  position: absolute;
  width: 100vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .big-three {
      width: 178vw; } }

.title {
  margin: 0; }
  .title .title__top, .title .title__bottom {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateY(27%);
    margin: auto;
    width: calc((582/1280)*100vw);
    height: calc((284/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .title .title__top img, .title .title__top svg, .title .title__bottom img, .title .title__bottom svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
    @media screen and (max-width: 768px) {
      .title .title__top, .title .title__bottom {
        width: calc((310/375)*100vw);
        height: calc((284/1280)*100vw);
        transform: translateY(6%); } }
  .title .title__top .linkToServiceSite {
    z-index: 10;
    position: absolute;
    top: 0;
    left: calc((666/1280)*100vw);
    bottom: 0;
    margin: auto;
    font-size: calc((12/1280)*100vw);
    letter-spacing: 0;
    line-height: 1;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .title .title__top .linkToServiceSite a {
      color: #3C78C8;
      text-decoration: underline;
      cursor: pointer; }
      .title .title__top .linkToServiceSite a:hover {
        cursor: pointer;
        color: #000; }
    .title .title__top .linkToServiceSite span {
      display: block;
      margin-top: calc((6/1280)*100vw);
      font-size: calc((10.5/1280)*100vw); }
    @media screen and (max-width: 768px) {
      .title .title__top .linkToServiceSite {
        right: auto;
        left: 0;
        top: calc((200/375)*100vw);
        margin: 0;
        font-size: calc((11/375)*100vw); }
        .title .title__top .linkToServiceSite span {
          margin-top: calc((5/375)*100vw); } }

.introduction {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .introduction {
      margin-top: calc((-25/375)*100vw); } }

.intro-text {
  padding-left: calc((230/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .intro-text img {
    width: calc((600/1280)*100vw); }
  @media screen and (max-width: 768px) {
    .intro-text {
      padding-left: 0; }
      .intro-text img {
        width: 100%; } }

.contents {
  background-color: #EAEBEC; }

.contentsList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: calc((32/1280)*100vw);
  padding-top: calc((120/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .contentsList {
      grid-template-columns: 1fr; } }

.contentCard {
  background-color: #fff;
  padding-top: calc((36/1280)*100vw);
  padding-bottom: calc((24/1280)*100vw);
  text-align: center;
  transform-origin: 50% 50%;
  transition-duration: 0.3s;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .contentCard {
      display: flex;
      flex-direction: row;
      align-items: center;
      padding: calc((12/375)*100vw);
      height: calc((90/375)*100vw); } }
  .contentCard:after {
    opacity: 0;
    display: block;
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: 20px;
    margin: auto;
    border-top: 26px solid #3C78C8;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    transition-duration: 0.3s; }
  .contentCard:hover {
    position: relative;
    transform: translateX(0px) translateY(-10px); }
    .contentCard:hover:after {
      opacity: 1;
      transform: translateX(0px) translateY(15px); }
    .contentCard:hover h2 {
      color: #3C78C8; }
    .contentCard:hover img {
      transform: scale(0.96); }
  .contentCard img {
    width: calc((160/1280)*100vw);
    transition-duration: 0.3s;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .contentCard img {
        width: calc((75/375)*100vw);
        padding-right: calc((12/375)*100vw); } }
  .contentCard .contentCard__text {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .contentCard .contentCard__text h2 {
      font-size: calc((22/1280)*100vw);
      margin: calc((14/1280)*100vw) 0 0;
      line-height: 1.3;
      transition-duration: 0.3s; }
    .contentCard .contentCard__text p {
      margin-top: 5px;
      font-size: calc((12/1280)*100vw);
      color: #3C78C8;
      font-weight: bold;
      letter-spacing: 0; }
    @media screen and (max-width: 768px) {
      .contentCard .contentCard__text {
        text-align: left; }
        .contentCard .contentCard__text h2 {
          margin: calc((6/375)*100vw) 0 0;
          font-size: calc((18/375)*100vw); }
        .contentCard .contentCard__text p {
          font-size: calc((10/375)*100vw);
          margin-top: 0; } }

.hubbleInNumbersContainer {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .hubbleInNumbersContainer {
      padding-top: calc((72/375)*100vw);
      padding-bottom: calc((72/375)*100vw); } }

.inNumbersTitle {
  display: flex;
  flex-direction: column;
  margin-bottom: calc((8/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .inNumbersTitle {
      margin-bottom: calc((10/375)*100vw); } }
  .inNumbersTitle .inNumbersTitle__jp {
    font-size: calc((18/1280)*100vw);
    line-height: 1.6;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .inNumbersTitle .inNumbersTitle__jp {
        font-size: calc((13/375)*100vw); } }
  .inNumbersTitle .inNumbersTitle__en {
    font-size: calc((16/1280)*100vw);
    letter-spacing: 0;
    line-height: 1.5;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .inNumbersTitle .inNumbersTitle__en {
        font-size: calc((11/375)*100vw); } }
  .inNumbersTitle.inNumbersTitle--horizontal {
    flex-direction: row;
    align-items: center;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .inNumbersTitle.inNumbersTitle--horizontal {
        flex-direction: column;
        align-items: flex-start; } }
    .inNumbersTitle.inNumbersTitle--horizontal .inNumbersTitle__jp {
      margin-right: 2em; }
    .inNumbersTitle.inNumbersTitle--horizontal .inNumbersTitle__en {
      line-height: 1.5; }

.totalDocuments {
  margin-top: calc((90/1280)*100vw); }
  .totalDocuments .totalDocuments__number svg {
    width: 89.6%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .totalDocuments .totalDocuments__number svg {
        width: 100%;
        margin-top: calc((8/375)*100vw); } }
  .totalDocuments .totalDocuments__desc {
    margin-top: calc((10/1280)*100vw);
    font-size: calc((16/1280)*100vw);
    width: 50%;
    margin-left: auto;
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .totalDocuments .totalDocuments__desc {
        width: 75%;
        margin-top: calc((12/375)*100vw);
        font-size: calc((12/375)*100vw); } }

.totalVersions .totalVersions__number svg {
  width: calc((384/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .totalVersions .totalVersions__number svg {
      width: calc((138/375)*100vw); } }

.totalAccounts .totalAccounts__number svg {
  width: calc((300/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .totalAccounts .totalAccounts__number svg {
      width: calc((108/375)*100vw); } }

.averageDocument .averageDocument__number svg {
  width: calc((236/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .averageDocument .averageDocument__number svg {
      width: calc((85/375)*100vw); } }

.persistenceRate .persistenceRate__number svg {
  width: calc((243/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .persistenceRate .persistenceRate__number svg {
      width: calc((87.5/375)*100vw); } }

.maxVersions .maxVersions__number svg {
  width: calc((110/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .maxVersions .maxVersions__number svg {
      width: calc((39.6/375)*100vw); } }

.numbersGridLayout {
  display: grid;
  grid-template-columns: 50% 50%; }
  .numbersGridLayout svg {
    margin-top: calc((10/1280)*100vw); }
  .numbersGridLayout .numbersGridLayout__01 {
    grid-column: 1 / 3; }
  .numbersGridLayout .numbersGridLayout__02,
  .numbersGridLayout .numbersGridLayout__04,
  .numbersGridLayout .numbersGridLayout__06 {
    grid-column: 1 / 2; }
  .numbersGridLayout .numbersGridLayout__03,
  .numbersGridLayout .numbersGridLayout__05 {
    grid-column: 2 / 3; }
  .numbersGridLayout .numbersGridLayout__02, .numbersGridLayout .numbersGridLayout__03 {
    margin-top: calc((80/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .numbersGridLayout .numbersGridLayout__02, .numbersGridLayout .numbersGridLayout__03 {
        margin-top: calc((50/375)*100vw); } }
  .numbersGridLayout .numbersGridLayout__04, .numbersGridLayout .numbersGridLayout__05, .numbersGridLayout .numbersGridLayout__06 {
    margin-top: calc((45/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .numbersGridLayout .numbersGridLayout__04, .numbersGridLayout .numbersGridLayout__05, .numbersGridLayout .numbersGridLayout__06 {
        margin-top: calc((36/375)*100vw); } }

.slider-contaienr {
  display: flex;
  align-items: center;
  background-color: #3C78C8; }

.slider {
  animation: loop-slide 40s infinite linear 1s both; }
  .slider img {
    vertical-align: bottom;
    width: 2304px;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .slider img {
        width: 1400px; } }
  .slider .slider--black img {
    width: 2000px;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .slider .slider--black img {
        width: 1200px; } }

@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

.stories-container {
  padding-top: calc((100/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .stories-container {
      padding-top: calc((72/375)*100vw); } }

.anchor-links {
  padding-top: calc((60/1280)*100vw);
  display: flex;
  width: 100%;
  flex-wrap: wrap; }
  .anchor-links > * {
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    width: calc((220/1280)*100vw);
    height: calc((70/1280)*100vw);
    border-radius: calc((35/1280)*100vw);
    font-weight: bold;
    font-size: calc((18/1280)*100vw);
    color: #fff;
    transition-duration: 0.3s;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .anchor-links > * {
        font-size: calc((12/375)*100vw);
        flex: 0 0 calc((148/375)*100vw);
        margin-top: calc((12/375)*100vw);
        margin-right: calc((12/375)*100vw);
        height: calc((40/375)*100vw);
        border-radius: calc((20/375)*100vw); } }
    .anchor-links > *:hover {
      background-color: #3C78C8; }

.storyTitle {
  width: calc((360/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .storyTitle {
      width: calc((258/375)*100vw); } }
  .storyTitle img {
    width: 100%; }

.story-01 {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((60/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .story-01 {
      padding-top: calc((60/375)*100vw);
      padding-bottom: calc((60/375)*100vw); } }
  .story-01 .story-01-header {
    display: flex;
    justify-content: space-between;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .story-01 .story-01-header {
        display: block; } }
    .story-01 .story-01-header .story-01-header-text {
      width: 50%;
      padding-top: calc((50/1280)*100vw);
      font-weight: bold;
      font-size: calc((18/1280)*100vw);
      text-align: justify;
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .story-01 .story-01-header .story-01-header-text {
          width: 100%;
          font-size: calc((13/375)*100vw); } }

.story-02 .story-01-header {
  display: flex;
  justify-content: space-between; }
  .story-02 .story-01-header .story-01-header-text {
    width: 50%;
    padding-top: calc((50/1280)*100vw);
    font-weight: bold;
    font-size: calc((18/1280)*100vw); }

.storyOrigin {
  margin-top: calc((48/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .storyOrigin {
      margin-top: calc((40/375)*100vw); } }

.storyOriginBlock {
  position: relative;
  width: calc((666/1280)*100vw);
  display: flex;
  margin-top: calc((30/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .storyOriginBlock {
      width: 100%;
      margin-top: calc((24/375)*100vw); } }
  .storyOriginBlock .storyOriginBlock__image {
    flex: 0 0 calc((120/1280)*100vw);
    height: calc((120/1280)*100vw);
    border-radius: 50%;
    overflow: hidden;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginBlock .storyOriginBlock__image {
        flex: 0 0 calc((54/375)*100vw);
        height: calc((54/375)*100vw); } }
    .storyOriginBlock .storyOriginBlock__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .storyOriginBlock .storyOriginBlock__name {
    position: absolute;
    left: 0;
    top: calc((130/1280)*100vw);
    color: #000;
    z-index: 1000;
    width: calc((120/1280)*100vw);
    text-align: center;
    font-size: calc((13/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginBlock .storyOriginBlock__name {
        top: calc((56/375)*100vw);
        width: calc((54/375)*100vw);
        white-space: nowrap;
        font-size: calc((10/375)*100vw); } }
  .storyOriginBlock .storyOriginBlock__text {
    position: relative;
    flex: 1 1 50%;
    padding: calc((24/1280)*100vw) calc((28/1280)*100vw);
    background-color: #F4F4F4;
    font-size: calc((15/1280)*100vw);
    font-weight: bold;
    border-radius: 30px;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginBlock .storyOriginBlock__text {
        font-size: calc((12/375)*100vw);
        border-radius: calc((15/375)*100vw);
        padding: calc((12/375)*100vw) calc((16/375)*100vw); } }
    .storyOriginBlock .storyOriginBlock__text .storyOriginBlock__triangle {
      position: absolute;
      top: 40px;
      border-top: 20px solid transparent;
      border-right: 34.64px solid #F4F4F4;
      border-bottom: 20px solid transparent; }
    .storyOriginBlock .storyOriginBlock__text span.highlight {
      color: #3C78C8; }
  .storyOriginBlock.storyOriginBlock--01 .storyOriginBlock__image {
    margin-right: calc((48/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginBlock.storyOriginBlock--01 .storyOriginBlock__image {
        margin-right: calc((25/375)*100vw); } }
  .storyOriginBlock.storyOriginBlock--02 {
    margin-left: auto; }
    .storyOriginBlock.storyOriginBlock--02 .storyOriginBlock__image {
      margin-left: calc((48/1280)*100vw);
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .storyOriginBlock.storyOriginBlock--02 .storyOriginBlock__image {
          margin-left: calc((25/375)*100vw); } }
    .storyOriginBlock.storyOriginBlock--02 .storyOriginBlock__name {
      right: 0;
      left: auto; }
  .storyOriginBlock.storyOriginBlock--03 .storyOriginBlock__image {
    margin-right: calc((48/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginBlock.storyOriginBlock--03 .storyOriginBlock__image {
        margin-right: calc((25/375)*100vw); } }
  .storyOriginBlock.storyOriginBlock--01 .storyOriginBlock__triangle, .storyOriginBlock.storyOriginBlock--03 .storyOriginBlock__triangle {
    left: -20px; }
  .storyOriginBlock.storyOriginBlock--02 .storyOriginBlock__triangle {
    right: -20px;
    transform: rotate(180deg); }

.storyOriginalConcept {
  position: relative;
  margin-top: calc((60/1280)*100vw);
  padding: calc((90/1280)*100vw) calc((160/1280)*100vw) calc((60/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .storyOriginalConcept {
      padding: 0;
      margin-top: calc((100/375)*100vw); } }
  .storyOriginalConcept .storyOriginalConcept__dots {
    position: absolute;
    right: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 13px;
    margin: auto;
    top: -0.78125vw;
    display: flex;
    flex-direction: column;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginalConcept .storyOriginalConcept__dots {
        width: 8px;
        top: -60px; } }
    .storyOriginalConcept .storyOriginalConcept__dots .storyOriginalConcept__dot {
      width: 13px;
      height: 13px;
      background-color: #000;
      border-radius: 50%;
      margin-bottom: 18px;
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      .storyOriginalConcept .storyOriginalConcept__dots .storyOriginalConcept__dot:nth-of-type(2n) {
        background-color: #3C78C8; }
      @media screen and (max-width: 768px) {
        .storyOriginalConcept .storyOriginalConcept__dots .storyOriginalConcept__dot {
          width: 8px;
          height: 8px;
          margin-bottom: 12px; } }
  .storyOriginalConcept .storyOriginalConcept__label {
    width: 9.375vw;
    margin-bottom: 20px;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .storyOriginalConcept .storyOriginalConcept__label img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      .storyOriginalConcept .storyOriginalConcept__label {
        width: 21.33333vw; } }
  .storyOriginalConcept .storyOriginalConcept__title {
    margin: 0 0 calc((20/1280)*100vw);
    font-weight: bold;
    font-size: 2.8125vw;
    line-height: 160%;
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginalConcept .storyOriginalConcept__title {
        font-size: 6.4vw;
        margin-bottom: 5.33333vw; } }
  .storyOriginalConcept .storyOriginalConcept__paragraph {
    font-weight: bold;
    font-size: 1.25vw;
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .storyOriginalConcept .storyOriginalConcept__paragraph {
        font-size: 3.2vw; } }

.story02 {
  background-color: #EAEBEC; }

.story02Flex {
  display: flex;
  padding: calc((95/1280)*100vw) 0 calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .story02Flex .story02Flex__left {
    flex: 1 1 50%; }
  .story02Flex .story02Flex__right {
    flex: 1 1 50%; }
  @media screen and (max-width: 768px) {
    .story02Flex {
      padding: calc((60/375)*100vw) 0;
      display: block; } }

.story02Body {
  padding-top: calc((50/1280)*100vw);
  font-weight: bold;
  font-size: calc((18/1280)*100vw);
  text-align: justify;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .story02Body {
      font-size: calc((13/375)*100vw);
      padding-top: calc((27/375)*100vw); } }

.story02Body__github {
  display: flex;
  margin-top: calc((32/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .story02Body__github {
      margin-top: calc((30/375)*100vw); } }
  .story02Body__github .story02Body__github__logo {
    flex: 0 0 calc((85/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .story02Body__github .story02Body__github__logo {
        flex: 0 0 calc((70/375)*100vw); } }
    .story02Body__github .story02Body__github__logo img {
      width: 100%; }
  .story02Body__github p {
    font-size: calc((14/1280)*100vw);
    margin-left: calc((24/1280)*100vw);
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .story02Body__github p {
        font-size: calc((11/375)*100vw); } }

.aboutLogos {
  padding-bottom: calc((100/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .aboutLogos {
      padding-bottom: calc((80/375)*100vw); } }
  .aboutLogos .aboutLogos__gallery {
    margin-top: calc((60/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .aboutLogos .aboutLogos__gallery {
        margin-top: calc((50/375)*100vw); } }
    .aboutLogos .aboutLogos__gallery img {
      width: 100%; }
  .aboutLogos .aboutLogo__halfContainer {
    width: 50%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .aboutLogos .aboutLogo__halfContainer {
        width: 100%; } }
  .aboutLogos .aboutLogos__desc {
    margin-top: calc((80/1280)*100vw);
    font-size: calc((18/1280)*100vw);
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .aboutLogos .aboutLogos__desc {
        font-size: calc((13/375)*100vw);
        margin-top: calc((60/375)*100vw); } }
  .aboutLogos .aboutLogos__conceptList {
    margin-top: calc((60/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .aboutLogos .aboutLogos__conceptList {
        margin-top: calc((40/375)*100vw); } }
  .aboutLogos .aboutLogos__conceptListItem {
    margin-top: calc((30/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .aboutLogos .aboutLogos__conceptListItem {
        margin-top: calc((30/375)*100vw); } }

.logoConcept {
  display: flex; }
  .logoConcept .logoConcept__index {
    flex: 0 0 calc((32/1280)*100vw);
    height: calc((32/1280)*100vw);
    font-size: calc((16/1280)*100vw);
    color: #fff;
    background-color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .logoConcept .logoConcept__index {
        flex: 0 0 calc((27/375)*100vw);
        height: calc((27/375)*100vw);
        font-size: calc((13/375)*100vw); } }
  .logoConcept .logoConcept__text {
    margin-left: calc((10/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .logoConcept .logoConcept__text {
        margin-left: calc((10/375)*100vw); } }
  .logoConcept .logoConcept__title {
    font-size: calc((24/1280)*100vw);
    line-height: 160%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .logoConcept .logoConcept__title {
        font-size: calc((18/375)*100vw); } }
  .logoConcept .logoConcept__desc {
    margin-top: calc((6/1280)*100vw);
    font-size: calc((14/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .logoConcept .logoConcept__desc {
        font-size: calc((11/375)*100vw); } }

.story03Header {
  padding-top: calc((100/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .story03Header {
      padding-top: calc((60/375)*100vw); } }

.aboutLogos__wireframeLogo {
  margin: calc((36/1280)*100vw) auto 0;
  width: calc((206/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .aboutLogos__wireframeLogo img {
    width: 100%; }
  @media screen and (max-width: 768px) {
    .aboutLogos__wireframeLogo {
      width: calc((150/375)*100vw);
      margin-top: calc((30/375)*100vw); } }

@keyframes burabura {
  0% {
    transform: rotate(0deg);
    animation-timing-function: ease-out; }
  25% {
    transform: rotate(-8deg);
    animation-timing-function: ease-in-out; }
  75% {
    transform: rotate(8deg);
    animation-timing-function: ease-in; }
  100% {
    transform: rotate(0deg); } }

.wideImage {
  position: relative; }
  .wideImage .wideImage__visual {
    position: relative;
    height: calc((520/1280)*100vw);
    overflow: hidden;
    width: 100%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .wideImage .wideImage__visual img {
      position: absolute;
      z-index: 0;
      width: 100%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      object-fit: cover; }
    @media screen and (max-width: 768px) {
      .wideImage .wideImage__visual {
        height: calc((250/375)*100vw); } }
  .wideImage .wideImage__rabbit {
    position: absolute;
    top: 15%;
    right: 15%;
    z-index: 1;
    width: calc((80/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .wideImage .wideImage__rabbit img {
      animation: burabura linear 4s infinite;
      width: 100%; }
    @media screen and (max-width: 768px) {
      .wideImage .wideImage__rabbit {
        width: calc((45/375)*100vw);
        top: 20%;
        right: 10%; } }

.history {
  background-color: #3C78C8; }

.historyContainer {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .historyContainer {
      padding-top: calc((72/375)*100vw);
      padding-bottom: calc((72/375)*100vw); } }

.historyDescription {
  margin-top: -1.8em;
  margin-left: auto;
  width: 50%;
  font-size: calc((18/1280)*100vw);
  color: #fff;
  text-align: justify;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .historyDescription {
      width: 100%;
      margin-left: 0;
      margin-top: calc((40/375)*100vw);
      font-size: calc((13/375)*100vw); } }

.historyContent {
  position: relative;
  margin-top: calc((72/1280)*100vw);
  padding-top: calc((25/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .historyContent {
      padding-top: 0;
      padding-top: calc((10/375)*100vw);
      margin-top: calc((50/375)*100vw); } }

.historyGraph {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%; }
  .historyGraph:after {
    z-index: 0;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 3px;
    height: 100%;
    background-color: #000; }
  .historyGraph .historyGraph__step {
    z-index: 1;
    margin-bottom: calc((64/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyGraph .historyGraph__step {
        display: none; } }
    .historyGraph .historyGraph__step.historyGraph__step--year {
      width: calc((100/1280)*100vw); }
      .historyGraph .historyGraph__step.historyGraph__step--year img {
        width: 100%; }
    .historyGraph .historyGraph__step.historyGraph__step--dot {
      width: calc((9/1280)*100vw);
      height: calc((9/1280)*100vw);
      border-radius: 50%;
      background: #000; }
    .historyGraph .historyGraph__step.historyGraph__step--circle {
      position: relative;
      width: calc((23/1280)*100vw);
      height: calc((23/1280)*100vw);
      border-radius: 50%;
      background: #3C78C8;
      border: 3px solid #000000;
      box-sizing: border-box; }
      .historyGraph .historyGraph__step.historyGraph__step--circle.historyGraph__step--circle--triangleLeft:after {
        position: absolute;
        top: calc((-9/1280)*100vw);
        left: calc((-80/1280)*100vw);
        content: '';
        display: block;
        width: 30px;
        height: 35px;
        background: url("../images/history_triangle.png");
        background-size: contain; }
      .historyGraph .historyGraph__step.historyGraph__step--circle.historyGraph__step--circle--triangleRight:after {
        position: absolute;
        top: calc((-9/1280)*100vw);
        right: calc((-80/1280)*100vw);
        transform: rotate(180deg);
        content: '';
        display: block;
        width: 30px;
        height: 35px;
        background: url("../images/history_triangle.png");
        background-size: contain; }

.historyList {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .historyList .historyList__item {
    position: relative;
    z-index: 1;
    width: 50%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyList .historyList__item {
        width: 100%;
        margin-top: calc((40/375)*100vw);
        margin-bottom: calc((80/375)*100vw); } }
    .historyList .historyList__item.historyList__item--right {
      margin-left: auto; }
    .historyList .historyList__item.historyList__item--wide {
      width: 100%; }
    .historyList .historyList__item.historyList__item--01 {
      height: calc((200/1280)*100vw);
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .historyList .historyList__item.historyList__item--01 {
          height: auto; } }
    .historyList .historyList__item.historyList__item--03 {
      height: calc((200/1280)*100vw);
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .historyList .historyList__item.historyList__item--03 {
          height: auto; } }
    .historyList .historyList__item.historyList__item--last {
      margin-top: calc((80/1280)*100vw);
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .historyList .historyList__item.historyList__item--last {
          margin-top: calc((80/375)*100vw);
          height: auto;
          margin-bottom: 0; } }

.historyCard {
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .historyCard:before {
      position: absolute;
      top: calc((-54/375)*100vw);
      right: 0;
      left: 0;
      margin: auto;
      display: flex;
      content: '2018';
      align-items: center;
      justify-content: center;
      color: #fff;
      background-color: #000;
      height: calc((32/375)*100vw);
      width: calc((60/375)*100vw);
      font-size: calc((18/375)*100vw); }
    .historyCard.historyCard--2019:before {
      content: "2019"; }
    .historyCard.historyCard--2020:before {
      content: "2020"; }
    .historyCard.historyCard--2021:before {
      content: "2021"; }
    .historyCard.historyCard--2022:before {
      content: "2022"; } }
  .historyCard.historyCard--left {
    padding-right: calc((88/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard.historyCard--left {
        padding-right: 0; } }
  .historyCard.historyCard--right {
    padding-left: calc((88/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard.historyCard--right {
        padding-left: 0; } }
  .historyCard .historyCard__inner {
    background-color: #fff;
    padding: calc((30/1280)*100vw) calc((38/1280)*100vw) calc((50/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard .historyCard__inner {
        padding: calc((26/375)*100vw); } }
  .historyCard .historyCard__date {
    margin-bottom: calc((18/1280)*100vw);
    font-size: calc((16/1280)*100vw);
    line-height: 160%;
    color: #3C78C8;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard .historyCard__date {
        font-size: calc((12/375)*100vw); } }
  .historyCard .historyCard__title {
    margin-bottom: calc((30/1280)*100vw);
    line-height: 160%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard .historyCard__title {
        margin-bottom: calc((16/375)*100vw); }
        .historyCard .historyCard__title svg {
          width: 100%; } }
    .historyCard .historyCard__title.historyCard__title--large {
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      .historyCard .historyCard__title.historyCard__title--large svg {
        width: calc((358/1280)*100vw); }
      @media screen and (max-width: 768px) {
        .historyCard .historyCard__title.historyCard__title--large {
          margin-top: calc((14/375)*100vw); }
          .historyCard .historyCard__title.historyCard__title--large svg {
            width: 110%; } }
  .historyCard .historyCard__image {
    margin-bottom: calc((27/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .historyCard .historyCard__image img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      .historyCard .historyCard__image {
        margin-bottom: calc((16/375)*100vw); } }
  .historyCard .historyCard__desc {
    font-size: calc((14/1280)*100vw);
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .historyCard .historyCard__desc {
        font-size: calc((12/375)*100vw); } }
    .historyCard .historyCard__desc.historyCard__desc--left {
      width: 50%;
      margin-left: auto;
      margin-top: calc((-140/1280)*100vw);
      padding-bottom: calc((30/1280)*100vw);
      font-size: calc((18/1280)*100vw);
      /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
      @media screen and (max-width: 768px) {
        .historyCard .historyCard__desc.historyCard__desc--left {
          width: 100%;
          margin-top: calc((32/375)*100vw);
          font-size: calc((14/375)*100vw); } }

.voices {
  background-color: #F0F2F3; }

.voices-container {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .voices-container {
      padding-top: calc((72/375)*100vw);
      padding-bottom: calc((72/375)*100vw); } }

.voiceBlock {
  margin-top: calc((72/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .voiceBlock .voiceBlock__title {
    width: calc((786/1280)*100vw);
    margin-bottom: calc((24/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .voiceBlock .voiceBlock__title img {
      width: 100%;
      vertical-align: bottom; }
    @media screen and (max-width: 768px) {
      .voiceBlock .voiceBlock__title {
        width: 100%;
        margin-bottom: calc((12/375)*100vw); } }
  .voiceBlock .voiceBlock__content {
    position: relative;
    background-size: calc((500/1280)*100vw);
    background-repeat: no-repeat;
    background-position: center center; }
    .voiceBlock .voiceBlock__content .voiceBlock__rabbit {
      position: absolute; }
      .voiceBlock .voiceBlock__content .voiceBlock__rabbit img {
        width: calc((64/1280)*100vw);
        /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
        @media screen and (max-width: 768px) {
          .voiceBlock .voiceBlock__content .voiceBlock__rabbit img {
            width: calc((36/375)*100vw); } }
  .voiceBlock.voiceBlock--01 {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceBlock.voiceBlock--01 {
        margin-top: calc((40/375)*100vw); } }
    .voiceBlock.voiceBlock--01 .voiceBlock__content {
      background-image: url(../images/voice-block-01-bg.png); }
      .voiceBlock.voiceBlock--01 .voiceBlock__content .voiceBlock__rabbit {
        right: calc((100/1280)*100vw);
        bottom: calc((20/1280)*100vw);
        transform: rotate(15deg);
        /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
        @media screen and (max-width: 768px) {
          .voiceBlock.voiceBlock--01 .voiceBlock__content .voiceBlock__rabbit {
            right: calc((10/375)*100vw); } }
  .voiceBlock.voiceBlock--02 {
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceBlock.voiceBlock--02 {
        margin-top: calc((50/375)*100vw); } }
    .voiceBlock.voiceBlock--02 .voiceBlock__content {
      background-image: url(../images/voice-block-02-bg.png); }
      .voiceBlock.voiceBlock--02 .voiceBlock__content .voiceBlock__rabbit {
        left: calc((100/1280)*100vw);
        bottom: calc((20/1280)*100vw);
        transform: rotate(-15deg);
        /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
        @media screen and (max-width: 768px) {
          .voiceBlock.voiceBlock--02 .voiceBlock__content .voiceBlock__rabbit {
            left: calc((10/375)*100vw); } }

.voiceList {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .voiceList {
      justify-content: flex-start; } }

.voiceItem {
  margin-top: calc((40/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .voiceItem {
      margin-top: calc((24/375)*100vw); } }
  .voiceItem.voiceItem-01 {
    flex: 0 0 calc((373/1280)*100vw);
    margin-right: calc((40/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-01 {
        flex: 0 0 calc((290/375)*100vw); } }
  .voiceItem.voiceItem-02 {
    flex: 0 0 calc((408/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-02 {
        flex: 0 0 calc((290/375)*100vw);
        margin-left: auto; } }
  .voiceItem.voiceItem-03 {
    flex: 0 0 50%;
    margin-right: calc((40/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-03 {
        flex: 0 0 100%; } }
  .voiceItem.voiceItem-04 {
    flex: 0 0 calc((473/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-04 {
        flex: 0 0 calc((290/375)*100vw);
        margin-left: auto; } }
  .voiceItem.voiceItem-05 {
    flex: 0 0 calc((474/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-05 {
        flex: 0 0 calc((260/375)*100vw); } }
  .voiceItem.voiceItem-06 {
    flex: 0 0 50%;
    margin-right: calc((40/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-06 {
        flex: 0 0 calc((287/375)*100vw); } }
  .voiceItem.voiceItem-07 {
    flex: 0 0 calc((393/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-07 {
        flex: 0 0 calc((293/375)*100vw);
        margin-left: auto; } }
  .voiceItem.voiceItem-08 {
    flex: 0 0 calc((405/1280)*100vw);
    margin-right: calc((40/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-08 {
        flex: 0 0 calc((300/375)*100vw);
        margin-right: 0; } }
  .voiceItem.voiceItem-09 {
    flex: 0 0 calc((587/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-09 {
        flex: 0 0 100%; } }
  .voiceItem.voiceItem-10 {
    flex: 0 0 calc((520/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceItem.voiceItem-10 {
        flex: 0 0 calc((290/375)*100vw);
        margin-left: auto; } }

.voiceFukidashi {
  position: relative;
  display: flex;
  background-color: #fff;
  border-radius: 30px;
  padding: calc((22/1280)*100vw) calc((40/1280)*100vw) calc((22/1280)*100vw) calc((22/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  .voiceFukidashi:after {
    position: absolute;
    bottom: -16px;
    display: block;
    content: '';
    left: 45px;
    border-top: calc((20/1280)*100vw) solid #fff;
    border-right: calc((20/1280)*100vw) solid #fff;
    border-bottom: calc((20/1280)*100vw) solid transparent;
    border-left: calc((20/1280)*100vw) solid transparent;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceFukidashi:after {
        border-width: calc((8/375)*100vw); } }
  @media screen and (max-width: 768px) {
    .voiceFukidashi {
      border-radius: 30px;
      padding: calc((14/375)*100vw) calc((22/375)*100vw) calc((14/375)*100vw) calc((18/375)*100vw); } }
  .voiceFukidashi.voiceFukidashi--right:after {
    right: 45px;
    left: auto;
    border-top: calc((11/375)*100vw) solid #fff;
    border-right: calc((11/375)*100vw) solid transparent;
    border-bottom: calc((11/375)*100vw) solid transparent;
    border-left: calc((11/375)*100vw) solid #fff; }
  .voiceFukidashi .voiceFukidashi__image {
    flex: 0 0 calc((44/1280)*100vw);
    height: calc((44/1280)*100vw);
    margin-right: calc((18/1280)*100vw);
    border-radius: 50%;
    overflow: hidden;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .voiceFukidashi .voiceFukidashi__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    @media screen and (max-width: 768px) {
      .voiceFukidashi .voiceFukidashi__image {
        flex: 0 0 calc((36/375)*100vw);
        height: calc((36/375)*100vw);
        margin-top: calc((4/375)*100vw);
        margin-right: calc((14/375)*100vw); } }
  .voiceFukidashi .voiceFukidashi__message {
    font-size: calc((15/1280)*100vw);
    text-align: justify;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceFukidashi .voiceFukidashi__message {
        font-size: calc((12/375)*100vw);
        line-height: 1.6; } }
  .voiceFukidashi .voiceFukidashi__companyName {
    margin-top: calc((6/1280)*100vw);
    font-size: calc((10/1280)*100vw);
    color: #999;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .voiceFukidashi .voiceFukidashi__companyName {
        font-size: calc((10/375)*100vw); } }

.present-container {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .present-container {
      padding-top: calc((72/375)*100vw);
      padding-bottom: calc((72/375)*100vw); } }

.presentContent {
  display: flex;
  flex-direction: row-reverse;
  padding-top: calc((80/1280)*100vw); }
  .presentContent .presentContent__left {
    flex: 0 0 50%;
    padding-right: calc((72/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__left {
        flex-basis: 100%;
        padding-right: 0; } }
  .presentContent .presentContent__desc {
    font-size: calc((18/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__desc {
        font-size: calc((13/375)*100vw); } }
  .presentContent .presentContent__imageSp {
    padding-top: calc((24/375)*100vw); }
  .presentContent .presentContent__right {
    flex: 0 0 50%; }
    .presentContent .presentContent__right img {
      width: 100%; }
  .presentContent .presentContent__list {
    margin-top: calc((48/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__list {
        margin-top: calc((40/375)*100vw); } }
  .presentContent .presentContent__item {
    margin-top: calc((32/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__item {
        margin-top: calc((18/375)*100vw); } }
  .presentContent .presentContent__button-to-twitter {
    height: calc((72/1280)*100vw);
    width: 100%;
    margin-top: calc((60/1280)*100vw);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    color: #fff;
    font-size: calc((16/1280)*100vw);
    transition-duration: 0.3s;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .presentContent .presentContent__button-to-twitter span {
      width: calc((24/1280)*100vw);
      margin-right: calc((16/1280)*100vw);
      display: flex;
      align-items: center;
      justify-content: center; }
      .presentContent .presentContent__button-to-twitter span img {
        width: 100%; }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__button-to-twitter {
        font-size: calc((13/375)*100vw);
        height: calc((60/375)*100vw);
        margin-top: calc((40/375)*100vw); }
        .presentContent .presentContent__button-to-twitter span {
          width: calc((20/375)*100vw);
          margin-right: calc((8/375)*100vw); } }
    .presentContent .presentContent__button-to-twitter:hover {
      background-color: #3C78C8; }
  .presentContent .presentContent__chushaku {
    margin-top: calc((24/1280)*100vw);
    font-size: calc((12/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentContent .presentContent__chushaku {
        margin-top: calc((12/375)*100vw);
        font-size: calc((10/375)*100vw); } }

.presentVisual {
  position: relative; }
  .presentVisual img {
    width: 100%; }
  .presentVisual .presentVisual__rabbit {
    position: absolute;
    width: calc((60/1280)*100vw);
    right: calc((20/1280)*100vw);
    bottom: calc((10/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .presentVisual .presentVisual__rabbit img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      .presentVisual .presentVisual__rabbit {
        right: calc((30/375)*100vw); }
        .presentVisual .presentVisual__rabbit img {
          width: calc((40/375)*100vw); } }

.presentStepBlock {
  display: flex; }
  .presentStepBlock .presentStepBlock__index {
    flex: 0 0 calc((32/1280)*100vw);
    height: calc((32/1280)*100vw);
    font-size: calc((16/1280)*100vw);
    color: #fff;
    background-color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentStepBlock .presentStepBlock__index {
        flex: 0 0 calc((24/375)*100vw);
        height: calc((24/375)*100vw);
        font-size: calc((13/375)*100vw); } }
  .presentStepBlock .presentStepBlock__text {
    margin-left: calc((10/1280)*100vw);
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentStepBlock .presentStepBlock__text {
        margin-left: calc((8/375)*100vw); } }
  .presentStepBlock .presentStepBlock__title {
    margin-top: calc((-3/1280)*100vw);
    font-size: calc((24/1280)*100vw);
    line-height: 160%;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentStepBlock .presentStepBlock__title {
        font-size: calc((18/375)*100vw); } }
  .presentStepBlock .presentStepBlock__desc {
    margin-top: calc((2/1280)*100vw);
    font-size: calc((15/1280)*100vw);
    transition-duration: 0.3s;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .presentStepBlock .presentStepBlock__desc {
        font-size: calc((12/375)*100vw);
        margin-top: calc((4/375)*100vw); } }
    .presentStepBlock .presentStepBlock__desc a:hover {
      color: #000; }

.sectionEvent {
  background-color: #F0F2F3; }

.event-container {
  padding-top: calc((100/1280)*100vw);
  padding-bottom: calc((120/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .event-container {
      padding-top: calc((72/375)*100vw);
      padding-bottom: calc((72/375)*100vw); } }

.eventList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc((48/1280)*100vw);
  margin-top: calc((80/1280)*100vw);
  /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
  @media screen and (max-width: 768px) {
    .eventList {
      grid-template-columns: 1fr;
      gap: calc((40/375)*100vw);
      margin-top: calc((40/375)*100vw); } }
  .eventList .eventList__item {
    position: relative; }

.eventCard {
  position: relative; }
  .eventCard:hover .eventCard__image img {
    transform: scale(1.03); }
  .eventCard:hover .eventCard__arrow img {
    transform: translate(calc((7/1280)*100vw), calc((-7/1280)*100vw)); }
  .eventCard:hover .eventCard__title {
    color: #3C78C8; }
  .eventCard .eventCard__title {
    font-size: calc((20/1280)*100vw);
    margin-top: calc((14/1280)*100vw);
    padding-right: calc((64/1280)*100vw);
    transition-duration: 0.3s;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    @media screen and (max-width: 768px) {
      .eventCard .eventCard__title {
        margin-top: calc((12/375)*100vw);
        padding-right: calc((48/375)*100vw);
        font-size: calc((14/375)*100vw); } }
  .eventCard .eventCard__image {
    overflow: hidden; }
    .eventCard .eventCard__image img {
      transition-duration: 0.3s;
      width: 100%; }
  .eventCard .eventCard__arrow {
    position: absolute;
    top: calc((250/1280)*100vw);
    right: 0;
    width: calc((54/1280)*100vw);
    height: calc((54/1280)*100vw);
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    /* 引数無しのデフォルトでは md をブレイクポイントとする（ここはケースバイケースで使用頻度の高いものに入れ替える） */ }
    .eventCard .eventCard__arrow img {
      width: calc((18/1280)*100vw);
      height: calc((18/1280)*100vw);
      transition-duration: 0.3s; }
    @media screen and (max-width: 768px) {
      .eventCard .eventCard__arrow {
        width: calc((36/375)*100vw);
        height: calc((36/375)*100vw);
        top: calc((164/375)*100vw); }
        .eventCard .eventCard__arrow img {
          width: calc((10/375)*100vw);
          height: calc((10/375)*100vw); } }
