@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Noto+Sans+JP:wght@400;700&display=swap");

/* -----------------------------------------------------------
スタイルリセット
----------------------------------------------------------- */
/**
 * Swiper 7.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 27, 2021
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}/**
 * Swiper 7.3.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 18, 2021
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}* {
  margin: 0;
  padding: 0;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, a, span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

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

q:before, q:after {
  content: "";
}

object,
embed {
  vertical-align: top;
}

hr, legend {
  display: none;
  border: none;
}

abbr, acronym, fieldset {
  border: 0;
}

tr, th, td, caption {
  vertical-align: top;
  font-style: normal;
  font-weight: normal;
  text-align: left;
}

ol, ul {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
}

img {
  border: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: bottom;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

/**
 背景によって読みにくくなってしまった文字を読みやすくするためのシャドウ
 */
@keyframes gradient {
  0% {
    background-position: 0% 19%;
  }
  50% {
    background-position: 100% 82%;
  }
  100% {
    background-position: 0% 19%;
  }
}
@keyframes top-scroll {
  0% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
  }
  40% {
    transform-origin: 0 100%;
    transform: scale(1, 0);
  }
  60% {
    transform-origin: 0 0;
    transform: scale(1, 0);
  }
  99% {
    transform-origin: 0 0;
    transform: scale(1, 1);
  }
  100% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
  }
}
body, select, input, textarea, p, a, div {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-weight: 400;
  font-style: normal;
}

a {
  color: inherit;
  text-decoration: inherit;
  cursor: inherit;
}
a:active, a:focus {
  outline: none;
}
a {
  cursor: pointer;
}

body {
  background: #f7f7f7;
}

@media all and (min-width: 769px) {
  .pc {
    display: block;
  }
}
@media all and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media all and (max-width: 768px) {
  .sp {
    display: block;
  }
}
@media all and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

main .page-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  -moz-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  -o-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms; /* easeInOutQuint */
}
main .page-background.appear {
  opacity: 1;
}

.swiper-button-prev,
.swiper-button-next {
  position: relative;
  top: 0;
  transform: translate(0, 0);
  margin: 0;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: #262626 1px solid;
}
.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
}

