﻿@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
body {
  line-height: 1;
  margin: 0;
  font-feature-settings: "palt"
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
nav ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
li {
  list-style: none
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
body {
  color: #0d1b2a;
  font-family: sans-serif;
  letter-spacing: .05em;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
a {
  color: #249edc;
  cursor: pointer;
  outline: none;
  text-decoration: none;
  transition: .1s;
  word-wrap: break-word
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    color: inherit;
    pointer-events: none
  }
  a[href^="tel:"]:hover {
    opacity: 1
  }
}
a img {
  transition: .1s
}
@media(any-hover: hover) {
  a:hover {
    opacity: .7;
    text-decoration: none
  }
}
img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto
}
figcaption {
  font-size: 14px;
  margin-top: 10px;
  text-align: center
}
address {
  font-style: normal;
  text-decoration: none
}
input, button, textarea, select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle
}
button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0
}
input, textarea {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  outline: none;
  padding: 0
}
select {
  cursor: pointer
}
select::-ms-expand {
  display: none
}
input[type=reset], input[type=submit], input[type=button] {
  appearance: button;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: .2s
}
input[type=reset]:hover, input[type=submit]:hover, input[type=button]:hover {
  opacity: .7
}
input[type=reset]:focus, input[type=submit]:focus, input[type=button]:focus {
  outline-offset: -2px
}
input[type=reset]::-webkit-search-decoration, input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none
}
sub {
  font-size: .75em;
  vertical-align: baseline
}
sup {
  font-size: .75em;
  vertical-align: text-top
}
.modal {
  display: none;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 50px 0 rgba(0, 0, 0, .25);
  overflow: hidden;
  max-width: 100rem;
  max-height: 85dvh;
  width: calc(100% - 4rem);
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001
}
.modal.is-show {
  display: flex
}
.modal-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
  z-index: 1
}
.modal-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto
}
.modal-head {
  background: #eaf4fb;
  padding: 2rem 4rem 2rem 3rem
}
.modal-head p {
  color: #5b6b7a;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 1rem;
  display: flex;
  align-items: center
}
.modal-head p span {
  border-radius: 100rem;
  background: #249edc;
  padding: 5px 14px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.3rem;
  line-height: 29px;
  margin-right: 1rem;
  word-break: keep-all
}
.modal-head h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 150%
}
.modal .inner {
  padding: 25px 3rem
}
.modal-summary dt, .modal-summary p, .modal-image dt, .modal-image p, .modal-effect dt, .modal-effect p {
  color: #249edc;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 10px
}
.modal-summary dd, .modal-summary ul, .modal-image dd, .modal-image ul, .modal-effect dd, .modal-effect ul {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 180%
}
.modal-summary ul li::before, .modal-image ul li::before, .modal-effect ul li::before {
  content: "・"
}
.modal-summary dd {
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 15px;
  padding-bottom: 15px
}
.modal-summary dd span {
  font-weight: bold
}
.modal-effect {
  border-radius: 10px;
  padding: 16px;
  background: #eaf4fb;
  margin-top: 2rem
}
.modal-effect li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: baseline
}
.modal-effect li:before {
  content: "・";
  margin-right: .5rem
}
.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .4;
  z-index: 1000
}
.modal-overlay.is-show {
  display: block
}
html.is-modal-open, body.is-modal-open {
  overflow: hidden
}
.image-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 1100
}
.image-lightbox.is-show {
  display: block
}
.image-lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  cursor: pointer;
  z-index: 1
}
.image-lightbox-scroll {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch
}
.image-lightbox-img {
  display: block;
  height: 100%;
  width: auto;
  max-width: none
}
.scr-wrap {
  position: relative
}
.scr-wrap p {
  display: none
}
.scr-wrap .zoom-hint {
  display: none
}
#snowflake {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 400
}
#snowflake section[id] {
  scroll-margin-top: var(--subnav-height, 10rem)
}
#snowflake #pageTitle {
  padding: 5rem 0 7rem;
  background: url(../img/top/fv-bg.jpg) no-repeat center right/auto 100%, #f7fbfe
}
#snowflake #pageTitle .br-sp {
  display: none
}
#snowflake #pageTitle--title {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 4.3rem;
  font-weight: 900;
  line-height: 140%
}
#snowflake #pageTitle--title span {
  color: #249edc
}
#snowflake #pageTitle p {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 180%;
  margin: 3rem auto
}
#snowflake #pageTitle .blue-button {
  max-width: 266px
}
#snowflake .commom-title {
  text-align: center
}
#snowflake .commom-title h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 140%;
  margin-bottom: 1.5rem
}
#snowflake .commom-title h2 span {
  color: #249edc
}
#snowflake .bg-triangle {
  background: #f5f8fb;
  position: relative
}
#snowflake .bg-triangle:before, #snowflake .bg-triangle:after {
  position: absolute;
  content: "";
  width: 135px;
  height: 78px;
  z-index: 1
}
#snowflake .bg-triangle:before {
  background: url(../img/top/bg-triangle-top.png) no-repeat center/contain;
  top: 0;
  right: 0
}
#snowflake .bg-triangle:after {
  background: url(../img/top/bg-triangle-under.png) no-repeat center/contain;
  bottom: 0;
  left: 0
}
#snowflake .bg-triangle .wrap {
  padding: 8rem 0;
  position: relative;
  z-index: 2
}
#snowflake .bg-pattern {
  background: #f5f8fb;
  position: relative;
  overflow: hidden
}
#snowflake .bg-pattern .wrap {
  position: relative;
  z-index: 2;
  padding: 8rem 0
}
#snowflake .bg-pattern:before, #snowflake .bg-pattern:after {
  position: absolute;
  content: "";
  width: 311px;
  height: 427px;
  background: url(../img/top/bg-pattern.png) no-repeat center/contain
}
#snowflake .bg-pattern:before {
  top: -5rem;
  right: -5rem
}
#snowflake .bg-pattern:after {
  bottom: -5rem;
  left: -4rem
}
#snowflake .bg-pattern.single:after {
  display: none
}
#snowflake .bg-dot {
  position: relative;
  overflow: hidden
}
#snowflake .bg-dot .wrap {
  position: relative;
  z-index: 2;
  padding: 8rem 0
}
#snowflake .bg-dot:before {
  position: absolute;
  content: "";
  z-index: 1;
  width: 50%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/top/bg-dot.png) no-repeat center right 5rem/auto 90%
}
#snowflake .introduction {
  border-radius: 1rem;
  background: #249edc;
  box-shadow: 0 6px 20px 0 rgba(27, 58, 87, .1);
  max-width: 100rem;
  width: 100%;
  padding: 6rem 2rem;
  margin: 0 auto;
  position: relative;
  overflow: hidden
}
#snowflake .introduction:before, #snowflake .introduction:after {
  position: absolute;
  content: "";
  width: 311px;
  height: 427px;
  background: url(../img/top/introduction-bg.png) no-repeat center/contain;
  z-index: 1
}
#snowflake .introduction:before {
  bottom: 1rem;
  left: -3rem
}
#snowflake .introduction:after {
  top: -5rem;
  right: -5rem
}
#snowflake .introduction-inner {
  position: relative;
  z-index: 2
}
#snowflake .introduction-inner h2 {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 140%
}
#snowflake .introduction-inner p {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 170%;
  margin: 2rem auto 4rem
}
#snowflake .introduction-inner a {
  border-radius: 5px;
  border: 2px solid #fff;
  background: #f89913;
  box-shadow: 0 4px 12px 0 #577fbd;
  max-width: 59rem;
  width: 100%;
  line-height: 10rem;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2rem;
  font-weight: 700;
  display: block;
  position: relative;
  padding: 0 3rem;
  margin: 0 auto;
  transition: .3s all
}
#snowflake .introduction-inner a:before {
  position: absolute;
  content: "";
  right: 3rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  transition: .3s all
}
#snowflake .introduction-inner a:hover {
  opacity: 1;
  color: #f89913;
  background: #fff;
  border: 2px solid #f89913
}
#snowflake .introduction-inner a:hover:before {
  border-color: #f89913
}
#snowflake #about .wrap {
  padding: 8rem 0
}
#snowflake #about .commom-title {
  margin-bottom: 3rem
}
#snowflake #about--list {
  max-width: 85rem;
  margin: 0 auto 6rem
}
#snowflake #about--list li {
  display: flex;
  position: relative;
  margin-bottom: 8px;
  padding-left: 3rem
}
#snowflake #about--list li:last-child {
  margin-bottom: 0
}
#snowflake #about--list li br {
  display: none
}
#snowflake #about--list li span {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100rem;
  background: #eaf4fb;
  padding: 0 1rem;
  width: 100%;
  max-width: 180px;
  line-height: 3rem;
  margin-right: 1rem;
  display: block
}
#snowflake #about--list li p {
  width: calc(100% - 18rem)
}
#snowflake #about--list li:before {
  position: absolute;
  content: "";
  width: 22px;
  height: 22px;
  top: 5px;
  left: 0;
  background: url(../img/top/about-check.png) no-repeat center/contain
}
#snowflake #reason .commom-title br {
  display: none
}
#snowflake #reason--list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 3rem auto 9rem
}
#snowflake #reason--list li {
  width: calc(33.3% - 5.6666666667rem)
}
#snowflake #reason--list li img {
  margin: 0 auto 2rem;
  display: block
}
#snowflake #reason--list li h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 180%;
  margin-bottom: 4rem;
  position: relative
}
#snowflake #reason--list li h3:before {
  position: absolute;
  content: "";
  width: 3.5rem;
  height: 2px;
  background: #249edc;
  left: 50%;
  bottom: -2rem;
  transform: translateX(-50%)
}
#snowflake #reason--list li p {
  line-height: 180%
}
#snowflake #assignment .wrap {
  padding: 8rem 0
}
#snowflake #assignment .commom-title {
  margin-bottom: 5rem
}
#snowflake #assignment .commom-title h2 br {
  display: none
}
#snowflake #assignment .assignment-table {
  width: 100%;
  margin-top: 4rem
}
#snowflake #assignment .assignment-table th {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
  text-align: left;
  padding-bottom: 12px;
  margin-bottom: 14px
}
#snowflake #assignment .assignment-table th.left {
  color: #5876aa;
  border-bottom: 2px solid #5876aa
}
#snowflake #assignment .assignment-table th.right {
  color: #249edc;
  border-bottom: 2px solid #249edc
}
#snowflake #assignment .assignment-table td.left, #snowflake #assignment .assignment-table td.right {
  border-bottom: 1px solid #e5e5e5;
  padding: 14px 0 17px 0;
  font-weight: 500;
  line-height: 23.8px
}
#snowflake #assignment .assignment-table .left, #snowflake #assignment .assignment-table .right {
  width: 56rem
}
#snowflake #assignment .assignment-table .center {
  padding: 14px 3rem 17px 3rem;
  vertical-align: middle;
  text-align: center
}
#snowflake #utilization .commom-title h2 br {
  display: none
}
#snowflake #utilization picture {
  margin: 4rem auto 7rem;
  display: block
}
#snowflake #utilization--text {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 170%
}
#snowflake #utilization--text span {
  color: #249edc;
  border-bottom: 3px solid #249edc
}
#snowflake #support .wrap {
  padding: 8rem 0
}
#snowflake #support picture {
  margin: 3rem auto 5rem;
  display: block
}
#snowflake #usecase--list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 6rem
}
#snowflake #usecase .usecase-item {
  width: calc(33.3% - 16px);
  border-radius: 12px;
  border: 1px solid #9ab3cb;
  background: #fff;
  box-shadow: 0 6px 20px 0 rgba(27, 58, 87, .06);
  overflow: hidden;
  display: flex;
  flex-direction: column
}
#snowflake #usecase .usecase-item-top {
  background: #eaf4fb;
  display: flex;
  align-items: center;
  align-content: center;
  padding: 16px 20px;
  flex-wrap: wrap;
  border-radius: 12px 12px 0 0
}
#snowflake #usecase .usecase-item-top p {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 180%;
  line-height: 3rem;
  border-radius: 100rem;
  background: #249edc;
  padding: 0 1rem;
  margin-right: 8px
}
#snowflake #usecase .usecase-item-top h3 {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 25.5px
}
#snowflake #usecase .usecase-item-under {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto
}
#snowflake #usecase .usecase-item-under .grow {
  display: flex;
  flex-direction: column;
  flex-grow: 1
}
#snowflake #usecase .usecase-item-under .subtit {
  font-size: 1.3rem;
  font-weight: 600;
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 8px
}
#snowflake #usecase .usecase-item-under .subtit:before {
  position: absolute;
  content: "";
  border-radius: 100rem;
  width: 6px;
  height: 6px;
  top: 5px;
  left: 0
}
#snowflake #usecase .usecase-item-under .subtit.blue {
  color: #249edc
}
#snowflake #usecase .usecase-item-under .subtit.blue:before {
  background: #249edc
}
#snowflake #usecase .usecase-item-under .subtit.black {
  color: #0d1b2a
}
#snowflake #usecase .usecase-item-under .subtit.black:before {
  background: #0d1b2a
}
#snowflake #usecase .usecase-item-under .results {
  border-radius: 1rem;
  background: #eaf4fb;
  padding: 1rem;
  margin: 2rem auto
}
#snowflake #usecase .usecase-item-under .tag {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 2rem
}
#snowflake #usecase .usecase-item-under .tag li {
  border-radius: 6px;
  border: 1px solid #249edc;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 28px;
  margin: .2rem;
  padding: 0 1rem
}
#snowflake #usecase .usecase-item-under p {
  font-size: 1.6rem;
  line-height: 180%
}
#snowflake #usecase .usecase-item .blue-button {
  max-width: 15rem;
  line-height: 40px;
  box-shadow: none
}
#snowflake #usecase .end-text {
  text-align: center;
  margin: 5rem auto 4rem
}
#snowflake #usecase .links {
  display: flex;
  justify-content: center;
  align-items: stretch
}
#snowflake #usecase .links .left {
  max-width: 345px;
  width: 100%;
  margin-right: 15px;
  display: block
}
#snowflake #usecase .links .right {
  max-width: 170px;
  width: 100%
}
#snowflake #flow .commom-title {
  margin-bottom: 5rem
}
#snowflake #faq ul {
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 6px 20px 0 rgba(27, 58, 87, .06);
  margin-top: 3rem
}
#snowflake #faq ul li {
  overflow: hidden;
  padding: 0 2rem;
  box-sizing: border-box;
  border-bottom: 1px solid #e2e8f0
}
#snowflake #faq ul li:last-of-type {
  border-bottom: none
}
#snowflake #faq ul li .faq-title {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
  padding: 3rem 0;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start
}
#snowflake #faq ul li .faq-title img {
  margin-right: 1rem
}
#snowflake #faq ul li .faq-title span {
  margin: 2px;
  width: calc(100% - 70px)
}
#snowflake #faq ul li .faq-title .icon {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  right: 0;
  top: 50%;
  transform: translateY(-50%)
}
#snowflake #faq ul li .faq-title .icon:before, #snowflake #faq ul li .faq-title .icon:after {
  position: absolute;
  content: "";
  background: #249edc
}
#snowflake #faq ul li .faq-title .icon:before {
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}
#snowflake #faq ul li .faq-title .icon:after {
  width: 2px;
  height: 100%;
  transition: transform .3s;
  left: 50%;
  top: 0;
  transform: translateX(-50%)
}
#snowflake #faq ul li .faq-title.close .icon:after {
  transform: translateX(-50%) rotate(90deg)
}
#snowflake #faq ul li .inner {
  display: none;
  padding: 0 0 3rem 4rem;
  line-height: 180%
}
#snowflake #faq ul li .inner span {
  color: #249edc;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2rem;
  font-weight: 700
}
#snowflake #end .wrap {
  padding: 8rem 0;
  position: relative;
  z-index: 2
}
#snowflake #end .top {
  text-align: center
}
#snowflake #end .top h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 140%
}
#snowflake #end .top h2 span {
  color: #249edc
}
#snowflake #end .top .middle-text {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 170%;
  margin: 2rem auto
}
#snowflake #end .top a {
  border-radius: 5px;
  border: 2px solid #fff;
  background: #f89913;
  box-shadow: 0 4px 12px 0 #b4b4b4;
  max-width: 59rem;
  width: 100%;
  line-height: 150%;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2rem;
  font-weight: 700;
  display: block;
  position: relative;
  padding: 18px 3rem;
  margin: 2rem auto 0;
  transition: .3s all
}
#snowflake #end .top a .br-sp {
  display: none
}
#snowflake #end .top a:before {
  position: absolute;
  content: "";
  right: 3rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  transition: .3s all
}
#snowflake #end .top a:hover {
  opacity: 1;
  color: #f89913;
  background: #fff;
  border: 2px solid #f89913
}
#snowflake #end .top a:hover:before {
  border-color: #f89913
}
#snowflake #end .under {
  background: #249edc;
  position: relative;
  overflow: hidden
}
#snowflake #end .under:before, #snowflake #end .under:after {
  position: absolute;
  content: "";
  width: 311px;
  height: 427px;
  background: url(../img/top/introduction-bg.png) no-repeat center/contain;
  z-index: 1;
  top: 0
}
#snowflake #end .under:before {
  left: 0
}
#snowflake #end .under:after {
  right: 0
}
#snowflake #end .under h2 {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 140%
}
#snowflake #end .under P {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 170%;
  margin: 2rem auto 4rem
}
#snowflake #end .under a {
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 4px 12px 0 rgba(12, 95, 137, .35);
  line-height: 48px;
  padding: 0 1.5rem;
  color: #1b3a57;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  display: block;
  position: relative;
  transition: .3s all;
  max-width: 266px;
  margin: 0 auto
}
#snowflake #end .under a:before {
  position: absolute;
  content: "";
  right: 1.5rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #1b3a57;
  border-right: 1px solid #1b3a57;
  transform: rotate(45deg) translateY(-50%);
  transition: .3s all
}
#snowflake #end .under a:hover {
  opacity: 1;
  color: #249edc
}
#snowflake #end .under a:hover:before {
  border-color: #249edc
}
@media screen and (max-width: 1350px) {
  #snowflake #pageTitle {
    background: url(../img/top/fv-bg.jpg) no-repeat center right -15dvw/auto 100%, #f7fbfe
  }
}
@media screen and (max-width: 1024px) {
  #snowflake #reason--list li {
    width: calc(33.3% - 2.6666666667rem)
  }
}
@media screen and (max-width: 920px) {
  #snowflake #pageTitle {
    background: url(../img/top/fv-bg-sp.jpg) no-repeat center top/cover
  }
  #snowflake #pageTitle .br-sp {
    display: block
  }
  #snowflake #pageTitle--title {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 2rem;
    font-weight: 900;
    line-height: 160%
  }
  #snowflake #pageTitle--title span {
    font-size: 3rem
  }
  #snowflake #pageTitle p {
    margin: 2rem auto
  }
  #snowflake #about--list {
    max-width: 85rem;
    margin: 0 auto 6rem
  }
  #snowflake #about--list li {
    display: block;
    padding-left: 0;
    margin-bottom: 2rem
  }
  #snowflake #about--list li:last-child {
    margin-bottom: 0
  }
  #snowflake #about--list li span {
    margin-left: 3rem
  }
  #snowflake #about--list li p {
    width: 100%
  }
  #snowflake #usecase--list {
    flex-wrap: wrap
  }
  #snowflake #usecase .usecase-item {
    width: calc(50% - 2rem)
  }
  #snowflake #usecase .usecase-item:last-of-type {
    margin-top: 4rem
  }
}
@media screen and (max-width: 768px) {
  .modal-close {
    top: 1rem;
    right: 1rem
  }
  .scr-wrap p {
    display: block;
    animation: sdb 1.8s infinite;
    margin-bottom: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: right;
    color: #249edc
  }
  @keyframes sdb {
    0% {
      transform: translateX(0)
    }
    50% {
      transform: translateX(1rem)
    }
    100% {
      transform: translateX(0)
    }
  }
  .scr-wrap .scr-inner {
    overflow-x: scroll;
    overflow-y: clip
  }
  .scr-wrap img {
    width: 77rem;
    max-width: none
  }
  .scr-wrap .zoom-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s ease
  }
  .scr-wrap .zoom-hint.is-show {
    opacity: 1;
    visibility: visible
  }
  .scr-wrap .zoom-hint.is-hide-instant {
    transition: none
  }
  .scr-wrap .zoom-hint img {
    width: 116px;
    max-width: none
  }
  #snowflake #pageTitle {
    padding: 4rem 0
  }
  #snowflake .commom-title h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 2.4rem;
    font-weight: 900
  }
  #snowflake .commom-title h2 br {
    display: none
  }
  #snowflake .commom-title p {
    text-align: left
  }
  #snowflake .bg-triangle:before, #snowflake .bg-triangle:after {
    width: 80px;
    height: 46px
  }
  #snowflake .bg-triangle .wrap {
    padding: 4rem 0
  }
  #snowflake .bg-pattern .wrap {
    padding: 4rem 0
  }
  #snowflake .bg-pattern:before, #snowflake .bg-pattern:after {
    width: 211px;
    height: 290px
  }
  #snowflake .bg-pattern:before {
    top: -2rem;
    right: -2rem
  }
  #snowflake .bg-pattern:after {
    bottom: -2rem;
    left: -2rem
  }
  #snowflake .bg-dot .wrap {
    padding: 4rem 0
  }
  #snowflake .bg-dot:before {
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: url(../img/top/bg-dot.png) no-repeat center/contain
  }
  #snowflake .introduction {
    padding: 4rem 2rem
  }
  #snowflake .introduction:before, #snowflake .introduction:after {
    width: 167px;
    height: 230px
  }
  #snowflake .introduction:before {
    bottom: -2rem;
    left: -2rem
  }
  #snowflake .introduction:after {
    top: -2rem;
    right: 0
  }
  #snowflake .introduction-inner h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 2.4rem;
    font-weight: 900
  }
  #snowflake .introduction-inner p {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 170%;
    margin: 2rem auto
  }
  #snowflake .introduction-inner p br {
    display: none
  }
  #snowflake .introduction-inner a {
    line-height: 6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700
  }
  #snowflake .introduction-inner a:before {
    width: 8px;
    height: 8px
  }
  #snowflake #about .wrap {
    padding: 4rem 0
  }
  #snowflake #about .commom-title {
    text-align: left
  }
  #snowflake #about--list {
    margin: 0 auto 4rem
  }
  #snowflake #reason .commom-title br {
    display: block
  }
  #snowflake #reason--list {
    display: block;
    margin: 4rem auto
  }
  #snowflake #reason--list li {
    width: 100%;
    margin-bottom: 3rem
  }
  #snowflake #reason--list li:last-child {
    margin-bottom: 0
  }
  #snowflake #assignment .wrap {
    padding: 4rem 0
  }
  #snowflake #assignment .commom-title {
    margin-bottom: 2rem
  }
  #snowflake #assignment .commom-title h2 br {
    display: block
  }
  #snowflake #assignment .assignment-table {
    width: 770px;
    margin-top: 3rem
  }
  #snowflake #assignment .assignment-table th {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem
  }
  #snowflake #assignment .assignment-table .left, #snowflake #assignment .assignment-table .right {
    width: 35rem
  }
  #snowflake #utilization .commom-title h2 br {
    display: block
  }
  #snowflake #utilization picture {
    margin: 4rem auto
  }
  #snowflake #utilization--text {
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 150%
  }
  #snowflake #utilization--text span {
    border-bottom: 2px solid #249edc
  }
  #snowflake #support .wrap {
    padding: 4rem 0
  }
  #snowflake #support picture {
    margin: 4rem 0
  }
  #snowflake #usecase--list {
    display: block;
    margin-top: 4rem
  }
  #snowflake #usecase .usecase-item {
    width: 100%;
    margin: 0 auto 2rem !important;
    display: block
  }
  #snowflake #usecase .usecase-item:last-child {
    margin-bottom: 0 !important
  }
  #snowflake #usecase .usecase-item-under {
    display: block
  }
  #snowflake #usecase .usecase-item-under .grow {
    display: block
  }
  #snowflake #usecase .end-text {
    text-align: left;
    margin: 4rem auto
  }
  #snowflake #usecase .links {
    display: block
  }
  #snowflake #usecase .links .left {
    margin: 0 auto 15px
  }
  #snowflake #usecase .links .right {
    display: block;
    margin: 0 auto
  }
  #snowflake #faq ul li .faq-title {
    padding: 2rem 0;
    align-items: center
  }
  #snowflake #faq ul li .inner {
    padding: 0 0 2rem 0rem
  }
  #snowflake #end .wrap {
    padding: 4rem 0
  }
  #snowflake #end .top h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 2.4rem;
    font-weight: 900
  }
  #snowflake #end .top .middle-text {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700
  }
  #snowflake #end .top a {
    line-height: 6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 130%
  }
  #snowflake #end .top a .br-sp {
    display: block
  }
  #snowflake #end .top a:before {
    width: 8px;
    height: 8px
  }
  #snowflake #end .under:before, #snowflake #end .under:after {
    width: 206px;
    height: 282px
  }
  #snowflake #end .under h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 2.4rem;
    font-weight: 900
  }
  #snowflake #end .under P {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 2rem auto 3rem
  }
}