@charset "UTF-8";
/*=====================================
    Common
======================================*/
html {
  font-size: 100%;
}

body {
  background-color: #00839C;
  font-family: "Helvetica Neue", "Zen Kaku Gothic New", serif;
  font-size: 1rem;
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1.875;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-transition: position 0.2s ease;
  transition: position 0.2s ease;
}
@media screen and (max-width: 374px) {
  body {
    font-size: 0.9375rem;
  }
}

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
table tr th, table tr td {
  padding: 0;
  text-align: left;
  vertical-align: top;
}

/*  Accessibility
--------------------------------------*/
:focus-visible {
  outline: auto !important;
}

.visually-hidden {
  width: 1px;
  height: 1px;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  padding: 0;
  position: absolute;
}

/*  Layout
    Contents Padding/Margin
--------------------------------------*/
.l-container {
  max-width: 1140px;
  width: 100%;
  padding: 0 70px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 40px;
  }
}
@media screen and (max-width: 599px) {
  .l-container {
    padding: 0 20px;
  }
}
.l-container.--lg {
  max-width: 1280px;
}
.l-container__bg {
  background-color: #00839C;
  position: relative;
}
.l-container__bg:has(.switch) {
  position: static;
}
.l-container__bg.--wave-t::before {
  content: "";
  display: block;
  height: 135px;
  width: 100%;
  position: absolute;
  left: 0;
  background: url("./assets/svg/bg-wave_top.svg") repeat-x center bottom/contain;
  top: -134px;
}
.l-container__bg.--wave-b::after {
  content: "";
  display: block;
  width: 100%;
  height: 135px;
  position: absolute;
  left: 0;
  background: url("./assets/svg/bg-wave_bottom.svg") repeat-x center top/contain;
  bottom: -134px;
}
.l-container__bg.--light {
  background-color: #16A4BF;
}
.l-container__bg.--light.--wave-t::before {
  background: url("./assets/svg/bg-wave_top_l.svg") repeat-x center bottom/contain;
}

