@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

:root {
  --c01: #00865b;
  --c02: #524e4f;
  --bg01: #fff;
  --z-main-frame: 101;
  --z-header: 102;
  --transition-base: 0.5s;
  --hover-opacity: 0.7;
  --default-font-size: 1rem; /* 16px */
  --sp-font-size: 1rem; /* 14px */
  --default-line-height: 1.75;
  --contents-padding: 1.875rem;
  --contents-padding-sp: 0.9375rem;
}

html {
  font-size: 16px;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, dl, table {
  margin: 0;
}

body {
  background-color: #fff;
  line-height: 1.75;
  color: #00865b;
  font-family: "MFW-PA1GothicStd-Medium" , "ヒラギノ角ゴシック Pro" , "Hiragino Kaku Gothic Pro" , メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: inherit;
  text-decoration: none;
}
a:active {
  color: inherit;
  text-decoration: none;
}
a:visited {
  color: inherit;
  text-decoration: none;
}

b, strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: top;
}

iframe {
  border-style: none;
}

img {
  border-style: none;
  max-width: 100%;
  height: auto;
}

ol, ul {
  list-style: none;
  padding: 0;
}

dd {
  margin-left: 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

:root {
  --color-text: #fff;
}

.wrapper {
  overflow: hidden;
}

.main__frame {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-main-frame);
  width: 100%;
  height: 100vh;
  pointer-events: none;
}
@media (max-width: 47.9375rem) {
  .main {
    padding-bottom: 15.625rem;
  }
  .main__frame {
    border: 0.625rem solid var(--c01);
  }
}
@media (min-width: 48rem) {
  .main {
    padding-bottom: 33.4375rem;
  }
  .main__frame {
    border: 1.375rem solid var(--c01);
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-header);
  width: 100%;
}
.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 47.9375rem) {
  .header {
    padding: 0.9375rem 1.25rem;
  }
}
@media (min-width: 48rem) {
  .header__container {
    padding-top: 2.625rem;
    padding-inline: 2.8125rem;
  }
}

@media (max-width: 47.9375rem) {
  .header-logo img {
    width: 3.125rem;
  }
}
@media (min-width: 48rem) {
  .header-logo img {
    width: 4.6875rem;
  }
}

.header-nav__corporate {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--c02);
  background-color: #fff;
  font-family: "MFW-PA1GothicStd-Regular" , "ヒラギノ角ゴシック Pro" , "Hiragino Kaku Gothic Pro" , メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  color: var(--c02) !important;
}
@media (max-width: 47.9375rem) {
  .header-nav {
    display: flex;
    column-gap: 0.625rem;
  }
  .header-nav__corporate {
    padding: 0.625rem;
    line-height: 1;
    font-size: 0.625rem;
  }
}
@media (min-width: 48rem) {
  .header-nav {
    display: flex;
    column-gap: 1rem;
  }
  .header-nav__corporate {
    width: 12.1875rem;
    height: 3.125rem;
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    transition: opacity var(--transition-base);
  }
  .header-nav__corporate:hover {
    opacity: 0.5;
  }
}

.footer {
  position: relative;
  z-index: 1;
  background-color: var(--c01);
}
@media (max-width: 47.9375rem) {
  .footer__container {
    padding: 1.25rem 1.25rem;
  }
  .footer__lower {
    margin-top: 2.5rem;
  }
}
@media (min-width: 48rem) {
  .footer {
    padding-block: 3.125rem;
  }
  .footer__container {
    padding-inline: 2.8125rem;
  }
  .footer__lower {
    display: flex;
    justify-content: space-between;
    margin-top: 7.1875rem;
  }
}

.footer-address {
  line-height: 1.65;
  color: #fff;
  letter-spacing: 0.1em;
}
@media (max-width: 47.9375rem) {
  .footer-address {
    font-size: 0.625rem;
  }
}
@media (min-width: 48rem) {
  .footer-address {
    font-size: 0.75rem;
  }
}

