@charset "UTF-8";

@import url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css);

@import url("https://fonts.googleapis.com/css?family=EB+Garamond:400,500,600,700");

@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");

/* ========================================
   Reset & Base Styles
   ======================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* Colors */
    --color-primary: #2563eb;
    --color-primary-dark: #1d4ed8;
    --color-secondary: #64748b;
    --color-text: #1e293b;
    --color-text-light: #64748b;
    --color-bg: #ffffff;
    --color-bg-alt: #f8fafc;
    --color-border: #e2e8f0;
    
    /* Typography */
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
        'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
    
    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 6rem;
    
    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 1rem;
    
    /* Transitions */
    --transition: all 0.3s ease;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ========================================
   Typography
   ======================================== */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-sm);
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

p {
    margin-bottom: var(--spacing-sm);
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--color-primary-dark);
}

/* ========================================
   Utility Classes
   ======================================== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

 a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
 }
 
 article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
 }
 
 body {
  line-height: 1
 }
 
 ol, ul {
  list-style: none
 }
 
 blockquote, q {
  quotes: none
 }
 
 blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none
 }
 
 table {
  border-collapse: collapse;
  border-spacing: 0
 }
 
 body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: auto;
  font-size: 16px;
  font-family: YakuHanJP, "\6E38\30B4\30B7\30C3\30AF", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3", Hiragino Kaku Gothic ProN, "\30E1\30A4\30EA\30AA", Meiryo, sans-serif;
  color: #0e192d;
  background-color: #fff
 }
 
 * {
  box-sizing: border-box
 }
 
 /* ========================================
  Layout
  ======================================== */
 
 .page {
  width: 100%;
  min-width: 1120px;
  background-color: #fff
 }
 
 @media screen and (max-width: 767px) {
  .page {
  min-width: 0;
  overflow: hidden
  }
 
 }
 
.heading {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 0 0 0 110px
 }
 
 @media screen and (max-width: 767px) {
  .heading {
  display: block;
  padding: 0 0 0 39px
  }
 
 }
 
 .heading:before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  display: block;
  width: 90px;
  height: 2px;
  margin: 3px 0 0;
  background-color: #0e192d
 }
 
 @media screen and (max-width: 767px) {
  .heading:before {
  top: 13px;
  width: 30px;
  height: 1px
  }
 
 }
 
 .heading.js-heading-animation:before {
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition: all .25s ease;
  transition: all .25s ease
 }
 
 .heading.js-heading-animation .heading__main span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate(-50px);
  transform: translate(-50px);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .25s;
  transition-duration: .25s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease
 }
 
 .heading.js-heading-animation .heading__sub {
  opacity: 0;
  -webkit-transition: all .5s ease .75s;
  transition: all .5s ease .75s
 }
 
 .heading.js-heading-animation.is-animation:before {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg)
 }
 
 .heading.js-heading-animation.is-animation .heading__main span {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .heading.js-heading-animation.is-animation .heading__sub {
  opacity: 1
 }
 
 .heading__main {
  display: block;
  font-size: 44px;
  font-weight: 500;
  font-family: YakuHanJP, EB Garamond, serif;
  letter-spacing: .01em;
  line-height: 1
 }
 
 .heading__main span {
  display: inline
 }
 
 @media screen and (max-width: 767px) {
  .heading__main {
  font-size: 33px
  }
 
 }
 
 .heading__sub {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #ae0b2f;
  margin: 0 0 8px 18px
 }
 
 @media screen and (max-width: 767px) {
  .heading__sub {
  margin: 7px 0 0;
  font-size: 12px
  }
 
 }
 
 .heading-container {
  margin: 0 auto;
  width: 1102px
 }
 
 @media screen and (max-width: 767px) {
  .heading-container {
  width: calc(100% - 30px)
  }
 
 }
 
 .heading-description {
  font-size: 14px;
  line-height: 1.857;
  margin-top: 18px;
  width: 798px;
  margin-left: 41px;
  letter-spacing: .04em
 }
 
 @media screen and (max-width: 767px) {
  .heading-description {
  width: 100%;
  font-size: 12px;
  margin-top: 27px;
  line-height: 1.9;
  padding: 0 13px;
  margin-left: 0
  }
 
 }
 
 .heading-center {
  display: block
 }
 
 .heading-center.js-heading-animation .heading-center__main span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate(-50px);
  transform: translate(-50px);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .5s;
  transition-duration: .5s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease
 }
 
 .heading-center.js-heading-animation .heading-center__sub {
  opacity: 0;
  -webkit-transition: all .5s ease 1s;
  transition: all .5s ease 1s
 }
 
 .heading-center.is-animation .heading-center__main span {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .heading-center.is-animation .heading-center__sub {
  opacity: 1
 }
 
 .heading-center__main {
  display: block;
  text-align: center;
  font-size: 44px;
  font-weight: 500;
  font-family: YakuHanJP, EB Garamond, serif;
  letter-spacing: .01em;
  line-height: 1
 }
 
 @media screen and (max-width: 767px) {
  .heading-center__main {
  font-size: 33px
  }
 
 }
 
 .heading-center__main span {
  will-change: transform
 }
 
 .heading-center__sub {
  display: block;
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 700;
  color: #ae0b2f;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .heading-center__sub {
  margin: 8px 0 0;
  font-size: 12px
  }
 
}

