@charset "UTF-8";

:root{
  --color-black:#000;
  --color-border:#000;
  --color-gray:#000;
  --color-red:#000;
  --font-gothic:"Poppins", "IBM Plex Sans JP", sans-serif;
  --font-en:"Poppins", sans-serif;
  --font-noto:"Noto Sans JP", sans-serif;
  --ease-outquad:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-outquart:cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-outquint:cubic-bezier(0.23, 1, 0.32, 1);
  --ease-outexpo:cubic-bezier(0.16, 1, 0.3, 1);
  --ease-inexpo:cubic-bezier(0.950, 0.050, 0.795, 0.035);
  --ease-bounce:linear(0, 0.417 25.5%, 0.867 49.4%, 1 57.7%, 0.925 65.1%, 0.908 68.6%, 0.902 72.2%, 0.916 78.2%, 0.988 92.1%, 1);
  --ratio-rem:calc(var(--vw, 1vw)*100/var(--design-ratio));
}

@keyframes fadeIn{
  0%{
    opacity:0;
    visibility:visible;
  }
  to{
    opacity:1;
    visibility:visible;
  }
}
@keyframes fadeOut{
  0%{
    opacity:1;
    visibility:visible;
  }
  to{
    opacity:0;
    visibility:visible;
  }
}
@keyframes fadeInUp{
  0%{
    opacity:0;
    translate:0 50px;
    visibility:visible;
  }
  to{
    opacity:1;
    translate:0 0;
    visibility:visible;
  }
}
@keyframes fadeInDown{
  0%{
    opacity:0;
    translate:0 -10px;
    visibility:visible;
  }
  to{
    opacity:1;
    translate:0 0;
    visibility:visible;
  }
}
@keyframes fadeInDown2{
  0%{
    opacity:0;
    translate:0 -50%;
    visibility:visible;
  }
  to{
    opacity:1;
    translate:0 0;
    visibility:visible;
  }
}
@keyframes fadeOutDown{
  0%{
    opacity:1;
    translate:0 0;
    visibility:visible;
  }
  to{
    opacity:0;
    translate:0 50%;
    visibility:visible;
  }
}
@keyframes fuwafuwa{
  0%{
    transform:translateY(-10%);
  }
  to{
    transform:translateY(4%);
  }
}
@keyframes fuwafuwa2{
  0%{
    transform:translateY(-2%);
  }
  to{
    transform:translateY(2%);
  }
}
@keyframes loop-images{
  0%{
    transform:translateZ(0);
    visibility:visible;
  }
  to{
    transform:translate3d(-100%, 0, 0);
    visibility:visible;
  }
}
@keyframes borderOutIn{
  0%{
    clip-path:inset(0 0 0 0);
  }
  50%{
    clip-path:inset(0 0 0 100%);
  }
  50.1%{
    clip-path:inset(0 100% 0 0);
  }
  to{
    clip-path:inset(0 0 0 0);
  }
}
@keyframes fvImageOpen{
  0%{
    clip-path:inset(100% 0 0 0);
    visibility:visible;
  }
  to{
    clip-path:inset(0 0 0 0);
    visibility:visible;
  }
}
@keyframes fvImageOpenImage{
  0%{
    filter:blur(10px);
    opacity:0;
    transform:scale(1.2);
    visibility:visible;
  }
  to{
    filter:blur(0);
    opacity:1;
    transform:scale(1);
    visibility:visible;
  }
}
@keyframes heroCharUp{
  0%{
    transform:translateY(105%);
  }
  to{
    transform:translateY(0);
  }
}
@keyframes dataShow{
  0%{
    opacity:0;
    transform:var(--datashow-bottom-01, translate(0, 100%));
    visibility:visible;
  }
  40%,60%{
    opacity:1;
    transform:var(--datashow-bottom-02, translate(0, 15%));
    visibility:visible;
  }
  to{
    opacity:1;
    transform:var(--datashow-bottom-03, translate(0, 18%));
    visibility:visible;
  }
}
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html{
  box-sizing:border-box;
  -webkit-text-size-adjust:100%;
  -moz-tab-size:4;
  -o-tab-size:4;
     tab-size:4;
  word-break:normal;
}

*,:after,:before{
  background-repeat:no-repeat;
  box-sizing:inherit;
}

:after,:before{
  text-decoration:inherit;
  vertical-align:inherit;
}

*{
  margin:0;
  padding:0;
}

hr{
  color:inherit;
  height:0;
  overflow:visible;
}

details,main{
  display:block;
}

summary{
  display:list-item;
}

small{
  font-size:80%;
}

[hidden]{
  display:none;
}

abbr[title]{
  border-bottom:none;
  text-decoration:underline;
  -webkit-text-decoration:underline dotted;
          text-decoration:underline dotted;
}

a{
  background-color:transparent;
}

a:active,a:hover{
  outline-width:0;
}

code,kbd,pre,samp{
  font-family:monospace,monospace;
}

pre{
  font-size:1em;
}

b,strong{
  font-weight:bolder;
}

sub,sup{
  font-size:75%;
  line-height:0;
  position:relative;
  vertical-align:baseline;
}

sub{
  bottom:-.25em;
}

sup{
  top:-.5em;
}

table{
  border-color:inherit;
  text-indent:0;
}

input{
  border-radius:0;
}

[disabled]{
  cursor:default;
}

[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;
}

textarea{
  overflow:auto;
  resize:vertical;
}

button,input,optgroup,select,textarea{
  font:inherit;
}

optgroup{
  font-weight:700;
}

button{
  overflow:visible;
}

button,select{
  text-transform:none;
}