.l-header {
  position: fixed;
  width: 100%;
  z-index: 100;
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
}
.l-header h1 {
  line-height: 0;
}
@media all and (max-width: 768px) {
  .l-header h1 {
    margin-left: 5.3333333333%;
    margin-top: 5.3333333333%;
    margin-bottom: 5.3333333333%;
    width: 19.7333333333%;
    z-index: 101;
  }
}
@media all and (min-width: 769px) {
  .l-header h1 {
    margin-left: 40px;
    margin-top: 32px;
    margin-bottom: 32px;
    width: 110px;
    max-width: 110px;
  }
}
.l-header h1 svg .group {
  -webkit-transition: 0 380ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
  -moz-transition: 0 380ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
  -ms-transition: 0 380ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
  -o-transition: 0 380ms cubic-bezier(0.23, 1, 0.32, 1) 500ms;
  transition: 0 380ms cubic-bezier(0.23, 1, 0.32, 1) 500ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.l-header h1 a {
  display: block;
}
.l-header h1 img {
  width: 100%;
}
.l-header__links {
  margin-right: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (max-width: 768px) {
  .l-header__links {
    justify-content: flex-end;
    width: 53.3333333333%;
    margin-right: 4.2666666667%;
  }
}
@media all and (max-width: 768px) {
  .l-header nav {
    width: 100%;
    background: #16202f;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    overflow: auto;
    max-height: 100vh;
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate(0, -100%);
  }
}
.l-header nav .subnavi {
  display: none;
}
@media all and (max-width: 768px) {
  .l-header nav .subnavi {
    padding-top: 0;
    padding-bottom: 0;
    background: #1c2738;
    height: 0;
    overflow: hidden;
    -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
    display: block;
  }
}
@media all and (max-width: 768px) {
  .l-header nav .subnavi.open {
    padding-top: 2.6666666667%;
    padding-bottom: 2.6666666667%;
    height: auto;
  }
  .l-header nav .subnavi.open a {
    padding: 6.1333333333% 0;
    opacity: 1;
  }
}
@media all and (max-width: 768px) {
  .l-header nav .subnavi li {
    border-top: none;
    padding-left: 14.4%;
  }
}
.l-header nav .subnavi a {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
}
@media all and (max-width: 768px) {
  .l-header nav .subnavi a {
    font-size: 3.7333333333vw;
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    padding: 0.5333333333% 0;
    opacity: 0;
  }
}
.l-header nav .subnavi a::after {
  display: none;
}
@media all and (min-width: 769px) {
  .l-header nav .l-footer__sns {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .l-header nav .l-footer__sns {
    padding-top: 10.6666666667%;
  }
}
@media all and (min-width: 769px) {
  .l-header nav .l-footer__copyarea {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .l-header nav .l-footer__copyarea {
    border-top: 0;
    padding-top: 10.6666666667%;
  }
}
.l-header nav > ul {
  display: flex;
  white-space: nowrap;
}
@media all and (max-width: 768px) {
  .l-header nav > ul {
    display: block;
    padding-top: 13.3333333333%;
    border-bottom: rgba(255, 255, 255, 0.1) 1px solid;
  }
}
.l-header nav > ul li {
  font-size: 15px;
  margin-right: 32px;
}
@media all and (max-width: 768px) {
  .l-header nav > ul li {
    font-size: 4.8vw;
    margin-right: 0;
    border-top: rgba(255, 255, 255, 0.1) 1px solid;
  }
}
.l-header nav > ul li .js-headernavi {
  position: relative;
}
@media all and (max-width: 768px) {
  .l-header nav > ul li .js-headernavi::after {
    content: "";
    display: block;
    position: absolute;
    right: 8.5333333333%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22chevron_down%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%20%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M13%2C1%2C7%2C7%2C1%2C1%22%20transform%3D%22translate(5.5%208)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
    background-size: contain;
    top: 50%;
    width: 6.4%;
    padding-top: 6.4%;
    transform: translate(0, -50%);
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-header nav > ul li .js-headernavi.open::after {
    transform: translate(0, -50%) rotate(180deg);
  }
}
.l-header nav > ul a {
  color: #262626;
  overflow: hidden;
  line-height: 1.4;
  position: relative;
  display: inline-block;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (min-width: 769px) {
  .l-header nav > ul a {
    opacity: 0;
  }
}
@media all and (min-width: 769px) {
  .l-header nav > ul a.appear {
    opacity: 1;
  }
}
@media all and (max-width: 768px) {
  .l-header nav > ul a {
    opacity: 1;
  }
}
@media all and (max-width: 768px) {
  .l-header nav > ul a {
    color: #fff;
    font-size: 4.2666666667vw;
  }
}
@media all and (min-width: 769px) {
  .l-header nav > ul a.active > div {
    color: #4060ff;
  }
}
.l-header nav > ul a > div {
  color: #262626;
  pointer-events: none;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media all and (min-width: 769px) {
  .l-header nav > ul a > div.appear {
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
@media all and (max-width: 768px) {
  .l-header nav > ul a > div {
    color: #fff;
    font-size: 4.2666666667vw;
  }
}
.l-header nav > ul a > div:last-child {
  line-height: 1;
  position: relative;
}
.l-header nav > ul a > div:last-child::after {
  position: absolute;
  content: "";
  display: none;
  height: 1px;
  width: 8px;
  background: #fff;
  top: 50%;
  right: -8px;
  transform: translate(100%, 0);
}
@media all and (max-width: 768px) {
  .l-header nav > ul a > div:last-child::after {
    width: 10px;
    right: -10px;
  }
}
@media all and (min-width: 769px) {
  .l-header nav > ul a:hover div {
    color: #4060ff;
  }
  .l-header nav > ul a:hover::before {
    opacity: 1;
  }
}
@media all and (max-width: 768px) {
  .l-header nav > ul a {
    display: block;
    padding: 6.1333333333% 0 6.1333333333% 8.5333333333%;
    color: #fff;
  }
}
.l-header nav > ul a {
  /*&::before {
    position: absolute;
    line-height: 1.5;
    left: 0;
    top: 0;
    @include lato-black;
    opacity: 0;
    color: $gray9;
    @include ease-out-quint($duration);
    @include mq_sp {
      display: none;
    }
  }

  // Service
  &.l-headernavi__service {
    &::before {
      content: 'Service';
    }
  }

  // Business
  &.l-headernavi__business {
    &::before {
      content: 'Business';
    }
  }

  // Company
  &.l-headernavi__company {
    &::before {
      content: 'Company';
    }
  }

  // News
  &.l-headernavi__news {
    &::before {
      content: 'News';
    }
  }

  // Contact
  &.l-headernavi__contact {
    &::before {
      content: 'Contact';
    }
  }*/
}
.l-header .p-button {
  width: 125px;
  padding: 11px 0;
  border: none;
  position: relative;
  z-index: 101;
}
@media all and (min-width: 769px) {
  .l-header .p-button::before {
    background: #4060ff;
  }
  .l-header .p-button p {
    color: #fff;
  }
  .l-header .p-button:hover {
    background: #fff;
  }
  .l-header .p-button:hover::before {
    background: #fff;
  }
  .l-header .p-button:hover p {
    color: #4060ff;
  }
}
@media all and (max-width: 768px) {
  .l-header .p-button {
    width: 22%;
    background: transparent;
    padding: 0;
    margin-right: 8%;
    border-radius: 0;
    line-height: 1.4;
  }
  .l-header .p-button::before {
    background: transparent;
  }
  .l-header .p-button p {
    color: #4060ff;
    font-size: 3.2vw;
  }
}
@media all and (min-width: 769px) {
  .l-header__navibutton {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .l-header__navibutton {
    width: 12%;
    padding-top: 12%;
    position: relative;
    z-index: 101;
  }
  .l-header__navibutton span {
    background: #262626;
    width: 75%;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-header__navibutton .line1 {
    margin-top: -25%;
  }
  .l-header__navibutton .line3 {
    margin-top: 25%;
  }
}
@media all and (min-width: 769px) {
  .l-header.scrolled {
    transform: translate(0, -105%);
  }
}
@media all and (max-width: 768px) {
  .l-header.scrolled .l-header__inner {
    background: #fff;
  }
}
.l-header.navi-open h1 svg .group {
  fill: #fff;
}
@media all and (max-width: 768px) {
  .l-header.navi-open nav {
    transform: translate(0, 0);
  }
}
.l-header.navi-open .l-header__navibutton span {
  background: #fff;
}
.l-header.navi-open .l-header__navibutton .line2 {
  opacity: 0;
}
.l-header.navi-open .l-header__navibutton .line1,
.l-header.navi-open .l-header__navibutton .line3 {
  margin-top: 0;
}
.l-header.navi-open .l-header__navibutton .line1 {
  transform: translate(-50%, -50%) rotate(-315deg);
}
.l-header.navi-open .l-header__navibutton .line3 {
  transform: translate(-50%, -50%) rotate(315deg);
}

.l-footer {
  width: 100%;
  position: relative;
  background: #16202f;
}
.l-footer__inner {
  margin: 0 auto;
}
@media all and (min-width: 769px) {
  .l-footer__inner {
    max-width: 1232px;
    padding: 0 40px;
  }
}
@media all and (max-width: 768px) {
  .l-footer__inner {
    max-width: none;
    padding: 0;
    width: 100%;
  }
}
.l-footer__info {
  width: 14.4097222222%;
  max-width: 166px;
}
@media all and (max-width: 768px) {
  .l-footer__info {
    width: 100%;
    max-width: none;
  }
}
.l-footer__info svg {
  width: 100%;
}
.l-footer__logo {
  display: block;
  width: 100%;
}
@media all and (max-width: 768px) {
  .l-footer__logo {
    display: none;
  }
}
.l-footer__sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media all and (min-width: 769px) {
  .l-footer__sns {
    width: 91.5662650602%;
    margin-top: 38.5542168675%;
  }
}
@media all and (max-width: 768px) {
  .l-footer__sns {
    width: 40.5333333333%;
    padding-bottom: 10.6666666667%;
    margin: 0 auto;
  }
}
.l-footer__snsicon {
  position: relative;
  width: 26.3157894737%;
  padding-top: 26.3157894737%;
  line-height: 0;
}
.l-footer__snsicon::before {
  content: "";
  border: #fff 1px solid;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1) 0ms; /* older webkit */
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -o-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms; /* easeOutBack */
}
.l-footer__snsicon svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media all and (min-width: 769px) {
  .l-footer__snsicon:hover::before {
    transform: translate(-50%, -50%) scale(1.1);
  }
}
.l-footer__snsicon.tw svg {
  width: 60%;
}
.l-footer__snsicon.fb svg {
  width: 20%;
}
.l-footer__snsicon.ig svg {
  width: 40%;
}
.l-footer__links {
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-bottom: 13.8888888889%;
  padding-top: 6.9444444444%;
  position: relative;
}
@media all and (max-width: 768px) {
  .l-footer__links {
    display: block;
    padding-top: 10.6666666667%;
    padding-bottom: 0;
  }
}
.l-footer__navi {
  flex-grow: 1;
  width: 79.8611111111%;
}
@media all and (max-width: 768px) {
  .l-footer__navi {
    width: 100%;
  }
}
@media all and (min-width: 769px) {
  .l-footer__navi .navi {
    display: flex;
    justify-content: flex-end;
    margin-right: 2.1739130435%;
  }
}
@media all and (min-width: 769px) {
  .l-footer__navi .navi > li:nth-child(3) {
    margin-left: 2.7777777778%;
  }
}
@media all and (min-width: 769px) {
  .l-footer__navi li {
    margin-left: 5.5555555556%;
  }
}
@media all and (max-width: 768px) {
  .l-footer__navi li {
    border-top: rgba(255, 255, 255, 0.1) 1px solid;
  }
}
.l-footer__navi li a {
  display: inline-block;
  color: #fff;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  position: relative;
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (max-width: 768px) {
  .l-footer__navi li a {
    line-height: 1;
    display: block;
    font-size: 4.2666666667vw;
    padding: 6.1333333333% 0;
  }
}
@media all and (min-width: 769px) {
  .l-footer__navi li a:hover {
    color: #00abdc;
  }
}
@media all and (max-width: 768px) {
  .l-footer__navi li .js-footernavi::after {
    content: "";
    display: block;
    position: absolute;
    right: 8.5333333333%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22chevron_down%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%20%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M13%2C1%2C7%2C7%2C1%2C1%22%20transform%3D%22translate(5.5%208)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
    background-size: contain;
    top: 50%;
    width: 6.4%;
    padding-top: 6.4%;
    transform: translate(0, -50%);
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-footer__navi li .js-footernavi.open::after {
    transform: translate(0, -50%) rotate(180deg);
  }
}
.l-footer__navi li span {
  line-height: 1;
  position: relative;
}
.l-footer__navi li span::after {
  position: absolute;
  content: "";
  display: none;
  height: 1px;
  width: 8px;
  background: #fff;
  top: 50%;
  right: -8px;
  transform: translate(100%, 0);
}
@media all and (max-width: 768px) {
  .l-footer__navi li span {
    padding-left: 8.5333333333%;
  }
  .l-footer__navi li span::after {
    width: 10px;
    right: -10px;
  }
}
.l-footer__navi .subnavi {
  width: 100%;
}
@media all and (min-width: 769px) {
  .l-footer__navi .subnavi {
    margin-top: 20px;
  }
}
@media all and (max-width: 768px) {
  .l-footer__navi .subnavi {
    padding-top: 0;
    padding-bottom: 0;
    background: #1c2738;
    height: 0;
    overflow: hidden;
    -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
  }
}
@media all and (max-width: 768px) {
  .l-footer__navi .subnavi.open {
    padding-top: 2.6666666667%;
    padding-bottom: 2.6666666667%;
    height: auto;
  }
  .l-footer__navi .subnavi.open a {
    padding: 6.1333333333% 0;
    opacity: 1;
  }
}
@media all and (min-width: 769px) {
  .l-footer__navi .subnavi li {
    margin: 12px 0 0 0;
  }
}
@media all and (max-width: 768px) {
  .l-footer__navi .subnavi li {
    border-top: none;
    padding-left: 14.4%;
  }
}
.l-footer__navi .subnavi a {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
}
@media all and (max-width: 768px) {
  .l-footer__navi .subnavi a {
    font-size: 3.7333333333vw;
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    padding: 0.5333333333% 0;
    opacity: 0;
  }
}
.l-footer__navi .subnavi a::after {
  display: none;
}
.l-footer__pagetop {
  position: absolute;
  width: 4.1666666667%;
  padding-top: 4.1666666667%;
  right: 0;
  bottom: 0;
  margin-bottom: 3.6458333333%;
  cursor: pointer;
  -webkit-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -moz-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -ms-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -o-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
  transform: translate(0, 30px);
}
.l-footer__pagetop::before {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1) 0ms; /* older webkit */
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -o-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms; /* easeOutBack */
}
@media all and (min-width: 769px) {
  .l-footer__pagetop:hover::before {
    transform: scale(1.15);
  }
}
@media all and (max-width: 768px) {
  .l-footer__pagetop {
    width: 12.8%;
    padding-top: 12.8%;
    bottom: auto;
    right: 4.2666666667%;
    top: 0;
    transform: translate(0, -50%);
  }
}
.l-footer__pagetop .chevron_up {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
}
.l-footer__pagetop.appear {
  transform: translate(0, 0);
}
@media all and (max-width: 768px) {
  .l-footer__pagetop.appear {
    transform: translate(0, -50%);
  }
}
.l-footer__copyarea {
  width: 100%;
  border-top: rgba(255, 255, 255, 0.1) 1px solid;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 3.4722222222%;
  padding-bottom: 6.9444444444%;
}
@media all and (max-width: 768px) {
  .l-footer__copyarea {
    width: 100%;
    padding-top: 18.6666666667%;
    padding-left: 8%;
    padding-right: 8%;
    margin: 0 auto;
  }
}
.l-footer__copy {
  color: #fff;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
}
@media all and (max-width: 768px) {
  .l-footer__copy {
    font-size: 2.6666666667vw;
  }
}
.l-footer__policy {
  color: #fff;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  text-align: right;
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (min-width: 769px) {
  .l-footer__policy:hover {
    color: #00abdc;
  }
}
@media all and (max-width: 768px) {
  .l-footer__policy {
    font-size: 2.6666666667vw;
  }
}

.p-button {
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border: #4060ff 1px solid;
  padding: 23px 0 22px;
  -webkit-transition: clip-path 800ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms;
  -moz-transition: clip-path 800ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms;
  -ms-transition: clip-path 800ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms;
  -o-transition: clip-path 800ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms;
  transition: clip-path 800ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (max-width: 768px) {
  .p-button {
    padding: 3.4920634921% 0 2.8571428571%;
  }
}
.p-button p {
  font-size: 16px;
  color: #4060ff;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02rem;
  position: relative;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media all and (min-width: 769px) {
  .p-button p {
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
@media all and (max-width: 768px) {
  .p-button p {
    font-size: 3.7333333333vw;
  }
}
@media all and (min-width: 769px) {
  .p-button p {
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
.p-button::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 99.2%;
  height: 100.5%;
  background: #fff;
  border-radius: 80px;
}
@media all and (min-width: 769px) {
  .p-button::before {
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
.p-button.type-arrow {
  justify-content: flex-start;
}
.p-button.type-arrow p {
  padding-left: 30px;
}
.p-button.type-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 15px;
  padding-top: 15px;
  transform: translate(0, -50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.667%2014.495%22%3E%20%3Cline%20x2%3D%2211.667%22%20transform%3D%22translate(1%207.248)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M12%2C5l5.833%2C5.833L12%2C16.667%22%20transform%3D%22translate(-5.167%20-3.586)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media all and (max-width: 768px) {
  .p-button.type-arrow::after {
    right: 15.7142857143%;
    width: 11.4285714286%;
  }
}
.p-button.type-arrowback::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30px;
  width: 15px;
  padding-top: 15px;
  transform: translate(0, -50%) rotate(180deg);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.667%2014.495%22%3E%20%3Cline%20x2%3D%2211.667%22%20transform%3D%22translate(1%207.248)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M12%2C5l5.833%2C5.833L12%2C16.667%22%20transform%3D%22translate(-5.167%20-3.586)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media all and (max-width: 768px) {
  .p-button.type-arrowback::after {
    right: 15.7142857143%;
    width: 11.4285714286%;
  }
}
.p-button.type-blank {
  justify-content: flex-start;
}
.p-button.type-blank p {
  padding-left: 30px;
}
.p-button.type-blank::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 20px;
  padding-top: 20px;
  transform: translate(0, -50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22external-link%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%20%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22none%22%2F%3E%20%3Cg%20transform%3D%22translate(2.5%202.5)%22%3E%20%3Cpath%20d%3D%22M13.5%2C9.833V16.5H1V4H7.667%22%20transform%3D%22translate(-1%20-1.5)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M13%2C1h5V6%22%20transform%3D%22translate(-3%20-1)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20y1%3D%229.167%22%20x2%3D%229.167%22%20transform%3D%22translate(5.833)%22%20fill%3D%22none%22%20stroke%3D%22%234060ff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
}
.p-button.type-accordion {
  justify-content: flex-start;
}
.p-button.type-accordion p {
  padding-left: 30px;
}
.p-button.type-accordion::after {
  content: "";
  display: block;
  width: 12px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 32px;
  background: url('data:image/svg+xml,<svg viewBox="0 0 18 10" xmlns="http://www.w3.org/2000/svg"><path d="M17,10a1,1,0,0,1-.707-.293L9,2.414,1.707,9.707A1,1,0,0,1,.293,8.293l8-8a1,1,0,0,1,1.414,0l8,8A1,1,0,0,1,17,10Z" fill="%234060ff" /></svg>') no-repeat;
  transform: translate(0, -50%) rotate(180deg);
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.p-button.type-accordion.-open::after {
  transform: translate(0, -50%) rotate(0deg);
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.p-button.type-gray {
  border: #e5e5e5 1px solid;
  background: #e5e5e5;
}
.p-button.type-gray::before {
  background: #e5e5e5;
}
.p-button.type-gray p {
  color: #262626;
}
.p-button.type-blue {
  background: #4060ff;
}
.p-button.type-blue::before {
  background: #4060ff;
}
.p-button.type-blue p {
  color: #fff;
}
.p-button.type-center p {
  text-align: center;
}
@media all and (min-width: 769px) {
  .p-button:hover {
    -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #4060ff;
  }
  .p-button:hover::before {
    width: 100.4%;
    background: #4060ff;
  }
  .p-button:hover p {
    color: #fff;
  }
  .p-button:hover.type-gray {
    background: #fff;
    border: #4060ff 1px solid;
    -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
    transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
  }
  .p-button:hover.type-gray::before {
    background: #fff;
  }
  .p-button:hover.type-gray p {
    color: #4060ff;
  }
  .p-button:hover::after {
    filter: brightness(500%);
  }
}

.p-table {
  display: table;
}
.p-table__group {
  display: table-row-group;
}
.p-table__head {
  display: table-cell;
  vertical-align: middle;
  border-bottom: #262626 1px solid;
}
.p-table__body {
  display: table-cell;
  vertical-align: middle;
  border-bottom: #f2f2f2 1px solid;
}

.js-header2 > div {
  opacity: 0;
}

.l-section {
  width: 100%;
  position: relative;
}
.l-section__inner {
  margin: 0 auto;
  position: relative;
}
@media all and (min-width: 769px) {
  .l-section__inner {
    max-width: 1232px;
    padding: 0 40px;
  }
}
@media all and (max-width: 768px) {
  .l-section__inner {
    padding: 0;
  }
}
.l-section__inner h3 {
  font-size: 24px;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.l-section__inner h3 div {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  will-change: transform;
}
.l-section__inner h3 {
  color: #4060ff;
}
@media all and (max-width: 768px) {
  .l-section__inner h3 {
    font-size: 4.2666666667vw;
  }
}
.l-section__inner h3 span {
  position: relative;
}
.l-section__inner h3 span:not(.-noborder)::after {
  will-change: transform;
  content: "";
  height: 1px;
  width: 24px;
  background: #4060ff;
  position: absolute;
  top: 50%;
  right: -12px;
  transform-origin: 0 0;
  transform: translate(100%, -50%) scale(0, 1);
  -webkit-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 1200ms;
  -moz-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 1200ms;
  -ms-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 1200ms;
  -o-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 1200ms;
  transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 1200ms; /* easeOutQuint */
}
.l-section__inner h3.appear span::after {
  transform: translate(100%, -50%) scale(1, 1);
}
.l-section .text-area .text__body > h2 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  line-height: 1.3;
  font-size: 40px;
}
.l-section .text-area .text__body > h2 div {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  will-change: transform;
  opacity: 0;
}
@media all and (max-width: 768px) {
  .l-section .text-area .text__body > h2 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 6.4vw;
  }
}
.l-section .text-area .text__body > h2.type-white {
  color: #fff;
}
.l-section .text-area .text__body > h2.type-white div {
  color: #fff;
}
.l-section .text-area .text__body > p {
  line-height: 1.8;
  font-size: 18px;
  text-align: justify;
}
@media all and (max-width: 768px) {
  .l-section .text-area .text__body > p {
    font-size: 3.7333333333vw;
  }
}
.l-section .text-area .text__body > p.type-white {
  color: #fff;
}
.l-section .text-area.type-right {
  margin: 0 0 0 auto;
}
.l-section .text-area.js-lazyclass > p,
.l-section .text-area .js-lazyclass > p {
  opacity: 0;
  transform: translate(0, 10px);
  -webkit-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 900ms;
  -moz-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 900ms;
  -ms-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 900ms;
  -o-transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 900ms;
  transition: all 680ms cubic-bezier(0.215, 0.61, 0.355, 1) 900ms; /* easeOutQuint */
}
.l-section .text-area.js-lazyclass .p-button,
.l-section .text-area .js-lazyclass .p-button {
  clip-path: ellipse(50% 100% at -100% 50%);
}
.l-section .text-area.appear > p,
.l-section .text-area .appear > p {
  opacity: 1;
  transform: translate(0, 0);
}
.l-section .text-area.appear .buttons .p-button,
.l-section .text-area .appear .buttons .p-button {
  clip-path: ellipse(50% 100% at 50% 50%);
}
.l-section .maskleft {
  clip-path: polygon(0% 0%, 0% 0, 0% 150%, 0 150%);
  -webkit-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  -moz-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  -o-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms; /* easeInOutCubic */
}
.l-section .maskleft.appear {
  clip-path: polygon(0% 0%, 150% 0, 150% 150%, 0 150%);
}
.l-section .maskright {
  clip-path: polygon(150% 0%, 150% 0, 150% 150%, 150% 150%);
  -webkit-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  -moz-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  -o-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms;
  transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 100ms; /* easeInOutCubic */
}
.l-section .maskright.appear {
  clip-path: polygon(0% 0%, 150% 0, 150% 150%, 0 150%);
}

@media all and (max-width: 992px) {
  .newsarea .p-table__group {
    width: 100%;
    grid-template-columns: 50% 50%;
    display: grid;
  }
}
@media all and (max-width: 768px) {
  .newsarea .p-table__group {
    width: 100%;
    grid-template-columns: 50% 50%;
    display: grid;
  }
}
@media all and (max-width: 992px) {
  .newsarea .p-table__body,
  .newsarea .p-table__head {
    display: block;
  }
}
@media all and (max-width: 768px) {
  .newsarea .p-table__body,
  .newsarea .p-table__head {
    display: block;
  }
}
@media all and (max-width: 992px) {
  .newsarea__label {
    border: none;
    grid-row: 1;
    grid-column: 2;
  }
}
@media all and (max-width: 768px) {
  .newsarea__label {
    border: none;
    grid-row: 1;
    grid-column: 2;
  }
}
.newsarea .label {
  width: 100%;
  background: #257df0;
  color: #fff;
  line-height: 1;
  font-size: 11px;
  padding: 8px 0;
  border-radius: 4px;
  text-align: center;
}
@media all and (max-width: 992px) {
  .newsarea .label {
    width: 61.5384615385%;
    margin: 0 0 0 auto;
  }
}
@media all and (max-width: 768px) {
  .newsarea .label {
    width: 61.5384615385%;
    font-size: 2.6666666667vw;
    margin: 0 0 0 auto;
  }
}
.newsarea .label.type-gray4 {
  background: #404040;
}
.newsarea .label.type-sky2 {
  background: #257df0;
}
.newsarea .label.type-sky4, .newsarea .label.type-press {
  background: #00abdc;
}
.newsarea .label.type-purple {
  background: #5f57d9;
}
.newsarea__date {
  align-items: center;
}
.newsarea__date .news__date {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #262626;
  font-size: 16px;
}
@media all and (max-width: 992px) {
  .newsarea__date .news__date {
    display: inline-block;
  }
}
@media all and (max-width: 768px) {
  .newsarea__date .news__date {
    display: inline-block;
    font-size: 3.7333333333vw;
  }
}
@media all and (max-width: 992px) {
  .newsarea__date {
    width: 100%;
    grid-row: 1;
    grid-column: 1;
    border: none;
  }
}
@media all and (max-width: 768px) {
  .newsarea__date {
    width: 100%;
    grid-row: 1;
    grid-column: 1;
    border: none;
  }
}
.newsarea__body {
  vertical-align: top;
}
@media all and (max-width: 992px) {
  .newsarea__body {
    grid-row: 2;
    grid-column: 1/3;
    display: block;
    padding-bottom: 6.3492063492%;
  }
}
@media all and (max-width: 768px) {
  .newsarea__body {
    grid-row: 2;
    grid-column: 1/3;
    display: block;
    padding-bottom: 6.3492063492%;
  }
}

#contact {
  background: rgba(22, 33, 52, 0.95);
}
@media all and (min-width: 769px) {
  #contact {
    padding: 170px 0 160px;
  }
}
@media all and (max-width: 768px) {
  #contact {
    padding: 21.3333333333% 0;
  }
}
#contact .text-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media all and (max-width: 768px) {
  #contact .text-area {
    display: block;
    width: 84%;
    margin: 0 auto;
  }
}
#contact .text__body {
  flex-grow: 1;
  width: 64.2361111111%;
}
@media all and (max-width: 768px) {
  #contact .text__body {
    width: 100%;
  }
}
#contact .text__body h2 {
  font-size: 32px;
}
@media all and (max-width: 768px) {
  #contact .text__body h2 {
    font-size: 6.4vw;
  }
}
#contact .text__body p {
  margin-top: 2.7027027027%;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media all and (max-width: 768px) {
  #contact .text__body p {
    font-size: 3.7333333333vw;
    margin-top: 7.619047619%;
  }
}
#contact .button-area {
  width: 320px;
}
@media all and (max-width: 768px) {
  #contact .button-area {
    width: 100%;
  }
}
#contact .p-button {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 7.5% 0 7.1875%;
}
@media all and (max-width: 768px) {
  #contact .p-button {
    width: 76.1904761905%;
    max-width: none;
    margin-top: 15.873015873%;
    padding: 5.3968253968% 0;
  }
}
#contact .p-button p {
  padding-left: 4.1666666667%;
}
@media all and (min-width: 769px) {
  #contact .p-button p {
    font-size: 20px;
  }
}
@media all and (max-width: 768px) {
  #contact .p-button p {
    font-size: 4.2666666667vw;
  }
}
#contact .p-button svg {
  width: 11.6666666667%;
  position: relative;
  padding-left: 18.3333333333%;
}
@media all and (max-width: 768px) {
  #contact .p-button svg {
    width: 10%;
    padding-left: 17.5%;
  }
}
#contact .p-button .contact-icon-mail {
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (min-width: 769px) {
  #contact .p-button:hover svg {
    stroke: #fff;
  }
}

main {
  overflow: hidden;
  width: 100%;
}

#keyvisual {
  height: 100vh;
}

.s-1 {
  background: #f7f7f7;
}

/*.s-2 {
  background: rgba(0, 200, 0, 0.2);
}
.s-3 {
  background: rgba(0, 0, 200, 0.2);
}
.s-4 {
  background: rgba(200, 200, 0, 0.2);
}
.s-5 {
  background: rgba(200, 0, 200, 0.2);
}
.s-6 {
  background: rgba(0, 0, 250, 0.2);
}*/
@media all and (max-width: 768px) {
  #mission {
    padding-bottom: 42.6666666667%;
    padding-top: 42.6666666667%;
  }
}
#mission h2 div {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
}
@media all and (min-width: 769px) {
  #mission h2 {
    font-size: 32px;
  }
}
@media all and (max-width: 768px) {
  #mission h2 {
    font-size: 4.8vw;
  }
}
#mission .l-section__inner {
  height: 100vh;
}
@media all and (max-width: 768px) {
  #mission .l-section__inner {
    display: flex;
    flex-direction: column-reverse;
    height: auto;
  }
}
@media all and (min-width: 769px) {
  #mission .text-area {
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
    max-width: 420px;
  }
}
@media all and (max-width: 768px) {
  #mission .text-area {
    max-width: none;
    width: 88%;
    margin: 0 auto;
    margin-top: 21.3333333333%;
  }
}
#mission .mission__body > p {
  font-size: 18px;
  color: #262626;
  margin-top: 35px;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media all and (max-width: 768px) {
  #mission .mission__body > p {
    text-shadow: rgb(247, 247, 247) 1px 1px 5px, rgb(247, 247, 247) -1px -1px 5px, rgb(247, 247, 247) -1px 1px 5px, rgb(247, 247, 247) 1px -1px 5px;
    font-size: 3.7333333333vw;
    letter-spacing: -0.01rem;
    margin-top: 7.619047619%;
  }
}
#mission .p-button {
  margin-top: 60px;
  width: 57.1428571429%;
}
@media all and (max-width: 768px) {
  #mission .p-button {
    margin-top: 15.873015873%;
    width: 66.6666666667%;
    padding: 5.0793650794% 0;
  }
}
#mission .image-area {
  position: absolute;
}
@media all and (min-width: 769px) {
  #mission .image-area {
    width: 35.4166666667%;
    padding-top: 39.9305555556%;
    top: 50%;
    right: 12.1527777778%;
    transform: translate(0, -50%);
  }
}
@media all and (max-width: 992px) {
  #mission .image-area {
    width: 35.4166666667%;
    right: 5.2083333333%;
  }
}
@media all and (max-width: 768px) {
  #mission .image-area {
    position: relative;
    width: 100%;
    padding-top: 84.5333333333%;
    transform: translate(0, 0);
    top: 0;
    right: auto;
  }
}
#mission .missionimage > div {
  position: absolute;
  left: 50%;
  top: 50%;
  will-change: transform;
}
#mission .missionimage > div p {
  color: #262626;
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  font-size: 16px;
  margin-top: 15px;
  opacity: 0;
  transform: translate(0, 106%);
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (max-width: 768px) {
  #mission .missionimage > div p {
    margin-top: 2.6666666667%;
    font-size: 3.2vw;
  }
}
#mission .missionimage > div p.appear {
  transform: translate(0, 0);
  opacity: 1;
}
#mission .missionimage > div img {
  display: block;
  margin: 0 auto;
}
#mission .missionimage__logo {
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}
#mission .missionimage__logo img {
  width: 40.6862745098%;
  transform: scale(0);
}
@media all and (max-width: 768px) {
  #mission .missionimage__logo img {
    width: 30.4%;
  }
}
#mission .missionimage__icon {
  width: 29.4117647059%;
  transform: translate3d(-50%, -65%, 0);
}
@media all and (max-width: 768px) {
  #mission .missionimage__icon {
    width: 25.6%;
  }
}
#mission .missionimage__icon img {
  transform: scale(0);
  perspective: 1200px;
  width: 60%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__icon img {
    width: 54.1666666667%;
  }
}
#mission .missionimage__tec {
  margin-top: -26.4705882353%;
  margin-left: -36.7647058824%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__tec {
    margin-top: -18.6666666667%;
    margin-left: -26.1333333333%;
  }
}
#mission .missionimage__bigdata {
  margin-top: -40.4411764706%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__bigdata {
    margin-top: -29.3333333333%;
  }
}
#mission .missionimage__ai {
  margin-top: -26.4705882353%;
  margin-left: 36.7647058824%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__ai {
    margin-top: -18.6666666667%;
    margin-left: 26.1333333333%;
  }
}
#mission .missionimage__personalize {
  margin-top: 33.8235294118%;
  margin-left: -36.7647058824%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__personalize {
    margin-top: 24%;
    margin-left: -26.1333333333%;
  }
}
#mission .missionimage__creativity {
  margin-top: 47.7941176471%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__creativity {
    margin-top: 34.6666666667%;
  }
}
#mission .missionimage__experience {
  margin-top: 33.8235294118%;
  margin-left: 36.7647058824%;
}
@media all and (max-width: 768px) {
  #mission .missionimage__experience {
    margin-top: 24%;
    margin-left: 26.1333333333%;
  }
}
#mission .missionimage.appear .missionimage__logo {
  opacity: 1;
}
#mission .missionimage.appear .missionimage__logo p {
  transform: translate(0, 0);
}
#mission .missionimage.appear .missionimage__tec,
#mission .missionimage.appear .missionimage__bigdata,
#mission .missionimage.appear .missionimage__ai,
#mission .missionimage.appear .missionimage__personalize,
#mission .missionimage.appear .missionimage__creativity,
#mission .missionimage.appear .missionimage__experience {
  opacity: 1;
  transform: translate(-50%, -50%);
}
#mission .missionimage.appear .missionimage__tec p,
#mission .missionimage.appear .missionimage__bigdata p,
#mission .missionimage.appear .missionimage__ai p,
#mission .missionimage.appear .missionimage__personalize p,
#mission .missionimage.appear .missionimage__creativity p,
#mission .missionimage.appear .missionimage__experience p {
  transform: translate(0, 0);
}