/* ========================================
 Layout
 ======================================== */
 
 .following-link-wrapper {
  position: fixed;
  border: 1px solid #303192;
  background-color: #fff;
  z-index: 10;
  opacity: 1;
  visibility: visible
 }
 
 .following-link-wrapper--top_left {
  left: 0
 }
 
 @media screen and (max-width: 767px) {
  .following-link-wrapper--top_left {
  top: 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link-wrapper--top_left {
  top: 16%
  }
 
 }
 
 .following-link-wrapper--top_right {
  right: 0
 }
 
 @media screen and (max-width: 767px) {
  .following-link-wrapper--top_right {
  top: 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link-wrapper--top_right {
  top: 16%
  }
 
 }
 
 .following-link-wrapper--bottom_left {
  left: 0
 }
 
 @media screen and (max-width: 767px) {
  .following-link-wrapper--bottom_left {
  bottom: 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link-wrapper--bottom_left {
  bottom: 16%
  }
 
 }
 
 .following-link-wrapper--bottom_right {
  right: 0
 }
 
 @media screen and (max-width: 767px) {
  .following-link-wrapper--bottom_right {
  bottom: 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link-wrapper--bottom_right {
  bottom: 16%
  }
 
 }
 
 .following-link-wrapper.is-hidden {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .25s ease, visibility .25s ease;
  transition: opacity .25s ease, visibility .25s ease
 }
 
 .following-link {
  display: block;
  text-decoration: none
 }
 
 @media screen and (min-width: 768px) {
  .following-link:hover .following-link__title {
  color: #303192;
  background-color: #fff
  }
 
 }
 
 .following-link__close-button-wrapper {
  position: absolute;
  top: -10px;
  right: 6px;
  width: 20px;
  height: 20px
 }
 
 .following-link__close-button-wrapper img {
  width: 100%;
  height: 100%
 }
 
 .following-link__close-button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  cursor: pointer
 }
 
 .following-link__title {
  padding: 6px 5px;
  font-size: 14px;
  line-height: 1.2857;
  letter-spacing: .025em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: #303192;
  border-bottom: 1px solid #303192;
  -webkit-transition: color .25s ease, background-color .25s ease;
  transition: color .25s ease, background-color .25s ease
 }
 
 @media screen and (max-width: 767px) {
  .following-link__title {
  font-size: 11px;
  line-height: 1.36
  }
 
 }
 
 .following-link__image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end
 }
 
 @media screen and (max-width: 767px) {
  .following-link__image {
  padding: 2px 0 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link__image {
  padding: 14px 5px
  }
 
 }
 
 .following-link__image img {
  margin: 0 auto
 }
 
 @media screen and (max-width: 767px) {
  .following-link__image img {
  max-width: 180px;
  max-height: 180px
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .following-link__image img {
  max-width: 300px;
  max-height: 300px
  }
 
 }
 
 /* ========================================
  Sections
  ======================================== */
 
 .section-sov {
  display: block
 }
 
 .section-sov.js-scroll-show .section-sov__message {
  opacity: 0;
  -webkit-transform: translateY(1rem);
  transform: translateY(1rem);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov.js-scroll-show .section-sov__content:before {
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition: -webkit-transform 1s ease .25s;
  transition: -webkit-transform 1s ease .25s;
  transition: transform 1s ease .25s;
  transition: transform 1s ease .25s, -webkit-transform 1s ease .25s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item {
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item .section-sov__cards__item__border:before {
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition: -webkit-transform .5s cubic-bezier(.6, 0, .3, 1);
  transition: -webkit-transform .5s cubic-bezier(.6, 0, .3, 1);
  transition: transform .5s cubic-bezier(.6, 0, .3, 1);
  transition: transform .5s cubic-bezier(.6, 0, .3, 1), -webkit-transform .5s cubic-bezier(.6, 0, .3, 1)
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:first-child {
  -webkit-transition-delay: .75s;
  transition-delay: .75s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:first-child .section-sov__cards__item__heading__text {
  -webkit-transition-delay: 1s;
  transition-delay: 1s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:first-child .section-sov__cards__item__image {
  -webkit-transition-delay: 1.05s;
  transition-delay: 1.05s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:first-child .section-sov__cards__item__message {
  -webkit-transition-delay: 1.25s;
  transition-delay: 1.25s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:first-child .section-sov__cards__item__border:before, .section-sov.js-scroll-show .section-sov__cards__item:nth-child(2) {
  -webkit-transition-delay: 1.75s;
  transition-delay: 1.75s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(2) .section-sov__cards__item__heading__text {
  -webkit-transition-delay: 2s;
  transition-delay: 2s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(2) .section-sov__cards__item__image {
  -webkit-transition-delay: 2.05s;
  transition-delay: 2.05s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(2) .section-sov__cards__item__message {
  -webkit-transition-delay: 2.25s;
  transition-delay: 2.25s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(2) .section-sov__cards__item__border:before, .section-sov.js-scroll-show .section-sov__cards__item:nth-child(3) {
  -webkit-transition-delay: 2.75s;
  transition-delay: 2.75s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(3) .section-sov__cards__item__heading__text {
  -webkit-transition-delay: 3s;
  transition-delay: 3s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(3) .section-sov__cards__item__image {
  -webkit-transition-delay: 3.05s;
  transition-delay: 3.05s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(3) .section-sov__cards__item__message {
  -webkit-transition-delay: 3.25s;
  transition-delay: 3.25s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(3) .section-sov__cards__item__border:before, .section-sov.js-scroll-show .section-sov__cards__item:nth-child(4) {
  -webkit-transition-delay: 3.75s;
  transition-delay: 3.75s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(4) .section-sov__cards__item__heading__text {
  -webkit-transition-delay: 4s;
  transition-delay: 4s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(4) .section-sov__cards__item__image {
  -webkit-transition-delay: 4.05s;
  transition-delay: 4.05s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(4) .section-sov__cards__item__message {
  -webkit-transition-delay: 4.25s;
  transition-delay: 4.25s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item:nth-child(4) .section-sov__cards__item__border:before {
  -webkit-transition-delay: 4.75s;
  transition-delay: 4.75s
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item__heading__text {
  opacity: 0;
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item__image {
  opacity: 0;
  -webkit-transform: scale(.001);
  transform: scale(.001);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov.js-scroll-show .section-sov__cards__item__message {
  opacity: 0;
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov.is-show .section-sov__message {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-sov.is-show .section-sov__content:before {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-origin: left;
  transform-origin: left
 }
 
 .section-sov.is-show .section-sov__cards__item {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-sov.is-show .section-sov__cards__item .section-sov__cards__item__border:before {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-origin: left;
  transform-origin: left
 }
 
 .section-sov.is-show .section-sov__cards__item__heading__text {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-sov.is-show .section-sov__cards__item__image {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
 }
 
 .section-sov.is-show .section-sov__cards__item__message {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-sov__title {
  display: block;
  max-width: 1120px;
  margin: 45px auto 0
 }
 
 .section-sov__message {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 1120px;
  margin: 15px auto 0;
  padding: 0 0 0 108px;
  font-size: 14px;
  line-height: 1.85
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__message {
  padding: 0 30px;
  font-size: 11px;
  line-height: 1.8
  }
 
 }
 
 .section-sov__content {
  position: relative;
  display: block;
  margin: -12px 0 0;
  padding: 32px 0
 }
 
 .section-sov__content:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: calc(100% - 36px);
  height: 100%;
  background-color: #f3f7fd
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__content:before {
  width: 100%
  }
 
 }
 
 .section-sov__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 7px
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0
  }
 
 }
 
 .section-sov__cards__item {
  position: relative;
  display: block;
  width: 250px;
  max-width: 250px;
  -webkit-flex-basis: 250px;
  -ms-flex-preferred-size: 250px;
  flex-basis: 250px;
  height: 334px;
  background-color: #fff;
  margin: 0 13px;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .1)
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item {
  width: calc(50% - 22px);
  max-width: calc(50% - 22px);
  -webkit-flex-basis: calc(50% - 22px);
  -ms-flex-preferred-size: calc(50% - 22px);
  flex-basis: calc(50% - 22px);
  height: auto;
  margin: 22px 7px 0;
  padding: 0 0 79px
  }
 
 }
 
 .section-sov__cards__item:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-color: #82cbd1 transparent transparent;
  border-style: solid;
  border-width: 10px 10px 0 0
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item:before {
  border-width: 6px 6px 0 0
  }
 
 }
 
 .section-sov__cards__item:last-child .section-sov__cards__item__border {
  display: none
 }
 
 @media screen and (min-width: 768px) {
  .section-sov__cards__item:first-child {
  margin-top: 90px
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item:first-child {
  margin-top: 0
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .section-sov__cards__item:nth-child(2) {
  margin-top: 60px
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item:nth-child(2) {
  margin-top: 0
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item:nth-child(2) .section-sov__cards__item__border {
  top: auto;
  right: auto;
  bottom: -24px;
  left: -20px;
  -webkit-transform: rotate(123deg);
  transform: rotate(123deg)
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .section-sov__cards__item:nth-child(3) {
  margin-top: 30px
  }
 
 }
 
 .section-sov__cards__item__border {
  position: absolute;
  top: 50%;
  right: -26px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 26px;
  height: 26px;
  margin-top: -13px
 }
 
 .section-sov__cards__item__border:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #0e192d
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item__border:before {
  height: 1px
  }
 
 }
 
 .section-sov__cards__item--text .section-sov__cards__item__image {
  width: 148px;
  -webkit-transform: translateY(1px);
  transform: translateY(1px)
 }
 
 .section-sov__cards__item--data .section-sov__cards__item__image {
  width: 181px;
  -webkit-transform: translate(7px, 6px);
  transform: translate(7px, 6px)
 }
 
 .section-sov__cards__item--hint .section-sov__cards__item__image {
  width: 145px;
  -webkit-transform: translate(1px, -3px);
  transform: translate(1px, -3px)
 }
 
 .section-sov__cards__item--faq .section-sov__cards__item__image {
  width: 147px
 }
 
 .section-sov__cards__item__message {
  position: absolute;
  left: 0;
  bottom: 20px;
  width: 100%;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
  will-change: transform
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item__message {
  bottom: 15px;
  line-height: 1.3;
  font-size: 10px
  }
 
 }
 
 .section-sov__cards__item__heading {
  position: absolute;
  top: 20px;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  vertical-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 48px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  will-change: transform
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item__heading {
  position: relative;
  top: 0;
  margin: 2px 0 0;
  font-size: 10px
  }
 
 }
 
 .section-sov__cards__item__heading__text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center
 }
 
 .section-sov__cards__item__image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 96px auto 0;
  will-change: transform
 }
 
 @media screen and (max-width: 767px) {
  .section-sov__cards__item__image {
  max-width: calc(100% - 52px);
  margin: 10px auto 0
  }
 
 }
 
 .section-sov__cards__item__image img {
  width: 100%;
  height: auto
 }
 
 .section-sov__button {
  margin: 40px 0 0;
  text-align: center
 }
 
 .section-sov__button.js-scroll-show {
  opacity: 0;
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-sov__button.is-show {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-product {
  display: block
 }
 
 .section-product--margin {
  margin-top: 72px
 }
 
 .section-product__title {
  width: 1120px;
  margin: 0 auto
 }
 
 
 
 .section-seminar.is-show .section-seminar__content:before {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg)
 }
 
 .section-seminar.is-show .seminar-info__item {
  -webkit-transform: translate(0);
  transform: translate(0);
  opacity: 1
 }
 
 .section-seminar--margin {
  margin-top: 72px
 }
 
 @media screen and (max-width: 767px) {
  .section-seminar--margin {
  margin-top: 46px
  }
 
 }
 
 .section-seminar__title {
  position: relative;
  z-index: 1
 }
 
 .section-seminar__content {
  position: relative;
  display: block;
  padding: 70px 0 38px
 }
 
 @media screen and (max-width: 767px) {
  .section-seminar__content {
  padding: 80px 15px 38px
  }
 
 }
 
 .section-seminar__content:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: calc(100% - (100% - 1042px)/2);
  height: 100%;
  background-color: #f3f7fd
 }
 
 @media screen and (max-width: 767px) {
  .section-seminar__content:before {
  width: 100%
  }
 
 }
 
 .section-seminar__content--margin {
  margin-top: -40px
 }
 
 .section-seminar__content__inner {
  position: relative;
  display: block;
  width: 826px;
  margin: 0 auto
 }
 
 @media screen and (max-width: 767px) {
  .section-seminar__content__inner {
  width: 100%
  }
 
 }
 
 .section-seminar__button {
  display: block;
  text-align: center;
  -webkit-transform: translateZ(0);
  transform: translateZ(0)
 }
 
 .section-seminar__button.js-scroll-show {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-seminar__button.is-show {
  -webkit-transform: translate(0);
  transform: translate(0);
  opacity: 1
 }
 
 .section-seminar__button--margin {
  margin-top: 34px
 }
 
 @media screen and (max-width: 767px) {
  .section-seminar__button--margin {
  margin-top: 17px
  }
 
 }
 
 .section-contact {
  display: block
 }
 
 .section-contact--margin {
  margin-top: 67px
 }
 
 @media screen and (max-width: 767px) {
  .section-contact--margin {
  margin-top: 53px
  }
 
 }
 
 .section-contact__title {
  position: relative;
  z-index: 1;
  display: block
 }
 
 .section-contact__content {
  display: block;
  padding: 70px 0 40px;
  background-color: #f3f7fd
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__content {
  padding: 54px 0 23px
  }
 
 }
 
 .section-contact__content--margin {
  margin-top: -36px
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__content--margin {
  margin-top: -30px
  }
 
 }
 
 .section-contact__message {
  position: relative;
  font-size: 14px;
  line-height: 2;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__message {
  padding: 0 15px;
  font-size: 10px;
  line-height: 2.1
  }
 
 }
 
 .section-contact__button {
  margin-top: 28px;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__button {
  margin-top: 18px
  }
 
 }
 
 .section-contact__bottom {
  display: block;
  margin: 35px 0 0
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__bottom {
  margin: 25px 0 0
  }
 
 }
 
 .section-contact__bottom__tel {
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__bottom__tel {
  font-size: 20px
  }
 
 }
 
 .section-contact__bottom__tel a {
  color: inherit;
  text-decoration: none
 }
 
 .section-contact__bottom__detail {
  margin: 11px 0 0;
  font-size: 14px;
  line-height: 1.7;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .section-contact__bottom__detail {
  margin: 8px 0 0;
  font-size: 11px
  }
 
 }
 
 .section-lead-blog {
  display: block
 }
 
 .section-lead-blog.js-scroll-show .section-lead-blog__content:before {
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform .75s ease;
  transition: -webkit-transform .75s ease;
  transition: transform .75s ease;
  transition: transform .75s ease, -webkit-transform .75s ease
 }
 
 .section-lead-blog.js-scroll-show .slide-cards {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease .75s;
  transition: all .5s ease .75s
 }
 
 .section-lead-blog.js-scroll-show .slide-cards__item__media {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease 1s;
  transition: all .5s ease 1s
 }
 
 .section-lead-blog.js-scroll-show .slide-cards__item__category {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease 1.25s;
  transition: all .5s ease 1.25s
 }
 
 .section-lead-blog.js-scroll-show .slide-cards__item__title {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease 1.5s;
  transition: all .5s ease 1.5s
 }
 
 .section-lead-blog.js-scroll-show .slide-cards__item__bottom {
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  opacity: 0;
  -webkit-transition: all .5s ease 1.75s;
  transition: all .5s ease 1.75s
 }
 
 .section-lead-blog.is-show .section-lead-blog__content:before {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg)
 }
 
 .section-lead-blog.is-show .slide-cards, .section-lead-blog.is-show .slide-cards__item__bottom, .section-lead-blog.is-show .slide-cards__item__category, .section-lead-blog.is-show .slide-cards__item__media, .section-lead-blog.is-show .slide-cards__item__title {
  -webkit-transform: translate(0);
  transform: translate(0);
  opacity: 1
 }
 
 .section-lead-blog--margin {
  margin-top: 78px
 }
 
 .section-lead-blog__title {
  width: 1120px;
  margin: 0 auto
 }
 
 .section-lead-blog__button {
  margin: 32px 0 0;
  text-align: center
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__button {
  margin: 10px 0 0
  }
 
 }
 
 .section-lead-blog__button.js-scroll-show {
  opacity: 0;
  -webkit-transform: translateY(25px);
  transform: translateY(25px);
  -webkit-transition: all .5s ease;
  transition: all .5s ease
 }
 
 .section-lead-blog__button.is-show {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0)
 }
 
 .section-lead-blog__content {
  position: relative;
  margin: 20px 0 0;
  padding: 48px 0
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content {
  margin: 36px 0 0;
  padding: 36px 0 40px
  }
 
 }
 
 .section-lead-blog__content:before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  display: block;
  width: calc(100% - (100% - 1042px)/2);
  height: 100%;
  background-color: #f3f7fd
 }
 
 .section-lead-blog__content .slide-cards__item {
  min-height: 338px
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item {
  min-height: 244px
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__media {
  width: auto;
  height: 174px;
  object-fit: contain
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__media {
  height: 130px
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__media__image {
  width: 100%;
  height: 100%;
  object-fit: cover
 }
 
 .section-lead-blog__content .slide-cards__item__time {
  margin: 23px 20px 0;
  font-size: 13px;
  color: #0e192d
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__time {
  margin: 16px 10px 0;
  font-size: 10px;
  letter-spacing: .1em
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__inner {
  padding-bottom: 70px
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__inner {
  padding: 0 0 63px
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__title {
  margin-top: 24px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-wrap: break-word
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__title {
  margin: 14px 10px 0;
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.6
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 140px;
  max-width: 140px;
  -webkit-flex-basis: 140px;
  -ms-flex-preferred-size: 140px;
  flex-basis: 140px;
  height: 30px;
  margin: 17px 20px 0;
  border: 1px solid #0e192d;
  border-radius: 30px;
  color: #0e192d;
  font-size: 11px;
  line-height: 1;
  position: absolute;
  bottom: 0
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__category {
  margin: 20px 10px 0;
  width: 130px;
  height: 23px;
  font-size: 11px
  }
 
 }
 
 .section-lead-blog__content .slide-cards__item__category:last-of-type {
  margin-bottom: 40px
 }
 
 @media screen and (max-width: 767px) {
  .section-lead-blog__content .slide-cards__item__category:last-of-type {
  margin-bottom: 20px
  }
 
 }
 
 .form-page {
  display: block;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 0 64px;
  background-color: #f2f7fd
 }
 
 @media screen and (max-width: 767px) {
  .form-page {
  padding: 0 0 44px
  }
 
 }
 
 .form-page--margin {
  margin-top: 64px
 }
 
 @media screen and (max-width: 767px) {
  .form-page--margin {
  margin-top: 50px
  }
 
 }
 
 .form-page__nav {
  padding: 50px 0
 }
 
 @media screen and (max-width: 767px) {
  .form-page__nav {
  padding: 40px 0
  }
 
 }
 
 .form-page__content {
  max-width: 880px;
  margin: 0 auto;
  padding: 37px 50px 64px;
  background-color: #fff
 }
 
 @media screen and (max-width: 767px) {
  .form-page__content {
  max-width: calc(100% - 30px);
  padding: 32px 15px 38px
  }
 
 }
 
 /* ========================================
  Contact
  ======================================== */
 
 .form-nav__item:before {
  position: absolute;
  top: 50%;
  left: -34px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: -8px 0 0;
  border-color: transparent transparent transparent #81cad0;
  border-style: solid;
  border-width: 8px 0 8px 11px
 }
 
 @media screen and (max-width: 767px) {
  .form-nav__item:before {
  left: -19px
  }
 
 }
 
 .form-nav__item:first-child:before {
  display: none
 }
 
 
 .page-nav {
  display: block
 }
 
 @media screen and (min-width: 768px) {
  .page-nav--multi-line .page-nav__list {
  width: 846px;
  padding: 14px 80px 8px
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .page-nav--multi-line .page-nav__list__item__inner {
  height: 34px;
  letter-spacing: .07em
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .page-nav--single-line .page-nav__list {
  width: 846px;
  padding: 14px 80px 12px
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .page-nav--single-line .page-nav__list--knowledge {
  padding: 14px 40px 8px
  }
 
 }
 
 @media screen and (min-width: 768px) {
  .page-nav--single-line .page-nav__list__item__inner {
  height: 34px;
  letter-spacing: .07em
  }
 
 }
 
 .page-nav--margin {
  margin-top: -24px
 }
 
 @media screen and (max-width: 767px) {
  .page-nav--margin {
  margin-top: -10px
  }
 
 }
 
 .page-nav--margin-multi {
  margin-top: -51px
 }
 
 @media screen and (max-width: 767px) {
  .page-nav--margin-multi {
  margin-top: -10px
  }
 
 }
 
 .page-nav--margin-single {
  margin-top: -28px
 }
 
 @media screen and (max-width: 767px) {
  .page-nav--margin-single {
  margin-top: -10px
  }
 
 }
 
 .page-nav__list {
  display: block;
  width: 812px;
  margin: 0 auto;
  text-align: center;
  background-color: #fff;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, .1)
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list {
  width: calc(100% - 30px);
  padding: 6px 0
  }
 
 }
 
 .page-nav__list__item {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list__item {
  position: relative;
  display: block;
  padding: 6px 0;
  font-size: 14px
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list__item:before {
  position: absolute;
  top: 0;
  left: 15px;
  content: "";
  display: block;
  width: calc(100% - 30px);
  border-top: 1px dashed #0e192d
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list__item:first-child:before {
  display: none
  }
 
 }
 
 .page-nav__list__item__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 54px;
  padding: 0 15px;
  color: inherit;
  text-decoration: none;
  letter-spacing: .03em;
  -webkit-transition: opacity .25s ease;
  transition: opacity .25s ease
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list__item__inner {
  display: block;
  height: auto;
  text-align: left;
  padding: 0 19px
  }
 
 }
 
 .page-nav__list__item__inner:hover {
  opacity: .5
 }
 
 .page-nav__list--voice-miner {
  width: 846px;
  padding: 11px 100px;
  text-align: left
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list--voice-miner {
  width: calc(100% - 30px);
  padding: 6px 0
  }
 
 }
 
 @media screen and (max-width: 767px) {
  .page-nav__list--voice-miner .page-nav__list__item {
  padding: 6px 13px
  }
 
 }
 
 .page-nav__list--voice-miner .page-nav__list__item__inner {
  height: 34px;
  padding: 0 15px 0 0
 }
 
 .page-nav__list--company {
  padding: 0 80px
 }

 .page-404 {
  display: block;
  width: 940px;
  margin: 0 auto 120px
 }
 
 @media screen and (max-width: 767px) {
  .page-404 {
  width: calc(100% - 30px);
  margin: 0 auto 79px
  }
 
 }
 
 .page-404__message {
  text-align: center;
  margin-top: 37px
 }
 
 .page-404__message-heading {
  font-weight: 700;
  letter-spacing: -.07em
 }
 
 .page-404__message-text {
  font-size: 14px;
  margin-top: 17px;
  line-height: 2;
  letter-spacing: -.045em
 }
 
 .page-404__message-button {
  margin-top: 77px
 }
