@charset "UTF-8";
:root {
  --arc-height: 8rem; }
  @media only screen and (max-width: 52rem) {
    :root {
      --arc-height: 2rem; } }

* {
  font-size: inherit;
  font-family: inherit;
  color: #666;
  background-repeat: no-repeat;
  box-sizing: border-box;
  max-width: 100%; }

/* "Noto Sans JP", */
html {
  font-size: 62.5%;
  scroll-behavior: smooth; }
  @media only screen and (max-width: 52rem) {
    html {
      font-size: 50%;
      overflow-x: hidden; } }
  @media screen and (max-height: 50rem) {
    html {
      font-size: 50%; } }
  html body {
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
    text-align: center;
    scroll-behavior: smooth;
    overflow-x: hidden;
    font-family: 'Noto Sans JP', 'Poppins', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; }
  html body[lang='en'] {
    font-family: 'Poppins', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; }
    html body[lang='en'] .Pricing a.toggle-slide::before {
      content: 'See More'; }
    html body[lang='en'] .Pricing a.toggle-slide.on::before {
      content: 'See Less'; }

a {
  text-decoration: none; }

b.line {
  color: #00b900;
  font-family: Arial;
  font-weight: 900;
  padding-left: 0.2rem;
  padding-right: 0.2rem; }

