@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul, li {
  list-style: none;
}

* {
  box-sizing: border-box;
  outline: 0;
}

:root {
  --vw: 1vw;
}

@font-face {
  font-family: "DIN Condensed";
  src: url("../font/DIN-Condensed-Bold.woff2") format("woff2"), url("../font/DIN-Condensed-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@media only screen and (max-width: 767.98px) {
  .tbpc-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

body {
  position: relative;
  z-index: 1;
  color: #505050;
  line-height: 1.93;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 400;
  font-size: 32px;
  font-size: calc(var(--vw) * 32 / 1803 * 100);
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  text-align: left;
}
@media only screen and (max-width: 767.98px) {
  body {
    min-width: 0;
  }
}
@media screen and (min-width: 1803px) {
  body {
    font-size: 32px;
  }
}
@media only screen and (max-width: 767.98px) {
  body {
    font-size: calc(var(--vw) * 32 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body {
    width: 100%;
    min-width: inherit;
  }
}
body.hidden {
  /* when modal active */
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  overscroll-behavior: none;
}

input,
select, button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance: textfield;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=checkbox],
input[type=radio] {
  position: absolute;
  opacity: 0;
  height: 1px;
  width: 1px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

input[type=checkbox] {
  display: none;
}

sup {
  font-size: 0.7em;
  vertical-align: top;
}

a, button {
  text-decoration: none;
  color: #000;
}

img {
  width: 100%;
  vertical-align: bottom;
}

a.fade,
div.fade,
input.fade {
  transition: opacity 0.4s;
  opacity: 1;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
a.fade:hover,
div.fade:hover,
input.fade:hover {
  opacity: 0.6;
}

#wrapper {
  position: relative;
}

.fadeObj {
  opacity: 0;
  transition: 0.6s;
}
.fadeObj.is-active {
  opacity: 1;
  transition: 0.6s;
}

footer {
  font-family: "DIN Condensed", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 26px;
  font-size: calc(var(--vw) * 26 / 1803 * 100);
  padding: calc(var(--vw) * 30 / 1803 * 100) calc(var(--vw) * 0 / 1803 * 100) calc(var(--vw) * 56 / 1803 * 100) calc(var(--vw) * 0 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  footer {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767.98px) {
  footer {
    font-size: calc(var(--vw) * 30 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  footer {
    padding: 30px 0px 56px 0px;
  }
}
@media only screen and (max-width: 767.98px) {
  footer {
    padding: calc(var(--vw) * 43 / 833 * 100) calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 60 / 833 * 100) calc(var(--vw) * 0 / 833 * 100);
  }
}

body {
  background: url(../img/bg_s_pc.png) center top/100% auto repeat-y;
}
@media screen and (min-width: 1803px) {
  body {
    background: url(../img/bg_pc.png) center top/6000px auto repeat-y;
  }
}
@media only screen and (max-width: 767.98px) {
  body {
    background: url(../img/bg_sp.png) center top/100% auto repeat-y;
  }
}

.start {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 100;
}

/* スクロール領域 */
.scrollbox {
  position: relative;
}

/* 下端のグラデーション（ヒント） */
.scrollbox::after {
  content: "";
  position: -webkit-sticky;
  position: sticky;
  display: block;
  bottom: 0;
  width: 100%;
  height: var(--fade-height);
  /* 下に向けて濃→薄：背景が白想定。暗色背景ならrgba値を調整 */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%);
  pointer-events: none; /* クリック操作を邪魔しない */
  transition: opacity var(--fade-duration) ease;
  opacity: 1;
  background: var(--fade-bg);
}

/* 下端グラデ（オーバーレイ固定。sticky不使用で安定） */
.scrollbox::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--fade-height);
  pointer-events: none;
  z-index: 1; /* 中身より前面に */
  background: linear-gradient(to bottom, color-mix(in oklab, var(--fade-bg) 0%, transparent) 0%, var(--fade-bg) 70%);
  /* ↑ color-mix が無いブラウザでも問題なし（transparent→背景） */
  transition: opacity var(--fade-duration) ease;
  opacity: 1;
}

.scrollbox.is-fade-hidden::after {
  opacity: 0;
}

main {
  padding-bottom: calc(var(--vw) * 165 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  main {
    padding-bottom: 165px;
  }
}
@media only screen and (max-width: 767.98px) {
  main {
    padding-bottom: calc(var(--vw) * 323 / 833 * 100);
  }
}

.pagetop {
  width: calc(var(--vw) * 1400 / 1803 * 100);
  max-width: 1400px;
  position: relative;
  margin: 0 auto;
}
@media only screen and (max-width: 767.98px) {
  .pagetop {
    width: calc(var(--vw) * 780 / 833 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .pagetop {
    top: calc(var(--vw) * 4 / 833 * 100);
  }
}
.pagetop a {
  width: calc(var(--vw) * 159 / 1803 * 100);
  max-width: 159px;
  height: calc(var(--vw) * 52 / 1803 * 100);
  font-size: calc(var(--vw) * 22 / 1803 * 100);
  line-height: 1;
  color: #6ab7de;
  background: #fff;
  display: -ms-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: calc(var(--vw) * 3 / 1803 * 100);
  transition: color 0.4s, background-color 0.4s;
}
@media screen and (min-width: 1803px) {
  .pagetop a {
    height: 52px;
  }
}
@media screen and (min-width: 1803px) {
  .pagetop a {
    font-size: 22px;
  }
}
@media only screen and (max-width: 767.98px) {
  .pagetop a {
    width: calc(var(--vw) * 208 / 833 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .pagetop a {
    height: calc(var(--vw) * 61.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .pagetop a {
    font-size: calc(var(--vw) * 24 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .pagetop a {
    margin-right: 3px;
  }
}
@media only screen and (max-width: 767.98px) {
  .pagetop a {
    margin-right: calc(var(--vw) * 4 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .pagetop a {
    margin-right: -1px;
  }
}
.pagetop a:hover {
  transition: color 0.4s, background-color 0.4s;
  color: #fff;
  background: #6ab7de;
}

.fade_in, .fst_fade_in {
  transition: all 0.5s ease-out;
  opacity: 0;
}
.fade_in.is-active, .fst_fade_in.is-active {
  opacity: 1;
  transition: all 0.5s ease-out;
}

.kv {
  padding-top: 321px;
  padding-top: calc(var(--vw) * 321 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .kv {
    padding-top: 321px;
  }
}
@media only screen and (max-width: 767.98px) {
  .kv {
    padding-top: calc(var(--vw) * 268 / 833 * 100);
  }
}
.kv .logo {
  line-height: 0;
  width: 876px;
  width: calc(var(--vw) * 876 / 1803 * 100);
  max-width: 876px;
  margin: 0 auto;
  position: relative;
  left: 3px;
  left: calc(var(--vw) * 3 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .kv .logo {
    width: calc(var(--vw) * 611 / 833 * 100);
    max-width: none;
  }
}
@media screen and (min-width: 1803px) {
  .kv .logo {
    left: 3px;
  }
}
@media only screen and (max-width: 767.98px) {
  .kv .logo {
    left: calc(var(--vw) * 3 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .kv .logo {
    left: calc(var(--vw) * 0 / 833 * 100);
  }
}
.kv .lead {
  line-height: 0;
  width: 718px;
  width: calc(var(--vw) * 718 / 1803 * 100);
  max-width: 718px;
  margin: 0 auto;
  margin-top: 19px;
  margin-top: calc(var(--vw) * 19 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .kv .lead {
    width: calc(var(--vw) * 639 / 833 * 100);
    max-width: none;
  }
}
@media screen and (min-width: 1803px) {
  .kv .lead {
    margin-top: 19px;
  }
}
@media only screen and (max-width: 767.98px) {
  .kv .lead {
    margin-top: calc(var(--vw) * 54 / 833 * 100);
  }
}

@keyframes scroll {
  from {
    top: -100%;
  }
  to {
    top: 100%;
  }
}
.scroll {
  position: relative;
  text-align: center;
  display: -ms-flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(var(--vw) * 196 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .scroll {
    margin-top: 196px;
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll {
    margin-top: calc(var(--vw) * 101 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll {
    justify-content: flex-start;
    align-items: baseline;
  }
}
.scroll .txt {
  writing-mode: vertical-rl;
  position: absolute;
  top: calc(var(--vw) * 3 / 1803 * 100);
  right: calc(50% - 1.4em);
  transform: translateX(-50%);
  font-family: "DIN Condensed", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  font-size: 24px;
  font-size: calc(var(--vw) * 24 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .scroll .txt {
    top: 3px;
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .txt {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .txt {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .scroll .txt {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .txt {
    font-size: calc(var(--vw) * 24 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .txt {
    right: auto;
    transform: translateX(0);
  }
}
@media only screen and (max-width: 767.98px) and (max-width: 767.98px) {
  .scroll .txt {
    left: calc(var(--vw) * 32 / 833 * 100);
  }
}
.scroll .bar {
  display: inline-block;
  width: calc(var(--vw) * 2.5 / 1803 * 100);
  max-width: 2.5px;
  height: 70px;
  height: calc(var(--vw) * 162 / 1803 * 100);
  overflow: hidden;
  position: relative;
  left: calc(var(--vw) * -1.25 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .scroll .bar {
    width: calc(var(--vw) * 4 / 833 * 100);
    max-width: none;
  }
}
@media screen and (min-width: 1803px) {
  .scroll .bar {
    height: 162px;
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .bar {
    height: calc(var(--vw) * 191 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .scroll .bar {
    left: -1.25px;
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .bar {
    left: calc(var(--vw) * -1.25 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .scroll .bar {
    left: calc(var(--vw) * 28 / 833 * 100);
  }
}
.scroll .bar:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  z-index: 1;
}
.scroll .bar:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  background: #505050;
  animation-duration: 1.2s;
  animation-name: scroll;
  animation-iteration-count: infinite;
  animation-direction: forwards;
  z-index: 2;
}

.block {
  width: calc(var(--vw) * 1290 / 1803 * 100);
  max-width: 1290px;
  margin: 0 auto;
}
@media only screen and (max-width: 767.98px) {
  .block {
    width: calc(var(--vw) * 772 / 833 * 100);
    max-width: none;
  }
}
.block.concept {
  margin-top: calc(var(--vw) * 305 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.concept {
    margin-top: 305px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.concept {
    margin-top: calc(var(--vw) * 264 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.concept.mobile {
    margin-top: calc(var(--vw) * 266 / 833 * 100);
  }
}
.block.concept .txt strong {
  font-size: calc(var(--vw) * 32 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.concept .txt strong {
    font-size: 32px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.concept .txt strong {
    font-size: calc(var(--vw) * 30 / 833 * 100);
  }
}
.block.concept .ttl_wrap .ttl {
  letter-spacing: -0.005em;
  line-height: 1;
  margin-left: -0.05em;
}
.block.concept .box {
  height: calc(var(--vw) * 645 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.concept .box {
    height: 645px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.concept .box {
    height: calc(var(--vw) * 1092 / 833 * 100);
  }
}
.block.profile {
  margin-top: calc(var(--vw) * 163 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.profile {
    margin-top: 163px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile {
    margin-top: calc(var(--vw) * 226 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile.mobile {
    margin-top: calc(var(--vw) * 229 / 833 * 100);
  }
}
.block.profile .fl {
  display: -ms-flex;
  display: flex;
  background: #fff;
  height: calc(var(--vw) * 645 / 1803 * 100);
  /* スクロールしたらグラデを消す */
  /* 中身が溢れていない（＝スクロール不要）ときは最初から消しておく */
  /* もし .box.white 以外の背景色を使う箇所があれば色を上書き */
  /* 例: 薄グレー背景なら ↓ を適用
  .box.gray  .txt_wrap{ --fade-rgb: 245,247,248; }
  */
}
@media screen and (min-width: 1803px) {
  .block.profile .fl {
    height: 645px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl {
    flex-direction: column;
    height: auto;
    max-height: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl {
    margin-left: calc(var(--vw) * 1 / 833 * 100);
  }
}
.block.profile .fl .img {
  background: #fff;
  width: calc(var(--vw) * 590 / 1803 * 100);
  max-width: 590px;
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .img {
    width: 100%;
    max-width: none;
  }
}
.block.profile .fl .img .name {
  width: calc(var(--vw) * 326 / 1803 * 100);
  max-width: 326px;
  margin: 0 auto;
  margin-top: calc(var(--vw) * 40 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .img .name {
    width: calc(var(--vw) * 326 / 833 * 100);
    max-width: none;
  }
}
@media screen and (min-width: 1803px) {
  .block.profile .fl .img .name {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .img .name {
    margin-top: calc(var(--vw) * 30 / 833 * 100);
  }
}
.block.profile .fl .txt_wrap .txt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--fade-h);
  pointer-events: none; /* スクロール操作を邪魔しない */
  background: linear-gradient(to bottom, rgba(var(--fade-rgb), 0) 0%, rgba(var(--fade-rgb), 1) 85%);
  opacity: 1;
  transition: opacity 0.25s ease;
}
.block.profile .fl .txt_wrap .txt.is-scrolled::after {
  opacity: 0;
}
.block.profile .fl .txt_wrap .txt.no-overflow::after {
  opacity: 0;
}
.block.profile .fl .box.white .txt_wrap .txt {
  --fade-rgb: 255,255,255;
}
.block.profile .fl .txt_wrap {
  position: relative;
  background: #fff;
  flex: 1;
  padding: calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .txt_wrap {
    height: calc(var(--vw) * 857 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .block.profile .fl .txt_wrap {
    padding: 40px 40px 40px 40px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .txt_wrap {
    padding: calc(var(--vw) * 40 / 833 * 100) calc(var(--vw) * 50 / 833 * 100) calc(var(--vw) * 40 / 833 * 100) calc(var(--vw) * 50 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .txt_wrap {
    flex: auto;
  }
}
.block.profile .fl .txt_wrap .txt {
  position: relative;
  height: 100%;
  overflow: auto;
  font-size: 20px;
  /* グラデの見た目調整用  */
  --fade-h: 200px; /* グラデの高さ */
  --fade-rgb: 255,255,255; /* 背景色が白(#fff)の場合。変えるならここをRGBで */
}
@media only screen and (max-width: 767.98px) {
  .block.profile .fl .txt_wrap .txt {
    font-size: 2.95vw;
  }
}
.block.project {
  margin-top: calc(var(--vw) * 163.5 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.project {
    margin-top: 163.5px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project {
    margin-top: calc(var(--vw) * 226 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project.mobile {
    margin-top: calc(var(--vw) * 228 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .box {
    padding: calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .box {
    width: calc(var(--vw) * 772 / 833 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .box {
    left: calc(var(--vw) * 0.8 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .box {
    top: calc(var(--vw) * 1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .box {
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767.98px) and (max-width: 767.98px) {
  .block.project .box {
    gap: calc(var(--vw) * 68 / 833 * 100) calc(var(--vw) * 0 / 833 * 100);
  }
}
.block.project .img_list {
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: calc(var(--vw) * 57 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.project .img_list {
    margin-top: 57px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list {
    display: contents;
  }
}
.block.project .img_list:first-of-type {
  margin-top: 0;
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(1) li:nth-child(1) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(1) li:nth-child(2) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(1) li:nth-child(3) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(2) li:nth-child(1) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(2) li:nth-child(2) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(2) li:nth-child(3) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(3) li:nth-child(1) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(3) li:nth-child(2) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list:nth-child(3) li:nth-child(3) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
.block.project .img_list li {
  position: relative;
  width: 33.28%;
  width: calc(var(--vw) * 428 / 1803 * 100);
  max-width: 428px;
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list li {
    width: calc(var(--vw) * 349.2 / 833 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list li {
    height: calc(var(--vw) * 254.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.project .img_list li {
    overflow: hidden;
  }
}
.block.team {
  margin-top: calc(var(--vw) * 164 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.team {
    margin-top: 164px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team {
    margin-top: calc(var(--vw) * 228 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team.mobile {
    margin-top: calc(var(--vw) * 230 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .ttl_wrap {
    top: calc(var(--vw) * -2 / 833 * 100);
  }
}
.block.team .box {
  max-width: 1200x;
}
@media only screen and (max-width: 767.98px) {
  .block.team .box {
    left: calc(var(--vw) * 0.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .box {
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767.98px) and (max-width: 767.98px) {
  .block.team .box {
    gap: calc(var(--vw) * 67.1 / 833 * 100) calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) and (max-width: 767.98px) {
  .block.team .box {
    padding: calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100) calc(var(--vw) * 0 / 833 * 100);
  }
}
.block.team .team_list {
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: calc(var(--vw) * 56.5 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.team .team_list {
    margin-top: 56.5px;
  }
}
.block.team .team_list:first-of-type {
  margin-top: 0;
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list {
    display: contents;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(1) li:nth-child(1) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(1) li:nth-child(2) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(1) li:nth-child(3) {
    top: calc(var(--vw) * -1 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(1) li:nth-child(4) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(1) li:nth-child(5) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(2) li:nth-child(1) {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(2) li:nth-child(2) {
    top: calc(var(--vw) * 1.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(2) li:nth-child(3) {
    top: calc(var(--vw) * 1.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(2) li:nth-child(4) {
    top: calc(var(--vw) * 1.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(2) li:nth-child(5) {
    top: calc(var(--vw) * 2 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(3) li:nth-child(1) {
    top: calc(var(--vw) * 2 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(3) li:nth-child(2) {
    top: calc(var(--vw) * 2 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(3) li:nth-child(3) {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(3) li:nth-child(4) {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list:nth-child(3) li:nth-child(5) {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
.block.team .team_list li {
  position: relative;
  background: #fff;
  display: -ms-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc(var(--vw) * 287 / 1803 * 100);
  max-width: 287px;
  height: calc(var(--vw) * 213 / 1803 * 100);
  margin-bottom: 57px;
}
@media screen and (min-width: 1803px) {
  .block.team .team_list li {
    height: 213px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list li {
    width: calc(var(--vw) * 349.2 / 833 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list li {
    height: calc(var(--vw) * 254.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.team .team_list li {
    margin-bottom: 0;
  }
}
.block.team .team_list .team01 {
  width: 80%;
}
.block.team .team_list .team02 {
  width: 90%;
}
.block.team .team_list .team03 {
  width: 90%;
}
.block.what {
  margin-top: calc(var(--vw) * 164 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.what {
    margin-top: 164px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.what {
    margin-top: calc(var(--vw) * 228 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.what.mobile {
    margin-top: calc(var(--vw) * 230 / 833 * 100);
  }
}
.block.what .box {
  height: calc(var(--vw) * 445 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.what .box {
    height: 645px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.what .box {
    height: calc(var(--vw) * 792 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.what .box {
    top: calc(var(--vw) * 3 / 833 * 100);
  }
}
.block.what .box .txt {
  font-size: 20px;
}
@media only screen and (max-width: 767.98px) {
  .block.what .box .txt {
    font-size: 3.2vw;
  }
}
.block.contact {
  margin-top: calc(var(--vw) * 163 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.contact {
    margin-top: 163px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.contact {
    margin-top: calc(var(--vw) * 228.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.contact.mobile {
    margin-top: calc(var(--vw) * 230 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.contact .ttl_wrap {
    top: calc(var(--vw) * 0 / 833 * 100);
  }
}
.block.contact .t02 {
  font-weight: 700;
}
.block.contact .t02 a {
  font-weight: 400;
  color: #6ab7de;
}
.block.contact .box {
  height: calc(var(--vw) * 213 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block.contact .box {
    height: 213px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block.contact .box {
    height: calc(var(--vw) * 255 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.contact .box {
    top: calc(var(--vw) * 2 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block.mobile .ttl_wrap {
    height: calc(var(--vw) * 225 / 833 * 100);
  }
}
.block .ttl_wrap {
  position: relative;
  padding-top: 0.08em;
  padding-bottom: calc(var(--vw) * 71 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block .ttl_wrap {
    padding-bottom: 71px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap {
    height: calc(var(--vw) * 226 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap {
    padding-bottom: calc(var(--vw) * 0 / 833 * 100);
  }
}
.block .ttl_wrap .ttl {
  font-family: "DIN Condensed", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  text-align: center;
  font-size: calc(var(--vw) * 144 / 1803 * 100);
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (min-width: 1803px) {
  .block .ttl_wrap .ttl {
    font-size: 144px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap .ttl {
    font-size: calc(var(--vw) * 130 / 833 * 100);
  }
}
.block .ttl_wrap .ja {
  position: absolute;
  top: calc(var(--vw) * 127 / 1803 * 100);
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 0.2em;
  font-size: calc(var(--vw) * 24 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block .ttl_wrap .ja {
    top: 127px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap .ja {
    top: calc(var(--vw) * 127 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap .ja {
    top: calc(var(--vw) * 118 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .block .ttl_wrap .ja {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .ttl_wrap .ja {
    font-size: calc(var(--vw) * 28 / 833 * 100);
  }
}
.block .box {
  width: calc(var(--vw) * 1288 / 1803 * 100);
  max-width: 1288px;
  margin: 0 auto;
  position: relative;
  left: calc(var(--vw) * -1.5 / 1803 * 100);
}
@media only screen and (max-width: 767.98px) {
  .block .box {
    width: calc(var(--vw) * 771.5 / 833 * 100);
    max-width: none;
  }
}
@media screen and (min-width: 1803px) {
  .block .box {
    left: -1.5px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .box {
    left: calc(var(--vw) * -1.5 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block .box {
    left: calc(var(--vw) * 0 / 833 * 100);
  }
}
@media screen and (min-width: 1803px) {
  .block .box {
    position: relative;
    left: 4px;
  }
}
.block .box.white {
  background: #fff;
  overflow: auto;
  padding: calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100) calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block .box.white {
    padding: 40px 40px 40px 40px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .box.white {
    padding: calc(var(--vw) * 40 / 833 * 100) calc(var(--vw) * 50 / 833 * 100) calc(var(--vw) * 40 / 833 * 100) calc(var(--vw) * 50 / 833 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .block .box.white {
    margin-left: calc(var(--vw) * 1 / 833 * 100);
  }
}
.block .box.white .txt_wrap {
  height: 100%;
  overflow: auto;
}
.block .box .txt {
  letter-spacing: 0em;
  font-size: calc(var(--vw) * 26 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .block .box .txt {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767.98px) {
  .block .box .txt {
    font-size: calc(var(--vw) * 30 / 833 * 100);
  }
}

.disc {
  padding-left: 1.2em;
}
.disc li {
  list-style: disc;
  margin-top: 0.3em;
}
.disc li:first-child {
  margin-top: 0;
}

.decimal {
  padding-left: 1.2em;
}
.decimal li {
  list-style: decimal;
  margin-top: 0.3em;
}
.decimal li:first-child {
  margin-top: 0;
}

.regular {
  font-weight: 400;
}

.bold {
  font-weight: 600;
}

.tdeco_under {
  text-decoration: underline;
}

.center {
  margin-left: auto !important;
  margin-right: auto !important;
}

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

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

.align_left {
  text-align: left !important;
  text-align: justify !important;
}

.align_left_noj {
  text-align: left !important;
}

@media only screen and (max-width: 767.98px) {
  .sp_align_center {
    text-align: center !important;
  }
}

@media only screen and (max-width: 767.98px) {
  .sp_align_right {
    text-align: right !important;
  }
}

@media only screen and (max-width: 767.98px) {
  .sp_align_left {
    text-align: left !important;
    text-align: justify !important;
  }
}

.dblock {
  display: block !important;
}

.dib {
  display: inline-block !important;
}

@media only screen and (max-width: 767.98px) {
  .spblock {
    display: block;
    min-width: 0 !important;
    width: auto !important;
  }
}

@media only screen and (max-width: 767.98px) {
  .sptable {
    display: table !important;
  }
}

.relative {
  position: relative;
}

.fz10 {
  font-size: calc(var(--vw) * 10 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz10 {
    font-size: 10px;
  }
}

.fz11 {
  font-size: calc(var(--vw) * 11 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz11 {
    font-size: 11px;
  }
}

.fz12 {
  font-size: calc(var(--vw) * 12 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz12 {
    font-size: 12px;
  }
}

.fz13 {
  font-size: calc(var(--vw) * 13 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz13 {
    font-size: 13px;
  }
}

.fz14 {
  font-size: calc(var(--vw) * 14 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz14 {
    font-size: 14px;
  }
}

.fz15 {
  font-size: calc(var(--vw) * 15 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz15 {
    font-size: 15px;
  }
}

.fz16 {
  font-size: calc(var(--vw) * 16 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz16 {
    font-size: 16px;
  }
}

.fz17 {
  font-size: calc(var(--vw) * 17 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz17 {
    font-size: 17px;
  }
}

.fz18 {
  font-size: calc(var(--vw) * 18 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz18 {
    font-size: 18px;
  }
}

.fz19 {
  font-size: calc(var(--vw) * 19 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz19 {
    font-size: 19px;
  }
}

.fz20 {
  font-size: calc(var(--vw) * 20 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz20 {
    font-size: 20px;
  }
}

.fz21 {
  font-size: calc(var(--vw) * 21 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz21 {
    font-size: 21px;
  }
}

.fz22 {
  font-size: calc(var(--vw) * 22 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz22 {
    font-size: 22px;
  }
}

.fz23 {
  font-size: calc(var(--vw) * 23 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz23 {
    font-size: 23px;
  }
}

.fz24 {
  font-size: calc(var(--vw) * 24 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz24 {
    font-size: 24px;
  }
}

.fz25 {
  font-size: calc(var(--vw) * 25 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz25 {
    font-size: 25px;
  }
}

.fz26 {
  font-size: calc(var(--vw) * 26 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz26 {
    font-size: 26px;
  }
}

.fz27 {
  font-size: calc(var(--vw) * 27 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz27 {
    font-size: 27px;
  }
}

.fz28 {
  font-size: calc(var(--vw) * 28 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz28 {
    font-size: 28px;
  }
}

.fz29 {
  font-size: calc(var(--vw) * 29 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz29 {
    font-size: 29px;
  }
}

.fz30 {
  font-size: calc(var(--vw) * 30 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz30 {
    font-size: 30px;
  }
}

.fz31 {
  font-size: calc(var(--vw) * 31 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz31 {
    font-size: 31px;
  }
}

.fz32 {
  font-size: calc(var(--vw) * 32 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz32 {
    font-size: 32px;
  }
}

.fz33 {
  font-size: calc(var(--vw) * 33 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz33 {
    font-size: 33px;
  }
}

.fz34 {
  font-size: calc(var(--vw) * 34 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz34 {
    font-size: 34px;
  }
}

.fz35 {
  font-size: calc(var(--vw) * 35 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz35 {
    font-size: 35px;
  }
}

.fz36 {
  font-size: calc(var(--vw) * 36 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz36 {
    font-size: 36px;
  }
}

.fz37 {
  font-size: calc(var(--vw) * 37 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz37 {
    font-size: 37px;
  }
}

.fz38 {
  font-size: calc(var(--vw) * 38 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz38 {
    font-size: 38px;
  }
}

.fz39 {
  font-size: calc(var(--vw) * 39 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz39 {
    font-size: 39px;
  }
}

.fz40 {
  font-size: calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .fz40 {
    font-size: 40px;
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz10 {
    font-size: calc(var(--vw) * 10 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz11 {
    font-size: calc(var(--vw) * 11 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz12 {
    font-size: calc(var(--vw) * 12 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz13 {
    font-size: calc(var(--vw) * 13 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz14 {
    font-size: calc(var(--vw) * 14 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz15 {
    font-size: calc(var(--vw) * 15 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz16 {
    font-size: calc(var(--vw) * 16 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz17 {
    font-size: calc(var(--vw) * 17 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz18 {
    font-size: calc(var(--vw) * 18 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz19 {
    font-size: calc(var(--vw) * 19 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz20 {
    font-size: calc(var(--vw) * 20 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz21 {
    font-size: calc(var(--vw) * 21 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz22 {
    font-size: calc(var(--vw) * 22 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz23 {
    font-size: calc(var(--vw) * 23 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz24 {
    font-size: calc(var(--vw) * 24 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz25 {
    font-size: calc(var(--vw) * 25 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz26 {
    font-size: calc(var(--vw) * 26 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz27 {
    font-size: calc(var(--vw) * 27 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz28 {
    font-size: calc(var(--vw) * 28 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz29 {
    font-size: calc(var(--vw) * 29 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz30 {
    font-size: calc(var(--vw) * 30 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz31 {
    font-size: calc(var(--vw) * 31 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz32 {
    font-size: calc(var(--vw) * 32 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz33 {
    font-size: calc(var(--vw) * 33 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz34 {
    font-size: calc(var(--vw) * 34 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz35 {
    font-size: calc(var(--vw) * 35 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz36 {
    font-size: calc(var(--vw) * 36 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz37 {
    font-size: calc(var(--vw) * 37 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz38 {
    font-size: calc(var(--vw) * 38 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz39 {
    font-size: calc(var(--vw) * 39 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spfz40 {
    font-size: calc(var(--vw) * 40 / 833 * 100);
  }
}

.mt0 {
  margin-top: calc(var(--vw) * 0 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt0 {
    margin-top: 0px;
  }
}

.mt10 {
  margin-top: calc(var(--vw) * 10 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt10 {
    margin-top: 10px;
  }
}

.mt20 {
  margin-top: calc(var(--vw) * 20 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt20 {
    margin-top: 20px;
  }
}

.mt30 {
  margin-top: calc(var(--vw) * 30 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt30 {
    margin-top: 30px;
  }
}

.mt40 {
  margin-top: calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt40 {
    margin-top: 40px;
  }
}

.mt50 {
  margin-top: calc(var(--vw) * 50 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt50 {
    margin-top: 50px;
  }
}

.mt60 {
  margin-top: calc(var(--vw) * 60 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt60 {
    margin-top: 60px;
  }
}

.mt70 {
  margin-top: calc(var(--vw) * 70 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt70 {
    margin-top: 70px;
  }
}

.mt80 {
  margin-top: calc(var(--vw) * 80 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt80 {
    margin-top: 80px;
  }
}

.mt90 {
  margin-top: calc(var(--vw) * 90 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt90 {
    margin-top: 90px;
  }
}

.mt100 {
  margin-top: calc(var(--vw) * 100 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt100 {
    margin-top: 100px;
  }
}

.mt110 {
  margin-top: calc(var(--vw) * 110 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt110 {
    margin-top: 110px;
  }
}

.mt120 {
  margin-top: calc(var(--vw) * 120 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mt120 {
    margin-top: 120px;
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt0 {
    margin-top: calc(var(--vw) * 0 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt10 {
    margin-top: calc(var(--vw) * 10 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt20 {
    margin-top: calc(var(--vw) * 20 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt30 {
    margin-top: calc(var(--vw) * 30 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt40 {
    margin-top: calc(var(--vw) * 40 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt50 {
    margin-top: calc(var(--vw) * 50 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt60 {
    margin-top: calc(var(--vw) * 60 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt70 {
    margin-top: calc(var(--vw) * 70 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt80 {
    margin-top: calc(var(--vw) * 80 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt90 {
    margin-top: calc(var(--vw) * 90 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt100 {
    margin-top: calc(var(--vw) * 100 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt110 {
    margin-top: calc(var(--vw) * 110 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmt120 {
    margin-top: calc(var(--vw) * 120 / 833 * 100);
  }
}

.mb0 {
  margin-bottom: calc(var(--vw) * 0 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb0 {
    margin-bottom: 0px;
  }
}

.mb10 {
  margin-bottom: calc(var(--vw) * 10 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb10 {
    margin-bottom: 10px;
  }
}

.mb20 {
  margin-bottom: calc(var(--vw) * 20 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb20 {
    margin-bottom: 20px;
  }
}

.mb30 {
  margin-bottom: calc(var(--vw) * 30 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb30 {
    margin-bottom: 30px;
  }
}

.mb40 {
  margin-bottom: calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb40 {
    margin-bottom: 40px;
  }
}

.mb50 {
  margin-bottom: calc(var(--vw) * 50 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb50 {
    margin-bottom: 50px;
  }
}

.mb60 {
  margin-bottom: calc(var(--vw) * 60 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb60 {
    margin-bottom: 60px;
  }
}

.mb70 {
  margin-bottom: calc(var(--vw) * 70 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb70 {
    margin-bottom: 70px;
  }
}

.mb80 {
  margin-bottom: calc(var(--vw) * 80 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb80 {
    margin-bottom: 80px;
  }
}

.mb90 {
  margin-bottom: calc(var(--vw) * 90 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb90 {
    margin-bottom: 90px;
  }
}

.mb100 {
  margin-bottom: calc(var(--vw) * 100 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb100 {
    margin-bottom: 100px;
  }
}

.mb110 {
  margin-bottom: calc(var(--vw) * 110 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb110 {
    margin-bottom: 110px;
  }
}

.mb120 {
  margin-bottom: calc(var(--vw) * 120 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mb120 {
    margin-bottom: 120px;
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb0 {
    margin-bottom: calc(var(--vw) * 0 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb10 {
    margin-bottom: calc(var(--vw) * 10 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb20 {
    margin-bottom: calc(var(--vw) * 20 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb30 {
    margin-bottom: calc(var(--vw) * 30 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb40 {
    margin-bottom: calc(var(--vw) * 40 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb50 {
    margin-bottom: calc(var(--vw) * 50 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb60 {
    margin-bottom: calc(var(--vw) * 60 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb70 {
    margin-bottom: calc(var(--vw) * 70 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb80 {
    margin-bottom: calc(var(--vw) * 80 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb90 {
    margin-bottom: calc(var(--vw) * 90 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb100 {
    margin-bottom: calc(var(--vw) * 100 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb110 {
    margin-bottom: calc(var(--vw) * 110 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmb120 {
    margin-bottom: calc(var(--vw) * 120 / 833 * 100);
  }
}

.ml0 {
  margin-left: calc(var(--vw) * 0 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml0 {
    margin-left: 0px;
  }
}

.ml10 {
  margin-left: calc(var(--vw) * 10 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml10 {
    margin-left: 10px;
  }
}

.ml20 {
  margin-left: calc(var(--vw) * 20 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml20 {
    margin-left: 20px;
  }
}

.ml30 {
  margin-left: calc(var(--vw) * 30 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml30 {
    margin-left: 30px;
  }
}

.ml40 {
  margin-left: calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml40 {
    margin-left: 40px;
  }
}

.ml50 {
  margin-left: calc(var(--vw) * 50 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml50 {
    margin-left: 50px;
  }
}

.ml60 {
  margin-left: calc(var(--vw) * 60 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml60 {
    margin-left: 60px;
  }
}

.ml70 {
  margin-left: calc(var(--vw) * 70 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml70 {
    margin-left: 70px;
  }
}

.ml80 {
  margin-left: calc(var(--vw) * 80 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml80 {
    margin-left: 80px;
  }
}

.ml90 {
  margin-left: calc(var(--vw) * 90 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml90 {
    margin-left: 90px;
  }
}

.ml100 {
  margin-left: calc(var(--vw) * 100 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml100 {
    margin-left: 100px;
  }
}

.ml110 {
  margin-left: calc(var(--vw) * 110 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml110 {
    margin-left: 110px;
  }
}

.ml120 {
  margin-left: calc(var(--vw) * 120 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .ml120 {
    margin-left: 120px;
  }
}

@media only screen and (max-width: 767.98px) {
  .spml0 {
    margin-left: calc(var(--vw) * 0 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml10 {
    margin-left: calc(var(--vw) * 10 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml20 {
    margin-left: calc(var(--vw) * 20 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml30 {
    margin-left: calc(var(--vw) * 30 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml40 {
    margin-left: calc(var(--vw) * 40 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml50 {
    margin-left: calc(var(--vw) * 50 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml60 {
    margin-left: calc(var(--vw) * 60 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml70 {
    margin-left: calc(var(--vw) * 70 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml80 {
    margin-left: calc(var(--vw) * 80 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml90 {
    margin-left: calc(var(--vw) * 90 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml100 {
    margin-left: calc(var(--vw) * 100 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml110 {
    margin-left: calc(var(--vw) * 110 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spml120 {
    margin-left: calc(var(--vw) * 120 / 833 * 100);
  }
}

.mr0 {
  margin-right: calc(var(--vw) * 0 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr0 {
    margin-right: 0px;
  }
}

.mr10 {
  margin-right: calc(var(--vw) * 10 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr10 {
    margin-right: 10px;
  }
}

.mr20 {
  margin-right: calc(var(--vw) * 20 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr20 {
    margin-right: 20px;
  }
}

.mr30 {
  margin-right: calc(var(--vw) * 30 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr30 {
    margin-right: 30px;
  }
}

.mr40 {
  margin-right: calc(var(--vw) * 40 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr40 {
    margin-right: 40px;
  }
}

.mr50 {
  margin-right: calc(var(--vw) * 50 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr50 {
    margin-right: 50px;
  }
}

.mr60 {
  margin-right: calc(var(--vw) * 60 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr60 {
    margin-right: 60px;
  }
}

.mr70 {
  margin-right: calc(var(--vw) * 70 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr70 {
    margin-right: 70px;
  }
}

.mr80 {
  margin-right: calc(var(--vw) * 80 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr80 {
    margin-right: 80px;
  }
}

.mr90 {
  margin-right: calc(var(--vw) * 90 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr90 {
    margin-right: 90px;
  }
}

.mr100 {
  margin-right: calc(var(--vw) * 100 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr100 {
    margin-right: 100px;
  }
}

.mr110 {
  margin-right: calc(var(--vw) * 110 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr110 {
    margin-right: 110px;
  }
}

.mr120 {
  margin-right: calc(var(--vw) * 120 / 1803 * 100);
}
@media screen and (min-width: 1803px) {
  .mr120 {
    margin-right: 120px;
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr0 {
    margin-right: calc(var(--vw) * 0 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr10 {
    margin-right: calc(var(--vw) * 10 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr20 {
    margin-right: calc(var(--vw) * 20 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr30 {
    margin-right: calc(var(--vw) * 30 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr40 {
    margin-right: calc(var(--vw) * 40 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr50 {
    margin-right: calc(var(--vw) * 50 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr60 {
    margin-right: calc(var(--vw) * 60 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr70 {
    margin-right: calc(var(--vw) * 70 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr80 {
    margin-right: calc(var(--vw) * 80 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr90 {
    margin-right: calc(var(--vw) * 90 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr100 {
    margin-right: calc(var(--vw) * 100 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr110 {
    margin-right: calc(var(--vw) * 110 / 833 * 100);
  }
}

@media only screen and (max-width: 767.98px) {
  .spmr120 {
    margin-right: calc(var(--vw) * 120 / 833 * 100);
  }
}
