@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
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%;
  vertical-align: baseline; }

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

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

body {
  font-size: 12px;
  line-height: 1.5;
  background-color: #fff; }

ul {
  list-style: none; }

dt {
  display: block;
  width: auto; }

table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

td,
th {
  vertical-align: top; }

th {
  font-weight: normal;
  text-align: left; }

caption {
  text-align: left; }

img {
  background-color: transparent;
  vertical-align: top; }

a img {
  border: none; }

img {
  -ms-interpolation-mode: bicubic; }

em {
  font-style: normal; }

hr {
  height: 1px; }

input,
textarea,
select,
option,
optgroup {
  vertical-align: middle;
  letter-spacing: 0em; }

select {
  min-width: 2em; }

option,
optgroup {
  padding-right: 0.4em; }

label[for],
input[type="checkbox"],
input[type="radio"],
input[type="button"],
input[type="image"],
input[type="reset"],
input[type="submit"],
select,
option {
  cursor: pointer; }

optgroup {
  cursor: default; }

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6em;
  color: #262626;
  background-color: #F7F7F7; }

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

.cf:before,
.cf:after {
  content: " ";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  *zoom: 1; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration: none;
  color: #333; }
  a:link,
  a:visited,
  a:hover {
    text-decoration: none; }

sup {
  vertical-align: super;
  font-size: smaller;
  line-height: 1; }

img {
  width: 100%; }

@media all and (min-width: 769px) {
  a,
  input[type="button"],
  button {
    transition: ease 0.3s; }
  html {
    font-size: 62.5%; }
  .sp-view {
    display: none !important; } }

@media all and (max-width: 768px) {
  a,
  button {
    -webkit-tap-highlight-color: transparent;
    outline: none; }
  .pc-view {
    display: none !important; }
  html, body {
    -webkit-text-size-adjust: none; }
  * {
    box-sizing: border-box; }
  html {
    font-size: 62.5%; }
  body {
    font-size: 2.8rem; }
  body {
    line-height: 1.3; } }

/*
// Zen Kaku Gothic New
.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

// Montserrat
// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

Thin 100
ExtraLight 200
Light 300
Regular 400
Medium 500
SemiBold 600
Bold 700
ExtraBold 800
Black 900

*/
@keyframes rotation {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(-360deg); } }

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

@keyframes loop2 {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-200%); } }

@keyframes loop3 {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(100%); } }

@keyframes loop4 {
  0% {
    transform: translateX(-200%); }
  100% {
    transform: translateX(0); } }

