/* clearfix */
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
@media screen and (min-width: 768px) {
  #create:not(:disabled) .rover-hover:hover,
  .rover-hover:hover {
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    -ms-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

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

#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #46b9ff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: all 0.8s;
  clip-path: circle(100% at 50% 26.3543191801vw);
}
@media screen and (max-width: 767px) {
  #loading-overlay {
    clip-path: circle(100% at 50% 50vh);
  }
}
#loading-overlay.loaded {
  animation: shrinkCircle 1s ease-in-out 0.5s forwards, flipOut 0.1s ease-out 2s forwards;
}
@media screen and (max-width: 767px) {
  #loading-overlay.loaded {
    animation: shrinkCircleSP 1s ease-in-out 0.5s forwards, flipOut 0.1s ease-out 2s forwards;
  }
}
#loading-overlay.loaded-easy {
  animation: fadeOut 0.4s ease-in-out 0.5s forwards;
}
#loading-overlay .loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#loading-overlay .loading-logo {
  width: 14.6412884334vw;
  margin-bottom: 2.196193265vw;
  animation: fadeInOut 2s ease-in-out infinite;
  transition: opacity 0.2s linear;
}
@media screen and (max-width: 767px) {
  #loading-overlay .loading-logo {
    width: 150px;
    margin-bottom: 20px;
  }
}
#loading-overlay .loading-logo img {
  width: 100%;
}
#loading-overlay.loaded .loading-logo, #loading-overlay.loaded-easy .loading-logo {
  opacity: 0;
  animation: none;
}
#loading-overlay .loading-progress-container {
  width: 21.9619326501vw;
  height: 0.7320644217vw;
  background-color: rgba(0, 0, 0, 0.1);
  margin-bottom: 1.0980966325vw;
  overflow: hidden;
  transition: opacity 0.2s linear;
}
#loading-overlay .loading-progress-container.debug-mode {
  border: 2px solid #ff5722;
  box-shadow: 0 0 8px rgba(255, 87, 34, 0.5);
  animation: debug-pulse 2s infinite;
}
@keyframes debug-pulse {
  0% {
    box-shadow: 0 0 8px rgba(255, 87, 34, 0.5);
  }
  50% {
    box-shadow: 0 0 16px rgba(255, 87, 34, 0.8);
  }
  100% {
    box-shadow: 0 0 8px rgba(255, 87, 34, 0.5);
  }
}
@media screen and (max-width: 767px) {
  #loading-overlay .loading-progress-container {
    width: 250px;
    height: 8px;
    margin-bottom: 10px;
  }
}
#loading-overlay .loading-progress-container .loading-progress-bar {
  width: 0%;
  height: 100%;
  background-color: #ffd200;
  transition: width 0.3s ease-out;
  position: relative;
  overflow: hidden;
}
.debug-mode #loading-overlay .loading-progress-container .loading-progress-bar {
  background-color: #ff5722;
  background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 10px, rgba(0, 0, 0, 0) 10px, rgba(0, 0, 0, 0) 20px);
}
#loading-overlay .loading-progress-container .loading-progress-bar:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
#loading-overlay.loaded .loading-progress-container, #loading-overlay.loaded-easy .loading-progress-container {
  opacity: 0;
}
#loading-overlay .loading-percentage {
  font-family: "Montserrat", sans-serif;
  font-size: 1.317715959vw;
  font-weight: 600;
  color: #ffffff;
  transition: opacity 0.2s linear;
}
@media screen and (max-width: 767px) {
  #loading-overlay .loading-percentage {
    font-size: 16px;
  }
}
#loading-overlay.loaded .loading-percentage, #loading-overlay.loaded-easy .loading-percentage {
  opacity: 0;
}
#loading-overlay .debug-info-panel {
  margin-top: 1.4641288433vw;
  padding: 1.0980966325vw;
  background-color: rgba(255, 87, 34, 0.1);
  border: 2px solid #ff5722;
  border-radius: 0.3660322108vw;
  font-family: monospace;
  max-width: 29.2825768668vw;
}
#loading-overlay .debug-info-panel h3 {
  margin: 0 0 0.7320644217vw;
  color: #ff5722;
  font-size: 1.1713030747vw;
  text-align: center;
}
#loading-overlay .debug-info-panel p {
  margin: 0.3660322108vw 0;
  font-size: 1.0248901903vw;
  line-height: 1.4;
}
#loading-overlay .debug-info-panel .debug-progress {
  font-weight: bold;
  color: #ff5722;
}
#loading-overlay .debug-info-panel small {
  font-size: 0.878477306vw;
  color: #666;
}
@media screen and (max-width: 767px) {
  #loading-overlay .debug-info-panel {
    margin-top: 15px;
    padding: 10px;
    max-width: 300px;
  }
  #loading-overlay .debug-info-panel h3 {
    margin: 0 0 8px;
    font-size: 14px;
  }
  #loading-overlay .debug-info-panel p {
    margin: 4px 0;
    font-size: 12px;
  }
  #loading-overlay .debug-info-panel small {
    font-size: 10px;
  }
}