[role=button],[type=button],[type=reset],[type=submit],button{
  color:inherit;
  cursor:pointer;
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{
  border-style:none;
  padding:0;
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{
  outline:1px dotted ButtonText;
}

[type=reset],[type=submit],button,html [type=button]{
  -webkit-appearance:button;
}

button,input,select,textarea{
  background-color:transparent;
  border-style:none;
}

a:focus,button:focus,input:focus,select:focus,textarea:focus{
  outline-width:0;
}

select{
  -moz-appearance:none;
  -webkit-appearance:none;
}

select::-ms-expand{
  display:none;
}

select::-ms-value{
  color:currentColor;
}

legend{
  border:0;
  color:inherit;
  display:table;
  max-width:100%;
  white-space:normal;
}

::-webkit-file-upload-button{
  -webkit-appearance:button;
  color:inherit;
  font:inherit;
}

img{
  border-style:none;
}

progress{
  vertical-align:baseline;
}

[aria-busy=true]{
  cursor:progress;
}

[aria-controls]{
  cursor:pointer;
}

[aria-disabled=true]{
  cursor:default;
}

@keyframes splide-loading{
  0%{
    transform:rotate(0);
  }
  to{
    transform:rotate(1turn);
  }
}
.splide__track--draggable{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-user-select:none;
       user-select:none;
}

.splide__track--fade>.splide__list>.splide__slide{
  margin:0 !important;
  opacity:0;
  z-index:0;
}

.splide__track--fade>.splide__list>.splide__slide.is-active{
  opacity:1;
  z-index:1;
}

.splide--rtl{
  direction:rtl;
}

.splide__track--ttb>.splide__list{
  display:block;
}

.splide__container{
  box-sizing:border-box;
  position:relative;
}

.splide__list{
  backface-visibility:hidden;
  display:flex;
  height:100%;
  margin:0 !important;
  padding:0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list{
  display:block;
}

.splide__pagination{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:0;
  pointer-events:none;
}

.splide__pagination li{
  display:inline-block;
  line-height:1;
  list-style-type:none;
  margin:0;
  pointer-events:auto;
}

.splide:not(.is-overflow) .splide__pagination{
  display:none;
}

.splide__progress__bar{
  width:0;
}

.splide{
  position:relative;
  visibility:hidden;
}

.splide.is-initialized,.splide.is-rendered{
  visibility:visible;
}

.splide__slide{
  backface-visibility:hidden;
  box-sizing:border-box;
  flex-shrink:0;
  list-style-type:none !important;
  margin:0;
  position:relative;
}

.splide__slide img{
  vertical-align:bottom;
}

.splide__spinner{
  animation:splide-loading 1s linear infinite;
  border:2px solid #999;
  border-left-color:transparent;
  border-radius:50%;
  bottom:0;
  contain:strict;
  display:inline-block;
  height:20px;
  left:0;
  margin:auto;
  position:absolute;
  right:0;
  top:0;
  width:20px;
}

.splide__sr{
  clip:rect(0 0 0 0);
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{
  display:none;
}

.splide__toggle.is-active .splide__toggle__pause{
  display:inline;
}

.splide__track{
  overflow:hidden;
  position:relative;
  z-index:0;
}

html.lenis,html.lenis body{
  height:auto;
}

.lenis.lenis-smooth{
  scroll-behavior:auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent]{
  overscroll-behavior:contain;
}

.lenis.lenis-stopped{
  overflow:hidden;
}

.lenis.lenis-smooth iframe{
  pointer-events:none;
}

.js-inView-fadeDown{
  opacity:0;
  pointer-events:var(--inview-pointer-events, none);
  visibility:hidden;
}

.js-inView-activate .js-inView-fadeDown,.js-inView-fadeDown.js-inView-activate{
  animation:fadeInDown 1s var(--ease-outexpo) forwards var(--animate-block-delay, .6s);
  pointer-events:var(--inview-pointer-events-active, initial);
}

.js-inView-fadeIn{
  opacity:0;
  pointer-events:var(--inview-pointer-events, none);
  visibility:hidden;
}

.js-inView-activate .js-inView-fadeIn,.js-inView-fadeIn.js-inView-activate{
  animation:fadeInUp 1s var(--ease-outexpo) forwards var(--animate-block-delay, 0s);
  pointer-events:var(--inview-pointer-events-active, initial);
}

.js-inView-fade{
  opacity:0;
  pointer-events:var(--inview-pointer-events, none);
  visibility:hidden;
}

.js-inView-activate .js-inView-fade,.js-inView-fade.js-inView-activate{
  animation:fadeIn var(--animate--duration, 1s) ease forwards var(--animate-block-delay, 0s);
  pointer-events:var(--inview-pointer-events-active, initial);
}

.js-inView-zoom{
  opacity:.3;
  pointer-events:var(--inview-pointer-events, none);
  transform:translateY(10%) scale(.9);
  transform-origin:center top;
  transition:transform 1s var(--ease-outexpo), opacity 1s var(--ease-outexpo);
}

.js-inView-activate .js-inView-zoom,.js-inView-zoom.js-inView-activate{
  opacity:1;
  pointer-events:var(--inview-pointer-events-active, initial);
  transform:translate(0) scale(1);
}

.Footer{
  background:#000;
  position:relative;
  z-index:60;
}
.Footer__dome{
  background:#00a5e3;
  height:225rem;
  left:-4px;
  -webkit-mask-image:url(../img/footer/deco_top_mask.webp);
          mask-image:url(../img/footer/deco_top_mask.webp);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
          mask-size:100% 100%;
  pointer-events:none;
  position:absolute;
  right:-4px;
  top:-220rem;
}
.Footer__dome:before{
  background:url(../img/noiz.png);
  content:"";
  inset:0;
  opacity:.1;
  position:absolute;
}
.Footer__inner{
  background:#00a5e3;
  padding-top:64rem;
  position:relative;
}
.Footer__inner:before{
  background:url(../img/noiz.png);
  content:"";
  inset:0;
  opacity:.1;
  pointer-events:none;
  position:absolute;
}
.Footer__body{
  display:grid;
  gap:74rem 340rem;
  grid-template-columns:auto 1fr;
  margin:0 auto;
  width:1240rem;
}
.Footer__org{
  display:flex;
  flex-direction:column;
  gap:18rem;
  grid-column:1 /  2;
  grid-row:1 /  2;
  width:576rem;
}
.Footer__org_badge{
  align-items:center;
  align-self:flex-start;
  background:#fff;
  border-radius:3px;
  color:#1f1f1f;
  display:inline-flex;
  font-size:16px;
  font-weight:700;
  justify-content:center;
  padding:6px 10px 3px;
}
.Footer__org_name{
  color:#fff;
  font-size:36rem;
  font-weight:700;
  line-height:1.5;
}
.Footer__org_sub{
  color:#fff;
  display:block;
  font-family:var(--font-noto);
  font-size:16rem;
  font-weight:400;
  line-height:1.5;
  margin-top:4rem;
}
.Footer__copyright{
  color:#fff;
  font-family:var(--font-en);
  font-size:14px;
  grid-column:1 /  2;
  grid-row:2 /  3;
  line-height:1.5;
  width:575rem;
}
.Footer__links{
  display:flex;
  flex-direction:column;
  gap:10rem;
  grid-column:2 /  3;
  grid-row:span 2;
  list-style:none;
  padding:50rem 0 0;
}
.Footer__link{
  align-items:center;
  color:#fff;
  display:inline-flex;
  font-size:16rem;
  font-weight:600;
  gap:10rem;
  white-space:nowrap;
}
.Footer__linkIcon{
  display:block;
  height:12rem;
  overflow:hidden;
  position:relative;
  width:13rem;
}
.Footer__linkIcon img{
  display:block;
  height:100%;
  transform:rotate(135deg) scaleY(-1);
  width:100%;
}
.Footer__linkIcon img,.Footer__linkIcon:after{
  transition:transform .4s var(--ease-outquart), opacity .4s var(--ease-outquart);
}
.Footer__linkIcon:after{
  background:url(../img/footer/arrow_link.svg) no-repeat 50%/contain;
  content:"";
  inset:0;
  opacity:0;
  position:absolute;
  transform:translate(-150%, 150%) rotate(135deg) scaleY(-1);
}
.Footer__marquee{
  margin-top:200rem;
  overflow:hidden;
  position:relative;
  width:100%;
  z-index:10;
}
.Footer__marquee_track{
  overflow:visible;
}
.Footer__marquee_item{
  align-items:center;
  display:flex;
  height:180rem;
  justify-content:center;
  margin-right:30rem;
  width:80rem;
}
.Footer__marquee_badge{
  aspect-ratio:1/1;
  display:block;
  position:relative;
  width:100%;
}
.Footer__marquee_circle{
  background:#fff;
  border-radius:50%;
  box-shadow:0 0 40rem rgba(0,0,0,.2);
  height:120rem;
  left:50%;
  pointer-events:none;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%) scale(0);
  transition:transform .3s var(--ease-outquart);
  width:120rem;
  z-index:1;
}
.Footer__marquee_icon{
  display:block;
  height:100%;
  position:relative;
  transform:scale(1);
  transition:transform .3s var(--ease-outquart);
  width:100%;
  z-index:2;
}
.Footer__marquee_icon img{
  display:block;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}
.Footer__marquee_labelArc{
  height:180rem;
  left:50%;
  max-width:none;
  opacity:0;
  overflow:visible;
  pointer-events:none;
  position:absolute;
  top:50%;
  transform:translate(-50%, -33.333%);
  transition:opacity .3s var(--ease-outquart);
  width:120rem;
  z-index:3;
}
.Footer__marquee_labelText{
  fill:#fff;
  font-family:var(--font-gothic);
  font-size:18px;
  font-weight:600;
  letter-spacing:3px;
}
.Footer__marquee_item.is-tapActive .Footer__marquee_circle,.Footer__marquee_item:hover .Footer__marquee_circle{
  transform:translate(-50%, -50%) scale(1);
}
.Footer__marquee_item.is-tapActive .Footer__marquee_icon,.Footer__marquee_item:hover .Footer__marquee_icon{
  transform:translateY(-40%) scale(1.5);
}
.Footer__marquee_item.is-tapActive .Footer__marquee_labelArc,.Footer__marquee_item:hover .Footer__marquee_labelArc{
  opacity:1;
}
.Footer__wordmark{
  bottom:0;
  left:0;
  overflow:clip;
  pointer-events:none;
  position:absolute;
  width:100%;
}
.Footer__wordmark_text{
  background:url(../img/footer/wordmark_texture.png) repeat-x 50%/auto 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:block;
  font-family:var(--font-en);
  font-size:128rem;
  font-weight:500;
  line-height:88rem;
  white-space:nowrap;
  width:2526rem;
}

@property --hero-gradient-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:160deg;
}
.Firstview{
  align-items:center;
  display:flex;
  height:100vh;
  justify-content:center;
  left:0;
  position:fixed;
  right:0;
  top:0;
  z-index:0;
}
.Firstview:before{
  backdrop-filter:blur(20px);
  background:hsla(0,0%,100%,.1);
  content:"";
  display:block;
  inset:0;
  opacity:var(--firstview-filter-opacity, 0);
  z-index:10;
}
.Firstview:before,.Firstview__deco_top{
  pointer-events:none;
  position:absolute;
}
.Firstview__deco_top{
  left:0;
  overflow:hidden;
  top:0;
  width:100%;
  z-index:-1;
}
.Firstview__deco_top img{
  max-width:none;
  width:2526rem;
}
.Firstview__deco_bottom{
  bottom:0;
  left:0;
  overflow:hidden;
  pointer-events:none;
  position:absolute;
  width:100%;
  z-index:-1;
}
.Firstview__deco_bottom img{
  max-width:none;
  width:2526rem;
}
.Firstview__item{
  opacity:0;
  pointer-events:none;
  transition:2s var(--ease-outexpo);
  visibility:hidden;
}
.Firstview .Firstview__second_none{
  transition:.6s ease;
}
.Firstview.is-secontview .Firstview__second_none{
  opacity:0;
}

.js-heroItems-activate .Firstview__item{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.Firstview_icon{
  inset:0;
  overflow:hidden;
  pointer-events:none;
  position:absolute;
  z-index:-1;
}

.Firstview_iconLayer{
  inset:0;
  position:absolute;
  transition:transform .6s ease-out;
}

.Firstview_icon_item{
  display:block;
  height:calc(var(--h)*1rem);
  left:calc(var(--x)*1rem);
  position:absolute;
  top:calc(var(--y)*1rem);
  width:calc(var(--w)*1rem);
}

.Firstview_icon_item--sp{
  display:none;
}

.Firstview_icon_row{
  align-items:center;
  display:none;
  justify-content:space-between;
  left:0;
  position:absolute;
  width:100%;
}

.Firstview_icon_row--top{
  top:0;
}

.Firstview_icon_row--bottom{
  bottom:0;
}

.Firstview_icon_item{
  animation:fuwafuwa 4s ease-in-out infinite alternate;
  animation-delay:1.2s;
}

.Firstview_icon_item:nth-child(2n){
  animation-delay:1.4s;
  animation-duration:3.4s;
}

.Firstview_icon_item:nth-child(3n){
  animation-delay:1.6s;
  animation-duration:4.6s;
}

.Firstview_icon_item:nth-child(4n){
  animation-delay:1.3s;
  animation-duration:3.8s;
}

.Firstview_icon_item:nth-child(5n){
  animation-delay:1.5s;
  animation-duration:5s;
}

.Firstview_heading{
  flex-shrink:0;
  height:585rem;
  left:80rem;
  position:relative;
  width:782.998rem;
}

.Firstview_logo{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:13rem;
  left:76rem;
  position:absolute;
  top:44rem;
}

.Firstview_logoIcon{
  display:block;
  height:33rem;
  width:60rem;
}

.Firstview_logoText{
  color:var(--color-black);
  font-family:var(--font-noto);
  font-size:24rem;
  font-weight:700;
  margin:0;
  white-space:nowrap;
}

.Firstview_logoBadge{
  background:#004ea2;
  border-radius:3rem;
  color:#fff;
  display:inline-block;
  font-size:16rem;
  font-weight:700;
  padding:3rem 10rem;
  white-space:nowrap;
}

.Firstview_badge{
  left:629rem;
  position:absolute;
  top:0;
  width:154rem;
}

.Firstview_scrolldown{
  bottom:20rem;
  cursor:pointer;
  height:60rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  width:209rem;
}
.Firstview_scrolldown.is-overlapHidden{
  pointer-events:none;
  visibility:hidden;
}

.Firstview_scrolldown_ellipse{
  height:62rem;
  left:50%;
  overflow:visible;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
  transition:transform .3s var(--ease-outexpo);
  width:211rem;
}

.Firstview_scrolldown_ellipseDash{
  animation:scrolldownDash 10s linear infinite;
  fill:none;
  stroke:#1f1f1f;
  stroke-dasharray:1 5 1 5;
  stroke-linecap:round;
  stroke-width:2;
  transition:stroke-dasharray .3s var(--ease-outexpo);
}

@keyframes scrolldownDash{
  to{
    stroke-dashoffset:-12;
  }
}
.Firstview_scrolldown_label{
  height:20rem;
  left:50%;
  overflow:hidden;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
  width:-moz-max-content;
  width:max-content;
}

.Firstview_scrolldown_labelScroller{
  display:flex;
  flex-direction:column;
  transition:transform .4s var(--ease-outexpo);
}

.Firstview_scrolldown_labelRow{
  align-items:center;
  display:flex;
  gap:10rem;
  height:20rem;
  justify-content:center;
}

.Firstview_scrolldown_text{
  color:#1f1f1f;
  font-size:13rem;
  font-weight:600;
  line-height:normal;
  white-space:nowrap;
}

.Firstview_scrolldown_arrow{
  flex-shrink:0;
  height:7.4rem;
  overflow:visible;
  transform:rotate(-90deg) scaleY(-1);
  width:8rem;
}
.Firstview_scrolldown_arrow path{
  fill:none;
  stroke:#1f1f1f;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}

.Firstview_scrolldown:hover .Firstview_scrolldown_ellipse{
  transform:translate(-50%, -50%) scale(1.06);
}
.Firstview_scrolldown:hover .Firstview_scrolldown_ellipseDash{
  stroke-dasharray:1 0 1 0;
}
.Firstview_scrolldown:hover .Firstview_scrolldown_labelScroller{
  transform:translateY(-50%);
}

.Firstview_headline{
  height:356.3806152344rem;
  left:0;
  position:absolute;
  top:125rem;
  width:639.9998779297rem;
}

.Firstview_caption{
  color:#1f1f1f;
  font-size:16rem;
  font-weight:600;
  left:60rem;
  line-height:1.8;
  margin:0;
  position:absolute;
  text-align:center;
  top:527rem;
  width:512rem;
}

.Firstview_srOnly{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}

.Firstview_chars{
  display:block;
  height:356.3806152344rem;
  position:relative;
  width:639.9998779297rem;
}

.Firstview_char{
  height:calc(var(--h)*1rem);
  left:calc(var(--x)*1rem);
  overflow:hidden;
  position:absolute;
  top:calc(var(--y)*1rem);
  width:calc(var(--w)*1rem);
}
.Firstview_char img{
  display:block;
  height:100%;
  inset:0;
  position:absolute;
  transform:translateY(105%);
  width:100%;
}

.js-heroReveal-activate .Firstview_char img{
  animation:heroCharUp .7s var(--ease-outexpo) forwards;
  animation-delay:calc(var(--i, 0)*45ms + .2s);
}

.Firstview_gradient{
  background-image:linear-gradient(var(--hero-gradient-angle, 160deg), #000 0, #000 20%, #17398f 30%, #1c7fe0 36.6666666667%, #2fc9d8 43.3333333333%, #8ff0d6 50%, #2fc9d8 56.6666666667%, #1c7fe0 63.3333333333%, #17398f 70%, #000 80%, #000 100%);
  background-position:0 0;
  background-size:666.6666666667% 666.6666666667%;
  height:356.3806152344rem;
  inset:0;
  -webkit-mask-image:url(../img/firstview/hero-mask.svg);
  mask-image:url(../img/firstview/hero-mask.svg);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  opacity:0;
  pointer-events:none;
  position:absolute;
  width:639.9998779297rem;
}

.js-heroGradient-activate .Firstview_char img{
  opacity:0;
}
.js-heroGradient-activate .Firstview_gradient{
  animation:heroGradientPan 12s linear infinite alternate;
  opacity:1;
}

@keyframes heroGradientPan{
  0%{
    background-position:0 0;
  }
  to{
    background-position:100% 100%;
  }
}
.Intro{
  padding-top:367rem;
  position:relative;
  z-index:50;
}
.Intro__dome{
  background:linear-gradient(180deg, rgba(0,165,227,.7), #00a5e3 22%);
  display:block;
  height:1640rem;
  left:50%;
  -webkit-mask-image:url(../img/intro/dome.webp);
          mask-image:url(../img/intro/dome.webp);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
          mask-size:100% 100%;
  pointer-events:none;
  position:absolute;
  top:0;
  transform:translate(-50%);
  width:1820rem;
}
.Intro__dome:before{
  background:url(../img/noiz.png);
  content:"";
  inset:0;
  opacity:.1;
  pointer-events:none;
  position:absolute;
}
.Intro__inner{
  background:linear-gradient(180deg, #00a5e3 70%, rgba(0,165,227,0) 80%);
  padding-top:60rem;
  position:relative;
  z-index:100;
}
.Intro__inner{
  color:#fff;
}
.Intro__inner:before{
  background:url(../img/noiz.png);
  bottom:50%;
  content:"";
  left:0;
  opacity:.1;
  pointer-events:none;
  position:absolute;
  right:0;
  top:0;
  z-index:-1;
}
.Intro__title{
  font-size:64rem;
  font-weight:700;
  text-align:center;
}
.Intro__body{
  margin:128rem auto 0;
  position:relative;
  width:550rem;
}
.Intro__lead{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  font-weight:700;
  gap:10rem;
}
.Intro__lead span{
  color:#05a6e3;
  display:block;
  font-size:24rem;
  line-height:1.5833333333;
  padding:2rem 10rem 0;
  position:relative;
  z-index:0;
}
.Intro__lead span:before{
  background:url(../img/box.webp) 0 0/100% 100% no-repeat;
  border-radius:2rem;
  content:"";
  inset:0;
  position:absolute;
  z-index:-1;
}
.Intro__text{
  font-size:16rem;
  font-weight:600;
  line-height:2.2;
  margin:40rem 0 0;
}
.Intro__text *+*{
  margin-top:2em;
}
.Intro__image{
  position:absolute;
}
.Intro__image .cloud{
  max-width:none;
  position:absolute;
}
.Intro__image01{
  left:100%;
  margin-left:78rem;
  top:-55rem;
  width:266rem;
}
.Intro__image01 .cloud{
  left:-134rem;
  top:163rem;
  width:800rem;
}
.Intro__image02{
  margin-right:78rem;
  right:100%;
  top:290rem;
  width:323rem;
}
.Intro__image02 .cloud{
  right:-134rem;
  top:-163rem;
  width:800rem;
}
.Intro__image03{
  left:0;
  top:646rem;
  width:210rem;
}
.Intro__image03 .cloud{
  left:34rem;
  top:-220rem;
  width:764rem;
}
.Intro__bg{
  background:linear-gradient(180deg, #00a5e3 0, hsla(0,0%,95%,0) 60%);
  margin-top:150rem;
  width:100%;
}

@property --features-progress{
  syntax:"<number>";
  inherits:false;
  initial-value:0;
}
@property --features-cx{
  syntax:"<length>";
  inherits:false;
  initial-value:0;
}
@property --features-cy{
  syntax:"<length>";
  inherits:false;
  initial-value:0;
}
@property --features-rot{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
.Features{
  padding:100rem 0 580rem;
  position:relative;
  z-index:60;
}
.Features__title{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:14rem;
  position:relative;
  z-index:1;
}
.Features__title_eyebrow{
  align-items:flex-end;
  display:flex;
  gap:14rem;
  justify-content:center;
  width:100%;
}
.Features__title_eyebrowText{
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Features__title_deco{
  display:block;
  height:34rem;
  width:24rem;
}
.Features__title_deco--left{
  transform:scaleX(-1);
}
.Features__title_main{
  color:#1f1f1f;
  display:block;
  font-size:64rem;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Features__list{
  height:1013rem;
  margin:100rem auto 0;
  position:relative;
  width:1512rem;
  z-index:1;
}
.Features__card{
  height:808rem;
  left:0;
  position:absolute;
  top:0;
  width:437rem;
  --features-cx:calc(var(--features-cx0) + (var(--features-cx1) - var(--features-cx0))*var(--features-progress, 0));
  --features-cy:calc(var(--features-cy0) + (var(--features-cy1) - var(--features-cy0))*var(--features-progress, 0));
  --features-rot:calc(var(--features-rot0) + (var(--features-rot1) - var(--features-rot0))*var(--features-progress, 0));
  transform:translate3d(calc(var(--features-cx) - 218.5rem), calc(var(--features-cy) - 404rem), 0) rotate(var(--features-rot));
  will-change:transform;
}
.Features__card--01{
  z-index:1;
  --features-cx0:747.5rem;
  --features-cy0:482rem;
  --features-rot0:0deg;
  --features-cx1:278.5rem;
  --features-cy1:426.63rem;
  --features-rot1:-2deg;
  --features-sp-cx:202.5rem;
  --features-sp-cy:514.87rem;
  --features-sp-rot:-3deg;
}
.Features__card--02{
  z-index:3;
  --features-cx0:748.7rem;
  --features-cy0:515.22rem;
  --features-rot0:0deg;
  --features-cx1:784.7rem;
  --features-cy1:504.38rem;
  --features-rot1:2deg;
  --features-sp-cx:204rem;
  --features-sp-cy:1268.38rem;
  --features-sp-rot:2deg;
}
.Features__card--03{
  z-index:2;
  --features-cx0:673.5rem;
  --features-cy0:511rem;
  --features-rot0:0deg;
  --features-cx1:1304.92rem;
  --features-cy1:591.51rem;
  --features-rot1:5deg;
  --features-sp-cx:201.47rem;
  --features-sp-cy:2041.63rem;
  --features-sp-rot:-2deg;
}
.Features__card_bg{
  display:block;
  height:100%;
  width:100%;
}
.Features__card_photo{
  border-radius:200rem;
  height:300rem;
  left:68rem;
  overflow:hidden;
  position:absolute;
  top:75rem;
  width:300rem;
}
.Features__card_photo img{
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}
.Features__card_title{
  font-size:24rem;
  font-weight:700;
  left:47rem;
  line-height:1.7;
  position:absolute;
  text-align:justify;
  top:415rem;
  width:343rem;
}
.Features__card_title span{
  display:block;
}
.Features__card_underline{
  height:2rem;
  left:47rem;
  overflow:visible;
  position:absolute;
}
.Features__card_underline line{
  stroke:currentColor;
  stroke-dasharray:1 5 1 5;
  stroke-linecap:round;
  stroke-width:2;
}
.Features__card_underline--1{
  top:451rem;
}
.Features__card_underline--2{
  top:491rem;
}
.Features__card_text{
  font-size:16rem;
  font-weight:600;
  left:47rem;
  line-height:1.8;
  position:absolute;
  text-align:justify;
  top:537rem;
  width:343rem;
}
.Features__card--01,.Features__card--03{
  color:#fff;
}
.Features__card--02{
  color:#1f1f1f;
}
.Features__card--01 .Features__card_underline--1{
  width:238.5rem;
}
.Features__card--01 .Features__card_underline--2{
  width:193rem;
}
.Features__card--02 .Features__card_underline--1{
  width:314.5rem;
}
.Features__card--02 .Features__card_underline--2{
  width:193.6rem;
}
.Features__card--03 .Features__card_underline--1{
  width:289rem;
}
.Features__card--03 .Features__card_underline--2{
  width:237rem;
}
.Features__decos{
  inset:0;
  pointer-events:none;
  position:absolute;
  z-index:0;
}
.Features__decos_dot{
  height:calc(var(--w)*1rem);
  left:calc(var(--x)*1rem);
  position:absolute;
  top:calc(var(--y)*1rem);
  width:calc(var(--w)*1rem);
}
.Features__decos_dot--blue{
  color:#00a5e3;
}
.Features__decos_dot--yellow{
  color:#ffde17;
}
.Features__decos_dot--teal{
  color:#02a39a;
}
.Features__decos_dot svg{
  inset:-20%;
  overflow:visible;
  position:absolute;
}
.Features__decos_dot svg circle{
  fill:currentColor;
  filter:url(#grainNoise);
}

.Roadmap{
  padding-bottom:100rem;
  position:relative;
  z-index:70;
}
.Roadmap:after,.Roadmap:before{
  content:"";
  inset:0;
  position:absolute;
  z-index:-1;
}
.Roadmap:after{
  background:linear-gradient(180deg, #02bbb0, #00a5e3 50%, #004ea2);
  z-index:-2;
}
.Roadmap:before{
  background:url(../img/noiz.png);
  opacity:.1;
  z-index:-1;
}
.Roadmap__deco_top{
  background:linear-gradient(180deg, rgba(2,187,176,.7) .79%, #02bbb0);
  content:"";
  height:460rem;
  left:-4px;
  -webkit-mask-image:url(../img/roadmap/deco_top_mask.webp);
          mask-image:url(../img/roadmap/deco_top_mask.webp);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
          mask-size:100% 100%;
  position:absolute;
  right:-4px;
  top:-450rem;
  z-index:-2;
}
.Roadmap__deco_top:before{
  background:url(../img/noiz.png);
  inset:0;
  opacity:.1;
  z-index:10;
}
.Roadmap__deco_bottom,.Roadmap__deco_top:before{
  content:"";
  display:block;
  position:absolute;
}
.Roadmap__deco_bottom{
  background:#004ea2;
  height:298rem;
  left:-4px;
  -webkit-mask-image:url(../img/roadmap/deco_bottom_mask.webp);
          mask-image:url(../img/roadmap/deco_bottom_mask.webp);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
          mask-size:100% 100%;
  right:-4px;
  top:calc(100% - 4px);
  z-index:-2;
}
.Roadmap__deco_bottom:before{
  background:url(../img/noiz.png);
  content:"";
  display:block;
  inset:0;
  opacity:.1;
  position:absolute;
  z-index:10;
}
.Roadmap__title{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:14rem;
}
.Roadmap__title_eyebrow{
  align-items:flex-end;
  display:flex;
  gap:14rem;
  justify-content:center;
  width:100%;
}
.Roadmap__title_eyebrowText{
  color:#fff;
  font-size:18rem;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Roadmap__title_eyebrowText_line{
  display:inline;
}
.Roadmap__title_deco{
  display:block;
  height:34.733rem;
  width:24rem;
}
.Roadmap__title_deco--left{
  transform:scaleX(-1);
}
.Roadmap__title_main{
  color:#fff;
  display:block;
  font-size:64rem;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Roadmap__title_main_line{
  display:inline;
}
.Roadmap__lead{
  color:#fff;
  font-size:16rem;
  font-weight:600;
  line-height:2.2;
  margin:41rem auto 0;
  width:552rem;
}
.Roadmap__box{
  display:flex;
  margin:80rem 0 0;
}
.Roadmap__side{
  flex:0 0 auto;
  padding:0 48rem 0 80rem;
  position:relative;
  width:310rem;
}
.Roadmap__nav{
  position:sticky;
  top:80rem;
}
.Roadmap__nav_item{
  align-items:center;
  display:flex;
  gap:10rem;
  opacity:.6;
  position:relative;
  transition:opacity .3s ease;
}
.Roadmap__nav_item:first-of-type{
  z-index:8;
}
.Roadmap__nav_item:nth-of-type(2){
  z-index:7;
}
.Roadmap__nav_item:nth-of-type(3){
  z-index:6;
}
.Roadmap__nav_item:nth-of-type(4){
  z-index:5;
}
.Roadmap__nav_item:nth-of-type(5){
  z-index:4;
}
.Roadmap__nav_item:nth-of-type(6){
  z-index:3;
}
.Roadmap__nav_item.is-active{
  opacity:1;
}
.Roadmap__nav_dot{
  border:4rem solid #fff;
  border-radius:50%;
  box-sizing:border-box;
  display:block;
  flex-shrink:0;
  height:16rem;
  width:16rem;
}
.Roadmap__nav_text{
  color:#fff;
  font-family:var(--font-noto);
  font-size:18rem;
  font-weight:700;
  white-space:nowrap;
}
.Roadmap__bar{
  background:rgba(31,31,31,.5);
  border-radius:100px;
  flex:0 0 auto;
  height:calc(100vh - 160rem);
  padding:4rem;
  position:sticky;
  top:80rem;
  width:20rem;
}
.Roadmap__bar .dot{
  background:#fff;
  border-radius:100px;
  display:block;
  height:calc((100% - 12rem)*var(--roadmap-dot-progress, 0));
  left:6rem;
  position:absolute;
  top:6rem;
  width:8rem;
  will-change:height;
}
.Roadmap__body{
  display:flex;
  flex:0 1 auto;
  flex-direction:column;
  gap:145rem;
  width:100%;
}
.Roadmap__item{
  margin-left:auto;
  padding-top:80rem;
  width:1089rem;
}
.Roadmap__item_head{
  align-items:stretch;
  display:flex;
  gap:80rem;
}
.Roadmap__item_badge{
  align-items:center;
  background:#fff;
  border:2rem solid #fff;
  border-radius:30rem;
  box-sizing:border-box;
  color:#1f1f1f;
  display:flex;
  flex-shrink:0;
  font-size:16rem;
  font-weight:700;
  justify-content:center;
  padding:10rem 8rem;
  width:32rem;
}
.Roadmap__item_badge>span{
  display:flex;
  white-space:nowrap;
  writing-mode:vertical-lr;
}
.Roadmap__item_badge .num{
  display:block;
  margin:-.1em -.1em -.2em;
  text-align:left;
  text-orientation:upright;
}
.Roadmap__item_badge .kara{
  display:block;
  letter-spacing:normal;
  margin-inline:-.1em -.1em;
  writing-mode:initial;
}
.Roadmap__item_heading{
  display:flex;
  flex-direction:column;
  gap:34rem;
  justify-content:center;
  max-width:897rem;
}
.Roadmap__item_title{
  color:#fff;
  font-family:var(--font-noto);
  font-size:36rem;
  font-weight:700;
}
.Roadmap__item_text{
  color:#fff;
  font-size:16rem;
  line-height:1.8;
}
.Roadmap__item_slider{
  display:flex;
  flex-direction:column;
  gap:20rem;
  margin-top:20rem;
}
.Roadmap .splide__track{
  padding-bottom:10rem;
}
.Roadmap .splide__list{
  align-items:stretch;
  gap:20rem;
}
.Roadmap .splide__slide{
  opacity:.6;
  padding-right:20rem;
  width:686rem;
}
.Roadmap .splide__slide.is-active{
  opacity:1;
}
.Roadmap__card{
  background:#fff;
  border:2rem solid #fff;
  border-radius:60rem;
  box-sizing:border-box;
  color:#1f1f1f;
  display:flex;
  flex-direction:column;
  gap:27rem;
  height:100%;
  padding:71rem 57rem 84rem;
  width:100%;
}
.splide__slide.is-active .Roadmap__card{
  filter:drop-shadow(10rem 10rem 0 rgba(0, 0, 0, .08));
}
.Roadmap__card_title{
  font-size:20rem;
  font-weight:600;
}
.Roadmap__card_text{
  font-size:16rem;
  line-height:1.8;
}
.Roadmap__item_controls{
  align-items:center;
  display:flex;
  height:44rem;
  position:relative;
  width:163rem;
}
.Roadmap__item_arrow{
  background:none;
  border:0;
  cursor:pointer;
  display:block;
  height:44rem;
  padding:0;
  position:absolute;
  top:0;
  width:44rem;
}
.Roadmap__item_arrow--prev{
  left:1rem;
}
.Roadmap__item_arrow--next{
  left:116rem;
  transform:scaleX(-1);
}
.Roadmap__item_arrow.is-disabled{
  opacity:.4;
  pointer-events:none;
}
.Roadmap__item_arrowInner{
  display:block;
  height:100%;
  overflow:hidden;
  position:relative;
  width:100%;
}
.Roadmap__item_arrowInner img{
  display:block;
  height:100%;
  transition:transform .4s var(--ease-outquart), opacity .4s var(--ease-outquart);
  width:100%;
}
.Roadmap__item_counter{
  color:#fff;
  font-family:var(--font-en);
  font-size:16rem;
  font-weight:600;
  left:65rem;
  line-height:2.2;
  position:absolute;
  top:4.5rem;
  white-space:nowrap;
}

.LoopImages{
  margin-top:200rem;
  overflow:hidden;
  position:relative;
  z-index:0;
}
.LoopImages__row{
  display:flex;
  overflow:hidden;
}
.LoopImages__track{
  animation:loop-images 80s linear infinite;
  display:flex;
  flex:0 0 auto;
  will-change:transform;
}
.LoopImages__row--bottom .LoopImages__track{
  animation-direction:reverse;
}
.LoopImages__item{
  display:block;
  flex:0 0 auto;
  height:400rem;
  width:600rem;
}
.LoopImages__item img{
  display:block;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.Examinfo{
  position:relative;
  z-index:50;
}
.Examinfo:before{
  background:#f2f2f2;
  content:"";
  height:420rem;
  left:0;
  -webkit-mask-image:url(../img/examinfo/deco_top_mask.webp);
          mask-image:url(../img/examinfo/deco_top_mask.webp);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
          mask-size:100% 100%;
  pointer-events:none;
  position:absolute;
  top:-72rem;
  width:1512rem;
}
.Examinfo__inner{
  background:#f2f2f2;
  padding-bottom:450rem;
  padding-top:196rem;
  position:relative;
}
.Examinfo__title{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:14rem;
}
.Examinfo__title_eyebrow{
  align-items:flex-end;
  display:flex;
  gap:14rem;
  justify-content:center;
  width:100%;
}
.Examinfo__title_eyebrowText{
  font-size:18rem;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Examinfo__title_eyebrowText_line{
  display:inline;
}
.Examinfo__title_deco{
  display:block;
  height:34.733rem;
  width:24rem;
}
.Examinfo__title_deco--left{
  transform:scaleX(-1);
}
.Examinfo__title_main{
  color:#1f1f1f;
  display:block;
  font-size:64rem;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.Examinfo__grid{
  align-items:start;
  -moz-column-gap:77rem;
       column-gap:77rem;
  display:grid;
  grid-template-areas:"left media right";
  grid-template-columns:323rem 552rem 266rem;
  margin:112.267rem 137rem 0 80rem;
  position:relative;
}
.Examinfo__media{
  grid-area:media;
}
.Examinfo__photo{
  border-radius:60rem;
  display:block;
  height:442rem;
  overflow:hidden;
  position:relative;
  transform:translateZ(0);
  width:100%;
}
.Examinfo__photo .splide__list,.Examinfo__photo .splide__slide,.Examinfo__photo .splide__track{
  height:100%;
}
.Examinfo__photo img{
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}
.Examinfo__counter{
  align-items:center;
  display:flex;
  gap:10rem;
  justify-content:center;
  margin-top:10rem;
}
.Examinfo__counter_num{
  color:#1f1f1f;
  font-family:var(--font-en);
  font-size:16rem;
  font-weight:600;
  line-height:2.2;
}
.Examinfo__counter_line{
  flex:0 0 auto;
  height:2px;
  overflow:visible;
  width:180rem;
}
.Examinfo__counter_line_track{
  opacity:.4;
  stroke:#1f1f1f;
  stroke-dasharray:1 5 1 5;
  stroke-linecap:round;
  stroke-width:2;
}
.Examinfo__counter_line_progress{
  fill:none;
  stroke:#1f1f1f;
  stroke-dasharray:178;
  stroke-dashoffset:calc((1 - var(--examinfo-progress, 0))*178);
  stroke-linecap:round;
  stroke-width:2;
  transition:stroke-dashoffset .5s linear;
}
.Examinfo__col-left{
  grid-area:left;
}
.Examinfo__heading{
  color:#1f1f1f;
  font-family:var(--font-noto);
  font-size:24rem;
  font-weight:700;
  line-height:1.5;
}
.Examinfo__lead{
  color:#1f1f1f;
  font-size:16rem;
  line-height:1.8;
  margin-top:43rem;
}
.Examinfo__tag{
  align-items:center;
  color:#1f1f1f;
  display:flex;
  font-size:14rem;
  font-weight:600;
  gap:8rem;
  line-height:1.8;
  margin-top:46rem;
}
.Examinfo__tag_icon{
  display:block;
  flex:0 0 auto;
  height:15rem;
  width:16rem;
}
.Examinfo__note{
  color:#6b6b6b;
  font-size:14rem;
  line-height:1.8;
  margin-top:13rem;
}
.Examinfo__col-right{
  grid-area:right;
  margin-top:297rem;
}
.Examinfo__desc{
  color:#1f1f1f;
  font-size:16rem;
  line-height:1.8;
}
.Examinfo__link{
  color:#00a5e3;
  text-decoration:underline;
}
.Examinfo__actions{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:30rem;
  margin:64rem auto 0;
  width:680rem;
}
.Examinfo__button{
  align-items:center;
  border-radius:60rem;
  box-sizing:border-box;
  display:flex;
  height:96rem;
  justify-content:space-between;
  padding-inline:56rem;
  width:100%;
}
.Examinfo__button--primary{
  background:#1f1f1f;
  border:2px solid #000;
  color:#fff;
}
.Examinfo__button--secondary{
  background:#d8d8d8;
  border:2px solid #d8d8d8;
}
.Examinfo__button_label{
  font-size:24rem;
  font-weight:600;
  line-height:1.4;
}
.Examinfo__button--primary .Examinfo__button_label{
  color:#fff;
}
.Examinfo__button--secondary .Examinfo__button_label{
  color:#1f1f1f;
}
.Examinfo__button_icon{
  align-items:center;
  border-radius:2px;
  display:flex;
  flex:0 0 auto;
  justify-content:center;
  padding:4px 10px;
}
.Examinfo__button_icon--dark{
  background:#fff;
}
.Examinfo__button_icon--light{
  background:#1f1f1f;
}
.Examinfo__button_iconInner{
  display:block;
  height:12.4rem;
  overflow:hidden;
  position:relative;
  width:13.435rem;
}
.Examinfo__button_iconInner img{
  display:block;
  height:100%;
  transform:rotate(135deg) scaleY(-1);
  width:100%;
}
.Examinfo__button_iconInner img,.Examinfo__button_iconInner:after{
  transition:transform .4s var(--ease-outquart), opacity .4s var(--ease-outquart);
}
.Examinfo__button_iconInner:after{
  content:"";
  inset:0;
  opacity:0;
  position:absolute;
  transform:translate(-150%, 150%) rotate(135deg) scaleY(-1);
}
.Examinfo__button_icon--dark .Examinfo__button_iconInner:after{
  background:url(../img/examinfo/arrow_dark.svg) no-repeat 50%/contain;
}
.Examinfo__button_icon--light .Examinfo__button_iconInner:after{
  background:url(../img/examinfo/arrow_light.svg) no-repeat 50%/contain;
}

.News{
  margin-top:160rem;
  position:relative;
}
.News__inner{
  border-top:2rem dotted var(--color-black);
  display:flex;
  gap:70rem;
  margin:0 auto;
  padding:60rem 0 0;
  position:relative;
  width:1350rem;
}
.News__heading{
  color:#1f1f1f;
  font-size:24rem;
  font-weight:700;
  line-height:1.5;
  margin:0;
  padding:0 57rem;
  white-space:nowrap;
}
.News__list{
  display:flex;
  flex-direction:column;
  gap:6rem;
  list-style:none;
  margin:0;
  padding:0;
  width:826rem;
}
.News__item{
  position:relative;
}
.News__item_dot{
  background:url(../img/news/dot.svg) no-repeat 50%/contain;
  display:block;
  height:10rem;
  left:0;
  position:absolute;
  top:9rem;
  width:10rem;
}
.News__item_text{
  color:#1f1f1f;
  display:block;
  font-family:var(--font-gothic);
  font-size:16rem;
  font-weight:400;
  line-height:1.8;
  margin-left:26rem;
}
.News__item_link{
  color:#00a5e3;
  text-decoration:underline;
}
.News__banners{
  display:grid;
  gap:50rem 140rem;
  grid-template-columns:repeat(3, 1fr);
  margin:80rem auto 0;
  width:1240rem;
}
.News__banners>a{
  aspect-ratio:100/40;
  background:#ccc;
  display:block;
}

.Events{
  bottom:21rem;
  position:fixed;
  right:20rem;
  z-index:90;
}
.Events.is-closed{
  transform:translate(80%);
}
.Events.is-closed .Events__card_link{
  pointer-events:none;
}
.Events__panel{
  height:174.75rem;
  position:relative;
  width:320rem;
}
.Events__header{
  height:31rem;
  position:relative;
  z-index:10;
}
.Events__badge{
  align-items:center;
  background:#00a5e3;
  border:1px solid #85d1ed;
  border-radius:100rem;
  box-sizing:border-box;
  display:flex;
  height:31rem;
  left:0;
  padding:0 10rem;
  position:absolute;
  top:0;
  width:227rem;
}
.Events__badge_label{
  flex:0 0 auto;
  font-size:12rem;
  font-weight:600;
}
.Events__badge_label,.Events__badge_page{
  color:#fff;
  font-family:var(--font-en);
}
.Events__badge_page{
  flex:1 1 auto;
  font-size:10rem;
  font-weight:400;
  margin-left:11rem;
  white-space:nowrap;
}
.Events__arrow{
  align-items:center;
  border:0;
  border-radius:50%;
  box-shadow:0 10rem 30rem rgba(0,0,0,.1);
  cursor:pointer;
  display:flex;
  flex:0 0 auto;
  height:25rem;
  justify-content:center;
  padding:0;
  width:25rem;
}
.Events__arrow--prev{
  background:hsla(0,0%,100%,.1);
  margin-left:auto;
}
.Events__arrow--next{
  background:hsla(0,0%,100%,.1);
  margin-left:6rem;
}
.Events__arrow_icon{
  flex:0 0 auto;
  height:7.4rem;
  overflow:visible;
  width:8rem;
}
.Events__arrow_icon path{
  fill:none;
  stroke:#fff;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}
.Events__arrow--prev .Events__arrow_icon{
  transform:rotate(90deg);
}
.Events__arrow--next .Events__arrow_icon{
  transform:rotate(-90deg) scaleY(-1);
}
.Events__close{
  align-items:center;
  background:#1f1f1f;
  border:0;
  border-radius:100rem;
  box-sizing:border-box;
  cursor:pointer;
  display:flex;
  height:31rem;
  justify-content:center;
  padding:0;
  position:absolute;
  right:0;
  top:0;
  width:60rem;
}
.Events__close svg{
  flex:0 0 auto;
  height:8rem;
  overflow:visible;
  width:8rem;
}
.Events__close svg path{
  fill:none;
  stroke:#fff;
  stroke-linecap:round;
  stroke-width:2;
}
.Events__stack{
  list-style:none;
  position:relative;
}
.Events__card{
  filter:drop-shadow(0 3px 10px rgba(0, 0, 0, .1));
  left:0;
  opacity:0;
  pointer-events:none;
  position:absolute;
  top:5rem;
  transform:translateY(0) scale(1);
  transform-origin:center top;
  transition:top .9s var(--ease-outquint), opacity .9s var(--ease-outquint), transform .9s var(--ease-outquint);
  width:100%;
}
.Events__card[data-position="0"]{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  z-index:3;
}
.Events__card[data-position="1"]{
  opacity:1;
  top:22rem;
  transform:translateY(0) scale(.9375);
  z-index:2;
}
.Events__card[data-position="2"]{
  opacity:1;
  top:38.75rem;
  transform:translateY(0) scale(.875);
  z-index:1;
}
.Events__card[data-position=hidden]{
  opacity:0;
  top:38.75rem;
  transform:translateY(0) scale(.875);
  z-index:0;
}
.Events__card.is-exit-clone{
  opacity:1;
  pointer-events:none;
  top:5rem;
  transform:translateY(0) scale(1);
  z-index:4;
}
.Events__card.is-exiting{
  opacity:0;
  pointer-events:none;
  top:5rem;
  transform:translateY(-100%) scale(1);
  z-index:4;
}
.Events__card_link{
  align-items:flex-start;
  background:#fff;
  border-radius:10rem;
  box-sizing:border-box;
  display:flex;
  gap:13rem;
  height:120rem;
  overflow:clip;
  padding:20rem 17rem 20rem 20rem;
  position:relative;
  width:100%;
}
.Events__card_link:before{
  border:3px solid rgba(0,0,0,.2);
  border-radius:11rem;
  content:"";
  inset:-2px;
  position:absolute;
  transition:.3s ease;
  will-change:inset, border-color;
}
.Events__card_thumb{
  border-radius:4rem;
  display:block;
  flex:0 0 auto;
  height:80rem;
  overflow:hidden;
  width:80rem;
}
.Events__card_thumb img{
  display:block;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}
.Events__card_body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  height:100%;
  min-width:0;
}
.Events__card_title{
  color:#1f1f1f;
  font-family:var(--font-gothic);
  font-size:13rem;
  font-weight:500;
  line-height:1.5;
}
.Events__card_date{
  color:#1f1f1f;
  display:block;
  font-family:var(--font-en);
  font-size:10rem;
  font-weight:400;
  line-height:1.5;
  margin-top:auto;
  text-align:right;
}

.block{
  display:block !important;
}
.flex{
  display:flex !important;
}
.none{
  display:none !important;
}
html{
  font-size:var(--ratio-rem);
  --design-ratio:1512;
}
html{
  background:#f2f2f2;
  scrollbar-gutter:stable;
}
html.is-scrollLocked{
  overflow:hidden;
}

body{
  line-height:1.4;
  position:relative;
  -webkit-font-smoothing:antialiased;
  background:#f2f2f2;
  color:var(--color-black);
  font-family:var(--font-gothic);
  font-optical-sizing:auto;
  font-size:16rem;
  font-weight:500;
  padding-top:100vh;
}

img,svg{
  height:auto;
  image-rendering:optimize-contrast;
  max-width:100%;
  vertical-align:bottom;
  width:100%;
}

svg{
  overflow:visible;
  width:100%;
}

summary{
  display:block;
}

summary::-webkit-details-marker{
  display:none;
}

:where(a,button,input[type=submit]){
  color:var(--color-black);
  text-decoration:none;
}

picture{
  display:block;
}

iframe{
  border:0;
}

ol,ul{
  padding-left:1.2em;
}

em{
  font-style:normal;
}

a{
  word-break:break-all;
}
button{
  outline:none;
}

.wrapper{
  overflow-x:clip;
  width:100%;
}

@media screen and (min-width:768px){
  .Roadmap__nav_item:not(:last-child){
    margin-bottom:20rem;
  }
  a[href^="tel:"]{
    color:inherit !important;
    pointer-events:none;
    text-decoration:none;
  }}

@media screen and (min-width:768px) and (max-height:800rem){
  .Firstview_icon_item--nearLogo{
    scale:.6;
    translate:0 min(0px, 50vh - 416.5rem);
  }}

@media screen and (max-width:1511px){
  .lg\:block{
    display:block !important;
  }
  .lg\:flex{
    display:flex !important;
  }
  .lg\:none{
    display:none !important;
  }}

@media screen and (max-width:1023px){
  .md\:block{
    display:block !important;
  }
  .md\:flex{
    display:flex !important;
  }
  .md\:none{
    display:none !important;
  }}

@media screen and (max-width:767px){
  .Footer__dome{
    height:60rem;
    -webkit-mask-image:url(../img/footer/deco_top_mask_sp.svg);
            mask-image:url(../img/footer/deco_top_mask_sp.svg);
    top:-56rem;
  }
  .Footer__inner{
    padding:100rem 20rem 0;
  }
  .Footer__body{
    display:flex;
    flex-direction:column;
    gap:0;
    width:100%;
  }
  .Footer__org{
    order:1;
  }
  .Footer__org_name{
    font-size:20rem;
  }
  .Footer__org_sub{
    font-size:14rem;
  }
  .Footer__copyright{
    margin-top:35rem;
    order:3;
  }
  .Footer__links{
    margin-top:110rem;
    order:2;
    padding:0;
  }
  .Footer__marquee{
    margin:35rem -20rem 0;
    width:auto;
  }
  .Footer__marquee_item{
    width:60rem;
  }
  .Footer__marquee_circle{
    height:80rem;
    width:80rem;
  }
  .Footer__marquee_labelArc{
    height:120rem;
    width:80rem;
  }
  .Footer__marquee_labelText{
    font-size:20px;
    transform:translateY(4px);
  }
  .Firstview{
    align-items:flex-start;
    flex-direction:column;
    height:auto;
    justify-content:flex-start;
    min-height:100vh;
    padding:80rem 0;
    position:relative;
    top:auto;
  }
  .Firstview_icon_item--pc{
    display:none;
  }
  .Firstview_icon_item--sp{
    display:block;
    flex-shrink:0;
    position:static;
  }
  .Firstview_icon_row{
    display:flex;
  }
  .Firstview_heading{
    height:445rem;
    left:0;
    width:400rem;
  }
  .Firstview_logo{
    -moz-column-gap:8.29rem;
         column-gap:8.29rem;
    left:31rem;
    row-gap:9.968rem;
    top:55rem;
    width:200rem;
  }
  .Firstview_logoIcon{
    height:21.032rem;
    width:38.24rem;
  }
  .Firstview_logoText{
    font-size:16rem;
  }
  .Firstview_logoBadge{
    flex:0 0 auto;
    font-size:11rem;
    padding:5rem 4rem 2rem;
    text-align:center;
    width:160rem;
  }
  .Firstview_badge{
    left:271rem;
    top:0;
  }
  .Firstview_scrolldown{
    display:none;
  }
  .Firstview_headline{
    left:30rem;
    top:153rem;
    transform:scale(.5312501013);
    transform-origin:top left;
  }
  .Firstview_caption{
    font-size:13rem;
    left:118rem;
    text-align:left;
    top:376rem;
    width:264rem;
  }
  .Intro{
    padding-top:160rem;
  }
  .Intro__dome{
    height:390rem;
    width:470rem;
  }
  .Intro__inner{
    background:linear-gradient(180deg, #00a5e3 90%, rgba(0,165,227,0) 0);
  }
  .Intro__inner:before{
    bottom:300rem;
  }
  .Intro__title{
    font-size:30rem;
  }
  .Intro__body{
    margin-top:335rem;
    width:266rem;
  }
  .Intro__lead{
    gap:15rem;
  }
  .Intro__lead span{
    font-size:18rem;
  }
  .Intro__text{
    font-size:15rem;
    line-height:2;
    margin-top:24rem;
  }
  .Intro__image01{
    left:48rem;
    margin-left:0;
    top:-272rem;
    width:170rem;
  }
  .Intro__image01 .cloud{
    left:-20rem;
    top:120rem;
    width:480rem;
  }
  .Intro__image02{
    bottom:-326rem;
    left:-48rem;
    margin-right:0;
    top:auto;
    width:267rem;
  }
  .Intro__image02 .cloud{
    right:-45rem;
    top:-100rem;
    width:538rem;
  }
  .Intro__image03{
    bottom:-560rem;
    left:auto;
    right:0;
    top:auto;
    width:170rem;
  }
  .Intro__image03 .cloud{
    left:-130rem;
    top:-130rem;
    width:456rem;
  }
  .Intro__bg{
    margin-top:600rem;
  }
  .Features{
    padding:80rem 0 380rem;
  }
  .Features__title{
    gap:10rem;
  }
  .Features__title_eyebrowText{
    font-size:16rem;
  }
  .Features__title_main{
    font-size:48rem;
  }
  .Features__list{
    height:2438rem;
    margin-top:-40rem;
    width:402rem;
  }
  .Features__card{
    transform:translate3d(calc(var(--features-sp-cx) - 218.5rem), calc(var(--features-sp-cy) - 404rem), 0) rotate(var(--features-sp-rot));
  }
  .Features__decos{
    display:none;
  }
  .Roadmap__deco_top{
    height:240rem;
    left:-150rem;
    right:auto;
    top:-238rem;
    width:800rem;
  }
  .Roadmap__deco_bottom{
    height:157rem;
    left:-150rem;
    right:auto;
    width:800rem;
  }
  .Roadmap__title{
    gap:46rem;
  }
  .Roadmap__title_eyebrowText{
    text-align:center;
  }
  .Roadmap__title_eyebrowText_line{
    display:block;
    white-space:nowrap;
  }
  .Roadmap__title_main{
    font-size:40rem;
    text-align:center;
  }
  .Roadmap__title_main_line{
    display:block;
    white-space:nowrap;
  }
  .Roadmap__lead{
    line-height:1.8;
    margin-top:31rem;
    text-align:justify;
    width:266rem;
  }
  .Roadmap__side{
    padding:0;
    width:48rem;
  }
  .Roadmap__nav_item{
    background:#9ed7e1;
    border-radius:0 10rem 10rem 0;
    filter:drop-shadow(0 8rem 0 rgba(0, 0, 0, .08));
    justify-content:center;
    opacity:1;
    padding:15rem 0;
    width:100%;
  }
  .Roadmap__nav_item:not(:last-child){
    margin-bottom:-7rem;
  }
  .Roadmap__nav_item.is-active{
    background:#fff;
    z-index:10;
  }
  .Roadmap__nav_dot{
    display:none;
  }
  .Roadmap__nav_text{
    align-items:center;
    color:var(--color-text);
    display:flex;
    flex:0 0 auto;
    font-size:14rem;
    min-height:100rem;
    white-space:nowrap;
    writing-mode:vertical-lr;
  }
  .Roadmap__nav_text .num{
    display:block;
    margin:0 -.1em;
    text-align:left;
    text-orientation:upright;
  }
  .Roadmap__nav_text .kara{
    display:block;
    letter-spacing:normal;
  }
  .Roadmap__bar{
    display:none;
  }
  .Roadmap__body{
    gap:160rem;
    width:353rem;
  }
  .Roadmap__item{
    padding-left:20rem;
    width:100%;
  }
  .Roadmap__item_head{
    gap:0;
    padding-inline:26rem 20rem;
  }
  .Roadmap__item_badge{
    display:none;
  }
  .Roadmap__item_heading{
    gap:24rem;
    max-width:100%;
  }
  .Roadmap__item_title{
    font-size:22rem;
  }
  .Roadmap__item_slider{
    gap:25rem;
    margin-top:25rem;
  }
  .Roadmap .splide__track{
    height:var(--roadmap-stack-height, auto);
    overflow:visible;
    position:relative;
  }
  .Roadmap .splide__list{
    gap:0;
    height:100%;
    position:relative;
  }
  .Roadmap .splide__slide{
    opacity:0;
    padding-right:0;
    pointer-events:none;
    transition:opacity .3s ease;
    width:313rem;
    z-index:0;
  }
  .Roadmap .splide__slide.is-active{
    pointer-events:auto;
    z-index:2 !important;
  }
  .Roadmap .splide__slide.is-next{
    left:265rem;
    opacity:.6;
    overflow:hidden;
    pointer-events:auto;
    top:0;
    z-index:1;
  }
  .Roadmap__card{
    border-radius:30rem;
    gap:20rem;
    padding:40rem 30rem 30rem;
  }
  .Roadmap__card_title{
    font-size:18rem;
  }
  .Roadmap__card_text{
    font-size:14rem;
  }
  .Roadmap__item_controls{
    margin-left:50rem;
  }
  .LoopImages{
    margin-top:125rem;
  }
  .LoopImages__item{
    height:250rem;
    width:375rem;
  }
  .Examinfo:before{
    height:222rem;
    left:-93rem;
    -webkit-mask-image:url(../img/examinfo/deco_top_mask_sp.svg);
            mask-image:url(../img/examinfo/deco_top_mask_sp.svg);
    width:800rem;
  }
  .Examinfo__inner{
    padding-bottom:160rem;
    padding-top:120rem;
  }
  .Examinfo__title{
    gap:19rem;
  }
  .Examinfo__title_eyebrowText{
    text-align:center;
  }
  .Examinfo__title_eyebrowText_line{
    display:block;
    white-space:nowrap;
  }
  .Examinfo__title_main{
    font-size:36rem;
  }
  .Examinfo__grid{
    grid-template-areas:"media" "left" "right";
    grid-template-columns:1fr;
    margin:44rem 20rem 0;
    row-gap:49rem;
  }
  .Examinfo__photo{
    height:290rem;
  }
  .Examinfo__counter{
    margin-top:13rem;
  }
  .Examinfo__lead{
    margin-top:33rem;
  }
  .Examinfo__tag{
    margin-top:35rem;
  }
  .Examinfo__note{
    margin-top:20rem;
  }
  .Examinfo__col-right{
    margin-top:0;
  }
  .Examinfo__actions{
    gap:20rem;
    margin-top:44rem;
    width:362rem;
  }
  .Examinfo__button{
    height:120rem;
    padding-inline:30rem;
  }
  .Examinfo__button--secondary{
    background:transparent;
    border:1px solid #1f1f1f;
  }
  .Examinfo__button_label{
    font-size:18rem;
  }
  .Examinfo__button_iconInner{
    height:7.44rem;
    width:8.062rem;
  }
  .News{
    margin-top:80rem;
  }
  .News__inner{
    flex-direction:column;
    gap:0;
    height:auto;
    width:calc(100% - 40rem);
  }
  .News__heading{
    font-size:18rem;
    margin-bottom:20rem;
    padding:0;
  }
  .News__list{
    width:100%;
  }
  .News__item_dot{
    height:7rem;
    width:7rem;
  }
  .News__item_text{
    font-size:14rem;
    margin-left:16rem;
  }
  .News__banners{
    gap:20rem;
    grid-template-columns:repeat(2, 1fr);
    margin-top:40rem;
    width:calc(100% - 40rem);
  }
  .Events{
    position:static;
    width:100%;
  }
  .Events__panel{
    margin:40rem auto 30rem;
    width:362rem;
  }
  .Events__badge{
    width:256.794rem;
  }
  .Events__close{
    width:67.875rem;
  }
  .Events__card_link{
    padding-right:39.23rem;
    width:362rem;
  }
  .Events__card_thumb{
    width:90.5rem;
  }
  .sm\:block{
    display:block !important;
  }
  .sm\:flex{
    display:flex !important;
  }
  .sm\:none{
    display:none !important;
  }
  html{
    --design-ratio:400;
  }
  body{
    padding-top:0;
  }}

@media (hover:hover){
  .Footer__link:hover{
    opacity:1;
    text-decoration:underline;
  }
  .Footer__link:hover .Footer__linkIcon img{
    opacity:0;
    transform:translate(150%, -150%) rotate(135deg) scaleY(-1);
  }
  .Footer__link:hover .Footer__linkIcon:after{
    opacity:1;
    transform:translate(0) rotate(135deg) scaleY(-1);
  }
  .Roadmap__item_arrow:hover{
    opacity:1;
  }
  .Examinfo__button:hover{
    opacity:1;
    text-decoration:underline;
  }
  .Examinfo__button:hover .Examinfo__button_iconInner img{
    opacity:0;
    transform:translate(150%, -150%) rotate(135deg) scaleY(-1);
  }
  .Examinfo__button:hover .Examinfo__button_iconInner:after{
    opacity:1;
    transform:translate(0) rotate(135deg) scaleY(-1);
  }
  .Events__card_link{
    transition:.3s ease;
  }
  .Events__card_link:hover{
    opacity:1;
  }
  .Events__card_link:hover:before{
    border-color:#00a5e3;
    inset:-1px;
  }
  .Hover-opacity{
    text-decoration:none;
    transition:opacity .3s ease;
  }
  .Hover-opacity:hover{
    opacity:.6;
  }
  .Hover-underline{
    text-decoration:underline;
  }
  .Hover-underline:hover{
    opacity:1;
  }
  .Hover-imageZoom,.Hover-underline:hover{
    text-decoration:none;
  }
  .Hover-imageZoom .Hover-imageZoom-image{
    transition:transform .3s ease;
  }
  .Hover-imageZoom:hover{
    opacity:1;
  }
  .Hover-imageZoom:hover .Hover-imageZoom-image{
    transform:scale(1.05);
    transform-origin:center;
  }
  .Hover-roll__text{
    color:transparent;
    display:block;
    overflow:hidden;
    text-shadow:0 1.5em 0 var(--hover-roll-color-hover, var(--color-black)), 0 0 0 var(--hover-roll-color, var(--color-black));
    transition:text-shadow .3s;
  }
  .Hover-roll:hover{
    opacity:1;
  }
  .Hover-roll:hover .Hover-roll__text{
    text-shadow:0 0 0 var(--hover-roll-color-hover, var(--color-black)), 0 -1.5em 0 var(--hover-roll-color, var(--color-black));
  }
  :where(a,button,input[type=submit]){
    transition:opacity .3s ease;
  }
  :where(a,button,input[type=submit]):hover{
    opacity:.4;
  }}

@media (prefers-reduced-motion:reduce){
  .LoopImages__track{
    animation-play-state:paused;
  }}

/*# sourceMappingURL=style.css.map */

/* ロードマップ：縦書き数字のブラウザ間差異を抑える */
.Roadmap__item_badge > span {
  display: block;
}

.Roadmap__item_badge .num {
  display: inline;
  margin: 0;
  text-align: initial;
  text-orientation: mixed;
  text-combine-upright: all;
}

.Roadmap__item_badge .kara {
  display: inline;
  margin: 0;
  writing-mode: inherit;
}

@media screen and (max-width: 767px) {
  .Roadmap__nav_text {
    display: block;
    text-align: center;
    width: 1em;
    line-height: 1;
    margin: 0 auto;
  }

  .Roadmap__nav_text .num {
    display: inline;
    margin: 0;
    text-align: initial;
    text-orientation: mixed;
    text-combine-upright: all;
  }

  .Roadmap__nav_text .kara {
    display: inline;
  }
}