@charset "UTF-8";
.bgLight {
  background-color: #f7f1eb;
}

/* for modern brouser */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}

/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/**/
/*リセット*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, div, dfn, em, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, hgroup, main, menu, nav, output, ruby, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  text-align: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  background-repeat: no-repeat;
  border: 0 none;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ol, ul, li {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

img {
  width: auto;
  height: auto;
  max-width: auto;
}

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

.clear {
  clear: both;
  size: 0;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.clearfix {
  display: block;
}

/*--------------------------------------------------
基本設定
--------------------------------------------------*/
.notPc {
  display: none;
}

@media screen and (max-width: 799px) {
  .notPc {
    display: block;
  }
  .forPc {
    display: none;
  }
}

.forSmt {
  display: none;
}

@media screen and (max-width: 499px) {
  .forSmt {
    display: block;
  }
}

html {
  height: 100%;
}

body {
  font-size: 17px;
  line-height: 2.2;
  height: 100%;
  font-weight: 500;
  color: black;
}

@media screen and (max-width: 499px) {
  body {
    font-size: 16px;
  }
}

main {
  background: url(../images/top/bg_body.jpg) repeat;
  background-size: contain;
  background-position: top;
}

/*フォント指定*/
body {
  font-family: "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "游明朝", "游明朝体", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.fMin {
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "游明朝", "游明朝体", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.fGot {
  font-family: "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}

/*文字色*/
a {
  color: #36a5b7;
}

span.green {
  color: #93c453;
}

span.red {
  color: #c46b6b;
}

span.point {
  color: #fd9500;
}

/*強調：マーカー*/
.mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(30%, rgba(255, 255, 180, 0.822)));
  background: linear-gradient(transparent 40%, rgba(255, 255, 180, 0.822) 30%);
}

.notes {
  font-size: 0.8rem;
  color: #666666;
  line-height: 1.5;
}

/*フォントサイズ*/
.stext {
  font-size: 0.8rem;
}

/*--------------------------------------------------
レイアウト ランディング
--------------------------------------------------*/
/*レイアウト
-------------------------*/
main {
  overflow: hidden;
}

article {
  position: relative;
}

@media screen and (max-width: 799px) {
  article {
    width: 100%;
  }
}

section {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

footer {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  background-color: #efefef;
  padding: 80px;
}

@media screen and (max-width: 799px) {
  footer {
    width: 100%;
    padding: 20px;
  }
}

.inner {
  max-width: 1170px;
  width: 1170px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 1170px) {
  .inner {
    width: 100%;
    max-width: 100%;
  }
}

/*背景・パララックス・遅延表示用
---------------------------------------------------------------*/
[data-parab] {
  overflow: hidden;
}

[data-parab]::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  background-size: cover;
  background-attachment: fixed;
}

.bgfixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff no-repeat center 0px;
  background-size: auto 100vh;
  z-index: -9;
}

[data-parab] .inner {
  z-index: 10;
  position: relative;
}

@media screen and (max-width: 799px) {
  [data-parab]::after {
    position: fixed;
    z-index: -10;
    background-attachment: unset;
  }
  .bgfixed {
    display: block;
  }
  article > *:not([data-parab]) {
    background-color: #FFF;
  }
}

.bg01 {
  background-image: url(../images/bg/01.jpg);
  background-size: cover;
}

[data-parab=bg01]::after {
  background-image: url(../images/bg/01.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg01] [data-parab=bg01]::after {
    z-index: -4;
  }
}

.bg02 {
  background-image: url(../images/bg/02.jpg);
  background-size: cover;
}

[data-parab=bg02]::after {
  background-image: url(../images/bg/02.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg02] [data-parab=bg02]::after {
    z-index: -4;
  }
}

.bg03 {
  background-image: url(../images/bg/03.jpg);
  background-size: cover;
}

[data-parab=bg03]::after {
  background-image: url(../images/bg/03.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg03] [data-parab=bg03]::after {
    z-index: -4;
  }
}

.bg04 {
  background-image: url(../images/bg/04.jpg);
  background-size: cover;
}

[data-parab=bg04]::after {
  background-image: url(../images/bg/04.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg04] [data-parab=bg04]::after {
    z-index: -4;
  }
}

.bg05 {
  background-image: url(../images/bg/05.jpg);
  background-size: cover;
}

[data-parab=bg05]::after {
  background-image: url(../images/bg/05.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg05] [data-parab=bg05]::after {
    z-index: -4;
  }
}

.bg06 {
  background-image: url(../images/bg/06.jpg);
  background-size: cover;
}

[data-parab=bg06]::after {
  background-image: url(../images/bg/06.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg06] [data-parab=bg06]::after {
    z-index: -4;
  }
}

.bg07 {
  background-image: url(../images/bg/07.jpg);
  background-size: cover;
}

[data-parab=bg07]::after {
  background-image: url(../images/bg/07.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg07] [data-parab=bg07]::after {
    z-index: -4;
  }
}