body:not(:has(.main-visual.animation-start)) {
  overflow: hidden;
}
body:not(:has(.main-visual.animation-start)):has(.sub-page) {
  overflow: auto;
}
body img {
  width: 100%;
}
body .fadeIn-obj {
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
}
@media screen and (max-width: 767px) {
  body .fadeIn-obj.sp-show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    animation: none !important;
  }
}
body .fadeIn-obj.active {
  animation: fadeIn 0.4s linear 0s forwards, slideUp 0.4s ease-out 0s forwards;
}
body .popUp-obj {
  visibility: hidden;
  opacity: 0;
  transform: translateY(50px);
}
body .popUp-obj.up {
  animation: fadeIn 0.1s linear 0s forwards, wobble 0.4s ease-out forwards;
}
body .btn-flat {
  width: 23.1332357247vw;
  height: 4.39238653vw;
  background-color: #000000;
  border-radius: 2.196193265vw;
}
@media screen and (max-width: 767px) {
  body .btn-flat {
    width: 63.2vw;
    height: 12vw;
    border-radius: 6.6666666667vw;
  }
}
body .btn-flat a {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  font-size: 1.0248901903vw;
  color: #ffffff;
  background-image: url("/assets/img/ico_arrow_right_white.svg");
  background-repeat: no-repeat;
  background-position: right 0.7320644217vw top 50%;
  -webkit-background-size: 2.9282576867vw;
  background-size: 2.9282576867vw;
}
@media screen and (max-width: 767px) {
  body .btn-flat a {
    font-size: 2.8vw;
    background-position: right 2.1333333333vw top 50%;
    -webkit-background-size: 8vw;
    background-size: 8vw;
  }
}
body .main-content {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
body .main-content.content-loaded {
  opacity: 1;
}
body .main-content .main-visual {
  position: relative;
  height: 56.2225475842vw;
  margin: 0 0 7.3206442167vw;
  overflow: hidden;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual {
    height: 186.1333333333vw;
  }
}
body .main-content .main-visual .site-catch {
  position: absolute;
  top: 19.6925329429vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: 3.6603221083vw;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .site-catch {
    top: 68vw;
    width: max-content;
    font-size: 7.2vw;
  }
}
body .main-content .main-visual .character.--1 {
  top: 21.5226939971vw;
  left: 72.9136163982vw;
  display: none;
  width: 31.1859443631vw;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--1 {
    top: 104vw;
    left: 44.8vw;
    width: 51.2vw;
  }
}
body .main-content .main-visual .character.--1.in {
  animation: none;
}
body .main-content .main-visual .character.--1.animation {
  top: 10.3953147877vw;
  left: 50%;
  display: block;
  transform: translateX(-50%) scaleX(0);
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--1.animation {
    top: 48.8vw;
  }
}
body .main-content .main-visual .character.--2 {
  top: -4.9048316252vw;
  left: 52.635431918vw;
  width: 36.0175695461vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--2 {
    top: 21.0666666667vw;
    left: 50.6666666667vw;
    width: 58.9333333333vw;
  }
}
body .main-content .main-visual .character.--2.in {
  animation: none;
}
body .main-content .main-visual .character.--3 {
  top: 42.8257686676vw;
  left: 19.0336749634vw;
  width: 51.2445095168vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--3 {
    top: 154.6666666667vw;
    left: 21.8666666667vw;
    width: 84.2666666667vw;
  }
}
body .main-content .main-visual .character.--3.in {
  animation: none;
}
body .main-content .main-visual .character.--4 {
  top: -0.7320644217vw;
  left: 16.4714494876vw;
  width: 31.6983894583vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--4 {
    top: 25.0666666667vw;
    left: -2.4vw;
    width: 51.7333333333vw;
  }
}
body .main-content .main-visual .character.--4.in {
  animation: none;
}
body .main-content .main-visual .character.--5 {
  top: 22.5475841874vw;
  left: -6.588579795vw;
  width: 33.7481698389vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .character.--5 {
    top: 109.6vw;
    left: -6.6666666667vw;
    width: 55.7333333333vw;
  }
}
body .main-content .main-visual .character.--5.in {
  animation: none;
}
body .main-content .main-visual.animation-start .character.--1.animation {
  animation: flipIn 0.1s ease-out 0.5s forwards, bounceMove 1.8s linear 1s forwards;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual.animation-start .character.--1.animation {
    animation: flipIn 0.1s ease-out 0.5s forwards, bounceMoveSP 1.8s linear 1s forwards;
  }
}
body .main-content .main-visual.animation-start .character.--2 {
  animation: fadeIn 0.1s linear 2.5s forwards, swingDown 1s linear 2.5s forwards;
}
body .main-content .main-visual.animation-start .character.--3 {
  animation: fadeIn 0.1s ease-out 2.6s forwards, slideIn 0.4s linear 2.6s forwards;
}
body .main-content .main-visual.animation-start .character.--4 {
  animation: fadeIn 0.1s ease-out 2.7s forwards, rotate360 0.6s linear 2.7s forwards;
}
body .main-content .main-visual.animation-start .character.--5 {
  animation: fadeIn 0.4s ease-out 2.8s forwards, slideUp 0.8s linear 2.8s forwards;
}
body .main-content .main-visual.animation-start.easy .character.--1.animation {
  opacity: 0;
  top: 21.5226939971vw;
  left: 72.8%;
  transform: scaleX(1);
  animation: fadeIn 0.4s linear 0s forwards;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual.animation-start.easy .character.--1.animation {
    top: 104vw;
    left: 45%;
  }
}
body .main-content .main-visual.animation-start.easy .character.--2 {
  transform: rotate(0);
  animation: fadeIn 0.4s linear 0s forwards;
}
body .main-content .main-visual.animation-start.easy .character.--3 {
  animation: fadeIn 0.4s linear 0s forwards;
}
body .main-content .main-visual.animation-start.easy .character.--4 {
  animation: fadeIn 0.4s linear 0s forwards;
}
body .main-content .main-visual.animation-start.easy .character.--5 {
  animation: fadeIn 0.4s linear 0s forwards;
}
body .main-content .main-visual .main-visual-logo {
  position: absolute;
  top: 26.9399707174vw;
  left: calc(50% - 30.7467057101vw);
  opacity: 0;
  width: 61.4934114202vw;
}
@media screen and (max-width: 767px) {
  body .main-content .main-visual .main-visual-logo {
    top: 82.1333333333vw;
    left: calc(50% - 42vw);
    width: 84vw;
  }
}
body .main-content .main-visual.animation-start.easy .main-visual-logo {
  animation: fadeIn 0.4s linear 0s forwards;
}
body .main-content.content-loaded .main-visual .site-catch {
  overflow: hidden;
}
body .main-content.content-loaded .main-visual .site-catch > span {
  display: inline-block;
  margin: -20px 0 0;
  padding: 20px 0 0;
  transform: translateY(110%);
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(1) {
  animation: slideUpBounce 0.2s ease-out 6.2s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(2) {
  animation: slideUpBounce 0.2s ease-out 6.25s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(3) {
  animation: slideUpBounce 0.2s ease-out 6.3s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(4) {
  animation: slideUpBounce 0.2s ease-out 6.35s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(5) {
  animation: slideUpBounce 0.2s ease-out 6.4s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(6) {
  animation: slideUpBounce 0.2s ease-out 6.45s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(7) {
  animation: slideUpBounce 0.2s ease-out 6.5s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(8) {
  animation: slideUpBounce 0.2s ease-out 6.55s forwards;
}
body .main-content.content-loaded .main-visual .site-catch > span:nth-of-type(9) {
  animation: slideUpBounce 0.2s ease-out 6.6s forwards;
}
body .main-content.content-loaded .main-visual.animation-start.easy .site-catch > span {
  transform: translateY(0);
  animation: none;
}
body .main-content.content-loaded .main-visual .main-visual-logo span {
  display: inline-block;
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--k {
  width: 8.4187408492vw;
  margin: 0 0.9516837482vw 0 0;
}
@media screen and (max-width: 767px) {
  body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--k {
    width: 11.4666666667vw;
    margin-right: 1.3333333333vw;
  }
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--k.mr-22 {
  margin-right: 1.6105417277vw;
}
@media screen and (max-width: 767px) {
  body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--k.mr-22 {
    margin-right: 2.1333333333vw;
  }
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o {
  width: 10.2489019034vw;
  height: 10.2489019034vw;
  margin: 0 1.6105417277vw 0 0;
}
@media screen and (max-width: 767px) {
  body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o {
    width: 14.1333333333vw;
    height: 14.1333333333vw;
    margin-right: 2.1333333333vw;
  }
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o:last-of-type {
  margin-right: 0;
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o.switch {
  position: relative;
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o.switch img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform-origin: center bottom;
  animation: bounceSwapOut 0.3s ease-in-out 7.2s forwards;
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--o.switch img.blue {
  visibility: hidden;
  animation: bounceSwapIn 0.3s ease-in-out 7.2s forwards;
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--u {
  width: 8.4187408492vw;
  margin: 0 1.8301610542vw 0 0;
}
@media screen and (max-width: 767px) {
  body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--u {
    width: 11.4666666667vw;
    margin-right: 2.4vw;
  }
}
body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--b {
  width: 8.4187408492vw;
  margin: 0 1.317715959vw 0 0;
}
@media screen and (max-width: 767px) {
  body .main-content.content-loaded .main-visual .main-visual-logo span.logo-txt.--b {
    width: 11.4666666667vw;
    margin-right: 1.8666666667vw;
  }
}
body .main-content.content-loaded .main-visual.animation-start.easy .main-visual-logo span.logo-txt.--o.switch img {
  visibility: hidden;
  animation: none;
}
body .main-content.content-loaded .main-visual.animation-start.easy .main-visual-logo span.logo-txt.--o.switch img.blue {
  visibility: visible;
  animation: none;
}
body .main-content section {
  position: relative;
}
body .main-content section [class$=-inner] {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
body .main-content section [class$=-inner]:before {
  content: "";
  position: absolute;
  top: 4.6120058565vw;
  right: 0;
  width: 56.149341142vw;
  height: 36.6032210835vw;
  border-radius: 18.3016105417vw 0 0 18.3016105417vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  body .main-content section [class$=-inner]:before {
    top: 9.3333333333vw;
    width: 92vw;
    height: 136vw;
    border-radius: 68vw 0 0 68vw;
  }
}
body .main-content section .section-title {
  margin: 0 0 3.1478770132vw;
}
@media screen and (max-width: 767px) {
  body .main-content section .section-title {
    margin-bottom: 10.1333333333vw;
  }
}
body .main-content section .section-title span.en {
  font-family: "Montserrat", sans-serif;
  font-size: 7.3206442167vw;
  font-weight: 600;
  overflow: hidden;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body .main-content section .section-title span.en {
    font-size: 16vw;
  }
}
body .main-content section .section-title span.en > span {
  display: inline-block;
  margin: -20px 0 0;
  padding: 20px 0 0;
  transform: translateY(110%);
}
body .main-content section .section-title span.jp {
  display: inline-block;
  margin: 1.4641288433vw 0 0;
  font-size: 1.317715959vw;
  font-weight: 500;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body .main-content section .section-title span.jp {
    margin-top: 2.6666666667vw;
    font-size: 4.8vw;
  }
}
body .main-content section .section-title span.jp > span {
  display: inline-block;
  margin: -20px 0 0;
  padding: 20px 0 0;
  transform: translateY(110%);
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(1) {
  animation: slideUpBounce 0.2s ease-out 0.2s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(2) {
  animation: slideUpBounce 0.2s ease-out 0.25s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(3) {
  animation: slideUpBounce 0.2s ease-out 0.3s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(4) {
  animation: slideUpBounce 0.2s ease-out 0.35s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(5) {
  animation: slideUpBounce 0.2s ease-out 0.4s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(6) {
  animation: slideUpBounce 0.2s ease-out 0.45s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(7) {
  animation: slideUpBounce 0.2s ease-out 0.5s forwards;
}
body .main-content section .section-title.popIn-obj.in span.en > span:nth-of-type(8) {
  animation: slideUpBounce 0.2s ease-out 0.55s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(1) {
  animation: slideUpBounce 0.2s ease-out 0.6s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(2) {
  animation: slideUpBounce 0.2s ease-out 0.65s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(3) {
  animation: slideUpBounce 0.2s ease-out 0.7s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(4) {
  animation: slideUpBounce 0.2s ease-out 0.75s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(5) {
  animation: slideUpBounce 0.2s ease-out 0.8s forwards;
}
body .main-content section .section-title.popIn-obj.in span.jp > span:nth-of-type(6) {
  animation: slideUpBounce 0.2s ease-out 0.85s forwards;
}
body .main-content section .lead {
  margin: 0 0 2.4158125915vw;
  font-family: "M Plus Rounded 1c", sans-serif;
  font-weight: 500;
  font-size: 2.4890190337vw;
  line-height: 1.5882352941em;
}
@media screen and (max-width: 767px) {
  body .main-content section .lead {
    margin-bottom: 7.2vw;
    font-size: 7.2vw;
  }
}
body .main-content section .overview {
  margin: 0 0 2.9282576867vw;
  font-size: 1.0980966325vw;
  font-weight: 500;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  body .main-content section .overview {
    margin-bottom: 8.8vw;
    font-size: 4vw;
  }
}
body .main-content section .btn-common {
  display: block;
  width: 14.6412884334vw;
  box-sizing: border-box;
  padding: 1.5007320644vw 2.9282576867vw;
  font-family: "Montserrat", sans-serif;
  font-size: 1.0980966325vw;
  font-weight: 600;
  text-align: center;
  color: #000000;
  background-color: #ffffff;
  background-image: url("/assets/img/ico_arrow_right.svg");
  background-repeat: no-repeat;
  background-position: right 0.3660322108vw top 50%;
  -webkit-background-size: 2.9282576867vw;
  background-size: 2.9282576867vw;
  border: 2px solid #000000;
  border-radius: 3.6603221083vw;
  box-shadow: 0 0.5856515373vw 0 black;
  transform: translateY(0);
  transition: 0.2s;
  cursor: pointer;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body .main-content section .btn-common {
    width: 53.3333333333vw;
    margin: 0 0 0 6.9333333333vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    font-size: 4vw;
    background-position: right 2.1333333333vw top 50%;
    -webkit-background-size: 10.6666666667vw;
    background-size: 10.6666666667vw;
    border-radius: 13.3333333333vw;
    box-shadow: 0 8px 0 black;
  }
}
body .main-content section .btn-common:hover {
  background-color: #000000;
  background-image: url("/assets/img/ico_arrow_right_white.svg");
  transform: translateY(0.5856515373vw);
  box-shadow: 0 0vw 0 black;
  opacity: 1;
}
body .main-content section .btn-common:hover a {
  color: #ffffff;
  opacity: 1;
}
body .main-content section .character {
  position: absolute;
}
body .main-content section .character .tooltip {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  z-index: 1;
}
body .main-content section .character .tooltip .text {
  font-family: "Montserrat", sans-serif;
  font-size: 1.8301610542vw;
  font-weight: 600;
  line-height: 1.12em;
}
@media screen and (max-width: 767px) {
  body .main-content section .character .tooltip .text {
    font-size: 4vw;
    line-height: 1.12em;
  }
}
body .main-content section .character:before, body .main-content section .character:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
}
body .main-content section .character.--1 {
  top: 0;
  left: 9.8828696925vw;
  width: 38.8726207906vw;
  height: 38.9458272328vw;
  transform: translateX(-150%) translateY(0);
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--1 {
    top: 141.3333333333vw;
    left: 18.6666666667vw;
    width: 64vw;
    height: 63.7333333333vw;
  }
}
body .main-content section .character.--1:before {
  background-image: url("/assets/img/img_character1.svg");
}
body .main-content section .character.--1.in {
  animation: bounceLeftRight 1s linear 0s forwards;
}
body .main-content section .character.--1.in:before {
  opacity: 1;
  animation: swapBgImg1 6s step-end 2s forwards infinite;
}
body .main-content section .character.--1.in:after {
  opacity: 0;
  background-image: url("/assets/img/img_character1_1.svg");
  animation: swapBgImg1_1 6s step-end 2s forwards infinite;
}
body .main-content section .character.--2 {
  top: 1.2445095168vw;
  left: 50.7320644217vw;
  width: 44.9487554905vw;
  height: 44.9487554905vw;
  transform-origin: 66% 0;
  transform: rotate(-120deg);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--2 {
    top: 138.1333333333vw;
    left: 13.6vw;
    width: 73.8666666667vw;
    height: 73.8666666667vw;
  }
}
body .main-content section .character.--2 .tooltip {
  top: 2.1229868228vw;
  left: 3.953147877vw;
  width: 14.3484626647vw;
  height: 12.0058565154vw;
  background-image: url("/assets/img/img_tooltip1.svg");
  transform-origin: 100% 68.7%;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--2 .tooltip {
    top: -2.6666666667vw;
    left: -1.0666666667vw;
    width: 31.4666666667vw;
    height: 26.1333333333vw;
  }
}
body .main-content section .character.--2:before {
  background-image: url("/assets/img/img_character2.svg");
}
body .main-content section .character.--2.in {
  animation: fadeIn 0.2s linear forwards, swingDown 2s ease-in-out 0s forwards;
}
body .main-content section .character.--2.in:before {
  opacity: 1;
  animation: swapBgImg2 5s step-end 3s forwards infinite;
}
body .main-content section .character.--2.in:after {
  opacity: 0;
  background-image: url("/assets/img/img_character2_1.svg");
  animation: swapBgImg2_1 5s step-end 3s forwards infinite;
}
body .main-content section .character.--2.in .tooltip {
  animation: fadeIn 0.1s linear 2s forwards, popUpTooltip 0.2s ease-out 2s forwards;
}
body .main-content section .character.--3 {
  bottom: 0;
  left: 18.8872620791vw;
  width: 64.1288433382vw;
  height: 12.0790629575vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--3 {
    left: 13.8666666667vw;
    width: 105.3333333333vw;
    height: 19.7333333333vw;
  }
}
body .main-content section .character.--3:before {
  background-image: url("/assets/img/img_character3.svg");
}
body .main-content section .character.--3.in {
  animation: fadeIn 0.2s linear forwards, slideIn 0.4s ease-out 0s forwards;
}
body .main-content section .character.--3.in:before {
  opacity: 1;
  animation: swapBgImg3 5s step-end 1s forwards infinite;
}
body .main-content section .character.--3.in:after {
  opacity: 0;
  background-image: url("/assets/img/img_character3_1.svg");
  animation: swapBgImg3_1 5s step-end 1s forwards infinite;
}
body .main-content section .character.--4 {
  top: 6.588579795vw;
  left: 7.027818448vw;
  width: 39.6778916545vw;
  height: 28.0380673499vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--4 {
    top: 159.4666666667vw;
    left: 17.8666666667vw;
    width: 65.3333333333vw;
    height: 46.1333333333vw;
  }
}
body .main-content section .character.--4 .tooltip {
  top: -1.3909224012vw;
  left: 18.2284040996vw;
  width: 15.4465592972vw;
  height: 13.4699853587vw;
  background-image: url("/assets/img/img_tooltip3.svg");
  transform-origin: 0 100%;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--4 .tooltip {
    top: -9.3333333333vw;
    left: 29.3333333333vw;
    width: 33.8666666667vw;
    height: 29.6vw;
  }
}
body .main-content section .character.--4:before {
  background-image: url("/assets/img/img_character4.svg");
}
body .main-content section .character.--4.in {
  animation: fadeIn 0.2s linear forwards, rotate360 0.6s ease-out 0s forwards;
}
body .main-content section .character.--4.in:before {
  opacity: 1;
  animation: swapBgImg4 5s step-end 1s forwards infinite;
}
body .main-content section .character.--4.in:after {
  opacity: 0;
  background-image: url("/assets/img/img_character4_1.svg");
  animation: swapBgImg4_1 5s step-end 1s forwards infinite;
}
body .main-content section .character.--4.in .tooltip {
  animation: fadeIn 0.1s linear 1s forwards, popUpTooltip2 0.4s ease-out 1s forwards;
}
body .main-content section .character.--5 {
  top: 7.8330893119vw;
  left: 42.6061493411vw;
  width: 42.093704246vw;
  height: 22.0351390922vw;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--5 {
    top: 122.1333333333vw;
    left: 14.4vw;
    width: 69.0666666667vw;
    height: 36.8vw;
  }
}
body .main-content section .character.--5 .tooltip {
  top: 6.0761346999vw;
  right: -2.0497803807vw;
  align-items: self-start;
  width: 12.8111273792vw;
  height: 9.8096632504vw;
  padding: 3.4407027818vw 0 0;
  box-sizing: border-box;
  background-image: url("/assets/img/img_tooltip4.svg");
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--5 .tooltip {
    top: 9.0666666667vw;
    right: -10.1333333333vw;
    width: 28vw;
    height: 21.3333333333vw;
    padding-top: 7.2vw;
  }
}
body .main-content section .character.--5:before {
  background-image: url("/assets/img/img_character5.svg");
}
body .main-content section .character.--5.in {
  animation: fadeIn 0.2s linear forwards, float-upDown 3s ease-in-out 0s forwards infinite alternate;
}
@media screen and (max-width: 767px) {
  body .main-content section .character.--5.in {
    transform: translateY(25px);
    animation: fadeIn 0.2s linear forwards, float-upDownSP 3s ease-in-out 0s forwards infinite alternate;
  }
}
body .main-content section .character.--5.in:before {
  opacity: 1;
  background-image: url("/assets/img/img_character5.svg");
  animation: swapBgImg3 5s step-end 1s forwards infinite;
}
body .main-content section .character.--5.in:after {
  opacity: 0;
  background-image: url("/assets/img/img_character5_1.svg");
  animation: swapBgImg3_1 5s step-end 1s forwards infinite;
}
body .main-content section .character.--5.in .tooltip {
  animation: fadeIn 1s linear 0.2s forwards;
}
body .main-content section.scaleUp-obj > div:before,
body .main-content section.scaleUp-obj > div .lead,
body .main-content section.scaleUp-obj > div .overview,
body .main-content section.scaleUp-obj > div .btn-common,
body .main-content section.scaleUp-obj > div .member-swiper {
  opacity: 0;
  visibility: hidden;
  transform: scale(0.8);
}
body .main-content section.scaleUp-obj.up > div:before,
body .main-content section.scaleUp-obj.up > div .lead,
body .main-content section.scaleUp-obj.up > div .overview,
body .main-content section.scaleUp-obj.up > div .btn-common,
body .main-content section.scaleUp-obj.up > div .member-swiper {
  animation: scaleUpBounce 0.3s ease-out 0s forwards, fadeIn 0.1s linear 0.1s forwards;
}
body .main-content .about {
  margin: 0 0 17.5695461201vw;
}
@media screen and (max-width: 767px) {
  body .main-content .about {
    margin-bottom: 97.6vw;
  }
}
body .main-content .about .about-inner {
  padding: 0 0 0 52.7086383602vw;
}
@media screen and (max-width: 767px) {
  body .main-content .about .about-inner {
    padding-left: 16vw;
  }
}
body .main-content .about .about-inner:before {
  background-color: #e3f4ff;
}
body .main-content .works {
  padding: 0 0 17.5695461201vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body .main-content .works {
    margin-bottom: 0;
    padding: 0 0 97.0666666667vw;
  }
}
body .main-content .works .works-inner {
  padding: 0 0 0 12.4450951684vw;
}
@media screen and (max-width: 767px) {
  body .main-content .works .works-inner {
    padding-left: 16vw;
  }
}
body .main-content .works .works-inner:before {
  left: 0;
  right: auto;
  background-color: #f1fad9;
  border-radius: 0 18.3016105417vw 18.3016105417vw 0;
}
@media screen and (max-width: 767px) {
  body .main-content .works .works-inner:before {
    border-radius: 0 66.6666666667vw 66.6666666667vw 0;
  }
}
body .main-content .member {
  margin: 0 0 16.6910688141vw;
  padding: 0 0 15.5197657394vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body .main-content .member {
    margin-bottom: 22.9333333333vw;
    padding-bottom: 33.0666666667vw;
  }
}
body .main-content .member .member-inner {
  padding: 0;
}
body .main-content .member .member-inner .section-title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .section-title {
    text-align: left;
    margin-left: 16vw;
  }
}
body .main-content .member .member-inner .lead {
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .lead {
    text-align: left;
    margin-left: 16vw;
  }
}
body .main-content .member .member-inner .overview {
  margin: 0 0 8.78477306vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .overview {
    margin-bottom: 24.8vw;
    margin-left: 16vw;
    text-align: left;
  }
}
body .main-content .member .member-inner .btn-common {
  margin: 0 auto;
}
body .main-content .member .member-inner:before {
  width: 94.1434846266vw;
  height: 76.7203513909vw;
  background-color: #fae8f2;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner:before {
    width: 100%;
    height: 255.2vw;
    border-radius: 0;
  }
}
body .main-content .member .member-inner .member-swiper {
  position: relative;
  margin: 0 0 2.3426061493vw;
  padding: 0 0.9516837482vw;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper {
    margin-bottom: 11.2vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li {
  position: relative;
  width: 27.8184480234vw;
  height: 39.5314787701vw;
  padding: 4.0995607613vw 0 0;
  box-sizing: border-box;
  background-color: #fff;
  border: 4px solid #000000;
  background-repeat: no-repeat;
  background-position-x: center;
  border-radius: 2.196193265vw;
  box-shadow: 0 0.7320644217vw 0 black;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li {
    width: 76vw;
    height: 106.1333333333vw;
    padding: 11.2vw 0 0;
    border-width: 0.8vw;
    border-radius: 5.3333333333vw;
    box-shadow: 0 2.1333333333vw 0 black;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li:before {
  content: "";
  position: absolute;
  left: 50%;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  transform-origin: 50% 50%;
  transform: translateX(-50%);
}
body .main-content .member .member-inner .member-swiper .member-list li:after {
  content: "";
  position: absolute;
  bottom: 2.9282576867vw;
  left: 50%;
  width: 3.2942898975vw;
  height: 3.2942898975vw;
  background-image: url("/assets/img/ico_arrow_right_white2.svg");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: 1.317715959vw;
  background-size: 1.317715959vw;
  border-radius: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li:after {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    bottom: 7.4666666667vw;
    -webkit-background-size: 4vw;
    background-size: 4vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li.--1:before {
  top: 7.9795021962vw;
  width: 16.6910688141vw;
  height: 16.6910688141vw;
  background-image: url("/assets/img/img_character6.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li.--1:before {
    top: 21.0666666667vw;
    width: 45.6vw;
    height: 45.6vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li.--1:after {
  background-color: #5078dc;
}
body .main-content .member .member-inner .member-swiper .member-list li.--1 .tooltip {
  top: 9.9560761347vw;
  left: 18.4480234261vw;
  width: 10.9077598829vw;
  height: 8.4187408492vw;
}
body .main-content .member .member-inner .member-swiper .member-list li.--2:before {
  top: 7.7598828697vw;
  width: 11.7862371889vw;
  height: 17.1303074671vw;
  background-image: url("/assets/img/img_character7.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li.--2:before {
    top: 20.2666666667vw;
    width: 32vw;
    height: 46.9333333333vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li.--2:after {
  background-color: #e65a5a;
}
body .main-content .member .member-inner .member-swiper .member-list li.--3:before {
  top: 7.2474377745vw;
  width: 20.2781844802vw;
  height: 19.1800878477vw;
  background-image: url("/assets/img/img_character8.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li.--3:before {
    top: 18.9333333333vw;
    width: 55.4666666667vw;
    height: 52.5333333333vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li.--3:after {
  background-color: #50b978;
}
body .main-content .member .member-inner .member-swiper .member-list li.--3 .tooltip {
  top: 5.6368960469vw;
  left: -2.9282576867vw;
  width: 10.9077598829vw;
  height: 9.2972181552vw;
}
body .main-content .member .member-inner .member-swiper .member-list li.--4:before {
  top: 10.2489019034vw;
  width: 24.0117130307vw;
  height: 12.3718887262vw;
  background-image: url("/assets/img/img_character9.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li.--4:before {
    top: 26.6666666667vw;
    width: 65.6vw;
    height: 33.8666666667vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li.--4:after {
  background-color: #6e50b4;
}
body .main-content .member .member-inner .member-swiper .member-list li.--4 .tooltip {
  top: 6.7349926794vw;
  left: 15.4465592972vw;
  width: 11.420204978vw;
  height: 7.1010248902vw;
}
body .main-content .member .member-inner .member-swiper .member-list li a {
  position: relative;
  display: block;
  height: 100%;
}
body .main-content .member .member-inner .member-swiper .member-list li a .number {
  margin: 0 0 21.0834553441vw;
  font-family: "Montserrat", sans-serif;
  font-size: 1.0980966325vw;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li a .number {
    margin-bottom: 56.5333333333vw;
    font-size: 3vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li a .position {
  margin: 0 0 1.0980966325vw;
  font-size: 1.756954612vw;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li a .position {
    margin-bottom: 3.7333333333vw;
    font-size: 4.8vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li a .join {
  font-size: 1.0980966325vw;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li a .join {
    font-size: 3vw;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li:hover:before {
  animation: slideBaseUp 0.1s ease-out 0s forwards, wobble2 0.4s ease-out 0.1s both;
}
body .main-content .member .member-inner .member-swiper .member-list li .tooltip {
  position: absolute;
  top: 9.224011713vw;
  left: -0.5124450952vw;
  opacity: 0;
  width: 10.8345534407vw;
  height: 9.663250366vw;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper .member-list li .tooltip {
    display: none;
  }
}
body .main-content .member .member-inner .member-swiper .member-list li:hover .tooltip {
  animation: fadeIn 0.2s linear forwards, slideUp 0.4s ease-out forwards;
}
body .main-content .member .member-inner .swiper-slide {
  transition: all 0.2s ease-out;
}
body .main-content .member .member-inner .swiper-slide.swiper-slide-active {
  transition: all 0.2s ease-out;
  transform: translateY(-60px);
}
body .main-content .member .member-inner .member-swiper-next,
body .main-content .member .member-inner .member-swiper-prev {
  position: absolute;
  top: 12.8111273792vw;
  z-index: 1;
  width: 4.39238653vw;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper-next,
  body .main-content .member .member-inner .member-swiper-prev {
    top: 30.6666666667vw;
    width: 12.2666666667vw;
  }
}
body .main-content .member .member-inner .member-swiper-prev {
  left: 30.2342606149vw;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper-prev {
    left: 6.1333333333vw;
  }
}
body .main-content .member .member-inner .member-swiper-next {
  right: 30.2342606149vw;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-swiper-next {
    right: 6.1333333333vw;
  }
}
body .main-content .member .member-inner .member-pagination {
  position: absolute;
  bottom: 0.2196193265vw;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-pagination {
    bottom: -1.6vw;
  }
}
body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet {
  width: 0.7320644217vw;
  height: 0.7320644217vw;
  margin: 0 0.5490483163vw;
  opacity: 1;
  background-color: #000000;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin: 0 2.6666666667vw;
  }
}
body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  position: relative;
  width: 1.4641288433vw;
  height: 1.4641288433vw;
  background-color: transparent;
  border: 2px solid #dc64aa;
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin: 0 1.0666666667vw;
  }
}
body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.7320644217vw;
  height: 0.7320644217vw;
  background-color: #dc64aa;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  body .main-content .member .member-inner .member-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
body .main-content .profile {
  margin: 0 0 17.5695461201vw;
}
@media screen and (max-width: 767px) {
  body .main-content .profile {
    margin-bottom: 82.1333333333vw;
  }
}
body .main-content .profile .profile-inner {
  padding: 0 0 0 52.7086383602vw;
}
@media screen and (max-width: 767px) {
  body .main-content .profile .profile-inner {
    padding-left: 16vw;
  }
}
body .main-content .profile .profile-inner:before {
  background-color: #fff8d9;
}
@media screen and (max-width: 767px) {
  body .main-content .profile .profile-inner:before {
    height: 147.4666666667vw;
  }
}
body .main-content .gmap {
  width: 74.9633967789vw;
  height: 23.8653001464vw;
  margin: 0 auto 11.7130307467vw;
  box-sizing: border-box;
  border: 4px solid #000000;
  border-radius: 1.4641288433vw;
}
@media screen and (max-width: 767px) {
  body .main-content .gmap {
    width: 84vw;
    height: 56.5333333333vw;
    margin-bottom: 21.0666666667vw;
    border-width: 1.0666666667vw;
    border-radius: 5.3333333333vw;
  }
}
body .main-content .gmap iframe {
  height: 100%;
  border-radius: 1.317715959vw;
}
@media screen and (max-width: 767px) {
  body .main-content .gmap iframe {
    border-radius: 4.8vw;
  }
}
body .main-content .message {
  margin: 0 0 17.5695461201vw;
}
@media screen and (max-width: 767px) {
  body .main-content .message {
    margin-bottom: 64vw;
  }
}
body .main-content .message .message-inner {
  padding: 6.8081991215vw 0 0 12.4450951684vw;
}
@media screen and (max-width: 767px) {
  body .main-content .message .message-inner {
    padding: 18.6666666667vw 0 0 16vw;
  }
}
body .main-content .message .message-inner:before {
  top: 0;
  right: auto;
  left: 0;
  height: 34.4070278184vw;
  background-color: #fdecdd;
  border-radius: 0 18.3016105417vw 18.3016105417vw 0;
}
@media screen and (max-width: 767px) {
  body .main-content .message .message-inner:before {
    height: 124.8vw;
    border-radius: 0 66.6666666667vw 66.6666666667vw 0;
  }
}
body .main-content .message .message-inner .lead {
  margin-bottom: 1.6837481698vw;
}
@media screen and (max-width: 767px) {
  body .main-content .message .message-inner .lead {
    margin-bottom: 8vw;
  }
}
body .main-content .city-view {
  position: relative;
  height: 71.2298682284vw;
  margin: 0 0 8.78477306vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view {
    margin-bottom: 13.3333333333vw;
  }
}
body .main-content .city-view > * {
  position: absolute;
}
body .main-content .city-view .obj-cloud {
  top: 2.3426061493vw;
  left: 10.6881405564vw;
  width: 85.065885798vw;
  height: 15.8857979502vw;
  animation: moveLeftRight5 90s linear infinite;
}
body .main-content .city-view .obj-cloud.--2 {
  left: -74.3777452416vw;
}
body .main-content .city-view .obj-cloud.--3 {
  left: 95.7540263543vw;
}
body .main-content .city-view .obj-rainbow {
  top: 0;
  left: 0;
  width: 41.7276720351vw;
  height: 22.9136163982vw;
}
body .main-content .city-view .obj-birds {
  top: 1.756954612vw;
  left: 44.9487554905vw;
  width: 11.7130307467vw;
}
body .main-content .city-view .bg-sky {
  top: 0;
  left: 0;
  width: 100%;
  height: 30.0146412884vw;
  background-color: #ffffff;
}
body .main-content .city-view .bg-city-base {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/bg_town_base.webp");
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
}
body .main-content .city-view .obj-normal-cars-left {
  top: 40.9956076135vw;
  left: 36.383601757vw;
  width: 7.3938506589vw;
  animation: moveRightLeft2 35s linear infinite;
}
body .main-content .city-view .obj-normal-cars-right {
  top: 40.1903367496vw;
  right: 10.3221083455vw;
  width: 36.5300146413vw;
  transform: translateX(-250%);
  animation: moveLeftRight2 35s linear 5s infinite;
}
body .main-content .city-view .obj-normal-cars-down {
  top: 37.4084919473vw;
  left: 25.3294289898vw;
  width: 2.4158125915vw;
  animation: moveTopDown 20s linear 1s infinite;
}
body .main-content .city-view .obj-normal-cars-left2 {
  top: 59.1508052709vw;
  left: 6.6617862372vw;
  width: 4.831625183vw;
  transform: translateX(2000%);
  animation: moveRightLeft3 25s linear 3s infinite;
}
body .main-content .city-view .obj-normal-cars-right2 {
  top: 57.9795021962vw;
  right: 5.3440702782vw;
  width: 30.5270863836vw;
  transform: translateX(-320%);
  animation: moveLeftRight3 25s linear infinite;
}
body .main-content .city-view .bg-city-base-on {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/bg_town_base_on.webp");
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
}
body .main-content .city-view .bg-city-highway {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/bg_town_highway.webp");
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
}
body .main-content .city-view .obj-highway-cars-left {
  top: 28.5505124451vw;
  left: 5.9297218155vw;
  width: 56.5153733529vw;
  transform: translateX(200%);
  animation: moveRightLeft 20s linear 12s infinite;
}
body .main-content .city-view .obj-highway-cars-right {
  top: 28.1112737921vw;
  right: 7.7598828697vw;
  width: 46.8521229868vw;
  animation: moveLeftRight 20s linear infinite;
}
body .main-content .city-view .obj-tunnel-cover {
  top: 0;
  right: 0;
  width: 2.2474377745vw;
}
body .main-content .city-view .obj-train {
  top: 61.3469985359vw;
  left: 25.5490483163vw;
  width: 32.3572474378vw;
  transform: translateX(-210%);
  animation: moveLeftRight4 10s linear 5s infinite;
}
body .main-content .city-view .city-tooltip {
  position: absolute;
  top: 10.9077598829vw;
  left: 12.0058565154vw;
  width: 11.2737920937vw;
  height: 8.0527086384vw;
  padding: 2.1229868228vw 0 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
  font-size: 1.8301610542vw;
  font-weight: 600;
  text-align: center;
  background-image: url("/assets/img/img_tooltip4_1.svg");
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
  transform-origin: center bottom;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view .city-tooltip {
    top: 6.6666666667vw;
    left: 9.6vw;
    width: 16.5333333333vw;
    height: 12vw;
    font-size: 2.6666666667vw;
    padding-top: 2.9333333333vw;
  }
}
body .main-content .city-view .city-tooltip.up:hover {
  animation: wobble 0.4s ease-out forwards;
}
body .main-content .city-view .city-tooltip.--2 {
  top: 13.6896046852vw;
  left: 87.0424597365vw;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view .city-tooltip.--2 {
    top: 10.4vw;
    left: 83.7333333333vw;
  }
}
body .main-content .city-view .city-tooltip.--3 {
  top: 38.4333821376vw;
  left: 6.6617862372vw;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view .city-tooltip.--3 {
    top: 34.6666666667vw;
    left: 4vw;
  }
}
body .main-content .city-view .city-tooltip.--4 {
  top: 38.0673499268vw;
  left: 65.8857979502vw;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view .city-tooltip.--4 {
    top: 34.6666666667vw;
    left: 63.4666666667vw;
  }
}
body .main-content .city-view .city-tooltip.--5 {
  top: 59.224011713vw;
  left: 73.6456808199vw;
}
@media screen and (max-width: 767px) {
  body .main-content .city-view .city-tooltip.--5 {
    top: 56vw;
    left: 70.6666666667vw;
  }
}
body .main-content .summary {
  margin: 0 0 4.831625183vw;
}
@media screen and (max-width: 767px) {
  body .main-content .summary {
    margin-bottom: 8vw;
  }
}
body .main-content .summary .summary-title {
  margin: 0 0 4.0263543192vw;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 2.9282576867vw;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-title {
    margin-bottom: 10.6666666667vw;
    font-size: 7.2vw;
    line-height: 1.5925925926em;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item {
  height: 27.0863836018vw;
  background-repeat: no-repeat;
  -webkit-background-size: 100%;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item {
    height: 44.5333333333vw;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--1 {
  width: 24.1581259151vw;
  margin: 0 0 0 1.4641288433vw;
  background-position: 0 5.1244509517vw;
  background-image: url("/assets/img/img_character4.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--1 {
    width: 39.2vw;
    margin-left: 2.4vw;
    background-position: 0 8.2666666667vw;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--2 {
  width: 25.2562225476vw;
  margin: 0 0 0 -1.4641288433vw;
  background-position: 0 6.8814055637vw;
  background-image: url("/assets/img/img_character5.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--2 {
    width: 41.3333333333vw;
    margin-left: -2.4vw;
    background-position: 0 11.4666666667vw;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--3 {
  width: 23.4260614934vw;
  margin: 0 0 0 1.4641288433vw;
  background-position: 0 1.8301610542vw;
  background-image: url("/assets/img/img_character1.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--3 {
    width: 38.4vw;
    margin-left: 2.4vw;
    background-position: 0 3.2vw;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--4 {
  width: 38.4333821376vw;
  margin: 0 0 0 2.196193265vw;
  background-position: 0 9.3704245974vw;
  background-image: url("/assets/img/img_character3.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--4 {
    width: 62.9333333333vw;
    margin-left: 3.7333333333vw;
    background-position: 0 14.9333333333vw;
  }
}
body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--5 {
  width: 26.9399707174vw;
  margin: 0 0 0 1.0980966325vw;
  background-image: url("/assets/img/img_character2.svg");
}
@media screen and (max-width: 767px) {
  body .main-content .summary .summary-img-list-wrapper .summary-img-list .img-item.--5 {
    width: 44vw;
    margin-left: -1.6vw;
  }
}
body .main-content .contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 74.9633967789vw;
  height: 20.4978038067vw;
  margin: 0 auto 7.3206442167vw;
  padding: 0 4.7584187408vw 0 5.6368960469vw;
  box-sizing: border-box;
  border: 0.2928257687vw solid #000000;
  border-radius: 1.4641288433vw;
}
@media screen and (max-width: 767px) {
  body .main-content .contact {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 6.6666666667vw;
    width: 84vw;
    height: 74.6666666667vw;
    margin-bottom: 10.6666666667vw;
    padding: 0 8.8vw;
    border-width: 0.8vw;
    border-radius: 4vw;
  }
}
body .main-content .contact .section-title {
  margin: 0;
}
body .main-content .contact .section-title .en {
  font-size: 5.1244509517vw;
}
@media screen and (max-width: 767px) {
  body .main-content .contact .section-title .en {
    font-size: 14vw;
  }
}
body .main-content .contact .section-title .jp {
  margin-top: 0.9516837482vw;
  font-size: 1.317715959vw;
}
@media screen and (max-width: 767px) {
  body .main-content .contact .section-title .jp {
    margin-top: 2.6666666667vw;
    font-size: 3.6vw;
  }
}
body .main-content .contact .contact-info .tel-number {
  margin: 0 0 0.9516837482vw;
  padding: 0 0 0 2.1229868228vw;
  font-family: "Montserrat", sans-serif;
  font-size: 3.074670571vw;
  font-weight: 600;
  background-image: url("/assets/img/ico_tel.svg");
  background-repeat: no-repeat;
  background-position: 0 50%;
  -webkit-background-size: 1.8301610542vw;
  background-size: 1.8301610542vw;
}
@media screen and (max-width: 767px) {
  body .main-content .contact .contact-info .tel-number {
    margin-bottom: 2.6666666667vw;
    padding-left: 5.6vw;
    font-size: 8.4vw;
    -webkit-background-size: 5vw;
    background-size: 5vw;
  }
}
body .main-content .contact .contact-info .limit-time {
  margin: 0 0 2.196193265vw;
  font-size: 1.0980966325vw;
}
@media screen and (max-width: 767px) {
  body .main-content .contact .contact-info .limit-time {
    margin-bottom: 6.1333333333vw;
    font-size: 2.6666666667vw;
  }
}/*# sourceMappingURL=index.css.map */