/*!**********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/scss/style.scss ***!
  \**********************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&display=swap);
/*!**************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/scss/style.scss (1) ***!
  \**************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap);
/*!**************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/scss/style.scss (2) ***!
  \**************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap);
/*!**************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/scss/style.scss (3) ***!
  \**************************************************************************************************************************************************************************/
@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

main {
  display: block; }

/* BASE COLOR
------------------------------------------------------------*/
/* DISPLAY SETTING
------------------------------------------------------------*/
/* OTHER SETTING
------------------------------------------------------------*/
:root {
  font-size: calc(14.5px + (16 - 14.5) * ((100vw - 1440px) / (1920 - 1440)));
  --cx: 0;
  --cy: 0;
  --vw: 100vw;
  --vh: 100vh;
  --size: 32px;
  --screen: 0px;
  --head: 76px; }
  @media screen and (min-width: 1920px) {
    :root {
      font-size: 16px; } }
  @media screen and (max-width: 1119px) {
    :root {
      font-size: 14px;
      --size: 16px;
      --head: 67px; } }
  @media screen and (max-width: 640px) {
    :root {
      font-size: 13.5px;
      --size: 12px;
      --head: 64.5px; } }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 500; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }

/**
 * Swiper 8.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 15, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  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-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.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, 0.15); }

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 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, 0.5), rgba(0, 0, 0, 0)); }

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 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, 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-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0); }

.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(0.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(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.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, 0.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, 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, 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, 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%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg); }
  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; }

html {
  overscroll-behavior-y: none; }

* {
  margin: 0;
  padding: 0; }

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

html {
  -webkit-text-size-adjust: none; }

body {
  color: #444f67;
  fill: #444f67;
  background: #f8f9fc;
  line-height: 1.88;
  font-family: 'Noto Sans JP', 'Yu Gothic', '游ゴシック' ,YuGothic, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', Helvetica, Arial, Verdana, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.024em; }

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

img {
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast; }

i, strong {
  font-style: normal; }

a {
  text-decoration: none;
  outline: none;
  cursor: pointer;
  color: #4278db; }
  a:hover img {
    opacity: .8; }

ul, ol {
  list-style: none; }

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="submit"],
input[type="button"],
select,
textarea {
  outline: none; }
  @media screen and (max-width: 1119px) {
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="password"],
    input[type="submit"],
    input[type="button"],
    select,
    textarea {
      -webkit-appearance: none; } }

#wire {
  width: 1120px;
  background: #FFF;
  font-size: 1.2rem;
  margin: 40px auto;
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.08); }
  #wire header {
    padding: 20px 40px;
    border-bottom: #e7eaee 1px solid;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    position: relative; }
    #wire header ul {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap; }
      #wire header ul li {
        margin: 0 0 0 40px; }
  #wire section {
    padding: 72px 40px;
    border-bottom: #e7eaee 1px solid;
    position: relative; }
  #wire .tip {
    font-size: 1rem;
    color: #FFF;
    background: #444;
    padding: 8px 32px;
    position: absolute;
    top: 40px;
    right: -20px;
    z-index: 2;
    box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.16); }
    #wire .tip:after {
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 8px 20px 8px 0;
      border-color: transparent #444 transparent transparent;
      position: absolute;
      top: 50%;
      left: -20px;
      transform: translateY(-50%); }
  #wire .flex {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center; }
    #wire .flex.just {
      justify-content: space-between; }
    #wire .flex.start {
      justify-content: flex-start; }
    #wire .flex.end {
      justify-content: flex-end; }
  #wire .gray {
    background: #f2f2f2; }
  #wire .white {
    background: #FFF; }
  #wire .dark {
    background: #444;
    color: #FFF; }
    #wire .dark span.a {
      border-color: #FFF; }
      #wire .dark span.a:before, #wire .dark span.a:after {
        background: #FFF; }
    #wire .dark .btn {
      background: #666; }
  #wire .mb {
    margin-bottom: 24px; }
  #wire .mb-s {
    margin-bottom: 12px; }
  #wire .shadow {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.04), 0 0 8px rgba(0, 0, 0, 0.02); }
  #wire .left {
    text-align: left; }
  #wire .right {
    text-align: right; }
  #wire .center {
    text-align: center; }
  #wire .bold {
    font-weight: 700; }
  #wire .large {
    font-size: 2rem; }
  #wire .bo {
    border: #e7eaee 2px solid; }
  #wire .bo-t {
    border-top: #e7eaee 2px solid; }
  #wire .bo-l {
    border-left: #e7eaee 2px solid; }
  #wire .bo-r {
    border-right: #e7eaee 2px solid; }
  #wire .bo-b {
    border-bottom: #e7eaee 2px solid; }
  #wire .pa {
    padding: 1.25rem; }
  #wire .btn {
    min-width: 300px;
    width: 33%;
    margin: 32px auto 0;
    padding: 1rem 0;
    text-align: center;
    font-weight: 700;
    background: #888;
    color: #FFF; }
  #wire span.a {
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: .24rem;
    border: #444f67 1px solid;
    overflow: hidden;
    position: relative;
    vertical-align: bottom; }
    #wire span.a:before, #wire span.a:after {
      content: '';
      width: 1px;
      height: 150%;
      position: absolute;
      top: 50%;
      left: 50%;
      background: #444f67;
      opacity: .88;
      transform: translate(-50%, -50%) rotate(45deg); }
    #wire span.a:after {
      transform: translate(-50%, -50%) rotate(-45deg); }
  #wire .w-1 {
    width: 1%; }
  #wire .h-1 {
    height: 10px; }
  #wire .w-2 {
    width: 2%; }
  #wire .h-2 {
    height: 20px; }
  #wire .w-3 {
    width: 3%; }
  #wire .h-3 {
    height: 30px; }
  #wire .w-4 {
    width: 4%; }
  #wire .h-4 {
    height: 40px; }
  #wire .w-5 {
    width: 5%; }
  #wire .h-5 {
    height: 50px; }
  #wire .w-6 {
    width: 6%; }
  #wire .h-6 {
    height: 60px; }
  #wire .w-7 {
    width: 7%; }
  #wire .h-7 {
    height: 70px; }
  #wire .w-8 {
    width: 8%; }
  #wire .h-8 {
    height: 80px; }
  #wire .w-9 {
    width: 9%; }
  #wire .h-9 {
    height: 90px; }
  #wire .w-10 {
    width: 10%; }
  #wire .h-10 {
    height: 100px; }
  #wire .w-11 {
    width: 11%; }
  #wire .h-11 {
    height: 110px; }
  #wire .w-12 {
    width: 12%; }
  #wire .h-12 {
    height: 120px; }
  #wire .w-13 {
    width: 13%; }
  #wire .h-13 {
    height: 130px; }
  #wire .w-14 {
    width: 14%; }
  #wire .h-14 {
    height: 140px; }
  #wire .w-15 {
    width: 15%; }
  #wire .h-15 {
    height: 150px; }
  #wire .w-16 {
    width: 16%; }
  #wire .h-16 {
    height: 160px; }
  #wire .w-17 {
    width: 17%; }
  #wire .h-17 {
    height: 170px; }
  #wire .w-18 {
    width: 18%; }
  #wire .h-18 {
    height: 180px; }
  #wire .w-19 {
    width: 19%; }
  #wire .h-19 {
    height: 190px; }
  #wire .w-20 {
    width: 20%; }
  #wire .h-20 {
    height: 200px; }
  #wire .w-21 {
    width: 21%; }
  #wire .h-21 {
    height: 210px; }
  #wire .w-22 {
    width: 22%; }
  #wire .h-22 {
    height: 220px; }
  #wire .w-23 {
    width: 23%; }
  #wire .h-23 {
    height: 230px; }
  #wire .w-24 {
    width: 24%; }
  #wire .h-24 {
    height: 240px; }
  #wire .w-25 {
    width: 25%; }
  #wire .h-25 {
    height: 250px; }
  #wire .w-26 {
    width: 26%; }
  #wire .h-26 {
    height: 260px; }
  #wire .w-27 {
    width: 27%; }
  #wire .h-27 {
    height: 270px; }
  #wire .w-28 {
    width: 28%; }
  #wire .h-28 {
    height: 280px; }
  #wire .w-29 {
    width: 29%; }
  #wire .h-29 {
    height: 290px; }
  #wire .w-30 {
    width: 30%; }
  #wire .h-30 {
    height: 300px; }
  #wire .w-31 {
    width: 31%; }
  #wire .h-31 {
    height: 310px; }
  #wire .w-32 {
    width: 32%; }
  #wire .h-32 {
    height: 320px; }
  #wire .w-33 {
    width: 33%; }
  #wire .h-33 {
    height: 330px; }
  #wire .w-34 {
    width: 34%; }
  #wire .h-34 {
    height: 340px; }
  #wire .w-35 {
    width: 35%; }
  #wire .h-35 {
    height: 350px; }
  #wire .w-36 {
    width: 36%; }
  #wire .h-36 {
    height: 360px; }
  #wire .w-37 {
    width: 37%; }
  #wire .h-37 {
    height: 370px; }
  #wire .w-38 {
    width: 38%; }
  #wire .h-38 {
    height: 380px; }
  #wire .w-39 {
    width: 39%; }
  #wire .h-39 {
    height: 390px; }
  #wire .w-40 {
    width: 40%; }
  #wire .h-40 {
    height: 400px; }
  #wire .w-41 {
    width: 41%; }
  #wire .h-41 {
    height: 410px; }
  #wire .w-42 {
    width: 42%; }
  #wire .h-42 {
    height: 420px; }
  #wire .w-43 {
    width: 43%; }
  #wire .h-43 {
    height: 430px; }
  #wire .w-44 {
    width: 44%; }
  #wire .h-44 {
    height: 440px; }
  #wire .w-45 {
    width: 45%; }
  #wire .h-45 {
    height: 450px; }
  #wire .w-46 {
    width: 46%; }
  #wire .h-46 {
    height: 460px; }
  #wire .w-47 {
    width: 47%; }
  #wire .h-47 {
    height: 470px; }
  #wire .w-48 {
    width: 48%; }
  #wire .h-48 {
    height: 480px; }
  #wire .w-49 {
    width: 49%; }
  #wire .h-49 {
    height: 490px; }
  #wire .w-50 {
    width: 50%; }
  #wire .h-50 {
    height: 500px; }
  #wire .w-51 {
    width: 51%; }
  #wire .h-51 {
    height: 510px; }
  #wire .w-52 {
    width: 52%; }
  #wire .h-52 {
    height: 520px; }
  #wire .w-53 {
    width: 53%; }
  #wire .h-53 {
    height: 530px; }
  #wire .w-54 {
    width: 54%; }
  #wire .h-54 {
    height: 540px; }
  #wire .w-55 {
    width: 55%; }
  #wire .h-55 {
    height: 550px; }
  #wire .w-56 {
    width: 56%; }
  #wire .h-56 {
    height: 560px; }
  #wire .w-57 {
    width: 57%; }
  #wire .h-57 {
    height: 570px; }
  #wire .w-58 {
    width: 58%; }
  #wire .h-58 {
    height: 580px; }
  #wire .w-59 {
    width: 59%; }
  #wire .h-59 {
    height: 590px; }
  #wire .w-60 {
    width: 60%; }
  #wire .h-60 {
    height: 600px; }
  #wire .w-61 {
    width: 61%; }
  #wire .h-61 {
    height: 610px; }
  #wire .w-62 {
    width: 62%; }
  #wire .h-62 {
    height: 620px; }
  #wire .w-63 {
    width: 63%; }
  #wire .h-63 {
    height: 630px; }
  #wire .w-64 {
    width: 64%; }
  #wire .h-64 {
    height: 640px; }
  #wire .w-65 {
    width: 65%; }
  #wire .h-65 {
    height: 650px; }
  #wire .w-66 {
    width: 66%; }
  #wire .h-66 {
    height: 660px; }
  #wire .w-67 {
    width: 67%; }
  #wire .h-67 {
    height: 670px; }
  #wire .w-68 {
    width: 68%; }
  #wire .h-68 {
    height: 680px; }
  #wire .w-69 {
    width: 69%; }
  #wire .h-69 {
    height: 690px; }
  #wire .w-70 {
    width: 70%; }
  #wire .h-70 {
    height: 700px; }
  #wire .w-71 {
    width: 71%; }
  #wire .h-71 {
    height: 710px; }
  #wire .w-72 {
    width: 72%; }
  #wire .h-72 {
    height: 720px; }
  #wire .w-73 {
    width: 73%; }
  #wire .h-73 {
    height: 730px; }
  #wire .w-74 {
    width: 74%; }
  #wire .h-74 {
    height: 740px; }
  #wire .w-75 {
    width: 75%; }
  #wire .h-75 {
    height: 750px; }
  #wire .w-76 {
    width: 76%; }
  #wire .h-76 {
    height: 760px; }
  #wire .w-77 {
    width: 77%; }
  #wire .h-77 {
    height: 770px; }
  #wire .w-78 {
    width: 78%; }
  #wire .h-78 {
    height: 780px; }
  #wire .w-79 {
    width: 79%; }
  #wire .h-79 {
    height: 790px; }
  #wire .w-80 {
    width: 80%; }
  #wire .h-80 {
    height: 800px; }
  #wire .w-81 {
    width: 81%; }
  #wire .h-81 {
    height: 810px; }
  #wire .w-82 {
    width: 82%; }
  #wire .h-82 {
    height: 820px; }
  #wire .w-83 {
    width: 83%; }
  #wire .h-83 {
    height: 830px; }
  #wire .w-84 {
    width: 84%; }
  #wire .h-84 {
    height: 840px; }
  #wire .w-85 {
    width: 85%; }
  #wire .h-85 {
    height: 850px; }
  #wire .w-86 {
    width: 86%; }
  #wire .h-86 {
    height: 860px; }
  #wire .w-87 {
    width: 87%; }
  #wire .h-87 {
    height: 870px; }
  #wire .w-88 {
    width: 88%; }
  #wire .h-88 {
    height: 880px; }
  #wire .w-89 {
    width: 89%; }
  #wire .h-89 {
    height: 890px; }
  #wire .w-90 {
    width: 90%; }
  #wire .h-90 {
    height: 900px; }
  #wire .w-91 {
    width: 91%; }
  #wire .h-91 {
    height: 910px; }
  #wire .w-92 {
    width: 92%; }
  #wire .h-92 {
    height: 920px; }
  #wire .w-93 {
    width: 93%; }
  #wire .h-93 {
    height: 930px; }
  #wire .w-94 {
    width: 94%; }
  #wire .h-94 {
    height: 940px; }
  #wire .w-95 {
    width: 95%; }
  #wire .h-95 {
    height: 950px; }
  #wire .w-96 {
    width: 96%; }
  #wire .h-96 {
    height: 960px; }
  #wire .w-97 {
    width: 97%; }
  #wire .h-97 {
    height: 970px; }
  #wire .w-98 {
    width: 98%; }
  #wire .h-98 {
    height: 980px; }
  #wire .w-99 {
    width: 99%; }
  #wire .h-99 {
    height: 990px; }
  #wire .w-100 {
    width: 100%; }
  #wire .h-100 {
    height: 1000px; }

#site-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: background 300ms cubic-bezier(0.65, 0, 0.35, 1);
  opacity: 0; }
  @media screen and (max-width: 1119px) {
    #site-header {
      z-index: 1000; } }
  #site-header.firstActive {
    animation: viewDown 1200ms 500ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }

@keyframes viewDown {
  0% {
    opacity: 0;
    transform: translateY(-2rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
  #site-header.static {
    opacity: 1; }
    @media screen and (max-width: 1119px) {
      #site-header.static {
        background: rgba(248, 249, 252, 0.8);
        backdrop-filter: saturate(90%) blur(40px); } }
    #site-header.static .inner:after {
      display: none; }
  #site-header.active {
    background: rgba(248, 249, 252, 0.8);
    backdrop-filter: saturate(90%) blur(40px); }
  @media screen and (min-width: calc(1119px + 1px)) {
    #site-header.static .inner, #site-header.active .inner {
      padding: .88rem 0; } }
  #site-header.static .inner .logo .logo__b, #site-header.active .inner .logo .logo__b {
    opacity: 1; }
  #site-header.static .inner:after, #site-header.active .inner:after {
    background: #f3f4f8; }
  #site-header.static .inner nav ul li a, #site-header.active .inner nav ul li a {
    color: #444f67; }
    #site-header.static .inner nav ul li a:hover, #site-header.active .inner nav ul li a:hover {
      color: #7f98f4; }
  #site-header .inner {
    padding: 1.32rem 0;
    margin: 0 calc(var(--size) + 2vw);
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
    transition: padding 300ms cubic-bezier(0.65, 0, 0.35, 1); }
    @media screen and (max-width: 1119px) {
      #site-header .inner {
        padding: 1rem 0;
        margin: 0 1.6rem; } }
    #site-header .inner::after {
      content: '';
      width: 100%;
      height: 1px;
      background: #f8f9fc;
      position: absolute;
      left: 0;
      bottom: 0;
      opacity: .2;
      transition: background 300ms cubic-bezier(0.65, 0, 0.35, 1); }
      @media screen and (max-width: 1119px) {
        #site-header .inner::after {
          display: none; } }
  #site-header .logo {
    width: 16.6rem;
    position: relative; }
    @media screen and (max-width: 1119px) {
      #site-header .logo.logoOnlyBlack .logo__b {
        opacity: 1; } }
    #site-header .logo img {
      width: 100%; }
    #site-header .logo__b {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 0;
      transition: opacity 300ms cubic-bezier(0.65, 0, 0.35, 1); }
  #site-header nav {
    position: absolute;
    top: 50%;
    left: calc(50% + 2rem);
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 1119px) {
      #site-header nav {
        display: none; } }
    #site-header nav ul {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      flex-wrap: nowrap;
      align-items: center; }
      #site-header nav ul li {
        font-size: 1.04rem;
        margin: 0 1.6rem 0 0;
        padding: 0 1.6rem 0 0;
        position: relative; }
        #site-header nav ul li:last-child {
          margin-right: 0;
          padding-right: 0; }
          #site-header nav ul li:last-child::after {
            display: none; }
        #site-header nav ul li a {
          color: #FFF;
          position: relative;
          white-space: nowrap; }
          #site-header nav ul li a:hover {
            color: rgba(255, 255, 255, 0.8);
            transition: color 0ms cubic-bezier(0.65, 0, 0.35, 1); }
  #site-header .contact {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    flex-wrap: nowrap; }
    @media screen and (max-width: 1119px) {
      #site-header .contact {
        display: none; } }
    #site-header .contact__item {
      font-size: 1rem;
      padding: .8rem 2rem;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      flex-wrap: nowrap;
      color: #f8f9fc;
      fill: #f8f9fc;
      overflow: hidden;
      position: relative;
      z-index: 1;
      border-radius: .4rem; }
      #site-header .contact__item:before, #site-header .contact__item:after {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
        z-index: -1;
        transition: width 300ms cubic-bezier(0.65, 0, 0.35, 1); }
      #site-header .contact__item:after {
        width: 0;
        background: #7f98f4;
        border-radius: .4rem; }
      #site-header .contact__item svg {
        display: inline-block;
        margin: 0 .64rem 0 0; }
      #site-header .contact__item:hover:after {
        width: 100%;
        right: auto;
        left: 0; }

.spmenu {
  display: none; }
  @media screen and (max-width: 1119px) {
    .spmenu {
      display: block; } }
  .spmenu__trg {
    width: 3.6rem;
    height: 3.6rem;
    background: linear-gradient(-135deg, #7f98f4, #a5c1f6);
    box-shadow: 0.4rem 0.4rem 1rem rgba(127, 152, 244, 0.24);
    position: fixed;
    top: .6rem;
    right: 1.24rem;
    border-radius: .4rem;
    z-index: 1000;
    cursor: pointer; }
    .spmenu__trg:before, .spmenu__trg:after {
      content: '';
      width: 40%;
      height: 1px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background: #f8f9fc;
      transition: all 400ms cubic-bezier(0.65, 0, 0.35, 1);
      transition-property: top, bottom, transform; }
    .spmenu__trg:before {
      top: calc(50% - .24rem); }
    .spmenu__trg:after {
      bottom: calc(50% - .24rem); }
    .spmenu__trg.active:before {
      top: 50%;
      transform: translateX(-50%) rotate(45deg); }
    .spmenu__trg.active:after {
      bottom: 50%;
      transform: translateX(-50%) translateY(50%) rotate(-45deg); }
  .spmenu__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 640px;
    background: #f8f9fc;
    z-index: 999;
    padding: calc(var(--size) + 2vw);
    padding-top: var(--head);
    overflow: auto;
    opacity: 0;
    pointer-events: none; }
    @media screen and (max-width: 1119px) {
      .spmenu__inner {
        min-height: 1px; } }
    .spmenu__inner.active {
      opacity: 1;
      pointer-events: all; }
    .spmenu__inner__gnavi {
      padding: calc(var(--size) + 2vw) 0 0;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center; }
      .spmenu__inner__gnavi ul {
        margin: 8vmin 0; }
        .spmenu__inner__gnavi ul li {
          margin: 0 0 2.4rem; }
          @media screen and (max-width: 1119px) {
            .spmenu__inner__gnavi ul li {
              margin: 0 0 2rem; } }
          .spmenu__inner__gnavi ul li:last-child {
            margin: 0; }
          .spmenu__inner__gnavi ul li a {
            color: #444f67;
            font-size: 4vmin; }
            @media screen and (max-width: 640px) {
              .spmenu__inner__gnavi ul li a {
                font-size: 4.8vmin; } }
            .spmenu__inner__gnavi ul li a:after {
              content: attr(data-eng);
              color: #7f98f4;
              font-size: 2.4vmin;
              display: inline-block;
              margin: 0 0 0 1.2rem; }
              @media screen and (max-width: 640px) {
                .spmenu__inner__gnavi ul li a:after {
                  font-size: 3.2vmin; } }
    .spmenu__inner__sns {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      background: #eef0f5;
      padding: 2.4rem 0;
      border-radius: 1.6rem;
      margin: calc(var(--size) + 2vw) 0 0; }
      @media screen and (max-width: 640px) {
        .spmenu__inner__sns {
          padding: 1.2rem 1.6rem;
          border-radius: .4rem; } }
      .spmenu__inner__sns__title {
        font-size: 3.2vmin;
        font-weight: 700;
        margin: 0 2rem 0 0; }
        @media screen and (max-width: 640px) {
          .spmenu__inner__sns__title {
            font-size: 4vmin; } }
      .spmenu__inner__sns ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center; }
        .spmenu__inner__sns ul li {
          margin: 0 1rem 0 0; }
          .spmenu__inner__sns ul li:last-child {
            margin: 0; }
          .spmenu__inner__sns ul li a {
            width: 6.4vmin;
            height: 6.4vmin;
            background: linear-gradient(-135deg, #7f98f4, #a5c1f6);
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            border-radius: 999rem; }
            @media screen and (max-width: 640px) {
              .spmenu__inner__sns ul li a {
                width: 8vmin;
                height: 8vmin; } }
            .spmenu__inner__sns ul li a svg {
              width: 1.8rem;
              height: 1.8rem;
              fill: #f8f9fc; }
              @media screen and (max-width: 640px) {
                .spmenu__inner__sns ul li a svg {
                  width: 1.2rem;
                  height: 1.2rem; } }
  .spmenu .menu-enter-active,
  .spmenu .menu-leave-active {
    transition: opacity 0.5s ease; }
  .spmenu .menu-enter-from,
  .spmenu .menu-leave-to {
    opacity: 0; }

.pagetop {
  background: #f0f1f6;
  border-bottom: #e7eaee 1px solid;
  color: #444f67;
  text-align: center;
  display: block;
  padding: 1.2rem 0;
  font-size: .92rem;
  transition: background 300ms cubic-bezier(0.65, 0, 0.35, 1); }
  .pagetop:hover {
    background: #edeef4; }

#site-footer {
  background: #f0f1f6;
  padding: 5.6rem calc(calc(var(--size) + 2vw) * 1.66);
  position: relative;
  z-index: 20; }
  @media screen and (max-width: 640px) {
    #site-footer {
      padding: 3.2rem calc(var(--size) + 2vw); } }
  #site-footer .grid {
    display: grid;
    grid-template-columns: 400px 1fr;
    grid-column-gap: calc(calc(var(--size) + 2vw) * 1.66); }
    @media screen and (max-width: 1119px) {
      #site-footer .grid {
        grid-template-columns: 300px 1fr; } }
    @media screen and (max-width: 640px) {
      #site-footer .grid {
        grid-template-columns: 1fr;
        grid-row-gap: 2.4rem; } }
  @media screen and (max-width: 640px) {
    #site-footer .company {
      text-align: center; } }
  #site-footer .company figure {
    margin: 0 0 1rem; }
    #site-footer .company figure img {
      width: 16.6rem; }
  #site-footer .company dl {
    font-size: .88rem;
    line-height: 1.6; }
  #site-footer .fnav > ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: .64rem; }
    @media screen and (max-width: 1119px) {
      #site-footer .fnav > ul {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 640px) {
      #site-footer .fnav > ul {
        border-radius: .8rem;
        overflow: hidden;
        grid-column-gap: 2px;
        grid-row-gap: 2px; } }
    #site-footer .fnav > ul li a {
      color: #444f67;
      fill: #444f67;
      font-size: .92rem;
      line-height: 1.5;
      display: block;
      position: relative;
      white-space: nowrap; }
      @media screen and (max-width: 640px) {
        #site-footer .fnav > ul li a {
          background: #f8f9fc;
          font-size: .88rem;
          padding: 1.2rem .8rem;
          text-align: center; } }
      #site-footer .fnav > ul li a:hover {
        color: #7f98f4;
        text-decoration: underline; }
  #site-footer .copy {
    font-size: .8rem;
    text-transform: uppercase;
    display: block;
    margin: 2rem 0 0; }
    @media screen and (max-width: 640px) {
      #site-footer .copy {
        margin: 0;
        text-align: center; } }

#site-bread {
  position: relative;
  height: 32rem;
  padding: var(--head) 0 0; }
  @media screen and (max-width: 1119px) {
    #site-bread {
      height: 24rem; } }
  @media screen and (max-width: 640px) {
    #site-bread {
      height: 20rem; } }
  #site-bread .inner {
    max-width: 1920px;
    margin: 0 auto;
    position: relative;
    height: 100%;
    display: grid; }
  #site-bread .title {
    padding: 2.4rem calc(calc(var(--size) + 2vw) * 1.66);
    padding-right: calc(var(--size) + 2vw);
    width: 35%;
    align-self: center;
    transform: translateY(-16.6%); }
    @media screen and (max-width: 1119px) {
      #site-bread .title {
        width: 40%;
        padding: 2.4rem calc(var(--size) + 2vw);
        padding-left: calc(calc(var(--size) + 2vw) + 1rem); } }
    @media screen and (max-width: 640px) {
      #site-bread .title {
        width: auto;
        position: absolute;
        top: calc(50% - 1.72rem);
        left: 0;
        transform: translate(0, -50%);
        z-index: 2; } }
    #site-bread .title.min h1 {
      font-size: 2.4rem; }
      @media screen and (max-width: 1119px) {
        #site-bread .title.min h1 {
          font-size: 1.6rem; } }
    #site-bread .title h1 {
      font-family: "Shippori Mincho", serif;
      font-weight: 400;
      font-size: 3.2rem;
      line-height: 1;
      letter-spacing: -.02rem;
      position: relative;
      white-space: nowrap; }
      @media screen and (max-width: 1119px) {
        #site-bread .title h1 {
          font-size: 2rem; } }
      @media screen and (max-width: 640px) {
        #site-bread .title h1 {
          font-size: 1.64rem; } }
      #site-bread .title h1 span {
        display: inline-block;
        opacity: 0;
        transform-origin: top left; }
        #site-bread .title h1 span:nth-of-type(1) {
          animation: mainTitleSpan 600ms ease-in-out 100ms forwards; }
        #site-bread .title h1 span:nth-of-type(2) {
          animation: mainTitleSpan 600ms ease-in-out 200ms forwards; }
        #site-bread .title h1 span:nth-of-type(3) {
          animation: mainTitleSpan 600ms ease-in-out 300ms forwards; }
        #site-bread .title h1 span:nth-of-type(4) {
          animation: mainTitleSpan 600ms ease-in-out 400ms forwards; }
        #site-bread .title h1 span:nth-of-type(5) {
          animation: mainTitleSpan 600ms ease-in-out 500ms forwards; }
        #site-bread .title h1 span:nth-of-type(6) {
          animation: mainTitleSpan 600ms ease-in-out 600ms forwards; }
        #site-bread .title h1 span:nth-of-type(7) {
          animation: mainTitleSpan 600ms ease-in-out 700ms forwards; }
        #site-bread .title h1 span:nth-of-type(8) {
          animation: mainTitleSpan 600ms ease-in-out 800ms forwards; }
        #site-bread .title h1 span:nth-of-type(9) {
          animation: mainTitleSpan 600ms ease-in-out 900ms forwards; }
        #site-bread .title h1 span:nth-of-type(10) {
          animation: mainTitleSpan 600ms ease-in-out 1000ms forwards; }
        #site-bread .title h1 span:nth-of-type(11) {
          animation: mainTitleSpan 600ms ease-in-out 1100ms forwards; }
        #site-bread .title h1 span:nth-of-type(12) {
          animation: mainTitleSpan 600ms ease-in-out 1200ms forwards; }
        #site-bread .title h1 span:nth-of-type(13) {
          animation: mainTitleSpan 600ms ease-in-out 1300ms forwards; }
        #site-bread .title h1 span:nth-of-type(14) {
          animation: mainTitleSpan 600ms ease-in-out 1400ms forwards; }
        #site-bread .title h1 span:nth-of-type(15) {
          animation: mainTitleSpan 600ms ease-in-out 1500ms forwards; }
        #site-bread .title h1 span:nth-of-type(16) {
          animation: mainTitleSpan 600ms ease-in-out 1600ms forwards; }
        #site-bread .title h1 span:nth-of-type(17) {
          animation: mainTitleSpan 600ms ease-in-out 1700ms forwards; }
        #site-bread .title h1 span:nth-of-type(18) {
          animation: mainTitleSpan 600ms ease-in-out 1800ms forwards; }
        #site-bread .title h1 span:nth-of-type(19) {
          animation: mainTitleSpan 600ms ease-in-out 1900ms forwards; }
        #site-bread .title h1 span:nth-of-type(20) {
          animation: mainTitleSpan 600ms ease-in-out 2000ms forwards; }

@keyframes mainTitleSpan {
  0% {
    opacity: 0;
    transform: translateY(-1rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
      #site-bread .title h1:before {
        content: attr(data-eng);
        font-size: 1.2rem;
        color: transparent;
        background: linear-gradient(30deg, #7f98f4, #425fdb);
        -webkit-background-clip: text;
        background-clip: text;
        line-height: 1.5;
        font-weight: 700;
        letter-spacing: .12rem;
        display: block;
        margin: 0 0 1.2rem .32rem;
        opacity: 0;
        animation: mainTitleSpan 1200ms cubic-bezier(0.65, 0, 0.35, 1) 400ms forwards; }
        @media screen and (max-width: 1119px) {
          #site-bread .title h1:before {
            font-size: .88rem;
            margin: 0 0 .8rem .16rem; } }
        @media screen and (max-width: 640px) {
          #site-bread .title h1:before {
            font-size: .72rem;
            margin: 0 0 .6rem; } }
  #site-bread .main {
    position: absolute;
    top: 0;
    right: 0;
    width: 65%;
    height: 100%;
    border-radius: 0 0 0 10rem;
    overflow: hidden; }
    @media screen and (max-width: 1119px) {
      #site-bread .main {
        width: 60%;
        border-radius: 0 0 0 8rem; } }
    @media screen and (max-width: 640px) {
      #site-bread .main {
        width: 100%;
        border-radius: 0;
        z-index: 1; }
        #site-bread .main:before {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          background: linear-gradient(-70deg, rgba(248, 249, 252, 0) 0%, #f8f9fc 50%);
          z-index: 2;
          opacity: .8; } }
    #site-bread .main img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: 0;
      transform: scale(1.1);
      animation: viewMainPic 4000ms linear forwards; }

@keyframes viewMainPic {
  0% {
    transform: scale(1.1);
    opacity: 0; }
  33% {
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
  #site-bread nav {
    position: absolute;
    left: calc(var(--size) + 2vw);
    bottom: -.1rem;
    padding: 1.2rem 2rem;
    background: #f8f9fc;
    border-radius: 999rem;
    box-shadow: 0.24rem 0.24rem 1.6rem rgba(68, 79, 103, 0.12);
    opacity: 0;
    animation: mainBread 1200ms 400ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }
    @media screen and (max-width: 1119px) {
      #site-bread nav {
        padding: 1rem 1.6rem; } }
    @media screen and (max-width: 640px) {
      #site-bread nav {
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 3;
        border-radius: 0;
        box-shadow: none;
        background: #f3f4f8;
        padding: 1rem calc(var(--size) + 2vw);
        animation: none;
        opacity: 1; } }

@keyframes mainBread {
  0% {
    opacity: 0;
    transform: translateX(-1rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
    #site-bread nav ol {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start; }
      #site-bread nav ol li {
        font-size: .8rem;
        position: relative;
        line-height: 1; }
        @media screen and (max-width: 1119px) {
          #site-bread nav ol li {
            font-size: .72rem; } }
        #site-bread nav ol li:last-child:before {
          display: none; }
        #site-bread nav ol li a, #site-bread nav ol li .dp {
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center; }
          #site-bread nav ol li a svg, #site-bread nav ol li .dp svg {
            width: 1.32rem;
            height: 1.32rem;
            display: inline-block; }
        #site-bread nav ol li a {
          color: #444f67; }
          #site-bread nav ol li a:hover span {
            color: #a5c1f6; }
        #site-bread nav ol li .home {
          margin: 0 .32rem 0 0;
          fill: #a5c1f6;
          transform: translateY(-0.04rem); }
        #site-bread nav ol li .arrow {
          margin: 0 .32rem;
          transform: scale(0.9); }

.site-index .firstview {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: relative; }

.indexfix {
  background: url(./../../images/common/background.jpg) no-repeat fixed center center/cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1; }
  .indexfix.firstActive .indexfix__main__pic img {
    animation: viewup 1200ms 800ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }
  .indexfix.firstActive .indexfix__main__scroll {
    animation: viewup 1200ms 800ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }

@keyframes viewup {
  0% {
    opacity: 0;
    transform: translateY(2rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
  .indexfix__main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; }
    .indexfix__main__pic {
      width: 42vw;
      position: absolute;
      top: 50%;
      right: calc(calc(calc(var(--size) + 2vw) * 1.66) * 1.4);
      transform: translateY(-50%);
      z-index: 2; }
      @media screen and (max-width: 1119px) {
        .indexfix__main__pic {
          width: 72vmin;
          right: auto;
          left: 50%;
          transform: translate(-50%, -50%); } }
      @media screen and (max-width: 640px) {
        .indexfix__main__pic {
          width: 80vmin; } }
      .indexfix__main__pic img {
        width: 100%;
        opacity: 0; }
    .indexfix__main__scroll {
      font-size: .92rem;
      letter-spacing: .12rem;
      position: absolute;
      padding: 1.4rem 2rem;
      padding-left: 4rem;
      border-radius: .4rem 0 0 0;
      background: linear-gradient(90deg, #7f98f4, #a5c1f6);
      right: 0;
      bottom: 0;
      z-index: 2;
      color: #f8f9fc;
      fill: #f8f9fc;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      opacity: 0; }
      @media screen and (max-width: 640px) {
        .indexfix__main__scroll {
          font-size: .88rem;
          padding: 0.8rem calc(var(--size) + 2vw);
          padding-left: calc(calc(var(--size) + 2vw) + 1.2rem); } }
      .indexfix__main__scroll svg {
        display: inline-block;
        margin: 0 0 0 .8rem; }
  .indexfix__bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 200vh;
    height: 200dvh; }
    .indexfix__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      left: 0;
      top: -50%; }

.site-index .first {
  position: relative; }
  .site-index .first:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, rgba(248, 249, 252, 0), #f8f9fc); }
    @media screen and (max-width: 1119px) {
      .site-index .first:before {
        display: none; } }
  .site-index .first .news {
    background: rgba(248, 249, 252, 0.72);
    backdrop-filter: saturate(90%) blur(40px);
    box-shadow: 0 0.4rem 3rem rgba(165, 193, 246, 0.08);
    border-radius: .5rem;
    padding: 4rem 3.2rem;
    margin: 6.4rem 0 0;
    display: grid;
    grid-template-columns: 160px 1fr 100px;
    grid-column-gap: 2rem; }
    @media screen and (max-width: 1119px) {
      .site-index .first .news {
        margin: 0;
        padding: 3.2rem;
        grid-template-columns: 120px 1fr 100px; } }
    @media screen and (max-width: 640px) {
      .site-index .first .news {
        padding: 1.6rem;
        display: block;
        margin: 0 0 3.2rem; } }
    .site-index .first .news__title {
      font-size: 2.4rem;
      color: #7f98f4;
      line-height: 1;
      align-self: center;
      padding-right: 1.2rem;
      text-align: center; }
      @media screen and (max-width: 1119px) {
        .site-index .first .news__title {
          font-size: 2rem; } }
      @media screen and (max-width: 640px) {
        .site-index .first .news__title {
          font-size: 1.66rem;
          margin: 0 0 1.6rem;
          text-align: left; } }
    .site-index .first .news__list {
      height: 12.5rem;
      overflow: auto; }
      @media screen and (max-width: 1119px) {
        .site-index .first .news__list {
          height: 14.4rem; } }
      @media screen and (max-width: 640px) {
        .site-index .first .news__list {
          height: 50vmax; } }
      .site-index .first .news__list li {
        margin: 0 0 1.6rem;
        padding: 0 0 1.6rem;
        border-bottom: rgba(68, 79, 103, 0.08) 1px solid; }
        .site-index .first .news__list li:last-child {
          margin-bottom: 0;
          border-bottom: none; }
        .site-index .first .news__list li:nth-child(even) a span {
          background: #92b4f4; }
        .site-index .first .news__list li a {
          color: #444f67;
          display: grid;
          grid-template-columns: 90px 90px 1fr;
          grid-column-gap: 1rem;
          padding: 0 4rem 0 0;
          position: relative; }
          @media screen and (max-width: 1119px) {
            .site-index .first .news__list li a {
              grid-template-columns: repeat(2, 1fr);
              grid-template-rows: 1fr;
              padding-right: 3.2rem; } }
          .site-index .first .news__list li a:hover h3 {
            text-decoration: underline; }
          .site-index .first .news__list li a time,
          .site-index .first .news__list li a span {
            background: #a5c1f6;
            color: #f8f9fc;
            display: block;
            text-align: center;
            align-self: center;
            font-size: .8rem;
            padding: .16rem 0; }
            @media screen and (max-width: 1119px) {
              .site-index .first .news__list li a time,
              .site-index .first .news__list li a span {
                grid-area: 1 / 2 / 2 / 3; } }
          .site-index .first .news__list li a time {
            background: transparent;
            border: #a5c1f6 1px solid;
            color: #7f98f4; }
            @media screen and (max-width: 1119px) {
              .site-index .first .news__list li a time {
                grid-area: 1 / 1 / 2 / 2; } }
          .site-index .first .news__list li a h3 {
            align-self: center;
            line-height: 1.6;
            font-weight: 400; }
            @media screen and (max-width: 1119px) {
              .site-index .first .news__list li a h3 {
                grid-area: 2 / 1 / 3 / 3;
                margin: .8rem 0 0; } }
            @media screen and (max-width: 640px) {
              .site-index .first .news__list li a h3 {
                margin: .6rem 0 0;
                align-self: flex-start; } }
          .site-index .first .news__list li a svg {
            width: 1.6rem;
            height: 1.6rem;
            position: absolute;
            top: 50%;
            right: .4rem;
            transform: translateY(-50%);
            fill: #a5c1f6;
            opacity: .8; }
    .site-index .first .news__more {
      height: 100%;
      background: #a5c1f6;
      color: #f8f9fc;
      border-radius: .5rem;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      transition: background 300ms cubic-bezier(0.65, 0, 0.35, 1); }
      @media screen and (max-width: 640px) {
        .site-index .first .news__more {
          height: auto;
          margin: 1.6rem 0 0;
          padding: .8rem 0;
          font-size: 1.4rem; } }
      .site-index .first .news__more:hover {
        background: #7f98f4; }
      .site-index .first .news__more span {
        display: block; }
        @media screen and (max-width: 640px) {
          .site-index .first .news__more span {
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center; } }
        .site-index .first .news__more span svg {
          width: 2rem;
          height: 2rem;
          margin: 0 auto;
          display: block;
          fill: #f8f9fc; }
          @media screen and (max-width: 640px) {
            .site-index .first .news__more span svg {
              margin: 0 .8rem 0 0; } }
  .site-index .first .topic__item {
    max-width: 27.5vw;
    background: rgba(248, 249, 252, 0.72);
    backdrop-filter: saturate(90%) blur(40px);
    box-shadow: 0 0.4rem 3rem rgba(165, 193, 246, 0.08);
    margin: 0 0 3rem;
    height: auto;
    padding: 1.6rem;
    padding-bottom: 5.6rem;
    padding-left: 3.6rem;
    position: relative;
    border-radius: .5rem;
    overflow: hidden; }
    @media screen and (max-width: 1119px) {
      .site-index .first .topic__item {
        max-width: 100%; } }
    .site-index .first .topic__item:before {
      content: attr(data-eng);
      color: #f8f9fc;
      font-size: .72rem;
      letter-spacing: .24em;
      position: absolute;
      width: 2rem;
      padding: 1.6rem 0;
      background: #a5c1f6;
      border-radius: 0 0 .5rem 0;
      top: 0;
      left: 0;
      z-index: 2;
      white-space: nowrap;
      -moz-writing-mode: vertical-rl;
      writing-mode: vertical-rl;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center; }
    .site-index .first .topic__item__pic {
      width: 100%;
      padding: calc(100% / 16 * 9) 0 0;
      position: relative;
      border-radius: .4rem;
      overflow: hidden; }
      .site-index .first .topic__item__pic img,
      .site-index .first .topic__item__pic iframe {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0; }
    .site-index .first .topic__item__data {
      margin: 1.6rem 0 0; }
      .site-index .first .topic__item__data h2 {
        font-size: 1.24rem;
        font-weight: 600;
        line-height: 1.6;
        margin: 0 0 1rem;
        padding: 0 0 1rem;
        border-bottom: rgba(68, 79, 103, 0.08) 1px solid; }
        .site-index .first .topic__item__data h2:before {
          content: attr(data-eng);
          display: block;
          text-transform: uppercase;
          color: #7f98f4;
          font-size: .72rem;
          margin: 0 0 .4rem .1rem; }
      .site-index .first .topic__item__data p {
        text-align: justify; }
    .site-index .first .topic__item__btn {
      background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
      color: #f8f9fc;
      font-size: .92rem;
      padding: .2rem 1.6rem;
      border-radius: .4rem;
      position: absolute;
      right: 1.6rem;
      bottom: 1.6rem; }
      @media screen and (max-width: 640px) {
        .site-index .first .topic__item__btn {
          padding: .4rem 2.4rem; } }

.site-index .vcSection {
  position: relative;
  height: calc(6 * 100dvh);
  height: calc(6 * 100dvh);
  background: #f8f9fc;
  width: 100%;
  overflow: hidden;
  z-index: 10;
  box-shadow: 0 0 6rem rgba(68, 79, 103, 0.12); }
  @media screen and (max-width: 1119px) {
    .site-index .vcSection {
      background: url(./../../images/common/background.jpg) no-repeat center center/cover; } }
  .site-index .vcSection__pos {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: 100;
    pointer-events: none; }
    .site-index .vcSection__pos:nth-of-type(0) {
      top: -50vh; }
    .site-index .vcSection__pos:nth-of-type(1) {
      top: 100vh; }
    .site-index .vcSection__pos:nth-of-type(2) {
      top: 200vh; }
    .site-index .vcSection__pos:nth-of-type(3) {
      top: 300vh; }
    .site-index .vcSection__pos:nth-of-type(4) {
      top: 450vh; }
  .site-index .vcSection .pin-spacer:first-of-type {
    pointer-events: none; }
  .site-index .vcSection__box {
    width: calc(4 * 100vw);
    min-height: 640px;
    height: 100vh;
    height: 100dvh;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 100; }
    @media screen and (max-width: 1119px) {
      .site-index .vcSection__box {
        min-height: 1px; } }
    .site-index .vcSection__box__vc {
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      padding: calc(calc(var(--size) + 2vw) * 1.66);
      padding-top: calc(32px + calc(calc(var(--size) + 2vw) * 1.66));
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      z-index: 2; }
      @media screen and (max-width: 1119px) {
        .site-index .vcSection__box__vc {
          padding-top: calc(var(--head) + calc(var(--size) + 2vw));
          grid-template-columns: repeat(1, 1fr);
          grid-template-rows: repeat(2, 1fr); } }
  @media screen and (max-width: 1119px) and (orientation: landscape) {
    .site-index .vcSection__box__vc {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(1, 1fr); } }
      @media screen and (max-width: 640px) {
        .site-index .vcSection__box__vc {
          padding: calc(var(--size) + 2vw);
          padding-top: calc(var(--head) + calc(var(--size) + 2vw));
          grid-template-rows: calc(90vw / 16 * 9) 1fr;
          grid-row-gap: 3.2rem; } }
      .site-index .vcSection__box__vc:nth-of-type(1) {
        left: 0vw; }
      .site-index .vcSection__box__vc:nth-of-type(2) {
        left: 100vw; }
      .site-index .vcSection__box__vc:nth-of-type(3) {
        left: 200vw; }
      .site-index .vcSection__box__vc:nth-of-type(4) {
        left: 300vw; }
      .site-index .vcSection__box__vc:first-of-type {
        left: 0; }
      .site-index .vcSection__box__vc__pic {
        width: 100%;
        height: 100%;
        position: relative;
        transform: translateX(2rem); }
        @media screen and (max-width: 640px) {
          .site-index .vcSection__box__vc__pic {
            transform: translateX(0); } }
        .site-index .vcSection__box__vc__pic img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          position: absolute;
          border-radius: .8rem;
          top: 0;
          left: 0; }
      .site-index .vcSection__box__vc__data {
        align-self: center;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        padding: calc(var(--size) + 2vw);
        padding-right: 0;
        transform: translateY(-1rem); }
        @media screen and (max-width: 640px) {
          .site-index .vcSection__box__vc__data {
            padding: 0;
            align-self: flex-start; } }
        .site-index .vcSection__box__vc__data .inner {
          max-width: 640px;
          padding: 0 24px;
          margin: 0 auto; }
          @media screen and (max-width: 640px) {
            .site-index .vcSection__box__vc__data .inner {
              padding: 0 1rem; } }
        .site-index .vcSection__box__vc__data dl dt {
          font-size: 2.4rem;
          line-height: 1.56;
          margin: 0 0 1.2rem; }
          @media screen and (max-width: 1119px) {
            .site-index .vcSection__box__vc__data dl dt {
              font-size: 2rem; } }
  @media screen and (max-width: 1119px) and (orientation: landscape) {
    .site-index .vcSection__box__vc__data dl dt {
      font-size: 3.2vmin;
      margin: 0 0 2.4vmin; } }
          @media screen and (max-width: 640px) {
            .site-index .vcSection__box__vc__data dl dt {
              font-size: 1.32rem; } }
          .site-index .vcSection__box__vc__data dl dt:before {
            content: attr(data-pos);
            display: block;
            font-size: 1.08rem;
            color: #7f98f4;
            letter-spacing: 0;
            margin: 0 0 1.2rem .16rem; }

@media screen and (max-width: 1119px) and (orientation: landscape) {
  .site-index .vcSection__box__vc__data dl dt:before {
    font-size: 2vmin;
    margin: 0 0 2.4vmin; } }
            @media screen and (max-width: 640px) {
              .site-index .vcSection__box__vc__data dl dt:before {
                margin-bottom: .96rem; } }
        .site-index .vcSection__box__vc__data dl dd {
          font-size: 1.12rem; }

@media screen and (max-width: 1119px) and (orientation: landscape) {
  .site-index .vcSection__box__vc__data dl dd {
    font-size: 2vmin; } }
          @media screen and (max-width: 640px) {
            .site-index .vcSection__box__vc__data dl dd {
              font-size: .92rem; } }

@media screen and (max-width: 1119px) and (orientation: landscape) {
  .site-index .vcSection__box__vc__data dl dd.btnarea {
    margin: 3.2vmin 0 0; } }

@media screen and (max-width: 1119px) and (orientation: landscape) {
  .site-index .vcSection__box__vc__data dl dd.btnarea a {
    font-size: 2vmin;
    padding: .64vmin 4.2vmin; }
    .site-index .vcSection__box__vc__data dl dd.btnarea a svg {
      width: 3.2vmin;
      height: 3.2vmin; } }
  .site-index .vcSection__over {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }

@media screen and (max-width: 1119px) and (orientation: landscape) {
  .site-index .vcSection__over {
    display: none; } }
    @media screen and (max-width: 640px) {
      .site-index .vcSection__over {
        display: none; } }
    .site-index .vcSection__over.pos {
      z-index: 200;
      pointer-events: none; }
      .site-index .vcSection__over.pos:before {
        display: none; }
    .site-index .vcSection__over:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url(./../../images/common/background.jpg) no-repeat center center/cover;
      opacity: .56; }
    .site-index .vcSection__over h2 {
      font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
      font-weight: 400;
      font-size: 1rem;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: 0.002em;
      font-weight: 700;
      font-size: 10vw;
      white-space: nowrap;
      position: absolute;
      right: calc(calc(var(--size) + 2vw) * 1);
      bottom: 1.4rem;
      line-height: 1;
      color: transparent;
      background: url(./../../images/common/background_dark.jpg) no-repeat center center/cover;
      -webkit-background-clip: text;
      background-clip: text; }
      .site-index .vcSection__over h2 h1, .site-index .vcSection__over h2 h2, .site-index .vcSection__over h2 h3, .site-index .vcSection__over h2 h4, .site-index .vcSection__over h2 h5, .site-index .vcSection__over h2 h6 {
        font-weight: 700; }
      @media screen and (max-width: 1119px) {
        .site-index .vcSection__over h2 {
          font-size: 6.4vw; } }
      @media screen and (max-width: 640px) {
        .site-index .vcSection__over h2 {
          font-size: 8vmin;
          bottom: 1.2rem; } }
    .site-index .vcSection__over__progress {
      width: 10vw;
      height: .2rem;
      position: absolute;
      bottom: 2.8rem;
      left: calc(calc(var(--size) + 2vw) * 1.66);
      background: rgba(165, 193, 246, 0.32);
      border-radius: 999px;
      overflow: hidden; }
      @media screen and (max-width: 1119px) {
        .site-index .vcSection__over__progress {
          left: calc(calc(calc(var(--size) + 2vw) * 1.66) + 3.2rem);
          bottom: 2rem; } }
      @media screen and (max-width: 640px) {
        .site-index .vcSection__over__progress {
          left: calc(var(--size) + 2vw);
          bottom: 1.6rem;
          width: 33vw;
          height: .1rem; } }
      .site-index .vcSection__over__progress__bar {
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 100%;
        z-index: 2;
        background: #a5c1f6;
        opacity: .8; }
    .site-index .vcSection__over__wave {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2; }
      .site-index .vcSection__over__wave:before, .site-index .vcSection__over__wave:after {
        content: '';
        width: 100%;
        height: 100%;
        z-index: -1;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        background-image: url(./../../images/index/wave_bg.png);
        background-repeat: repeat-x;
        background-size: 100vw;
        background-position: 0 bottom;
        animation: bgmove 2000ms linear reverse infinite; }
      .site-index .vcSection__over__wave:after {
        background-image: url(./../../images/index/wave_bg.png);
        animation: bgmove 4000ms cubic-bezier(0.65, 0, 0.35, 1) reverse infinite; }

@keyframes bgmove {
  0% {
    background-position: 0 bottom; }
  100% {
    background-position: -100vw bottom; } }

.site-index .readcontainer {
  background: #f8f9fc;
  position: relative;
  z-index: 15; }

.site-index .concept {
  position: relative; }
  .site-index .concept__clum {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: calc(var(--size) + 2vw); }
    @media screen and (max-width: 1119px) {
      .site-index .concept__clum {
        display: block; } }
    .site-index .concept__clum__pic {
      order: 2;
      align-self: center; }
      @media screen and (max-width: 1119px) {
        .site-index .concept__clum__pic {
          margin: 0 0 3.2rem; } }
      @media screen and (max-width: 640px) {
        .site-index .concept__clum__pic {
          margin: 0; } }
      .site-index .concept__clum__pic img {
        width: 100%;
        object-fit: contain;
        object-position: center top;
        border-radius: .8rem; }
    @media screen and (max-width: 1119px) {
      .site-index .concept__clum__data {
        width: auto;
        padding: 0; } }
    .site-index .concept__clum__data__inner {
      max-width: 600px;
      padding: 0 2rem;
      margin: 0 auto; }
      @media screen and (max-width: 640px) {
        .site-index .concept__clum__data__inner {
          padding: 3.2rem calc(var(--size) + 2vw); } }
    .site-index .concept__clum__data h2 {
      font-size: 1.32rem;
      font-weight: 400;
      line-height: 1;
      margin: 0 0 2.4rem;
      color: #7f98f4; }
      @media screen and (max-width: 640px) {
        .site-index .concept__clum__data h2 {
          font-size: 1rem; } }
      .site-index .concept__clum__data h2:after {
        content: attr(data-eng);
        font-size: 3.66rem;
        letter-spacing: 0;
        display: block;
        margin: .64rem 0 0 -.2rem; }
        @media screen and (max-width: 640px) {
          .site-index .concept__clum__data h2:after {
            font-size: 2.4rem; } }
    .site-index .concept__clum__data .text,
    .site-index .concept__clum__data ul {
      margin: 2.4rem 0 0;
      font-size: 1.08rem; }
      @media screen and (max-width: 640px) {
        .site-index .concept__clum__data .text,
        .site-index .concept__clum__data ul {
          font-size: 1.04rem;
          margin: 1.6rem 0 0; } }
    .site-index .concept__clum__data ul li {
      font-size: 1.32rem;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      fill: #a5c1f6;
      margin: 0 0 .2rem; }
      @media screen and (max-width: 640px) {
        .site-index .concept__clum__data ul li {
          font-size: 1.24rem; } }
      .site-index .concept__clum__data ul li:last-child {
        margin-bottom: 0; }
      .site-index .concept__clum__data ul li svg {
        width: 1.4rem;
        height: 1.4rem;
        display: inline-block;
        margin: .32rem .64rem 0 0;
        width: 1.33rem;
        height: 1.33rem; }
      .site-index .concept__clum__data ul li:nth-child(odd) {
        fill: #7f98f4; }

.site-index .service:before {
  display: none; }

.site-index .service:after {
  width: calc(calc(calc(var(--size) + 2vw) * 1.66) * .5);
  height: calc(calc(calc(var(--size) + 2vw) * 1.66) * .5);
  left: calc(calc(var(--size) + 2vw) * 1.66);
  top: calc(calc(calc(var(--size) + 2vw) * 1.66) * .5);
  right: auto;
  bottom: auto;
  display: block; }

.site-index .service__efe {
  font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  font-weight: 400;
  font-size: 1rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.002em;
  font-weight: 700;
  font-size: 10vw;
  white-space: nowrap;
  position: absolute;
  left: -.5rem;
  top: 2rem;
  line-height: 1;
  color: transparent;
  background: url(./../../images/common/background_dark.jpg) no-repeat center center/cover;
  -webkit-background-clip: text;
  background-clip: text;
  z-index: -1; }
  .site-index .service__efe h1, .site-index .service__efe h2, .site-index .service__efe h3, .site-index .service__efe h4, .site-index .service__efe h5, .site-index .service__efe h6 {
    font-weight: 700; }
  @media screen and (max-width: 1119px) {
    .site-index .service__efe {
      top: 0; } }
  @media screen and (max-width: 640px) {
    .site-index .service__efe {
      position: relative;
      margin: 0 0 1.6rem;
      display: block;
      text-align: center; } }

.site-index .service .grid {
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-column-gap: calc(var(--size) + 2vw);
  padding: 14.4vw 0 7.2rem; }
  @media screen and (max-width: 1119px) {
    .site-index .service .grid {
      padding: 7.2rem 0;
      display: block; } }
  @media screen and (max-width: 640px) {
    .site-index .service .grid {
      padding: 0; } }
  .site-index .service .grid .concept__clum__efe {
    right: auto;
    left: 0;
    top: 0;
    width: 32rem;
    height: 18rem; }
  .site-index .service .grid .concept__clum__data {
    order: 1;
    width: auto;
    padding: 0; }
    .site-index .service .grid .concept__clum__data .concept__clum__data__inner {
      padding-top: 0;
      padding-bottom: 0; }
      @media screen and (max-width: 1119px) {
        .site-index .service .grid .concept__clum__data .concept__clum__data__inner {
          padding: 0; } }
      @media screen and (max-width: 640px) {
        .site-index .service .grid .concept__clum__data .concept__clum__data__inner {
          padding-bottom: 3.2rem; } }
    .site-index .service .grid .concept__clum__data h3 {
      font-size: 1.32rem;
      color: #7f98f4;
      text-align: right; }
      @media screen and (max-width: 1119px) {
        .site-index .service .grid .concept__clum__data h3 {
          text-align: center; } }
    .site-index .service .grid .concept__clum__data .servicelist {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-column-gap: .8rem;
      grid-row-gap: .8rem;
      margin: 1.6rem 0 0; }
      .site-index .service .grid .concept__clum__data .servicelist li {
        height: 100%; }
        .site-index .service .grid .concept__clum__data .servicelist li a {
          width: 100%;
          height: 100%;
          display: block;
          padding: .8rem 1.6rem;
          font-size: 1.04rem;
          line-height: 1.6;
          background: transparent;
          border: #7f98f4 0.1rem solid;
          color: #7690f3;
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          border-radius: .2rem;
          align-items: center;
          justify-content: center;
          text-align: center;
          position: relative;
          fill: #7f98f4;
          transition: all 300ms cubic-bezier(0.65, 0, 0.35, 1);
          transition-property: color, fill; }
          @media screen and (max-width: 640px) {
            .site-index .service .grid .concept__clum__data .servicelist li a {
              font-size: .88rem; } }
          .site-index .service .grid .concept__clum__data .servicelist li a svg {
            margin: 0;
            position: absolute;
            top: 50%;
            right: .8rem;
            transform: translateY(-50%); }
            @media screen and (max-width: 640px) {
              .site-index .service .grid .concept__clum__data .servicelist li a svg {
                right: .4rem; } }
          .site-index .service .grid .concept__clum__data .servicelist li a:before {
            content: '';
            width: 0;
            height: 100%;
            position: absolute;
            top: 0;
            right: 0;
            background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
            z-index: -1;
            transition: width 300ms cubic-bezier(0.65, 0, 0.35, 1); }
          .site-index .service .grid .concept__clum__data .servicelist li a:hover {
            color: #f8f9fc;
            fill: #f8f9fc; }
            .site-index .service .grid .concept__clum__data .servicelist li a:hover:before {
              width: 100%;
              left: 0;
              right: auto; }
  .site-index .service .grid__pic {
    width: 100%; }
    .site-index .service .grid__pic figure {
      position: relative;
      overflow: hidden; }
      .site-index .service .grid__pic figure figcaption {
        position: absolute;
        bottom: 2.4rem;
        left: 2.4rem;
        line-height: 1;
        z-index: 2;
        font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
        font-weight: 400;
        font-size: 1rem;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        letter-spacing: 0.002em;
        letter-spacing: .24rem;
        color: #f8f9fc;
        font-size: 4.8rem;
        font-weight: 700;
        text-shadow: 0.4rem 0.4rem 2.4rem rgba(68, 79, 103, 0.32); }
        .site-index .service .grid__pic figure figcaption h1, .site-index .service .grid__pic figure figcaption h2, .site-index .service .grid__pic figure figcaption h3, .site-index .service .grid__pic figure figcaption h4, .site-index .service .grid__pic figure figcaption h5, .site-index .service .grid__pic figure figcaption h6 {
          font-weight: 700; }
        @media screen and (max-width: 1119px) {
          .site-index .service .grid__pic figure figcaption {
            left: 1.6rem;
            bottom: 1.6rem; } }
        @media screen and (max-width: 1119px) {
          .site-index .service .grid__pic figure figcaption {
            font-size: 3.2rem;
            left: 1.2rem;
            bottom: 1.2rem; } }
        .site-index .service .grid__pic figure figcaption span {
          opacity: 0;
          display: inline-block;
          transition: all 800ms ease-in-out;
          transform: translateY(-25%); }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(1) {
          transition-delay: 300ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(2) {
          transition-delay: 400ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(3) {
          transition-delay: 500ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(4) {
          transition-delay: 600ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(5) {
          transition-delay: 700ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(6) {
          transition-delay: 800ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(7) {
          transition-delay: 900ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(8) {
          transition-delay: 1000ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(9) {
          transition-delay: 1100ms; }
        .site-index .service .grid__pic figure figcaption span:nth-of-type(10) {
          transition-delay: 1200ms; }
      .site-index .service .grid__pic figure.swiper-slide-active figcaption span {
        opacity: 1;
        transform: translateY(0); }
    @media screen and (max-width: 1119px) {
      .site-index .service .grid__pic {
        margin: 0 0 5.6rem; } }
    @media screen and (max-width: 640px) {
      .site-index .service .grid__pic {
        margin: 0 0 4.8rem; } }
    .site-index .service .grid__pic img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: .8rem; }
    .site-index .service .grid__pic .servicePicSlidePager {
      position: absolute;
      left: 0;
      bottom: -2.4rem;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      z-index: 10; }
      .site-index .service .grid__pic .servicePicSlidePager .swiper-pagination-bullet {
        width: .72rem;
        height: .72rem;
        margin: 0 .72rem 0 0;
        opacity: 1;
        background: rgba(165, 193, 246, 0.4); }
        @media screen and (max-width: 640px) {
          .site-index .service .grid__pic .servicePicSlidePager .swiper-pagination-bullet {
            width: .56rem;
            height: .56rem; } }
        .site-index .service .grid__pic .servicePicSlidePager .swiper-pagination-bullet:last-of-type {
          margin: 0; }
        .site-index .service .grid__pic .servicePicSlidePager .swiper-pagination-bullet.swiper-pagination-bullet-active {
          background: #7f98f4; }

.site-index .area {
  position: relative;
  z-index: 10;
  overflow: hidden; }
  .site-index .area__wave {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1.6rem;
    fill: #f8f9fc; }
  .site-index .area.wrap {
    padding-top: 5.6rem;
    padding-bottom: 5.6rem; }
    @media screen and (max-width: 1119px) {
      .site-index .area.wrap {
        padding-bottom: 0; } }
    @media screen and (max-width: 640px) {
      .site-index .area.wrap {
        padding-top: 4.8rem; } }
  .site-index .area .max.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: calc(var(--size) + 2vw);
    position: relative; }
    @media screen and (max-width: 640px) {
      .site-index .area .max.grid {
        grid-template-columns: repeat(1, 1fr); } }
  .site-index .area__main {
    position: relative;
    width: 480px;
    margin: 0 auto; }
    @media screen and (max-width: 1119px) {
      .site-index .area__main {
        width: 300px; } }
    @media screen and (max-width: 640px) {
      .site-index .area__main {
        transform: translateY(-2rem); } }
    .site-index .area__main__pic img {
      width: 100%; }
    .site-index .area__main ul {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .site-index .area__main ul li {
        position: absolute; }
        .site-index .area__main ul li:nth-child(1) {
          top: 75px;
          left: 40px; }
        .site-index .area__main ul li:nth-child(2) {
          top: 105px;
          left: 195px; }
        .site-index .area__main ul li:nth-child(3) {
          top: 150px;
          left: 65px; }
        .site-index .area__main ul li:nth-child(4) {
          top: 250px;
          left: 105px; }
        .site-index .area__main ul li:nth-child(5) {
          top: 310px;
          left: 170px; }
        .site-index .area__main ul li:nth-child(6) {
          top: 425px;
          left: 25px; }
        @media screen and (max-width: 1119px) {
          .site-index .area__main ul li:nth-child(1) {
            top: 40px;
            left: 16px; }
          .site-index .area__main ul li:nth-child(2) {
            top: 55px;
            left: 118px; }
          .site-index .area__main ul li:nth-child(3) {
            top: 87px;
            left: 27px; }
          .site-index .area__main ul li:nth-child(4) {
            top: 150px;
            left: 60px; }
          .site-index .area__main ul li:nth-child(5) {
            top: 190px;
            left: 96px; }
          .site-index .area__main ul li:nth-child(6) {
            top: 260px;
            left: 0; } }
        .site-index .area__main ul li a {
          display: block;
          width: 124px;
          padding: .4rem 0;
          border-radius: .4rem;
          background: #7f98f4;
          color: #f8f9fc;
          text-align: center;
          transition: all 200ms cubic-bezier(0.65, 0, 0.35, 1);
          transition-property: background, transform; }
          @media screen and (max-width: 1119px) {
            .site-index .area__main ul li a {
              font-size: .8rem;
              width: 100px; } }
          .site-index .area__main ul li a:hover {
            background: #4278db;
            transform: translateY(-4px); }
            .site-index .area__main ul li a:hover:after {
              background: #4278db; }
            .site-index .area__main ul li a:hover:before {
              width: 40px;
              bottom: -14px; }
              @media screen and (max-width: 1119px) {
                .site-index .area__main ul li a:hover:before {
                  width: 24px; } }
          .site-index .area__main ul li a:after, .site-index .area__main ul li a:before {
            content: '';
            width: 20px;
            height: 16px;
            background: #7f98f4;
            position: absolute;
            left: 50%;
            bottom: 1px;
            transform: translate(-50%, 100%);
            transition: all 200ms cubic-bezier(0.65, 0, 0.35, 1);
            transition-property: background, width, filter, bottom; }
            @media screen and (max-width: 1119px) {
              .site-index .area__main ul li a:after, .site-index .area__main ul li a:before {
                width: 16px;
                height: 12px; } }
          .site-index .area__main ul li a:after {
            clip-path: polygon(0 0, 100% 0, 50% 100%); }
          .site-index .area__main ul li a:before {
            width: 32px;
            height: 10px;
            bottom: -10px;
            border-radius: .4rem;
            background: #1036bf;
            opacity: .32;
            filter: blur(8px); }
  .site-index .area__data {
    align-self: flex-start;
    padding: 8.8rem 0 0; }
    @media screen and (max-width: 1119px) {
      .site-index .area__data {
        padding: 4.8rem 0; } }
    @media screen and (max-width: 640px) {
      .site-index .area__data {
        padding: 1.2rem 0 2.72rem; } }
    .site-index .area__data__inner {
      padding: 0 2rem;
      max-width: 600px;
      margin: 0 auto; }
      @media screen and (max-width: 640px) {
        .site-index .area__data__inner {
          padding: 0 1.6rem; } }
      .site-index .area__data__inner h3 {
        font-size: 1.32rem;
        line-height: 1;
        margin: 0 0 1.6rem;
        color: #7f98f4; }
        .site-index .area__data__inner h3:after {
          content: attr(data-eng);
          display: block;
          font-size: 2.44rem;
          margin: .8rem 0 0; }
          @media screen and (max-width: 640px) {
            .site-index .area__data__inner h3:after {
              font-size: 1.72rem; } }
      .site-index .area__data__inner .text {
        font-size: 1.12rem; }
      .site-index .area__data__inner .btnarea {
        margin: 2rem 0 0 -.04rem; }
  .site-index .area__efe {
    position: absolute;
    right: 0;
    bottom: -1.72rem;
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-weight: 700;
    font-size: 13.2rem;
    white-space: nowrap;
    text-align: right;
    line-height: 1;
    color: transparent;
    background: url(./../../images/common/background_dark.jpg) no-repeat center center/cover;
    -webkit-background-clip: text;
    background-clip: text; }
    .site-index .area__efe h1, .site-index .area__efe h2, .site-index .area__efe h3, .site-index .area__efe h4, .site-index .area__efe h5, .site-index .area__efe h6 {
      font-weight: 700; }
    @media screen and (max-width: 1119px) {
      .site-index .area__efe {
        display: none; } }
    .site-index .area__efe.sml {
      font-size: 11.2rem; }

.site-index .bnrs .bnrarea {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 1rem; }
  @media screen and (max-width: 1119px) {
    .site-index .bnrs .bnrarea {
      grid-template-columns: repeat(2, 1fr);
      grid-row-gap: 1rem; } }
  .site-index .bnrs .bnrarea li a {
    display: block; }
    .site-index .bnrs .bnrarea li a.bo {
      position: relative; }
      .site-index .bnrs .bnrarea li a.bo:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: #e7eaee 1px solid;
        pointer-events: none;
        z-index: 2; }
    .site-index .bnrs .bnrarea li a img {
      width: 100%; }

.site-index .bnrs .sns {
  margin: 3.2rem 0 0;
  display: grid;
  grid-template-columns: 500px 1fr;
  grid-column-gap: 2rem;
  height: 300px; }
  @media screen and (max-width: 1119px) {
    .site-index .bnrs .sns {
      grid-template-columns: repeat(2, 1fr);
      height: auto; } }
  @media screen and (max-width: 640px) {
    .site-index .bnrs .sns {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 2.4rem; } }
  .site-index .bnrs .sns__facebook, .site-index .bnrs .sns__insta {
    background: #f8f9fc; }
  .site-index .bnrs .sns__facebook .faceBookBox {
    position: relative; }
    .site-index .bnrs .sns__facebook .faceBookBox:before, .site-index .bnrs .sns__facebook .faceBookBox:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      border: #e7eaee 1px solid;
      z-index: 10; }
    .site-index .bnrs .sns__facebook .faceBookBox:after {
      border: none;
      background: #f8f9fc;
      mix-blend-mode: darken; }
    .site-index .bnrs .sns__facebook .faceBookBox iframe {
      vertical-align: bottom; }
      @media screen and (max-width: 1119px) {
        .site-index .bnrs .sns__facebook .faceBookBox iframe {
          width: auto; } }
  .site-index .bnrs .sns__insta {
    border: #e7eaee 1px solid; }
    .site-index .bnrs .sns__insta #sb_instagram {
      width: 90%; }
    .site-index .bnrs .sns__insta iframe {
      vertical-align: bottom; }
      @media screen and (max-width: 1119px) {
        .site-index .bnrs .sns__insta iframe {
          width: auto; } }

.site-facility-search .max-container {
  max-width: 1920px;
  margin: 0 auto; }

.site-facility-search .context {
  padding: 4rem;
  text-align: center;
  font-size: 1.12rem; }
  @media screen and (max-width: 640px) {
    .site-facility-search .context {
      padding: 3.2rem 1.6rem 2rem;
      font-size: .92rem;
      text-align: left; } }

.site-facility-search .background {
  background: url(./../../images/common/background_dark.jpg) no-repeat center center/cover;
  margin: 0 calc(var(--size) + 2vw) 6.4rem;
  border-radius: 2rem;
  overflow: hidden; }
  @media screen and (max-width: 1119px) {
    .site-facility-search .background {
      margin-bottom: 4.8rem; } }
  @media screen and (max-width: 640px) {
    .site-facility-search .background {
      border-radius: .8rem; } }

.site-facility-search .area__data {
  padding-top: 4rem;
  z-index: 10; }
  @media screen and (max-width: 1119px) {
    .site-facility-search .area__data {
      padding-top: 0; } }
  .site-facility-search .area__data__inner {
    max-width: 100%;
    padding: 0; }

.site-facility-search .searchbox {
  padding: 1.6rem;
  background: #f8f9fc;
  border-radius: .4rem;
  position: relative;
  z-index: 10;
  margin: 2rem 0 0;
  box-shadow: 0.6rem 0.6rem 1.2rem rgba(165, 193, 246, 0.12); }
  @media screen and (max-width: 640px) {
    .site-facility-search .searchbox {
      margin: 1.6rem 0 0;
      padding: 1.6rem; }
      .site-facility-search .searchbox + .btnarea {
        margin-top: 1.6rem !important; } }
  .site-facility-search .searchbox h4 {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    color: #7f98f4;
    margin: 0 0 1.2rem; }
  .site-facility-search .searchbox__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    line-height: 1.5; }
    @media screen and (max-width: 1119px) {
      .site-facility-search .searchbox__grid {
        grid-template-columns: repeat(2, 1fr); } }
    .site-facility-search .searchbox__grid.two {
      margin: .5rem 0 0;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start; }
      @media screen and (max-width: 640px) {
        .site-facility-search .searchbox__grid.two {
          display: block; } }
      @media screen and (max-width: 640px) {
        .site-facility-search .searchbox__grid.two > label {
          margin: .5rem 0 0; } }
      .site-facility-search .searchbox__grid.two > label:first-of-type {
        margin: 0 .5rem 0 0; }
        @media screen and (max-width: 640px) {
          .site-facility-search .searchbox__grid.two > label:first-of-type {
            margin: 0; } }
    .site-facility-search .searchbox__grid label {
      display: block;
      padding: 0 0 0 1.6rem;
      position: relative;
      align-self: flex-start;
      font-size: .96rem;
      cursor: pointer; }
      @media screen and (max-width: 1119px) {
        .site-facility-search .searchbox__grid label {
          font-size: .92rem; } }
      .site-facility-search .searchbox__grid label input {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }

.site-facility-search .result {
  position: relative; }
  .site-facility-search .result__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 1.6rem;
    grid-row-gap: 2.4rem; }
    @media screen and (max-width: 1119px) {
      .site-facility-search .result__list {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 640px) {
      .site-facility-search .result__list {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 0; } }
    @media screen and (max-width: 640px) {
      .site-facility-search .result__list li {
        margin: 0 0 1.2rem;
        padding: 0 0 1.2rem;
        border-bottom: #e7eaee 1px solid; }
        .site-facility-search .result__list li:last-child {
          margin-bottom: 0; } }
    .site-facility-search .result__list li a {
      display: block;
      color: #444f67;
      height: 100%;
      background: #eef0f5;
      border-radius: .4rem;
      overflow: hidden; }
      @media screen and (max-width: 640px) {
        .site-facility-search .result__list li a {
          display: grid;
          grid-template-columns: 8.8rem 1fr;
          background: none;
          border-radius: 0; } }
      .site-facility-search .result__list li a:hover figure:after {
        opacity: 1;
        top: 50%; }
      .site-facility-search .result__list li a:hover figure img {
        opacity: .2; }
      .site-facility-search .result__list li a figure {
        width: 100%;
        padding: calc(100% / 16 * 10) 0 0;
        position: relative;
        background: #f8f9fc; }
        @media screen and (max-width: 640px) {
          .site-facility-search .result__list li a figure {
            align-self: flex-start; } }
        .site-facility-search .result__list li a figure:after {
          content: 'More';
          position: absolute;
          top: 60%;
          left: 50%;
          transform: translate(-50%, -50%);
          background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
          color: #f8f9fc;
          padding: .4rem 2.4rem;
          border-radius: 999rem;
          opacity: 0;
          transition: all 300ms cubic-bezier(0.65, 0, 0.35, 1);
          z-index: 2; }
          @media screen and (max-width: 640px) {
            .site-facility-search .result__list li a figure:after {
              display: none; } }
        .site-facility-search .result__list li a figure img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity 300ms cubic-bezier(0.65, 0, 0.35, 1); }
          @media screen and (max-width: 640px) {
            .site-facility-search .result__list li a figure img {
              border-radius: .24rem; } }
      .site-facility-search .result__list li a .data {
        padding: 1.6rem;
        padding-top: 1.2rem; }
        @media screen and (max-width: 640px) {
          .site-facility-search .result__list li a .data {
            align-self: flex-start;
            padding: 0 0 0 1.2rem; } }
      .site-facility-search .result__list li a h3 {
        font-size: 1.12rem;
        text-align: center;
        font-weight: 700;
        margin: 0 0 1.2rem;
        padding: 0 0 1rem;
        border-bottom: #f8f9fc 2px solid; }
        @media screen and (max-width: 1119px) {
          .site-facility-search .result__list li a h3 {
            font-size: 1.08rem; } }
        @media screen and (max-width: 640px) {
          .site-facility-search .result__list li a h3 {
            line-height: 1.56;
            font-size: .92rem;
            text-align: left;
            border: none;
            padding: 0;
            margin: 0 0 1rem; } }
      .site-facility-search .result__list li a .category {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .site-facility-search .result__list li a .category__item {
          font-size: .88rem;
          background: #f8f9fc;
          color: #5c6b8c;
          border-radius: .4rem;
          padding: .4rem 1.2rem;
          display: inline-block;
          margin: .32rem .32rem 0 0; }
          @media screen and (max-width: 1119px) {
            .site-facility-search .result__list li a .category__item {
              font-size: .8rem; } }
          @media screen and (max-width: 640px) {
            .site-facility-search .result__list li a .category__item {
              font-size: .72rem;
              padding: .32rem .8rem;
              border-radius: .24rem;
              background: #edeef4; } }

.site-facility-detail .grid {
  display: grid;
  grid-template-columns: 30rem 1fr;
  grid-column-gap: 3.2rem; }
  @media screen and (max-width: 1119px) {
    .site-facility-detail .grid {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 3.2rem; } }
  @media screen and (max-width: 640px) {
    .site-facility-detail .grid {
      grid-row-gap: 2rem; } }
  .site-facility-detail .grid__pic {
    width: 100%;
    padding: calc(100% / 16 * 10) 0 0;
    position: relative;
    overflow: hidden;
    border-radius: .4rem;
    align-self: flex-start; }
    .site-facility-detail .grid__pic img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      object-fit: cover; }
  .site-facility-detail .grid__data {
    align-self: center; }
    .site-facility-detail .grid__data__meta {
      position: relative; }
      .site-facility-detail .grid__data__meta .title {
        font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
        font-weight: 400;
        font-size: 1rem;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        letter-spacing: 0.002em;
        font-size: 1.72rem;
        font-weight: 700;
        line-height: 1.5;
        margin: 0 0 1.6rem;
        padding: 0 0 1.2rem;
        border-bottom: #e7eaee 1px solid; }
        .site-facility-detail .grid__data__meta .title h1, .site-facility-detail .grid__data__meta .title h2, .site-facility-detail .grid__data__meta .title h3, .site-facility-detail .grid__data__meta .title h4, .site-facility-detail .grid__data__meta .title h5, .site-facility-detail .grid__data__meta .title h6 {
          font-weight: 700; }
        @media screen and (max-width: 640px) {
          .site-facility-detail .grid__data__meta .title {
            font-size: 1.24rem; } }
      .site-facility-detail .grid__data__meta dl {
        display: grid;
        grid-template-columns: 4.8rem 1fr;
        grid-column-gap: 1rem;
        line-height: 1.66;
        margin: .32rem 0 0;
        padding-right: 10rem; }
        @media screen and (max-width: 640px) {
          .site-facility-detail .grid__data__meta dl {
            padding: 0; } }
        .site-facility-detail .grid__data__meta dl:first-of-type {
          margin-top: 0; }
        .site-facility-detail .grid__data__meta dl:nth-of-type(even) dt {
          background: #92b4f4; }
        .site-facility-detail .grid__data__meta dl dt {
          background: #a5c1f6;
          color: #f8f9fc;
          font-size: .8rem;
          padding: .1rem 0;
          text-align: center;
          align-self: center;
          border-radius: .2rem; }
        .site-facility-detail .grid__data__meta dl dd {
          align-self: center;
          width: 100%;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap; }
      .site-facility-detail .grid__data__meta .youtube {
        position: absolute;
        right: 0;
        bottom: 0;
        background: linear-gradient(to top, #f3f4f8, #f8f9fc);
        border: #dee2e8 1px solid;
        border-radius: .64rem;
        padding: 1rem;
        padding-top: .56rem; }
        @media screen and (max-width: 640px) {
          .site-facility-detail .grid__data__meta .youtube {
            position: relative;
            right: auto;
            left: 0;
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            margin: 1.6rem 0 0; } }
        .site-facility-detail .grid__data__meta .youtube:hover {
          opacity: .8; }
        .site-facility-detail .grid__data__meta .youtube svg {
          width: 3.2rem;
          height: 3.2rem;
          fill: #dd2222;
          margin: 0 auto;
          display: block; }
          @media screen and (max-width: 640px) {
            .site-facility-detail .grid__data__meta .youtube svg {
              margin: 0 .8rem 0 0;
              width: 2.4rem;
              height: 2.4rem; } }
        .site-facility-detail .grid__data__meta .youtube span {
          line-height: 1;
          color: #444f67;
          font-size: .92rem;
          display: block;
          margin: .2rem 0 0; }
          @media screen and (max-width: 640px) {
            .site-facility-detail .grid__data__meta .youtube span {
              font-size: 1.32rem;
              margin: 0; } }
    .site-facility-detail .grid__data__multi {
      margin: 2rem 0 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-row-gap: 2rem;
      grid-column-gap: 2rem;
      line-height: 1.66; }
      @media screen and (max-width: 640px) {
        .site-facility-detail .grid__data__multi {
          grid-template-columns: repeat(1, 1fr);
          grid-row-gap: 1.6rem; } }
      @media screen and (max-width: 640px) {
        .site-facility-detail .grid__data__multi dl {
          padding: 1.2rem;
          border: #e7eaee 1px solid;
          border-radius: .4rem; } }
      .site-facility-detail .grid__data__multi dl dt {
        font-weight: 700;
        margin: 0 0 .8rem;
        padding: 0 0 .8rem;
        padding-left: 1.2rem;
        border-bottom: #e7eaee 1px solid;
        position: relative; }
        @media screen and (max-width: 640px) {
          .site-facility-detail .grid__data__multi dl dt {
            font-size: 1.12rem;
            line-height: 1.6; } }
        .site-facility-detail .grid__data__multi dl dt:before {
          content: '';
          width: .64rem;
          height: .64rem;
          border-radius: 999rem;
          background: #7f98f4;
          position: absolute;
          top: calc(50% - .4rem);
          left: 0;
          transform: translateY(-50%); }
          @media screen and (max-width: 640px) {
            .site-facility-detail .grid__data__multi dl dt:before {
              top: calc(50% - .32rem); } }
      .site-facility-detail .grid__data__multi dl dd {
        font-size: .92rem;
        margin: .2rem 0 0;
        display: grid;
        grid-template-columns: 50px 1fr;
        grid-column-gap: .8rem; }
        @media screen and (max-width: 640px) {
          .site-facility-detail .grid__data__multi dl dd {
            line-height: 1.5; } }
        .site-facility-detail .grid__data__multi dl dd:nth-of-type(even):before {
          background: #92b4f4; }
        .site-facility-detail .grid__data__multi dl dd:before {
          content: attr(data-title);
          width: 50px;
          background: #a5c1f6;
          padding: .1rem 0;
          text-align: center;
          font-size: .8rem;
          border-radius: .1rem;
          display: inline-block;
          color: #f8f9fc; }
          @media screen and (max-width: 640px) {
            .site-facility-detail .grid__data__multi dl dd:before {
              display: flex;
              flex-flow: row wrap;
              justify-content: space-between;
              flex-wrap: nowrap;
              align-items: center;
              justify-content: center; } }
    .site-facility-detail .grid__data__links {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      margin: 2rem 0 0; }
      @media screen and (max-width: 640px) {
        .site-facility-detail .grid__data__links {
          margin: 1.6rem 0 0; } }
      .site-facility-detail .grid__data__links li {
        margin: .4rem .56rem 0 0; }
        .site-facility-detail .grid__data__links li a {
          display: block;
          background: #f8f9fc;
          border: #dee2e8 1px solid;
          color: #444f67;
          padding: .4rem 1.2rem;
          border-radius: .4rem; }
          .site-facility-detail .grid__data__links li a:hover {
            border-color: #7f98f4;
            color: #7f98f4; }

.site-facility-detail .pics {
  margin: 3.2rem 0 0;
  padding: 3.2rem 0 0;
  border-top: #dee2e8 1px solid;
  border-radius: .4rem;
  overflow: hidden; }
  @media screen and (max-width: 640px) {
    .site-facility-detail .pics {
      margin: 1.6rem 0 0;
      padding: 1.6rem 0 0; } }
  .site-facility-detail .pics ul {
    transition-timing-function: linear; }
    .site-facility-detail .pics ul li {
      width: 25%; }
      @media screen and (max-width: 640px) {
        .site-facility-detail .pics ul li {
          width: 50%; } }
      .site-facility-detail .pics ul li figure {
        width: 100%;
        padding: calc(100% / 16 * 10) 0 0;
        border-radius: .4rem;
        overflow: hidden;
        position: relative; }
        .site-facility-detail .pics ul li figure img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0; }

.site-facility-detail .maps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2.4rem;
  margin: 3.2rem 0 0;
  padding: 3.2rem 0 0;
  border-top: #dee2e8 1px solid; }
  @media screen and (max-width: 640px) {
    .site-facility-detail .maps {
      margin: 1.6rem 0 0;
      padding: 1.6rem 0 0;
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 1.6rem; } }
  .site-facility-detail .maps.one {
    grid-template-columns: repeat(1, 1fr); }
    .site-facility-detail .maps.one .maps__item {
      padding: calc(100% / 16 * 4.5) 0 0; }
  .site-facility-detail .maps__item {
    position: relative;
    width: 100%;
    padding: calc(100% / 16 * 9) 0 0; }
    .site-facility-detail .maps__item iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: .4rem; }

.site-job-intro .content {
  text-align: center; }
  @media screen and (max-width: 640px) {
    .site-job-intro .content {
      text-align: justify;
      margin: 0 1.6rem; } }
  .site-job-intro .content:before {
    content: attr(data-eng);
    display: block;
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-size: 1.2rem;
    font-weight: 700;
    color: #7f98f4;
    margin: 0 0 1.2rem; }
    .site-job-intro .content:before h1, .site-job-intro .content:before h2, .site-job-intro .content:before h3, .site-job-intro .content:before h4, .site-job-intro .content:before h5, .site-job-intro .content:before h6 {
      font-weight: 700; }
    @media screen and (max-width: 640px) {
      .site-job-intro .content:before {
        text-align: center; } }

.site-job-intro .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2.4rem;
  margin: 4rem 0 0; }
  @media screen and (max-width: 640px) {
    .site-job-intro .grid {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 2.4rem; } }
  .site-job-intro .grid li a {
    color: #444f67;
    display: block;
    height: 100%;
    border-radius: .8rem;
    background: #fdfefe;
    box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.12);
    overflow: hidden; }
    .site-job-intro .grid li a:hover figure img {
      opacity: 1;
      transform: scale(1.1);
      filter: blur(0.2rem); }
    .site-job-intro .grid li a:hover figure:before, .site-job-intro .grid li a:hover figure:after {
      opacity: 1; }
    .site-job-intro .grid li a:hover figure:after {
      top: 50%; }
    .site-job-intro .grid li a figure {
      position: relative;
      width: 100%;
      padding: calc(100% / 16 * 10) 0 0;
      overflow: hidden; }
      .site-job-intro .grid li a figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: all 400ms cubic-bezier(0.65, 0, 0.35, 1);
        transition-property: transform, filter; }
      .site-job-intro .grid li a figure:before, .site-job-intro .grid li a figure:after {
        opacity: 0;
        pointer-events: none;
        transition: all 400ms cubic-bezier(0.65, 0, 0.35, 1);
        transition-property: opacity, top; }
      .site-job-intro .grid li a figure:before {
        content: '';
        background: linear-gradient(135deg, rgba(165, 193, 246, 0.8), rgba(127, 152, 244, 0.8));
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2; }
      .site-job-intro .grid li a figure:after {
        content: 'More';
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
        box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.12);
        background: #f8f9fc;
        color: #444f67;
        padding: .4rem 1.6rem;
        border-radius: 999rem;
        z-index: 2; }
    .site-job-intro .grid li a h2 {
      text-align: center;
      padding: .8rem 1.6rem;
      font-size: 1.12rem;
      font-weight: 400;
      position: relative; }
      .site-job-intro .grid li a h2 svg {
        position: absolute;
        top: 50%;
        right: 1.6rem;
        transform: translateY(-50%);
        fill: #7f98f4; }

.site-job-list .grid {
  display: grid;
  grid-template-columns: 20rem 1fr;
  grid-column-gap: calc(var(--size) + 2vw); }
  @media screen and (max-width: 1119px) {
    .site-job-list .grid {
      grid-template-columns: 1fr;
      grid-row-gap: 4.8rem; } }
  @media screen and (max-width: 640px) {
    .site-job-list .grid {
      grid-row-gap: 2.4rem; } }

.site-job-list .localnav {
  align-self: flex-start; }
  .site-job-list .localnav__box {
    background: #eef0f5;
    border-radius: .4rem; }
    .site-job-list .localnav__box.active h2 {
      margin-top: 6.4rem; }
  .site-job-list .localnav h2 {
    color: #7f98f4;
    font-size: 1.2rem;
    line-height: 1;
    padding: 1.2rem 1.6rem;
    border-bottom: #f8f9fc 1px solid;
    transition: margin 600ms cubic-bezier(0.65, 0, 0.35, 1); }
  @media screen and (max-width: 1119px) {
    .site-job-list .localnav ul {
      display: grid;
      grid-template-columns: repeat(2, 1fr); } }
  .site-job-list .localnav ul li {
    border-bottom: #f8f9fc 1px solid; }
    .site-job-list .localnav ul li.active a {
      color: #f8f9fc;
      background: #a5c1f6; }
      .site-job-list .localnav ul li.active a svg {
        fill: #f8f9fc; }
    .site-job-list .localnav ul li:last-child {
      border-bottom: none; }
    .site-job-list .localnav ul li a {
      font-size: .92rem;
      color: #444f67;
      padding: .72rem 1.6rem;
      display: block;
      position: relative;
      transition: all 200ms cubic-bezier(0.65, 0, 0.35, 1); }
      @media screen and (max-width: 640px) {
        .site-job-list .localnav ul li a {
          padding-right: 3.2rem;
          line-height: 1.6;
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: flex-start;
          height: 100%; } }
      .site-job-list .localnav ul li a svg {
        position: absolute;
        top: 50%;
        right: 1.6rem;
        transform: translateY(-50%);
        width: 1.1rem;
        height: 1.1rem;
        fill: #444f67;
        opacity: .4;
        transition: all 200ms cubic-bezier(0.65, 0, 0.35, 1); }
        @media screen and (max-width: 640px) {
          .site-job-list .localnav ul li a svg {
            right: .8rem; } }
      .site-job-list .localnav ul li a:hover svg {
        opacity: 1;
        right: 1.2rem; }

.site-job-list .content__item {
  margin: 0 0 2.4rem;
  padding: 2.4rem;
  background: #f8f9fc;
  box-shadow: 0.64rem 0.64rem 1.6rem rgba(68, 79, 103, 0.08), -0.64rem -0.64rem 1.6rem rgba(68, 79, 103, 0.04);
  border-radius: .4rem; }
  @media screen and (max-width: 640px) {
    .site-job-list .content__item {
      padding: 1.6rem; } }
  .site-job-list .content__item:last-of-type {
    margin-bottom: 0; }
  .site-job-list .content__item__data {
    display: grid;
    grid-template-columns: 24rem 1fr;
    grid-column-gap: 3.2rem; }
    @media screen and (max-width: 1119px) {
      .site-job-list .content__item__data {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 640px) {
      .site-job-list .content__item__data {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 1.6rem; } }
    .site-job-list .content__item__data figure {
      width: 100%;
      padding: calc(100% / 16 * 10) 0 0;
      position: relative;
      overflow: hidden;
      border-radius: .4rem;
      align-self: flex-start; }
      .site-job-list .content__item__data figure img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover; }
    .site-job-list .content__item__data__meta {
      font-size: .96rem;
      align-self: center; }
      .site-job-list .content__item__data__meta h3 {
        font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
        font-weight: 400;
        font-size: 1rem;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        letter-spacing: 0.002em;
        font-weight: 700;
        font-size: 1.72rem;
        color: #7f98f4;
        margin: 0 0 .64rem; }
        .site-job-list .content__item__data__meta h3 h1, .site-job-list .content__item__data__meta h3 h2, .site-job-list .content__item__data__meta h3 h3, .site-job-list .content__item__data__meta h3 h4, .site-job-list .content__item__data__meta h3 h5, .site-job-list .content__item__data__meta h3 h6 {
          font-weight: 700; }
        @media screen and (max-width: 640px) {
          .site-job-list .content__item__data__meta h3 {
            font-size: 1.32rem;
            text-align: center; } }
      .site-job-list .content__item__data__meta .btnarea {
        margin: 1.6rem 0 0; }
        .site-job-list .content__item__data__meta .btnarea a {
          font-size: .92rem;
          padding: .56rem 3.2rem; }
    .site-job-list .content__item__data__list {
      margin: 2rem 0 0;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start; }
      @media screen and (max-width: 640px) {
        .site-job-list .content__item__data__list {
          margin: 1.6rem 0 0; } }
      .site-job-list .content__item__data__list li {
        margin: .4rem .4rem 0 0; }
        .site-job-list .content__item__data__list li:last-child {
          margin-right: 0; }
        .site-job-list .content__item__data__list li a {
          display: block;
          background: #e6e8f0;
          padding: .64rem 1.6rem;
          font-size: .88rem;
          color: #444f67;
          border-radius: .2rem; }
          @media screen and (max-width: 640px) {
            .site-job-list .content__item__data__list li a {
              font-size: .8rem;
              padding: .64rem 1rem; } }
          .site-job-list .content__item__data__list li a:hover {
            background: #a5c1f6;
            color: #f8f9fc; }

.site-staff .staffttl {
  font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  font-weight: 400;
  font-size: 1rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.002em;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1;
  margin: 0 0 2.4rem; }
  .site-staff .staffttl h1, .site-staff .staffttl h2, .site-staff .staffttl h3, .site-staff .staffttl h4, .site-staff .staffttl h5, .site-staff .staffttl h6 {
    font-weight: 700; }
  @media screen and (max-width: 640px) {
    .site-staff .staffttl {
      font-size: 1.56rem;
      line-height: 1.6;
      margin: 0 0 1.32rem; } }
  .site-staff .staffttl--sub {
    font-family: 'Noto Sans JP', 'Yu Gothic', '游ゴシック' ,YuGothic, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', Helvetica, Arial, Verdana, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.024em;
    color: #7f98f4;
    text-transform: uppercase;
    letter-spacing: .02rem;
    font-size: 1.24rem;
    padding: 1.32rem;
    border: rgba(165, 193, 246, 0.9) 2px solid; }
    @media screen and (max-width: 640px) {
      .site-staff .staffttl--sub {
        padding: .8rem 1.6rem;
        font-size: 1rem; } }

.site-staff .stafflist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 1.6rem;
  grid-row-gap: 1.6rem; }
  @media screen and (max-width: 640px) {
    .site-staff .stafflist {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 1.2rem; } }
  .site-staff .stafflist li {
    background: #eef0f5;
    padding: 2rem; }
    @media screen and (max-width: 1119px) {
      .site-staff .stafflist li {
        padding: 1.6rem; } }
    .site-staff .stafflist li dl dt {
      font-size: 1.12rem;
      font-weight: 700; }
      @media screen and (max-width: 1119px) {
        .site-staff .stafflist li dl dt {
          font-size: 1rem; } }
    .site-staff .stafflist li dl dd {
      margin: 1rem 0 0;
      padding: 1rem 0 0;
      border-top: #f8f9fc 2px solid; }
      @media screen and (max-width: 1119px) {
        .site-staff .stafflist li dl dd {
          font-size: .92rem; } }
    .site-staff .stafflist li dl dt, .site-staff .stafflist li dl dd {
      padding-left: 3.2rem;
      position: relative; }
      .site-staff .stafflist li dl dt:before, .site-staff .stafflist li dl dd:before {
        content: 'Q';
        width: 2rem;
        height: 2rem;
        font-size: .88rem;
        background: #a5c1f6;
        color: #f8f9fc;
        padding-bottom: .1rem;
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        border-radius: 999rem; }
    .site-staff .stafflist li dl dd:before {
      content: 'A';
      top: 1rem;
      background: #5fc2ba; }

.site-staff .grid {
  display: grid;
  grid-template-columns: 1fr 25rem;
  grid-column-gap: calc(var(--size) + 2vw);
  padding-top: 2.4rem; }
  @media screen and (max-width: 1119px) {
    .site-staff .grid {
      grid-template-columns: repeat(1, 1fr); } }
  .site-staff .grid__timeline ol {
    list-style: none;
    position: relative; }
    .site-staff .grid__timeline ol li {
      padding: 0 0 1.8rem;
      margin: 0 0 1.8rem;
      border-bottom: #e7eaee 1px solid; }
      @media screen and (max-width: 640px) {
        .site-staff .grid__timeline ol li {
          padding: 0 0 1.2rem;
          margin: 0 0 1.2rem; } }
      .site-staff .grid__timeline ol li:last-child {
        margin: 0; }
      .site-staff .grid__timeline ol li dl {
        position: relative;
        display: grid;
        grid-template-columns: 26rem 1fr;
        grid-column-gap: 3.2rem; }
        @media screen and (max-width: 640px) {
          .site-staff .grid__timeline ol li dl {
            grid-template-columns: 1fr;
            grid-row-gap: .64rem; } }
        .site-staff .grid__timeline ol li dl dt {
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: flex-start;
          font-size: 1.12rem;
          font-weight: 700;
          align-self: center; }
          .site-staff .grid__timeline ol li dl dt span {
            background: #a5c1f6;
            color: #f8f9fc;
            font-size: .92rem;
            font-weight: 400;
            display: block;
            width: 7.2rem;
            text-align: center;
            margin: 0 1.6rem 0 0;
            border-radius: 999rem; }
            @media screen and (max-width: 640px) {
              .site-staff .grid__timeline ol li dl dt span {
                margin: 0 .8rem 0 0; } }
        .site-staff .grid__timeline ol li dl dd {
          align-self: center; }
  .site-staff .grid__pic {
    display: grid; }
    @media screen and (max-width: 1119px) {
      .site-staff .grid__pic {
        margin: 3.2rem 0 0;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 1.6rem;
        grid-row-gap: 1.6rem; } }
    @media screen and (max-width: 640px) {
      .site-staff .grid__pic {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 1.2rem;
        margin: 2rem 0 0; } }
    .site-staff .grid__pic figure {
      margin: 0 0 2rem; }
      @media screen and (max-width: 1119px) {
        .site-staff .grid__pic figure {
          margin: 0; } }
      .site-staff .grid__pic figure:last-child {
        margin-bottom: 0; }
      .site-staff .grid__pic figure img {
        width: 100%;
        border-radius: .8rem; }
        @media screen and (max-width: 640px) {
          .site-staff .grid__pic figure img {
            border-radius: .4rem; } }

.site-company .greetbox {
  background: #f0f1f6;
  padding: 5.6rem 0;
  border-radius: .4rem; }
  @media screen and (max-width: 1119px) {
    .site-company .greetbox {
      padding: 3.2rem 5.6rem; } }
  @media screen and (max-width: 640px) {
    .site-company .greetbox {
      padding: 1.6rem; } }
  .site-company .greetbox__inner {
    max-width: 700px;
    margin: 0 auto; }
  .site-company .greetbox__c {
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-size: 2.72rem;
    text-align: center;
    margin: 0 0 2.4rem; }
    .site-company .greetbox__c h1, .site-company .greetbox__c h2, .site-company .greetbox__c h3, .site-company .greetbox__c h4, .site-company .greetbox__c h5, .site-company .greetbox__c h6 {
      font-weight: 700; }
    @media screen and (max-width: 640px) {
      .site-company .greetbox__c {
        font-size: 1.56rem;
        margin: 0 0 1rem; } }
  .site-company .greetbox__t {
    font-size: 1.08rem;
    letter-spacing: 0;
    line-height: 2;
    margin: 2.4rem 0 0;
    text-align: justify; }
    @media screen and (max-width: 640px) {
      .site-company .greetbox__t {
        font-size: .92rem;
        margin: 1rem 0 0; } }
  .site-company .greetbox__n {
    margin: 4rem 0 0;
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-end; }
    .site-company .greetbox__n h1, .site-company .greetbox__n h2, .site-company .greetbox__n h3, .site-company .greetbox__n h4, .site-company .greetbox__n h5, .site-company .greetbox__n h6 {
      font-weight: 700; }
    @media screen and (max-width: 640px) {
      .site-company .greetbox__n {
        margin: 3.2rem 0 0; } }
    .site-company .greetbox__n img {
      width: 10rem;
      transform: translateY(0.24rem); }
      @media screen and (max-width: 640px) {
        .site-company .greetbox__n img {
          width: 6.4rem; } }
    .site-company .greetbox__n figcaption {
      font-weight: 700;
      line-height: 1;
      margin: 0 1.2rem 0 0; }

.site-company .context {
  font-size: 1.08rem;
  text-align: center; }
  @media screen and (max-width: 640px) {
    .site-company .context {
      margin: 0 1.6rem;
      font-size: 1rem; } }

.site-company .philosophy {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2.4rem;
  margin: 2.4rem 0 0; }
  @media screen and (max-width: 640px) {
    .site-company .philosophy {
      grid-template-columns: 1fr;
      grid-row-gap: 2.4rem; } }
  .site-company .philosophy__box {
    background: #fdfefe;
    border-radius: .4rem;
    box-shadow: 0 0 2.4rem rgba(68, 79, 103, 0.08);
    padding: 2.4rem; }
    @media screen and (max-width: 640px) {
      .site-company .philosophy__box {
        padding: 1.6rem; } }
    .site-company .philosophy__box__ttl {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: center;
      line-height: 1; }
      .site-company .philosophy__box__ttl__t {
        font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
        font-weight: 400;
        font-size: 1rem;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        letter-spacing: 0.002em;
        font-size: 2.4rem;
        font-weight: 700; }
        .site-company .philosophy__box__ttl__t h1, .site-company .philosophy__box__ttl__t h2, .site-company .philosophy__box__ttl__t h3, .site-company .philosophy__box__ttl__t h4, .site-company .philosophy__box__ttl__t h5, .site-company .philosophy__box__ttl__t h6 {
          font-weight: 700; }
        @media screen and (max-width: 640px) {
          .site-company .philosophy__box__ttl__t {
            font-size: 2rem; } }
        .site-company .philosophy__box__ttl__t strong {
          color: transparent;
          display: inline-block;
          background: linear-gradient(to left, #a5c1f6, #7f98f4);
          -webkit-background-clip: text;
          background-clip: text; }
      .site-company .philosophy__box__ttl__p {
        font-size: .92rem;
        margin: 0 0 .32rem 1.2rem; }
    .site-company .philosophy__box ol {
      margin: 1.6rem 0 0;
      padding: 1.6rem 0 0;
      border-top: #e7eaee 1px solid; }
      .site-company .philosophy__box ol li {
        position: relative;
        padding: 0 0 1.2rem 3.2rem;
        margin: 0 0 1.2rem;
        border-bottom: #e7eaee 1px dashed; }
        .site-company .philosophy__box ol li:nth-child(1):before {
          content: "1"; }
        .site-company .philosophy__box ol li:nth-child(2):before {
          content: "2"; }
        .site-company .philosophy__box ol li:nth-child(3):before {
          content: "3"; }
        .site-company .philosophy__box ol li:last-child {
          margin-bottom: 0;
          padding-bottom: 0;
          border: none; }
        .site-company .philosophy__box ol li:before {
          content: '1';
          width: 2rem;
          height: 2rem;
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: center;
          background: linear-gradient(to left, #a5c1f6, #7f98f4);
          color: #f8f9fc;
          border-radius: 999rem;
          position: absolute;
          top: .32rem;
          left: 0; }
        .site-company .philosophy__box ol li dl dt {
          font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
          font-weight: 400;
          font-size: 1rem;
          -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
          letter-spacing: 0.002em;
          font-size: 1.32rem;
          font-weight: 700; }
          .site-company .philosophy__box ol li dl dt h1, .site-company .philosophy__box ol li dl dt h2, .site-company .philosophy__box ol li dl dt h3, .site-company .philosophy__box ol li dl dt h4, .site-company .philosophy__box ol li dl dt h5, .site-company .philosophy__box ol li dl dt h6 {
            font-weight: 700; }
          @media screen and (max-width: 640px) {
            .site-company .philosophy__box ol li dl dt {
              font-size: 1.24rem; } }
    .site-company .philosophy__box.pp .philosophy__box__ttl .philosophy__box__ttl__t strong {
      background: linear-gradient(to left, #a5a6f6, #8d7ff4);
      -webkit-background-clip: text;
      background-clip: text; }
    .site-company .philosophy__box.pp ol li:before {
      background: linear-gradient(to left, #a5a6f6, #8d7ff4); }

.site-company .company {
  display: grid;
  grid-template-columns: 18rem 1fr;
  position: relative; }
  @media screen and (max-width: 640px) {
    .site-company .company {
      grid-template-columns: 1fr;
      padding: 2.4rem 0 0; } }
  .site-company .company:before {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 11rem;
    background: #e7eaee; }
    @media screen and (max-width: 640px) {
      .site-company .company:before {
        display: none; } }
  .site-company .company__title {
    position: relative;
    top: 0;
    left: 0;
    display: grid;
    align-self: flex-start; }
    @media screen and (max-width: 640px) {
      .site-company .company__title {
        margin: 0 0 2.4rem; } }
    .site-company .company__title.active .box {
      transform: translateY(calc(var(--head) + 2rem)); }
      @media screen and (max-width: 640px) {
        .site-company .company__title.active .box {
          transform: translateY(0); } }
    .site-company .company__title .box {
      position: relative;
      transition: transform 800ms cubic-bezier(0.65, 0, 0.35, 1); }
      .site-company .company__title .box:after {
        content: '';
        width: .6rem;
        height: 3rem;
        background: linear-gradient(to bottom, #a5c1f6, #7f98f4);
        position: absolute;
        top: 0;
        right: 7rem;
        transform: translateX(50%);
        border-radius: 999rem; }
        @media screen and (max-width: 640px) {
          .site-company .company__title .box:after {
            display: none; } }
    .site-company .company__title h3 {
      font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
      font-weight: 400;
      font-size: 1rem;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: 0.002em;
      font-size: 2.8rem;
      letter-spacing: .4rem;
      line-height: 1;
      white-space: nowrap; }
      .site-company .company__title h3 h1, .site-company .company__title h3 h2, .site-company .company__title h3 h3, .site-company .company__title h3 h4, .site-company .company__title h3 h5, .site-company .company__title h3 h6 {
        font-weight: 700; }
      @media screen and (min-width: calc(640px + 1px)) {
        .site-company .company__title h3 {
          -moz-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
          justify-self: flex-start;
          align-self: center; } }
      @media screen and (max-width: 640px) {
        .site-company .company__title h3 {
          font-size: 2rem;
          text-align: center; } }
      .site-company .company__title h3:after {
        content: attr(data-eng);
        display: block;
        font-size: .92rem;
        color: #7f98f4;
        letter-spacing: .1rem;
        margin: .4rem 1.2rem 0 0; }
        @media screen and (max-width: 640px) {
          .site-company .company__title h3:after {
            display: none; } }

.site-company .tablestyle th .dl, .site-company .tablestyle td .dl {
  margin: .64rem 0 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start; }
  .site-company .tablestyle th .dl:first-of-type, .site-company .tablestyle td .dl:first-of-type {
    margin: 1.2rem 0 0; }
  .site-company .tablestyle th .dl dt, .site-company .tablestyle td .dl dt {
    background: #a5c1f6;
    color: #f8f9fc;
    font-size: .88rem;
    padding: .16rem 1.6rem;
    border-radius: 999rem;
    margin: 0 1.2rem 0 0; }

.site-company .tablestyle th .grid, .site-company .tablestyle td .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2rem;
  margin: 2rem 0 0; }
  @media screen and (max-width: 1119px) {
    .site-company .tablestyle th .grid, .site-company .tablestyle td .grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 640px) {
    .site-company .tablestyle th .grid, .site-company .tablestyle td .grid {
      grid-template-columns: repeat(1, 1fr);
      margin: 1.2rem 0 0;
      padding: 1.2rem;
      background: #edeef4;
      border-radius: .4rem; } }
  .site-company .tablestyle th .grid dl, .site-company .tablestyle td .grid dl {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    font-size: .96rem; }
    @media screen and (max-width: 1119px) {
      .site-company .tablestyle th .grid dl dt, .site-company .tablestyle th .grid dl dd, .site-company .tablestyle td .grid dl dt, .site-company .tablestyle td .grid dl dd {
        align-self: flex-start; } }
    .site-company .tablestyle th .grid dl dd, .site-company .tablestyle td .grid dl dd {
      margin: 0 0 0 .4rem; }

.site-service-list .localnav {
  background: #edeef4;
  padding: 1.6rem;
  border-radius: .4rem; }
  .site-service-list .localnav ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem; }
    @media screen and (max-width: 1119px) {
      .site-service-list .localnav ul {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 640px) {
      .site-service-list .localnav ul {
        grid-column-gap: .8rem;
        grid-row-gap: .8rem; } }
    .site-service-list .localnav ul li a {
      font-size: 1.04rem;
      color: #444f67;
      background: #f8f9fc;
      display: block;
      text-align: center;
      border-radius: .4rem;
      padding: 1rem 0;
      transition: all 200ms cubic-bezier(0.65, 0, 0.35, 1); }
      @media screen and (max-width: 640px) {
        .site-service-list .localnav ul li a {
          padding: .8rem;
          font-size: .92rem;
          height: 100%;
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: center;
          line-height: 1.5; } }
      .site-service-list .localnav ul li a:hover {
        background: #a5c1f6;
        color: #f8f9fc;
        box-shadow: 0 0 1rem rgba(127, 152, 244, 0.4); }

.site-service-list .box__item {
  padding: 6.4rem 0 0;
  display: grid;
  grid-template-columns: 30rem 1fr;
  grid-column-gap: 4rem; }
  @media screen and (max-width: 1119px) {
    .site-service-list .box__item {
      padding: 5.6rem 0 0;
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 3.2rem; } }
  @media screen and (max-width: 640px) {
    .site-service-list .box__item {
      padding: 2.4rem 0 0;
      grid-row-gap: 2rem; } }
  .site-service-list .box__item.rvs {
    grid-template-columns: 1fr 30rem; }
    @media screen and (max-width: 1119px) {
      .site-service-list .box__item.rvs {
        grid-template-columns: repeat(1, 1fr); } }
    .site-service-list .box__item.rvs .box__item__pic {
      order: 2; }
      @media screen and (max-width: 1119px) {
        .site-service-list .box__item.rvs .box__item__pic {
          order: 0; } }
  .site-service-list .box__item__pic {
    position: relative; }
    .site-service-list .box__item__pic img {
      width: 100%;
      border-radius: .4rem;
      box-shadow: 1rem 1rem 0 #edeef4; }
      @media screen and (max-width: 640px) {
        .site-service-list .box__item__pic img {
          box-shadow: none; } }
  .site-service-list .box__item__data {
    align-self: center; }
    @media screen and (max-width: 640px) {
      .site-service-list .box__item__data {
        align-self: flex-start;
        margin: 0 .8rem; } }
    .site-service-list .box__item__data__h {
      font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
      font-weight: 400;
      font-size: 1rem;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: 0.002em;
      font-size: 1.72rem;
      font-weight: 700;
      line-height: 1.5;
      margin: 0 0 1rem;
      padding: 0 0 1rem;
      border-bottom: #e7eaee 1px solid; }
      .site-service-list .box__item__data__h h1, .site-service-list .box__item__data__h h2, .site-service-list .box__item__data__h h3, .site-service-list .box__item__data__h h4, .site-service-list .box__item__data__h h5, .site-service-list .box__item__data__h h6 {
        font-weight: 700; }
      @media screen and (max-width: 640px) {
        .site-service-list .box__item__data__h {
          font-size: 1.24rem; } }
      .site-service-list .box__item__data__h:before {
        content: attr(data-jp);
        font-size: 1.12rem;
        color: #7f98f4;
        font-weight: 700;
        display: block;
        margin: 0 0 .64rem .1rem; }
        @media screen and (max-width: 640px) {
          .site-service-list .box__item__data__h:before {
            font-size: 1rem; } }
    .site-service-list .box__item__data__p {
      font-size: 1.04rem; }
      @media screen and (max-width: 640px) {
        .site-service-list .box__item__data__p {
          font-size: .92rem; } }
    .site-service-list .box__item__data__btn {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      margin: 1.2rem 0 0; }
      @media screen and (max-width: 640px) {
        .site-service-list .box__item__data__btn {
          margin: .8rem 0 0; } }
      .site-service-list .box__item__data__btn a {
        color: #f8f9fc;
        background: linear-gradient(-135deg, #a5c1f6, #7f98f4);
        border-radius: .4rem;
        display: block;
        margin: .64rem .64rem 0 0;
        padding: .4rem 2.4rem; }
        @media screen and (max-width: 640px) {
          .site-service-list .box__item__data__btn a {
            padding: .4rem 1.2rem; } }
        .site-service-list .box__item__data__btn a:hover {
          background: #7f98f4; }

.site-benefit .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: calc(var(--size) + 2vw); }
  @media screen and (max-width: 640px) {
    .site-benefit .grid {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 2.4rem; } }
  .site-benefit .grid__pic {
    border-radius: 1.6rem;
    overflow: hidden; }
    @media screen and (max-width: 640px) {
      .site-benefit .grid__pic {
        border-radius: .8rem; } }
    .site-benefit .grid__pic img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .site-benefit .grid__item {
    align-self: center; }
    .site-benefit .grid__item__inner {
      max-width: 640px;
      margin: 0 auto; }
    .site-benefit .grid__item h2 {
      font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
      font-weight: 400;
      font-size: 1rem;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: 0.002em;
      font-size: 2rem;
      font-weight: 700;
      line-height: 1;
      margin-left: -.2rem; }
      .site-benefit .grid__item h2 h1, .site-benefit .grid__item h2 h2, .site-benefit .grid__item h2 h3, .site-benefit .grid__item h2 h4, .site-benefit .grid__item h2 h5, .site-benefit .grid__item h2 h6 {
        font-weight: 700; }
      @media screen and (max-width: 640px) {
        .site-benefit .grid__item h2 {
          font-size: 1.72rem;
          text-align: center;
          margin: 0; } }
      .site-benefit .grid__item h2:before {
        content: attr(data-eng);
        display: block;
        color: #7f98f4;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: .08rem;
        margin: 0 0 2rem .32rem; }
        @media screen and (max-width: 640px) {
          .site-benefit .grid__item h2:before {
            margin: 0 0 .8rem; } }
      .site-benefit .grid__item h2 + p {
        font-size: 1.08rem;
        margin: 1.6rem 0 0; }
        @media screen and (max-width: 640px) {
          .site-benefit .grid__item h2 + p {
            margin: 1.2rem 1.6rem 0;
            font-size: 1rem; } }

.site-benefit .skill {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: flex-start;
  flex-wrap: wrap;
  background: #eef0f5;
  border-radius: 1.6rem;
  padding: 2.4rem;
  padding-top: 4.8rem;
  margin: 4rem 0 0;
  position: relative; }
  @media screen and (max-width: 640px) {
    .site-benefit .skill {
      padding: 1.6rem;
      border-radius: .8rem;
      margin: 2.4rem 0 0;
      display: block; } }
  .site-benefit .skill:before {
    content: '';
    width: 2.4rem;
    height: 3.2rem;
    background: #eef0f5;
    position: absolute;
    top: 0;
    right: calc(var(--size) + 2vw);
    transform: translateY(-100%);
    clip-path: polygon(0 100%, 50% 0, 100% 100%); }
    @media screen and (max-width: 640px) {
      .site-benefit .skill:before {
        display: none; } }
  .site-benefit .skill dt {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: .4rem 0 1rem 0;
    background: #a5c1f6;
    color: #f8f9fc;
    padding: .4rem 2.4rem;
    font-size: 1.32rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center; }
    @media screen and (max-width: 640px) {
      .site-benefit .skill dt {
        position: relative;
        width: 100%;
        justify-content: center;
        border-radius: .4rem;
        margin: 0 0 1.2rem; } }
    .site-benefit .skill dt svg {
      fill: #f8f9fc;
      width: 2rem;
      height: 2rem; }
  .site-benefit .skill dd {
    font-size: 1.04rem;
    width: calc(33.3% - 1rem);
    position: relative;
    padding-left: 1.5rem; }
    @media screen and (max-width: 1119px) {
      .site-benefit .skill dd {
        font-size: .92rem;
        width: calc(50% - 1rem); } }
    @media screen and (max-width: 640px) {
      .site-benefit .skill dd {
        width: auto; } }
    .site-benefit .skill dd:before {
      content: '';
      position: absolute;
      top: .6rem;
      left: 0;
      width: .6rem;
      height: .8rem;
      background: #a5c1f6;
      clip-path: polygon(0 0, 100% 50%, 0 100%); }

.site-benefit .onebox {
  margin: 3.2rem 0 0;
  display: grid;
  grid-template-columns: .66fr 1fr;
  grid-column-gap: 3.2rem;
  border: #eef0f5 0.5rem solid;
  border-radius: 1.6rem;
  padding: 1.6rem; }
  @media screen and (max-width: 640px) {
    .site-benefit .onebox {
      border-radius: .8rem;
      grid-template-columns: 1fr;
      grid-row-gap: 1.6rem;
      margin: 1.6rem 0 0; } }
  .site-benefit .onebox__pic img {
    width: 100%;
    border-radius: 1.6rem; }
    @media screen and (max-width: 640px) {
      .site-benefit .onebox__pic img {
        border-radius: .64rem; } }
  .site-benefit .onebox__data {
    align-self: center;
    font-size: 1.04rem; }
    @media screen and (max-width: 640px) {
      .site-benefit .onebox__data {
        font-size: 1rem;
        align-self: flex-start; } }
    .site-benefit .onebox__data h3 {
      font-size: 1.44rem;
      line-height: 1.6;
      color: #7f98f4;
      margin: 0 0 1rem;
      padding: 0 0 .8rem;
      border-bottom: #e7eaee 1px solid; }
      @media screen and (max-width: 640px) {
        .site-benefit .onebox__data h3 {
          font-size: 1.2rem; } }

.site-education .context {
  text-align: center; }
  .site-education .context__t {
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0 0 .8rem;
    line-height: 1.5;
    color: transparent;
    background: linear-gradient(30deg, #a5c1f6, #7f85f4);
    -webkit-background-clip: text;
    background-clip: text; }
    .site-education .context__t h1, .site-education .context__t h2, .site-education .context__t h3, .site-education .context__t h4, .site-education .context__t h5, .site-education .context__t h6 {
      font-weight: 700; }
    @media screen and (max-width: 640px) {
      .site-education .context__t {
        font-size: 1.56rem; } }
  .site-education .context__p {
    font-size: 1.08rem; }
    @media screen and (max-width: 640px) {
      .site-education .context__p {
        font-size: 1rem;
        margin: 0 1.6rem;
        text-align: justify; } }
    .site-education .context__p.mb {
      font-size: 1.24rem;
      line-height: 1.7;
      margin-bottom: 1.6rem; }
      @media screen and (max-width: 640px) {
        .site-education .context__p.mb {
          font-size: 1.08rem; } }
    .site-education .context__p strong {
      color: #7f98f4; }

.site-education .map {
  background: #fcfcfe;
  padding: 3.2rem;
  text-align: center;
  margin: 3.2rem 0 0;
  border-radius: 1.6rem;
  box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.08); }
  @media screen and (max-width: 640px) {
    .site-education .map {
      border-radius: .8rem;
      padding: 1.6rem; } }
  .site-education .map img {
    max-width: 72%;
    mix-blend-mode: darken; }
    @media screen and (max-width: 640px) {
      .site-education .map img {
        max-width: 100%; } }

.site-education .frame {
  background: #fdfefe;
  box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.08);
  border-radius: 1.6rem;
  display: grid;
  grid-template-columns: 32rem 1fr;
  grid-column-gap: 3.2rem;
  padding: 2.4rem;
  margin: 3.2rem 0 0; }
  @media screen and (max-width: 1119px) {
    .site-education .frame {
      grid-template-columns: 1fr;
      grid-row-gap: 2.4rem; } }
  @media screen and (max-width: 640px) {
    .site-education .frame {
      border-radius: .8rem;
      margin: 2.4rem 0 0;
      padding: 1.6rem;
      grid-row-gap: 1.6rem; } }
  .site-education .frame__pic {
    align-self: center;
    padding: calc(100% / 16 * 10) 0 0;
    position: relative;
    overflow: hidden;
    border-radius: .8rem; }
    .site-education .frame__pic img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      object-fit: cover; }
  .site-education .frame__data {
    position: relative;
    align-self: center; }
    .site-education .frame__data h4 {
      font-size: 1.56rem;
      font-weight: 700;
      color: #7f98f4;
      margin: 0 0 1.2rem; }
      @media screen and (max-width: 640px) {
        .site-education .frame__data h4 {
          font-size: 1.32rem;
          text-align: center; } }
    .site-education .frame__data .tip {
      position: absolute;
      right: 0;
      top: 0;
      background: linear-gradient(135deg, #a5c1f6, #7f98f4);
      padding: .2rem 1.2rem;
      color: #f8f9fc;
      border-radius: 999rem; }
      @media screen and (max-width: 640px) {
        .site-education .frame__data .tip {
          position: relative;
          display: block;
          text-align: center;
          margin: 0 0 1.6rem; } }
    .site-education .frame__data dl {
      margin: 1.6rem 0 0;
      padding: 1.6rem 0 0;
      border-top: #e7eaee 1px solid;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-column-gap: 1.6rem; }
      @media screen and (max-width: 640px) {
        .site-education .frame__data dl {
          grid-template-columns: repeat(2, 1fr);
          grid-column-gap: .4rem;
          grid-row-gap: .4rem; } }
      .site-education .frame__data dl dt {
        color: #7f98f4;
        font-size: 1.12rem;
        font-weight: 700;
        grid-column: 1/4;
        margin: 1.2rem 0 .4rem; }
        @media screen and (max-width: 640px) {
          .site-education .frame__data dl dt {
            font-size: 1.04rem;
            grid-column: 1/3; } }
        .site-education .frame__data dl dt:first-of-type {
          margin-top: 0; }
      .site-education .frame__data dl dd {
        font-size: .92rem;
        position: relative;
        padding: 0 0 0 1rem; }
        @media screen and (max-width: 640px) {
          .site-education .frame__data dl dd {
            font-size: .8rem;
            background: #f3f4f8;
            padding: .8rem;
            line-height: 1.5;
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: flex-start; } }
        .site-education .frame__data dl dd:before {
          content: '';
          width: .48rem;
          height: .64rem;
          background: #7f98f4;
          position: absolute;
          top: .64rem;
          left: 0;
          clip-path: polygon(0 0, 100% 50%, 0 100%); }
          @media screen and (max-width: 640px) {
            .site-education .frame__data dl dd:before {
              display: none; } }

.site-blog {
  padding: 12rem 0 0; }
  @media screen and (max-width: 1119px) {
    .site-blog {
      padding: calc(var(--head) + 3.2rem) 0 0; } }
  @media screen and (max-width: 640px) {
    .site-blog {
      padding: calc(var(--head) + 2.4rem) 0 0; } }
  .site-blog .blog-wrapper {
    display: grid;
    grid-template-columns: 18rem 1fr;
    grid-column-gap: 2.4rem;
    position: relative;
    min-height: 50vh; }
    @media screen and (max-width: 1119px) {
      .site-blog .blog-wrapper {
        grid-template-columns: 12rem 1fr;
        grid-column-gap: 4rem; } }
    @media screen and (max-width: 640px) {
      .site-blog .blog-wrapper {
        grid-template-columns: 1fr;
        grid-row-gap: 3.2rem; } }
  .site-blog .sidebar {
    align-self: flex-start; }
    @media screen and (max-width: 640px) {
      .site-blog .sidebar {
        order: 2;
        background: #edeef4;
        border-radius: .4rem;
        padding: 1.6rem; } }
    .site-blog .sidebar__box {
      transition: transform 600ms linear; }
    .site-blog .sidebar.active .sidebar__box {
      transform: translateY(calc(var(--head) + 3.2rem)); }
      @media screen and (max-width: 640px) {
        .site-blog .sidebar.active .sidebar__box {
          transform: translateY(0); } }
    .site-blog .sidebar h1 {
      font-size: 1.6rem;
      line-height: 1;
      position: relative;
      margin: 0 0 .92rem; }
      @media screen and (max-width: 1119px) {
        .site-blog .sidebar h1 {
          font-size: 1.32rem; } }
      @media screen and (max-width: 640px) {
        .site-blog .sidebar h1 {
          margin: 0 0 .64rem; } }
      .site-blog .sidebar h1::before {
        content: attr(data-eng);
        text-transform: uppercase;
        display: block;
        font-size: .72rem;
        color: #7f98f4;
        letter-spacing: .08em;
        margin: 0 0 1.12rem .2rem; }
        @media screen and (max-width: 640px) {
          .site-blog .sidebar h1::before {
            margin: 0 0 .8rem; } }
    .site-blog .sidebar .context {
      font-size: .88rem;
      line-height: 1.8;
      margin: 0 0 2.4rem; }
      @media screen and (max-width: 1119px) {
        .site-blog .sidebar .context {
          font-size: .72rem;
          line-height: 1.66; } }
      @media screen and (max-width: 640px) {
        .site-blog .sidebar .context {
          font-size: .8rem;
          margin: 0 0 1.6rem; } }
    .site-blog .sidebar dl {
      margin-top: 2.4rem; }
      .site-blog .sidebar dl:first-of-type {
        margin-top: 0; }
      .site-blog .sidebar dl.sns {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .site-blog .sidebar dl.sns dt {
          width: 100%; }
        .site-blog .sidebar dl.sns dd {
          margin: 0 .64rem 0 0; }
          .site-blog .sidebar dl.sns dd:last-of-type {
            margin: 0; }
          .site-blog .sidebar dl.sns dd a {
            width: 2.8rem;
            height: 2.8rem;
            border: #e7eaee 1px solid;
            overflow: hidden;
            border-radius: 999rem;
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            position: relative;
            z-index: 2; }
            @media screen and (max-width: 1119px) {
              .site-blog .sidebar dl.sns dd a {
                width: 2.4rem;
                height: 2.4rem; } }
            @media screen and (max-width: 640px) {
              .site-blog .sidebar dl.sns dd a {
                border: none;
                background: white; } }
            .site-blog .sidebar dl.sns dd a:before {
              content: '';
              width: 100%;
              height: 100%;
              border-radius: 999rem;
              background: #a5c1f6;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%) scale(0);
              z-index: -1;
              transition: transform 160ms cubic-bezier(0.65, 0, 0.35, 1); }
            .site-blog .sidebar dl.sns dd a:hover:before {
              transform: translate(-50%, -50%) scale(1); }
            .site-blog .sidebar dl.sns dd a:hover svg {
              fill: white; }
    .site-blog .sidebar dt {
      font-size: 1.16rem;
      font-weight: 700;
      margin: 0 0 1.2rem;
      padding: .8rem 0;
      border-bottom: #e7eaee 1px solid;
      border-top: #e7eaee 1px solid;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      position: relative; }
      @media screen and (max-width: 1119px) {
        .site-blog .sidebar dt {
          font-size: 1rem; } }
      @media screen and (max-width: 640px) {
        .site-blog .sidebar dt {
          border-color: rgba(68, 79, 103, 0.08); } }
      .site-blog .sidebar dt svg {
        fill: #444f67;
        width: 2.8rem;
        height: 2.8rem;
        display: inline-block;
        margin: .24rem .6rem 0 0; }
    .site-blog .sidebar dd {
      margin: .64rem 0 0; }
      .site-blog .sidebar dd a {
        color: #444f67;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start; }
        .site-blog .sidebar dd a:hover {
          color: #7f98f4; }
          .site-blog .sidebar dd a:hover span {
            background: #a5c1f6;
            color: #f8f9fc; }
        .site-blog .sidebar dd a span {
          display: inline-block;
          margin: 0 0 0 .64rem;
          background: #e0e2ed;
          padding: .1rem .4rem;
          border-radius: 999rem;
          font-size: .72rem; }
          @media screen and (max-width: 640px) {
            .site-blog .sidebar dd a span {
              background: white; } }
        .site-blog .sidebar dd a svg {
          fill: #444f67;
          width: 1.16rem;
          height: 1.16rem;
          opacity: .8;
          transition: fill 160ms cubic-bezier(0.65, 0, 0.35, 1); }
          @media screen and (max-width: 1119px) {
            .site-blog .sidebar dd a svg {
              width: 1rem;
              height: 1rem; } }
  .site-blog .blog-container {
    margin: 0 auto;
    align-self: flex-start;
    width: 88%; }
    @media screen and (max-width: 1119px) {
      .site-blog .blog-container {
        width: 100%; } }
  .site-blog .bloglist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 3.2rem;
    grid-row-gap: 4rem; }
    @media screen and (max-width: 1119px) {
      .site-blog .bloglist {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 0; } }
    @media screen and (max-width: 1119px) {
      .site-blog .bloglist li {
        padding: 0 0 1.6rem;
        margin: 0 0 1.6rem;
        border-bottom: #e7eaee 1px solid; }
        .site-blog .bloglist li:last-child {
          margin: 0;
          padding: 0;
          border: none; } }
    @media screen and (max-width: 640px) {
      .site-blog .bloglist li {
        padding: 0 0 1.2rem;
        margin: 0 0 1.2rem; } }
    .site-blog .bloglist li a {
      color: #444f67;
      display: block;
      position: relative; }
      @media screen and (max-width: 1119px) {
        .site-blog .bloglist li a {
          display: grid;
          grid-template-columns: 10rem 1fr;
          grid-column-gap: 1.6rem; } }
      @media screen and (max-width: 640px) {
        .site-blog .bloglist li a {
          grid-template-columns: 7.2rem 1fr; } }
      .site-blog .bloglist li a figure {
        position: relative;
        width: 100%;
        padding: calc(100% / 16 * 10) 0 0;
        border-radius: .4rem;
        overflow: hidden; }
        @media screen and (max-width: 640px) {
          .site-blog .bloglist li a figure {
            align-self: flex-start; } }
        .site-blog .bloglist li a figure img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover; }
      .site-blog .bloglist li a .meta {
        margin: 1.4rem 0 0;
        position: relative;
        padding: 0 2rem 0 0; }
        @media screen and (max-width: 1119px) {
          .site-blog .bloglist li a .meta {
            margin: 0; } }
        @media screen and (max-width: 640px) {
          .site-blog .bloglist li a .meta {
            padding: 0 1.6rem 0 0; } }
        .site-blog .bloglist li a .meta__item {
          display: flex;
          flex-flow: row wrap;
          justify-content: space-between;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: flex-start;
          font-size: .8rem; }
          @media screen and (max-width: 640px) {
            .site-blog .bloglist li a .meta__item {
              font-size: .72rem; } }
          .site-blog .bloglist li a .meta__item dt,
          .site-blog .bloglist li a .meta__item dd {
            background: #a5c1f6;
            color: #f8f9fc;
            padding: .1rem .8rem;
            border-radius: .2rem; }
            @media screen and (max-width: 640px) {
              .site-blog .bloglist li a .meta__item dt,
              .site-blog .bloglist li a .meta__item dd {
                padding: .16rem .64rem; } }
          .site-blog .bloglist li a .meta__item dt {
            background: #e6e8f0;
            color: #444f67;
            margin: 0 .64rem 0 0; }
        .site-blog .bloglist li a .meta svg {
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          fill: #444f67; }
          @media screen and (max-width: 640px) {
            .site-blog .bloglist li a .meta svg {
              width: 1.2rem;
              height: 1.2rem; } }
      .site-blog .bloglist li a h2 {
        margin: .6rem 0 0;
        font-size: 1.04rem; }
  .site-blog .blogtitle__meta {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    line-height: 1; }
    .site-blog .blogtitle__meta time {
      font-size: 1.12rem;
      font-weight: 700;
      margin: 0 1.6rem 0 0; }
      @media screen and (max-width: 640px) {
        .site-blog .blogtitle__meta time {
          font-size: 1rem;
          margin: 0 1rem 0 0; } }
    .site-blog .blogtitle__meta span {
      background: #a5c1f6;
      color: #f8f9fc;
      border-radius: 999rem;
      font-size: .8rem;
      padding: .4rem .8rem; }
  .site-blog .blogtitle h2 {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.36;
    transform: translateX(-0.14rem);
    margin: .8rem 0 0; }
    @media screen and (max-width: 1119px) {
      .site-blog .blogtitle h2 {
        font-size: 1.72rem; } }
    @media screen and (max-width: 640px) {
      .site-blog .blogtitle h2 {
        font-size: 1.32rem; } }
  .site-blog .blogmain {
    width: 100%;
    position: relative;
    margin: 2.4rem 0 0; }
    @media screen and (max-width: 640px) {
      .site-blog .blogmain {
        margin: 1.6rem 0 0; } }
    .site-blog .blogmain img {
      width: 100%;
      height: auto;
      border-radius: .4rem; }
  .site-blog .blogpost {
    margin: 2.4rem 0 0;
    font-size: 1.12rem; }
    @media screen and (max-width: 640px) {
      .site-blog .blogpost {
        font-size: 1.04rem;
        margin: 1.6rem 0 0; } }

.site-map .list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-column-gap: 1rem;
  grid-row-gap: 1rem; }
  @media screen and (max-width: 1119px) {
    .site-map .list {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (max-width: 640px) {
    .site-map .list {
      grid-template-columns: repeat(2, 1fr);
      grid-column-gap: .64rem;
      grid-row-gap: .64rem; } }
  .site-map .list li a {
    display: block;
    text-align: center;
    padding: .8rem 1.6rem;
    color: #444f67;
    position: relative;
    transition: color 300ms cubic-bezier(0.65, 0, 0.35, 1); }
    @media screen and (max-width: 640px) {
      .site-map .list li a {
        font-size: .92rem;
        padding: .8rem 1.2rem; } }
    .site-map .list li a:before, .site-map .list li a:after {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background: #edeef4;
      z-index: -1; }
    .site-map .list li a:after {
      width: 0;
      background: #a5c1f6;
      transition: width 300ms cubic-bezier(0.65, 0, 0.35, 1); }
    .site-map .list li a:hover {
      color: #f8f9fc; }
      .site-map .list li a:hover:after {
        width: 100%;
        left: 0;
        right: auto; }

.site-privacy .min {
  max-width: 1024px;
  margin: 0 auto; }

.site-privacy .item {
  background: #edeef4;
  padding: 2.4rem;
  margin: 0 0 2.4rem;
  border-radius: .4rem; }
  @media screen and (max-width: 640px) {
    .site-privacy .item {
      padding: 1.6rem;
      margin: 0 0 1.6rem; } }
  .site-privacy .item dt {
    font-size: 1.32rem;
    font-weight: 700;
    padding: 0 0 .8rem;
    margin: 0 0 1rem;
    border-bottom: #f8f9fc 0.25rem solid; }
    @media screen and (max-width: 640px) {
      .site-privacy .item dt {
        font-size: 1.12rem; } }
  .site-privacy .item dd > ul {
    background: #f8f9fc;
    padding: 1.6rem;
    margin: 1.6rem 0 0;
    border-radius: .4rem; }
    .site-privacy .item dd > ul > li:before {
      content: '■';
      color: #a5c1f6;
      font-size: .8rem;
      display: inline-block;
      margin: 0 .4rem 0 0; }
    .site-privacy .item dd > ul > li > ol {
      border: #e7eaee 2px solid;
      padding: 1.2rem;
      margin: .8rem 0;
      border-radius: .4rem; }
      .site-privacy .item dd > ul > li > ol > li {
        list-style: inside decimal; }

.site-privacy table {
  border: #e7eaee 1px solid;
  border-collapse: collapse;
  width: 100%;
  margin: 2.4rem 0; }
  @media screen and (max-width: 640px) {
    .site-privacy table {
      display: block; } }
  @media screen and (max-width: 640px) {
    .site-privacy table tbody {
      display: block; } }
  @media screen and (max-width: 640px) {
    .site-privacy table tbody tr {
      display: block; }
      .site-privacy table tbody tr:nth-child(3) td, .site-privacy table tbody tr:nth-child(4) td, .site-privacy table tbody tr:nth-child(5) td {
        padding: 0 1.6rem; }
      .site-privacy table tbody tr:nth-child(5) td {
        padding-bottom: 1.6rem; } }
  .site-privacy table tbody tr th, .site-privacy table tbody tr td {
    border: #e7eaee 1px solid;
    padding: 1.2rem 1.6rem;
    vertical-align: middle;
    line-height: 1.6; }
    @media screen and (max-width: 640px) {
      .site-privacy table tbody tr th, .site-privacy table tbody tr td {
        display: block;
        border: none; } }
  .site-privacy table tbody tr th {
    width: 30%;
    text-align: left; }
    @media screen and (max-width: 640px) {
      .site-privacy table tbody tr th {
        width: auto;
        background: #edeef4; } }

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(248, 249, 252, 0.56);
  backdrop-filter: saturate(90%) blur(20px);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  z-index: 9999;
  animation: fadeInModal 800ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }

@keyframes fadeInModal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .modal-overlay .modal-content {
    position: relative;
    opacity: 0;
    animation: fadeInModalContent 600ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }

@keyframes fadeInModalContent {
  0% {
    opacity: 0;
    transform: translateY(2rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
    .modal-overlay .modal-content .modal-content-inner {
      background-color: #f8f9fc;
      padding: 2.4rem;
      border-radius: .4rem;
      box-shadow: 0 0 1.6rem rgba(68, 79, 103, 0.12);
      width: 560px;
      max-height: 80vh;
      overflow: auto;
      overflow-x: hidden;
      overflow-y: auto;
      position: relative; }
      @media screen and (max-width: 640px) {
        .modal-overlay .modal-content .modal-content-inner {
          width: calc(100vw - 3.2rem);
          max-height: calc(100dvh - 3.2rem);
          padding: 1.6rem; } }
      .modal-overlay .modal-content .modal-content-inner img {
        border-radius: .4rem; }
      .modal-overlay .modal-content .modal-content-inner--job h2 {
        text-align: center;
        font-size: 1.32rem;
        color: #4278db;
        margin: 0 0 1.6rem; }
      .modal-overlay .modal-content .modal-content-inner--job img {
        width: 100%;
        height: auto; }
      .modal-overlay .modal-content .modal-content-inner--job div {
        margin: 1.6rem 0 0; }
      .modal-overlay .modal-content .modal-content-inner--service {
        width: 980px; }
        @media screen and (max-width: 1119px) {
          .modal-overlay .modal-content .modal-content-inner--service {
            max-width: 90vw; } }
        @media screen and (max-width: 640px) {
          .modal-overlay .modal-content .modal-content-inner--service {
            max-width: calc(100vw - 3.2rem); } }
        .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          grid-column-gap: 3.2rem; }
          @media screen and (max-width: 640px) {
            .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid {
              grid-template-columns: repeat(1, 1fr);
              grid-row-gap: 1.6rem; } }
          .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid img {
            width: 100%;
            align-self: flex-start; }
          .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid .modal-content-grid--item {
            align-self: center; }
            .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid .modal-content-grid--item h2 {
              font-size: 1.4rem;
              color: #4278db;
              margin: 0 0 .8rem; }
              @media screen and (max-width: 640px) {
                .modal-overlay .modal-content .modal-content-inner--service .modal-content-grid .modal-content-grid--item h2 {
                  font-size: 1.24rem;
                  text-align: center;
                  margin: 0 0 .64rem; } }
        .modal-overlay .modal-content .modal-content-inner--service .servicelist-title {
          font-size: 1.32rem;
          line-height: 1.5;
          font-weight: 700;
          padding: 0 0 .8rem 1.4rem;
          border-bottom: #e7eaee 1px solid;
          position: relative;
          margin: 3.2rem 0 1.2rem; }
          @media screen and (max-width: 640px) {
            .modal-overlay .modal-content .modal-content-inner--service .servicelist-title {
              font-size: 1.24rem;
              margin-top: 2.4rem; } }
          .modal-overlay .modal-content .modal-content-inner--service .servicelist-title:before {
            content: '';
            width: 6px;
            border-radius: 999px;
            background: #a5c1f6;
            height: calc(100% - 9px);
            position: absolute;
            top: 0;
            left: 0; }
        .modal-overlay .modal-content .modal-content-inner--service .servicelist {
          margin: .8rem 0 0; }
          .modal-overlay .modal-content .modal-content-inner--service .servicelist li {
            background: #eef0f5;
            margin: 0 0 .4rem;
            padding: 1.2rem;
            padding-left: 1.6rem;
            position: relative; }
            @media screen and (max-width: 640px) {
              .modal-overlay .modal-content .modal-content-inner--service .servicelist li {
                line-height: 1.66; } }
            .modal-overlay .modal-content .modal-content-inner--service .servicelist li:before {
              content: '';
              width: 6px;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              background: #d9dce9; }
            .modal-overlay .modal-content .modal-content-inner--service .servicelist li:last-child {
              margin-bottom: 0; }
    .modal-overlay .modal-content .modal-content-btn {
      position: absolute;
      top: 0;
      right: 0;
      width: 4rem;
      height: 4rem;
      background: #444f67;
      color: #f8f9fc;
      font-size: 1.4rem;
      border-radius: 50%;
      transform: translate(25%, -25%);
      z-index: 2;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: transform 200ms cubic-bezier(0.65, 0, 0.35, 1); }
      @media screen and (max-width: 640px) {
        .modal-overlay .modal-content .modal-content-btn {
          width: 3.2rem;
          height: 3.2rem;
          transform: translate(25%, -25%); } }
      .modal-overlay .modal-content .modal-content-btn:hover {
        transform: translate(25%, -25%) scale(1.1); }

.site-contact .display {
  max-width: 900px;
  margin: 0 auto;
  text-align: center; }

.site-contact .header_emesg {
  color: #4278db; }

.site-contact .formStyle {
  margin: 3.2rem 0 0;
  width: 100%;
  border-collapse: collapse; }
  @media screen and (max-width: 640px) {
    .site-contact .formStyle {
      display: block; } }
  @media screen and (max-width: 640px) {
    .site-contact .formStyle tbody {
      display: block; } }
  @media screen and (max-width: 640px) {
    .site-contact .formStyle tbody tr {
      display: block; } }
  .site-contact .formStyle tbody tr th, .site-contact .formStyle tbody tr td {
    font-size: 1.04rem;
    padding: 2rem 0;
    vertical-align: middle;
    text-align: left;
    border-bottom: #e7eaee 1px solid; }
    @media screen and (max-width: 640px) {
      .site-contact .formStyle tbody tr th, .site-contact .formStyle tbody tr td {
        display: block;
        padding: .8rem 1.2rem; } }
  .site-contact .formStyle tbody tr th {
    width: 16rem; }
    @media screen and (max-width: 640px) {
      .site-contact .formStyle tbody tr th {
        width: auto;
        background: #edeef4; } }
    .site-contact .formStyle tbody tr th.hiss {
      position: relative; }
      .site-contact .formStyle tbody tr th.hiss i {
        font-size: .8rem;
        font-weight: 400;
        background: #a5c1f6;
        color: #f8f9fc;
        padding: 0 1rem;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%); }
        @media screen and (max-width: 640px) {
          .site-contact .formStyle tbody tr th.hiss i {
            right: 1.2rem; } }
  .site-contact .formStyle tbody tr td {
    padding-left: 4rem; }
    @media screen and (max-width: 640px) {
      .site-contact .formStyle tbody tr td {
        padding: 1.2rem 0; } }
    .site-contact .formStyle tbody tr td input[type=text],
    .site-contact .formStyle tbody tr td input[type=email],
    .site-contact .formStyle tbody tr td input[type=tel],
    .site-contact .formStyle tbody tr td input[type=password],
    .site-contact .formStyle tbody tr td textarea,
    .site-contact .formStyle tbody tr td select {
      font-family: 'Noto Sans JP', 'Yu Gothic', '游ゴシック' ,YuGothic, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', Helvetica, Arial, Verdana, sans-serif;
      font-weight: 400;
      font-size: 1rem;
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: 0.024em;
      font-size: 1.04rem;
      border: none;
      padding: .4rem .8rem;
      display: block;
      width: 100%;
      background: #FFF;
      border: #FFF 2px solid; }
      @media screen and (max-width: 640px) {
        .site-contact .formStyle tbody tr td input[type=text],
        .site-contact .formStyle tbody tr td input[type=email],
        .site-contact .formStyle tbody tr td input[type=tel],
        .site-contact .formStyle tbody tr td input[type=password],
        .site-contact .formStyle tbody tr td textarea,
        .site-contact .formStyle tbody tr td select {
          border-color: #e7eaee;
          border-width: 1px;
          border-radius: .24rem;
          font-size: 1.08rem;
          padding: .64rem .8rem; } }
      .site-contact .formStyle tbody tr td input[type=text].error,
      .site-contact .formStyle tbody tr td input[type=email].error,
      .site-contact .formStyle tbody tr td input[type=tel].error,
      .site-contact .formStyle tbody tr td input[type=password].error,
      .site-contact .formStyle tbody tr td textarea.error,
      .site-contact .formStyle tbody tr td select.error {
        border-color: #4278db;
        border-style: dotted; }
        @media screen and (max-width: 640px) {
          .site-contact .formStyle tbody tr td input[type=text].error,
          .site-contact .formStyle tbody tr td input[type=email].error,
          .site-contact .formStyle tbody tr td input[type=tel].error,
          .site-contact .formStyle tbody tr td input[type=password].error,
          .site-contact .formStyle tbody tr td textarea.error,
          .site-contact .formStyle tbody tr td select.error {
            border-style: dashed; } }
      .site-contact .formStyle tbody tr td input[type=text]:focus,
      .site-contact .formStyle tbody tr td input[type=email]:focus,
      .site-contact .formStyle tbody tr td input[type=tel]:focus,
      .site-contact .formStyle tbody tr td input[type=password]:focus,
      .site-contact .formStyle tbody tr td textarea:focus,
      .site-contact .formStyle tbody tr td select:focus {
        border-color: #a5c1f6; }
    .site-contact .formStyle tbody tr td .msg {
      margin: .8rem 0 0;
      display: block;
      font-size: .8rem;
      color: #4278db; }

.site-contact .send {
  text-align: center;
  margin: 3.2rem 0 0; }
  @media screen and (max-width: 640px) {
    .site-contact .send {
      margin: 2.4rem 0 0; } }
  .site-contact .send input {
    background: #7f98f4;
    border: #7f98f4 2px solid;
    color: #f8f9fc;
    font-weight: 700;
    padding: .8rem 3.2rem;
    font-size: 1.24rem;
    border-radius: 999rem;
    cursor: pointer; }
    @media screen and (max-width: 640px) {
      .site-contact .send input {
        width: 100%; } }
    .site-contact .send input:hover {
      background: #f8f9fc;
      color: #7f98f4; }

.spiralSeal {
  margin: 2.4rem 0 0; }
  @media screen and (max-width: 640px) {
    .spiralSeal {
      display: block; } }
  @media screen and (max-width: 640px) {
    .spiralSeal tbody {
      display: block; } }
  @media screen and (max-width: 640px) {
    .spiralSeal tbody tr {
      display: block; } }
  .spiralSeal tbody tr th, .spiralSeal tbody tr td {
    text-align: left;
    vertical-align: middle; }
    @media screen and (max-width: 640px) {
      .spiralSeal tbody tr th, .spiralSeal tbody tr td {
        display: block; } }
    .spiralSeal tbody tr th a img, .spiralSeal tbody tr td a img {
      float: none !important; }

.site-kango .catch {
  text-align: center; }
  .site-kango .catch dt {
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-size: 2.32rem;
    letter-spacing: 0; }
    .site-kango .catch dt h1, .site-kango .catch dt h2, .site-kango .catch dt h3, .site-kango .catch dt h4, .site-kango .catch dt h5, .site-kango .catch dt h6 {
      font-weight: 700; }
    .site-kango .catch dt:before {
      content: attr(data-eng);
      color: #7f98f4;
      font-size: .92rem;
      font-weight: 700;
      display: block; }

.site-kango .map {
  background: #fcfcfe;
  box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.08);
  text-align: center;
  border-radius: .4rem;
  padding: 3.2rem 0;
  margin: 3.2rem 0 0; }
  .site-kango .map img {
    width: 64%; }

.site-kango .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2.4rem;
  margin: 3.2rem 0 0; }
  .site-kango .grid__item {
    background: #edeef4;
    padding: 2rem;
    border-radius: .4rem; }
    .site-kango .grid__item figure {
      width: 6.4rem;
      height: 6.4rem;
      margin: 0 auto 2rem;
      border-radius: 999rem;
      background: #f8f9fc;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center; }
      .site-kango .grid__item figure img {
        width: 60%; }
    .site-kango .grid__item h2 {
      font-size: 1.24rem;
      text-align: center;
      margin: 0 0 1.2rem;
      padding: 0 0 1.2rem;
      border-bottom: #f8f9fc 0.2rem solid; }
    .site-kango .grid__item p {
      line-height: 1.7; }

.site-kango .mes {
  margin: 5.6rem 0 0;
  background: #edeef4;
  padding: 2rem;
  padding-top: 3.2rem;
  border-radius: .4rem;
  position: relative; }
  .site-kango .mes dt {
    font-size: 1.12rem;
    background: linear-gradient(-120deg, #a5c1f6, #7f98f4);
    color: #f8f9fc;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: .4rem 5.6rem;
    border-radius: 999rem; }
  .site-kango .mes dd {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 0 26%;
    font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight: 400;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.002em;
    font-size: 1.32rem;
    text-align: center; }
    .site-kango .mes dd h1, .site-kango .mes dd h2, .site-kango .mes dd h3, .site-kango .mes dd h4, .site-kango .mes dd h5, .site-kango .mes dd h6 {
      font-weight: 700; }
    .site-kango .mes dd:before {
      content: attr(data-numb);
      font-size: .92rem;
      width: 2rem;
      height: 2rem;
      background: #a5c1f6;
      border-radius: 999rem;
      color: #f8f9fc;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0 .8rem 0 0; }

.site-kango .group {
  margin: 5.6rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 6rem;
  position: relative; }
  .site-kango .group:before, .site-kango .group:after {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    background: #e7eaee;
    top: 0;
    left: calc(33.3% - 1rem); }
  .site-kango .group:after {
    left: auto;
    right: calc(33.3% - 1rem); }
  .site-kango .group__item figure {
    margin: 0 20% 1.2rem; }
    .site-kango .group__item figure img {
      width: 100%; }
  .site-kango .group__item dl dt {
    font-size: 1.24rem;
    color: #7f98f4;
    font-weight: 700;
    text-align: center; }
  .site-kango .group__item dl dd {
    margin: .8rem 0 0; }

.site-kango .context {
  font-size: 1.08rem;
  text-align: center; }

.site-kango .main {
  margin: 2.4rem 0 0;
  padding: 8rem 20% 0;
  border-radius: .4rem;
  background: #fcfcfe;
  box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.08);
  position: relative; }
  .site-kango .main figcaption {
    position: absolute;
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.12rem; }
  .site-kango .main img {
    width: 100%; }

.site-kango .bo {
  background: linear-gradient(-120deg, #a5c1f6, #7f98f4);
  color: #f8f9fc;
  text-align: center;
  font-size: 1.32rem;
  padding: .8rem;
  margin: 4rem 0 2rem; }

.site-kango .schedule__table {
  width: calc(100% - 25rem); }
  .site-kango .schedule__table dl {
    background: #fcfcfe;
    display: grid;
    grid-template-columns: 10rem 1fr;
    border-bottom: #e7eaee 1px solid;
    position: relative; }
    .site-kango .schedule__table dl:last-of-type {
      border-bottom: 0; }
    .site-kango .schedule__table dl dt, .site-kango .schedule__table dl dd {
      padding: 1rem 1.6rem;
      align-self: center;
      font-size: 1.12rem; }
    .site-kango .schedule__table dl dt {
      background: #a5c1f6;
      text-align: center;
      color: #f8f9fc;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center; }
      .site-kango .schedule__table dl dt svg {
        fill: #f8f9fc;
        display: inline-block;
        margin: 0 .8rem 0 0; }
    .site-kango .schedule__table dl dd.pos {
      width: 25rem;
      position: absolute;
      top: 50%;
      right: -25rem;
      font-size: 1rem;
      padding: .8rem 1.2rem;
      line-height: 1.6;
      background: linear-gradient(-120deg, #a5c1f6, #7f98f4);
      color: #f8f9fc;
      transform: translateY(-50%);
      z-index: 100;
      border-radius: .2rem; }
      .site-kango .schedule__table dl dd.pos:after {
        content: '';
        width: .8rem;
        height: 1.6rem;
        background: #7f98f4;
        position: absolute;
        top: 50%;
        left: 0;
        clip-path: polygon(0 50%, 100% 0, 100% 100%);
        transform: translate(-100%, -50%); }

.site-kango .sheet.border {
  margin: 0 0 4.8rem;
  padding: 0 0 4.8rem;
  border-bottom: #e7eaee 1px solid; }

.site-kango .sheet figure {
  background: #fcfcfe;
  box-shadow: 0 0 3.2rem rgba(68, 79, 103, 0.08);
  padding: 5.6rem 15%;
  border-radius: .4rem; }
  .site-kango .sheet figure img {
    width: 100%; }

.site-kango .sheet__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2rem;
  margin: 3.2rem 0 0; }
  .site-kango .sheet__grid__item h3 {
    background: #edeef4;
    font-size: 1.12rem;
    padding: .64rem 2.4rem;
    border-radius: .4rem;
    position: relative; }
    .site-kango .sheet__grid__item h3:before {
      content: '';
      width: .64rem;
      height: .64rem;
      position: absolute;
      background: #7f98f4;
      top: 50%;
      left: 1rem;
      transform: translateY(-50%);
      border-radius: 50%; }
  .site-kango .sheet__grid__item .t {
    margin: 1.2rem 0 0; }

.site-kango .sheet__clum {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2rem; }
  .site-kango .sheet__clum figure {
    padding: 3.2rem; }

.site-kango .chance h2 {
  font-family: "Nanum Myeongjo",'游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  font-weight: 400;
  font-size: 1rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.002em;
  font-size: 1.92rem;
  text-align: center;
  margin: 0 0 2.4rem; }
  .site-kango .chance h2 h1, .site-kango .chance h2 h2, .site-kango .chance h2 h3, .site-kango .chance h2 h4, .site-kango .chance h2 h5, .site-kango .chance h2 h6 {
    font-weight: 700; }

.site-kango .chance__list {
  background: #edeef4;
  padding: 2rem 3.2rem;
  border-radius: .4rem; }
  .site-kango .chance__list.active li .score .score-1 {
    width: calc(100% / 120 * 1); }
  .site-kango .chance__list.active li .score .score-2 {
    width: calc(100% / 120 * 2); }
  .site-kango .chance__list.active li .score .score-3 {
    width: calc(100% / 120 * 3); }
  .site-kango .chance__list.active li .score .score-4 {
    width: calc(100% / 120 * 4); }
  .site-kango .chance__list.active li .score .score-5 {
    width: calc(100% / 120 * 5); }
  .site-kango .chance__list.active li .score .score-6 {
    width: calc(100% / 120 * 6); }
  .site-kango .chance__list.active li .score .score-7 {
    width: calc(100% / 120 * 7); }
  .site-kango .chance__list.active li .score .score-8 {
    width: calc(100% / 120 * 8); }
  .site-kango .chance__list.active li .score .score-9 {
    width: calc(100% / 120 * 9); }
  .site-kango .chance__list.active li .score .score-10 {
    width: calc(100% / 120 * 10); }
  .site-kango .chance__list.active li .score .score-11 {
    width: calc(100% / 120 * 11); }
  .site-kango .chance__list.active li .score .score-12 {
    width: calc(100% / 120 * 12); }
  .site-kango .chance__list.active li .score .score-13 {
    width: calc(100% / 120 * 13); }
  .site-kango .chance__list.active li .score .score-14 {
    width: calc(100% / 120 * 14); }
  .site-kango .chance__list.active li .score .score-15 {
    width: calc(100% / 120 * 15); }
  .site-kango .chance__list.active li .score .score-16 {
    width: calc(100% / 120 * 16); }
  .site-kango .chance__list.active li .score .score-17 {
    width: calc(100% / 120 * 17); }
  .site-kango .chance__list.active li .score .score-18 {
    width: calc(100% / 120 * 18); }
  .site-kango .chance__list.active li .score .score-19 {
    width: calc(100% / 120 * 19); }
  .site-kango .chance__list.active li .score .score-20 {
    width: calc(100% / 120 * 20); }
  .site-kango .chance__list.active li .score .score-21 {
    width: calc(100% / 120 * 21); }
  .site-kango .chance__list.active li .score .score-22 {
    width: calc(100% / 120 * 22); }
  .site-kango .chance__list.active li .score .score-23 {
    width: calc(100% / 120 * 23); }
  .site-kango .chance__list.active li .score .score-24 {
    width: calc(100% / 120 * 24); }
  .site-kango .chance__list.active li .score .score-25 {
    width: calc(100% / 120 * 25); }
  .site-kango .chance__list.active li .score .score-26 {
    width: calc(100% / 120 * 26); }
  .site-kango .chance__list.active li .score .score-27 {
    width: calc(100% / 120 * 27); }
  .site-kango .chance__list.active li .score .score-28 {
    width: calc(100% / 120 * 28); }
  .site-kango .chance__list.active li .score .score-29 {
    width: calc(100% / 120 * 29); }
  .site-kango .chance__list.active li .score .score-30 {
    width: calc(100% / 120 * 30); }
  .site-kango .chance__list.active li .score .score-31 {
    width: calc(100% / 120 * 31); }
  .site-kango .chance__list.active li .score .score-32 {
    width: calc(100% / 120 * 32); }
  .site-kango .chance__list.active li .score .score-33 {
    width: calc(100% / 120 * 33); }
  .site-kango .chance__list.active li .score .score-34 {
    width: calc(100% / 120 * 34); }
  .site-kango .chance__list.active li .score .score-35 {
    width: calc(100% / 120 * 35); }
  .site-kango .chance__list.active li .score .score-36 {
    width: calc(100% / 120 * 36); }
  .site-kango .chance__list.active li .score .score-37 {
    width: calc(100% / 120 * 37); }
  .site-kango .chance__list.active li .score .score-38 {
    width: calc(100% / 120 * 38); }
  .site-kango .chance__list.active li .score .score-39 {
    width: calc(100% / 120 * 39); }
  .site-kango .chance__list.active li .score .score-40 {
    width: calc(100% / 120 * 40); }
  .site-kango .chance__list.active li .score .score-41 {
    width: calc(100% / 120 * 41); }
  .site-kango .chance__list.active li .score .score-42 {
    width: calc(100% / 120 * 42); }
  .site-kango .chance__list.active li .score .score-43 {
    width: calc(100% / 120 * 43); }
  .site-kango .chance__list.active li .score .score-44 {
    width: calc(100% / 120 * 44); }
  .site-kango .chance__list.active li .score .score-45 {
    width: calc(100% / 120 * 45); }
  .site-kango .chance__list.active li .score .score-46 {
    width: calc(100% / 120 * 46); }
  .site-kango .chance__list.active li .score .score-47 {
    width: calc(100% / 120 * 47); }
  .site-kango .chance__list.active li .score .score-48 {
    width: calc(100% / 120 * 48); }
  .site-kango .chance__list.active li .score .score-49 {
    width: calc(100% / 120 * 49); }
  .site-kango .chance__list.active li .score .score-50 {
    width: calc(100% / 120 * 50); }
  .site-kango .chance__list.active li .score .score-51 {
    width: calc(100% / 120 * 51); }
  .site-kango .chance__list.active li .score .score-52 {
    width: calc(100% / 120 * 52); }
  .site-kango .chance__list.active li .score .score-53 {
    width: calc(100% / 120 * 53); }
  .site-kango .chance__list.active li .score .score-54 {
    width: calc(100% / 120 * 54); }
  .site-kango .chance__list.active li .score .score-55 {
    width: calc(100% / 120 * 55); }
  .site-kango .chance__list.active li .score .score-56 {
    width: calc(100% / 120 * 56); }
  .site-kango .chance__list.active li .score .score-57 {
    width: calc(100% / 120 * 57); }
  .site-kango .chance__list.active li .score .score-58 {
    width: calc(100% / 120 * 58); }
  .site-kango .chance__list.active li .score .score-59 {
    width: calc(100% / 120 * 59); }
  .site-kango .chance__list.active li .score .score-60 {
    width: calc(100% / 120 * 60); }
  .site-kango .chance__list.active li .score .score-61 {
    width: calc(100% / 120 * 61); }
  .site-kango .chance__list.active li .score .score-62 {
    width: calc(100% / 120 * 62); }
  .site-kango .chance__list.active li .score .score-63 {
    width: calc(100% / 120 * 63); }
  .site-kango .chance__list.active li .score .score-64 {
    width: calc(100% / 120 * 64); }
  .site-kango .chance__list.active li .score .score-65 {
    width: calc(100% / 120 * 65); }
  .site-kango .chance__list.active li .score .score-66 {
    width: calc(100% / 120 * 66); }
  .site-kango .chance__list.active li .score .score-67 {
    width: calc(100% / 120 * 67); }
  .site-kango .chance__list.active li .score .score-68 {
    width: calc(100% / 120 * 68); }
  .site-kango .chance__list.active li .score .score-69 {
    width: calc(100% / 120 * 69); }
  .site-kango .chance__list.active li .score .score-70 {
    width: calc(100% / 120 * 70); }
  .site-kango .chance__list.active li .score .score-71 {
    width: calc(100% / 120 * 71); }
  .site-kango .chance__list.active li .score .score-72 {
    width: calc(100% / 120 * 72); }
  .site-kango .chance__list.active li .score .score-73 {
    width: calc(100% / 120 * 73); }
  .site-kango .chance__list.active li .score .score-74 {
    width: calc(100% / 120 * 74); }
  .site-kango .chance__list.active li .score .score-75 {
    width: calc(100% / 120 * 75); }
  .site-kango .chance__list.active li .score .score-76 {
    width: calc(100% / 120 * 76); }
  .site-kango .chance__list.active li .score .score-77 {
    width: calc(100% / 120 * 77); }
  .site-kango .chance__list.active li .score .score-78 {
    width: calc(100% / 120 * 78); }
  .site-kango .chance__list.active li .score .score-79 {
    width: calc(100% / 120 * 79); }
  .site-kango .chance__list.active li .score .score-80 {
    width: calc(100% / 120 * 80); }
  .site-kango .chance__list.active li .score .score-81 {
    width: calc(100% / 120 * 81); }
  .site-kango .chance__list.active li .score .score-82 {
    width: calc(100% / 120 * 82); }
  .site-kango .chance__list.active li .score .score-83 {
    width: calc(100% / 120 * 83); }
  .site-kango .chance__list.active li .score .score-84 {
    width: calc(100% / 120 * 84); }
  .site-kango .chance__list.active li .score .score-85 {
    width: calc(100% / 120 * 85); }
  .site-kango .chance__list.active li .score .score-86 {
    width: calc(100% / 120 * 86); }
  .site-kango .chance__list.active li .score .score-87 {
    width: calc(100% / 120 * 87); }
  .site-kango .chance__list.active li .score .score-88 {
    width: calc(100% / 120 * 88); }
  .site-kango .chance__list.active li .score .score-89 {
    width: calc(100% / 120 * 89); }
  .site-kango .chance__list.active li .score .score-90 {
    width: calc(100% / 120 * 90); }
  .site-kango .chance__list.active li .score .score-91 {
    width: calc(100% / 120 * 91); }
  .site-kango .chance__list.active li .score .score-92 {
    width: calc(100% / 120 * 92); }
  .site-kango .chance__list.active li .score .score-93 {
    width: calc(100% / 120 * 93); }
  .site-kango .chance__list.active li .score .score-94 {
    width: calc(100% / 120 * 94); }
  .site-kango .chance__list.active li .score .score-95 {
    width: calc(100% / 120 * 95); }
  .site-kango .chance__list.active li .score .score-96 {
    width: calc(100% / 120 * 96); }
  .site-kango .chance__list.active li .score .score-97 {
    width: calc(100% / 120 * 97); }
  .site-kango .chance__list.active li .score .score-98 {
    width: calc(100% / 120 * 98); }
  .site-kango .chance__list.active li .score .score-99 {
    width: calc(100% / 120 * 99); }
  .site-kango .chance__list.active li .score .score-100 {
    width: calc(100% / 120 * 100); }
  .site-kango .chance__list.active li .score .score-101 {
    width: calc(100% / 120 * 101); }
  .site-kango .chance__list.active li .score .score-102 {
    width: calc(100% / 120 * 102); }
  .site-kango .chance__list.active li .score .score-103 {
    width: calc(100% / 120 * 103); }
  .site-kango .chance__list.active li .score .score-104 {
    width: calc(100% / 120 * 104); }
  .site-kango .chance__list.active li .score .score-105 {
    width: calc(100% / 120 * 105); }
  .site-kango .chance__list.active li .score .score-106 {
    width: calc(100% / 120 * 106); }
  .site-kango .chance__list.active li .score .score-107 {
    width: calc(100% / 120 * 107); }
  .site-kango .chance__list.active li .score .score-108 {
    width: calc(100% / 120 * 108); }
  .site-kango .chance__list.active li .score .score-109 {
    width: calc(100% / 120 * 109); }
  .site-kango .chance__list.active li .score .score-110 {
    width: calc(100% / 120 * 110); }
  .site-kango .chance__list.active li .score .score-111 {
    width: calc(100% / 120 * 111); }
  .site-kango .chance__list.active li .score .score-112 {
    width: calc(100% / 120 * 112); }
  .site-kango .chance__list.active li .score .score-113 {
    width: calc(100% / 120 * 113); }
  .site-kango .chance__list.active li .score .score-114 {
    width: calc(100% / 120 * 114); }
  .site-kango .chance__list.active li .score .score-115 {
    width: calc(100% / 120 * 115); }
  .site-kango .chance__list.active li .score .score-116 {
    width: calc(100% / 120 * 116); }
  .site-kango .chance__list.active li .score .score-117 {
    width: calc(100% / 120 * 117); }
  .site-kango .chance__list.active li .score .score-118 {
    width: calc(100% / 120 * 118); }
  .site-kango .chance__list.active li .score .score-119 {
    width: calc(100% / 120 * 119); }
  .site-kango .chance__list.active li .score .score-120 {
    width: calc(100% / 120 * 120); }
  .site-kango .chance__list li {
    display: grid;
    grid-template-columns: 20rem 1fr;
    padding: 1.2rem 0;
    border-bottom: rgba(68, 79, 103, 0.06) 1px solid;
    position: relative; }
    .site-kango .chance__list li:last-child {
      border-bottom: none; }
    .site-kango .chance__list li > * {
      align-self: center; }
    .site-kango .chance__list li strong {
      font-size: 1.08rem; }
    .site-kango .chance__list li:nth-child(1) .score .bar {
      transition-delay: 80ms; }
    .site-kango .chance__list li:nth-child(2) .score .bar {
      transition-delay: 160ms; }
    .site-kango .chance__list li:nth-child(3) .score .bar {
      transition-delay: 240ms; }
    .site-kango .chance__list li:nth-child(4) .score .bar {
      transition-delay: 320ms; }
    .site-kango .chance__list li:nth-child(5) .score .bar {
      transition-delay: 400ms; }
    .site-kango .chance__list li:nth-child(6) .score .bar {
      transition-delay: 480ms; }
    .site-kango .chance__list li:nth-child(7) .score .bar {
      transition-delay: 560ms; }
    .site-kango .chance__list li:nth-child(8) .score .bar {
      transition-delay: 640ms; }
    .site-kango .chance__list li:nth-child(9) .score .bar {
      transition-delay: 720ms; }
    .site-kango .chance__list li:nth-child(10) .score .bar {
      transition-delay: 800ms; }
    .site-kango .chance__list li:nth-child(11) .score .bar {
      transition-delay: 880ms; }
    .site-kango .chance__list li:nth-child(12) .score .bar {
      transition-delay: 960ms; }
    .site-kango .chance__list li:nth-child(13) .score .bar {
      transition-delay: 1040ms; }
    .site-kango .chance__list li:nth-child(14) .score .bar {
      transition-delay: 1120ms; }
    .site-kango .chance__list li:nth-child(15) .score .bar {
      transition-delay: 1200ms; }
    .site-kango .chance__list li:nth-child(16) .score .bar {
      transition-delay: 1280ms; }
    .site-kango .chance__list li:nth-child(17) .score .bar {
      transition-delay: 1360ms; }
    .site-kango .chance__list li:nth-child(18) .score .bar {
      transition-delay: 1440ms; }
    .site-kango .chance__list li:nth-child(19) .score .bar {
      transition-delay: 1520ms; }
    .site-kango .chance__list li:nth-child(20) .score .bar {
      transition-delay: 1600ms; }
    .site-kango .chance__list li .score {
      width: 100%;
      height: 1rem;
      background: #f8f9fc;
      border-radius: 999rem;
      position: relative;
      display: block; }
      .site-kango .chance__list li .score:after {
        content: attr(data-score);
        background: #7f98f4;
        color: #f8f9fc;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        border-radius: 50%;
        width: 2.4rem;
        height: 2.4rem;
        font-size: .8rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center; }
      .site-kango .chance__list li .score .bar {
        width: 0;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
        border-radius: 999rem;
        transition: width 800ms cubic-bezier(0.65, 0, 0.35, 1); }

.site-kango .comment {
  margin: 2.4rem 0 0;
  background: #edeef4;
  padding: 2rem 3.2rem;
  border-radius: .4rem; }
  .site-kango .comment li {
    background: #f8f9fc;
    padding: .8rem 1.6rem;
    padding-left: 5rem;
    margin: 0 0 .4rem;
    border-radius: .4rem;
    position: relative; }
    .site-kango .comment li svg {
      position: absolute;
      top: 50%;
      left: 1.6rem;
      transform: translateY(-50%);
      fill: #7f98f4;
      width: 2rem;
      height: 2rem; }
    .site-kango .comment li:last-child {
      margin-bottom: 0; }

#viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

#scrollArea {
  position: relative;
  top: 0;
  left: 0;
  width: 100%; }

.in-module.wrap {
  padding: 9.6rem calc(calc(var(--size) + 2vw) * 1.66); }
  @media screen and (max-width: 1119px) {
    .in-module.wrap {
      padding: 7.2rem calc(calc(var(--size) + 2vw) * 1.66); } }
  @media screen and (max-width: 640px) {
    .in-module.wrap {
      padding: 3.2rem calc(var(--size) + 2vw); } }
  .in-module.wrap.mid {
    padding-top: 7.66rem;
    padding-bottom: 7.66rem; }
    @media screen and (max-width: 1119px) {
      .in-module.wrap.mid {
        padding-top: 5.6rem;
        padding-bottom: 5.6rem; } }
    @media screen and (max-width: 640px) {
      .in-module.wrap.mid {
        padding-top: 2.88rem;
        padding-bottom: 2.88rem; } }
  .in-module.wrap.mid-top {
    padding-top: 7.66rem; }
    @media screen and (max-width: 1119px) {
      .in-module.wrap.mid-top {
        padding-top: 5.6rem; } }
    @media screen and (max-width: 640px) {
      .in-module.wrap.mid-top {
        padding-top: 2.88rem; } }
  .in-module.wrap.mid-bottom {
    padding-bottom: 7.66rem; }
    @media screen and (max-width: 1119px) {
      .in-module.wrap.mid-bottom {
        padding-bottom: 5.6rem; } }
    @media screen and (max-width: 640px) {
      .in-module.wrap.mid-bottom {
        padding-bottom: 2.8rem; } }
  .in-module.wrap.no-top {
    padding-top: 0; }
  .in-module.wrap.no-bottom {
    padding-bottom: 0; }
  .in-module.wrap.gray {
    background: #f3f4f8; }
  .in-module.wrap.white {
    background: #f8f9fc; }

.in-module .max {
  max-width: 1400px;
  margin: 0 auto; }
  .in-module .max.min {
    max-width: 1120px; }

.in-module .t-center {
  text-align: center;
  line-height: 1;
  font-size: 1.12rem;
  margin: 0 0 4rem; }
  @media screen and (max-width: 640px) {
    .in-module .t-center {
      font-size: 1rem;
      margin: 0 0 2.4rem; } }
  .in-module .t-center:before {
    content: attr(data-eng);
    font-size: 3.2rem;
    color: transparent;
    font-weight: 600;
    display: block;
    line-height: 1.5;
    background: linear-gradient(30deg, #a5c1f6, #7f85f4);
    -webkit-background-clip: text;
    background-clip: text; }
    @media screen and (max-width: 640px) {
      .in-module .t-center:before {
        font-size: 2.32rem;
        margin: 0 0 .4rem; } }

.in-module .btnarea {
  margin: 2.4rem 0 0; }
  @media screen and (max-width: 640px) {
    .in-module .btnarea {
      margin: 2rem 0 0; } }
  .in-module .btnarea.l {
    margin-top: 3.2rem; }
    @media screen and (max-width: 640px) {
      .in-module .btnarea.l {
        margin-top: 2.8rem; } }
  .in-module .btnarea.center {
    text-align: center; }
    .in-module .btnarea.center a {
      margin-right: 1.2rem; }
      @media screen and (max-width: 640px) {
        .in-module .btnarea.center a {
          margin: 0 0 1.2rem; } }
      .in-module .btnarea.center a:last-of-type {
        margin-right: 0; }
        @media screen and (max-width: 640px) {
          .in-module .btnarea.center a:last-of-type {
            margin-bottom: 0; } }
  .in-module .btnarea.right {
    text-align: right; }
  .in-module .btnarea a {
    font-size: 1.2rem;
    padding: .72rem 4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f8f9fc;
    fill: #f8f9fc;
    border-radius: .4rem;
    overflow: hidden;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 640px) {
      .in-module .btnarea a {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        text-align: center; } }
    .in-module .btnarea a:before, .in-module .btnarea a:after {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background: linear-gradient(-90deg, #a5c1f6, #7f98f4);
      z-index: -1;
      transition: width 400ms cubic-bezier(0.65, 0, 0.35, 1); }
    .in-module .btnarea a:after {
      width: 0;
      background: #7f98f4;
      border-radius: .4rem; }
    .in-module .btnarea a svg {
      display: inline-block;
      margin: .24rem .64rem 0 0; }
      .in-module .btnarea a svg.r {
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
        margin: 0; }
    .in-module .btnarea a:hover:after {
      width: 100%;
      right: auto;
      left: 0; }

.in-module .tablestyle {
  width: 100%;
  border-collapse: collapse;
  border-top: #e7eaee 1px solid; }
  @media screen and (max-width: 640px) {
    .in-module .tablestyle {
      display: block; }
      .in-module .tablestyle tbody, .in-module .tablestyle thead {
        display: block; } }
  .in-module .tablestyle tr {
    border-bottom: #e7eaee 1px solid; }
    @media screen and (max-width: 640px) {
      .in-module .tablestyle tr {
        display: block;
        border: none; } }
    .in-module .tablestyle tr th,
    .in-module .tablestyle tr td {
      font-size: 1.08rem;
      padding: 2.4rem 0;
      text-align: left;
      vertical-align: middle; }
      @media screen and (max-width: 640px) {
        .in-module .tablestyle tr th,
        .in-module .tablestyle tr td {
          display: block;
          font-size: 1rem;
          padding: 1.2rem; } }
    .in-module .tablestyle tr th {
      width: 20%;
      font-size: 1.12rem;
      line-height: 1.56; }
      @media screen and (max-width: 640px) {
        .in-module .tablestyle tr th {
          width: auto;
          font-size: 1.04rem;
          background: #edeef4; } }

.in-module .wp-pagenavi,
.in-module .pager {
  margin: 4rem 0 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 640px) {
    .in-module .wp-pagenavi,
    .in-module .pager {
      margin: 2rem 0 0; } }
  .in-module .wp-pagenavi a,
  .in-module .wp-pagenavi span,
  .in-module .pager a,
  .in-module .pager span {
    width: 36px;
    height: 36px;
    background: #edeef4;
    border: #edeef4 2px solid;
    border-radius: 50%;
    font-size: 1.12rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
    color: #444f67;
    transition: all 120ms cubic-bezier(0.65, 0, 0.35, 1); }
  .in-module .wp-pagenavi .pages,
  .in-module .wp-pagenavi .last,
  .in-module .pager .pages,
  .in-module .pager .last {
    display: none; }
  .in-module .wp-pagenavi a:hover,
  .in-module .pager a:hover {
    border-color: #a5c1f6;
    background: #f8f9fc;
    color: #a5c1f6;
    transform: scale(1.1); }
  .in-module .wp-pagenavi span,
  .in-module .pager span {
    background: #a5c1f6;
    border-color: #a5c1f6;
    color: #FFF; }

.toAnimation {
  transform: translateX(-3rem);
  opacity: 0; }
  @media screen and (max-width: 640px) {
    .toAnimation {
      transform: translateX(-1rem); } }
  .toAnimation.active {
    transform: translateX(0);
    opacity: 1;
    transition: all 800ms ease-in-out;
    transition-property: transform, opacity; }
    .toAnimation.active.delay-1 {
      transition-delay: 200ms; }
    .toAnimation.active.delay-2 {
      transition-delay: 400ms; }
    .toAnimation.active.delay-3 {
      transition-delay: 600ms; }
    .toAnimation.active.delay-4 {
      transition-delay: 800ms; }
    .toAnimation.active.delay-5 {
      transition-delay: 1000ms; }
    .toAnimation.active.delay-6 {
      transition-delay: 1200ms; }
    .toAnimation.active.delay-7 {
      transition-delay: 1400ms; }
    .toAnimation.active.delay-8 {
      transition-delay: 1600ms; }
    .toAnimation.active.delay-9 {
      transition-delay: 1800ms; }
    .toAnimation.active.delay-10 {
      transition-delay: 2000ms; }

.toAnimationAll > * {
  transform: translateY(-2rem);
  opacity: 0; }

.toAnimationAll.active > * {
  transform: translateY(0);
  opacity: 1;
  transition: all 800ms cubic-bezier(0.65, 0, 0.35, 1);
  transition-property: transform, opacity; }
  .toAnimationAll.active > *:nth-child(1) {
    transition-delay: 80ms; }
  .toAnimationAll.active > *:nth-child(2) {
    transition-delay: 160ms; }
  .toAnimationAll.active > *:nth-child(3) {
    transition-delay: 240ms; }
  .toAnimationAll.active > *:nth-child(4) {
    transition-delay: 320ms; }
  .toAnimationAll.active > *:nth-child(5) {
    transition-delay: 400ms; }
  .toAnimationAll.active > *:nth-child(6) {
    transition-delay: 480ms; }
  .toAnimationAll.active > *:nth-child(7) {
    transition-delay: 560ms; }
  .toAnimationAll.active > *:nth-child(8) {
    transition-delay: 640ms; }
  .toAnimationAll.active > *:nth-child(9) {
    transition-delay: 720ms; }
  .toAnimationAll.active > *:nth-child(10) {
    transition-delay: 800ms; }
  .toAnimationAll.active > *:nth-child(11) {
    transition-delay: 880ms; }
  .toAnimationAll.active > *:nth-child(12) {
    transition-delay: 960ms; }
  .toAnimationAll.active > *:nth-child(13) {
    transition-delay: 1040ms; }
  .toAnimationAll.active > *:nth-child(14) {
    transition-delay: 1120ms; }
  .toAnimationAll.active > *:nth-child(15) {
    transition-delay: 1200ms; }
  .toAnimationAll.active > *:nth-child(16) {
    transition-delay: 1280ms; }
  .toAnimationAll.active > *:nth-child(17) {
    transition-delay: 1360ms; }
  .toAnimationAll.active > *:nth-child(18) {
    transition-delay: 1440ms; }
  .toAnimationAll.active > *:nth-child(19) {
    transition-delay: 1520ms; }
  .toAnimationAll.active > *:nth-child(20) {
    transition-delay: 1600ms; }
  .toAnimationAll.active > *:nth-child(21) {
    transition-delay: 1680ms; }
  .toAnimationAll.active > *:nth-child(22) {
    transition-delay: 1760ms; }
  .toAnimationAll.active > *:nth-child(23) {
    transition-delay: 1840ms; }
  .toAnimationAll.active > *:nth-child(24) {
    transition-delay: 1920ms; }
  .toAnimationAll.active > *:nth-child(25) {
    transition-delay: 2000ms; }
  .toAnimationAll.active > *:nth-child(26) {
    transition-delay: 2080ms; }
  .toAnimationAll.active > *:nth-child(27) {
    transition-delay: 2160ms; }
  .toAnimationAll.active > *:nth-child(28) {
    transition-delay: 2240ms; }
  .toAnimationAll.active > *:nth-child(29) {
    transition-delay: 2320ms; }
  .toAnimationAll.active > *:nth-child(30) {
    transition-delay: 2400ms; }

.firstAnimation {
  pointer-events: none; }
  .firstAnimation.firstActive {
    pointer-events: auto; }

.snsfix {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  opacity: 0; }
  @media screen and (max-width: 1119px) {
    .snsfix {
      z-index: 100; } }
  @media screen and (max-width: 640px) {
    .snsfix {
      display: none; } }
  .snsfix.firstActive {
    animation: leftViewup 1200ms 800ms cubic-bezier(0.65, 0, 0.35, 1) forwards; }

@keyframes leftViewup {
  0% {
    opacity: 0;
    transform: translateX(-2rem); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
  .snsfix__list {
    background: linear-gradient(135deg, #7f98f4, #a5c1f6); }
    .snsfix__list li:last-child {
      margin-bottom: 0; }
    .snsfix__list li a {
      width: 3.72rem;
      height: 3.72rem;
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 2; }
      @media screen and (max-width: 640px) {
        .snsfix__list li a {
          width: 3.6rem;
          height: 3.6rem; } }
      .snsfix__list li a:before {
        content: '';
        width: 0;
        height: 100%;
        background: #7f98f4;
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1;
        transition: width 300ms cubic-bezier(0.65, 0, 0.35, 1); }
      .snsfix__list li a:hover:before {
        right: auto;
        left: 0;
        width: 100%; }
      .snsfix__list li a:hover svg {
        opacity: 1; }
      .snsfix__list li a svg {
        fill: #f8f9fc;
        width: 1.16rem;
        height: 1.16rem;
        opacity: .8;
        transition: opacity 300ms cubic-bezier(0.65, 0, 0.35, 1); }

#loading {
  background: #f3f4f8; }
  #loading.remove {
    animation: endFade 1000ms forwards; }

@keyframes endFade {
  0% {
    opacity: 1;
    filter: blur(0); }
  100% {
    opacity: 0;
    filter: blur(10px); } }

#follower {
  position: fixed;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  z-index: 999;
  background: #a5c1f6;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: scale(0);
  transition: opacity 300ms 150ms cubic-bezier(0.65, 0, 0.35, 1), transform 300ms 150ms cubic-bezier(0.65, 0, 0.35, 1);
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 1119px) {
    #follower {
      display: none !important; } }
  #follower svg {
    width: 32px;
    transform: scale(0);
    transition: transform 300ms cubic-bezier(0.65, 0, 0.35, 1); }
    #follower svg path {
      fill: #f8f9fc; }
    #follower svg circle {
      fill: #f8f9fc; }
  #follower.active {
    opacity: 1;
    transform: scale(1);
    transition: opacity 300ms cubic-bezier(0.65, 0, 0.35, 1), transform 300ms cubic-bezier(0.65, 0, 0.35, 1); }
    #follower.active svg {
      transform: scale(1);
      transition: transform 300ms 150ms cubic-bezier(0.65, 0, 0.35, 1); }


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