b.ideo {
  color: #00b900;
  font-family: Arial;
  font-weight: 900;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
  color: #000; }

ol {
  padding: 0; }

ul {
  padding: 0; }
  ul li {
    list-style: none; }

.OffsetAnchor {
  position: absolute;
  pointer-events: none;
  border-top: 30rem solid transparent;
  margin: -30rem 0 0;
  background-clip: padding-box; }

.Wrapper {
  width: 120rem;
  margin: auto;
  display: block;
  position: relative;
  text-align: center; }

.space {
  flex: 1; }

.a1 {
  background-color: #222222 !important; }

.a2 {
  background-color: #9A0000 !important; }

.d2 {
  background-color: #999 !important; }
  .d2:hover {
    background-color: #666 !important; }

.a1c {
  color: #9A0000 !important; }

.a2c {
  color: #222222 !important; }

.light {
  background-color: #f6f4f3 !important; }

.hbox {
  display: flex;
  flex-direction: row;
  justify-content: center; }

.vbox {
  display: flex;
  flex-direction: column; }

@media only screen and (max-width: 52rem) {
  .pc-only {
    display: none !important; } }

@media only screen and (min-width: 52rem) {
  .phone-only {
    display: none !important; } }

i.close {
  background-image: url(/images/ico_close.svg);
  cursor: pointer;
  position: absolute;
  right: 1.6rem;
  top: 1.6rem;
  z-index: 1;
  width: 3.2rem;
  height: 3.2rem;
  background-size: contain; }

hr {
  width: 4.8rem;
  height: 0.4rem;
  display: block;
  border: 0;
  outline: 0;
  background-color: #ccc;
  border-radius: 0.4rem;
  position: relative;
  margin: auto;
  margin-top: 6rem;
  margin-bottom: 6rem; }
  hr.a1 {
    background-color: #9A0000; }

header {
  height: 9rem;
  width: 100%;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 999;
  background-color: #fff;
  border-bottom: 0.3rem solid rgba(208, 201, 195, 0.3);
  display: flex;
  justify-content: center; }
  header .Wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    max-width: 120rem;
    margin: 0 auto;
    position: absolute;
    flex-direction: row;
    align-items: center;
    position: relative; }
    @media only screen and (max-width: 52rem) {
      header .Wrapper {
        padding: 1rem; } }
    header .Wrapper nav {
      display: flex;
      align-items: center;
      position: relative; }
      header .Wrapper nav > *:not(:first-child) {
        margin-left: 2rem; }
      header .Wrapper nav a {
        height: 2.8rem;
        line-height: 2.8rem;
        display: flex;
        align-items: center;
        white-space: nowrap; }
        header .Wrapper nav a:not(:first-child)::before {
          content: '';
          display: inline-block;
          background-color: #9A0000;
          width: 0.8rem;
          height: 0.8rem;
          border-radius: 0.4rem;
          margin-right: 2rem; }
        header .Wrapper nav a:hover {
          color: #222222; }
        @media only screen and (max-width: 52rem) {
          header .Wrapper nav a {
            display: none; } }
        header .Wrapper nav a.a2c {
          font-weight: bold;
          display: flex; }
          header .Wrapper nav a.a2c:before {
            width: 0; }
        header .Wrapper nav a:hover {
          border-bottom-color: #9A0000; }
    @media only screen and (max-width: 52rem) {
      header .Wrapper button {
        padding: 1rem 2rem; } }
    header .Wrapper a.logo {
      width: 18rem;
      background-size: auto 4rem;
      height: 6rem;
      transform: translateY(0.5rem); }

button {
  color: #fff;
  border-radius: 0.4rem;
  text-align: center;
  padding: 1.2rem 4.4rem;
  cursor: pointer;
  border: 0;
  font-size: 1.8rem;
  background-color: #9A0000;
  outline: none;
  transition: background-color 0.3s;
  white-space: nowrap; }
  button:hover {
    background-color: #016171; }
  button.a2:hover {
    background-color: #3a3ab5; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 3rem white inset !important;
  -webkit-text-fill-color: #222 !important; }
  input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 3rem white inset !important; }

h1 {
  font-size: 3.6rem;
  color: #222; }
  h1 + p {
    font-size: 1.8rem !important;
    text-align: center; }

h2 {
  padding: 0 7.2rem;
  margin: 1rem auto;
  font-size: 4.2rem;
  font-weight: 300;
  color: #222;
  position: relative;
  display: inline-block;
  font-weight: 300; }
  @media only screen and (max-width: 52rem) {
    h2 {
      padding: 0 3rem;
      font-size: 3.6rem; } }
  h2::before, h2::after {
    content: '';
    display: inline-block;
    width: 4.8rem;
    height: 0.4rem;
    border-radius: 0.2rem;
    background-color: #9A0000;
    position: absolute;
    top: 50%; }
    @media only screen and (max-width: 52rem) {
      h2::before, h2::after {
        width: 2rem; } }
  h2::before {
    left: 0; }
  h2::after {
    right: 0; }
    @media only screen and (max-width: 52rem) {
      h2::after {
        width: 2rem; } }
  h2 + p {
    font-size: 1.8rem !important;
    text-align: center;
    margin-top: 0; }

h3 {
  color: #222;
  font-size: 2rem;
  margin-bottom: 0.4rem; }

dl {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row; }
  dl dd,
  dl dt {
    margin: 0;
    display: block;
    text-align: left; }

p {
  font-weight: 300; }

div.logo, div.logo-l, div.logo-w,
a.logo,
a.logo-l,
a.logo-w {
  display: block;
  height: 4rem;
  background-image: url("/images/logo-full.svg");
  background-size: auto 100%;
  background-position: center center; }

div.logo-l,
a.logo-l {
  height: 4rem;
  margin-top: 2.4rem;
  margin-bottom: 2.4rem; }

div.logo-w,
a.logo-w {
  height: 4.8rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-image: url("/images/logo.svg?v=1"); }

.Landing h2,
.Posts h2 {
  margin-bottom: 3rem; }
  .Landing h2::before,
  .Posts h2::before {
    background-color: #9A0000; }
  .Landing h2::after,
  .Posts h2::after {
    background-color: #9A0000; }

.Landing > *,
.Posts > * {
  padding-bottom: 6rem; }
  .Landing > *:not(:first-child),
  .Posts > *:not(:first-child) {
    padding-top: 6rem; }
  @media only screen and (max-width: 52rem) {
    .Landing > *,
    .Posts > * {
      padding-left: 3rem;
      padding-right: 3rem; } }

.Posts[data-role='posts'] {
  position: relative; }
  .Posts[data-role='posts']::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(/images/landing/deco4.svg);
    width: 100%;
    height: 100%;
    transform: scaleX(-1);
    background-position: top right;
    background-repeat: no-repeat; }

.Posts .Cases {
  padding-top: 6rem;
  background-color: transparent !important;
  background-image: none; }

.Welcome {
  padding-top: 4.8rem;
  background-color: #222222;
  background-image: url(/images/college/welcome-bg.svg);
  background-size: auto 100%;
  background-color: #F5F5F5;
  background-position: center bottom -6rem;
  margin-bottom: -5rem;
  margin-top: -100px;
  overflow: hidden;
  padding-bottom: 5vw; }
  @media only screen and (max-width: 52rem) {
    .Welcome {
      padding-top: 3rem;
      margin-bottom: 0rem; } }
  .Welcome .Wrapper {
    display: flex;
    justify-content: space-between;
    width: 120rem;
    text-align: left;
    position: relative; }
    @media only screen and (max-width: 52rem) {
      .Welcome .Wrapper {
        text-align: center;
        justify-content: center;
        flex-direction: column; }
        .Welcome .Wrapper button {
          padding: 1.4rem 5rem;
          font-size: 2.2rem;
          border-radius: 0.5rem;
          font-weight: bold; } }
    .Welcome .Wrapper .Slogan {
      flex: 1;
      padding: 10rem 5rem 3rem 5rem;
      margin: 0 5rem;
      background-position: 5rem 6rem;
      background-size: 26rem auto;
      position: relative;
      top: 70px;
      left: 50px; }
      @media only screen and (max-width: 52rem) {
        .Welcome .Wrapper .Slogan {
          padding: 0;
          padding-top: 2rem;
          margin: 0;
          background-size: auto 4rem;
          background-position: center top;
          position: relative;
          left: 1px; } }
      @media (min-width: 830px) and (max-width: 1200px) {
        .Welcome .Wrapper .Slogan {
          left: 0; }
          .Welcome .Wrapper .Slogan h1 {
            font-size: 2rem;
            font-weight: bold; } }
      .Welcome .Wrapper .Slogan h5 {
        color: #9A0000;
        font-weight: bold; }
    .Welcome .Wrapper .Medias {
      background-image: url(/images/landing/medias/medias.png);
      width: 44rem;
      height: 7.2rem;
      background-size: 100%; }
      @media only screen and (max-width: 52rem) {
        .Welcome .Wrapper .Medias {
          width: 32rem;
          margin: 0 auto; } }
    .Welcome .Wrapper .Phone.aos-init.aos-animate {
      position: relative;
      top: 80px;
      right: 100px; }
    @media only screen and (max-width: 52rem) {
      .Welcome .Wrapper .Phone-phone {
        position: relative;
        left: 100px; } }
    .Welcome .Wrapper .DemoVideo {
      flex-shrink: 0;
      display: flex;
      margin-top: 5rem; }
      @media only screen and (max-width: 52rem) {
        .Welcome .Wrapper .DemoVideo {
          justify-content: center;
          margin-bottom: -20rem;
          transform-origin: top;
          transform: scale(0.9) !important; } }
      .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Video {
        transform: translateX(0rem); }
      .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline {
        transform: translateX(0rem); }
        .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline::before {
          opacity: 1; }
        .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline * {
          opacity: 1;
          transform: translateX(0rem); }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(1) {
            transition-delay: 0.03s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(2) {
            transition-delay: 0.06s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(3) {
            transition-delay: 0.09s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(4) {
            transition-delay: 0.12s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(5) {
            transition-delay: 0.15s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(6) {
            transition-delay: 0.18s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(7) {
            transition-delay: 0.21s; }
          .Welcome .Wrapper .DemoVideo:hover .DemoVideo-Outline *:nth-child(8) {
            transition-delay: 0.24s; }
      .Welcome .Wrapper .DemoVideo-Video {
        position: relative;
        z-index: 2;
        transform: translateX(6rem);
        transition: transform 0.4s cubic-bezier(0.15, 0.7, 0.5, 1.15); }
        @media only screen and (max-width: 52rem) {
          .Welcome .Wrapper .DemoVideo-Video {
            transform: none; } }
        .Welcome .Wrapper .DemoVideo-Video::before {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          background-image: url(/images/landing/phone_transparency.png);
          background-size: contain;
          background-position: center;
          background-repeat: no-repeat;
          transform: translate(-50%, -50.5%) scale(1.17); }
      .Welcome .Wrapper .DemoVideo-Outline {
        z-index: 1;
        transition: all 0.4s;
        transform: translateX(-15rem);
        margin-top: 10rem;
        margin-left: 2rem;
        position: relative;
        width: 20rem; }
        @media only screen and (max-width: 52rem) {
          .Welcome .Wrapper .DemoVideo-Outline {
            display: none; } }
        .Welcome .Wrapper .DemoVideo-Outline > * {
          transform: translateX(-10rem);
          opacity: 0;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: normal;
          font-size: 1.6rem;
          color: rgba(255, 255, 255, 0.6);
          list-style: none;
          transition: all 0.5s;
          cursor: pointer;
          white-space: nowrap; }
          .Welcome .Wrapper .DemoVideo-Outline > *:hover {
            color: #9A0000; }
          .Welcome .Wrapper .DemoVideo-Outline > *:not(:last-child) {
            margin-bottom: 2rem; }
          .Welcome .Wrapper .DemoVideo-Outline > *::before {
            all: unset; }
        .Welcome .Wrapper .DemoVideo-Outline::before {
          all: unset;
          content: '';
          display: block;
          width: 0.3rem;
          height: 1.5rem;
          border-radius: 0.3rem;
          position: absolute;
          transition: all 0.5s;
          opacity: 0;
          background-color: #9A0000; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='1']::before {
          top: calc(0.6rem + 4.4rem * 0); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='1'] > *:nth-child(1) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='2']::before {
          top: calc(0.6rem + 4.4rem * 1); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='2'] > *:nth-child(2) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='3']::before {
          top: calc(0.6rem + 4.4rem * 2); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='3'] > *:nth-child(3) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='4']::before {
          top: calc(0.6rem + 4.4rem * 3); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='4'] > *:nth-child(4) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='5']::before {
          top: calc(0.6rem + 4.4rem * 4); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='5'] > *:nth-child(5) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='6']::before {
          top: calc(0.6rem + 4.4rem * 5); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='6'] > *:nth-child(6) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='7']::before {
          top: calc(0.6rem + 4.4rem * 6); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='7'] > *:nth-child(7) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='8']::before {
          top: calc(0.6rem + 4.4rem * 7); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='8'] > *:nth-child(8) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='9']::before {
          top: calc(0.6rem + 4.4rem * 8); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='9'] > *:nth-child(9) {
          color: #fff;
          margin-left: 1.5rem; }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='10']::before {
          top: calc(0.6rem + 4.4rem * 9); }
        .Welcome .Wrapper .DemoVideo-Outline[data-index='10'] > *:nth-child(10) {
          color: #fff;
          margin-left: 1.5rem; }
  .Welcome * {
    color: #fff; }
  .Welcome h1 {
    text-align: left;
    margin-top: 1rem;
    font-size: 4rem;
    color: #415462; }
    @media only screen and (max-width: 52rem) {
      .Welcome h1 {
        text-align: center;
        margin-top: 3rem; } }
  .Welcome ul {
    margin-bottom: 3rem; }
    .Welcome ul li {
      text-align: left;
      position: relative;
      display: flex;
      color: #415462;
      align-items: center; }
      .Welcome ul li:not(:first-child) {
        margin-top: 1rem; }
      @media only screen and (max-width: 52rem) {
        .Welcome ul li {
          text-align: center;
          justify-content: center; } }
      .Welcome ul li:before {
        content: '';
        width: 0.8rem;
        height: 0.8rem;
        border-radius: 0.4rem;
        margin-right: 1rem;
        font-size: 0;
        padding: 0;
        background-color: #9A0000; }
        @media only screen and (max-width: 52rem) {
          .Welcome ul li:before {
            display: none; } }

.arc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  transform: translateY(-97.5%);
  height: 5vw;
  object-fit: fill; }
  @media only screen and (max-width: 52rem) {
    .arc {
      transform: translateY(-92.5%); } }

.ConceptNav {
  padding: 2rem 0;
  position: fixed;
  width: 100%;
  background-color: #efedeb;
  z-index: 10;
  transition: all 0.3s;
  transform: translateY(-120%);
  opacity: 0; }
  @media only screen and (max-width: 52rem) {
    .ConceptNav {
      display: none; } }
  .ConceptNav[data-current='1'] {
    transform: translateY(0%);
    opacity: 1; }
    .ConceptNav[data-current='1'] ul.Wrapper li:nth-of-type(1) a::before {
      background-color: #222222; }
    .ConceptNav[data-current='1'] ~ .Concept .Wrapper ul .topic:nth-of-type(1) div .to-features::after {
      opacity: 1;
      transform: translate(2rem, 1rem); }
  .ConceptNav[data-current='2'] {
    transform: translateY(0%);
    opacity: 1; }
    .ConceptNav[data-current='2'] ul.Wrapper li:nth-of-type(2) a::before {
      background-color: #222222; }
    .ConceptNav[data-current='2'] ~ .Concept .Wrapper ul .topic:nth-of-type(2) div .to-features::after {
      opacity: 1;
      transform: translate(2rem, 1rem); }
  .ConceptNav[data-current='3'] {
    transform: translateY(0%);
    opacity: 1; }
    .ConceptNav[data-current='3'] ul.Wrapper li:nth-of-type(3) a::before {
      background-color: #222222; }
    .ConceptNav[data-current='3'] ~ .Concept .Wrapper ul .topic:nth-of-type(3) div .to-features::after {
      opacity: 1;
      transform: translate(2rem, 1rem); }
  .ConceptNav[data-current='4'] {
    transform: translateY(0%);
    opacity: 1; }
    .ConceptNav[data-current='4'] ul.Wrapper li:nth-of-type(4) a::before {
      background-color: #222222; }
    .ConceptNav[data-current='4'] ~ .Concept .Wrapper ul .topic:nth-of-type(4) div .to-features::after {
      opacity: 1;
      transform: translate(2rem, 1rem); }
  .ConceptNav[data-current='5'] {
    transform: translateY(0%);
    opacity: 1; }
    .ConceptNav[data-current='5'] ul.Wrapper li:nth-of-type(5) a::before {
      background-color: #222222; }
    .ConceptNav[data-current='5'] ~ .Concept .Wrapper ul .topic:nth-of-type(5) div .to-features::after {
      opacity: 1;
      transform: translate(2rem, 1rem); }
  .ConceptNav ul.Wrapper {
    counter-reset: concept_navs;
    display: flex;
    justify-content: center;
    width: 120rem;
    margin: 0 auto; }
    @media screen and (max-width: 72rem) {
      .ConceptNav ul.Wrapper {
        transform: scale(0.85); } }
    .ConceptNav ul.Wrapper li {
      counter-increment: concept_navs;
      font-weight: bold; }
      .ConceptNav ul.Wrapper li,
      .ConceptNav ul.Wrapper li a {
        color: #222;
        transition: color 0.4s;
        white-space: nowrap; }
      .ConceptNav ul.Wrapper li a:hover {
        color: #9A0000; }
      .ConceptNav ul.Wrapper li a::before {
        content: counter(concept_navs);
        display: inline-block;
        width: 2.6rem;
        height: 2.6rem;
        line-height: 2.4rem;
        border-radius: 100%;
        background-color: #9A0000;
        color: #fff;
        margin-right: 1rem;
        transition: background-color 0.4s; }
      .ConceptNav ul.Wrapper li:not(:first-of-type) {
        margin-left: 4rem; }

.Concept {
  background-color: #fff;
  background-image: url(/images/landing/deco1.svg);
  background-position: center top;
  background-size: 100% auto;
  position: relative;
  overflow: hidden;
  overflow: visible;
  padding-top: 0 !important; }
  .Concept:before {
    background-image: url(/images/landing/arc1.svg); }
  @media only screen and (max-width: 52rem) {
    .Concept h2 {
      margin-top: 4rem; } }
  .Concept h2 + p {
    line-height: 2.8rem; }
  @media only screen and (max-width: 52rem) {
    .Concept button {
      padding: 1.4rem 5rem !important;
      font-size: 2.2rem !important;
      border-radius: 0.5rem !important;
      font-weight: bold !important;
      height: initial !important; } }
  .Concept .Flow {
    height: 19rem;
    padding-top: 2rem;
    width: 100%;
    background-position: center;
    background-size: auto 100%;
    margin-top: 6rem;
    margin-bottom: 6rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    cursor: pointer; }
    @media only screen and (max-width: 52rem) {
      .Concept .Flow {
        display: none; } }
    .Concept .Flow dd {
      flex: 1;
      background-position: center top;
      background-size: auto 11rem;
      cursor: pointer; }
      .Concept .Flow dd h3 {
        margin-top: 12rem;
        text-align: center;
        font-size: 1.8rem; }
    .Concept .Flow dt {
      width: 4rem;
      height: inherit;
      background-image: url(/images/landing/arrow-right.svg);
      background-position: center 4.4rem; }
  .Concept hr {
    width: 26.4rem;
    background-color: #f1efed; }
  .Concept dd.concept {
    position: relative;
    background-position: center top; }
    .Concept dd.concept:hover::after {
      opacity: 1;
      transform: translateX(-50%) translateY(1rem); }
    .Concept dd.concept::after {
      content: '';
      opacity: 0;
      transition: all 0.5s;
      background-image: url(/images/college/ico_chevron.svg);
      background-repeat: no-repeat;
      background-position: center;
      width: 1.4rem;
      height: 0.8rem;
      display: block;
      position: absolute;
      left: 50%;
      transform: translateX(-50%) translateY(0); }
    .Concept dd.concept:nth-of-type(1) {
      background-size: 10.5rem;
      background-position: center top 0.5rem; }
    .Concept dd.concept:nth-of-type(2) {
      background-size: 10.5rem;
      background-position: center top 1rem; }
    .Concept dd.concept:nth-of-type(3) {
      background-size: 11rem;
      background-position: center top 0rem; }
    .Concept dd.concept:nth-of-type(4) {
      background-size: 9.5rem;
      background-position: center top 0rem; }
    .Concept dd.concept:nth-of-type(5) {
      background-size: 10.5rem;
      background-position: center top 1rem; }
    .Concept dd.concept:nth-of-type(1) {
      background-image: url(/images/college/Anybot-Icon-01-S.svg); }
    .Concept dd.concept:nth-of-type(2) {
      background-image: url(/images/college/Anybot-Icon-02-S.svg); }
    .Concept dd.concept:nth-of-type(3) {
      background-image: url(/images/college/Anybot-Icon-03-S.svg); }
    .Concept dd.concept:nth-of-type(4) {
      background-image: url(/images/college/Anybot-Icon-04-S.svg); }
    .Concept dd.concept:nth-of-type(5) {
      background-image: url(/images/college/Anybot-Icon-05-S.svg); }
  .Concept ul {
    width: 98rem;
    max-width: 100%;
    margin: auto;
    counter-reset: titles; }
    .Concept ul li.topic {
      counter-increment: titles;
      height: 30rem;
      max-width: 100%;
      display: flex;
      justify-content: space-between;
      background-size: auto 100%;
      margin: 12rem 0; }
      @media only screen and (max-width: 52rem) {
        .Concept ul li.topic {
          flex-direction: column;
          align-items: center;
          height: initial;
          margin: 4rem 0; } }
      .Concept ul li.topic * {
        text-align: left; }
      .Concept ul li.topic::after {
        content: '';
        display: block;
        max-width: 100%;
        width: 48rem;
        height: 30rem;
        background-position: right;
        background-repeat: no-repeat;
        background-size: contain; }
        @media only screen and (max-width: 52rem) {
          .Concept ul li.topic::after {
            order: -1;
            background-position: left; } }
      .Concept ul li.topic:nth-of-type(2n-1)::after {
        order: -1;
        background-position: left; }
        @media only screen and (max-width: 52rem) {
          .Concept ul li.topic:nth-of-type(2n-1)::after {
            background-position: left; } }
      .Concept ul li.topic:nth-of-type(1)::after {
        background-image: url(/images/college/Anybot-Icon-01-L.svg); }
      .Concept ul li.topic:nth-of-type(2)::after {
        background-image: url(/images/college/Anybot-Icon-02-L.svg); }
      .Concept ul li.topic:nth-of-type(3)::after {
        background-image: url(/images/college/Anybot-Icon-03-L.svg); }
      .Concept ul li.topic:nth-of-type(4)::after {
        background-image: url(/images/college/Anybot-Icon-04-L.svg); }
      .Concept ul li.topic:nth-of-type(5)::after {
        background-image: url(/images/college/Anybot-Icon-05-L.svg); }
      .Concept ul li.topic > div {
        width: 48rem;
        max-width: 100%; }
      .Concept ul li.topic h5 {
        color: #9A0000;
        font-size: 1.3rem;
        font-weight: bold;
        font-family: 'Poppins';
        margin-bottom: 0;
        height: 2.4rem;
        line-height: 2.4rem; }
        .Concept ul li.topic h5::before {
          content: counter(titles);
          background-color: #9A0000;
          color: #fff;
          text-align: center;
          font-size: 1.4rem;
          font-weight: bold;
          width: 2.4rem;
          height: 2.4rem;
          line-height: 2.4rem;
          border-radius: 1.2rem;
          display: inline-block;
          margin-right: 0.8rem;
          padding: 0; }
      .Concept ul li.topic h3 {
        color: #222;
        font-size: 3.2rem;
        margin-top: 0.8rem;
        text-indent: 2.4rem; }
      .Concept ul li.topic p {
        color: #666;
        font-size: 1.8rem;
        padding-left: 2.4rem; }
      .Concept ul li.topic a {
        color: #222;
        padding-left: 2.4rem;
        text-indent: 0;
        font-size: 1.6rem;
        font-weight: bold;
        text-indent: 2.4rem; }
        .Concept ul li.topic a:hover::after {
          opacity: 1;
          transform: translate(2rem, 1rem); }
        .Concept ul li.topic a::after {
          content: '';
          opacity: 0;
          transition: all 0.5s;
          background-image: url(/images/college/ico_chevron.svg);
          background-repeat: no-repeat;
          background-position: center;
          width: 1.4rem;
          height: 0.8rem;
          display: inline-block;
          position: absolute;
          transform: translate(2rem, 0rem); }
    .Concept ul.arrow {
      height: 10rem;
      background-size: auto 4rem;
      background-position: center center; }
      .Concept ul.arrow.left {
        background-image: url(/images/landing/arrow-left45.svg); }
      .Concept ul.arrow.right {
        background-image: url(/images/landing/arrow-right45.svg); }

@keyframes screen-anime {
  from {
    transform: translateY(60rem); }
  to {
    transform: translateY(0); } }

@keyframes shaking-anime {
  0% {
    transform: translateX(-10%); }
  10% {
    transform: translateX(9%); }
  20% {
    transform: translateX(-8%); }
  30% {
    transform: translateX(7%); }
  40% {
    transform: translateX(-6%); }
  50% {
    transform: translateX(5%); }
  60% {
    transform: translateX(-4%); }
  70% {
    transform: translateX(3%); }
  80% {
    transform: translateX(-2%); }
  90% {
    transform: translateX(1%); }
  100% {
    transform: translateX(0%); } }

.shaking {
  animation: shaking-anime 0.5s; }

#screen {
  position: absolute;
  right: 14.5rem;
  top: 20rem;
  width: 37.2rem;
  height: 60rem;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 3;
  background-size: 100% auto;
  background-position: left top;
  animation-fill-mode: forwards;
  animation: screen-anime 0.3s; }
  #screen.act1 {
    background-image: url(/images/landing/phone1.png); }
  #screen.act2 {
    background-image: url(/images/landing/phone2.png); }
  #screen.act3 {
    background-image: url(/images/landing/phone3.png); }
  #screen.act4 {
    background-image: url(/images/landing/phone4.png); }
  #screen.act5 {
    background-image: url(/images/landing/phone5.png); }

.Cases {
  background-color: #f6f4f3;
  background-image: url(/images/landing/deco4.svg);
  background-position: top right; }
  .Cases.bright {
    background-color: #fff; }
  .Cases dl {
    justify-content: center; }
  .Cases dd {
    width: 24rem;
    height: 24rem;
    background-color: #fff;
    margin: 1.6rem;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    border-radius: 0.6rem; }
    .Cases dd a {
      margin: 0;
      padding: 0;
      display: block;
      width: 100%;
      height: 100%;
      text-align: center;
      text-indent: 0; }
    .Cases dd .image {
      width: 100%;
      height: 14rem;
      background-color: #f6f4f3;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
    .Cases dd h3 {
      font-size: 1.6rem;
      text-align: center;
      padding-left: 1.2rem;
      padding-right: 1.2rem;
      text-align: left; }
  .Cases h3 {
    margin-top: 3rem;
    font-size: 1.6rem;
    font-weight: normal;
    text-align: center;
    color: #9A0000; }
    .Cases h3 a {
      all: unset;
      cursor: pointer;
      transition: color 0.3s; }
      .Cases h3 a:hover {
        color: #016171; }

.Pricing {
  background-color: #fff;
  background-image: url(/images/landing/deco3.svg);
  background-position: top left;
  position: relative;
  overflow: hidden;
  background-size: auto 60rem; }
  .Pricing .small-text {
    font-size: 1.4rem;
    letter-spacing: 0.5rem;
    margin-left: 0.5rem; }
  .Pricing .phone-only hr {
    margin: 1rem 0 2rem 0;
    height: 0.2rem;
    background-color: #ebe7e5; }
  .Pricing .standard a.toggle-slide::after {
    filter: hue-rotate(-70deg) brightness(140%); }
  .Pricing .header .a1 {
    background-color: "016171"; }
  .Pricing a.toggle-slide {
    background-color: rgba(0, 0, 0, 0.05);
    display: block;
    width: 100%;
    height: 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 1;
    color: #222;
    font-weight: bold;
    font-size: 2rem; }
    .Pricing a.toggle-slide::after {
      content: '';
      background-image: url(/images/college/ico_chevron.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      width: 1.4rem;
      height: 1.4rem;
      display: inline-block;
      margin-left: 0.75rem;
      transition: transform 0.5s; }
    .Pricing a.toggle-slide::before {
      content: 'もっと見る'; }
    .Pricing a.toggle-slide ~ .toggle-slide-list {
      overflow: hidden;
      max-height: 0rem;
      transition: max-height 0.5s; }
    .Pricing a.toggle-slide.on::before {
      content: '戻る'; }
    .Pricing a.toggle-slide.on::after {
      transform: rotate(180deg); }
    .Pricing a.toggle-slide.on ~ .toggle-slide-list {
      max-height: 36rem; }
  @media only screen and (max-width: 52rem) {
    .Pricing {
      padding: 0 3rem;
      background-size: contain;
      background-position: top left -20rem; } }
  .Pricing ul {
    margin-left: auto;
    margin-right: auto;
    width: 24rem;
    position: relative;
    top: 0;
    margin-top: 0;
    margin-bottom: 0rem; }
    .Pricing ul:first-of-type {
      margin-top: 2.4rem;
      padding-top: 2rem; }
      .Pricing ul:first-of-type::before {
        content: '';
        height: 0.1rem;
        background-color: #d0c9c3;
        width: 12rem;
        top: 0;
        left: 6rem;
        opacity: 0.5;
        position: absolute;
        display: block; }
    .Pricing ul li {
      height: 3.6rem;
      line-height: 3.6rem;
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      text-align: center; }
      .Pricing ul li span {
        margin: auto;
        text-align: center; }
      .Pricing ul li a {
        margin: auto;
        text-align: center;
        font-weight: 600;
        color: #9A0000;
        padding-left: 0;
        text-align: center;
        text-indent: 0; }
      .Pricing ul li b {
        margin: auto;
        text-align: center;
        background-color: #999;
        height: 1px;
        width: 1rem; }
        .Pricing ul li b.on {
          width: 1.8rem;
          height: 1.8rem;
          background-image: url(/images/landing/ico-check-b.svg);
          background-position: center;
          background-size: contain;
          background-color: transparent; }
  .Pricing h5 {
    font-size: 3.2rem;
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
    color: #222;
    font-family: 'Poppins'; }
    .Pricing h5 + p {
      margin-top: 0;
      margin-bottom: 0;
      color: #666; }
  .Pricing hr {
    margin-top: 2.4rem;
    margin-bottom: 1.6rem; }
  .Pricing button {
    width: 32rem; }
    .Pricing button + p {
      margin-top: 2.4rem;
      margin-bottom: 6rem; }
    @media only screen and (max-width: 52rem) {
      .Pricing button {
        text-align: center;
        padding-left: 0;
        padding-right: 0;
        font-size: 2.2rem;
        border-radius: 0.5rem;
        font-weight: bold;
        white-space: normal; } }
  .Pricing p a {
    clear: none;
    display: inline;
    color: #222222;
    font-weight: bold;
    padding-left: 0.2rem;
    padding-right: 0;
    margin-right: 0; }
  .Pricing .container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 6rem; }
    @media only screen and (max-width: 52rem) {
      .Pricing .container {
        flex-direction: column; } }
    .Pricing .container .price {
      display: flex;
      flex-direction: column;
      width: 24.4rem;
      margin: 1.2rem;
      border-radius: 1.2rem;
      overflow: hidden;
      background-color: #f8f8f7;
      border-radius: 0.8rem; }
      @media only screen and (max-width: 52rem) {
        .Pricing .container .price {
          width: 100%;
          margin: 2rem 0; } }
      .Pricing .container .price div {
        background-color: transparent; }
      .Pricing .container .price ul li label {
        display: none; }
      @media only screen and (max-width: 52rem) {
        .Pricing .container .price ul li {
          justify-content: flex-start;
          align-items: flex-start;
          line-height: initial; }
          .Pricing .container .price ul li a,
          .Pricing .container .price ul li span,
          .Pricing .container .price ul li label {
            width: 100%;
            display: inline-block;
            margin: 0;
            margin-left: 1rem;
            text-align: left; }
          .Pricing .container .price ul li b {
            display: inline-block; }
            .Pricing .container .price ul li b.on {
              margin: 0;
              width: 2.4rem;
              height: 2.4rem; }
          .Pricing .container .price ul li label {
            display: block; } }
      .Pricing .container .price.free .header {
        background-color: #f1f0ee; }
        .Pricing .container .price.free .header h3,
        .Pricing .container .price.free .header span {
          color: #222 !important; }
    .Pricing .container .titles {
      margin-top: 1.2rem; }
      @media only screen and (max-width: 52rem) {
        .Pricing .container .titles {
          display: none; } }
      .Pricing .container .titles ul li {
        justify-content: center; }
      .Pricing .container .titles ul:last-child::before {
        content: '';
        height: 0.1rem;
        background-color: #d0c9c3;
        width: 6rem;
        top: 0;
        left: 0rem;
        opacity: 0.5;
        position: absolute;
        display: block; }
      .Pricing .container .titles a {
        color: #222222;
        align-self: flex-start; }
        .Pricing .container .titles a:hover {
          color: #9A0000; }
  .Pricing .header {
    height: 10.4rem;
    width: 100%;
    margin-bottom: 1.6rem; }
    @media only screen and (max-width: 52rem) {
      .Pricing .header {
        height: initial;
        padding-bottom: 2.4rem; } }
    .Pricing .header.a1 {
      background-color: #222222; }
    .Pricing .header.a2 {
      background-color: #9A0000; }
    .Pricing .header h3 {
      color: white !important;
      font-weight: bold;
      padding-bottom: 0.4rem;
      font-size: 2.2rem; }
    .Pricing .header span {
      color: #fff;
      font-weight: lighter;
      font-size: 1.5rem; }
    .Pricing .header + div {
      height: 8rem; }
  .Pricing .small b.on {
    background-image: url(/images/landing/ico-check-p.svg);
    overflow: visible; }
  .Pricing .standard b.on {
    background-image: url(/images/landing/ico-check-g.svg);
    overflow: visible; }

.Guide {
  position: relative;
  background-image: linear-gradient(to bottom, #222222, #4442a7);
  overflow: visible;
  padding: 2rem 3rem calc(5vw + 2rem) 3rem !important; }
  .Guide::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/images/landing/deco5.svg);
    background-position: center bottom -5rem;
    background-color: #016171;
    background-blend-mode: overlay;
    background-repeat: repeat-x;
    background-size: 180rem;
    z-index: 0; }
  @media only screen and (max-width: 52rem) {
    .Guide {
      padding: 3rem 3rem 8rem 3rem !important; } }
  .Guide .Wrapper {
    display: flex !important;
    flex-direction: column !important;
    z-index: 1;
    margin-top: 50px;
    margin-bottom: 50px; }
  .Guide * {
    color: #fff; }
  @media only screen and (max-width: 52rem) {
    .Guide button {
      padding: 1.4rem 5rem !important;
      font-size: 2.2rem !important;
      border-radius: 0.5rem !important;
      font-weight: bold !important;
      height: initial !important; } }

.Features {
  background-color: #f6f4f3;
  background-position: right 4rem;
  overflow: hidden;
  padding-bottom: calc(5vw + 2rem); }
  .Features:after {
    background-image: linear-gradient(180deg, #222222 50%, #3a3ab5 100%);
    height: 150rem; }
  .Features .Wrapper ol {
    display: flex; }
    @media only screen and (max-width: 52rem) {
      .Features .Wrapper ol {
        flex-direction: column; }
        .Features .Wrapper ol ul > li {
          width: initial !important; }
          .Features .Wrapper ol ul > li[onclick] {
            height: initial !important;
            border-bottom: 2px solid #ebe7e5 !important;
            padding-bottom: 0;
            margin-bottom: 1rem; }
            .Features .Wrapper ol ul > li[onclick] h3 {
              margin-top: 0; }
        .Features .Wrapper ol ul div li {
          border-bottom: none;
          height: initial;
          line-height: 4rem; } }
    .Features .Wrapper ol ul li {
      margin: 0 1rem;
      white-space: nowrap;
      overflow: hidden;
      width: 29.8rem;
      border-bottom: 0.2rem solid #ebe7e5;
      text-align: left;
      height: 6rem;
      line-height: 6rem;
      color: #666;
      cursor: pointer;
      transition: all 0.3s;
      font-size: 14px; }
      .Features .Wrapper ol ul li:hover {
        color: #222222; }
      .Features .Wrapper ol ul li a {
        all: unset; }
      .Features .Wrapper ol ul li h3 {
        font-size: 2.8rem; }
      .Features .Wrapper ol ul li.title {
        background-image: none;
        text-indent: 0;
        height: 8rem;
        border-bottom: 0; }
        .Features .Wrapper ol ul li.title:hover {
          background-image: none;
          text-indent: 0;
          height: 8rem;
          border-bottom: 0; }
    @media only screen and (max-width: 52rem) {
      .Features .Wrapper ol ul li + div {
        transition: max-height 0.5s;
        overflow: hidden;
        max-height: 0; }
      .Features .Wrapper ol ul .title h3 {
        position: relative; }
        .Features .Wrapper ol ul .title h3::after {
          content: '';
          opacity: 0;
          transform: translateY(-50%) rotate(0deg);
          transition: all 0.1s;
          background-image: url(/images/college/ico_chevron.svg);
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          width: 1.4rem;
          height: 2rem;
          display: block;
          position: absolute;
          right: 0;
          top: 50%;
          transition: all 0.3s; }
      .Features .Wrapper ol ul.on .title h3 {
        color: #222222; }
        .Features .Wrapper ol ul.on .title h3::after {
          opacity: 1;
          transform: translateY(-50%) rotate(180deg); }
      .Features .Wrapper ol ul.on li + div {
        max-height: 60rem; } }

button.large {
  height: 6rem;
  min-width: 20rem;
  font-size: 1.8rem;
  margin-top: 3.2rem;
  font-weight: bold; }

.Markdown,
#markdown {
  width: 100%;
  padding: 1.8rem;
  text-align: left; }
  @media only screen and (max-width: 52rem) {
    .Markdown,
    #markdown {
      padding: 1.8rem 0; } }
  .Markdown blockquote,
  #markdown blockquote {
    background-color: #eee; }
  .Markdown *,
  #markdown * {
    font-size: 1.4rem;
    font-family: 'Poppins', 'Noto Sans JP';
    text-align: left; }
  .Markdown h1,
  #markdown h1 {
    font-size: 3.6rem;
    color: #222;
    padding: 1.2rem;
    text-align: left;
    margin-top: 1.2rem;
    margin-bottom: 1.2rem;
    display: block;
    height: initial; }
  .Markdown h2,
  #markdown h2 {
    font-size: 2.8rem;
    font-weight: bold;
    color: #222;
    padding: 1.2rem;
    white-space: normal;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    line-height: 4.8rem;
    margin-top: 0;
    margin-bottom: 0;
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    /* font-family:"Noto Sans JP";font-weight:900; */ }
    .Markdown h2:before, .Markdown h2:after,
    #markdown h2:before,
    #markdown h2:after {
      width: 0; }
  .Markdown h3,
  #markdown h3 {
    font-size: 2.2rem;
    font-weight: bold;
    color: #222;
    padding: 1.2rem;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0;
    display: block; }
  .Markdown p,
  #markdown p {
    font-size: 1.8rem;
    font-weight: normal;
    color: #666;
    padding: 1.2rem;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0; }
  .Markdown h1 + p,
  .Markdown h2 + p,
  #markdown h1 + p,
  #markdown h2 + p {
    font-size: 1.8rem !important; }
  .Markdown pre,
  #markdown pre {
    padding: 2.4rem;
    margin: 1.2rem;
    background-color: #f6f4f3;
    font-size: 1.8rem;
    white-space: normal; }
  .Markdown code,
  #markdown code {
    font-size: 1.8rem; }
  .Markdown img,
  #markdown img {
    width: auto;
    height: auto;
    margin: auto;
    max-width: 100%; }
  .Markdown a,
  #markdown a {
    color: #222222;
    font-size: 1.8rem;
    font-weight: normal;
    display: inline-block;
    padding-left: 0;
    text-indent: 0;
    margin-right: 0;
    font-weight: medium; }
  .Markdown b,
  .Markdown em,
  #markdown b,
  #markdown em {
    color: #222;
    font-size: 1.8rem;
    font-weight: bold;
    font-style: normal; }
  .Markdown ul,
  #markdown ul {
    padding-left: 2.4rem;
    list-style: disc inside; }
  .Markdown li,
  #markdown li {
    line-height: 3.2rem;
    color: #222;
    font-size: 1.8rem;
    list-style: disc inside; }
    .Markdown li ul,
    #markdown li ul {
      list-style: circle inside; }
      .Markdown li ul li,
      #markdown li ul li {
        list-style: circle inside; }
  .Markdown ol,
  #markdown ol {
    padding: 1.2rem; }
    .Markdown ol li,
    #markdown ol li {
      list-style: decimal inside; }
  .Markdown center,
  #markdown center {
    text-align: center;
    font-size: inherit;
    color: inherit;
    font-weight: inherit; }

.Post {
  margin-top: 0; }
  @media only screen and (max-width: 52rem) {
    .Post[data-role='feature'] .PostFeature > h2 {
      margin-bottom: 10rem; } }
  .Post .PostHubTitle {
    font-weight: bold;
    font-size: 2rem;
    text-align: left; }
  .Post .GoBack {
    margin-left: 3rem;
    margin-top: 2rem; }
  @media only screen and (max-width: 52rem) {
    .Post .right-pane {
      display: none; } }
  .Post .right-pane .flist h3 {
    line-height: initial;
    height: initial;
    color: #222222;
    margin-bottom: 2.6rem;
    padding-bottom: 2.6rem;
    border-bottom: 0.2rem solid rgba(208, 201, 195, 0.3);
    height: initial; }
  .Post .right-pane .flist h4 {
    background-image: none;
    position: relative;
    display: flex;
    align-items: center;
    transition: all 0.3s;
    border-bottom: 0.2rem solid rgba(208, 201, 195, 0.3); }
    .Post .right-pane .flist h4.on {
      color: #222222; }
  .Post .right-pane .flist ul li {
    height: initial;
    line-height: initial;
    margin: 1.6rem 0;
    position: relative;
    display: flex;
    align-items: center; }
    .Post .right-pane .flist ul li.on::before {
      content: '';
      margin-right: 1rem;
      display: block;
      height: 1rem;
      width: 0.3rem;
      background-color: #222222; }
    .Post .right-pane .flist ul li a {
      all: unset;
      padding: 0;
      margin: 0;
      text-indent: initial;
      line-height: initial;
      height: initial;
      transition: color 0.3s; }
      .Post .right-pane .flist ul li a:hover {
        color: #222222; }
  .Post header {
    position: relative;
    border-bottom: 0.2rem solid #f1efed; }
  .Post .Wrapper {
    width: 128rem;
    display: flex;
    flex-direction: row;
    padding-bottom: calc(5vw + 2rem);
    margin-top: 3rem; }
    @media only screen and (max-width: 52rem) {
      .Post .Wrapper {
        margin-top: 0; } }
  .Post .Guide .Wrapper {
    padding-bottom: 0; }
  .Post h2 {
    margin: 0 auto;
    margin-bottom: 3rem; }
  .Post hr {
    width: 100%;
    height: 0.2rem;
    background-color: rgba(208, 201, 195, 0.3); }
  .Post section nav {
    display: flex;
    flex-direction: row; }
    .Post section nav a {
      display: flex;
      flex-direction: row;
      height: 6.4rem;
      line-height: 6.4rem;
      padding-left: 0;
      padding-right: 0;
      margin-right: 0;
      text-indent: 0;
      border-bottom: 0.1rem solid #ddd;
      border-radius: 0;
      align-items: center;
      cursor: pointer; }
      .Post section nav a div.image {
        width: 10rem;
        min-width: 10rem;
        height: 6rem;
        background-image: auto 100%;
        background-size: cover; }
      .Post section nav a label {
        white-space: normal;
        color: #222;
        font-size: 1.6rem;
        line-height: 2.2rem;
        padding-left: 0.8rem;
        cursor: pointer; }
  .Post .Cases {
    all: unset; }
    .Post .Cases .Wrapper {
      all: unset; }
      .Post .Cases .Wrapper h2, .Post .Cases .Wrapper h2::before, .Post .Cases .Wrapper h2::after {
        all: unset; }
      .Post .Cases .Wrapper h2 {
        display: block;
        font-size: 2rem;
        color: #000;
        margin-bottom: 1.6rem; }
  .Post .UsedFeatures {
    margin-top: 2rem;
    padding: 2rem;
    border-radius: 0.8rem;
    border: 0.2rem solid rgba(208, 201, 195, 0.3);
    text-align: left; }
    .Post .UsedFeatures h4 {
      all: unset;
      display: inline-block;
      font-weight: 600;
      font-size: 2rem;
      color: #222;
      margin-bottom: 1rem; }
    .Post .UsedFeatures ul {
      all: unset;
      display: block;
      margin-bottom: 1rem; }
      .Post .UsedFeatures ul li {
        color: #666;
        margin-left: 2rem;
        list-style: disc;
        line-height: initial;
        height: initial; }
        .Post .UsedFeatures ul li a {
          color: #666;
          font-weight: normal; }
          .Post .UsedFeatures ul li a:hover {
            color: #222222; }
        .Post .UsedFeatures ul li + li {
          margin-top: 1rem; }
    .Post .UsedFeatures a {
      all: unset;
      cursor: pointer;
      color: #222222;
      font-weight: bold; }
      .Post .UsedFeatures a:hover {
        color: #9A0000; }
  .Post .LineDemo {
    margin-top: 2rem; }
    .Post .LineDemo-Text {
      width: 23rem; }
    .Post .LineDemo input[type='checkbox']:checked + label .LineDemo-Text {
      width: 0rem; }
    .Post .LineDemo input[type='checkbox']:checked + label .LineDemo-QR {
      padding: 1rem; }
      .Post .LineDemo input[type='checkbox']:checked + label .LineDemo-QR::after {
        width: 25rem;
        height: 25rem;
        padding: 0.3rem; }

.SocialMedia {
  display: flex;
  margin: 3rem 0; }
  @media only screen and (max-width: 52rem) {
    .SocialMedia {
      justify-content: center; } }
  .SocialMedia-Link {
    width: 3.5rem;
    height: 3.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%;
    border-radius: 50%;
    transition: all 0.2s cubic-bezier(0.09, 0.73, 0.56, 1.56); }
    .SocialMedia-Link:not(:last-of-type) {
      margin-right: 1rem; }
    .SocialMedia-Link:hover {
      border-radius: 20%; }
    .SocialMedia-Link_Email {
      background-color: #5F5BFF;
      background-image: url(/images/landing/ico-sms.svg); }
      .SocialMedia-Link_Email:hover {
        background-color: #918eff; }
    .SocialMedia-Link_Facebook {
      background-color: #3B5998;
      background-image: url(/images/landing/ico-facebook.svg);
      background-size: 25%; }
      .SocialMedia-Link_Facebook:hover {
        background-color: #4c70ba; }
    .SocialMedia-Link_Twitter {
      background-color: #38A1F3;
      background-image: url(/images/landing/ico-twitter.svg); }
      .SocialMedia-Link_Twitter:hover {
        background-color: #68b8f6; }
    .SocialMedia-Link_B {
      background-color: #00A4DE;
      background-image: url(/images/landing/ico-b.svg); }
      .SocialMedia-Link_B:hover {
        background-color: #12c1ff; }
    .SocialMedia-Link_Share {
      background-color: #D0C9C3;
      background-image: url(/images/landing/ico-share.svg); }
      .SocialMedia-Link_Share:hover {
        background-color: #e6e3e0; }

.center-pane {
  width: 98rem;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  box-sizing: border-box;
  overflow: hidden;
  border-right: 0.1rem solid rgba(208, 201, 195, 0.3);
  margin-right: 2.4rem;
  margin-bottom: 8rem; }
  @media only screen and (max-width: 52rem) {
    .center-pane {
      border: none;
      margin: 0;
      padding-top: 3rem; } }

.right-pane {
  flex: 1 0 20%;
  margin-bottom: auto;
  position: sticky;
  top: 9rem; }
  @media only screen and (max-width: 52rem) {
    .right-pane {
      display: none; } }
  .right-pane h3 {
    text-align: left;
    color: #222;
    margin-top: 0;
    margin-bottom: 0;
    height: 6rem;
    line-height: 6.4rem;
    font-size: 1.8rem; }
  .right-pane h4 {
    text-align: left;
    color: #222;
    margin-top: 0;
    margin-bottom: 0;
    height: 4.8rem;
    line-height: 4.8rem;
    font-size: 1.6rem;
    cursor: pointer;
    background-image: url(/images/landing/caret-down.svg);
    background-position: right center;
    font-weight: 600; }
    .right-pane h4.on {
      background-image: url(/images/landing/caret-up.svg); }
      .right-pane h4.on + ul {
        display: block; }
    .right-pane h4 + ul {
      display: none; }
  .right-pane ul {
    text-align: left;
    color: #222;
    margin-top: 0; }
  .right-pane li {
    text-align: left;
    color: #222;
    height: 4rem;
    line-height: 4rem;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 400;
    /* border-bottom:.1rem solid #F1EFED; */ }
    .right-pane li.on {
      font-weight: 600; }
  .right-pane .demo {
    text-align: left; }

footer {
  background-image: url(/images/landing/footer-deco.svg);
  background-position: center bottom;
  padding: 2rem 0;
  padding-bottom: 14rem; }
  @media only screen and (max-width: 52rem) {
    footer {
      padding-bottom: 8rem; } }
  footer .Wrapper {
    display: flex;
    justify-content: space-between;
    height: 8rem;
    line-height: 8rem;
    margin: auto;
    width: 128rem;
    margin-top: 4rem; }
    @media only screen and (max-width: 52rem) {
      footer .Wrapper {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: initial;
        padding-bottom: 8rem; } }
    footer .Wrapper > * {
      display: inline-block;
      height: inherit;
      line-height: 8rem; }
      @media only screen and (max-width: 52rem) {
        footer .Wrapper > * {
          line-height: initial; } }
    footer .Wrapper a {
      display: block; }
      footer .Wrapper a[href^='/?lang'] {
        color: #222222;
        font-weight: bold; }
        @media only screen and (max-width: 52rem) {
          footer .Wrapper a[href^='/?lang'] {
            margin-top: 3.5rem !important; } }
      @media only screen and (min-width: 52rem) {
        footer .Wrapper a:not(:first-of-type) {
          margin-left: 1rem; } }
      @media only screen and (max-width: 52rem) {
        footer .Wrapper a:not(:first-of-type) {
          margin-top: 1rem; } }
      footer .Wrapper a:hover {
        color: #222222; }
    footer .Wrapper .logo {
      width: 28rem;
      height: 8rem;
      border-right: 0.1rem solid #ccc;
      background-size: 16rem auto; }
      @media only screen and (max-width: 52rem) {
        footer .Wrapper .logo {
          border-right: none;
          border-bottom: 0.1rem solid #ccc;
          margin-bottom: 8rem; } }
    footer .Wrapper .icon.fb {
      background-image: url(/images/landing/ico-fb.svg);
      width: 3.2rem;
      height: 8rem;
      background-position: center center;
      margin-right: 0;
      margin-left: 1.6rem; }
      @media only screen and (max-width: 52rem) {
        footer .Wrapper .icon.fb {
          margin: 0;
          transform: translateX(2rem); } }
    footer .Wrapper .icon.ln {
      background-image: url(/images/landing/ico-ln.svg);
      width: 3.2rem;
      height: 8rem;
      background-position: center center; }
      @media only screen and (max-width: 52rem) {
        footer .Wrapper .icon.ln {
          margin: 0;
          transform: translateX(-2rem); } }
    @media only screen and (max-width: 52rem) {
      footer .Wrapper .icon {
        position: absolute; } }

#mask {
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 20000;
  background-color: rgba(0, 0, 0, 0.2);
  position: fixed;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  #mask.lightgray {
    background-color: #f6f4f3; }
    #mask.lightgray .popup form {
      box-shadow: none; }
    #mask.lightgray .popup i.close {
      display: none; }
  #mask form {
    width: 440px;
    background-image: url(/images/logo-full.svg);
    background-position: center 3.2rem;
    position: relative;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.2);
    margin: auto;
    padding: 3rem 5rem; }
    @media only screen and (max-width: 52rem) {
      #mask form {
        padding: 3rem; } }
    #mask form ul {
      margin-top: 5rem;
      margin-bottom: 0; }
      #mask form ul li {
        padding-bottom: 0.8rem;
        padding-top: 0.8rem;
        font-size: 1.6rem; }
        #mask form ul li:last-child {
          padding-bottom: 0;
          margin-bottom: 0.8rem; }
    #mask form cite {
      display: none; }
    #mask form li.icons > div,
    #mask form textarea {
      height: 4rem;
      border-radius: 0.4rem;
      border: 0.1rem solid #ccc;
      padding-left: 1.6rem;
      padding-right: 1.6rem;
      line-height: 4rem;
      position: relative;
      margin-right: 0; }
    #mask form li > div {
      position: relative;
      margin-right: 0;
      text-align: left;
      white-space: nowrap; }
    #mask form li.icons > div {
      height: 4.2rem; }
    #mask form li.icons > div.error cite {
      right: 0.8rem; }
    #mask form li.icons > div > i {
      color: #999; }
    #mask form li.icons > div input {
      height: 2.4rem;
      line-height: 2rem;
      border-radius: 0;
      border: 0;
      outline: 0;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1.6rem;
      background-color: transparent !important;
      margin: 0;
      width: 30rem;
      border-left: 0.1rem solid #ccc;
      margin-left: 1.2rem;
      font-size: 1.5rem; }
    #mask form li > div.error cite {
      display: block;
      position: absolute;
      right: 2rem;
      height: 2rem;
      line-height: 2rem;
      font-size: 1.2rem;
      background-color: #ff5600;
      color: #fff;
      top: 1rem;
      padding-left: 0.8rem;
      padding-right: 0.8rem;
      border-radius: 0.4rem;
      opacity: 0.6; }
    #mask form li.terms {
      height: 4rem;
      line-height: 4rem;
      padding-top: 0; }
      #mask form li.terms div {
        display: flex;
        flex-direction: row;
        margin: 0;
        text-indent: 0.4rem;
        cursor: pointer; }
        #mask form li.terms div label {
          padding-left: 2.4rem; }
        #mask form li.terms div a {
          display: inline-block;
          padding-left: 0.2rem;
          color: #222222;
          text-align: left;
          text-indent: 0; }
        #mask form li.terms div input {
          margin-top: 0; }
    #mask form textarea {
      padding-top: 1.2rem;
      height: 14rem;
      line-height: 2.4rem;
      font-size: 1.3rem;
      width: 100%; }
    #mask form footer {
      background-color: #fff;
      background-image: none;
      margin-bottom: 2.4rem;
      line-height: 4rem;
      padding: 0; }
      #mask form footer:before {
        width: 0; }
      #mask form footer button {
        width: 100%;
        background-color: #5f5bff;
        font-size: 16px; }
        #mask form footer button:disabled {
          background-color: #ccc; }
      #mask form footer span.or {
        height: 40px;
        line-height: 40px;
        padding: 0;
        margin: auto;
        display: block;
        position: relative;
        width: 328px;
        font-size: 13px; }
        #mask form footer span.or:before, #mask form footer span.or:after {
          content: "";
          position: absolute;
          width: 40px;
          height: 1px;
          background-color: #ccc;
          top: 18px; }
        #mask form footer span.or:before {
          left: 0; }
        #mask form footer span.or:after {
          right: 0; }
      #mask form footer dl {
        display: flex;
        flex-direction: row;
        width: 360px;
        margin: auto;
        justify-content: center;
        margin-bottom: 8px; }
        #mask form footer dl dd {
          padding-right: 0; }
          #mask form footer dl dd.fb {
            padding-right: 16px; }
          #mask form footer dl dd button {
            font-size: 12px;
            font-weight: bold;
            height: 36px;
            line-height: 36px;
            background-repeat: no-repeat;
            background-position: -40px center;
            padding: 0; }
            #mask form footer dl dd button:hover {
              text-indent: 16px;
              text-align: left;
              transition-duration: 0.2s; }
          #mask form footer dl dd button.fb-login {
            background-color: #1877F2;
            background-color: #666;
            border-right: 16px solid #4267b2;
            width: 182px;
            text-align: center;
            padding-left: 0;
            padding-right: 0;
            background-position: -40px bottom; }
            #mask form footer dl dd button.fb-login:hover {
              background-color: #1877F2;
              border-right: 0;
              background-image: url(/images/ico_fb_w.svg);
              background-size: auto 28px;
              background-position: 8px bottom; }
          #mask form footer dl dd button.line-login {
            background-color: #00C300;
            background-color: #666;
            border-right: 16px solid #00C300;
            width: 136px; }
            #mask form footer dl dd button.line-login:hover {
              background-color: #00E000;
              border-right: 0;
              background-image: url(/images/ico_line_w.svg);
              background-size: auto 24px;
              background-position: 8px center;
              text-indent: 40px; }
            #mask form footer dl dd button.line-login:active {
              background-color: #00B300; }
      #mask form footer p:last-child {
        text-align: right;
        padding-right: 10%; }
    #mask form p a {
      padding-left: 0.8rem;
      color: #222222;
      cursor: pointer;
      display: inline;
      font-weight: bold; }
    #mask form hr {
      margin-top: 0.4rem;
      margin-bottom: 0.4rem; }
    #mask form h3 {
      padding-top: 0rem;
      height: 4rem;
      line-height: 4rem;
      margin-top: 0; }
    #mask form > p {
      padding: 1.2rem 3.2rem 2.4rem 3.2rem; }
    #mask form > button {
      margin-bottom: 3.2rem;
      min-width: 20rem;
      background-color: #222; }
  #mask img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