@media all and (min-width: 769px) {
  #news {
    height: 100vh;
    min-height: 500px;
  }
}
@media all and (max-width: 768px) {
  #news {
    height: auto;
    padding-bottom: 26.6666666667%;
  }
}
@media all and (min-width: 769px) {
  #news .l-section__inner {
    height: 100%;
  }
}
@media all and (min-width: 769px) {
  #news .newswrap {
    position: relative;
    top: 50%;
    width: 100%;
    transform: translate(0, -50%);
  }
}
@media all and (max-width: 768px) {
  #news .newswrap {
    padding-top: 21.3333333333%;
    padding-bottom: 0;
    display: block;
    position: relative;
  }
}
#news h2 {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 64px;
  line-height: 1;
  color: #262626;
}
#news h2 div {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media all and (max-width: 768px) {
  #news h2 {
    font-size: 8.5333333333vw;
  }
}
#news .text-area {
  position: absolute;
  width: 280px;
}
@media all and (max-width: 768px) {
  #news .text-area {
    position: relative;
    width: 84%;
    margin: 0 auto;
  }
}
#news {
  /*.buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: percent(35px, 748px);
    @include mq_sp {
      width: 100%;
      margin-top: percent(15px, $spInner);
    }
  }
  .p-button {
    @include mq_sp {
      width: percent(100px, $spInner);
    }
    p {
      font-size: 12px;
      padding: 10px 15px;
      @include mq_sp {
        @include spfontsize(10px);
        padding: percent(6px, $spInner) 0;
      }
    }
  }*/
}
#news .newsarea {
  background: #fff;
  margin: 0 0 0 auto;
  position: relative;
  top: 0;
}
@media all and (min-width: 769px) {
  #news .newsarea {
    box-shadow: rgba(0, 0, 0, 0.12) 20px 20px 40px;
    padding-top: 0.8680555556%;
    padding-bottom: 0.8680555556%;
    width: 90.2777777778%;
    right: -12.1527777778%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea {
    margin-top: 5.3333333333%;
    padding-top: 5.3333333333%;
    padding-bottom: 6.4%;
    box-shadow: rgba(0, 0, 0, 0.15) 0 20px 40px;
    right: auto;
  }
}
#news .newsarea .p-table {
  width: 84.6153846154%;
  margin: 2.8846153846% 10.5769230769% 2.8846153846% 7.6923076923%;
}
@media all and (max-width: 992px) {
  #news .newsarea .p-table {
    width: 76.9230769231%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea .p-table {
    width: 84%;
    margin: 0 auto;
  }
}
@media all and (max-width: 992px) {
  #news .newsarea .p-table__group {
    margin-bottom: 1.9230769231%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea .p-table__group {
    margin-bottom: 5.3333333333%;
  }
}
#news .newsarea .p-table__body,
#news .newsarea .p-table__head {
  padding-top: 2.8846153846%;
  padding-bottom: 2.8846153846%;
}
@media all and (max-width: 992px) {
  #news .newsarea .p-table__body,
  #news .newsarea .p-table__head {
    display: block;
    padding-top: 3.75%;
    padding-bottom: 3.75%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea .p-table__body,
  #news .newsarea .p-table__head {
    display: block;
    padding-top: 6.3492063492%;
    padding-bottom: 6.3492063492%;
  }
}
#news .newsarea__label {
  width: 11.5384615385%;
  white-space: nowrap;
}
@media all and (max-width: 992px) {
  #news .newsarea__label {
    width: 100%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea__label {
    width: 100%;
  }
}
#news .newsarea__date {
  padding-left: 1.9230769231%;
  width: 13.4615384615%;
  white-space: nowrap;
}
@media all and (max-width: 992px) {
  #news .newsarea__date {
    width: 100%;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea__date {
    width: 100%;
  }
}
#news .newsarea .news__text {
  font-size: 16px;
  color: #262626;
  padding-left: 1.9230769231%;
  display: block;
}
@media all and (max-width: 768px) {
  #news .newsarea .news__text {
    font-size: 3.7333333333vw;
  }
}
#news .newsarea a.news__text {
  -webkit-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: all 380ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (min-width: 769px) {
  #news .newsarea a.news__text:hover {
    color: #4060ff;
  }
}
#news .newsarea .p-button {
  width: 220px;
  margin: 3.3653846154% 10.5769230769% 40px auto;
}
@media all and (min-width: 769px) {
  #news .newsarea .p-button {
    padding: 20px 0 19px;
  }
}
@media all and (max-width: 992px) {
  #news .newsarea .p-button {
    margin: 1.4423076923% 14.4230769231% 2.8846153846% auto;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea .p-button {
    width: 37.3333333333%;
    margin: 2.6666666667% 8% 0 auto;
  }
}
@media all and (min-width: 769px) {
  #news .newsarea .p-button p {
    font-size: 15px;
  }
}
@media all and (max-width: 768px) {
  #news .newsarea .p-button p {
    padding-left: 16.4285714286%;
  }
}