.footer-corporate {
  color: #fff !important;
  letter-spacing: 0.1em;
}
@media (max-width: 47.9375rem) {
  .footer-corporate {
    font-size: 0.625rem;
  }
}
@media (min-width: 48rem) {
  .footer-corporate {
    font-size: 0.75rem;
    transition: opacity var(--transition-base);
  }
  .footer-corporate:hover {
    opacity: 0.5;
  }
}

.footer-copyright {
  font-family: "MFW-PA1GothicStd-Regular" , "ヒラギノ角ゴシック Pro" , "Hiragino Kaku Gothic Pro" , メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  color: #fff;
  letter-spacing: 0.1em;
}
@media (max-width: 47.9375rem) {
  .footer-copyright {
    font-size: 0.625rem;
  }
}
@media (min-width: 48rem) {
  .footer-copyright {
    font-size: 0.75rem;
  }
}

.container {
  margin-inline: auto;
  width: 100%;
  max-width: 57.125rem;
}
@media (max-width: 47.9375rem) {
  .container {
    padding-inline: 1.5625rem;
  }
}
.list-sns {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
@media (max-width: 47.9375rem) {
  .list-sns {
    column-gap: 0.625rem;
  }
  .list-sns img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media (min-width: 48rem) {
  .list-sns {
    column-gap: 0.625rem;
  }
  .list-sns a {
    display: block;
    transition: opacity var(--transition-base);
  }
  .list-sns a:hover {
    opacity: 0.5;
  }
  .list-sns img {
    width: 1.9375rem;
    height: 1.9375rem;
  }
}

.home-main {
  position: relative;
}
.home-main__clip {
  position: absolute;
}
.home-main__clip img {
  width: 100%;
}
.home-main__clip.-clip01 {
  animation-delay: 2.4s;
}
.home-main__clip.-clip02 {
  animation-delay: 2.3s;
}
.home-main__clip.-clip03 {
  animation-delay: 2.2s;
}
.home-main__clip.-clip04 {
  animation-delay: 2.1s;
}
.home-main__clip.-clip05 {
  animation-delay: 2s;
}
.home-main__clip.-clip06 {
  animation-delay: 1.8s;
}
.home-main__clip.-clip07 {
  animation-delay: 1.6s;
}
.home-main__clip.-clip08 {
  animation-delay: 1.4s;
}
.home-main__clip.-clip09 {
  animation-delay: 1.2s;
}
.home-main__clip.-clip10 {
  animation-delay: 1s;
}
.home-main__clip.-clip11 {
  animation-delay: 0.6s;
}
.home-main__clip.-clip12 {
  animation-delay: 0.2s;
}
@media (max-width: 47.9375rem) {
  .home-main__clip.-clip01 {
    right: 88.0673499268%;
    bottom: 2.825rem;
    width: 3.7875rem;
  }
  .home-main__clip.-clip02 {
    right: 80.8199121523%;
    bottom: -2.325rem;
    width: 3.43125rem;
  }
  .home-main__clip.-clip03 {
    right: 72.3279648609%;
    bottom: 2.125rem;
    width: 4.51875rem;
  }
  .home-main__clip.-clip04 {
    right: 74.6705710102%;
    bottom: 6.625rem;
    width: 3.31875rem;
  }
  .home-main__clip.-clip05 {
    right: 61.859443631%;
    bottom: -0.075rem;
    width: 3.1125rem;
  }
  .home-main__clip.-clip06 {
    right: 55.3440702782%;
    bottom: 7.05rem;
    width: 4.0125rem;
  }
  .home-main__clip.-clip07 {
    right: 46.7057101025%;
    bottom: -0.325rem;
    width: 4.21875rem;
  }
  .home-main__clip.-clip08 {
    bottom: 4.5rem;
    left: 48.0234260615%;
    width: 2.71875rem;
  }
  .home-main__clip.-clip09 {
    bottom: -1.85rem;
    left: 57.3938506589%;
    width: 4.0125rem;
  }
  .home-main__clip.-clip10 {
    bottom: 6.225rem;
    left: 60.6149341142%;
    width: 4.125rem;
  }
  .home-main__clip.-clip11 {
    bottom: 8.025rem;
    left: 85.6515373353%;
    width: 2.94375rem;
  }
  .home-main__clip.-clip12 {
    bottom: 17.15rem;
    left: 88.7994143485%;
    width: 4.1625rem;
  }
}
@media (min-width: 48rem) {
  .home-main__clip.-clip01 {
    right: calc(50% + 32.5rem);
    bottom: 7.0625rem;
    width: 12.625rem;
  }
  .home-main__clip.-clip02 {
    right: calc(50% + 26.3125rem);
    bottom: -5.8125rem;
    width: 11.4375rem;
  }
  .home-main__clip.-clip03 {
    right: calc(50% + 19.0625rem);
    bottom: 5.3125rem;
    width: 15.0625rem;
  }
  .home-main__clip.-clip04 {
    right: calc(50% + 21.0625rem);
    bottom: 16.5625rem;
    width: 11.0625rem;
  }
  .home-main__clip.-clip05 {
    right: calc(50% + 10.125rem);
    bottom: -0.1875rem;
    width: 10.375rem;
  }
  .home-main__clip.-clip06 {
    right: calc(50% + 4.5625rem);
    bottom: 17.625rem;
    width: 13.375rem;
  }
  .home-main__clip.-clip07 {
    right: calc(50% - 2.8125rem);
    bottom: -0.8125rem;
    width: 14.0625rem;
  }
  .home-main__clip.-clip08 {
    bottom: 11.25rem;
    left: calc(50% - 1.6875rem);
    width: 9.0625rem;
  }
  .home-main__clip.-clip09 {
    bottom: -4.625rem;
    left: calc(50% + 6.3125rem);
    width: 13.375rem;
  }
  .home-main__clip.-clip10 {
    bottom: 15.5625rem;
    left: calc(50% + 9.0625rem);
    width: 13.75rem;
  }
  .home-main__clip.-clip11 {
    bottom: 20.0625rem;
    left: calc(50% + 30.4375rem);
    width: 9.8125rem;
  }
  .home-main__clip.-clip12 {
    bottom: 42.875rem;
    left: calc(50% + 33.125rem);
    width: 13.875rem;
  }
}

.home-kv {
  position: relative;
  height: 100vh;
}
.home-kv__heading {
  line-height: 1.3;
}
.home-kv__lead {
  line-height: 1.75;
}
.home-kv__date {
  display: inline-block;
  line-height: 1.3;
  border-bottom: 2px solid var(--c01);
}
@media (max-width: 47.9375rem) {
  .home-kv__container {
    padding-top: 70vh;
  }
  .home-kv__inner {
    text-align: center;
  }
  .home-kv__heading {
    font-size: 1.875rem;
  }
  .home-kv__lead {
    margin-top: 0.625rem;
    font-size: 1rem;
  }
  .home-kv__date {
    margin-top: 0.625rem;
    font-size: 1.5625rem;
  }
}
@media (min-width: 48rem) {
  .home-kv {
    min-height: 48rem;
  }
  .home-kv__container {
    display: flex;
    align-items: center;
    margin-left: 50%;
    padding-left: 11.7130307467vw;
    height: 100%;
  }
  .home-kv__heading {
    font-size: 3.513909224vw;
  }
  .home-kv__lead {
    margin-top: 1.25rem;
    font-size: 1.5rem;
  }
  .home-kv__date {
    margin-top: 3.125rem;
    font-size: 2.75rem;
  }
}
.home-kv__clip {
  position: absolute;
}
.home-kv__clip img {
  width: 100%;
}
.home-kv__clip.-clip01 {
  aspect-ratio: 383/357;
  animation-delay: 0.2s;
}
.home-kv__clip.-clip02 {
  aspect-ratio: 456/401;
  animation-delay: 0.1s;
}
.home-kv__clip.-clip03 {
  aspect-ratio: 335/404;
  animation-delay: 0s;
}
@media (max-width: 47.9375rem) {
  .home-kv__clip.-clip01 {
    top: 14.375rem;
    right: 55%;
    width: 12.5671875rem;
  }
  .home-kv__clip.-clip02 {
    top: 14.6875rem;
    left: 38%;
    width: 14.9625rem;
  }
  .home-kv__clip.-clip03 {
    top: 4.0625rem;
    left: 40%;
    width: 10.9921875rem;
  }
}
@media (min-width: 48rem) {
  .home-kv__clip.-clip01 {
    top: calc(50% - 2.7818448023vw);
    right: calc(50% + 24.3777452416vw);
    width: 28.0380673499vw;
  }
  .home-kv__clip.-clip02 {
    top: calc(50% - 2.7818448023vw);
    right: calc(50% - 5.4904831625vw);
    width: 33.3821376281vw;
  }
  .home-kv__clip.-clip03 {
    right: calc(50% - 1.0248901903vw);
    bottom: calc(50% - 1.6837481698vw);
    width: 24.5241581259vw;
  }
}

.home-intro {
  position: relative;
  text-align: center;
}
.home-intro__heading {
  position: relative;
}
.home-intro__heading-line {
  position: absolute;
}
.home-intro__body {
  color: var(--c02);
}
@media (max-width: 47.9375rem) {
  .home-intro {
    margin-top: 2.5rem;
  }
  .home-intro__heading {
    line-height: 1.5;
    font-size: 1.625rem;
  }
  .home-intro__heading-line {
    bottom: -3.125rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: auto;
  }
  .home-intro__body {
    margin-top: 4.6875rem;
    line-height: 2.3529;
    font-size: 0.875rem;
  }
}
@media (min-width: 48rem) {
  .home-intro {
    margin-top: 7.5rem;
  }
  .home-intro__heading {
    font-size: 1.625rem;
  }
  .home-intro__heading-line {
    bottom: -1.875rem;
    left: 50%;
    transform: translateX(-50%);
    width: 43.4375rem;
    height: 0.75rem;
  }
  .home-intro__body {
    margin-top: 4.6875rem;
    line-height: 2.3529;
    font-size: 1.0625rem;
  }
}
.home-intro__clip {
  position: absolute;
}
.home-intro__clip img {
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .home-intro__clip.-clip01 {
    right: -8%;
    bottom: -1.875rem;
    width: 5.625rem;
    animation-delay: 0.2s;
  }
  .home-intro__clip.-clip02 {
    bottom: -6.25rem;
    left: 0;
    width: 3.625rem;
    animation-delay: 0.1s;
  }
  .home-intro__clip.-clip03 {
    bottom: 0;
    left: -7%;
    width: 5.5rem;
    animation-delay: 0s;
  }
}
@media (min-width: 48rem) {
  .home-intro__clip.-clip01 {
    right: calc(50% + 37.0625rem);
    bottom: -11.125rem;
    width: 14.0625rem;
    animation-delay: 0.2s;
  }
  .home-intro__clip.-clip02 {
    right: calc(50% + 32.375rem);
    bottom: 0.9375rem;
    width: 9.0625rem;
    animation-delay: 0.1s;
  }
  .home-intro__clip.-clip03 {
    right: calc(50% + 18.625rem);
    bottom: 3.625rem;
    width: 13.75rem;
    animation-delay: 0s;
  }
}

@media (max-width: 47.9375rem) {
  .home-visual {
    margin-top: 3.125rem;
  }
}
@media (min-width: 48rem) {
  .home-visual {
    margin-top: 6.875rem;
  }
}

.home-concept {
  position: relative;
  text-align: center;
}
.home-concept__heading {
  position: relative;
}
.home-concept__heading-line {
  position: absolute;
}
.home-concept__body {
  color: var(--c02);
}
@media (max-width: 47.9375rem) {
  .home-concept {
    margin-top: 3.125rem;
  }
  .home-concept__heading {
    line-height: 1.5;
    font-size: 1.625rem;
  }
  .home-concept__heading-line {
    bottom: -2.5rem;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translateX(-50%);
  }
  .home-concept__body {
    margin-top: 3.125rem;
    line-height: 2.3529;
    font-size: 0.875rem;
  }
  .home-concept__copy {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}
@media (min-width: 48rem) {
  .home-concept {
    margin-top: 6.25rem;
  }
  .home-concept__heading {
    font-size: 1.625rem;
  }
  .home-concept__heading-line {
    bottom: -1.5rem;
    left: 50%;
    width: 38.625rem;
    height: 0.75rem;
    transform: translateX(-50%);
  }
  .home-concept__body {
    margin-top: 6.25rem;
    line-height: 2.3529;
    font-size: 1.0625rem;
  }
  .home-concept__copy {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
    font-size: 1.625rem;
  }
}
.home-concept__clip {
  position: absolute;
}
.home-concept__clip img {
  width: 100%;
}
@media (max-width: 47.9375rem) {
  .home-concept__clip.-clip01 {
    top: 50%;
    right: -3%;
    width: 5.15rem;
    animation-delay: 0s;
  }
  .home-concept__clip.-clip02 {
    top: 49%;
    left: -10%;
    width: 6.025rem;
    animation-delay: 0.1s;
  }
  .home-concept__clip.-clip03 {
    right: 0;
    bottom: -4.375rem;
    width: 4.575rem;
    animation-delay: 0.2s;
  }
  .home-concept__clip.-clip04 {
    right: 10%;
    bottom: -8.125rem;
    width: 5.575rem;
    animation-delay: 0.3s;
  }
  .home-concept__clip.-clip05 {
    bottom: -5rem;
    left: 0;
    width: 5.05rem;
    animation-delay: 0.6s;
  }
}
@media (min-width: 48rem) {
  .home-concept__clip.-clip01 {
    top: -12.375rem;
    left: calc(50% + 33.1875rem);
    width: 12.875rem;
    animation-delay: 0s;
  }
  .home-concept__clip.-clip02 {
    top: 4.125rem;
    left: calc(50% + 28.8125rem);
    width: 15.0625rem;
    animation-delay: 0.1s;
  }
  .home-concept__clip.-clip03 {
    top: 15.5rem;
    left: calc(50% + 25.0625rem);
    width: 11.4375rem;
    animation-delay: 0.2s;
  }
  .home-concept__clip.-clip04 {
    top: 22rem;
    left: calc(50% + 38.5625rem);
    width: 13.9375rem;
    animation-delay: 0.3s;
  }
  .home-concept__clip.-clip05 {
    right: calc(50% + 26.1875rem);
    bottom: -11.375rem;
    width: 12.625rem;
    animation-delay: 0.6s;
  }
}

.home-mission__heading {
  position: relative;
}
.home-mission__heading-line {
  position: absolute;
}
.home-mission__text {
  color: var(--c02);
}
@media (max-width: 47.9375rem) {
  .home-mission {
    margin-top: 6.25rem;
    text-align: center;
  }
  .home-mission__heading {
    line-height: 1.5;
    font-size: 1.625rem;
  }
  .home-mission__heading-line {
    top: -1.5625rem;
    left: -5%;
    width: 110%;
    height: 8.75rem;
  }
  .home-mission__heading-line img {
    width: 100%;
    height: 100%;
  }
  .home-mission__body {
    margin-top: 3.75rem;
    line-height: 2.3529;
    font-size: 0.875rem;
  }
  .home-mission__logo {
    text-align: center;
  }
  .home-mission__logo img {
    width: 6.25rem;
  }
  .home-mission__text {
    margin-top: 4.0625rem;
  }
}
@media (min-width: 48rem) {
  .home-mission {
    margin-top: 12.5rem;
  }
  .home-mission__content {
    display: flex;
  }
  .home-mission__heading {
    font-size: 1.625rem;
  }
  .home-mission__heading-line {
    top: -1.5625rem;
    left: -5.75rem;
    width: 39.0625rem;
    height: 6.6875rem;
  }
  .home-mission__body {
    line-height: 2.3529;
    font-size: 1.0625rem;
  }
  .home-mission__logo {
    flex: 0 0 42.4507658643%;
    padding-top: 8.4375rem;
    text-align: center;
  }
  .home-mission__text {
    margin-top: 4.0625rem;
  }
}

.home-follow {
  text-align: center;
}
.home-follow__text {
  line-height: 1.9048;
  color: var(--c02);
}
.home-follow__list {
  justify-content: center;
}
@media (max-width: 47.9375rem) {
  .home-follow {
    margin-top: 3.125rem;
  }
  .home-follow__text {
    font-size: 1.125rem;
  }
  .home-follow__list {
    column-gap: 1.5rem;
    margin-top: 1.875rem;
  }
  .home-follow__list img {
    width: 1.875rem;
    height: 1.875rem;
  }
}
@media (min-width: 48rem) {
  .home-follow {
    margin-top: 10.625rem;
  }
  .home-follow__text {
    font-size: 1.3125rem;
  }
  .home-follow__list {
    column-gap: 1.5rem;
    margin-top: 2.625rem;
  }
  .home-follow__list img {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.animation-poyon {
  transform-origin: center center;
}
.animation-poyon.-animated {
  animation: poyon 1s cubic-bezier(0, 0.55, 0.45, 1);
}

@keyframes poyon {
  0% {
    transform: scale(0);
  }
  40% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(0.9);
  }
  80% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.animation-left-in {
  transform-origin: center center;
  opacity: 0;
}
.animation-left-in.-animated {
  animation: left-in 1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
}

@keyframes left-in {
  0% {
    transform: translateX(-50%) rotate(-5deg);
    opacity: 0;
  }
  40% {
    transform: translateX(-50%) rotate(-5deg);
    opacity: 0;
  }
  100% {
    transform: translateX(0) rotate(0);
    opacity: 1;
  }
}
.animation-right-in {
  transform-origin: center center;
  opacity: 0;
}
.animation-right-in.-animated {
  animation: right-in 1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
}

@keyframes right-in {
  0% {
    transform: translateX(50%) rotate(5deg);
    opacity: 0;
  }
  40% {
    transform: translateX(50%) rotate(5deg);
    opacity: 0;
  }
  100% {
    transform: translateX(0) rotate(0);
    opacity: 1;
  }
}
.animation-poyopoyo {
  animation-name: poyopoyo;
  animation-duration: 5.5s;
  animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
  animation-iteration-count: infinite;
  transform-origin: center center;
}

@keyframes poyopoyo {
  0%, 90.91% {
    transform: scale(1);
  }
  94.55% {
    transform: scale(0.95);
  }
  96.36% {
    transform: scale(1.05);
  }
  98.18% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}
.animation-line-horizontal {
  clip-path: inset(0 100% 0 0);
}
.animation-line-horizontal.-animated {
  animation: reveal-horizontal 0.8s ease-out forwards;
}

@keyframes reveal-horizontal {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0);
  }
}
@property --line-progress {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.animation-line-circle {
  --line-progress: 0deg;
  -webkit-mask-image: conic-gradient(from 180deg, transparent 0deg calc(360deg - var(--line-progress)), #000 calc(360deg - var(--line-progress)) 360deg);
  mask-image: conic-gradient(from 180deg, transparent 0deg calc(360deg - var(--line-progress)), #000 calc(360deg - var(--line-progress)) 360deg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.animation-line-circle.-animated {
  animation: reveal-circle 1.2s linear forwards;
}

@keyframes reveal-circle {
  0% {
    --line-progress: 0deg;
  }
  100% {
    --line-progress: 360deg;
  }
}
.fade-in {
  opacity: 0;
}
.fade-in.-animated {
  animation: fade-in 1s ease-out forwards;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-block {
  display: block !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-block {
    display: block !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-block {
    display: block !important;
  }
}
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .text-xxl-left {
    text-align: left !important;
  }
  .text-xxl-right {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
.smartphoto {
  z-index: var(--z-smartphoto) !important;
}