.ui-dropdown {
  display: inline-block;
  flex-wrap: nowrap;
  display: flex;
  background-color: #fff;
  box-sizing: border-box;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  position: relative;
  margin-right: 0rem;
  margin-left: 0;
  /* border:.1rem solid $colorGray3; */ }
  .ui-dropdown:hover {
    background-color: #ccc;
    cursor: pointer; }
  .ui-dropdown:after {
    content: '▼';
    color: #222;
    position: absolute;
    width: 2rem;
    font-size: 0.7rem;
    text-align: center;
    right: 0;
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem; }
  .ui-dropdown label {
    padding-right: 1.6rem; }
  .ui-dropdown.on {
    background-color: #fff; }
    .ui-dropdown.on:after {
      pointer-events: none;
      border: 0;
      top: -0.1rem; }

.ui-dropdown-opts {
  /* position:absolute; */
  z-index: 300;
  background-color: #222;
  /* opacity:0.9; */
  border-radius: 0rem;
  width: 39.4rem;
  height: 18rem;
  overflow-x: hidden;
  overflow-y: auto;
  cursor: pointer; }

div.features {
  width: 120rem;
  height: 80rem;
  position: relative;
  background-color: #fff;
  border-radius: 1.2rem;
  margin: auto;
  overflow: hidden; }
  div.features * {
    box-sizing: border-box; }
  div.features .scroller {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    animation-fill-mode: forwards; }

article.legal {
  margin-top: 0;
  padding-bottom: 26rem;
  background-image: url(/images/logo-full.svg);
  background-position: center bottom 12rem;
  background-size: auto 6.4rem;
  background-repeat: no-repeat; }
  article.legal * {
    text-align: left; }
  article.legal header {
    height: 24rem;
    background: #5f5bff;
    text-align: center;
    z-index: 0;
    position: relative;
    width: 100%;
    overflow: hidden; }
    @media only screen and (max-width: 52rem) {
      article.legal header {
        height: initial;
        padding: 3rem; } }
  article.legal h1 {
    width: 98rem;
    color: white;
    text-align: left;
    margin: auto;
    margin-top: 8rem;
    padding-left: 8rem; }
    @media only screen and (max-width: 52rem) {
      article.legal h1 {
        margin-top: 3rem;
        padding-left: 3rem;
        padding-left: 0;
        margin-top: 0;
        font-size: 3.6rem; } }
  article.legal pre {
    width: 90rem;
    background: white;
    border-radius: 0.4rem;
    padding: 2.4rem 8rem;
    margin-left: auto;
    margin-right: auto;
    white-space: pre-wrap;
    z-index: 1; }
    @media only screen and (max-width: 52rem) {
      article.legal pre {
        padding: 2.4rem 3rem; } }
  article.legal header + * {
    margin-top: 8rem; }
    @media only screen and (max-width: 52rem) {
      article.legal header + * {
        margin-top: 3rem; } }
  article.legal table {
    width: 90rem;
    border-collapse: collapse;
    margin: auto;
    margin-top: 6rem;
    /* border:.1rem solid #ccc; */ }
  article.legal tr {
    /* border-bottom:.1rem solid #ccc; */ }
  article.legal th,
  article.legal td {
    padding: 0.8rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem; }
  article.legal th {
    height: 2.4rem;
    line-height: 2.4rem;
    padding-top: 1.6rem;
    color: #222; }
  article.legal td {
    padding-bottom: 2.4rem;
    border-bottom: 0.1rem solid #ddd; }

.feature {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-bottom: 6rem;
  flex: 1 0 100%; }
  .feature h3 {
    margin-bottom: 3.2rem; }
  .feature div.body {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 2.4rem;
    height: 90%; }
  .feature .left-pane {
    flex: 0 1 30%;
    text-align: left;
    padding-right: 2rem;
    margin-right: 2rem;
    border-right: 0.1rem solid rgba(208, 201, 195, 0.3); }
  .feature div.footer {
    justify-content: space-between;
    width: 108rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    margin: auto;
    display: flex; }
    .feature div.footer button {
      color: #222222;
      background-color: transparent;
      font-size: 2rem; }
      .feature div.footer button:first-child:before {
        content: '<';
        padding-right: 1.6rem; }
      .feature div.footer button:last-child:after {
        content: '>';
        padding-left: 1.6rem; }

@keyframes slide-left {
  from {
    transform: translateX(0%); }
  to {
    transform: translateX(-100%); } }

@keyframes slide-right {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0%); } }

.slide-left {
  animation: slide-left 0.4s; }

.slide-right {
  animation: slide-right 0.4s; }

/* Post features page */
.PostFeature {
  display: flex;
  flex-direction: column; }
  .PostFeature-Notation {
    margin: 0;
    text-align: left; }
  .PostFeature-Title {
    font-size: 2em;
    font-weight: bold;
    text-align: left;
    margin: 0.5em 0; }
  .PostFeature-Subtitle {
    text-align: left;
    margin: 0; }
  .PostFeature-Features {
    display: block; }
    .PostFeature-Features-Carousel {
      margin: 3em 0;
      overflow: hidden;
      position: relative;
      width: 100%;
      height: 48rem; }
      @media only screen and (max-width: 52rem) {
        .PostFeature-Features-Carousel {
          height: 30rem; } }
      .PostFeature-Features-Carousel-Arrow {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        width: 1em;
        height: 1em;
        font-size: 3em;
        font-weight: bold;
        border-radius: 4em;
        background-color: rgba(0, 0, 0, 0.2);
        color: #fff;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
        opacity: 0.5;
        transition: opacity 0.2s; }
        .PostFeature-Features-Carousel-Arrow:hover {
          opacity: 1; }
        .PostFeature-Features-Carousel-Arrow::after {
          display: block; }
        .PostFeature-Features-Carousel-Arrow_Left {
          left: 0; }
          .PostFeature-Features-Carousel-Arrow_Left::after {
            content: '';
            background-image: url(/images/college/ico_chevron.svg);
            background-repeat: no-repeat;
            background-position: center;
            background-size: 2rem;
            filter: brightness(1000%);
            width: 2rem;
            height: 1.6rem;
            display: inline-block;
            position: absolute;
            transform: rotate(90deg); }
        .PostFeature-Features-Carousel-Arrow_Right {
          right: 0; }
          .PostFeature-Features-Carousel-Arrow_Right::after {
            content: '';
            background-image: url(/images/college/ico_chevron.svg);
            background-repeat: no-repeat;
            background-position: center;
            background-size: 2rem;
            filter: brightness(1000%);
            width: 2rem;
            height: 1.6rem;
            display: inline-block;
            position: absolute;
            transform: rotate(-90deg); }
      .PostFeature-Features-Carousel-Container {
        width: 100%;
        height: 100%;
        position: relative;
        transition: transform 0.5s cubic-bezier(0.12, 0.66, 0.64, 1.1);
        white-space: nowrap; }
        .PostFeature-Features-Carousel-Container-Item {
          width: 100%;
          height: 100%;
          object-position: center;
          object-fit: contain; }
    .PostFeature-Features--description {
      transition: opacity 0.2s;
      text-align: left; }
    .PostFeature-Features-Outline {
      margin-top: 4em;
      box-sizing: border-box;
      width: 100%;
      display: flex;
      position: relative;
      justify-content: flex-start; }
      .PostFeature-Features-Outline-Item {
        box-sizing: border-box;
        margin: 0em 0.5em;
        display: block;
        width: 10rem;
        height: 8rem;
        padding: 0.5em;
        border-radius: 0.3rem;
        position: relative;
        cursor: pointer;
        opacity: 0.25;
        background-position: center;
        background-size: contain;
        transition: opacity 0.5s; }
        @media only screen and (max-width: 52rem) {
          .PostFeature-Features-Outline-Item {
            width: 8rem;
            height: 6rem; } }
        .PostFeature-Features-Outline-Item:hover {
          opacity: 0.5; }
        .PostFeature-Features-Outline-Item.active {
          opacity: 1;
          transition-duration: 0.2s; }
      .PostFeature-Features-Outline-Indicator {
        display: block;
        position: absolute;
        width: 10rem;
        height: 0.3rem;
        left: 0;
        top: -0.8rem;
        opacity: 1;
        background-color: #222222;
        border-radius: 0.2rem;
        transition: transform 0.5s; }

body[lang='ja'] .PostHub-Post-Tags-Tag.story::after {
  content: '活用事例'; }

body[lang='ja'] .PostHub-Post-Tags-Tag.blog::after {
  content: 'ブログ'; }

body[lang='ja'] .PostHub-Post-Tags-Tag.feature::after {
  content: '機能'; }

body[lang='ja'] .PostHub-Post-Tags-Tag.case::after {
  content: '導入事例'; }

body[lang='ja'] .PostHub-Post-Tags-Tag.news::after {
  content: 'ニュース'; }

body[lang='ja'] .PostHub-Post-Tags-Tag.release::after {
  content: '機能'; }

body[lang='en'] .PostHub-Post-Tags-Tag.story::after {
  content: 'Story'; }

body[lang='en'] .PostHub-Post-Tags-Tag.blog::after {
  content: 'Blog'; }

body[lang='en'] .PostHub-Post-Tags-Tag.feature::after {
  content: 'Feature'; }

body[lang='en'] .PostHub-Post-Tags-Tag.case::after {
  content: 'Case'; }

body[lang='en'] .PostHub-Post-Tags-Tag.news::after {
  content: 'News'; }

body[lang='en'] .PostHub-Post-Tags-Tag.release::after {
  content: 'Release'; }

.PostHub {
  display: flex;
  margin: 0 -1rem;
  flex-wrap: wrap; }
  @media only screen and (max-width: 52rem) {
    .PostHub {
      flex-direction: column;
      align-items: center; } }
  .PostHub-Title {
    margin-bottom: 6rem;
    font-weight: normal; }
  .PostHub-Post {
    height: initial;
    cursor: pointer;
    box-sizing: content-box;
    display: flex;
    padding: 0;
    flex-direction: column;
    /* justify-content: space-between; */
    flex: 0 1 23.8rem;
    background-color: #f6f4f3;
    border: 0.2rem solid #f6f4f3;
    border-radius: 0.6rem;
    overflow: hidden;
    transform: scale(1);
    transition: all 0.3s;
    margin: 1rem; }
    @media only screen and (max-width: 52rem) {
      .PostHub-Post {
        flex: 1;
        width: 80%;
        max-width: 30rem; } }
    .PostHub-Post:hover {
      transform: scale(1.08) translateY(-1rem);
      box-shadow: 0rem 0.8rem 1rem -0.3rem rgba(0, 0, 0, 0.05); }
    .PostHub-Post-Image {
      box-sizing: border-box;
      transition: background-size 0.5s;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      padding: 1rem;
      background-color: #fff;
      width: 100%;
      height: 14.8rem; }
    .PostHub-Post-Title {
      text-align: left;
      font-size: 1.6rem;
      font-weight: normal;
      color: #000;
      margin: 1.6rem 1.6rem 0 1.6rem;
      transition: color 0.5s;
      text-indent: 0; }
    .PostHub-Post-Tags {
      display: flex;
      flex-wrap: wrap;
      margin: 1.6rem; }
      .PostHub-Post-Tags-Tag {
        background-color: #d0c9c3;
        border-radius: 0.4rem;
        color: #fff;
        padding: 0.3rem 0.6rem;
        text-indent: 0;
        font-size: 1.2rem;
        line-height: initial;
        margin-bottom: 0.5rem; }
        .PostHub-Post-Tags-Tag:not(:last-child) {
          margin-right: 0.5rem; }
        .PostHub-Post-Tags-Tag.story {
          background-color: #db234b; }
        .PostHub-Post-Tags-Tag.feature {
          background-color: #8dc63f; }
        .PostHub-Post-Tags-Tag.blog {
          background-color: #5f5bff; }
        .PostHub-Post-Tags-Tag.news {
          background-color: #fbb036; }
        .PostHub-Post-Tags-Tag.release {
          background-color: #9059ce; }
  .PostHub_LP {
    justify-content: center; }
    .PostHub_LP .PostHub-Post {
      background-color: #fff; }
      .PostHub_LP .PostHub-Post-Image {
        background-color: #f6f4f3; }
  .PostHub_PS {
    justify-content: flex-start;
    flex-wrap: wrap; }
    .PostHub_PS .PostHub-Post {
      background-color: #fff; }
      .PostHub_PS .PostHub-Post-Image {
        background-color: #f6f4f3; }

.LineDemo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 6rem; }
  .LineDemo * {
    color: #fff; }
  .LineDemo label {
    display: flex;
    justify-content: center;
    border-radius: 0.6rem;
    overflow: hidden;
    transition: all 0.1s;
    cursor: pointer; }
    .LineDemo label:hover {
      box-shadow: 0rem 0.4rem 0rem rgba(0, 0, 0, 0.15);
      transform: translateY(-0.4rem); }
  .LineDemo-Text {
    box-sizing: border-box;
    font-weight: bold;
    padding: 1rem 2rem;
    color: #fff !important;
    white-space: nowrap;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s;
    width: 20rem; }
    .LineDemo-Text::placeholder {
      color: #fff; }
  .LineDemo-QR {
    box-sizing: border-box;
    background-color: #00b900;
    padding: 0.6rem;
    transition: all 0.2s;
    max-width: 100%; }
    .LineDemo-QR::after {
      content: '';
      display: block;
      transition: all 0.2s;
      width: 3.4rem;
      height: 3.4rem;
      background-color: #fff;
      background-image: url(/images/landing/line_qr.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 90%;
      padding: 0.3rem; }
      @media only screen and (max-width: 52rem) {
        .LineDemo-QR::after {
          all: unset;
          content: '\25B8';
          line-height: 3.4rem;
          display: block;
          background-color: #00b900;
          width: 1.2rem;
          height: 3.4rem; } }
  .LineDemo input {
    display: none; }
  @media only screen and (min-width: 52rem) {
    .LineDemo input[type='checkbox']:checked + label .LineDemo-Text {
      width: 0rem;
      padding: 0rem; }
    .LineDemo input[type='checkbox']:checked + label .LineDemo-QR {
      padding: 1rem; }
      .LineDemo input[type='checkbox']:checked + label .LineDemo-QR::after {
        width: 24rem;
        height: 24rem;
        padding: 0.3rem; } }

.GoBack {
  display: flex;
  color: #222;
  transition: all 0.5s;
  align-items: center; }
  .GoBack:hover {
    color: #222222; }
  .GoBack::before {
    content: '';
    transition: all 0.5s;
    background-image: url(/images/college/ico_chevron.svg);
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 1rem;
    width: 1.4rem;
    height: 0.8rem;
    display: inline-block;
    transform: rotate(90deg); }

.Options {
  width: 100rem;
  margin: 3rem auto;
  color: #222;
  min-height: calc(100vh - 33.3rem); }
  .Options a {
    padding: 0;
    margin: 0; }
  @media only screen and (max-width: 52rem) {
    .Options {
      padding: 0 3rem; } }
  .Options-Title {
    white-space: normal; }
  .Options-Back {
    position: absolute;
    left: 0;
    transform: translate(7rem, 2rem); }
  .Options-Option:not(:first-of-type) {
    margin-top: 4rem; }
  .Options-Option-Title {
    color: #222; }
  .Options-Option-Content {
    background-color: rgba(242, 241, 239, 0.5);
    padding: 3rem 6rem;
    display: flex;
    justify-content: center;
    align-items: flex-start; }
    @media only screen and (max-width: 52rem) {
      .Options-Option-Content {
        flex-direction: column;
        align-items: center; } }
    .Options-Option-Content span {
      text-align: center; }
    .Options-Option-Content a {
      color: #222222; }
    .Options-Option-Content_Partial {
      flex: 1 1 50%;
      display: flex;
      flex-direction: column; }
      @media only screen and (max-width: 52rem) {
        .Options-Option-Content_Partial:not(:first-child) {
          margin-top: 3rem; } }
      @media only screen and (min-width: 52rem) {
        .Options-Option-Content_Partial:first-child {
          margin-left: auto; }
        .Options-Option-Content_Partial:not(:first-child) {
          margin-left: 6.4rem;
          margin-right: auto;
          padding-left: 6.4rem;
          border-left: 0.2rem solid rgba(208, 201, 195, 0.5); } }
    .Options-Option-Content-Title {
      font-size: 1.2rem;
      color: #222; }
    .Options-Option-Content-Price label {
      font-size: 3.6rem;
      font-weight: bold;
      color: #222; }
    .Options-Option-Content-Subtitle {
      font-size: 1.2rem; }
    .Options-Option-Content-TBA {
      color: #999; }

.Partners {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }
  .Partners a {
    display: block;
    width: 200px;
    height: 60px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin: 16px; }
  .Partners a.balie {
    background-image: url(/images/landing/partners/balie.png); }
  .Partners a.dricom {
    background-image: url(/images/landing/partners/dricom.png); }
  .Partners span {
    display: none; }

.FeatureList {
  background-color: #f6f4f3;
  padding: 0rem 2rem;
  text-align: left;
  border-radius: 1rem;
  position: absolute;
  margin-right: 2.4rem;
  z-index: 10;
  margin-top: 7rem; }
  .FeatureList[data-current='1'] .FeatureList-Title:nth-of-type(1) {
    color: #222222;
    display: block; }
    .FeatureList[data-current='1'] .FeatureList-Title:nth-of-type(1)::after {
      opacity: 1; }
  .FeatureList[data-current='1'] .FeatureList-ItemList:nth-of-type(1) {
    max-height: 50rem; }
  .FeatureList[data-current='2'] .FeatureList-Title:nth-of-type(2) {
    color: #222222;
    display: block; }
    .FeatureList[data-current='2'] .FeatureList-Title:nth-of-type(2)::after {
      opacity: 1; }
  .FeatureList[data-current='2'] .FeatureList-ItemList:nth-of-type(2) {
    max-height: 50rem; }
  .FeatureList[data-current='3'] .FeatureList-Title:nth-of-type(3) {
    color: #222222;
    display: block; }
    .FeatureList[data-current='3'] .FeatureList-Title:nth-of-type(3)::after {
      opacity: 1; }
  .FeatureList[data-current='3'] .FeatureList-ItemList:nth-of-type(3) {
    max-height: 50rem; }
  .FeatureList[data-current='4'] .FeatureList-Title:nth-of-type(4) {
    color: #222222;
    display: block; }
    .FeatureList[data-current='4'] .FeatureList-Title:nth-of-type(4)::after {
      opacity: 1; }
  .FeatureList[data-current='4'] .FeatureList-ItemList:nth-of-type(4) {
    max-height: 50rem; }
  .FeatureList[data-current='5'] .FeatureList-Title:nth-of-type(5) {
    color: #222222;
    display: block; }
    .FeatureList[data-current='5'] .FeatureList-Title:nth-of-type(5)::after {
      opacity: 1; }
  .FeatureList[data-current='5'] .FeatureList-ItemList:nth-of-type(5) {
    max-height: 50rem; }
  .FeatureList[data-current='0'] .FeatureList-Title {
    border-bottom: none; }
    .FeatureList[data-current='0'] .FeatureList-Title:not(.on) {
      display: none; }
    .FeatureList[data-current='0'] .FeatureList-Title.on {
      color: #222222; }
      .FeatureList[data-current='0'] .FeatureList-Title.on::after {
        opacity: 1;
        transform: translateY(-50%); }
  .FeatureList.on .FeatureList-Title {
    display: block; }
  .FeatureList.on[data-current='1'] .FeatureList-Title:nth-of-type(1) {
    display: block; }
  .FeatureList.on[data-current='2'] .FeatureList-Title:nth-of-type(2) {
    display: block; }
  .FeatureList.on[data-current='3'] .FeatureList-Title:nth-of-type(3) {
    display: block; }
  .FeatureList.on[data-current='4'] .FeatureList-Title:nth-of-type(4) {
    display: block; }
  .FeatureList.on[data-current='5'] .FeatureList-Title:nth-of-type(5) {
    display: block; }
  .FeatureList-Title {
    display: none;
    position: relative;
    border-bottom: solid 2px rgba(0, 0, 0, 0.1);
    margin: 1rem 0;
    padding: 1rem 0;
    color: #222;
    font-size: 2.4rem; }
    .FeatureList-Title::after {
      content: '';
      opacity: 0;
      transition: all 0.1s;
      background-image: url(/images/college/ico_chevron.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      width: 1.4rem;
      height: 2rem;
      display: block;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%) rotate(180deg); }
  .FeatureList-ItemList {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s;
    margin: 0; }
    .FeatureList-ItemList-Item {
      font-size: 2rem;
      margin: 1rem 0;
      display: flex;
      align-items: center; }
      .FeatureList-ItemList-Item,
      .FeatureList-ItemList-Item a {
        color: #222;
        -webkit-text-fill-color: #222; }
      .FeatureList-ItemList-Item.on {
        font-weight: bold; }
        .FeatureList-ItemList-Item.on::before {
          content: '';
          display: inline-block;
          width: 3px;
          border-radius: 1rem;
          height: 2rem;
          background-color: #222222;
          margin-right: 1rem; }

.st-btns .st-btn {
  -webkit-text-fill-color: #fff; }

.fa, .far, .fas {
  font-family: "Font Awesome 5 Pro" !important; }