#service {
  height: 100vh;
}
@media all and (max-width: 768px) {
  #service {
    height: auto;
  }
}
@media all and (min-width: 769px) {
  #service .l-section__inner {
    height: 100%;
  }
}
@media all and (max-width: 768px) {
  #service .l-section__inner {
    padding-bottom: 26.6666666667%;
  }
}
#service .text-area {
  position: relative;
}
@media all and (min-width: 769px) {
  #service .text-area {
    top: 50%;
    transform: translate(0, -50%);
    width: 50.3472222222%;
  }
}
@media all and (max-width: 768px) {
  #service .text-area {
    width: 84%;
    margin: 0 auto;
    padding-top: 16%;
    padding-bottom: 13.3333333333%;
  }
}
#service .text-area h2 {
  margin-top: 9.4827586207%;
}
@media all and (max-width: 768px) {
  #service .text-area h2 {
    margin-top: 12.6984126984%;
    letter-spacing: -0.03rem;
  }
}
#service .text-area .text__body > p {
  margin-top: 6.8965517241%;
  line-height: 2;
}
@media all and (max-width: 768px) {
  #service .text-area .text__body > p {
    text-shadow: rgb(247, 247, 247) 1px 1px 5px, rgb(247, 247, 247) -1px -1px 5px, rgb(247, 247, 247) -1px 1px 5px, rgb(247, 247, 247) 1px -1px 5px;
    margin-top: 7.9365079365%;
  }
}
#service .p-button {
  max-width: 240px;
  width: 240px;
  margin-top: 10.3448275862%;
}
@media all and (max-width: 768px) {
  #service .p-button {
    width: 57.1428571429%;
    max-width: none;
    margin-top: 15.873015873%;
    padding: 5.3968253968% 0;
  }
}
#service .image-area {
  line-height: 0;
}
#service .image-area > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 768px) {
  #service .image-area > div {
    position: relative;
  }
}
@media all and (min-width: 769px) {
  #service .image-area {
    top: 50%;
    position: absolute;
    width: 68.5763888889%;
    transform: translate(0, -50%);
    right: -11.2847222222%;
    padding-top: 64.2361111111%;
  }
}
@media all and (max-width: 768px) {
  #service .image-area {
    position: relative;
    width: 123.4666666667%;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
#service .image-area .shadow {
  display: block;
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  opacity: 0;
  -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
  -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
  -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
  -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms;
  transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms; /* easeOutQuint */
}
#service .image-area .devices {
  position: absolute;
  max-width: 576px;
  width: 72.9113924051%;
  margin-left: 12.2784810127%;
  top: 0;
  overflow: visible;
}
@media all and (max-width: 768px) {
  #service .image-area .devices {
    max-width: none;
    margin-left: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 72.5701943844%;
    position: relative;
  }
}
#service .image-area .device {
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 0;
  top: 0;
  left: 0;
  -webkit-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 500ms;
  -moz-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 500ms;
  -o-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 500ms;
  transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 500ms; /* easeInOutCubic */
}
#service .image-area .device .device-wrap {
  -webkit-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 400ms;
  -moz-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 400ms;
  -o-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 400ms;
  transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 400ms; /* easeInOutCubic */
  clip-path: polygon(0 0, 0% 0, -30% 100%, 0 100%);
}
#service .image-area .device.swiper-slide-active, #service .image-area .device.swiper-slide-duplicate-active {
  z-index: 10;
}
#service .image-area .device.swiper-slide-active .device-wrap, #service .image-area .device.swiper-slide-duplicate-active .device-wrap {
  -webkit-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  -moz-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  -o-transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  transition: all 680ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms; /* easeInOutCubic */
  clip-path: polygon(0 0, 130% 0, 100% 100%, 0 100%);
}
#service .image-area .device .device1 {
  max-width: 330px;
  width: 57.2916666667%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  -webkit-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
  -moz-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
  -ms-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
  -o-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 300ms;
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 300ms; /* easeOutQuint */
  opacity: 0;
  transform: translate(30%, 0);
}
#service .image-area .device .device2 {
  max-width: 330px;
  width: 57.2916666667%;
  margin-top: 15.625%;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  -webkit-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 400ms;
  -moz-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 400ms;
  -ms-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 400ms;
  -o-transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 400ms;
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1) 400ms; /* easeOutQuint */
  opacity: 0;
  transform: translate(-30%, 0);
}
#service .image-area .device .dummy {
  opacity: 0;
  width: 100%;
  display: block;
}
#service .image-area.appear .shadow {
  opacity: 1;
}
#service .image-area.appear .device .device1,
#service .image-area.appear .device .device2 {
  opacity: 1;
  transform: translate(0, 0);
}
#service .image-area .device-control {
  position: absolute;
  width: 33.3333333333%;
  padding-top: 8.3333333333%;
  right: 6.9444444444%;
  bottom: 0;
}
@media all and (max-width: 768px) {
  #service .image-area .device-control {
    width: 56.5476190476%;
    padding-top: 13.6904761905%;
    right: 0;
    bottom: auto;
    top: 100%;
  }
}
#service .image-area .device-control__nums {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 33.8541666667%;
}
#service .image-area .device-control__nums > span {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  color: #cccccc;
}
@media all and (max-width: 768px) {
  #service .image-area .device-control__nums > span {
    font-size: 3.7333333333vw;
  }
}
#service .image-area .device-control__nums .current {
  color: #262626;
}
#service .image-area .device-control__nums .separator {
  padding: 0 12px;
  display: inline-block;
}
@media all and (max-width: 768px) {
  #service .image-area .device-control__nums .separator {
    padding: 0 12.6315789474%;
  }
}
#service .image-area .device-control__nums::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 10px;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: #cccccc;
}
@media all and (max-width: 768px) {
  #service .image-area .device-control__nums::after {
    height: 18px;
  }
}
#service .image-area .device-control__buttons {
  position: absolute;
  right: 0;
  top: 0;
  width: 54.1666666667%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