.bg08 {
  background-image: url(../images/bg/08.jpg);
  background-size: cover;
}

[data-parab=bg08]::after {
  background-image: url(../images/bg/08.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg08] [data-parab=bg08]::after {
    z-index: -4;
  }
}

.bg09 {
  background-image: url(../images/bg/09.jpg);
  background-size: cover;
}

[data-parab=bg09]::after {
  background-image: url(../images/bg/09.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg09] [data-parab=bg09]::after {
    z-index: -4;
  }
}

.bg10 {
  background-image: url(../images/bg/10.jpg);
  background-size: cover;
}

[data-parab=bg10]::after {
  background-image: url(../images/bg/10.jpg);
}

@media screen and (max-width: 799px) {
  [data-parabody=bg10] [data-parab=bg10]::after {
    z-index: -4;
  }
}

[data-paraf] {
  position: absolute;
  width: 300px;
  height: 300px;
  z-index: -1;
  opacity: 0.3;
  top: 0;
  background: transparent no-repeat center center;
  background-size: contain;
}

.paraf01 {
  right: 0;
  top: 30%;
  background-image: url(../images/paraf/01.png);
}

.paraf02 {
  right: 30%;
  top: 30%;
  background-image: url(../images/paraf/02.png);
}

.paraf03 {
  left: 5%;
  top: 10%;
  background-image: url(../images/paraf/02.png);
}

/* para関係 */
.overw {
  position: relative;
  width: 100vw;
  max-width: 100vw;
}

@media only screen and (max-width: 799px) {
  .overw {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
}

.-img {
  position: absolute;
  width: 100px;
  height: 100px;
  z-index: 1;
  opacity: .5;
  top: 0;
  background: transparent no-repeat center center;
  background-size: contain;
}

.parab {
  position: relative;
  overflow: hidden;
}

.parab::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
}

.parab-bg1 {
  padding: 200px 0 200px 0;
  height: 60vh;
}

.parab-bg1::after {
  background-image: url(../images/bg/01.jpg);
}

.parab-bg2 {
  height: 30vh;
}

.parab-bg2::after {
  background-image: url(../images/bg/01.jpg);
}

@media only screen and (max-width: 799px) {
  .parab::after {
    position: fixed;
    z-index: -10;
    background-attachment: unset;
  }
  .bgfixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: #fff no-repeat center 0px;
    background-size: auto 100vh;
    z-index: -9;
  }
  [data-bdfpara="bg1"] .parab-bg1::after {
    z-index: -4;
  }
  [data-bdfpara="bg2"] .parab-bg2::after {
    z-index: -4;
  }
}

.bgs {
  position: relative;
}

.ahi {
  right: 0;
  top: 50%;
  background-image: url(ahi.jpg);
  background-position: 100px center;
  overflow: hidden;
}

.ahi.v {
  right: 20%;
  top: -100px;
  background-position: center 100px;
  opacity: 1;
}

.ahi.in {
  -webkit-transition: background-position 1s;
  transition: background-position 1s;
  background-position: center center;
}

.panda {
  right: 25%;
  top: 50%;
  background-image: url(0panda.jpg);
}

.kaa {
  left: 10%;
  top: 80%;
  background-image: url(kaa.jpg);
}

.parafront {
  position: absolute;
  z-index: 90;
}

@media screen and (max-width: 499px) {
  .bg01 {
    background-image: url(../images/bg/s01.jpg);
  }
  [data-parab=bg01]::after {
    background-image: url(../images/bg/s01.jpg);
  }
}

/*イメージ配置
-----------------------------*/
img.fit {
  width: 100%;
}