@media all and (min-width: 769px) {
  .sp {
    display: none; }
  #Wrapper {
    position: relative;
    overflow-x: hidden; }
    #Wrapper .bg {
      display: block;
      position: fixed;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      #Wrapper .bg video {
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .header {
    position: fixed;
    z-index: 100;
    top: 48px;
    left: 48px; }
    .header__logo {
      position: absolute;
      width: 116px; }
    .header__spmenu {
      display: none; }
  .navi {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    height: 100vh; }
    .navi-wrap {
      display: flex;
      justify-content: center;
      flex-direction: column;
      width: 232px;
      height: 100%;
      padding-left: 48px;
      padding-right: 24px; }
    .navi__logo-top {
      position: absolute;
      top: 48px;
      width: 116px; }
    .navi__logo-bottom {
      position: absolute;
      bottom: 40px;
      width: 71px; }
    .navi__list {
      padding-bottom: 50px; }
      .navi__list ul li {
        margin-bottom: 9px; }
        .navi__list ul li:last-child {
          margin-bottom: 0; }
        .navi__list ul li.current a {
          color: #F1B62D; }
        .navi__list ul li a {
          font-family: "Montserrat", sans-serif;
          font-optical-sizing: auto;
          font-size: 15px;
          line-height: 1.1;
          letter-spacing: 0.01rem;
          font-weight: 600; }
          .navi__list ul li a:hover {
            color: #F1B62D; }
  .mainvisual {
    position: relative; }
    .mainvisual__slide {
      text-align: center;
      height: 660px;
      background-color: #ffffff;
      border-bottom: 1px solid #F1B62D; }
      .mainvisual__slide img {
        width: auto;
        height: 100%; }
    .mainvisual__flowtext {
      padding-top: 20px; }
      .mainvisual__flowtext .text-container {
        display: flex; }
      .mainvisual__flowtext p {
        padding-right: 30px; }
        .mainvisual__flowtext p:first-child {
          animation: loop 60s -20s linear infinite; }
        .mainvisual__flowtext p + p {
          animation: loop2 60s 10s linear infinite; }
        .mainvisual__flowtext p img {
          width: auto;
          height: 68px; }
    .mainvisual__fukidashi {
      position: absolute;
      top: 580px;
      right: -10px;
      width: 236px;
      height: 236px; }
      .mainvisual__fukidashi__bg {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 236px;
        height: 236px;
        background-image: url(../images/bg_attention.png);
        background-size: 236px 236px;
        animation: 20s linear infinite rotation; }
      .mainvisual__fukidashi p {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 236px;
        height: 236px;
        color: #F1B62D;
        font-size: 15px;
        transform: rotate(8deg); }
        .mainvisual__fukidashi p strong {
          display: block;
          font-size: 34px;
          line-height: 1.1; }
    .mainvisual #hero-loader {
      position: absolute;
      top: 0;
      left: 0;
      height: 660px;
      width: 100%;
      text-align: center;
      transition: opacity 0.4s ease; }
    .mainvisual #hero-loader-img {
      width: 1000px !important;
      height: 660px !important;
      opacity: 0;
      transition: opacity 0.3s ease; }
    .mainvisual #hero-loader.hidden {
      opacity: 0;
      pointer-events: none; }
    .mainvisual .spritespin-canvas {
      width: 1000px !important;
      height: 660px !important;
      margin-inline: auto; }
  .content {
    padding-left: calc(424 / 1440 * 100vw);
    padding-right: calc(152 / 1440 * 100vw);
    padding-bottom: calc(240 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .content {
      padding-bottom: 240px; } }

@media all and (min-width: 769px) {
  .mod_title {
    position: relative;
    color: #F1B62D;
    font-size: 18px;
    font-weight: 600; }
    .mod_title::before {
      content: "";
      position: absolute;
      top: 50%;
      left: -128px;
      width: 112px;
      height: 1px;
      background-color: #F1B62D; }
  .lead {
    padding-top: calc(180 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .lead {
      padding-top: 180px; } }

@media all and (min-width: 769px) {
    .lead__text {
      margin-bottom: calc(80 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .lead__text {
        margin-bottom: 80px; } }

@media all and (min-width: 769px) {
      .lead__text p {
        font-size: calc(39 / 1440 * 100vw);
        line-height: 2.1; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .lead__text p {
          font-size: 39px; } }

@media all and (min-width: 769px) {
        .lead__text p span {
          color: #F1B62D; }
    .lead__pct {
      padding-left: calc(55 / 1440 * 100vw);
      margin-bottom: calc(100 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .lead__pct {
        padding-left: 55px;
        margin-bottom: 100px; } }

@media all and (min-width: 769px) {
      .lead__pct img {
        width: 84%; }
    .lead__subtext {
      margin-bottom: calc(140 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .lead__subtext {
        margin-bottom: 140px; } }

@media all and (min-width: 769px) {
      .lead__subtext p {
        font-size: calc(22 / 1440 * 100vw);
        font-weight: 700;
        line-height: 1.9; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .lead__subtext p {
          font-size: 22px; } }

@media all and (min-width: 769px) {
    .lead__about {
      padding-left: calc(240 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .lead__about {
        padding-left: 240px; } }

@media all and (min-width: 769px) {
      .lead__about__pct {
        padding-top: calc(16 / 1440 * 100vw); } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .lead__about__pct {
          padding-top: 16px; } }

@media all and (min-width: 769px) {
        .lead__about__pct p {
          text-align: right; }
          .lead__about__pct p a {
            display: inline-block;
            font-family: "Montserrat", sans-serif;
            font-optical-sizing: auto;
            font-size: 13px;
            font-weight: 500;
            padding-right: 16px;
            background-image: url(../images/icon_blank.png);
            background-size: 14px auto;
            background-position: right center;
            background-repeat: no-repeat; }
      .lead__about dl dt {
        color: #F1B62D;
        font-size: calc(26 / 1440 * 100vw);
        margin-bottom: calc(48 / 1440 * 100vw); } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .lead__about dl dt {
          font-size: 26px;
          margin-bottom: 48px; } }

@media all and (min-width: 769px) {
      .lead__about dl dd p {
        font-size: calc(19 / 1440 * 100vw);
        font-weight: 700;
        line-height: 1.9;
        margin-bottom: calc(48 / 1440 * 100vw); } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .lead__about dl dd p {
          font-size: 19px;
          margin-bottom: 48px; } }

@media all and (min-width: 769px) {
  .mission {
    padding-top: calc(240 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .mission {
      padding-top: 240px; } }

@media all and (min-width: 769px) {
    .mission .mod_title {
      margin-bottom: calc(128 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .mission .mod_title {
        margin-bottom: 128px; } }

@media all and (min-width: 769px) {
    .mission__title {
      font-size: 54px;
      line-height: 1;
      margin-bottom: calc(110 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .mission__title {
        margin-bottom: 110px; } }

@media all and (min-width: 769px) {
      .mission__title span {
        color: #F1B62D; }
    .mission__text {
      margin-bottom: calc(120 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .mission__text {
        margin-bottom: 120px; } }

@media all and (min-width: 769px) {
      .mission__text p {
        font-size: 22px;
        font-weight: 700;
        line-height: 1.9; }
        .mission__text p span {
          color: #F1B62D; }
        .mission__text p small {
          font-size: 15px; }
  .about {
    padding-top: calc(224 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .about {
      padding-top: 224px; } }

@media all and (min-width: 769px) {
    .about .mod_title {
      margin-bottom: calc(96 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .about .mod_title {
        margin-bottom: 96px; } }

@media all and (min-width: 769px) {
    .about__text {
      margin-bottom: calc(88 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .about__text {
        margin-bottom: 88px; } }

@media all and (min-width: 769px) {
      .about__text p {
        font-size: calc(26 / 1440 * 100vw);
        font-weight: 700;
        line-height: 1.9; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .about__text p {
          font-size: 26px; } }

@media all and (min-width: 769px) {
        .about__text p span {
          color: #F1B62D; }
  .roadmap {
    position: relative;
    padding-top: calc(224 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .roadmap {
      padding-top: 224px; } }

@media all and (min-width: 769px) {
    .roadmap .mod_title {
      margin-bottom: calc(96 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .roadmap .mod_title {
        margin-bottom: 96px; } }

@media all and (min-width: 769px) {
    .roadmap__text {
      margin-bottom: calc(104 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .roadmap__text {
        margin-bottom: 104px; } }

@media all and (min-width: 769px) {
      .roadmap__text p {
        font-size: calc(26 / 1440 * 100vw);
        font-weight: 700;
        line-height: 1.9; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .roadmap__text p {
          font-size: 26px; } }

@media all and (min-width: 769px) {
    .roadmap__pct {
      position: relative; } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .roadmap__pct {
        width: 972px; } }

@media all and (min-width: 769px) {
      .roadmap__pct-bg {
        display: block;
        position: absolute;
        z-index: -1;
        bottom: calc(20 / 1440 * 100vw);
        right: calc(-80 / 1440 * 100vw);
        width: calc(236 / 1440 * 100vw);
        height: calc(236 / 1440 * 100vw);
        background-image: url(../images/bg_attention.png);
        background-size: 100% 100%;
        animation: 20s linear infinite rotation; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .roadmap__pct-bg {
          width: 236px;
          height: 236px;
          right: 20px;
          bottom: 20px; } }

@media all and (min-width: 769px) {
      .roadmap__pct img {
        width: 111%; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .roadmap__pct img {
          width: 972px; } }

@media all and (min-width: 769px) {
  .projectpartner {
    padding-top: calc(224 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .projectpartner {
      padding-top: 224px; } }

@media all and (min-width: 769px) {
    .projectpartner .mod_title {
      margin-bottom: calc(120 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .projectpartner .mod_title {
        margin-bottom: 120px; } }

@media all and (min-width: 769px) {
    .projectpartner__list {
      mix-blend-mode: darken;
      margin-left: calc(-424 / 1440 * 100vw); }
      .projectpartner__list__slide {
        display: flex; }
      .projectpartner__list ul {
        display: flex;
        flex-wrap: nowrap; }
        .projectpartner__list ul:first-child {
          animation: loop 60s -20s linear infinite; }
        .projectpartner__list ul + ul {
          animation: loop2 60s 10s linear infinite; }
        .projectpartner__list ul li {
          flex-shrink: 0;
          margin-right: calc(80 / 1440 * 100vw); } }
        @media all and (min-width: 769px) and (min-width: 1440px) {
          .projectpartner__list ul li {
            margin-right: 80px; } }

@media all and (min-width: 769px) {
          .projectpartner__list ul li img {
            width: auto;
            height: calc(98 / 1440 * 100vw); } }
          @media all and (min-width: 769px) and (min-width: 1440px) {
            .projectpartner__list ul li img {
              height: 98px; } }

@media all and (min-width: 769px) {
  .mainpartner {
    padding-top: calc(224 / 1440 * 100vw);
    padding-bottom: calc(256 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .mainpartner {
      padding-top: 224px;
      padding-bottom: 256px; } }

@media all and (min-width: 769px) {
    .mainpartner .mod_title {
      margin-bottom: calc(96 / 1440 * 100vw); } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .mainpartner .mod_title {
        margin-bottom: 96px; } }

@media all and (min-width: 769px) {
    .mainpartner__pct {
      text-align: center; }
      .mainpartner__pct.beneseed {
        margin-bottom: 56px; }
        .mainpartner__pct.beneseed img {
          mix-blend-mode: multiply;
          width: calc(350 / 1440 * 100vw); } }
        @media all and (min-width: 769px) and (min-width: 1440px) {
          .mainpartner__pct.beneseed img {
            width: 350px; } }

@media all and (min-width: 769px) {
      .mainpartner__pct.kobayashi img {
        mix-blend-mode: multiply;
        width: 288px; } }
      @media all and (min-width: 769px) and (min-width: 1440px) {
        .mainpartner__pct.kobayashi img {
          width: 288px; } }

@media all and (min-width: 769px) {
  .joinus__title {
    border-top: 1px solid #F1B62D;
    text-align: center;
    color: #F1B62D;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-size: calc(18 / 1440 * 100vw);
    line-height: 1;
    font-weight: 600;
    padding-top: calc(24 / 1440 * 100vw);
    margin-bottom: calc(112 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .joinus__title {
      font-size: 18px;
      padding-top: 24px;
      margin-bottom: 112px; } }

@media all and (min-width: 769px) {
  .joinus__subtext {
    text-align: center;
    font-size: calc(34 / 1440 * 100vw);
    line-height: 1.9;
    margin-bottom: calc(64 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .joinus__subtext {
      font-size: 34px;
      margin-bottom: 64px; } }

@media all and (min-width: 769px) {
    .joinus__subtext span {
      color: #F1B62D; }
  .joinus__text {
    text-align: center;
    margin-bottom: calc(96 / 1440 * 100vw); } }
  @media all and (min-width: 769px) and (min-width: 1440px) {
    .joinus__text {
      margin-bottom: 96px; } }

@media all and (min-width: 769px) {
    .joinus__text p {
      font-size: calc(19 / 1440 * 100vw);
      line-height: 1.9;
      font-weight: 700; } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .joinus__text p {
        font-size: 19px; } }

@media all and (min-width: 769px) {
      .joinus__text p + p {
        padding-top: 3rem; }
  .joinus__btn {
    text-align: center; }
    .joinus__btn a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: calc(19 / 1440 * 100vw);
      color: #ffffff;
      width: calc(400 / 1440 * 100vw);
      height: calc(70 / 1440 * 100vw);
      background-color: #262626;
      border-radius: 8px; } }
    @media all and (min-width: 769px) and (min-width: 1440px) {
      .joinus__btn a {
        font-size: 19px;
        width: 400px;
        height: 70px; } }

@media all and (min-width: 769px) {
      .joinus__btn a:hover {
        color: #262626;
        background-color: #F1B62D; }
  .footer {
    color: #ffffff;
    background-color: #F1B62D; }
    .footer-wrap {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      justify-content: space-between;
      padding: 80px 48px 48px; }
      .footer-wrap::before {
        content: "";
        width: 100%;
        height: 41px;
        position: absolute;
        top: -41px;
        left: 0;
        background-image: url(../images/bg_footer.png);
        background-size: 100% 100%; }
    .footer__block {
      width: 450px;
      display: flex;
      align-items: flex-end; }
      .footer__block__logo {
        width: 132px;
        margin-right: 40px; }
      .footer__block__link {
        display: flex; }
        .footer__block__link li {
          margin-right: 20px; }
        .footer__block__link a {
          display: inline-block;
          color: #ffffff;
          font-size: 14px;
          padding-right: 15px;
          background-image: url(../images/icon_blank_wh.png);
          background-size: 12px 12px;
          background-position: right center;
          background-repeat: no-repeat; }
          .footer__block__link a:hover {
            opacity: 0.6; }
    .footer__copyright {
      font-family: "Montserrat", sans-serif;
      font-optical-sizing: auto;
      font-size: 13px;
      font-weight: 500; } }

@media all and (max-width: 768px) {
  .pc {
    display: none; }
  #Wrapper {
    position: relative;
    overflow-x: hidden; }
    #Wrapper .bg {
      display: block;
      position: fixed;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      #Wrapper .bg video {
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%; }
    .header__logo {
      position: absolute;
      top: 20px;
      left: 20px;
      width: 100px; }
    .header__spmenu {
      position: fixed;
      z-index: 100;
      top: 16px;
      right: 19px;
      width: 50px;
      height: 50px; }
      .header__spmenu span {
        position: absolute;
        height: 1px;
        background-color: #F1B62D;
        transition: ease 0.3s; }
        .header__spmenu span:nth-of-type(1) {
          top: 17px;
          left: 1px;
          width: 48px; }
        .header__spmenu span:nth-of-type(2) {
          top: 25px;
          left: 5px;
          width: 40px; }
        .header__spmenu span:nth-of-type(3) {
          top: 32px;
          left: 1px;
          width: 48px; }
      .header__spmenu.is_opened span {
        background-color: white;
        transition: ease 0.3s; }
        .header__spmenu.is_opened span:nth-of-type(1) {
          top: 25px;
          left: 1px;
          width: 48px;
          transform: rotate(15deg); }
        .header__spmenu.is_opened span:nth-of-type(2) {
          display: none; }
        .header__spmenu.is_opened span:nth-of-type(3) {
          top: 25px;
          left: 1px;
          width: 48px;
          transform: rotate(-15deg); }
  .navi {
    opacity: 0;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-image: url(../images/bg_spmenu.png);
    background-size: 100% 100%;
    background-color: #F7F7F7;
    transition: ease 0.2s; }
    .navi.is_opened {
      opacity: 1;
      z-index: 100; }
    .navi-wrap {
      display: flex;
      justify-content: center;
      flex-direction: column;
      height: 100%; }
    .navi__logo-top {
      display: none; }
    .navi__logo-bottom {
      display: none; }
    .navi__list {
      padding-left: 20.5%; }
      .navi__list ul li {
        margin: 14px 0; }
        .navi__list ul li a {
          color: #ffffff;
          font-size: 18px;
          line-height: 1.1;
          font-weight: 600; }
  .mainvisual {
    position: relative; }
    .mainvisual__slide {
      text-align: center;
      width: 100%;
      aspect-ratio: 780 / 920;
      border-bottom: 1px solid #F1B62D; }
      .mainvisual__slide img {
        width: auto;
        height: 100%; }
    .mainvisual__flowtext {
      padding-top: 15px; }
      .mainvisual__flowtext .text-container {
        display: flex; }
      .mainvisual__flowtext p {
        padding-right: 20px; }
        .mainvisual__flowtext p:first-child {
          animation: loop 60s -26s linear infinite; }
        .mainvisual__flowtext p + p {
          animation: loop2 60s 4s linear infinite; }
        .mainvisual__flowtext p img {
          width: auto;
          height: 40px; }
    .mainvisual__fukidashi {
      position: absolute;
      top: 80%;
      right: -15px;
      width: 140px;
      height: 140px; }
      .mainvisual__fukidashi__bg {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 140px;
        height: 140px;
        background-image: url(../images/bg_attention.png);
        background-size: 140px 140px;
        animation: 20s linear infinite rotation; }
      .mainvisual__fukidashi p {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 140px;
        height: 140px;
        color: #F1B62D;
        font-size: 11px;
        transform: rotate(8deg); }
        .mainvisual__fukidashi p strong {
          display: block;
          font-size: 24px;
          line-height: 1.1; }
    .mainvisual #hero-loader {
      position: absolute;
      top: 0;
      left: 0;
      height: 460px;
      width: 100%;
      text-align: center;
      transition: opacity 0.4s ease; }
    .mainvisual #hero-loader-img {
      opacity: 0;
      transition: opacity 0.3s ease; }
    .mainvisual #hero-loader.hidden {
      opacity: 0;
      pointer-events: none; }
    .mainvisual .spritespin-canvas {
      width: 100% !important;
      height: auto !important;
      aspect-ratio: 780 / 920 !important; }
  .content {
    padding-bottom: 132px; }
  .mod_title {
    position: relative;
    color: #F1B62D;
    font-size: 14px;
    font-weight: 600;
    margin-left: 54px; }
    .mod_title::before {
      content: "";
      position: absolute;
      top: 50%;
      left: -54px;
      width: 44px;
      height: 1px;
      background-color: #F1B62D; }
  .lead {
    padding-top: 80px; }
    .lead__text {
      width: 87.7%;
      margin-inline: auto;
      margin-bottom: 50px; }
      .lead__text p {
        font-size: 25px;
        line-height: 1.9; }
        .lead__text p span {
          color: #F1B62D; }
    .lead__pct {
      text-align: center;
      margin-bottom: 48px; }
      .lead__pct img {
        width: 94.8%; }
    .lead__subtext {
      width: 87.7%;
      margin-inline: auto;
      margin-bottom: 80px; }
      .lead__subtext p {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.8; }
    .lead__about {
      width: 87.7%;
      margin-inline: auto;
      padding-left: 30px; }
      .lead__about__pct {
        padding-top: 24px; }
        .lead__about__pct p {
          text-align: right;
          padding-top: 10px; }
          .lead__about__pct p a {
            display: inline-block;
            font-family: "Montserrat", sans-serif;
            font-optical-sizing: auto;
            font-size: 11px;
            font-weight: 500;
            padding-right: 16px;
            text-decoration: underline;
            background-image: url(../images/icon_blank.png);
            background-size: 13px auto;
            background-position: right center;
            background-repeat: no-repeat; }
      .lead__about dl dt {
        color: #F1B62D;
        font-size: 20px;
        margin-bottom: 24px; }
      .lead__about dl dd p {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.8; }
  .mission {
    padding-top: 140px; }
    .mission .mod_title {
      margin-bottom: 64px; }
    .mission__title {
      font-size: 32px;
      line-height: 1.6;
      padding-left: 54px;
      padding-right: 24px;
      margin-bottom: 40px; }
      .mission__title span {
        color: #F1B62D; }
    .mission__text {
      padding-left: 54px;
      padding-right: 24px;
      margin-bottom: 50px; }
      .mission__text p {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: -0.03rem;
        line-height: 1.8; }
        .mission__text p span {
          color: #F1B62D; }
        .mission__text p small {
          display: block;
          font-size: 12px;
          padding-top: 1.5rem; }
    .mission__pct {
      padding-left: 34px;
      padding-right: 18px; }
  .about {
    padding-top: 140px; }
    .about .mod_title {
      margin-bottom: 50px; }
    .about__text {
      width: 87.7%;
      padding-left: 30px;
      margin-inline: auto;
      margin-bottom: 32px; }
      .about__text p {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.8; }
        .about__text p span {
          color: #F1B62D; }
    .about__pct {
      width: 87.7%;
      padding-left: 30px;
      margin-inline: auto; }
  .roadmap {
    padding-top: 140px; }
    .roadmap .mod_title {
      margin-bottom: 50px; }
    .roadmap__text {
      width: 87.7%;
      padding-left: 30px;
      margin-inline: auto;
      margin-bottom: 40px; }
      .roadmap__text p {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.8; }
    .roadmap__pct {
      position: relative;
      width: 87.7%;
      padding-left: 25px;
      margin-inline: auto; }
      .roadmap__pct-bg {
        display: block;
        position: absolute;
        z-index: -1;
        width: 140px;
        height: 140px;
        right: -13%;
        bottom: 0.8%;
        background-image: url(../images/bg_attention.png);
        background-size: 100% 100%;
        animation: 20s linear infinite rotation; }
      .roadmap__pct img {
        width: 108%; }
  .projectpartner {
    padding-top: 110px; }
    .projectpartner .mod_title {
      margin-bottom: 64px; }
    .projectpartner__list {
      mix-blend-mode: darken;
      margin-left: calc(-424 / 1440 * 100vw); }
      .projectpartner__list__slide {
        display: flex; }
        .projectpartner__list__slide:first-child {
          margin-bottom: 48px; }
          .projectpartner__list__slide:first-child ul:first-child {
            animation: loop 60s -20s linear infinite; }
          .projectpartner__list__slide:first-child ul + ul {
            animation: loop2 60s 10s linear infinite; }
        .projectpartner__list__slide:last-child ul:first-child {
          animation: loop3 60s -30s linear infinite; }
        .projectpartner__list__slide:last-child ul + ul {
          animation: loop4 60s 0s linear infinite; }
      .projectpartner__list ul {
        display: flex;
        flex-wrap: nowrap; }
        .projectpartner__list ul li {
          flex-shrink: 0;
          margin-right: 50px; }
          .projectpartner__list ul li img {
            mix-blend-mode: darken;
            width: auto;
            height: 64px; }
  .mainpartner {
    padding-top: 130px;
    padding-bottom: 140px; }
    .mainpartner .mod_title {
      margin-bottom: 62px; }
    .mainpartner__pct {
      text-align: center; }
      .mainpartner__pct.beneseed img {
        mix-blend-mode: multiply;
        width: 240px;
        margin-bottom: 40px; }
      .mainpartner__pct.kobayashi img {
        mix-blend-mode: multiply;
        width: 188px; }
  .joinus__title {
    border-top: 1px solid #F1B62D;
    text-align: center;
    color: #F1B62D;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    padding-top: 12px;
    margin-bottom: 60px; }
  .joinus__subtext {
    text-align: center;
    font-size: 22px;
    line-height: 1.6;
    padding: 0 25px;
    margin-bottom: 40px; }
    .joinus__subtext span {
      color: #F1B62D; }
  .joinus__text {
    text-align: center;
    width: 85.6%;
    margin-inline: auto;
    margin-bottom: 55px; }
    .joinus__text p {
      font-size: 14px;
      line-height: 1.8;
      font-weight: 700; }
      .joinus__text p + p {
        padding-top: 2rem; }
  .joinus__btn {
    width: 85.6%;
    margin-inline: auto; }
    .joinus__btn a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      color: #ffffff;
      width: 100%;
      height: 54px;
      background-color: #262626;
      border-radius: 8px; }
      .joinus__btn a:active {
        background-color: #F1B62D; }
  .footer {
    color: #ffffff;
    background-color: #F1B62D; }
    .footer-wrap {
      position: relative;
      padding: 50px 0px 45px; }
      .footer-wrap::before {
        content: "";
        width: 100%;
        height: 20px;
        position: absolute;
        top: -20px;
        left: 0;
        background-image: url(../images/bg_footer__sp.png);
        background-size: 100% 100%; }
    .footer__block {
      text-align: center;
      margin-bottom: 45px; }
      .footer__block__logo {
        width: 136px;
        margin-inline: auto;
        margin-bottom: 20px; }
      .footer__block__link a {
        display: inline-block;
        color: #ffffff;
        font-size: 14px;
        padding-right: 15px;
        background-image: url(../images/icon_blank_wh.png);
        background-size: 12px 12px;
        background-position: right center;
        background-repeat: no-repeat; }
    .footer__copyright {
      text-align: center;
      font-family: "Montserrat", sans-serif;
      font-optical-sizing: auto;
      font-size: 12px;
      font-weight: 500; } }