#service .image-area .device-control .swiper-button-prev,
#service .image-area .device-control .swiper-button-next {
  width: 46.1538461538%;
  height: 100%;
}
#service .image-area .device-control .swiper-button-prev svg,
#service .image-area .device-control .swiper-button-next svg {
  width: 20.8333333333%;
}
#service .image-area .device-control .swiper-button-prev::before,
#service .image-area .device-control .swiper-button-next::before {
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1) 0ms; /* older webkit */
  -webkit-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  -o-transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
  transition: all 380ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms; /* easeOutBack */
}
@media all and (min-width: 769px) {
  #service .image-area .device-control .swiper-button-prev:hover::before,
  #service .image-area .device-control .swiper-button-next:hover::before {
    transform: scale(1.1);
  }
}
#service .image-area .device1 {
  width: 100%;
}

#partnership {
  height: 100vh;
}
@media all and (max-width: 768px) {
  #partnership {
    height: auto;
  }
}
#partnership .l-section__inner {
  height: 100%;
}
@media all and (max-width: 768px) {
  #partnership {
    padding-bottom: 53.3333333333%;
  }
}
#partnership .text-area {
  position: relative;
}
@media all and (min-width: 769px) {
  #partnership .text-area {
    top: 50%;
    transform: translate(0, -50%);
    width: 39.9305555556%;
  }
}
@media all and (max-width: 992px) {
  #partnership .text-area {
    width: 50.3472222222%;
  }
}
@media all and (max-width: 768px) {
  #partnership .text-area {
    border: none;
    padding-top: 21.3333333333%;
    padding-bottom: 16%;
    width: 84%;
    margin: 0 auto;
  }
}
#partnership .text-area h2 {
  margin-top: 9.4827586207%;
}
@media all and (max-width: 768px) {
  #partnership .text-area h2 {
    margin-top: 12.6984126984%;
  }
}
#partnership .text-area .text__body > p {
  margin-top: 6.8965517241%;
  line-height: 2;
}
@media all and (max-width: 768px) {
  #partnership .text-area .text__body > p {
    text-shadow: rgb(247, 247, 247) 1px 1px 5px, rgb(247, 247, 247) -1px -1px 5px, rgb(247, 247, 247) -1px 1px 5px, rgb(247, 247, 247) 1px -1px 5px;
    margin-top: 7.9365079365%;
  }
}
#partnership .text-area .p-button {
  margin-top: 13.0434782609%;
  width: 240px;
}
@media all and (max-width: 768px) {
  #partnership .text-area .p-button {
    width: 64.7619047619%;
    max-width: none;
    margin-top: 15.873015873%;
    padding: 5.3968253968% 0;
  }
}
#partnership .image-area {
  position: absolute;
}
@media all and (min-width: 769px) {
  #partnership .image-area {
    width: 27.7777777778%;
    padding-top: 27.7777777778%;
    top: 50%;
    transform: translate(0, -50%);
    margin-left: 5.2083333333%;
  }
}
@media all and (max-width: 768px) {
  #partnership .image-area {
    position: relative;
    width: 53.3333333333%;
    padding-top: 53.3333333333%;
    top: auto;
    transform: translate(0, 0);
    margin: 0 auto;
  }
}
#partnership .image-area::before {
  content: "";
  background: #4060ff;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  position: absolute;
  box-shadow: rgba(0, 0, 0, 0.12) 20px 20px 40px;
  transform: translate(-50%, -50%) rotate(45deg);
}
#partnership .partnerimg__giftmall, #partnership .partnerimg__partner {
  position: absolute;
  width: 57.5%;
  padding-top: 57.5%;
  background: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
  box-shadow: rgba(0, 0, 0, 0.12) 20px 20px 40px;
}
#partnership .partnerimg__giftmall img, #partnership .partnerimg__partner img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#partnership .partnerimg__giftmall {
  margin-left: -43.75%;
  opacity: 0;
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#partnership .partnerimg__giftmall img {
  width: 59.7826086957%;
}
#partnership .partnerimg__partner {
  margin-left: 43.75%;
  opacity: 0;
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 1100ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 1100ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 1100ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 1100ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 1100ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#partnership .partnerimg__partner img {
  width: 43.4782608696%;
}
#partnership .partnerimg__dots {
  width: 28.125%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#partnership .partnerimg__dots .dot {
  position: absolute;
  display: block;
  background: #cccccc;
  width: 13.3333333333%;
  padding-top: 13.3333333333%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