/*全幅で配置*/
.wMax {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.wWide {
  width: 90%;
  margin: 0 auto;
}

/*フィット余白なし*/
.imgFit {
  width: 100%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.imgFit img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.imgFit.imgSet2 > div {
  width: calc(100% /2);
}

.imgFit.imgSet3 > div {
  width: calc(100% /3);
}

.imgFit.imgSet4 > * {
  width: calc(100% /4);
}

@media screen and (max-width: 499px) {
  .imgFit.imgSet4 > * {
    width: calc(100% /2);
  }
}

/*余白あり*/
.imgSpa {
  width: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.imgSpa .set img {
  width: 100%;
  height: auto;
}

.imgSpa.imgSet2 > .set {
  width: 49%;
}

.imgSpa.imgSet3 > .set {
  width: 32%;
}

.imgSpa.imgSet4 > .set {
  width: 24%;
}

/*イメージ装飾 余白ありの配置のみ使用可
-----------------------------*/
.imgCircle {
  border-radius: 50%;
}

/*丸にトリミング-画像正方形のみで使用可*/
.imgRadius {
  border-radius: 10px;
}

/*角丸*/
.imgPhoto {
  border: 6px solid #FFF;
}

/*枠線*/
/*影をつける*/
.shade1 {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/*正面*/
.shade2 {
  -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}

/*右下*/
.shade4 {
  -webkit-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
}

/*カラム
---------------------------------------------------------------*/
.layout2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (max-width: 1170px) {
  .layout2 {
    width: 95%;
    margin: 0 auto;
  }
}

.layout2 > * {
  width: 49%;
}

@media screen and (max-width: 799px) {
  .layout2 > * {
    display: block;
    width: 100%;
  }
}

.layout2 > div.txtSet {
  width: calc(100% - 35% - 50px);
}

@media screen and (max-width: 499px) {
  .layout2 > div.txtSet {
    width: 100%;
  }
}

.layout2 > div.imgSet {
  width: 35%;
}

@media screen and (max-width: 499px) {
  .layout2 > div.imgSet {
    width: 100%;
  }
}

.layout2 > div.imgSet img {
  width: 100%;
}

@media screen and (max-width: 499px) {
  .layout2 {
    display: block;
  }
  .layout2 > div {
    width: 100%;
  }
}

/*フロート
-----------------------------*/
.fLeft {
  float: left;
}

@media screen and (max-width: 499px) {
  .fLeft {
    float: none;
  }
}

.fRight {
  float: right;
}

@media screen and (max-width: 499px) {
  .fRight {
    float: none;
  }
}

/*リストスタイル
-----------------------------*/
ul,
ol,
dl,
table {
  margin: 0;
}

ul li,
ol li {
  line-height: 1.5;
  margin: 0 0 1rem 0;
}

ul li:last-child,
ol li:last-child {
  margin-bottom: 0;
}

ul.liDisc li,
ul.liCircle li,
ul.liCheckof li,
ul.liCheckon li,
ol.liDecimal li,
ol.liRoman li {
  margin-left: 2rem;
}

ul.liDisc li {
  list-style-type: disc;
}

ul.liCircle li {
  list-style-type: circle;
}

ul.liCheckof li,
ul.liCheckon li {
  position: relative;
}

ul.liCheckof li:before {
  content: "\002610";
  position: absolute;
  top: 0;
  left: -2rem;
  margin-right: 8px;
}

ul.liCheckon li:before {
  content: "\002611";
  position: absolute;
  top: 0;
  left: -2rem;
  margin-right: 8px;
}

ol.liDecimal li {
  list-style-type: decimal;
}

ol.liRoman li {
  list-style-type: upper-roman;
}

/*定義リスト
-----------------------------*/
dt {
  font-weight: bold;
  margin-top: 1rem;
}

dl.dlStyle1 dd {
  margin-top: 1rem;
  padding-left: 1.5rem;
  border-left-width: 1px;
  border-style: solid;
}

dl.dlStyle2,
dl.dlStyle3,
dl.dlStyle4 {
  position: relative;
}

dl.dlStyle2 dt,
dl.dlStyle3 dt {
  margin-top: 0;
  font-weight: bold;
  width: 20%;
  position: absolute;
  left: 0;
  padding-bottom: 1rem;
}

dl.dlStyle2 dd,
dl.dlStyle3 dd {
  padding-left: 25%;
  border-bottom-width: 1px;
  padding-bottom: 1rem;
}

dl.dlStyle2 dd,
dl {
  border-style: dotted;
}

dl.dlStyle3 dd,
dl {
  border-style: solid;
}

/*テーブル
-----------------------------*/
table.equally {
  table-layout: fixed;
}

table.noequally tbody th {
  width: 25%;
  text-align: left;
}

table.tbStyle1 th,
table.tbStyle1 td {
  border-style: solid;
  border-width: 1px;
}

table.tbStyle2 {
  width: 100%;
}

table.tbStyle2 tr {
  border-bottom: 1px dotted #cccccc;
}

table.tbStyle2 tr:last-child {
  border-bottom: 0px;
}

table.tbStyle2 th {
  border-right: 1px dotted #cccccc;
}

table.tbStyle2 th {
  border-right: 1px dotted #cccccc;
}

/*BOX処理
-----------------------------*/
[class^="styleBox"] {
  padding: 15px;
}

.styleBox1 {
  border: none;
}

.styleBox2 {
  border-style: solid;
  border-width: 1px;
}

.styleBox3 {
  border-style: solid;
  border-width: 2px;
}

.styleBox4 {
  border-style: dotted;
  border-width: 1px;
}

.styleBox5 {
  border-style: dotted;
  border-width: 2px;
}

.styleBox6 {
  border-style: double;
  border-width: 3px;
}

.radius {
  border-radius: 10px;
}

/*角丸*/
/*フェードイン処理
---------------------------------------------------------------*/
.fadein {
  opacity: 0.1;
  -webkit-transform: translate(0, 80px);
          transform: translate(0, 80px);
  -webkit-transition: all 800ms;
  transition: all 800ms;
}

.fadein.on {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* 2つ目以降の要素に200msのdelayをかける */
.fadeSet .fadein:nth-of-type(2) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.fadeSet .fadein:nth-of-type(3) {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}

.fadeSet .fadein:nth-of-type(4) {
  -webkit-transition-delay: 600ms;
          transition-delay: 600ms;
}

.fadeSet .fadein:nth-of-type(5) {
  -webkit-transition-delay: 800ms;
          transition-delay: 800ms;
}

.fadeSet .fadein:nth-of-type(6) {
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
}

/*画像のスライドイン
---------------------------------------------------------------*/
@-webkit-keyframes slideInL {
  from {
    position: absolute;
    left: -100vw;
    opacity: 0;
  }
  to {
    position: relative;
    left: 0;
    opacity: 1;
  }
}
@keyframes slideInL {
  from {
    position: absolute;
    left: -100vw;
    opacity: 0;
  }
  to {
    position: relative;
    left: 0;
    opacity: 1;
  }
}

@-webkit-keyframes slideInR {
  0% {
    position: absolute;
    right: -100vw;
    opacity: 0;
  }
  100% {
    position: relative;
    right: 0;
    opacity: 1;
  }
}

@keyframes slideInR {
  0% {
    position: absolute;
    right: -100vw;
    opacity: 0;
  }
  100% {
    position: relative;
    right: 0;
    opacity: 1;
  }
}

@keyframes slideInL {
  from {
    position: absolute;
    left: -100vw;
    opacity: 0;
  }
  to {
    position: relative;
    left: 0;
    opacity: 1;
  }
}

.slider {
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  overflow: hidden;
  opacity: 0;
}

.slider.on img {
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  width: 100%;
}

.slideinL.on {
  -webkit-animation-name: slideInL;
          animation-name: slideInL;
}

.slider.on {
  -webkit-animation-name: slideInR;
          animation-name: slideInR;
}

.slideinT {
  opacity: 1;
  -webkit-transform: translate(0, 300px);
          transform: translate(0, 300px);
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

@media screen and (max-width: 499px) {
  .slideinT {
    -webkit-transform: translate(0, 100px);
            transform: translate(0, 100px);
  }
}

.slideinT.on {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slideinB {
  opacity: 1;
  -webkit-transform: translate(0, 200px);
          transform: translate(0, 200px);
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

@media screen and (max-width: 499px) {
  .slideinB {
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }
}

.slideinB.on {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/*画像のスライドイン
---------------------------------------------------------------*/
@keyframes slideInR {
  from {
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
    opacity: 0;
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInL {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes imgMaskL {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@keyframes imgMaskL {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@-webkit-keyframes imgMaskR {
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes imgMaskR {
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.slideinL,
.slideinR {
  opacity: 0;
}

.slideinL.scrollin,
.slideinR.scrollin {
  opacity: 1;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

.slideinL.scrollin img,
.slideinR.scrollin img {
  width: 100%;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

.slideinL.scrollin {
  -webkit-animation-name: slideInL;
  animation-name: slideInL;
}

.slideinR.scrollin {
  -webkit-animation-name: slideInR;
  animation-name: slideInR;
}

.maskL,
.maskR {
  overflow: hidden;
  position: relative;
}

.maskL img,
.maskR img {
  width: 100%;
}

.maskL.on,
.maskR.on {
  display: block;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
}

.maskL:before,
.maskR:before {
  background: #FFF;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.maskL.on:before {
  -webkit-animation: imgMaskL 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation: imgMaskL 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.maskR.on:before {
  -webkit-animation: imgMaskR 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation: imgMaskR 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/*ランディング
---------------------------------------------------------------*/
h2 {
  font-size: 2.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 499px) {
  h2 {
    font-size: 1.8rem;
  }
}

h2 span,
h3 span {
  display: block;
}

.overw {
  margin: 0;
}

@media screen and (max-width: 799px) {
  .layout2 .img {
    text-align: center;
    width: 100%;
    margin: 0 auto;
  }
}

.visual {
  height: 700px;
  display: block;
  margin: 0 auto;
  background-image: url(../images/bg/01.jpg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: top;
  position: relative;
}

@media screen and (max-width: 799px) {
  .visual {
    background-image: url(../images/bg/01.jpg);
  }
}

@media screen and (max-width: 499px) {
  .visual {
    height: auto;
    background-image: url();
  }
}

.visual .forSmt img {
  width: 100%;
}

.visual .catch {
  position: absolute;
  left: auto;
  right: 100px;
  top: 70px;
  bottom: auto;
  margin: auto;
  width: 45%;
  height: auto;
}

@media screen and (max-width: 799px) {
  .visual .catch {
    width: 100%;
    margin: auto;
    height: 200px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .visual .catch img {
    width: 100%;
  }
}

@media screen and (max-width: 799px) {
  .visual h1 img {
    width: 50%;
    margin: 50px 5% 20px 5%;
    height: auto;
  }
}

@media screen and (max-width: 499px) {
  .visual h1 img {
    width: 100%;
    margin: 0;
    height: auto;
  }
}

.theme, .solution {
  padding: 80px;
}

@media screen and (max-width: 499px) {
  .theme, .solution {
    padding: 20px 10px;
  }
}

.theme .ttl, .solution .ttl {
  width: 450px;
  text-align: center;
}

@media screen and (max-width: 499px) {
  .theme .ttl, .solution .ttl {
    width: 100%;
  }
}

.theme .ttl .ettl, .solution .ttl .ettl {
  width: 300px;
  margin: 0 auto 50px auto;
}

@media screen and (max-width: 499px) {
  .theme .ttl .ettl, .solution .ttl .ettl {
    width: 60%;
    margin: 0 auto 20px auto;
  }
}

.theme .txt, .solution .txt {
  width: calc(100% - 500px);
}

@media screen and (max-width: 499px) {
  .theme .txt, .solution .txt {
    width: 100%;
  }
}

.theme .txt ul, .solution .txt ul {
  margin: 1em 0;
}

.theme .txt ul i, .solution .txt ul i {
  margin-right: 0.5em;
}

.theme p strong, .solution p strong {
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 499px) {
  .theme p strong, .solution p strong {
    font-size: 1.2rem;
  }
}

.theme ol, .solution ol {
  margin: 1em 0;
}

.theme ol li, .solution ol li {
  font-size: 1.2rem;
  font-weight: bold;
}

.point {
  margin: 80px auto;
  position: relative;
}

.point .pointSet {
  position: relative;
  width: 100%;
  height: 480px;
  margin-bottom: 80px;
}

.point .pointSet .txt {
  position: absolute;
  width: 850px;
  height: 400px;
  background: rgba(216, 212, 199, 0.3);
}

@media screen and (max-width: 499px) {
  .point .pointSet .txt {
    position: static;
    width: 100%;
    height: auto;
  }
}

.point .pointSet .txt.set1, .point .pointSet .txt.set3 {
  left: auto;
  right: 0;
  top: auto;
  bottom: 0;
  padding: 50px 50px 50px 200px;
}

@media screen and (max-width: 499px) {
  .point .pointSet .txt.set1, .point .pointSet .txt.set3 {
    padding: 10px;
  }
}

.point .pointSet .txt.set2 {
  left: 0;
  right: auto;
  top: auto;
  bottom: 0;
  padding: 50px 200px 50px 50px;
}

@media screen and (max-width: 499px) {
  .point .pointSet .txt.set2 {
    padding: 10px;
  }
}

.point .pointSet .txt h2 {
  font-size: 2.2rem;
}

@media screen and (max-width: 499px) {
  .point .pointSet .txt h2 {
    font-size: 1.5rem;
  }
}

.point .pointSet .txt h2 span {
  color: #93c453;
  font-size: 3.5rem;
  line-height: 1;
  font-style: italic;
  font-weight: normal;
}

@media screen and (max-width: 499px) {
  .point .pointSet .txt h2 span {
    font-size: 2.5rem;
  }
}

.point .pointSet .txt p {
  margin-top: 1em;
}

.point .pointSet .img {
  position: absolute;
  width: 450px;
  height: 300px;
}

@media screen and (max-width: 499px) {
  .point .pointSet .img {
    position: static;
    width: 100%;
    height: auto;
  }
}

.point .pointSet .img.set1, .point .pointSet .img.set3 {
  left: 0;
  right: auto;
  top: 0;
  bottom: auto;
}

.point .pointSet .img.set2 {
  left: auto;
  right: 0;
  top: 0;
  bottom: auto;
}

.point .pointSet .img img {
  width: 100%;
}

.point .pointSet.bg1 {
  background: url(../images/top/point_bg1.png) no-repeat;
  background-position: left 250px bottom 15px;
}

.point .pointSet.bg2 {
  background: url(../images/top/point_bg2.png) no-repeat;
  background-position: right 250px bottom 15px;
}

.point .pointSet.bg3 {
  background: url(../images/top/point_bg3.png) no-repeat;
  background-position: left 250px bottom 15px;
}

@media screen and (max-width: 799px) {
  .point {
    margin: 30px auto;
  }
}

.point h2 {
  font-size: 2.0rem;
  height: 80px;
  line-height: 80px;
  display: inline-block;
}

@media screen and (max-width: 799px) {
  .point h2 {
    width: 95%;
    height: auto;
    display: block;
    margin: 0 auto;
    background-color: transparent;
  }
}

@media screen and (max-width: 799px) {
  .point h2 {
    line-height: 1.4;
  }
}

.point .layout2 .txt {
  width: calc(100% - 410px);
}

@media screen and (max-width: 799px) {
  .point .layout2 .txt {
    width: 100%;
  }
}

.point .layout2 .txt p {
  padding: 50px 0;
}

.point .layout2 .img {
  max-width: 385px;
}

.uses {
  margin: 10em auto;
}

.uses .fRight {
  width: 450px;
}

@media screen and (max-width: 499px) {
  .uses .fRight {
    width: 100%;
  }
}

.uses .fLeft {
  width: calc(100% - 500px);
}

@media screen and (max-width: 499px) {
  .uses .fLeft {
    width: 100%;
  }
}

@media screen and (max-width: 499px) {
  .uses {
    margin: 3em auto;
    padding: 10px;
  }
}

.uses .ettl {
  width: 300px;
  margin: 0 auto 50px auto;
}

@media screen and (max-width: 499px) {
  .uses .ettl {
    width: 60%;
    margin: 0 auto 20px auto;
  }
}

.uses h2 {
  text-align: center;
}

.verification, .voice {
  position: relative;
}

.verification h2, .voice h2 {
  font-size: 1.8rem;
  height: 50px;
  line-height: 50px;
  padding: 0 50px;
  background-color: #aba486;
  display: inline-block;
  color: #FFF;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 499px) {
  .verification h2, .voice h2 {
    display: block;
    font-size: 1.2rem;
    text-align: center;
    padding: 0 10px;
  }
}

.verification .aniLine, .voice .aniLine {
  width: 10%;
  height: 2px;
  position: absolute;
  top: 20px;
  height: 2px;
  background-color: #aba486;
  z-index: -1;
  -webkit-transition: all 3s ease;
  transition: all 3s ease;
}

.verification .aniLine.on, .voice .aniLine.on {
  width: 100%;
}

@media screen and (max-width: 499px) {
  .verification .layout2 > div, .voice .layout2 > div {
    margin-bottom: 15px;
  }
}

.verification h3, .voice h3 {
  font-size: 1.8rem;
  border-bottom: 2px solid black;
  margin-bottom: 1em;
}

@media screen and (max-width: 499px) {
  .verification h3, .voice h3 {
    font-size: 1.4rem;
  }
}

.verification table, .voice table {
  width: 100%;
}

.verification table th.head, .voice table th.head {
  background: #93c453;
  text-align: center;
  padding: 5px 0;
  color: white;
}

.verification table th.body, .voice table th.body {
  background: #efefef;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  padding: 15px;
}

.verification table td.body, .voice table td.body {
  background: #FFF;
  padding: 50px auto;
  font-size: 3rem;
  font-weight: bold;
  padding: 15px 20px;
  text-align: center;
}

.verification table td.body span, .voice table td.body span {
  font-size: 0.8rem;
  display: block;
  font-weight: normal;
  text-align: left;
}

.verification table b, .voice table b {
  color: #c46b6b;
}

.verification ul, .voice ul {
  margin-top: 1em;
}

.verification strong, .voice strong {
  font-size: 1.2rem;
  font-weight: bold;
}

.verification strong.red, .voice strong.red {
  color: #c46b6b;
}

.verification i, .voice i {
  color: #36a5b7;
  margin-right: 10px;
}

.verification .merit, .voice .merit {
  position: relative;
}

.verification .merit h3, .voice .merit h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  text-align: center;
  width: 200px;
  display: inline-block;
  margin: 0 auto;
  border: 1px solid #ccc;
  background-color: #EFEFEF;
}

/*SALON*/
.salon {
  margin-top: 4em;
}

.salon .obi {
  background: black;
  color: white;
  text-align: center;
  font-size: 2rem;
  padding: 15px 0;
  margin-bottom: 1em;
}

@media screen and (max-width: 499px) {
  .salon .obi {
    font-size: 1.2rem;
  }
}

.salon li {
  border-bottom: 1px dashed #ccc;
  padding-bottom: 12px;
  margin-bottom: 12px;
  line-height: 1.8;
}

.salon li.ttl {
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 499px) {
  .salon li.ttl {
    font-size: 1.4rem;
  }
}

.salon li dl {
  margin: 0;
}

.salon li dt,
.salon li dd {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: normal;
  line-height: 1.8;
}

.salon li dt {
  width: 25%;
}

.btn {
  width: 45%;
  margin: 80px auto;
  padding: 15px 0;
  background: red;
  background-size: 600% 600%;
  background-position: 0% 50%;
  -webkit-transition: all 2s;
  transition: all 2s;
  border-radius: 5px;
}

@media screen and (max-width: 499px) {
  .btn {
    margin: 30px auto;
  }
}

.btn.on {
  background-position: 100% 50%;
}

.btn.green {
  background-color: #00b900;
}

.btn.green a span {
  background: url(../images/top/icon_line.png) no-repeat left center;
  padding-left: 58px;
  display: inline-block;
}

.btn p {
  text-align: center;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.btn p a {
  font-size: 2.4rem;
  color: white;
  text-decoration: none;
  font-weight: bold;
  line-height: 50px;
  display: block;
}

@media screen and (max-width: 499px) {
  .btn p a {
    font-size: 1.5rem;
    line-height: 50px;
  }
}

.voice {
  padding: 15px;
  background-color: rgba(216, 212, 199, 0.3);
  margin-top: 5em;
}

.voice .balloon-l, .voice .balloon-r {
  position: relative;
  background-color: #fff6fd;
  padding: 20px;
  color: #333;
  margin: 15px;
  border-radius: 10px;
}

.voice .balloon-l::before {
  content: "";
  position: absolute;
  border: 12px solid transparent;
  border-right: 12px solid #fff6fd;
  top: 20%;
  left: -24px;
}

.voice .balloon-r::before {
  content: "";
  position: absolute;
  border: 12px solid transparent;
  border-left: 12px solid #fff6fd;
  top: 20%;
  left: 100%;
}

.voice .balloon-l p, .voice .balloon-r p {
  margin: 0;
  padding: 0;
}

.init h2 {
  text-align: center;
  margin: 2em 0;
}

.init h2::after {
  content: "";
  display: block;
  width: 100px;
  height: 5px;
  border-bottom: 5px solid #93c453;
  margin: 0.5em auto 0 auto;
}

.init ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.init ul li {
  width: 23%;
}

@media screen and (max-width: 499px) {
  .init ul li {
    width: 48%;
  }
}

.init ul li img {
  width: 100%;
}

.entry {
  margin-top: 80px;
}

@media screen and (max-width: 499px) {
  .entry {
    padding: 10px;
  }
}

.entry h2 {
  font-size: 3.2rem;
}

@media screen and (max-width: 499px) {
  .entry h2 {
    font-size: 2rem;
  }
}

.entry h3 {
  font-size: 2.8rem;
}

@media screen and (max-width: 499px) {
  .entry h3 {
    font-size: 1.2rem;
  }
}

.entry .layout2 > div {
  margin-top: 15px;
  width: 47%;
}

@media screen and (max-width: 499px) {
  .entry .layout2 > div {
    width: 100%;
  }
}

.entry dl dt {
  font-size: 2.2rem;
  font-weight: bold;
  background: #93c453;
  color: white;
  padding-left: 0.5em;
  letter-spacing: -0.04em;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "游明朝", "游明朝体", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@media screen and (max-width: 499px) {
  .entry dl dt {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 499px) {
  .entry dl dd {
    font-size: 0.8rem;
  }
}

.entry .price {
  font-size: 2.3rem;
  line-height: 1.5;
  padding: 15px;
  margin: 15px 0 15px 0;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  font-weight: bold;
}

@media screen and (max-width: 499px) {
  .entry .price {
    font-size: 1.5rem;
    padding: 15px 0;
  }
}

.entry .price b {
  color: #c46b6b;
}

.entry .price span.b {
  display: block;
}

.entry .price span {
  font-size: 1.8rem;
  font-weight: normal;
  margin-right: 30px;
}

@media screen and (max-width: 499px) {
  .entry .price span {
    font-size: 1rem;
  }
}

@media screen and (max-width: 499px) {
  .entry p img {
    width: 100%;
  }
}

.entry .obi {
  background: black;
  color: white;
  text-align: center;
  font-size: 2.2rem;
  padding: 20px 0;
}

@media screen and (max-width: 499px) {
  .entry .obi {
    font-size: 1.2rem;
  }
}

.entry .obi span {
  display: block;
}

/***************************************************
 * Generated by SVG Artista on 12/27/2020, 4:18:06 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 525.2589721679688px;
    stroke-dasharray: 525.2589721679688px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 525.2589721679688px;
    stroke-dasharray: 525.2589721679688px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
  animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 396.9262390136719px;
    stroke-dasharray: 396.9262390136719px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 396.9262390136719px;
    stroke-dasharray: 396.9262390136719px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
  animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
}

@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 352.3751525878906px;
    stroke-dasharray: 352.3751525878906px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 352.3751525878906px;
    stroke-dasharray: 352.3751525878906px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
  animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
}

@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 575.107421875px;
    stroke-dasharray: 575.107421875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 575.107421875px;
    stroke-dasharray: 575.107421875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
  animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
}

@-webkit-keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 403.0032653808594px;
    stroke-dasharray: 403.0032653808594px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 403.0032653808594px;
    stroke-dasharray: 403.0032653808594px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
  animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
}

@-webkit-keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 543.4352416992188px;
    stroke-dasharray: 543.4352416992188px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 543.4352416992188px;
    stroke-dasharray: 543.4352416992188px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
  animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
}

@-webkit-keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 1083.199951171875px;
    stroke-dasharray: 1083.199951171875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 1083.199951171875px;
    stroke-dasharray: 1083.199951171875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
  animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
}

@-webkit-keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 1365.132080078125px;
    stroke-dasharray: 1365.132080078125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 1365.132080078125px;
    stroke-dasharray: 1365.132080078125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
  animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}

@-webkit-keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 268.4000549316406px;
    stroke-dasharray: 268.4000549316406px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 268.4000549316406px;
    stroke-dasharray: 268.4000549316406px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both, animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
  animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both, animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
}

@-webkit-keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 206.9461669921875px;
    stroke-dasharray: 206.9461669921875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 206.9461669921875px;
    stroke-dasharray: 206.9461669921875px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both, animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
  animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both, animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
}

@-webkit-keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 148.77415466308594px;
    stroke-dasharray: 148.77415466308594px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 148.77415466308594px;
    stroke-dasharray: 148.77415466308594px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-11 {
  -webkit-animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both, animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
  animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both, animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}

@-webkit-keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 256.1089782714844px;
    stroke-dasharray: 256.1089782714844px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 256.1089782714844px;
    stroke-dasharray: 256.1089782714844px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-12 {
  -webkit-animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.32s both, animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
  animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.32s both, animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
}

@-webkit-keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 212.2774200439453px;
    stroke-dasharray: 212.2774200439453px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 212.2774200439453px;
    stroke-dasharray: 212.2774200439453px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-13 {
  -webkit-animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both, animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
  animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.44s both, animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
}

@-webkit-keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 159.65798950195312px;
    stroke-dasharray: 159.65798950195312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 159.65798950195312px;
    stroke-dasharray: 159.65798950195312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-14 {
  -webkit-animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both, animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
  animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.56s both, animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
}

@-webkit-keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 226.27720642089844px;
    stroke-dasharray: 226.27720642089844px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 226.27720642089844px;
    stroke-dasharray: 226.27720642089844px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-15 {
  -webkit-animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both, animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
  animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.68s both, animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
}

@-webkit-keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 148.77435302734375px;
    stroke-dasharray: 148.77435302734375px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 148.77435302734375px;
    stroke-dasharray: 148.77435302734375px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-16 {
  -webkit-animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both, animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
  animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both, animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
}

@-webkit-keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 258.4070739746094px;
    stroke-dasharray: 258.4070739746094px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 258.4070739746094px;
    stroke-dasharray: 258.4070739746094px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-17 {
  -webkit-animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both, animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
  animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 1.92s both, animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
}

@-webkit-keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 143.4318084716797px;
    stroke-dasharray: 143.4318084716797px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 143.4318084716797px;
    stroke-dasharray: 143.4318084716797px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-18 {
  -webkit-animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both, animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
  animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.04s both, animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
}

@-webkit-keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 181.4712371826172px;
    stroke-dasharray: 181.4712371826172px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 181.4712371826172px;
    stroke-dasharray: 181.4712371826172px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-19 {
  -webkit-animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both, animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
  animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.16s both, animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
}

@-webkit-keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 95.53900146484375px;
    stroke-dasharray: 95.53900146484375px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 95.53900146484375px;
    stroke-dasharray: 95.53900146484375px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-20 {
  -webkit-animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both, animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
  animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.28s both, animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
}

@-webkit-keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 143.43191528320312px;
    stroke-dasharray: 143.43191528320312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 143.43191528320312px;
    stroke-dasharray: 143.43191528320312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-21 {
  -webkit-animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both, animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
  animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both, animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
}

@-webkit-keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 167.33721923828125px;
    stroke-dasharray: 167.33721923828125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 167.33721923828125px;
    stroke-dasharray: 167.33721923828125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-22 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-22 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-22 {
  -webkit-animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both, animate-svg-fill-22 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s both;
  animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.52s both, animate-svg-fill-22 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s both;
}

@-webkit-keyframes animate-svg-stroke-23 {
  0% {
    stroke-dashoffset: 148.77468872070312px;
    stroke-dasharray: 148.77468872070312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-23 {
  0% {
    stroke-dashoffset: 148.77468872070312px;
    stroke-dasharray: 148.77468872070312px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-23 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-23 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-23 {
  -webkit-animation: animate-svg-stroke-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.64s both, animate-svg-fill-23 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
  animation: animate-svg-stroke-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.64s both, animate-svg-fill-23 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s both;
}

@-webkit-keyframes animate-svg-stroke-24 {
  0% {
    stroke-dashoffset: 143.43194580078125px;
    stroke-dasharray: 143.43194580078125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes animate-svg-stroke-24 {
  0% {
    stroke-dashoffset: 143.43194580078125px;
    stroke-dasharray: 143.43194580078125px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes animate-svg-fill-24 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-24 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-24 {
  -webkit-animation: animate-svg-stroke-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.76s both, animate-svg-fill-24 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
  animation: animate-svg-stroke-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 2.76s both, animate-svg-fill-24 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both;
}
/*# sourceMappingURL=style.css.map */