.l-sec-inner {
  padding: 124px 0;
}
@media screen and (max-width: 1279px) {
  .l-sec-inner {
    padding: 95px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-sec-inner {
    padding: 60px 0;
  }
}
@media screen and (max-width: 599px) {
  .l-sec-inner {
    padding: 50px 0;
  }
}

/* display
--------------------------------------*/
.xl_disp-b {
  display: none;
}
@media screen and (max-width: 1279px) {
  .xl_disp-b {
    display: block;
  }
}

@media screen and (max-width: 1279px) {
  .xl_disp-n {
    display: none;
  }
}
.lg_disp-b {
  display: none;
}
@media screen and (max-width: 999px) {
  .lg_disp-b {
    display: block;
  }
}

@media screen and (max-width: 999px) {
  .lg_disp-n {
    display: none;
  }
}
.md_disp-b {
  display: none;
}
@media screen and (max-width: 767px) {
  .md_disp-b {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .md_disp-n {
    display: none;
  }
}
.sm_disp-b {
  display: none;
}
@media screen and (max-width: 599px) {
  .sm_disp-b {
    display: block;
  }
}

@media screen and (max-width: 599px) {
  .sm_disp-n {
    display: none;
  }
}
.xs_disp-b {
  display: none;
}
@media screen and (max-width: 374px) {
  .xs_disp-b {
    display: block;
  }
}

@media screen and (max-width: 374px) {
  .xs_disp-n {
    display: none;
  }
}
/*  grid
--------------------------------------*/
.card {
  display: grid;
}
.card.--col1 {
  grid-template-columns: repeat(1, 1fr);
}
.card.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.card.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.card.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
.card.--col5 {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 1279px) {
  .card.xl--col1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .card.xl--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card.xl--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card.xl--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .card.xl--col5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 999px) {
  .card.lg--col1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .card.lg--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card.lg--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card.lg--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .card.lg--col5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .card.md--col1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .card.md--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card.md--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card.md--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .card.md--col5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .card.sm--col1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .card.sm--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card.sm--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card.sm--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .card.sm--col5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 374px) {
  .card.xs--col1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .card.xs--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card.xs--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card.xs--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .card.xs--col5 {
    grid-template-columns: repeat(5, 1fr);
  }
}

/*  Flex
--------------------------------------*/
.l-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1279px) {
  .xl_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 999px) {
  .lg_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .md_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 599px) {
  .sm_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 374px) {
  .xs_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
._ai-b {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

._ai-c {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

._ai-fe {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

._ai-fs {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

._ai-s {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (max-width: 1279px) {
  .xl_ai-b {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .xl_ai-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .xl_ai-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .xl_ai-fs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .xl_ai-s {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 999px) {
  .lg_ai-b {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .lg_ai-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .lg_ai-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .lg_ai-fs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .lg_ai-s {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 767px) {
  .md_ai-b {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .md_ai-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .md_ai-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .md_ai-fs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .md_ai-s {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 599px) {
  .sm_ai-b {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .sm_ai-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sm_ai-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .sm_ai-fs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .sm_ai-s {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (max-width: 374px) {
  .xs_ai-b {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .xs_ai-c {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .xs_ai-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .xs_ai-fs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .xs_ai-s {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
._jc-c {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

._jc-fe {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

._jc-fs {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

._jc-sa {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

._jc-sb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1279px) {
  .xl_jc-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .xl_jc-fe {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .xl_jc-fs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .xl_jc-sa {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .xl_jc-sb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 999px) {
  .lg_jc-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .lg_jc-fe {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .lg_jc-fs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .lg_jc-sa {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .lg_jc-sb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .md_jc-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .md_jc-fe {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .md_jc-fs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .md_jc-sa {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .md_jc-sb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 599px) {
  .sm_jc-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sm_jc-fe {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .sm_jc-fs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .sm_jc-sa {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .sm_jc-sb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 374px) {
  .xs_jc-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .xs_jc-fe {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .xs_jc-fs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .xs_jc-sa {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .xs_jc-sb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
._fxw-n {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

._fxw-w {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

._fxw-wr {
  -ms-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse;
}

@media screen and (max-width: 1279px) {
  .xl_fxw-n {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xl_fxw-w {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .xl_fxw-wr {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
@media screen and (max-width: 999px) {
  .lg_fxw-n {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .lg_fxw-w {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lg_fxw-wr {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
@media screen and (max-width: 767px) {
  .md_fxw-n {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .md_fxw-w {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .md_fxw-wr {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
@media screen and (max-width: 599px) {
  .sm_fxw-n {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .sm_fxw-w {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .sm_fxw-wr {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
@media screen and (max-width: 374px) {
  .xs_fxw-n {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xs_fxw-w {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .xs_fxw-wr {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
._fxd-c {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

._fxd-cr {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

._fxd-r {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

._fxd-rr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media screen and (max-width: 1279px) {
  .xl_fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xl_fxd-cr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .xl_fxd-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xl_fxd-rr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 999px) {
  .lg_fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .lg_fxd-cr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .lg_fxd-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .lg_fxd-rr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .md_fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .md_fxd-cr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .md_fxd-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .md_fxd-rr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 599px) {
  .sm_fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sm_fxd-cr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .sm_fxd-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .sm_fxd-rr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 374px) {
  .xs_fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xs_fxd-cr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .xs_fxd-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xs_fxd-rr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
._ac-c {
  -ms-flex-line-pack: center;
      align-content: center;
}

._ac-fe {
  -ms-flex-line-pack: end;
      align-content: flex-end;
}

._ac-fs {
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

._ac-s {
  -ms-flex-line-pack: stretch;
      align-content: stretch;
}

._ac-sa {
  -ms-flex-line-pack: distribute;
      align-content: space-around;
}

._ac-sb {
  -ms-flex-line-pack: justify;
      align-content: space-between;
}

@media screen and (max-width: 1279px) {
  .xl_ac-c {
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .xl_ac-fe {
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
  .xl_ac-fs {
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .xl_ac-s {
    -ms-flex-line-pack: stretch;
        align-content: stretch;
  }
  .xl_ac-sa {
    -ms-flex-line-pack: distribute;
        align-content: space-around;
  }
  .xl_ac-sb {
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}
@media screen and (max-width: 999px) {
  .lg_ac-c {
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .lg_ac-fe {
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
  .lg_ac-fs {
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .lg_ac-s {
    -ms-flex-line-pack: stretch;
        align-content: stretch;
  }
  .lg_ac-sa {
    -ms-flex-line-pack: distribute;
        align-content: space-around;
  }
  .lg_ac-sb {
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .md_ac-c {
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .md_ac-fe {
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
  .md_ac-fs {
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .md_ac-s {
    -ms-flex-line-pack: stretch;
        align-content: stretch;
  }
  .md_ac-sa {
    -ms-flex-line-pack: distribute;
        align-content: space-around;
  }
  .md_ac-sb {
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}
@media screen and (max-width: 599px) {
  .sm_ac-c {
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .sm_ac-fe {
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
  .sm_ac-fs {
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .sm_ac-s {
    -ms-flex-line-pack: stretch;
        align-content: stretch;
  }
  .sm_ac-sa {
    -ms-flex-line-pack: distribute;
        align-content: space-around;
  }
  .sm_ac-sb {
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}
@media screen and (max-width: 374px) {
  .xs_ac-c {
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .xs_ac-fe {
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
  .xs_ac-fs {
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .xs_ac-s {
    -ms-flex-line-pack: stretch;
        align-content: stretch;
  }
  .xs_ac-sa {
    -ms-flex-line-pack: distribute;
        align-content: space-around;
  }
  .xs_ac-sb {
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}
._ord1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

._ord2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

._ord3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

._ord4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

._ord5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

._ord6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

._ord7 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}

._ord8 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}

._ord9 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}

._ord10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}

@media screen and (max-width: 1279px) {
  .xl_ord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xl_ord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xl_ord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xl_ord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xl_ord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xl_ord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .xl_ord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .xl_ord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .xl_ord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .xl_ord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media screen and (max-width: 999px) {
  .lg_ord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .lg_ord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .lg_ord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .lg_ord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .lg_ord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .lg_ord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .lg_ord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .lg_ord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .lg_ord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .lg_ord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media screen and (max-width: 767px) {
  .md_ord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .md_ord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .md_ord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .md_ord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .md_ord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .md_ord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .md_ord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .md_ord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .md_ord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .md_ord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media screen and (max-width: 599px) {
  .sm_ord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .sm_ord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .sm_ord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .sm_ord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .sm_ord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .sm_ord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .sm_ord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .sm_ord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .sm_ord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .sm_ord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media screen and (max-width: 374px) {
  .xs_ord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xs_ord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xs_ord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xs_ord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xs_ord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xs_ord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .xs_ord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .xs_ord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .xs_ord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .xs_ord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
/*======================================
    Animation
======================================*/
/* intro - bottle
--------------------------------------*/
.c-icon__bottle .bottle {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: float-animation 5s infinite ease;
          animation: float-animation 5s infinite ease;
}

@-webkit-keyframes float-animation {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(18px);
            transform: translateY(18px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes float-animation {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(18px);
            transform: translateY(18px);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* problem - figure
--------------------------------------*/
.icon-figure .icon-figure__circle {
  -webkit-animation: rotate-animation 20s infinite linear;
          animation: rotate-animation 20s infinite linear;
}

@-webkit-keyframes rotate-animation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  18.75% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  25% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg);
            transform: rotate(-270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg);
            transform: rotate(-270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}

@keyframes rotate-animation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  18.75% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  25% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg);
            transform: rotate(-270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg);
            transform: rotate(-270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
.icon-figure__item:nth-of-type(2) {
  -webkit-animation: item-rotate-animation01 20s infinite linear;
          animation: item-rotate-animation01 20s infinite linear;
}
.icon-figure__item:nth-of-type(3) {
  -webkit-animation: item-rotate-animation02 20s infinite linear;
          animation: item-rotate-animation02 20s infinite linear;
}
.icon-figure__item:nth-of-type(4) {
  -webkit-animation: item-rotate-animation03 20s infinite linear;
          animation: item-rotate-animation03 20s infinite linear;
}
.icon-figure__item:nth-of-type(5) {
  -webkit-animation: item-rotate-animation04 20s infinite linear;
          animation: item-rotate-animation04 20s infinite linear;
}

@-webkit-keyframes item-rotate-animation01 {
  0% {
    background-color: #00839C;
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  18.75% {
    background-color: #00839C;
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  25% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-90deg) translateY(-100%) rotate(90deg);
            transform: rotate(-90deg) translateY(-100%) rotate(90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg) translateY(-100%) rotate(90deg);
            transform: rotate(-90deg) translateY(-100%) rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg) translateY(-100%) rotate(180deg);
            transform: rotate(-180deg) translateY(-100%) rotate(180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg) translateY(-100%) rotate(180deg);
            transform: rotate(-180deg) translateY(-100%) rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg) translateY(-100%) rotate(270deg);
            transform: rotate(-270deg) translateY(-100%) rotate(270deg);
  }
  93.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-270deg) translateY(-100%) rotate(270deg);
            transform: rotate(-270deg) translateY(-100%) rotate(270deg);
  }
  100% {
    background-color: #00839C;
    -webkit-transform: rotate(-360deg) translateY(-100%) rotate(360deg);
            transform: rotate(-360deg) translateY(-100%) rotate(360deg);
  }
}

@keyframes item-rotate-animation01 {
  0% {
    background-color: #00839C;
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  18.75% {
    background-color: #00839C;
    -webkit-transform: rotate(0) translateY(-100%);
            transform: rotate(0) translateY(-100%);
  }
  25% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-90deg) translateY(-100%) rotate(90deg);
            transform: rotate(-90deg) translateY(-100%) rotate(90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg) translateY(-100%) rotate(90deg);
            transform: rotate(-90deg) translateY(-100%) rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg) translateY(-100%) rotate(180deg);
            transform: rotate(-180deg) translateY(-100%) rotate(180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg) translateY(-100%) rotate(180deg);
            transform: rotate(-180deg) translateY(-100%) rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg) translateY(-100%) rotate(270deg);
            transform: rotate(-270deg) translateY(-100%) rotate(270deg);
  }
  93.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-270deg) translateY(-100%) rotate(270deg);
            transform: rotate(-270deg) translateY(-100%) rotate(270deg);
  }
  100% {
    background-color: #00839C;
    -webkit-transform: rotate(-360deg) translateY(-100%) rotate(360deg);
            transform: rotate(-360deg) translateY(-100%) rotate(360deg);
  }
}
@-webkit-keyframes item-rotate-animation02 {
  0% {
    -webkit-transform: rotate(0) translateX(100%);
            transform: rotate(0) translateX(100%);
  }
  18.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(0) translateX(100%);
            transform: rotate(0) translateX(100%);
  }
  25% {
    background-color: #00839C;
    -webkit-transform: rotate(-90deg) translateX(100%) rotate(90deg);
            transform: rotate(-90deg) translateX(100%) rotate(90deg);
  }
  43.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-90deg) translateX(100%) rotate(90deg);
            transform: rotate(-90deg) translateX(100%) rotate(90deg);
  }
  50% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-180deg) translateX(100%) rotate(180deg);
            transform: rotate(-180deg) translateX(100%) rotate(180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg) translateX(100%) rotate(180deg);
            transform: rotate(-180deg) translateX(100%) rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg) translateX(100%) rotate(270deg);
            transform: rotate(-270deg) translateX(100%) rotate(270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg) translateX(100%) rotate(270deg);
            transform: rotate(-270deg) translateX(100%) rotate(270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg) translateX(100%) rotate(360deg);
            transform: rotate(-360deg) translateX(100%) rotate(360deg);
  }
}
@keyframes item-rotate-animation02 {
  0% {
    -webkit-transform: rotate(0) translateX(100%);
            transform: rotate(0) translateX(100%);
  }
  18.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(0) translateX(100%);
            transform: rotate(0) translateX(100%);
  }
  25% {
    background-color: #00839C;
    -webkit-transform: rotate(-90deg) translateX(100%) rotate(90deg);
            transform: rotate(-90deg) translateX(100%) rotate(90deg);
  }
  43.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-90deg) translateX(100%) rotate(90deg);
            transform: rotate(-90deg) translateX(100%) rotate(90deg);
  }
  50% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-180deg) translateX(100%) rotate(180deg);
            transform: rotate(-180deg) translateX(100%) rotate(180deg);
  }
  68.75% {
    -webkit-transform: rotate(-180deg) translateX(100%) rotate(180deg);
            transform: rotate(-180deg) translateX(100%) rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(-270deg) translateX(100%) rotate(270deg);
            transform: rotate(-270deg) translateX(100%) rotate(270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg) translateX(100%) rotate(270deg);
            transform: rotate(-270deg) translateX(100%) rotate(270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg) translateX(100%) rotate(360deg);
            transform: rotate(-360deg) translateX(100%) rotate(360deg);
  }
}
@-webkit-keyframes item-rotate-animation03 {
  0% {
    -webkit-transform: rotate(0) translateY(100%);
            transform: rotate(0) translateY(100%);
  }
  18.75% {
    -webkit-transform: rotate(0) translateY(100%);
            transform: rotate(0) translateY(100%);
  }
  25% {
    -webkit-transform: rotate(-90deg) translateY(100%) rotate(90deg);
            transform: rotate(-90deg) translateY(100%) rotate(90deg);
  }
  43.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-90deg) translateY(100%) rotate(90deg);
            transform: rotate(-90deg) translateY(100%) rotate(90deg);
  }
  50% {
    background-color: #00839C;
    -webkit-transform: rotate(-180deg) translateY(100%) rotate(180deg);
            transform: rotate(-180deg) translateY(100%) rotate(180deg);
  }
  68.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-180deg) translateY(100%) rotate(180deg);
            transform: rotate(-180deg) translateY(100%) rotate(180deg);
  }
  75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-270deg) translateY(100%) rotate(270deg);
            transform: rotate(-270deg) translateY(100%) rotate(270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg) translateY(100%) rotate(270deg);
            transform: rotate(-270deg) translateY(100%) rotate(270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg) translateY(100%) rotate(360deg);
            transform: rotate(-360deg) translateY(100%) rotate(360deg);
  }
}
@keyframes item-rotate-animation03 {
  0% {
    -webkit-transform: rotate(0) translateY(100%);
            transform: rotate(0) translateY(100%);
  }
  18.75% {
    -webkit-transform: rotate(0) translateY(100%);
            transform: rotate(0) translateY(100%);
  }
  25% {
    -webkit-transform: rotate(-90deg) translateY(100%) rotate(90deg);
            transform: rotate(-90deg) translateY(100%) rotate(90deg);
  }
  43.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-90deg) translateY(100%) rotate(90deg);
            transform: rotate(-90deg) translateY(100%) rotate(90deg);
  }
  50% {
    background-color: #00839C;
    -webkit-transform: rotate(-180deg) translateY(100%) rotate(180deg);
            transform: rotate(-180deg) translateY(100%) rotate(180deg);
  }
  68.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-180deg) translateY(100%) rotate(180deg);
            transform: rotate(-180deg) translateY(100%) rotate(180deg);
  }
  75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-270deg) translateY(100%) rotate(270deg);
            transform: rotate(-270deg) translateY(100%) rotate(270deg);
  }
  93.75% {
    -webkit-transform: rotate(-270deg) translateY(100%) rotate(270deg);
            transform: rotate(-270deg) translateY(100%) rotate(270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg) translateY(100%) rotate(360deg);
            transform: rotate(-360deg) translateY(100%) rotate(360deg);
  }
}
@-webkit-keyframes item-rotate-animation04 {
  0% {
    -webkit-transform: rotate(0) translateX(-100%);
            transform: rotate(0) translateX(-100%);
  }
  18.75% {
    -webkit-transform: rotate(0) translateX(-100%);
            transform: rotate(0) translateX(-100%);
  }
  25% {
    -webkit-transform: rotate(-90deg) translateX(-100%) rotate(90deg);
            transform: rotate(-90deg) translateX(-100%) rotate(90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg) translateX(-100%) rotate(90deg);
            transform: rotate(-90deg) translateX(-100%) rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg) translateX(-100%) rotate(180deg);
            transform: rotate(-180deg) translateX(-100%) rotate(180deg);
  }
  68.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-180deg) translateX(-100%) rotate(180deg);
            transform: rotate(-180deg) translateX(-100%) rotate(180deg);
  }
  75% {
    background-color: #00839C;
    -webkit-transform: rotate(-270deg) translateX(-100%) rotate(270deg);
            transform: rotate(-270deg) translateX(-100%) rotate(270deg);
  }
  93.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-270deg) translateX(-100%) rotate(270deg);
            transform: rotate(-270deg) translateX(-100%) rotate(270deg);
  }
  100% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-360deg) translateX(-100%) rotate(360deg);
            transform: rotate(-360deg) translateX(-100%) rotate(360deg);
  }
}
@keyframes item-rotate-animation04 {
  0% {
    -webkit-transform: rotate(0) translateX(-100%);
            transform: rotate(0) translateX(-100%);
  }
  18.75% {
    -webkit-transform: rotate(0) translateX(-100%);
            transform: rotate(0) translateX(-100%);
  }
  25% {
    -webkit-transform: rotate(-90deg) translateX(-100%) rotate(90deg);
            transform: rotate(-90deg) translateX(-100%) rotate(90deg);
  }
  43.75% {
    -webkit-transform: rotate(-90deg) translateX(-100%) rotate(90deg);
            transform: rotate(-90deg) translateX(-100%) rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(-180deg) translateX(-100%) rotate(180deg);
            transform: rotate(-180deg) translateX(-100%) rotate(180deg);
  }
  68.75% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-180deg) translateX(-100%) rotate(180deg);
            transform: rotate(-180deg) translateX(-100%) rotate(180deg);
  }
  75% {
    background-color: #00839C;
    -webkit-transform: rotate(-270deg) translateX(-100%) rotate(270deg);
            transform: rotate(-270deg) translateX(-100%) rotate(270deg);
  }
  93.75% {
    background-color: #00839C;
    -webkit-transform: rotate(-270deg) translateX(-100%) rotate(270deg);
            transform: rotate(-270deg) translateX(-100%) rotate(270deg);
  }
  100% {
    background-color: #16A4BF;
    -webkit-transform: rotate(-360deg) translateX(-100%) rotate(360deg);
            transform: rotate(-360deg) translateX(-100%) rotate(360deg);
  }
}
.problem__card-desc__list .list__item:nth-of-type(1) {
  -webkit-animation: fadeIn-animation01 20s infinite linear;
          animation: fadeIn-animation01 20s infinite linear;
}
.problem__card-desc__list .list__item:nth-of-type(2) {
  -webkit-animation: fadeIn-animation02 20s infinite linear;
          animation: fadeIn-animation02 20s infinite linear;
}
.problem__card-desc__list .list__item:nth-of-type(3) {
  -webkit-animation: fadeIn-animation03 20s infinite linear;
          animation: fadeIn-animation03 20s infinite linear;
}
.problem__card-desc__list .list__item:nth-of-type(4) {
  -webkit-animation: fadeIn-animation04 20s infinite linear;
          animation: fadeIn-animation04 20s infinite linear;
}

@-webkit-keyframes fadeIn-animation01 {
  0% {
    display: block;
    opacity: 1;
  }
  18.75% {
    display: block;
    opacity: 1;
  }
  25% {
    display: none;
    opacity: 0;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fadeIn-animation01 {
  0% {
    display: block;
    opacity: 1;
  }
  18.75% {
    display: block;
    opacity: 1;
  }
  25% {
    display: none;
    opacity: 0;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-webkit-keyframes fadeIn-animation02 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
    opacity: 0;
  }
  25% {
    display: block;
    opacity: 1;
  }
  43.75% {
    display: block;
    opacity: 1;
  }
  50% {
    display: none;
    opacity: 0;
  }
  68.75% {
    display: none;
  }
  75% {
    display: none;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
  }
}
@keyframes fadeIn-animation02 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
    opacity: 0;
  }
  25% {
    display: block;
    opacity: 1;
  }
  43.75% {
    display: block;
    opacity: 1;
  }
  50% {
    display: none;
    opacity: 0;
  }
  68.75% {
    display: none;
  }
  75% {
    display: none;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
  }
}
@-webkit-keyframes fadeIn-animation03 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
  }
  25% {
    display: none;
  }
  43.75% {
    display: none;
    opacity: 0;
  }
  50% {
    display: block;
    opacity: 1;
  }
  68.75% {
    display: block;
    opacity: 1;
  }
  75% {
    display: none;
    opacity: 0;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
  }
}
@keyframes fadeIn-animation03 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
  }
  25% {
    display: none;
  }
  43.75% {
    display: none;
    opacity: 0;
  }
  50% {
    display: block;
    opacity: 1;
  }
  68.75% {
    display: block;
    opacity: 1;
  }
  75% {
    display: none;
    opacity: 0;
  }
  93.75% {
    display: none;
  }
  100% {
    display: none;
  }
}
@-webkit-keyframes fadeIn-animation04 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
  }
  25% {
    display: none;
  }
  43.75% {
    display: none;
  }
  50% {
    display: none;
  }
  68.75% {
    display: none;
    opacity: 0;
  }
  75% {
    display: block;
    opacity: 1;
  }
  93.75% {
    display: block;
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@keyframes fadeIn-animation04 {
  0% {
    display: none;
  }
  18.75% {
    display: none;
  }
  25% {
    display: none;
  }
  43.75% {
    display: none;
  }
  50% {
    display: none;
  }
  68.75% {
    display: none;
    opacity: 0;
  }
  75% {
    display: block;
    opacity: 1;
  }
  93.75% {
    display: block;
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
/* アニメーション表示
   (※.js-viewも一緒に指定)
--------------------------------------*/
/*
// フェードイン
.view-fadeIn {
    opacity: 0;
    animation: view-fadeIn 1s ease(in-out-cubic) both;
}
@keyframes view-fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
*/
/*
// スライドアップ
.view-slideUp {
    opacity: 0;
    animation: view-slideUp 1s ease(in-out-cubic) both;
}
@keyframes view-slideUp {
    0% {
        opacity: 0;
        transform: translate(0, 35px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}
*/
/*
// 左からスライドイン
.view-slideIn-l {
    opacity: 0;
    animation: view-slideIn-l .6s ease(in-out-cubic) both;
}
@keyframes view-slideIn-l {
    0% {
        opacity: 0;
        transform: translate(35px, 0);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}
*/
/*
// 右からスライドイン
.view-slideIn-r {
    opacity: 0;
    animation: view-slideIn-r .6s ease(in-out-cubic) both;
}
@keyframes view-slideIn-r {
    0% {
        opacity: 0;
        transform: translate(-35px, 0);
    }
    100% {
        opacity: 0;
        transform: translate(0, 0);
    }
}
*/
/*======================================
    Program
======================================*/
/* Header
--------------------------------------*/
.js-burgerNav {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.js-burgerNav.active {
  opacity: 1;
  visibility: visible;
}

.js-focus-trap {
  visibility: hidden;
}

/* アニメーション表示
--------------------------------------*/
.js-scrollUpTrigger {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.js-scrollUpTrigger.on {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-band,
.js-bandDelay {
  overflow: hidden;
}
.js-band > *,
.js-bandDelay > * {
  display: inline-block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
@media screen and (max-width: 599px) {
  .js-band > *,
  .js-bandDelay > * {
    -webkit-transform: translateY(115%);
            transform: translateY(115%);
  }
}

.js-band.on > *,
.js-bandDelay.on > * {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* parallax
--------------------------------------*/
.js-parallaxTrigger {
  aspect-ratio: 1440/900;
  width: 100%;
  max-height: 800px;
  min-height: 300px;
  position: relative;
  overflow: hidden;
}
.js-parallaxTrigger img {
  max-width: none;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
}
.js-parallaxTrigger__sticky {
  overflow: hidden;
}

/*======================================
    Component
======================================*/
/* Section Title
--------------------------------------*/
.c-sec-title {
  font-size: 60px;
  letter-spacing: 0;
  line-height: 1.5;
}
@media screen and (max-width: 999px) {
  .c-sec-title {
    font-size: 46px;
  }
}
@media screen and (max-width: 767px) {
  .c-sec-title {
    font-size: 36px;
  }
}
@media screen and (max-width: 599px) {
  .c-sec-title {
    font-size: 30px;
  }
}
@media screen and (max-width: 374px) {
  .c-sec-title {
    font-size: 25px;
  }
}
.c-sec-title .en {
  display: block;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-sec-title .en {
    font-size: 28px;
  }
}
@media screen and (max-width: 599px) {
  .c-sec-title .en {
    font-size: 1.5rem;
  }
}
.c-sec-title.--md {
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-sec-title.--md {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 374px) {
  .c-sec-title.--md {
    font-size: 1.25rem;
  }
}
.c-sec-title.--md .en {
  display: inline-block;
  font-size: 1.75rem;
  font-weight: 700;
  padding-bottom: 0.5em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-sec-title.--md .en {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 599px) {
  .c-sec-title.--md .en {
    font-size: 1.125rem;
  }
}
.c-sec-title.--md .en::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  left: 0;
  bottom: 0;
}
.c-sec-title.--md .ja {
  display: block;
}

.c-card-title {
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 1.36;
}
@media screen and (max-width: 767px) {
  .c-card-title {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 374px) {
  .c-card-title {
    font-size: 1.25rem;
  }
}
.c-card-title .sub {
  display: block;
  font-size: 1rem;
  letter-spacing: 0;
  margin-bottom: 0.375em;
}

/* Button
--------------------------------------*/
.c-btn-main {
  max-width: 270px;
  color: #000;
  font-size: 18px;
  letter-spacing: 0;
  background-color: #C1C1C1;
  border-radius: 10px;
  text-align: center;
  overflow: hidden;
  position: relative;
}
.c-btn-main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #70D0C0;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition: 0.2s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.2s cubic-bezier(0.65, 0, 0.35, 1);
}
.c-btn-main .c-btn-main__link {
  display: block;
  padding: 24px 27px;
  position: relative;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-main:hover::before {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  .c-btn-main:hover .c-btn-main__link {
    color: #fff;
  }
}

/* Balloon
--------------------------------------*/
.c-balloon {
  display: inline-block;
  color: #000;
  font-weight: 500;
  background-color: #70D0C0;
  border-radius: 50vh;
  text-align: center;
  padding: 28px 68px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .c-balloon {
    line-height: 1.6;
    padding: 24px 45px 24px 54px;
  }
}
@media screen and (max-width: 599px) {
  .c-balloon {
    padding: 24px 32px 24px 45px;
  }
}
.c-balloon::after {
  content: "";
  display: block;
  width: 41px;
  aspect-ratio: 1/0.8660254038;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #70D0C0;
  position: absolute;
  bottom: -35px;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media screen and (max-width: 767px) {
  .c-balloon::after {
    width: 30px;
    bottom: -25px;
  }
}
.c-balloon.--sm {
  padding: 20px 41px;
}
.c-balloon.--sm::after {
  width: 18px;
  bottom: -15px;
}
.c-balloon.--t::after {
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  top: -15px;
  bottom: auto;
}
.c-balloon.--w {
  font-weight: 700;
  background-color: #fff;
}
.c-balloon.--w::after {
  background-color: #fff;
}

/*======================================
    Block
======================================*/
/* section
--------------------------------------*/
.b-sec__flex .inner {
  background-color: #16A4BF;
  border-radius: 20px;
  padding: 55px 75px 78px;
}
@media screen and (max-width: 767px) {
  .b-sec__flex .inner {
    padding: 55px 60px 68px;
  }
}
@media screen and (max-width: 599px) {
  .b-sec__flex .inner {
    padding: 35px 40px 40px;
  }
}
@media screen and (max-width: 374px) {
  .b-sec__flex .inner {
    padding: 30px 32px 32px;
  }
}
.b-sec__flex .flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 999px) {
  .b-sec__flex .flex-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.b-sec__flex .desc {
  max-width: 485px;
  font-size: 1rem;
  text-align: justify;
}
@media screen and (max-width: 999px) {
  .b-sec__flex .desc {
    max-width: 100%;
  }
}
@media screen and (max-width: 374px) {
  .b-sec__flex .desc {
    font-size: 0.9375rem;
  }
}
.b-sec__flex .flex-content:first-of-type {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 20px;
}
@media screen and (max-width: 1279px) {
  .b-sec__flex .flex-content:first-of-type {
    margin-right: 50px;
  }
}
@media screen and (max-width: 999px) {
  .b-sec__flex .flex-content:first-of-type {
    margin-right: 0;
  }
}
.b-sec__flex .flex-content:nth-of-type(2) {
  width: 270px;
}
@media screen and (max-width: 767px) {
  .b-sec__flex .flex-content:nth-of-type(2) {
    width: 100%;
  }
}

/*======================================
    Header
======================================*/
.header {
  display: none;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.header .header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 50px 0 70px;
  margin: auto;
}
@media screen and (max-width: 1279px) {
  .header .header__inner {
    padding: 0 40px;
  }
}
@media screen and (max-width: 599px) {
  .header .header__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 374px) {
  .header .header__inner {
    height: 50px;
  }
}
.header .site-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100px;
  font-size: 14px;
  font-weight: 700;
  padding-bottom: 10px;
  margin-right: 50px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 999px) {
  .header .site-title {
    margin-right: 30px;
  }
}
@media screen and (max-width: 374px) {
  .header .site-title {
    font-size: 11px;
  }
}
.header .site-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  left: 0;
  bottom: 0;
}

/* Burger Toggle
--------------------------------------*/
.burger-toggle {
  display: block;
  width: 40px;
  height: 28px;
  background: url("./assets/svg/icon-btn-toggle.svg") no-repeat center center/contain;
  cursor: pointer;
  position: relative;
  z-index: 100;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.burger-toggle .line {
  display: none;
  width: 30px;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.burger-toggle .line:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.burger-toggle .line:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.burger-toggle .visually-hidden {
  color: #fff;
}

/* Burger Menu
--------------------------------------*/
.burger-nav {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #16A4BF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.burger-nav .burger-nav__inner {
  max-width: 886px;
  width: 100%;
  overflow-y: scroll;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 70px;
}
@media screen and (max-width: 767px) {
  .burger-nav .burger-nav__inner {
    padding: 0 40px;
  }
}
@media screen and (max-width: 599px) {
  .burger-nav .burger-nav__inner {
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 150px 0 20px 20px;
  }
}
@media screen and (max-width: 374px) {
  .burger-nav .burger-nav__inner {
    padding: 110px 0 20px 20px;
  }
}
@media screen and (max-width: 599px) {
  .burger-nav .burger-menu {
    margin-bottom: 40px;
  }
}
.burger-nav .burger-menu > * + * {
  margin-top: 41px;
}
@media screen and (max-width: 767px) {
  .burger-nav .burger-menu > * + * {
    margin-top: 24px;
  }
}
.burger-nav .burger-menu .item {
  font-size: 38px;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .burger-nav .burger-menu .item {
    font-size: 28px;
  }
}
.burger-nav .burger-menu .item.--ja {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .burger-nav .burger-menu .item.--ja {
    font-size: 18px;
  }
}
.burger-nav .burger-menu .item a {
  color: white;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .burger-nav .burger-menu .item a:hover {
    color: #70D0C0;
  }
}
.burger-nav .c-icon__bottle {
  max-width: 295px;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .burger-nav .c-icon__bottle {
    margin: 0 0 0 auto;
  }
}

/*======================================
    Footer
======================================*/
.footer {
  background-color: #00839C;
  padding-top: 124px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1279px) {
  .footer {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 60px;
  }
}
.footer .footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 44px 0 52px;
  position: relative;
}
@media screen and (max-width: 599px) {
  .footer .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 44px 0 40px;
  }
}
.footer .footer__inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  top: 0;
  left: 0;
}
.footer .footer__logo {
  width: 105px;
  line-height: 0;
  margin-right: 73px;
}
@media screen and (max-width: 599px) {
  .footer .footer__logo {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.footer address {
  font-size: 0.75rem;
  font-style: normal;
  letter-spacing: 0;
}
.footer address a {
  pointer-events: none;
}

/*======================================
    Top
======================================*/
/* bg
--------------------------------------*/
.bgFv {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background: url(./assets/img/fv.jpg) no-repeat center 70%/cover;
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .bgFv {
    background: url(./assets/img/fv.jpg) no-repeat center 70%/auto 110%;
  }
}

.bg02 {
  aspect-ratio: 1440/1035;
  min-height: 435px;
}
@media screen and (max-width: 599px) {
  .bg02 {
    min-height: 367px;
  }
}

.bg03 {
  aspect-ratio: auto;
  max-height: 100vh;
  text-align: center;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
}
.bg03 img {
  max-width: none;
  width: 100%;
  height: 120vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.bg03 .c-balloon {
  top: 108px;
  right: 182px;
  z-index: 1;
}
@media screen and (max-width: 1279px) {
  .bg03 .c-balloon {
    right: 92px;
  }
}
@media screen and (max-width: 767px) {
  .bg03 .c-balloon {
    right: 40px;
  }
}
@media screen and (max-width: 599px) {
  .bg03 .c-balloon {
    right: 20px;
  }
}

/* fv
--------------------------------------*/
.fv {
  width: 100%;
  height: 100vh;
}
.fv .fv__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 70px;
}
@media screen and (max-width: 1279px) {
  .fv .fv__inner {
    padding: 40px;
  }
}
@media screen and (max-width: 599px) {
  .fv .fv__inner {
    padding: 20px;
  }
}
.fv .fv__text-box .main {
  font-size: clamp(78px, 10.24vw, 120px);
  line-height: 0.84;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 999px) {
  .fv .fv__text-box .main {
    font-size: 78px;
  }
}
@media screen and (max-width: 767px) {
  .fv .fv__text-box .main {
    font-size: 53px;
  }
}
@media screen and (max-width: 599px) {
  .fv .fv__text-box .main {
    font-size: 12.3333333333vw;
  }
}
.fv .fv__text-box .main:nth-of-type(3) {
  line-height: 1;
  margin-bottom: -25px;
}
@media screen and (max-width: 999px) {
  .fv .fv__text-box .main:nth-of-type(3) {
    margin-bottom: -12px;
  }
}
@media screen and (max-width: 767px) {
  .fv .fv__text-box .main:nth-of-type(3) {
    margin-bottom: -9px;
  }
}
@media screen and (max-width: 374px) {
  .fv .fv__text-box .main:nth-of-type(3) {
    margin-bottom: -7px;
  }
}
.fv .fv__text-box .main:nth-of-type(3) span {
  line-height: 0.84;
  vertical-align: top;
}
.fv .fv__text-box .sub {
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0;
  margin-bottom: 0.8333333333em;
}
@media screen and (max-width: 999px) {
  .fv .fv__text-box .sub {
    font-size: 1.125rem;
    margin-bottom: 0.2222222222em;
  }
}
@media screen and (max-width: 599px) {
  .fv .fv__text-box .sub {
    line-height: 1.2;
    margin-bottom: 0.6666666667em;
  }
}

/* intro
--------------------------------------*/
.intro {
  padding-top: 44px;
}
@media screen and (max-width: 999px) {
  .intro {
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .intro {
    padding-bottom: 0;
  }
}
.intro .c-sec-title {
  margin-bottom: 105px;
}
@media screen and (max-width: 1279px) {
  .intro .c-sec-title {
    margin-bottom: 85px;
  }
}
@media screen and (max-width: 999px) {
  .intro .c-sec-title {
    margin-bottom: 55px;
  }
}
@media screen and (max-width: 767px) {
  .intro .c-sec-title {
    margin-bottom: 35px;
  }
}
.intro .intro__body {
  font-size: 1.75rem;
  text-align: justify;
  margin-bottom: 172px;
}
@media screen and (max-width: 999px) {
  .intro .intro__body {
    font-size: 1.3125rem;
    margin-bottom: 103px;
  }
}
@media screen and (max-width: 767px) {
  .intro .intro__body {
    font-size: 1.125rem;
    margin-bottom: 82px;
  }
}
@media screen and (max-width: 374px) {
  .intro .intro__body {
    font-size: 1rem;
  }
}
.intro .c-icon__bottle {
  text-align: right;
  margin-right: 100px;
}
@media screen and (max-width: 999px) {
  .intro .c-icon__bottle {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .intro .c-icon__bottle svg {
    width: 220px;
  }
}

/* notice
--------------------------------------*/
.notice .inner {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 999px) {
  .notice .inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.notice .c-sec-title {
  margin-bottom: 32px;
}
@media screen and (max-width: 599px) {
  .notice .c-sec-title {
    margin-bottom: 22px;
  }
}
.notice .c-sec-title .en {
  margin-bottom: 32px;
}
@media screen and (max-width: 599px) {
  .notice .c-sec-title .en {
    margin-bottom: 22px;
  }
}
@media screen and (max-width: 599px) {
  .notice .c-sec-title .ja {
    margin: 4px 0;
  }
}
.notice .c-btn-main {
  margin-bottom: 20px;
}
@media screen and (max-width: 999px) {
  .notice .c-btn-main {
    margin-bottom: 0;
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .notice .c-btn-main {
    margin: 32px auto 0;
  }
}

/* current
--------------------------------------*/
.current {
  aspect-ratio: 1280/1100;
  background: url(./assets/img/current03.png) no-repeat center top/contain;
  margin: 124px 0;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .current {
    margin: 100px 0;
  }
}
@media screen and (max-width: 999px) {
  .current {
    aspect-ratio: 1000/1098;
  }
}
@media screen and (max-width: 599px) {
  .current {
    aspect-ratio: 600/780;
    margin-top: 50px;
  }
}
@media screen and (max-width: 374px) {
  .current {
    aspect-ratio: 375/600;
  }
}
.current::before, .current::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.current::before {
  background: url(./assets/img/current01.png) no-repeat center top/contain;
  mix-blend-mode: multiply;
  z-index: 1;
}
.current::after {
  background: url(./assets/img/current02.png) no-repeat center top/contain;
  z-index: 2;
}
.current .l-container {
  height: 100%;
  position: relative;
}
.current .c-sec-title {
  position: relative;
  z-index: 1;
}
.current .current__text-box {
  max-width: 474px;
  width: 100%;
  background-color: #16A4BF;
  border-radius: 20px;
  padding: 40px 42px 38px;
  position: absolute;
  right: 40px;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .current .current__text-box {
    max-width: 400px;
  }
}
@media screen and (max-width: 599px) {
  .current .current__text-box {
    right: 20px;
    max-width: calc(100% - 40px);
    padding: 28px 32px;
  }
}
.current .current__text-box .c-card-title {
  margin-bottom: 0.8333333333em;
}

/* problem
--------------------------------------*/
.problem .c-sec-title {
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .problem .c-sec-title {
    margin-bottom: 24px;
  }
}
.problem .c-sec-title .en {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .problem .c-sec-title .en {
    margin-bottom: 28px;
  }
}
.problem .problem__desc {
  font-size: 1.25rem;
  text-align: justify;
  margin-bottom: 120px;
}
@media screen and (max-width: 999px) {
  .problem .problem__desc {
    margin-bottom: 94px;
  }
}
@media screen and (max-width: 767px) {
  .problem .problem__desc {
    font-size: 1.125rem;
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__desc {
    font-size: 1rem;
  }
}
.problem .problem__card {
  width: calc(50% - 25px);
  background-color: #16A4BF;
  border-radius: 20px;
  text-align: center;
}
@media screen and (max-width: 999px) {
  .problem .problem__card {
    width: 100%;
  }
}
.problem .problem__card.--l {
  padding: 68px 45px;
  margin-right: 25px;
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--l {
    margin-right: 0;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .problem .problem__card.--l {
    padding: 40px 45px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card.--l {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card.--l {
    padding: 30px 32px;
  }
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--l .problem__card-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .problem .problem__card.--l .problem__card-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.problem .problem__card.--l .c-card-title {
  margin-bottom: 52px;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--l .c-card-title {
    margin-bottom: 32px;
  }
}
.problem .problem__card.--l .problem__card-desc {
  min-height: 90px;
  margin-top: 40px;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--l .problem__card-desc {
    margin-top: 0;
    margin-left: 50px;
  }
}
@media screen and (max-width: 767px) {
  .problem .problem__card.--l .problem__card-desc {
    margin-top: 40px;
    margin-left: 0;
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card.--l .problem__card-desc {
    min-height: 120px;
  }
}
.problem .problem__card.--r {
  padding: 68px 45px;
  margin-left: 25px;
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--r {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 68px 45px 55px;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .problem .problem__card.--r {
    padding: 40px 45px 55px;
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card.--r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card.--r {
    padding: 30px 32px;
  }
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--r .problem__card-item {
    width: calc(50% - 22px);
  }
}
@media screen and (max-width: 999px) and (max-width: 599px) {
  .problem .problem__card.--r .problem__card-item {
    width: 100%;
  }
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--r .problem__card-item:first-child {
    margin-right: 22px;
  }
}
@media screen and (max-width: 999px) and (max-width: 599px) {
  .problem .problem__card.--r .problem__card-item:first-child {
    margin-right: 0;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 999px) {
  .problem .problem__card.--r .problem__card-item:last-child {
    margin-left: 22px;
  }
}
@media screen and (max-width: 999px) and (max-width: 599px) {
  .problem .problem__card.--r .problem__card-item:last-child {
    margin-left: 0;
  }
}
.problem .problem__card.--r .c-card-title {
  font-size: 1.75rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .problem .problem__card.--r .c-card-title {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card.--r .c-card-title {
    font-size: 1.25rem;
  }
}
.problem .problem__card.--r .problem__card-desc {
  letter-spacing: 0;
  margin-bottom: 2em;
}
@media screen and (max-width: 599px) {
  .problem .problem__card.--r .problem__card-desc {
    margin-bottom: 1.5em;
  }
}
.problem .problem__card .icon-figure {
  width: 356px;
  height: 356px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .problem .problem__card .icon-figure {
    width: 306px;
    height: 306px;
  }
}
@media screen and (max-width: 999px) {
  .problem .problem__card .icon-figure {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card .icon-figure {
    width: 256px;
    height: 256px;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card .icon-figure {
    width: 186px;
    height: 186px;
  }
}
.problem .problem__card .icon-figure .icon-figure__circle {
  width: 234px;
  position: absolute;
  top: 61px;
  left: 61px;
}
@media screen and (max-width: 1279px) {
  .problem .problem__card .icon-figure .icon-figure__circle {
    width: 184px;
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card .icon-figure .icon-figure__circle {
    width: 164px;
    top: 46px;
    left: 46px;
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card .icon-figure .icon-figure__circle {
    width: 134px;
    top: 26px;
    left: 26px;
  }
}
.problem .problem__card .icon-figure .icon-figure__item {
  display: block;
  width: 122px;
  height: 122px;
  background-color: #16A4BF;
  border-radius: 50vh;
  border: 2px solid #fff;
  position: absolute;
  top: calc(50% - 61px);
  left: calc(50% - 61px);
}
@media screen and (max-width: 1279px) {
  .problem .problem__card .icon-figure .icon-figure__item {
    width: 102px;
    height: 102px;
    top: calc(50% - 51px);
    left: calc(50% - 51px);
  }
}
@media screen and (max-width: 599px) {
  .problem .problem__card .icon-figure .icon-figure__item {
    width: 82px;
    height: 82px;
    top: calc(50% - 41px);
    left: calc(50% - 41px);
  }
}
@media screen and (max-width: 374px) {
  .problem .problem__card .icon-figure .icon-figure__item {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
  }
}
.problem .problem__card .icon-figure .icon-figure__item:nth-of-type(2) {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.problem .problem__card .icon-figure .icon-figure__item:nth-of-type(3) {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.problem .problem__card .icon-figure .icon-figure__item:nth-of-type(4) {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.problem .problem__card .icon-figure .icon-figure__item:nth-of-type(5) {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.problem .problem__card .icon-ecosystem {
  max-width: 258px;
  margin: 0 auto 26px;
}
@media screen and (max-width: 999px) {
  .problem .problem__card .icon-ecosystem {
    margin-bottom: 0;
  }
}
.problem .problem__card .icon-balance {
  max-width: 320px;
  margin: 0 auto;
}
.problem .problem__card-desc {
  text-align: justify;
}

/* action
--------------------------------------*/
.action {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 200px;
  position: sticky;
  top: 0;
  left: 0;
}
@media screen and (max-height: 589px) {
  .action {
    position: relative;
    height: auto;
    padding: 80px 0;
  }
}
.action .c-sec-title {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .action .c-sec-title {
    margin-bottom: 24px;
  }
}
.action .c-sec-title .en {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .action .c-sec-title .en {
    margin-bottom: 35px;
  }
}
.action .action__desc {
  font-size: 1.25rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .action .action__desc {
    font-size: 1.125rem;
  }
}

/* switch
--------------------------------------*/
.switch {
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}
.switch .circle {
  display: block;
  width: 78px;
  height: 78px;
  background-color: #16A4BF;
  border-radius: 50vh;
  position: absolute;
  top: calc(50% - 39px);
  right: calc(50% - 39px);
}

/* facility
--------------------------------------*/
.facility {
  margin-top: 390px;
  padding-top: 40px;
  position: relative;
  z-index: 1;
}
@media screen and (max-height: 589px) {
  .facility {
    margin-top: 0;
  }
}
.facility .facility__title {
  margin-bottom: 85px;
}
@media screen and (max-width: 767px) {
  .facility .facility__title {
    margin-bottom: 65px;
  }
}
.facility .facility__title .en {
  display: block;
  font-size: 100px;
  letter-spacing: -0.04em;
  line-height: 0.9;
  margin-bottom: 10px;
}
@media screen and (max-width: 999px) {
  .facility .facility__title .en {
    font-size: 78px;
  }
}
@media screen and (max-width: 767px) {
  .facility .facility__title .en {
    font-size: 66px;
  }
}
@media screen and (max-width: 599px) {
  .facility .facility__title .en {
    font-size: 50px;
  }
}
@media screen and (max-width: 374px) {
  .facility .facility__title .en {
    font-size: 39px;
  }
}
.facility .facility__title .ja {
  display: block;
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 1.1em;
}
@media screen and (max-width: 767px) {
  .facility .facility__title .ja {
    font-size: 1.125rem;
    margin-top: 1.2222222222em;
  }
}
.facility .facility__desc {
  font-size: 1.25rem;
  line-height: 2;
  text-align: justify;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .facility .facility__desc {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 374px) {
  .facility .facility__desc {
    font-size: 1rem;
    line-height: 1.8;
  }
}

/* function
--------------------------------------*/
.function {
  padding-top: 0;
  padding-bottom: 248px;
}
@media screen and (max-width: 767px) {
  .function {
    padding-bottom: 174px;
  }
}
.function .facility__map {
  margin-bottom: 97px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .function .facility__map {
    margin-bottom: 45px;
  }
}
.function .facility__map .facility__balloon {
  position: absolute;
}
.function .function__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .function .function__inner > * + * {
    margin-top: 40px;
  }
}
@media screen and (max-width: 599px) {
  .function .function__inner > * + * {
    margin-top: 20px;
  }
}
.function .function__card {
  width: calc(50% - 25px);
  background-color: #00839C;
  border-radius: 20px;
  padding: 62px 50px 34px;
  margin-bottom: 50px;
}
@media screen and (max-width: 999px) {
  .function .function__card {
    padding: 62px 40px 34px;
  }
}
@media screen and (max-width: 767px) {
  .function .function__card {
    width: 100%;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 599px) {
  .function .function__card {
    padding: 40px 38px 28px;
  }
}
@media screen and (max-width: 374px) {
  .function .function__card {
    padding: 30px 32px 26px;
  }
}
.function .function__card:nth-of-type(even) {
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .function .function__card:nth-of-type(even) {
    margin-left: 0;
  }
}
.function .function__card:nth-of-type(odd) {
  margin-right: 25px;
}
@media screen and (max-width: 767px) {
  .function .function__card:nth-of-type(odd) {
    margin-right: 0;
  }
}
.function .function__card .c-card-title {
  text-align: center;
  padding-bottom: 24px;
  margin-bottom: 26px;
  position: relative;
}
.function .function__card .c-card-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  bottom: 0;
  left: 0;
}
.function .function__card-desc {
  text-align: justify;
  margin-bottom: 1.875em;
}
.function .function__img-wrap {
  aspect-ratio: 160/118;
  max-width: 160px;
  margin: 0 auto;
}
.function .function__img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* past
--------------------------------------*/
@media screen and (max-width: 767px) {
  .past {
    padding-top: 44px;
  }
}
.past .c-sec-title {
  margin-bottom: 88px;
}
@media screen and (max-width: 1279px) {
  .past .c-sec-title {
    margin-bottom: 58px;
  }
}
@media screen and (max-width: 999px) {
  .past .c-sec-title {
    margin-bottom: 34px;
  }
}
@media screen and (max-width: 767px) {
  .past .c-sec-title {
    margin-bottom: 24px;
  }
}
.past .past__desc {
  font-size: 1.25rem;
  line-height: 2;
  text-align: justify;
  margin-bottom: 106px;
}
@media screen and (max-width: 767px) {
  .past .past__desc {
    font-size: 1.125rem;
    margin-bottom: 76px;
  }
}
@media screen and (max-width: 374px) {
  .past .past__desc {
    font-size: 1rem;
  }
}
.past .past__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.past .past__slide-item img {
  background-color: transparent;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .past .past__slide-item img {
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  .past .past__slide-item .caption {
    font-size: 0.875rem;
  }
}

/* access
--------------------------------------*/
.access .c-sec-title {
  margin-bottom: 99px;
}
@media screen and (max-width: 1279px) {
  .access .c-sec-title {
    margin-bottom: 58px;
  }
}
@media screen and (max-width: 999px) {
  .access .c-sec-title {
    margin-bottom: 34px;
  }
}
@media screen and (max-width: 767px) {
  .access .c-sec-title {
    margin-bottom: 24px;
  }
}
.access .access__map {
  margin-bottom: 100px;
}
@media screen and (max-width: 1279px) {
  .access .access__map {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .access .access__map {
    margin-bottom: 45px;
  }
}
.access .access__list > * + * {
  margin-top: 8px;
}
@media screen and (max-width: 599px) {
  .access .access__list > * + * {
    margin-top: 20px;
  }
}
.access .access__list .list__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 599px) {
  .access .access__list .list__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.access .access__list .list__title {
  min-width: 270px;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 999px) {
  .access .access__list .list__title {
    min-width: 220px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 599px) {
  .access .access__list .list__title {
    max-width: 100%;
    margin-bottom: 0.2em;
  }
}
.access .access__list .list__desc {
  font-size: 1.125rem;
  line-height: 1.5;
}
@media screen and (max-width: 999px) {
  .access .access__list .list__desc {
    font-size: 1rem;
  }
}
@media screen and (max-width: 374px) {
  .access .access__list .list__desc {
    font-size: 0.9375rem;
  }
}

/* contribution
--------------------------------------*/
.contribution .inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 999px) {
  .contribution .flex-content:first-child {
    margin-bottom: 50px;
  }
}
.contribution .c-sec-title {
  padding-bottom: 1.0714285714em;
  margin-bottom: 1.0714285714em;
  position: relative;
}
.contribution .c-sec-title::after {
  content: "";
  display: block;
  max-width: 485px;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 50vh;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 999px) {
  .contribution .c-sec-title::after {
    max-width: 100%;
  }
}
.contribution .img-wrap {
  margin-bottom: 58px;
}
@media screen and (max-width: 599px) {
  .contribution .img-wrap {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .contribution .img-wrap img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contribution .c-btn-main {
    margin: 0 auto;
  }
}

/*======================================
    Unique
======================================*/
/* loading
--------------------------------------*/
.loading {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #00839C;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}
.loading .loading__text {
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .loading .loading__text {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 599px) {
  .loading .loading__text {
    font-size: 1.25rem;
  }
}

/*======================================
    Helper
======================================*/
/* display
--------------------------------------*/
.hp_disp-bk {
  display: block;
}

.hp_disp-ib {
  display: inline-block;
}

/* font size
--------------------------------------*/
.hp_fsz16r {
  font-size: 1rem;
}
@media screen and (max-width: 599px) {
  .hp_fsz16r {
    font-size: 0.875rem;
  }
}

/* z-index
--------------------------------------*/
.hp_zi3 {
  position: relative;
  z-index: 3;
}/*# sourceMappingURL=style.css.map */