#partnership .partnerimg__dots .dot1 {
  margin-left: -22.2222222222%;
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 400ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 400ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 400ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 400ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 400ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#partnership .partnerimg__dots .dot2 {
  margin-left: 22.2222222222%;
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 700ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 700ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 700ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 700ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 700ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#partnership .partnerimg__dots .dot3 {
  -webkit-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 550ms;
  -moz-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 550ms;
  -ms-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 550ms;
  -o-transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 550ms;
  transition: all 680ms cubic-bezier(0.23, 1, 0.32, 1) 550ms; /* easeOutQuint */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#partnership .partnerimg.appear .partnerimg__giftmall {
  opacity: 1;
}
#partnership .partnerimg.appear .partnerimg__partner {
  opacity: 1;
}
#partnership .partnerimg.appear .dot {
  opacity: 1;
}

#company {
  padding: 190px 0;
  background: #16202f;
  overflow: hidden;
}
@media all and (max-width: 768px) {
  #company {
    padding: 21.3333333333% 0 0;
  }
}
#company .text-area {
  position: relative;
  width: 46.875%;
  z-index: 1;
}
@media all and (max-width: 768px) {
  #company .text-area {
    width: 84%;
    margin: 0 auto;
  }
}
#company .text-area h2 {
  margin-top: 11.5384615385%;
}
@media all and (max-width: 768px) {
  #company .text-area h2 {
    margin-top: 12.6984126984%;
  }
}
#company .text-area .text__body > p {
  margin-top: 7.6923076923%;
}
@media all and (max-width: 768px) {
  #company .text-area .text__body > p {
    margin-top: 7.9365079365%;
  }
}
#company .text-area .p-button {
  margin-top: 11.5384615385%;
  width: 240px;
}
@media all and (max-width: 768px) {
  #company .text-area .p-button {
    width: 57.1428571429%;
    max-width: none;
    margin-top: 15.873015873%;
    padding: 5.3968253968% 0;
  }
}
#company .text-area input {
  display: block;
  width: 100%;
  background: #FFF;
  margin: 10px 0;
}
#company .image-area {
  pointer-events: none;
}
@media all and (min-width: 769px) {
  #company .image-area {
    position: absolute;
    top: 50%;
    right: -17.3611111111%;
    transform: translate(0, -50%);
    width: 83.3333333333%;
    padding-top: 83.3333333333%;
    line-height: 0;
  }
}
@media all and (max-width: 768px) {
  #company .image-area {
    display: block;
    position: relative;
    width: 100%;
  }
}
#company .image-area .earth,
#company .image-area .earth2,
#company .image-area canvas {
  top: 0;
  opacity: 1;
}
@media all and (min-width: 769px) {
  #company .image-area .earth,
  #company .image-area .earth2,
  #company .image-area canvas {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media all and (max-width: 768px) {
  #company .image-area .earth,
  #company .image-area .earth2,
  #company .image-area canvas {
    width: 128%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1.2);
    margin-top: -0.2666666667%;
  }
}
#company .image-area canvas {
  z-index: 2;
  width: 100%;
}
@media all and (max-width: 768px) {
  #company .image-area canvas {
    width: 100%;
    position: absolute;
  }
}
#company .image-area .earth {
  z-index: 3;
  opacity: 1;
  pointer-events: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media all and (min-width: 769px) {
  #company .image-area .earth {
    width: 62.5%;
  }
}
@media all and (max-width: 768px) {
  #company .image-area .earth {
    position: absolute;
    width: 62.5%;
  }
}
#company .image-area .earth2 {
  z-index: 1;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  pointer-events: none;
}
@media all and (min-width: 769px) {
  #company .image-area .earth2 {
    width: 95%;
    padding-right: 1.4583333333%;
  }
}
@media all and (max-width: 768px) {
  #company .image-area .earth2 {
    position: relative;
    width: 100%;
    transform: translate(0, 0);
    left: 0;
    top: 0;
  }
}

