@charset "UTF-8";

/* 全ページ共通 Css start */
/*---------------------------------------------
  Reset
---------------------------------------------*/
*,
*::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}
html {font-family: 'Noto Sans JP', sans-serif;}
body {margin: 0;}
main {display: block;overflow: hidden;}
hr {box-sizing: content-box;height: 0;overflow: visible;}
ul {list-style: none;}
a, a:visited {color:#333;text-decoration: none;background-color: transparent;}
a:hover, a:active { color:#666; }
abbr[title] {border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: monospace, monospace;font-size: 1em;}
small {font-size: 80%;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none;width: auto;height: auto;max-width: 100%;max-height: 100%;}
button, input, optgroup, select,textarea {font-size: 100%;line-height: 1.15;margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none;padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset { padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}
details { display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}



/*---------------------------------------------
  Component
---------------------------------------------*/
/* Button */
.btn-base, .btn-base:visited {width: fit-content;display: inline-block;padding: 15px 60px;color: #fff;font-size: 1rem;font-weight: 600;text-decoration: none;background-color: #E1251B;transition: .3s;border-radius: 30px;}
.btn-base:active, .btn-base:hover {color: #fff;background-color: #f13228;}
.pctb-none {display: block;}
.sp-none {display: none;}
@media screen and (min-width: 768px) {
  .pctb-none {display: none;}
  .sp-none {display: block;}
}
@media screen and (min-width: 1024px) {
  .pctb-none {display: none;}
}
@media screen and (min-width: 1200px) {
}

/* Form */
input {padding: .3rem .5rem;}
button, input, optgroup, select, textarea {font-size: 1rem;}




/*---------------------------------------------
  Header
---------------------------------------------*/
.header {width: 100%; position: absolute; top: 0; z-index: 100;}
.header-inner {width: 100%;height: 60px;padding-left: 10px;padding-right: 10px;display: flex; align-items: center;}
.header-inner .header-title {line-height: 0.8em;}
.header-inner .header-title img {width: 120px;}
.header-nav {margin-left: auto;}
.header-nav .link-block {display: none;}
.fixed-header {position: fixed;top: -80px;left: 0;z-index: 100;transition: all 0.3s ease-in-out;visibility: hidden;background: #0E0E0E;}
.fixed-header.is-show {top: 0;visibility: visible;}
@media screen and (min-width: 768px) {
  .header-inner {height: 80px;}
  .header-inner .header-title img {width: 150px;}
  .header-nav {display: flex;}
  .header-nav .link-block {display: flex;justify-content: space-between; align-items: center;}
  .header-nav .link-block a {display: block; margin-right: 30px;}
  .header-nav .link-block a:nth-child(1) {margin-right: 16px; height: 40px;}
  .header-nav .link-block a:nth-child(2) {height: 40px;}
  .header-nav .link-block a img {width: 40px;}
  .header-nav .link-block a.btn-base {padding: 10px 25px;}

}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1200px) {
  .header-inner {max-width: 1200px;margin-left: auto;margin-right: auto;padding-left: 20px;padding-right: 20px;position: relative;}
}


.language-switcher {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.language-switcher > .current-language {
  padding: 10px 20px;
  color: #ffffff;
  border: none;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.language-switcher > .language-options {
  display: block;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.language-switcher > .language-options a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: background-color 0.3s ease;
}
.language-switcher > .language-options a:hover {
  background-color: #f1f1f1;
}
@media (hover: hover) {
.language-switcher:hover > .language-options {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
}
.language-switcher.show-options > .language-options {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.flag {
  width: 20px;
  height: 20px;
  object-fit: cover;
}


/* プリローダー全体 */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000; /* 背景色を設定 */
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* スピナーアニメーション */
.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}




/*---------------------------------------------
  Footer オリジナル
---------------------------------------------*/
.footer { width: 100%; padding: 0; margin: 0; display: block; z-index: 1; background: #F5F5F5;}
.footer .inner { width: 100%; padding: 40px 20px; margin: 0; display: block; }
.footer .inner .fl-block {display: flex; justify-content: space-between; margin-bottom: 30px;}
.footer .inner .fl-block img {width: 100px;}
.footer .inner .fl-block .sns-box {width: 76px; display: flex; justify-content: space-between; align-items: center;}
.footer .inner .fl-block .sns-box a {width: 30px; height: 30px;}
.footer .inner .fl-block .sns-box img {width: 30px; height: 30px;}
.f-link-block {display: block; margin-bottom: 30px; }
.f-link-block a:link, .f-link-block a:visited {color: #0E0E0E;}
.f-link-block .ft-link {width: 100%; padding: 20px 0; display: block; border-bottom: 2px solid #DDDDDD; position: relative;}
.f-link-block .ft-link i {position: absolute; right: 10px; top: 40%;}
.footer .inner p {font-size: 11px; line-height: 1.6em; text-indent: -1em;padding-left: 1em; padding-bottom: 5px;}
.footer .inner p.tl {text-indent: 0; padding-left: 0; font-weight: bold;}
.copy-wrap { width: 100%; padding: 20px 0; margin: 0; display: block; z-index: 1; background: #0E0E0E;}
.copy-wrap p {text-align: center; color: #ffffff; font-size: 14px; font-weight: bold;}
@media screen and (min-width: 768px) {
  .f-link-block {display: flex; justify-content: space-between; }
  .f-link-block .ft-link {width: 48%;}
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1200px) {
  .footer .inner { max-width: 1200px; padding: 40px 20px; margin: 0 auto; }
}

.mv-bottom-in {
  opacity: 0;
  transform: translateY(100px);
}


.background-video {position: fixed;top: 0;left: 0;width: 100%;height: 100%;overflow: hidden;z-index: -1;}
.background-video video {min-width: 100%;min-height: 100%;}
.background-video video img {width: 100%;height: auto;display: block;}

#contents {width: 100%;padding: 0;margin: 0; z-index: 0;}

section {width: 100%; padding: 0; margin: 0 auto; display: block;}
.wh-bk {background: #ffffff;}
.inbox {width: 100%; padding: 60px 20px; margin: 0; display: block; }
.inbox h2 {font-size: 1.8rem; font-weight: bold; color: #E1251B; text-align: center; margin-bottom: 60px;}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
  .inbox {padding: 90px 20px;}
  .inbox h2 {font-size: 2rem; margin-bottom: 60px;}
}
@media screen and (min-width: 1200px) {
  .inbox {max-width: 1200px; padding: 90px 0; margin: 0 auto; }
}



/* Text effect */
p.effect {display: block;width: fit-content;position: relative;color: #0E0E0E;font-size: 1.4rem;line-height: 1.5;}
p.effect span {font-weight: bold;position: relative;display: inline-block;z-index: 1; }
p.effect span::before {content: "";position: absolute;top: -5px;left: 0;width: 0;height: calc(100% + 10px);background-color: #fff;z-index: -1;transition: width 0.8s cubic-bezier(0, 0, 0.2, 1);
  /* 修正点：左余白分を補正 */left: -10px;width: 0; /* 初期状態 */}
p.effect.scroll-in span::before {width: calc(100% + 20px); /* 幅を補正 */}
p.effect br {content: "";display: block;height: 25px;background: transparent;}



/* counter */
.count-wrap {width: fit-content; padding: 50px 30px; margin: 0 auto; display: block; border-radius: 10px; background: rgba(84, 0, 0, 0.8);}
.count-wrap h3 {font-size: 6.6vw; margin-bottom: 30px; text-align: center; font-weight: bold; color: #ffffff;}
.count-box {width: 100%; padding: 30px 0 50px 0; margin: 0 auto 50px; display: block; border-top: 1px solid #ffffff; border-bottom: 1px solid #ffffff;}
.count-box .timer {width: fit-content; margin: 0 auto; color: #ffffff;}
.count-box .timer span { font-size: 2.4rem; font-family: "Roboto", serif; font-weight: bold; color: #ffffff; display: inline-block; margin: 0 10px; position: relative;}
.timer .day::after {content: 'Days'; font-family: "Dosis", serif; font-size: 0.9rem; color: #ffffff; position: absolute; bottom: -20px; left: 14%;}
.timer .hour::after {content: 'Hours'; font-family: "Dosis", serif; font-size: 0.9rem; color: #ffffff; position: absolute; bottom: -20px; left: 6px;}
.timer .minute::after {content: 'Minuts'; font-family: "Dosis", serif; font-size: 0.9rem; color: #ffffff; position: absolute; bottom: -20px; left: 2px;}
.timer .second::after {content: 'Seconds'; font-family: "Dosis", serif; font-size: 0.9rem; color: #ffffff; position: absolute; bottom: -20px; left:0px;}
.count-wrap #message {font-size: 1.2rem; font-weight: bold; color: #ffffff; text-align: center; margin-bottom: 50px;}
.count-wrap .btn-base {display: block; margin: 0 auto; padding: 15px 60px;}
@media screen and (min-width: 768px) {
  .count-wrap {padding: 50px 80px;}
  .count-wrap h3 {font-size: 1.6rem;}
  .count-box {width: fit-content; padding: 30px 30px 50px 30px; margin: 0 auto 50px;}
  .count-wrap .btn-base {padding: 15px 80px;}
}
@media screen and (min-width: 1200px) {
  .count-wrap {padding: 50px 60px;}
  .count-wrap h3 {font-size: 1.6rem;}
}



.main {width: 100%;height: auto;}
.main .inbox { padding-top: 80px;}
.main .inbox .left-box {display: block; margin-bottom: 50px;}
.main .inbox .left-box p.effect {color: #0E0E0E; margin-bottom: 30px;}
.main .inbox .left-box p.effect span {margin-left: 15px;}
.main .inbox .left-box h2 {font-family: "Roboto", serif; font-size: 17vw; line-height: 1em; font-weight: bold; color: #ffffff; text-align: left; margin-bottom: 30px;}
.main .inbox .left-box p {color: #ffffff;}
.main .inbox .right-box .count-wrap p.effect {margin: 0 auto 30px;}
@media screen and (min-width: 768px) {
  .main .inbox { padding-top: 100px;}
  .main .inbox .left-box p.effect {margin-bottom: 0;}
  .main .inbox .left-box h2 {font-size: 12vw; margin-top: 50px; margin-bottom: 30px;}
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1200px) {
  .main .inbox {height: 100vh; display: flex; justify-content: space-between; }
  .main .inbox .left-box {width: 47%; margin-bottom: 0;}
  .main .inbox .left-box p.effect {margin-bottom: 0;}
  .main .inbox .left-box h2 {font-size: 12vh; /*font-size: 110px;*/ margin: 30px 0 20px;}
  .main .inbox .right-box {width: 45%; margin-bottom: 0; display: flex; align-items: center;}
}



/* About */
.about .inbox img {display: block; margin: 0 auto 60px;}
.about .inbox p {padding: 0; text-align: center;}
@media screen and (min-width: 768px) {
  .about .inbox p {padding: 0 20px;}
}
@media screen and (min-width: 1200px) {
  .about .inbox img {width: 642px;}

}


/* Benefits */
.benefit .inbox p.effect { width: fit-content; display: block; margin: 0 auto 50px; font-size: 1.1rem;line-height: 1.5; text-align: center;}
.benefit .inbox .fl-block {display: block;}
.benefit .inbox .fl-block .item {width: fit-content; padding: 30px 20px; margin: 0 auto 30px; display: block; border-radius: 10px; background: rgba(84, 0, 0, 0.8);}
.benefit .inbox .fl-block .item:last-child {margin-bottom: 0;}
.benefit .inbox .fl-block .item img {width: 80px; display: block; margin: 0 auto 30px;}
.benefit .inbox .fl-block .item h4 {font-size: 1.2rem; font-weight: bold; text-align: center; margin-bottom: 10px; color: #ffffff;}
.benefit .inbox .fl-block .item p {text-align: center; color: #ffffff;}
@media screen and (min-width: 768px) {
  .benefit .inbox h3 {margin-left: -10px;}
  .benefit .inbox h3.effect {font-size: 1.4rem;}
  .benefit .inbox .fl-block .item {width: 80%; }
}
@media screen and (min-width: 1024px) {
  .benefit .inbox .fl-block {display: flex; justify-content: space-between;}
  .benefit .inbox .fl-block .item {width: 30%; padding: 30px 20px; margin: 0 auto 30px;}
  .benefit .inbox .fl-block .item:last-child {margin-bottom: 30px;}
}
@media screen and (min-width: 1200px) {
  .benefit .inbox h3 {margin-left: -20px;}
}


/* Airdrop */
.airdrop .inbox h2 + p {text-align: center;}
.airdrop .inbox .item-wrap {padding: 30px; margin: 60px 0; display: block; background: url('../images/section3-bg.webp') 50% 50%/cover no-repeat; border-radius: 10px; }
.airdrop .inbox .item-wrap .img-block {display: block; margin-bottom: 20px;}
.airdrop .inbox .item-wrap .img-block img {width: 167px; display: block; margin: 0 auto;}
.airdrop .inbox .item-wrap .txt-block dl {counter-reset: section-counter;}
.airdrop .inbox .item-wrap .txt-block dt {font-size: 1.2rem;font-weight: bold;padding-left: 2.4em;position: relative;margin: 30px 0 15px;color: #ffffff;}
.airdrop .inbox .item-wrap .txt-block dt::before {content: counter(section-counter);counter-increment: section-counter;display: inline-block;color: #E1251B;background: #ffffff;border-radius: 50%;width: 1.8em;height: 1.8em;text-align: center;line-height: 1.8em;font-weight: bold;position: absolute;left: 0;top: 0;}
.airdrop .inbox .item-wrap .txt-block dd {color: #ffffff;text-indent: -1em;padding-left: 3em;}
.airdrop .inbox .btn-base {display: block; margin: 0 auto; padding: 15px 50px;}
@media screen and (min-width: 768px) {
  .airdrop .inbox .item-wrap {padding: 30px; margin: 60px 0; display: flex; justify-content: space-between; }
  .airdrop .inbox .item-wrap .img-block {width: 20%;margin-bottom: 0;}
  .airdrop .inbox .item-wrap .img-block img {width: 100%;}
  .airdrop .inbox .item-wrap .txt-block {width: 75%;}
  .airdrop .inbox .item-wrap .txt-block dt:nth-child(1) { margin: 0 0 15px;}
}
@media screen and (min-width: 1200px) {
  .airdrop .inbox .item-wrap {padding: 50px 50px; margin: 60px 0; }
  .airdrop .inbox .item-wrap .img-block {width: 18%;margin-bottom: 0;}
  .airdrop .inbox .item-wrap .txt-block dt:nth-child(1) { margin: 10px 0 15px; }
}




/* 実績 */
.achievements .inbox h2 {color: #ffffff;}
.group {width: 100%; display: block; margin-bottom: 80px;}
.group p.effect {font-size: 1.4rem; margin: 0 auto 50px; text-align: center;}
.group .item-wrap .item {width: fit-content; padding: 10px; margin-bottom: 50px; display: block; background: #ffffff; border-radius: 5px; }
.group .item-wrap .item img {width: 100%; border-radius: 20px; }
.group .item-wrap .item p.tl {padding: 20px 0; font-size: 1.2rem; font-weight: bold; color: #E1251B; text-align: center;}
.item-wrap .item .tl + p {text-align: center; margin-bottom: 10px;}
.group-center {margin-bottom: 30px;}

@media screen and (min-width: 768px) {
  .group h3 {text-align: center; margin-left: -25px;}
  .group .item-wrap {display: flex; justify-content: space-between;}
  .group .item-wrap .item {width: 48%;}
  .group-center {margin-bottom: 30px;}
  .group-center .item-wrap {display: block; }
  .group-center .item-wrap .item {display: block; margin: 0 auto; }
}
@media screen and (min-width: 1200px) {
  .group {width: 100%; display: flex; justify-content: space-between; margin-bottom: 60px;}
  .group p.effect {width: 30%; display: block;font-size: 1.4rem; margin: 5px 0 0 0; text-align: left;}
  .group p.effect span {margin-left: 10px;}
  .group .item-wrap {width: 70%;}
  .group .item-wrap .item {width: 45%;}
  .group-center {margin-bottom: 0;}
  .group-center .item-wrap {display: flex; }
  .group-center .item-wrap .item {display: block; margin: 0; }
}



.cta-wrap {background: rgba(84, 0, 0, 0.8);}
.cta-wrap .inbox {padding: 80px 20px;}
.cta-wrap .inbox h2 {color: #ffffff; margin-bottom: 30px;}
.cta-wrap .inbox .btn-base {display: block; margin: 0 auto;}
@media screen and (min-width: 1200px) {
  .cta-wrap .inbox {padding: 90px 0;}
}



/* Step */
.step-block {width: 100%; padding: 50px 0; margin: 0 auto 40px; border-top: 1px solid #E1251B; display: block; position: relative;}
.step-wrap .step-block:last-of-type {margin-bottom: 0;}
.step-block::before { content: ""; width: fit-content; padding: 5px 10px; font-size: 1rem; font-weight: bold; display: inline-block; position: absolute; top:-20px; left: 0; right: 0; margin: auto; color: #ffffff; background: #E1251B; text-align: center;}
.step-block .img-box {display: block; margin-bottom: 30px;}
.step-block .img-box img {width: 100px; display: block; margin: 0 auto;}
.step-block .txt-box h3 { font-size: 1.4rem; text-align: center; margin-bottom: 10px;}
.step-block .txt-box p {text-align: center;}
.step-wrap .inbox .btn-base {display: block; margin: 0 auto;}
@media screen and (min-width: 768px) {
  .step-block {padding: 50px 0; margin-bottom: 40px; display: flex; justify-content: space-between; }
  .step-block .img-box {width: 20%; margin-bottom: 0;}
  .step-block .txt-box {width: 75%; display: block;}
  .step-block .txt-box h3 { font-size: 1.4rem; text-align: left; margin-bottom: 10px;}
  .step-block .txt-box p {text-align: left;}
}
@media screen and (min-width: 1200px) {
  .step-block {width: 80%;}
}



/* FAQ */
.faq-inbox { margin-bottom: 30px;}
.qa-list dl {position: relative;display: block; padding: 15px 0 15px 10px;margin-bottom: 30px; cursor: pointer;background: #F5F5F5;border-radius: 10px;}
.qa-list dl::before {position: absolute; top: 22px;right: 20px;width: 7px;height: 7px;display: block;margin: auto;content: '';transform: rotate(135deg);border-top: 2px solid #0E0E0E;border-right: 2px solid #0E0E0E;}
.qa-list .open::before {transform: rotate(-45deg);}
.qa-list dl dt {position: relative;padding: 0 60px 0 40px;margin: 0;font-size: 1rem;font-weight: bold;}
.qa-list dl dt::before {font-size: 1rem;line-height: 1;position: absolute;top: -2px;left: 4px;content: 'Q';display: block;font-weight: bold;color: #ffffff; background: #E1251B; padding: 6px;}
.qa-list dl dd {position: relative;display: none;height: auto;margin: 10px 0 0;padding: 10px 10px 0 10px;font-size: 1rem; border-top: 1px solid #DDDDDD;}
.qa-list dl dd p {margin: 30px 0 0;}
.qa-list dl dd p:first-child{margin-top: 0;}
@media only screen and (min-width: 768px) {
}
@media only screen and (min-width: 1024px) {
  .faq-inbox { margin-bottom: 0;}
  .qa-list dl {padding: 30px;}
  .qa-list dl::before {top: 35px;right: 35px;}
  .qa-list dl dt {padding: 0 0 0 50px;font-size: 1rem;}
  .qa-list dl dt::before {font-size: 1.2rem;left: 0;}
  .qa-list dl dd::before {font-size: 1.2rem;top: 3px;left: 2px;}
  .qa-list dl dd {margin: 30px 0 0;padding: 30px 0 0 50px;}
}