#recruit .text-area {
  padding-top: 27.7777777778%;
  padding-bottom: 27.7777777778%;
  width: 50%;
}
@media all and (max-width: 768px) {
  #recruit .text-area {
    padding-top: 42.6666666667%;
    padding-bottom: 10.6666666667%;
    width: 84%;
    margin: 0 auto;
  }
}
#recruit .text-area h2 {
  margin-top: 9.5486111111%;
}
@media all and (max-width: 768px) {
  #recruit .text-area h2 {
    margin-top: 12.6984126984%;
  }
}
#recruit .text-area .text__body > p {
  margin-top: 6.9444444444%;
}
@media all and (max-width: 768px) {
  #recruit .text-area .text__body > p {
    text-shadow: rgb(247, 247, 247) 1px 1px 5px, rgb(247, 247, 247) -1px -1px 5px, rgb(247, 247, 247) -1px 1px 5px, rgb(247, 247, 247) 1px -1px 5px;
    margin-top: 7.9365079365%;
  }
}
#recruit .text-area .p-button {
  margin-top: 10.4166666667%;
  width: 240px;
}
@media all and (max-width: 768px) {
  #recruit .text-area .p-button {
    width: 57.1428571429%;
    max-width: none;
    margin-top: 15.873015873%;
    padding: 5.3968253968% 0;
  }
}
@media all and (min-width: 769px) {
  #recruit .image-area {
    position: absolute;
    width: 52.0833333333%;
    padding-top: 53.6458333333%;
    top: 50%;
    transform: translate(0, -50%);
    margin-left: -12.1527777778%;
  }
}
@media all and (max-width: 768px) {
  #recruit .image-area {
    padding-bottom: 42.6666666667%;
    width: 100%;
    position: static;
  }
}
#recruit .image-area .photo1,
#recruit .image-area .photo2 {
  position: absolute;
  width: 86.6666666667%;
  max-width: 520px;
  line-height: 0;
  top: 0;
}
@media all and (max-width: 768px) {
  #recruit .image-area .photo1,
  #recruit .image-area .photo2 {
    position: static;
    width: 84%;
  }
}
#recruit .image-area .photo1 img,
#recruit .image-area .photo2 img {
  width: 100%;
  box-shadow: rgba(0, 0, 0, 0.12) 20px 20px 40px;
}
@media all and (min-width: 769px) {
  #recruit .image-area .photo1 {
    left: 0;
  }
}
@media all and (min-width: 769px) {
  #recruit .image-area .photo2 {
    right: 0;
    margin-top: 52.5889967638%;
  }
}
@media all and (max-width: 768px) {
  #recruit .image-area .photo2 {
    margin: 6.4% 0 0 auto;
  }
}
/**
 背景によって読みにくくなってしまった文字を読みやすくするためのシャドウ
 */
@keyframes gradient {
0% {
    background-position: 0% 19%;
}
50% {
    background-position: 100% 82%;
}
100% {
    background-position: 0% 19%;
}
}
@keyframes top-scroll {
0% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
}
40% {
    transform-origin: 0 100%;
    transform: scale(1, 0);
}
60% {
    transform-origin: 0 0;
    transform: scale(1, 0);
}
99% {
    transform-origin: 0 0;
    transform: scale(1, 1);
}
100% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
}
}
.background {
  opacity: 0;
  -webkit-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  -moz-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  -o-transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms;
  transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1) 100ms; /* easeInOutQuint */
}
.background.appear {
  opacity: 1;
}
/**
 背景によって読みにくくなってしまった文字を読みやすくするためのシャドウ
 */
@keyframes gradient-77605871 {
0% {
    background-position: 0% 19%;
}
50% {
    background-position: 100% 82%;
}
100% {
    background-position: 0% 19%;
}
}
@keyframes top-scroll-77605871 {
0% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
}
40% {
    transform-origin: 0 100%;
    transform: scale(1, 0);
}
60% {
    transform-origin: 0 0;
    transform: scale(1, 0);
}
99% {
    transform-origin: 0 0;
    transform: scale(1, 1);
}
100% {
    transform-origin: 0 100%;
    transform: scale(1, 1);
}
}
.keyvisual[data-v-77605871] {
  width: 100%;
  height: 100%;
}
@media all and (max-width: 768px) {
.keyvisual[data-v-77605871] {
    max-height: -webkit-fill-available;
}
}
.keyvisual .debug[data-v-77605871] {
  position: fixed;
  bottom: 40px;
  left: 40px;
}
.keyvisual .background[data-v-77605871] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.keyvisual__inner[data-v-77605871] {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  transform: translate(-50%, 0);
}
@media all and (min-width: 769px) {
.keyvisual__inner[data-v-77605871] {
    max-width: none;
    margin: 0 auto 70px;
}
}
@media all and (max-width: 768px) {
.keyvisual__inner[data-v-77605871] {
    margin: 0 auto 29.3333333333%;
}
}
.keyvisual h1[data-v-77605871] {
  line-height: 0;
}
@media all and (min-width: 769px) {
.keyvisual h1[data-v-77605871] {
    max-width: 920px;
    margin: 0 0 0 80px;
    width: 79.8611111111%;
}
}
@media all and (max-width: 768px) {
.keyvisual h1[data-v-77605871] {
    max-width: none;
    width: 87.2%;
    margin: 0 auto;
    filter: drop-shadow(0 0 2px rgb(255, 255, 255));
}
}
.keyvisual h1 .gift[data-v-77605871] {
  width: 22.0652173913%;
  margin-bottom: 2.6086956522%;
}
@media all and (max-width: 768px) {
.keyvisual h1 .gift[data-v-77605871] {
    width: 22.2996515679%;
    margin: 0 0 2.787456446% 0;
}
}
.keyvisual h1 .gift g[data-v-77605871] {
  stroke: #4060ff;
  fill: transparent;
}
.keyvisual h1 .ctw[data-v-77605871] {
  width: 100%;
}
.keyvisual h1 .ctw g[data-v-77605871] {
  stroke: #262626;
  fill: transparent;
}
.keyvisual__scroll[data-v-77605871] {
  position: fixed;
  bottom: 0;
  -webkit-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -moz-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -ms-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  -o-transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms;
  transition: all 380ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms; /* easeOutQuint */
}
@media all and (min-width: 769px) {
.keyvisual__scroll[data-v-77605871] {
    height: 100px;
    right: 40px;
}
}
@media all and (max-width: 768px) {
.keyvisual__scroll[data-v-77605871] {
    padding-top: 17.0666666667%;
    width: 4.8%;
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transition: all 160ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -moz-transition: all 160ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -ms-transition: all 160ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    -o-transition: all 160ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
    transition: all 160ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; /* easeOutQuint */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
}
.keyvisual__scroll p[data-v-77605871] {
  font-family: "Lato", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  position: absolute;
  top: 0;
  transform-origin: 0 0;
  margin-left: 9px;
  transform: rotate(90deg) translate(0%, -100%);
}
@media all and (max-width: 768px) {
.keyvisual__scroll p[data-v-77605871] {
    font-size: 3.2vw;
    margin-left: 0;
    left: 50%;
    transform: rotate(0deg) translate(-50%, -150%);
}
}
.keyvisual__scroll[data-v-77605871]::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #707070;
  left: 0;
  top: 0;
  -moz-animation-name: top-scroll-77605871;
  -moz-animation-duration: 2s;
  -moz-animation-timing-function: ease;
  -moz-animation-iteration-count: infinite;
  animation-name: top-scroll-77605871;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  -webkit-animation-name: top-scroll-77605871;
  -webkit-animation-duration: 2s;
  -webkit-animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
  -o-animation-name: top-scroll-77605871;
  -o-animation-duration: 2s;
  -o-animation-timing-function: ease;
  -o-animation-iteration-count: infinite;
  -ms-animation-name: top-scroll-77605871;
  -ms-animation-duration: 2s;
  -ms-animation-timing-function: ease;
  -ms-animation-iteration-count: infinite;
}
@media all and (max-width: 768px) {
.keyvisual__scroll[data-v-77605871]::after {
    left: 50%;
    transform: translate(-50%, 0);
}
}
.keyvisual__scroll.invisible[data-v-77605871] {
  opacity: 0;
}