@charset "UTF-8";

:root {
  --map-remove: ;
  --primary: #527FCE;
  --primary-darken-15: hsl(from var(--primary) h s calc(l - 15));
  --primary-light: #E9F3FD;
  --primary-lighten-25: hsl(from var(--primary) h s calc(l + 25));
  --primary-light-darken-15: hsl(from var(--primary-light) h s calc(l - 15));
  --secondary: #6A7C9F;
  --success: #28a745;
  --info: #6CBDD6;
  --warning: #ffc107;
  --danger: #EF5F71;
  --light: #f8f8f8;
  --dark: #243152;
  --gray: #9D9D9D;
  --dark-gray: #404B63;
  --bg-gray: #F2F2F2;
  --line-gray: #C3C3C3;
  --gray-2: #CCC;
  --white: #FFF;
  --btn-color: #FFF;
  --accent-red: #FB685D;
  --font-color: #33353C;
  --yellow-green: #A9BA01;
  --orange: #FA9023;
  --light-blue: #EBF4FE;
  --soft-blue: #eef6ff;
  --highlight-blue: #deedff;
  --gray-medium: #bebebe;
  --blue-gradient-start: rgba(239, 246, 255, 0.5);
  --blue-gradient-end: #E6F1FF;
  --search-filter-hover-bg: #f8fcff;
  --navy: #1f2c49;
  --gray-blue: #74809b;
  --card-border: #e6eaf2;
  --card-shadow: 0 12px 32px rgba(16, 36, 80, 0.06);
  --detail-cta-gradient-start: #f3f7ff;
  --detail-cta-gradient-end: #eef4ff;
  --detail-cta-border: rgba(82, 127, 206, 0.18);
  --detail-cta-shadow: 0 16px 36px rgba(18, 46, 96, 0.08);
  --detail-cta-title-color: #2b3650;
  --detail-overview-label-color: #1b2340;
  --detail-stop-bg: #f3f6c8;
  --detail-stop-border: #9aa25d;
  --detail-stop-shadow: #293149;
  --detail-stop-title: #2f344a;
  --detail-stop-text: #3e475e;
  --detail-stop-note: #4d5b80;
  --detail-stop-note-line: #6d86c8;
  --font-family-zen: "Zen Kaku Gothic New", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-family-alex: "Alexandria", sans-serif;
  --environment-ribbon-height: 0px;
  --font-family-sans-serif: "Zen Kaku Gothic New", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html, body {
  scroll-padding-top: 100px;
  height: 100%;
  margin: 0;
}
html {
  color: var(--font-color);
  font-size: calc(10vw / 400 * 100);
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  html {
    font-size: calc(10vw / 1400 * 100);
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: calc(160px / 1400 * 100);
  }
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  font-family: var(--font-family-zen);
  font-size: 16px;
  font-weight: 500;
  font-feature-settings: "palt";
  text-align: left;
  background-color: #f8f8f8;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 767.98px) {
  body {
    letter-spacing: 0.05rem;
  }
}
div#wrapper, main {
  flex: 1;
}
div#wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}
:focus-visible {
  outline: 1px solid var(--font-color);
  outline-offset: 2px;
}
@font-face {
    font-family: 'slick';
    src: url('https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/fonts/slick.woff') format('woff');
    font-display: swap;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title], abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol, ul, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol, ul ul, ol ul, ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b, strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: var(--primary);
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: var(--primary-darken-15);
}
a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre, code, kbd, samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}
pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}
figure {
  margin: 0 0 1rem;
}
img {
  vertical-align: middle;
  border-style: none;
  width: auto;
  height: auto;
  max-width: 100%;
}
/* 計測タグ */
img[width="1"][height="1"] {
  position: absolute;
  width: 1px;
  height: 1px;
}
svg {
  overflow: hidden;
  vertical-align: middle;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #999;
  text-align: left;
  caption-side: bottom;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input, button, select, optgroup, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button, input {
  overflow: visible;
}
button, select {
  text-transform: none;
}
[role="button"] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
  cursor: pointer;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type="radio"], input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 15px;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}
@media (max-width: 1200px) {
  legend {
    font-size: calc(12.75px + 0.3vw) ;
  }
}
progress {
  vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
  cursor: pointer;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 700;
  line-height: 1.5;
}
h1, .h1 {
  font-size: 16.4062px;
}
@media (max-width: 1200px) {
  h1, .h1 {
    font-size: calc(12.8906px + 0.46875vw) ;
  }
}
h2, .h2 {
  font-size: 13.125px;
}
@media (max-width: 1200px) {
  h2, .h2 {
    font-size: calc(12.5625px + 0.075vw) ;
  }
}
h3, .h3 {
  font-size: 10.9375px;
}
h4, .h4 {
  font-size: 9.8438px;
}
h5, .h5 {
  font-size: 8.75px;
}
h6, .h6 {
  font-size: 8.75px;
}
.lead {
  font-size: 10.9375px;
  font-weight: 300;
}
.display-1 {
  font-size: 60px;
  font-weight: 300;
  line-height: 1.5;
}
@media (max-width: 1200px) {
  .display-1 {
    font-size: calc(17.25px + 5.7vw) ;
  }
}
.display-2 {
  font-size: 55px;
  font-weight: 300;
  line-height: 1.5;
}
@media (max-width: 1200px) {
  .display-2 {
    font-size: calc(16.75px + 5.1vw) ;
  }
}
.display-3 {
  font-size: 45px;
  font-weight: 300;
  line-height: 1.5;
}
@media (max-width: 1200px) {
  .display-3 {
    font-size: calc(15.75px + 3.9vw) ;
  }
}
.display-4 {
  font-size: 35px;
  font-weight: 300;
  line-height: 1.5;
}
@media (max-width: 1200px) {
  .display-4 {
    font-size: calc(14.75px + 2.7vw) ;
  }
}
hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
small, .small {
  font-size: 80%;
  font-weight: 400;
}
mark, .mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 10.9375px;
}
.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #666;
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 90%;
  color: #666;
}
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}
@media (max-width: 768px) {
  .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    padding-inline: 2rem;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col, .no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}
.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}
.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}
.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}
.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}
.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}
.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}
.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}
.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}
.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}
.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
.order-first {
  order: -1;
}
.order-last {
  order: 13;
}
.order-0 {
  order: 0;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-6 {
  order: 6;
}
.order-7 {
  order: 7;
}
.order-8 {
  order: 8;
}
.order-9 {
  order: 9;
}
.order-10 {
  order: 10;
}
.order-11 {
  order: 11;
}
.order-12 {
  order: 12;
}
.offset-1 {
  margin-left: 8.3333333333%;
}
.offset-2 {
  margin-left: 16.6666666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.3333333333%;
}
.offset-5 {
  margin-left: 41.6666666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.3333333333%;
}
.offset-8 {
  margin-left: 66.6666666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.3333333333%;
}
.offset-11 {
  margin-left: 91.6666666667%;
}
@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #333;
}
.table th, .table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table tbody + tbody {
  border-top: 2px solid #ddd;
}
.table-sm th, .table-sm td {
  padding: 0.3rem;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered th, .table-bordered td {
  border: 1px solid #ddd;
}
.table-bordered thead th, .table-bordered thead td {
  border-bottom-width: 2px;
}
.table-borderless th, .table-borderless td, .table-borderless thead th, .table-borderless tbody + tbody {
  border: 0;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}
.table-hover tbody tr:hover {
  color: #333;
  background-color: rgba(0, 0, 0, 0.075);
}
.table-primary, .table-primary > th, .table-primary > td {
  background-color: #bbe1ed;
}
.table-primary th, .table-primary td, .table-primary thead th, .table-primary tbody + tbody {
  border-color: #81c8de;
}
.table-hover .table-primary:hover {
  background-color: #a7d8e8;
}
.table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {
  background-color: #a7d8e8;
}
.table-secondary, .table-secondary > th, .table-secondary > td {
  background-color: #c3ebf1;
}
.table-secondary th, .table-secondary td, .table-secondary thead th, .table-secondary tbody + tbody {
  border-color: #90dbe4;
}
.table-hover .table-secondary:hover {
  background-color: #aee4ec;
}
.table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th {
  background-color: #aee4ec;
}
.table-success, .table-success > th, .table-success > td {
  background-color: #c3e6cb;
}
.table-success th, .table-success td, .table-success thead th, .table-success tbody + tbody {
  border-color: #8fd19e;
}
.table-hover .table-success:hover {
  background-color: #b1dfbb;
}
.table-hover .table-success:hover > td, .table-hover .table-success:hover > th {
  background-color: #b1dfbb;
}
.table-info, .table-info > th, .table-info > td {
  background-color: #d6edf4;
}
.table-info th, .table-info td, .table-info thead th, .table-info tbody + tbody {
  border-color: #b3ddea;
}
.table-hover .table-info:hover {
  background-color: #c2e4ef;
}
.table-hover .table-info:hover > td, .table-hover .table-info:hover > th {
  background-color: #c2e4ef;
}
.table-warning, .table-warning > th, .table-warning > td {
  background-color: #ffeeba;
}
.table-warning th, .table-warning td, .table-warning thead th, .table-warning tbody + tbody {
  border-color: #ffdf7e;
}
.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}
.table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th {
  background-color: #ffe8a1;
}
.table-danger, .table-danger > th, .table-danger > td {
  background-color: #fbd2d7;
}
.table-danger th, .table-danger td, .table-danger thead th, .table-danger tbody + tbody {
  border-color: #f7acb5;
}
.table-hover .table-danger:hover {
  background-color: #f9bbc2;
}
.table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th {
  background-color: #f9bbc2;
}
.table-light, .table-light > th, .table-light > td {
  background-color: #fdfdfd;
}
.table-light th, .table-light td, .table-light thead th, .table-light tbody + tbody {
  border-color: #fbfbfb;
}
.table-hover .table-light:hover {
  background-color: #f0f0f0;
}
.table-hover .table-light:hover > td, .table-hover .table-light:hover > th {
  background-color: #f0f0f0;
}
.table-dark, .table-dark > th, .table-dark > td {
  background-color: #c6c6c6;
}
.table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody {
  border-color: #959595;
}
.table-hover .table-dark:hover {
  background-color: #b9b9b9;
}
.table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th {
  background-color: #b9b9b9;
}
.table-primary-light, .table-primary-light > th, .table-primary-light > td {
  background-color: #f8fcfd;
}
.table-primary-light th, .table-primary-light td, .table-primary-light thead th, .table-primary-light tbody + tbody {
  border-color: #f2fafb;
}
.table-hover .table-primary-light:hover {
  background-color: #e4f4f7;
}
.table-hover .table-primary-light:hover > td, .table-hover .table-primary-light:hover > th {
  background-color: #e4f4f7;
}
.table-gray, .table-gray > th, .table-gray > td {
  background-color: #d4d4d4;
}
.table-gray th, .table-gray td, .table-gray thead th, .table-gray tbody + tbody {
  border-color: #afafaf;
}
.table-hover .table-gray:hover {
  background-color: #c7c7c7;
}
.table-hover .table-gray:hover > td, .table-hover .table-gray:hover > th {
  background-color: #c7c7c7;
}
.table-btn-color, .table-btn-color > th, .table-btn-color > td {
  background-color: white;
}
.table-btn-color th, .table-btn-color td, .table-btn-color thead th, .table-btn-color tbody + tbody {
  border-color: white;
}
.table-hover .table-btn-color:hover {
  background-color: #f2f2f2;
}
.table-hover .table-btn-color:hover > td, .table-hover .table-btn-color:hover > th {
  background-color: #f2f2f2;
}
.table-active, .table-active > th, .table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td, .table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}
.table .thead-dark th {
  color: var(--white);
  background-color: #333;
  border-color: #464646;
}
.table .thead-light th {
  color: #494949;
  background-color: #e9ecef;
  border-color: #ddd;
}
.table-dark {
  color: var(--white);
  background-color: #333;
}
.table-dark th, .table-dark td, .table-dark thead th {
  border-color: #464646;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: var(--white);
  background-color: rgba(255, 255, 255, 0.075);
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}
.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 4px);
  padding: 0 0.5rem;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--font-color);
  background-color: var(--white);
  background-clip: padding-box;
  border: 2px solid #bdbdbd;
  border-radius: 0.5rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #494949;
}
.form-control:focus {
  color: #494949;
  background-color: var(--white);
  border-color: var(--primary-lighten-25);
  outline: 0;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.form-control::placeholder {
  color: #666;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control {
  appearance: none;
}
select.form-control:focus::-ms-value {
  color: #494949;
  background-color: var(--white);
}
.form-control-file, .form-control-range {
  display: block;
  width: 100%;
}
.col-form-label {
  padding-top: calc(0.375rem + 2px);
  padding-bottom: calc(0.375rem + 2px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.5rem + 2px);
  padding-bottom: calc(0.5rem + 2px);
  font-size: 10.9375px;
  line-height: 1.5;
}
.col-form-label-sm {
  padding-top: calc(0.25rem + 2px);
  padding-bottom: calc(0.25rem + 2px);
  font-size: 8.75px;
  line-height: 1.5;
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  background-color: transparent;
  border: solid transparent;
  border-width: 2px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  height: calc(1.5em + 0.5rem + 4px);
  padding: 0.25rem 0.25rem;
  font-size: 8.75px;
  line-height: 1.5;
  border-radius: 0.25rem;
}
.form-control-lg {
  height: calc(1.5em + 1rem + 4px);
  padding: 0.5rem 1rem;
  font-size: 10.9375px;
  line-height: 1.5;
  border-radius: 0.5rem;
}
select.form-control[size], select.form-control[multiple] {
  height: auto;
}
textarea.form-control {
  height: auto;
}
.form-group {
  margin-bottom: 1rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col, .form-row > [class*="col-"] {
  padding-right: 5px;
  padding-left: 5px;
}
.form-check {
  position: relative;
  margin-bottom: 5px;
  display: block;
}
.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  color: #999;
}
.form-check-label {
  margin-bottom: 0;
  line-height: 1.6;
}
.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745;
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 8.75px;
  line-height: 1.5;
  color: var(--white);
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.5rem;
}
.form-row > .col > .valid-tooltip, .form-row > [class*="col-"] > .valid-tooltip {
  left: 5px;
}
.was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 4.0625rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center / 8px 10px no-repeat, var(--white) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 3.5rem / calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745;
}
.was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #28a745;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745;
}
.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: var(--danger);
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 8.75px;
  line-height: 1.5;
  color: var(--white);
  background-color: color-mix(in srgb, var(--danger) 90%, transparent);
  border-radius: 0.5rem;
}
.form-row > .col > .invalid-tooltip, .form-row > [class*="col-"] > .invalid-tooltip {
  left: 5px;
}
.was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #EF5F71;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23EF5F71' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23EF5F71' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #EF5F71;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, #EF5F71 25%, transparent);
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #EF5F71;
  padding-right: calc(0.75em + 4.0625rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center / 8px 10px no-repeat, var(--white) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23EF5F71' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23EF5F71' stroke='none'/%3e%3c/svg%3e") center right 3.5rem / calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #EF5F71;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--danger) 25%, transparent);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #EF5F71;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #EF5F71;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #EF5F71;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #f48d9a;
  background-color: #f48d9a;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--danger) 25%, transparent);
}
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #EF5F71;
}
.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #EF5F71;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #EF5F71;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--danger) 25%, transparent);
}
.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group, .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}
.btn {
  display: inline-block;
  font-weight: 700;
  color: var(--btn-color);
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 1rem 2.5rem;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 0.4rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--btn-color);
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.specified-btn {
  display: inline-block;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 2px solid transparent;
  padding: 0.375rem 2.5rem;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 100px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .specified-btn {
    transition: none;
  }
}
.specified-btn:hover {
  text-decoration: none;
}
.specified-btn:focus, .specified-btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.specified-btn.disabled, .specified-btn:disabled {
  opacity: 0.65;
}
.specified-btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled, fieldset:disabled a.btn {
  pointer-events: none;
}
.btn-primary {
  color: var(--white);
  background-color: var(--primary);
  border-color: var(--primary);
}
.btn-primary:hover {
  color: var(--primary);
  background-color: var(--primary-light);
  border-color: var(--primary);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: var(--white);
  background-color: var(--primary-darken-15);
  border-color: var(--primary-darken-15);
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-darken-15) 50%, transparent);
}
.btn-secondary {
  color: var(--white);
  background-color: var(--secondary);
  border-color: var(--secondary);
}
.btn-secondary:hover {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--secondary));
  border-color: color-mix(in srgb, var(--white) 20%, var(--secondary));
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--secondary));
  border-color: color-mix(in srgb, var(--white) 20%, var(--secondary));
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, color-mix(in srgb, var(--white) 15%, var(--secondary)) 50%, transparent);
}
.btn-success {
  color: var(--white);
  background-color: #28a745;
  border-color: #28a745;
}
.btn-success:hover {
  color: var(--white);
  background-color: #5ebd74;
  border-color: #53b96a;
}
.btn-success.disabled, .btn-success:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: var(--white);
  background-color: #5ebd74;
  border-color: #53b96a;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}
.btn-info {
  color: #212121;
  background-color: var(--info);
  border-color: var(--info);
}
.btn-info:hover {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--info));
  border-color: color-mix(in srgb, var(--white) 20%, var(--info));
}
.btn-info:focus, .btn-info.focus {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--info));
  border-color: color-mix(in srgb, var(--white) 20%, var(--info));
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, color-mix(in srgb, var(--white) 15%, var(--info)) 50%, transparent);
}
.btn-info.disabled, .btn-info:disabled {
  color: #212121;
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--info));
  border-color: color-mix(in srgb, var(--white) 20%, var(--info));
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, color-mix(in srgb, var(--white) 15%, var(--info)) 50%, transparent);
}
.btn-warning {
  color: #212121;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning:hover {
  color: var(--white);
  background-color: #ffd145;
  border-color: #ffcd39;
}
.btn-warning:focus, .btn-warning.focus {
  color: var(--white);
  background-color: #ffd145;
  border-color: #ffcd39;
  box-shadow: 0 0 0 0.2rem rgba(222, 169, 11, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #212121;
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: var(--white);
  background-color: #ffd145;
  border-color: #ffcd39;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 169, 11, 0.5);
}
.btn-danger {
  color: var(--white);
  background-color: var(--danger);
  border-color: var(--danger);
}
.btn-danger:hover {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--danger));
  border-color: color-mix(in srgb, var(--white) 20%, var(--danger));
}
.btn-danger:focus, .btn-danger.focus {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--danger));
  border-color: color-mix(in srgb, var(--white) 20%, var(--danger));
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, color-mix(in srgb, var(--white) 15%, var(--danger)) 50%, transparent);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: var(--white);
  background-color: color-mix(in srgb, var(--white) 25%, var(--danger));
  border-color: color-mix(in srgb, var(--white) 20%, var(--danger));
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, color-mix(in srgb, var(--white) 15%, var(--danger)) 50%, transparent);
}
.btn-accent-red {
  color: var(--white);
  background-color: var(--accent-red);
  border-color: var(--accent-red);
}
@media (hover: hover) {
  .btn-accent-red:hover {
    color: var(--accent-red);
    background-color: var(--white);
    border-color: var(--accent-red);
  }
}
.btn-accent-red:focus-visible, .btn-accent-red.focus {
  color: var(--accent-red);
  background-color: var(--white);
  border-color: var(--accent-red);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--accent-red) 50%, transparent);
}
.btn-accent-red.disabled, .btn-accent-red:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-accent-red:not(:disabled):not(.disabled):active, .btn-accent-red:not(:disabled):not(.disabled).active, .show > .btn-accent-red.dropdown-toggle {
  color: var(--accent-red);
  background-color: var(--white);
  border-color: var(--accent-red);
}
.btn-accent-red:not(:disabled):not(.disabled):active:focus, .btn-accent-red:not(:disabled):not(.disabled).active:focus, .show > .btn-accent-red.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--accent-red) 50%, transparent);
}
.btn-light {
  color: #212121;
  background-color: #f8f8f8;
  border-color: #f8f8f8;
}
.btn-light:hover {
  color: var(--white);
  background-color: #fafafa;
  border-color: #f9f9f9;
}
.btn-light:focus, .btn-light.focus {
  color: var(--white);
  background-color: #fafafa;
  border-color: #f9f9f9;
  box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #212121;
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: var(--white);
  background-color: #fafafa;
  border-color: #f9f9f9;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(216, 216, 216, 0.5);
}
.btn-dark {
  color: var(--white);
  background-color: #333;
  border-color: #333;
}
.btn-dark:hover {
  color: var(--white);
  background-color: #666;
  border-color: #5c5c5c;
}
.btn-dark:focus, .btn-dark.focus {
  color: var(--white);
  background-color: #666;
  border-color: #5c5c5c;
  box-shadow: 0 0 0 0.2rem rgba(82, 82, 82, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: var(--white);
  background-color: #666;
  border-color: #5c5c5c;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 82, 82, 0.5);
}
.btn-primary-light {
  color: #212121;
  background-color: var(--primary-light);
  border-color: var(--primary-light);
}
.btn-primary-light:hover {
  color: #212121;
  background-color: var(--primary-light-darken-15);
  border-color: var(--primary-light-darken-15);
}
.btn-primary-light:focus, .btn-primary-light.focus {
  color: #212121;
  background-color: var(--primary-light-darken-15);
  border-color: var(--primary-light-darken-15);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-light-darken-15) 50%, transparent);
}
.btn-primary-light.disabled, .btn-primary-light:disabled {
  color: #212121;
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-primary-light:not(:disabled):not(.disabled):active, .btn-primary-light:not(:disabled):not(.disabled).active, .show > .btn-primary-light.dropdown-toggle {
  color: #212121;
  background-color: var(--primary-light-darken-15);
  border-color: var(--primary-light-darken-15);
}
.btn-primary-light:not(:disabled):not(.disabled):active:focus, .btn-primary-light:not(:disabled):not(.disabled).active:focus, .show > .btn-primary-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-light-darken-15) 50%, transparent);
}
.btn-gray {
  color: var(--white);
  background-color: #666;
  border-color: #666;
}
.btn-gray:hover {
  color: var(--white);
  background-color: #8c8c8c;
  border-color: #858585;
}
.btn-gray:focus, .btn-gray.focus {
  color: var(--white);
  background-color: #8c8c8c;
  border-color: #858585;
  box-shadow: 0 0 0 0.2rem rgba(125, 125, 125, 0.5);
}
.btn-gray.disabled, .btn-gray:disabled {
  color: var(--white);
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-gray:not(:disabled):not(.disabled):active, .btn-gray:not(:disabled):not(.disabled).active, .show > .btn-gray.dropdown-toggle {
  color: var(--white);
  background-color: #8c8c8c;
  border-color: #858585;
}
.btn-gray:not(:disabled):not(.disabled):active:focus, .btn-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(125, 125, 125, 0.5);
}
.btn-btn-color {
  color: #212121;
  background-color: var(--btn-color);
  border-color: var(--btn-color);
}
.btn-btn-color:hover {
  color: var(--white);
  background-color: white;
  border-color: white;
}
.btn-btn-color:focus, .btn-btn-color.focus {
  color: var(--white);
  background-color: white;
  border-color: white;
  box-shadow: 0 0 0 0.2rem rgba(222, 222, 222, 0.5);
}
.btn-btn-color.disabled, .btn-btn-color:disabled {
  color: #212121;
  background-color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-btn-color:not(:disabled):not(.disabled):active, .btn-btn-color:not(:disabled):not(.disabled).active, .show > .btn-btn-color.dropdown-toggle {
  color: var(--white);
  background-color: white;
  border-color: white;
}
.btn-btn-color:not(:disabled):not(.disabled):active:focus, .btn-btn-color:not(:disabled):not(.disabled).active:focus, .show > .btn-btn-color.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 222, 222, 0.5);
}
.btn-outline-primary {
  color: var(--primary);
  font-weight: 500;
  border-color: var(--primary);
  background: var(--white);
}
.btn-outline-primary:hover {
  color: var(--primary);
  background-color: var(--primary-light);
  border-color: var(--primary);
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 50%, transparent);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
  color: #212121;
  background-color: #cfeaf2;
  border-color: var(--primary);
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 50%, transparent);
}
.btn-outline-secondary {
  color: var(--secondary);
  border-color: var(--secondary);
  background: var(--white);
}
.btn-outline-secondary:hover {
  color: var(--secondary);
  background-color: #d4f1f5;
  border-color: var(--secondary);
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--secondary) 50%, transparent);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #212121;
  background-color: #d4f1f5;
  border-color: var(--secondary);
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--secondary) 50%, transparent);
}
.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
  background: var(--white);
}
.btn-outline-success:hover {
  color: #28a745;
  background-color: #d4edda;
  border-color: #28a745;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #212121;
  background-color: #d4edda;
  border-color: #28a745;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
.btn-outline-info {
  color: var(--info);
  border-color: var(--info);
  background: var(--white);
}
.btn-outline-info:hover {
  color: var(--info);
  background-color: #e2f2f7;
  border-color: var(--info);
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--info) 50%, transparent);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #212121;
  background-color: #e2f2f7;
  border-color: var(--info);
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--info) 50%, transparent);
}
.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
  background: var(--white);
}
.btn-outline-warning:hover {
  color: #ffc107;
  background-color: #fff3cd;
  border-color: #ffc107;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #212121;
  background-color: #fff3cd;
  border-color: #ffc107;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
.btn-outline-danger {
  color: var(--danger);
  border-color: var(--danger);
  background: var(--white);
}
.btn-outline-danger:hover {
  color: var(--danger);
  background-color: #fcdfe3;
  border-color: var(--danger);
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--danger) 50%, transparent);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #212121;
  background-color: #fcdfe3;
  border-color: var(--danger);
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--danger) 50%, transparent);
}
.btn-outline-light {
  color: #f8f8f8;
  border-color: #f8f8f8;
  background: var(--white);
}
.btn-outline-light:hover {
  color: #f8f8f8;
  background-color: #fefefe;
  border-color: #f8f8f8;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 248, 248, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #212121;
  background-color: #fefefe;
  border-color: #f8f8f8;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 248, 248, 0.5);
}
.btn-outline-dark {
  color: #333;
  border-color: #333;
  background: var(--white);
}
.btn-outline-dark:hover {
  color: #333;
  background-color: #d6d6d6;
  border-color: #333;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #212121;
  background-color: #d6d6d6;
  border-color: #333;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5);
}
.btn-outline-primary-light {
  color: var(--primary-light);
  border-color: var(--primary-light);
  background: var(--white);
}
.btn-outline-primary-light:hover {
  color: var(--primary-light);
  background-color: #fafdfe;
  border-color: var(--primary-light);
}
.btn-outline-primary-light:focus, .btn-outline-primary-light.focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-light) 50%, transparent);
}
.btn-outline-primary-light.disabled, .btn-outline-primary-light:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-primary-light:not(:disabled):not(.disabled):active, .btn-outline-primary-light:not(:disabled):not(.disabled).active, .show > .btn-outline-primary-light.dropdown-toggle {
  color: #212121;
  background-color: #fafdfe;
  border-color: var(--primary-light);
}
.btn-outline-primary-light:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary-light) 50%, transparent);
}
.btn-outline-gray {
  color: #666;
  border-color: #666;
  background: var(--white);
}
.btn-outline-gray:hover {
  color: #666;
  background-color: #e0e0e0;
  border-color: #666;
}
.btn-outline-gray:focus, .btn-outline-gray.focus {
  box-shadow: 0 0 0 0.2rem rgba(102, 102, 102, 0.5);
}
.btn-outline-gray.disabled, .btn-outline-gray:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-gray:not(:disabled):not(.disabled):active, .btn-outline-gray:not(:disabled):not(.disabled).active, .show > .btn-outline-gray.dropdown-toggle {
  color: #212121;
  background-color: #e0e0e0;
  border-color: #666;
}
.btn-outline-gray:not(:disabled):not(.disabled):active:focus, .btn-outline-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(102, 102, 102, 0.5);
}
.btn-outline-btn-color {
  color: var(--btn-color);
  border-color: var(--btn-color);
  background: var(--white);
}
.btn-outline-btn-color:hover {
  color: var(--btn-color);
  background-color: white;
  border-color: var(--btn-color);
}
.btn-outline-btn-color:focus, .btn-outline-btn-color.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}
.btn-outline-btn-color.disabled, .btn-outline-btn-color:disabled {
  color: #bdbdbd;
  border-color: #bdbdbd;
}
.btn-outline-btn-color:not(:disabled):not(.disabled):active, .btn-outline-btn-color:not(:disabled):not(.disabled).active, .show > .btn-outline-btn-color.dropdown-toggle {
  color: #212121;
  background-color: white;
  border-color: var(--btn-color);
}
.btn-outline-btn-color:not(:disabled):not(.disabled):active:focus, .btn-outline-btn-color:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-btn-color.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}
.btn-link {
  font-weight: 400;
  color: var(--primary);
  text-decoration: none;
}
.btn-link:hover {
  color: var(--primary-darken-15);
  text-decoration: underline;
}
.btn-link:focus, .btn-link.focus,
.btn-link:active,
.btn-link:not(:disabled):not(.disabled):active:focus {
  text-decoration: underline;
  box-shadow: none;
  outline: none;
  border-color: transparent;
}
.btn-link:disabled, .btn-link.disabled {
  color: #666;
  pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 10.9375px;
  line-height: 1.5;
  border-radius: 100px;
}
.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.25rem;
  font-size: 8.75px;
  line-height: 1.5;
  border-radius: 100px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}
input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
  width: 100%;
}
.btn-gray {
  background-color: #808080;
  border-color: #808080;
}
.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.btn-group, .btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover, .btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active {
  z-index: 1;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) {
  margin-left: -2px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.1875rem;
  padding-left: 0.1875rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -2px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, .input-group > .form-control-plaintext + .form-control, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file {
  margin-left: -2px;
}
.input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child), .input-group:not(.has-validation) > .custom-select:not(:last-child), .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n + 3), .input-group.has-validation > .custom-select:nth-last-child(n + 3), .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group-prepend, .input-group-append {
  display: flex;
}
.input-group-prepend .btn, .input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus, .input-group-append .btn:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, .input-group-prepend .input-group-text + .btn, .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn {
  margin-left: -2px;
}
.input-group-prepend {
  margin-right: -2px;
}
.input-group-append {
  margin-left: -2px;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 2.5rem;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #494949;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 2px solid #bdbdbd;
  border-radius: 0.5rem;
}
.input-group-text input[type="radio"], .input-group-text input[type="checkbox"] {
  margin-top: 0;
}
.input-group-lg > .form-control:not(textarea), .input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 4px);
}
.input-group-lg > .form-control, .input-group-lg > .custom-select, .input-group-lg > .input-group-prepend > .input-group-text, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 10.9375px;
  line-height: 1.5;
  border-radius: 0.5rem;
}
.input-group-sm > .form-control:not(textarea), .input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 4px);
}
.input-group-sm > .form-control, .input-group-sm > .custom-select, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.25rem;
  font-size: 8.75px;
  line-height: 1.5;
  border-radius: 0.25rem;
}
.input-group-lg > .custom-select, .input-group-sm > .custom-select {
  padding-right: 3.5rem;
}
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text, .input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.3125rem;
  padding-left: 1.5rem;
  color-adjust: exact;
}
.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}
.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.15625rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: var(--white);
  border-color: var(--primary);
  background-color: var(--primary);
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--primary-lighten-25);
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: var(--white);
  background-color: #88ddf7;
  border-color: #88ddf7;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #666;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.15625rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: var(--white);
  border: #999 solid 2px;
}
.custom-control-label::after {
  position: absolute;
  top: 0.15625rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 0.5rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: var(--primary);
  background-color: var(--primary);
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: color-mix(in srgb, var(--primary) 50%, transparent);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: color-mix(in srgb, var(--primary) 50%, transparent);
}
.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: color-mix(in srgb, var(--primary) 50%, transparent);
}
.custom-switch {
  padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.15625rem + 4px);
  left: calc(-2.25rem + 4px);
  width: calc(1rem - 8px);
  height: calc(1rem - 8px);
  background-color: #999;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: var(--white);
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: color-mix(in srgb, var(--primary) 50%, transparent);
}
.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 4px);
  padding: 0.375rem 3.5rem 0.375rem 2.5rem;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #494949;
  vertical-align: middle;
  background: var(--white) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center / 8px 10px no-repeat;
  border: 2px solid #bdbdbd;
  border-radius: 0.5rem;
  appearance: none;
}
.custom-select:focus {
  border-color: var(--primary-lighten-25);
  outline: 0;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-select:focus::-ms-value {
  color: #494949;
  background-color: var(--white);
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 2.5rem;
  background-image: none;
}
.custom-select:disabled {
  color: #666;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #494949;
}
.custom-select-sm {
  height: calc(1.5em + 0.5rem + 4px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.25rem;
  font-size: 8.75px;
}
.custom-select-lg {
  height: calc(1.5em + 1rem + 4px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 10.9375px;
}
.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 4px);
  margin-bottom: 0;
}
.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 4px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: var(--primary-lighten-25);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}
.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 4px);
  padding: 0.375rem 2.5rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #494949;
  background-color: var(--white);
  border: 2px solid #bdbdbd;
  border-radius: 0.5rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 2.5rem;
  line-height: 1.5;
  color: #494949;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.5rem 0.5rem 0;
}
.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #f8f8f8, 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #f8f8f8, 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #f8f8f8, 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: var(--primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #88ddf7;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #ddd;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: var(--primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #88ddf7;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #ddd;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: var(--primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #88ddf7;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #ddd;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #ddd;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #999;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #999;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #999;
}
.custom-control-label::before, .custom-file-label, .custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before, .custom-file-label, .custom-select {
    transition: none;
  }
}
.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #666;
  pointer-events: none;
  cursor: default;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #ddd;
}
.nav-tabs .nav-link.disabled {
  color: #666;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: #494949;
  background-color: #f8f8f8;
  border-color: #ddd #ddd #f8f8f8;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills .nav-link {
  border-radius: 0.5rem;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--white);
  background-color: var(--primary);
}
.nav-fill > .nav-link, .nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified > .nav-link, .nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
}
.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar .container, .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.3359375rem;
  padding-bottom: 0.3359375rem;
  margin-right: 1rem;
  font-size: 10.9375px;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}
.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}
.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}
.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 10.9375px;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 100px;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat;
}
.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}
.navbar-nav-can-scroll {
  max-height: calc(100vh - 60px);
  overflow-y: auto;
}
@media (max-width: 575.98px) {
  .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-nav-can-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-nav-can-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-nav-can-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-nav-can-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-nav-can-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-dark .navbar-brand {
  color: var(--white);
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: var(--white);
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active {
  color: var(--white);
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: var(--white);
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: var(--white);
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  min-width: 0;
  margin-bottom: 3rem;
  padding: 2.6rem;
  word-wrap: break-word;
  background-color: var(--white);
  background-clip: border-box;
  border: 1px solid var(--card-border);
  border-radius: 1.6rem;
  box-shadow: var(--card-shadow);
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .card {
    margin-bottom: 2.4rem;
    padding: 1.4rem;
    gap: 1.2rem;
    background: transparent;
  }
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.5rem - none);
  border-top-right-radius: calc(0.5rem - none);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.5rem - none);
  border-bottom-left-radius: calc(0.5rem - none);
}
.card > .card-header + .list-group, .card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  min-height: 1px;
}
.card-title {
  margin-bottom: 0.75rem;
}
.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}
.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: none solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.5rem - none) calc(0.5rem - none) 0 0;
}
.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: none solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.5rem - none) calc(0.5rem - none);
}
.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}
.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.5rem - none);
}
.card-img, .card-img-top, .card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}
.card-img, .card-img-top {
  border-top-left-radius: calc(0.5rem - none);
  border-top-right-radius: calc(0.5rem - none);
}
.card-img, .card-img-bottom {
  border-bottom-right-radius: calc(0.5rem - none);
  border-bottom-left-radius: calc(0.5rem - none);
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}
.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}
.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}
.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -none;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 30px;
  margin-bottom: 1rem;
  list-style: none;
  background-color: transparent;
  border-radius: none;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #666;
  content: "＞";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #666;
}
.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.5rem;
}
.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: var(--primary);
  background-color: var(--white);
  border: 1px solid #ddd;
}
.page-link:hover {
  z-index: 2;
  color: var(--primary);
  text-decoration: none;
  background-color: var(--primary-light);
  border-color: #ddd;
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.page-item.active .page-link {
  z-index: 3;
  color: var(--btn-color);
  background-color: var(--primary);
  border-color: var(--primary);
}
.page-item.disabled .page-link {
  color: #666;
  pointer-events: none;
  cursor: auto;
  background-color: var(--white);
  border-color: #ddd;
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 10.9375px;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 8.75px;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 700;
}
.alert-dismissible {
  padding-right: 3.8125rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}
.alert-primary {
  color: #074d63;
  background-color: #cfeaf2;
  border-color: #bbe1ed;
}
.alert-primary hr {
  border-top-color: #a7d8e8;
}
.alert-primary .alert-link {
  color: #042833;
}
.alert-secondary {
  color: #16606a;
  background-color: #d4f1f5;
  border-color: #c3ebf1;
}
.alert-secondary hr {
  border-top-color: #aee4ec;
}
.alert-secondary .alert-link {
  color: #0d3a40;
}
.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.alert-success hr {
  border-top-color: #b1dfbb;
}
.alert-success .alert-link {
  color: #0b2e13;
}
.alert-info {
  color: #38626f;
  background-color: #e2f2f7;
  border-color: #d6edf4;
}
.alert-info hr {
  border-top-color: #c2e4ef;
}
.alert-info .alert-link {
  color: #27444d;
}
.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}
.alert-warning hr {
  border-top-color: #ffe8a1;
}
.alert-warning .alert-link {
  color: #533f03;
}
.alert-danger {
  color: #7c313b;
  background-color: #fcdfe3;
  border-color: #fbd2d7;
}
.alert-danger hr {
  border-top-color: #f9bbc2;
}
.alert-danger .alert-link {
  color: #57232a;
}
.alert-light {
  color: #818181;
  background-color: #fefefe;
  border-color: #fdfdfd;
}
.alert-light hr {
  border-top-color: #f0f0f0;
}
.alert-light .alert-link {
  color: #686868;
}
.alert-dark {
  color: #1b1b1b;
  background-color: #d6d6d6;
  border-color: #c6c6c6;
}
.alert-dark hr {
  border-top-color: #b9b9b9;
}
.alert-dark .alert-link {
  color: #020202;
}
.alert-primary-light {
  color: #787f81;
  background-color: #fafdfe;
  border-color: #f8fcfd;
}
.alert-primary-light hr {
  border-top-color: #e4f4f7;
}
.alert-primary-light .alert-link {
  color: #5f6567;
}
.alert-gray {
  color: #353535;
  background-color: #e0e0e0;
  border-color: #d4d4d4;
}
.alert-gray hr {
  border-top-color: #c7c7c7;
}
.alert-gray .alert-link {
  color: #1c1c1c;
}
.alert-btn-color {
  color: #858585;
  background-color: white;
  border-color: white;
}
.alert-btn-color hr {
  border-top-color: #f2f2f2;
}
.alert-btn-color .alert-link {
  color: #6c6c6c;
}
.alert-danger {
  color: #7c313b;
  background-color: #fcdfe3;
  border-color: #fbd2d7;
}
.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}
.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  pointer-events: auto;
  background-color: var(--white);
  background-clip: padding-box;
  border-radius: 0.5rem;
  outline: 0;
}
@media (min-width: 992px) {
  .modal-content {
    height: auto;
  }
}
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #ddd;
  border-top-left-radius: calc(0.5rem - 1px);
  border-top-right-radius: calc(0.5rem - 1px);
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}
.modal-close {
  position: relative;
  width: 25px;
  height: 25px;
  background: none;
  border: none;
  cursor: pointer;
}

.modal-close::before,
.modal-close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 100%;
  background-color: var(--primary);
  transform-origin: center;
  border-radius: 10px;
}

.modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}
.modal-footer {
  width: 100%;
  position: absolute;
  bottom: 0;
  background: var(--white);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: calc(0.5rem - 1px);
  border-bottom-left-radius: calc(0.5rem - 1px);
}
@media (max-width: 767.98px) {
  .modal-footer {
    position: fixed;
  }
}
.modal-footer > * {
  margin: 0.25rem;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg, .modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 8.75px;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}
.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}
.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}
.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: var(--white);
  text-align: center;
  background-color: #000;
  border-radius: 0.5rem;
}
.carousel {
  position: relative;
}
.carousel.pointer-event {
  touch-action: pan-y;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active, .carousel-item-next, .carousel-item-prev {
  display: block;
}
.carousel-item-next:not(.carousel-item-left), .active.carousel-item-right {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left {
  transform: translateX(-100%);
}
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}
.carousel-control-prev, .carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  color: var(--primary);
  text-align: center;
  opacity: 0.85;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev, .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus {
  color: var(--primary);
  text-decoration: none;
  outline: 0;
  opacity: 1;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
  display: inline-block;
  width: 44px;
  height: 44px;
  background: 50% / 100% 100% no-repeat;
}
.carousel-control-prev-icon {
  background-image: none;
}
.carousel-control-next-icon {
  background-image: none;
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 44px;
  margin-left: 44px;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  margin-left: 6px;
  text-indent: -999px;
  cursor: pointer;
  background-color: color-mix(in srgb, var(--primary) 50%, transparent);
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: var(--white);
  text-align: center;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}
.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .spinner-border, .spinner-grow {
    animation-duration: 1.5s;
  }
}
.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}
.bg-primary {
  background-color: var(--primary) !important;
}
a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus {
  background-color: var(--primary-darken-15) !important;
}
.bg-secondary {
  background-color: var(--secondary) !important;
}
a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus {
  background-color: #2193a2 !important;
}
.bg-success {
  background-color: #28a745 !important;
}
a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus {
  background-color: #1e7e34 !important;
}
.bg-info {
  background-color: var(--info) !important;
}
a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus {
  background-color: #44abcb !important;
}
.bg-warning {
  background-color: #ffc107 !important;
}
a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus {
  background-color: #d39e00 !important;
}
.bg-danger {
  background-color: var(--danger) !important;
}
a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus {
  background-color: #ea3148 !important;
}
.bg-light {
  background-color: #f8f8f8 !important;
}
.bg-light-blue {
  background-color: var(--light-blue) !important;
}
.js-inview[data-inview=fade] {
  opacity: 0;
  transition: opacity 1s;
}
.js-inview[data-inview=fade].is-inview {
  opacity: 1;
}
.js-inview[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 1s, transform 1s;
  transform: translateY(30px);
}
.js-inview[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=fade-left] {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateX(-30px);
}
.js-inview[data-inview=fade-left].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateX(30px);
}
.js-inview[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=fade] {
  opacity: 0;
  transition: opacity 0.8s;
}
.js-inview-eachItem[data-inview=fade].is-inview {
  opacity: 1;
}
.js-inview-eachItem[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(30px);
}
.js-inview-eachItem[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview-eachItem[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateX(30px);
}
.js-inview-eachItem[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview-eachItem-delay[data-inview=fade] {
  opacity: 0;
  transition: opacity 0.8s;
}
.js-inview-eachItem-delay[data-inview=fade].is-inview {
  opacity: 1;
}
.js-inview-eachItem-delay[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(30px);
}
.js-inview-eachItem-delay[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem-delay[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateX(30px);
}
.js-inview-eachItem-delay[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview-eachItem-delay[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview-eachItem-delay[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}
a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus {
  background-color: #dfdfdf !important;
}
.bg-dark {
  background-color: #333 !important;
}
a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus {
  background-color: #1a1a1a !important;
}
.bg-primary-light {
  background-color: var(--primary-light) !important;
}
a.bg-primary-light:hover, a.bg-primary-light:focus, button.bg-primary-light:hover, button.bg-primary-light:focus {
  background-color: var(--primary-light-darken-15) !important;
}
.bg-gray {
  background-color: #666 !important;
}
a.bg-gray:hover, a.bg-gray:focus, button.bg-gray:hover, button.bg-gray:focus {
  background-color: #4d4d4d !important;
}
.bg-btn-color {
  background-color: var(--btn-color);
}
a.bg-btn-color:hover, a.bg-btn-color:focus, button.bg-btn-color:hover, button.bg-btn-color:focus {
  background-color: #e6e6e6 !important;
}
.bg-white {
  background-color: var(--white) !important;
}
.bg-transparent {
  background-color: transparent !important;
}
.border {
  border: 1px solid #ddd !important;
}
.border-top {
  border-top: 1px solid #ddd !important;
}
.border-right {
  border-right: 1px solid #ddd !important;
}
.border-bottom {
  border-bottom: 1px solid #ddd !important;
}
.border-left {
  border-left: 1px solid #ddd !important;
}
.border-0 {
  border: 0 !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-right-0 {
  border-right: 0 !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-left-0 {
  border-left: 0 !important;
}
.border-primary {
  border-color: var(--primary) !important;
}
.border-secondary {
  border-color: var(--secondary) !important;
}
.border-success {
  border-color: #28a745 !important;
}
.border-info {
  border-color: var(--info) !important;
}
.border-warning {
  border-color: #ffc107 !important;
}
.border-danger {
  border-color: var(--danger) !important;
}
.border-light {
  border-color: #f8f8f8 !important;
}
.border-dark {
  border-color: #333 !important;
}
.border-primary-light {
  border-color: var(--primary-light) !important;
}
.border-gray {
  border-color: #666 !important;
}
.border-btn-color {
  border-color: var(--btn-color);
}
.border-white {
  border-color: var(--white) !important;
}
.rounded-sm {
  border-radius: 0.25rem !important;
}
.rounded {
  border-radius: 0.5rem !important;
}
.rounded-top {
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
}
.rounded-right {
  border-top-right-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
}
.rounded-bottom {
  border-bottom-right-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}
.rounded-left {
  border-top-left-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}
.rounded-lg {
  border-radius: 0.5rem !important;
}
.rounded-circle {
  border-radius: 50% !important;
}
.rounded-pill {
  border-radius: 50rem !important;
}
.rounded-0 {
  border-radius: 0 !important;
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.embed-responsive-21by9::before {
  padding-top: 42.8571428571%;
}
.embed-responsive-16by9::before {
  padding-top: 56.25%;
}
.embed-responsive-4by3::before {
  padding-top: 75%;
}
.embed-responsive-1by1::before {
  padding-top: 100%;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-none {
  float: none !important;
}
@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}
.user-select-all {
  user-select: all !important;
}
.user-select-auto {
  user-select: auto !important;
}
.user-select-none {
  user-select: none !important;
}
.overflow-auto {
  overflow: auto !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: sticky !important;
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.shadow-sm {
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow {
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.12) !important;
}
.shadow-lg {
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.175) !important;
}
.shadow-none {
  box-shadow: none !important;
}
.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.mh-100 {
  max-height: 100% !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
.vw-100 {
  width: 100vw !important;
}
.vh-100 {
  height: 100vh !important;
}
.m-0 {
  margin: 0 !important;
}
.mt-0, .my-0 {
  margin-top: 0 !important;
}
.mr-0, .mx-0 {
  margin-right: 0 !important;
}
.mb-0, .my-0 {
  margin-bottom: 0 !important;
}
.ml-0, .mx-0 {
  margin-left: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.mt-1, .my-1 {
  margin-top: 0.25rem !important;
}
.mr-1, .mx-1 {
  margin-right: 0.25rem !important;
}
.mb-1, .my-1 {
  margin-bottom: 0.25rem !important;
}
.ml-1, .mx-1 {
  margin-left: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.mt-2, .my-2 {
  margin-top: 0.5rem !important;
}
.mr-2, .mx-2 {
  margin-right: 0.5rem !important;
}
.mb-2, .my-2 {
  margin-bottom: 0.5rem !important;
}
.ml-2, .mx-2 {
  margin-left: 0.5rem !important;
}
.m-3 {
  margin: 1rem !important;
}
.mt-3, .my-3 {
  margin-top: 1rem !important;
}
.form-check-group > .mt-3:first-child,
.form-check-group > .my-3:first-child {
  margin-top: 0!important;
}
.form-check-group table tr:first-child > :first-child {
  padding-right: 0.5rem!important;
}
.mr-3, .mx-3 {
  margin-right: 1rem !important;
}
.mb-3, .my-3 {
  margin-bottom: 1rem !important;
}
.ml-3, .mx-3 {
  margin-left: 1rem !important;
}
.m-4 {
  margin: 1.5rem !important;
}
.mt-4, .my-4 {
  margin-top: 1.5rem !important;
}
.mr-4, .mx-4 {
  margin-right: 1.5rem !important;
}
.mb-4, .my-4 {
  margin-bottom: 1.5rem !important;
}
.ml-4, .mx-4 {
  margin-left: 1.5rem !important;
}
.m-5 {
  margin: 2.5rem !important;
}
.mt-5, .my-5 {
  margin-top: 2.5rem !important;
}
.mr-5, .mx-5 {
  margin-right: 2.5rem !important;
}
.mb-5, .my-5 {
  margin-bottom: 2.5rem !important;
}
.ml-5, .mx-5 {
  margin-left: 2.5rem !important;
}
.p-0 {
  padding: 0 !important;
}
.pt-0, .py-0 {
  padding-top: 0 !important;
}
.pr-0, .px-0 {
  padding-right: 0 !important;
}
.pb-0, .py-0 {
  padding-bottom: 0 !important;
}
.pl-0, .px-0 {
  padding-left: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.pt-1, .py-1 {
  padding-top: 0.25rem !important;
}
.pr-1, .px-1 {
  padding-right: 0.25rem !important;
}
.pb-1, .py-1 {
  padding-bottom: 0.25rem !important;
}
.pl-1, .px-1 {
  padding-left: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.pt-2, .py-2 {
  padding-top: 0.5rem !important;
}
.pr-2, .px-2 {
  padding-right: 0.5rem !important;
}
.pb-2, .py-2 {
  padding-bottom: 0.5rem !important;
}
.pl-2, .px-2 {
  padding-left: 0.5rem !important;
}
.p-3 {
  padding: 1rem !important;
}
.pt-3, .py-3 {
  padding-top: 1rem !important;
}
.pr-3, .px-3 {
  padding-right: 1rem !important;
}
.pb-3, .py-3 {
  padding-bottom: 1rem !important;
}
.pl-3, .px-3 {
  padding-left: 1rem !important;
}
.p-4 {
  padding: 1.5rem !important;
}
.pt-4, .py-4 {
  padding-top: 1.5rem !important;
}
.pr-4, .px-4 {
  padding-right: 1.5rem !important;
}
.pb-4, .py-4 {
  padding-bottom: 1.5rem !important;
}
.pl-4, .px-4 {
  padding-left: 1.5rem !important;
}
.p-5 {
  padding: 2.5rem !important;
}
.pt-5, .py-5 {
  padding-top: 2.5rem !important;
}
.pr-5, .px-5 {
  padding-right: 2.5rem !important;
}
.pb-5, .py-5 {
  padding-bottom: 2.5rem !important;
}
.pl-5, .px-5 {
  padding-left: 2.5rem !important;
}
.m-n1 {
  margin: -0.25rem !important;
}
.mt-n1, .my-n1 {
  margin-top: -0.25rem !important;
}
.mr-n1, .mx-n1 {
  margin-right: -0.25rem !important;
}
.mb-n1, .my-n1 {
  margin-bottom: -0.25rem !important;
}
.ml-n1, .mx-n1 {
  margin-left: -0.25rem !important;
}
.m-n2 {
  margin: -0.5rem !important;
}
.mt-n2, .my-n2 {
  margin-top: -0.5rem !important;
}
.mr-n2, .mx-n2 {
  margin-right: -0.5rem !important;
}
.mb-n2, .my-n2 {
  margin-bottom: -0.5rem !important;
}
.ml-n2, .mx-n2 {
  margin-left: -0.5rem !important;
}
.m-n3 {
  margin: -1rem !important;
}
.mt-n3, .my-n3 {
  margin-top: -1rem !important;
}
.mr-n3, .mx-n3 {
  margin-right: -1rem !important;
}
.mb-n3, .my-n3 {
  margin-bottom: -1rem !important;
}
.ml-n3, .mx-n3 {
  margin-left: -1rem !important;
}
.m-n4 {
  margin: -1.5rem !important;
}
.mt-n4, .my-n4 {
  margin-top: -1.5rem !important;
}
.mr-n4, .mx-n4 {
  margin-right: -1.5rem !important;
}
.mb-n4, .my-n4 {
  margin-bottom: -1.5rem !important;
}
.ml-n4, .mx-n4 {
  margin-left: -1.5rem !important;
}
.m-n5 {
  margin: -2.5rem !important;
}
.mt-n5, .my-n5 {
  margin-top: -2.5rem !important;
}
.mr-n5, .mx-n5 {
  margin-right: -2.5rem !important;
}
.mb-n5, .my-n5 {
  margin-bottom: -2.5rem !important;
}
.ml-n5, .mx-n5 {
  margin-left: -2.5rem !important;
}
.m-auto {
  margin: auto !important;
}
.mt-auto, .my-auto {
  margin-top: auto !important;
}
.mr-auto, .mx-auto {
  margin-right: auto !important;
}
.mb-auto, .my-auto {
  margin-bottom: auto !important;
}
.ml-auto, .mx-auto {
  margin-left: auto !important;
}
@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0, .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0, .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0, .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0, .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1, .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1, .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1, .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1, .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2, .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2, .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2, .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2, .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3, .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3, .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3, .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3, .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4, .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4, .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4, .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4, .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 2.5rem !important;
  }
  .mt-sm-5, .my-sm-5 {
    margin-top: 2.5rem !important;
  }
  .mr-sm-5, .mx-sm-5 {
    margin-right: 2.5rem !important;
  }
  .mb-sm-5, .my-sm-5 {
    margin-bottom: 2.5rem !important;
  }
  .ml-sm-5, .mx-sm-5 {
    margin-left: 2.5rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0, .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0, .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0, .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0, .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1, .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1, .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1, .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1, .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2, .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2, .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2, .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2, .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3, .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3, .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3, .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3, .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4, .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4, .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4, .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4, .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 2.5rem !important;
  }
  .pt-sm-5, .py-sm-5 {
    padding-top: 2.5rem !important;
  }
  .pr-sm-5, .px-sm-5 {
    padding-right: 2.5rem !important;
  }
  .pb-sm-5, .py-sm-5 {
    padding-bottom: 2.5rem !important;
  }
  .pl-sm-5, .px-sm-5 {
    padding-left: 2.5rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1, .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1, .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1, .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1, .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2, .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2, .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2, .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2, .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3, .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3, .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3, .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3, .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4, .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4, .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4, .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4, .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -2.5rem !important;
  }
  .mt-sm-n5, .my-sm-n5 {
    margin-top: -2.5rem !important;
  }
  .mr-sm-n5, .mx-sm-n5 {
    margin-right: -2.5rem !important;
  }
  .mb-sm-n5, .my-sm-n5 {
    margin-bottom: -2.5rem !important;
  }
  .ml-sm-n5, .mx-sm-n5 {
    margin-left: -2.5rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto, .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto, .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto, .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto, .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0, .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0, .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0, .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0, .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1, .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1, .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1, .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1, .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2, .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2, .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2, .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2, .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3, .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3, .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3, .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3, .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4, .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4, .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4, .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4, .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 2.5rem !important;
  }
  .mt-md-5, .my-md-5 {
    margin-top: 2.5rem !important;
  }
  .mr-md-5, .mx-md-5 {
    margin-right: 2.5rem !important;
  }
  .mb-md-5, .my-md-5 {
    margin-bottom: 2.5rem !important;
  }
  .ml-md-5, .mx-md-5 {
    margin-left: 2.5rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0, .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0, .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0, .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0, .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1, .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1, .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1, .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1, .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2, .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2, .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2, .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2, .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3, .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3, .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3, .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3, .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4, .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4, .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4, .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4, .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 2.5rem !important;
  }
  .pt-md-5, .py-md-5 {
    padding-top: 2.5rem !important;
  }
  .pr-md-5, .px-md-5 {
    padding-right: 2.5rem !important;
  }
  .pb-md-5, .py-md-5 {
    padding-bottom: 2.5rem !important;
  }
  .pl-md-5, .px-md-5 {
    padding-left: 2.5rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1, .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1, .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1, .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1, .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2, .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2, .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2, .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2, .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3, .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3, .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3, .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3, .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4, .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4, .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4, .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4, .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -2.5rem !important;
  }
  .mt-md-n5, .my-md-n5 {
    margin-top: -2.5rem !important;
  }
  .mr-md-n5, .mx-md-n5 {
    margin-right: -2.5rem !important;
  }
  .mb-md-n5, .my-md-n5 {
    margin-bottom: -2.5rem !important;
  }
  .ml-md-n5, .mx-md-n5 {
    margin-left: -2.5rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto, .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto, .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto, .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto, .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0, .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0, .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0, .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0, .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1, .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1, .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1, .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1, .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2, .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2, .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2, .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2, .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3, .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3, .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3, .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3, .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4, .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4, .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4, .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4, .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 2.5rem !important;
  }
  .mt-lg-5, .my-lg-5 {
    margin-top: 2.5rem !important;
  }
  .mr-lg-5, .mx-lg-5 {
    margin-right: 2.5rem !important;
  }
  .mb-lg-5, .my-lg-5 {
    margin-bottom: 2.5rem !important;
  }
  .ml-lg-5, .mx-lg-5 {
    margin-left: 2.5rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0, .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0, .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0, .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0, .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1, .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1, .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1, .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1, .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2, .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2, .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2, .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2, .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3, .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3, .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3, .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3, .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4, .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4, .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4, .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4, .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 2.5rem !important;
  }
  .pt-lg-5, .py-lg-5 {
    padding-top: 2.5rem !important;
  }
  .pr-lg-5, .px-lg-5 {
    padding-right: 2.5rem !important;
  }
  .pb-lg-5, .py-lg-5 {
    padding-bottom: 2.5rem !important;
  }
  .pl-lg-5, .px-lg-5 {
    padding-left: 2.5rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1, .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1, .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1, .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1, .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2, .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2, .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2, .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2, .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3, .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3, .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3, .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3, .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4, .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4, .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4, .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4, .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -2.5rem !important;
  }
  .mt-lg-n5, .my-lg-n5 {
    margin-top: -2.5rem !important;
  }
  .mr-lg-n5, .mx-lg-n5 {
    margin-right: -2.5rem !important;
  }
  .mb-lg-n5, .my-lg-n5 {
    margin-bottom: -2.5rem !important;
  }
  .ml-lg-n5, .mx-lg-n5 {
    margin-left: -2.5rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto, .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto, .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto, .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto, .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0, .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0, .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0, .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0, .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1, .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1, .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1, .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1, .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2, .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2, .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2, .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2, .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3, .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3, .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3, .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3, .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4, .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4, .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4, .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4, .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 2.5rem !important;
  }
  .mt-xl-5, .my-xl-5 {
    margin-top: 2.5rem !important;
  }
  .mr-xl-5, .mx-xl-5 {
    margin-right: 2.5rem !important;
  }
  .mb-xl-5, .my-xl-5 {
    margin-bottom: 2.5rem !important;
  }
  .ml-xl-5, .mx-xl-5 {
    margin-left: 2.5rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0, .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0, .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0, .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0, .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1, .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1, .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1, .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1, .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2, .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2, .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2, .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2, .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3, .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3, .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3, .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3, .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4, .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4, .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4, .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4, .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 2.5rem !important;
  }
  .pt-xl-5, .py-xl-5 {
    padding-top: 2.5rem !important;
  }
  .pr-xl-5, .px-xl-5 {
    padding-right: 2.5rem !important;
  }
  .pb-xl-5, .py-xl-5 {
    padding-bottom: 2.5rem !important;
  }
  .pl-xl-5, .px-xl-5 {
    padding-left: 2.5rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1, .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1, .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1, .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1, .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2, .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2, .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2, .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2, .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3, .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3, .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3, .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3, .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4, .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4, .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4, .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4, .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -2.5rem !important;
  }
  .mt-xl-n5, .my-xl-n5 {
    margin-top: -2.5rem !important;
  }
  .mr-xl-n5, .mx-xl-n5 {
    margin-right: -2.5rem !important;
  }
  .mb-xl-n5, .my-xl-n5 {
    margin-bottom: -2.5rem !important;
  }
  .ml-xl-n5, .mx-xl-n5 {
    margin-left: -2.5rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto, .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto, .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto, .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto, .mx-xl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
.text-justify {
  text-align: justify !important;
}
.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.font-weight-light {
  font-weight: 300 !important;
}
.font-weight-lighter {
  font-weight: lighter !important;
}
.font-weight-normal {
  font-weight: 400 !important;
}
.font-weight-bold {
  font-weight: 700 !important;
}
.font-weight-bolder {
  font-weight: bolder !important;
}
.font-italic {
  font-style: italic !important;
}
.text-white {
  color: var(--white) !important;
}
.text-primary {
  color: var(--primary) !important;
}
a.text-primary:hover, a.text-primary:focus {
  color: var(--primary-darken-15) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}
a.text-secondary:hover, a.text-secondary:focus {
  color: #1d7f8d !important;
}
.text-success {
  color: #28a745 !important;
}
a.text-success:hover, a.text-success:focus {
  color: #19692c !important;
}
.text-info {
  color: var(--info) !important;
}
a.text-info:hover, a.text-info:focus {
  color: #369fc0 !important;
}
.text-warning {
  color: #ffc107 !important;
}
a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important;
}
.text-danger {
  color: var(--danger) !important;
}
a.text-danger:hover, a.text-danger:focus {
  color: #e81933 !important;
}
.text-light {
  color: #f8f8f8 !important;
}
a.text-light:hover, a.text-light:focus {
  color: #d2d2d2 !important;
}
.text-dark {
  color: #333 !important;
}
a.text-dark:hover, a.text-dark:focus {
  color: #0d0d0d !important;
}
.text-primary-light {
  color: var(--primary-light) !important;
}
a.text-primary-light:hover, a.text-primary-light:focus {
  color: #aadde7 !important;
}
.text-gray {
  color: #666 !important;
}
a.text-gray:hover, a.text-gray:focus {
  color: #404040 !important;
}
.text-accent-red {
  color: var(--accent-red) !important;
}
.text-btn-color {
  color: var(--btn-color) !important;
}
a.text-btn-color:hover, a.text-btn-color:focus {
  color: #d9d9d9 !important;
}
.text-body {
  color: #333 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.text-muted {
  color: #999 !important;
}
.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}
.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.text-decoration-none {
  text-decoration: none !important;
}
.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}
.text-reset {
  color: inherit !important;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
.error {
  width: 100%;
  margin: 0;
  padding: 50px 0 0;
  text-align: center;
  background-color: var(--light-blue);
  box-sizing: border-box;
}
.error-title {
  text-align: center;
}
.error-title1 {
  display: block;
  line-height: 1;
  font-size: 70px;
  font-weight: 500;
  font-family: var(--font-family-alex);
}
.error-font36 {
  font-size: 36px !important;
}
.error-title2 {
  display: block;
  font-size: 20px;
  font-weight: bold;
}
.error-description {
  margin-top: 2em;
  text-align: left;
  color: var(--font-color);
}
.maintenance-description {
  margin-top: 2em;
  text-align: left;
}
.error-description1 {
  font-size: 20px;
  margin-bottom: 1em;
  font-weight: bold;
  color: var(--font-color);
}
.error-description2 {
  color: var(--font-color);
  line-height: 1.6;
}
.error-action {
  margin-top: 3rem;
  text-align: center;
}
@media (max-width: 767.98px) {
  .error-action {
    margin: 3rem 0;
  }
}
@media screen and (min-width: 768px) {
  .error-description {
    text-align: center;
  }
  .maintenance-description {
    text-align: left;
  }
  .maintenance-description > div {
    margin: 0 auto;
    max-width: 620px;
  }
}
@media (max-width: 767.98px) {
  .error-description1 {
    font-size: 18px;
  }
}
#environment-ribbon {
  border-bottom: 1px solid #999;
  color: var(--white);
  line-height: 1.5em;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 10;
}
@media (min-width: 992px) {
  #environment-ribbon {
    left: 50%;
    width: 200px;
    transform: translateX(-50%);
    z-index: 1002;
  }
}
#environment-ribbon.development {
  background-color: #EA7200;
  border-bottom: 1px solid #999;
}
#environment-ribbon.local {
  background-color: #EA7200;
}
.application-history-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.application-history-client {
  color: #333;
  width: 100%;
}
.application-history-title {
  color: #333;
  width: 100%;
}
.application-history-client {
  padding-top: 0.2rem;
}
.application-history-title {
  font-size: 10px;
  padding-top: 0.2rem;
}
.application-history-status {
  text-align: center;
  min-width: 120px;
  max-width: 50%;
  padding: 4px 10px;
  color: var(--white);
  border-radius: 0.5rem;
}
.my-page-card .image-block img,
.card-form .image-block img {
  max-width: 100%;
}
.upload-img-block img {
  margin-top: 10px;
}
.my-page-card .table-default tbody th {
  width: 30% !important;
}
.my-page-card .table-default tbody td {
  word-break: break-all;
}
.my-page-card .table tr:nth-child(1) th, .my-page-card .table tr:nth-child(1) td {
  border-top: none !important;
}
.card-padding-my-page {
  padding: 24px 15px;
}
@media (min-width: 768px) {
  .card-padding-my-page {
    padding: 40px 30px;
  }
}
@media (min-width: 992px) {
  .card-padding-my-page {
    padding: 40px;
  }
}
.column-table td {
  padding: 0;
  margin-right: 20px;
  border: none;
}
.column-table td.column-table-parent {
  min-width: 40px;
  max-width: 120px;
}
.column-table td:not(.column-table-parent) {
  padding-right: 10px;
}
.recommend-job-block .action-btn-block {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.recommend-job-block .action-btn-block button {
  flex: 1;
  max-width: 50%;
}
.mt-40px {
  margin-top: 40px;
}
.fs-22 {
  font-size: 22px;
}
.last-contents-spacer {
  height: 1rem;
}
@media (max-width: 767.98px) {
  .recommend-job-block .action-btn-block {
    flex-direction: column;
  }
  .recommend-job-block .action-btn-block button {
    max-width: 100%;
  }
}
@media (max-width: 575.98px) {
  .my-page-card .table-default tbody th {
    width: 40% !important;
  }
}
button:hover, a:hover {
  transition: all 0.3s;
}
@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    width: 116rem;
    max-width: calc(100% - 4rem);
  }
}
[class*="col-"] > img {
  width: 100%;
}
ul {
  list-style: none;
  padding: 0;
}
.fs-10 {
  font-size: 10px !important;
}
.fs-12 {
  font-size: 12px !important;
}
.fs-14 {
  font-size: 14px !important;
}
.fs-16 {
  font-size: 16px !important;
}
.fs-18 {
  font-size: 18px !important;
}
.fs-20 {
  font-size: 20px !important;
}
picture {
  font-size: 0;
}
.heading-h1 {
  display: flex;
  justify-content: center;
  padding-top: 40px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .heading-h1 {
    margin-top: 0px;
  }
}
.heading-h1 span {
  position: relative;
  padding-bottom: 6px;
  font-size: 24px;
  font-weight: 700;
}
.heading-h1 span::after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 6px;
  background: var(--primary);
  position: absolute;
  bottom: 0;
  left: 0;
}
.heading-dotted {
  font-weight: 700;
  color: var(--primary);
  font-size: 20px;
  padding-bottom: 10px;
  margin-bottom: 1rem;
  border-bottom: 2px dotted var(--primary);
}
.heading-bar {
  font-size: 16px;
  font-weight: 700;
  border-left: solid 4px var(--primary);
  padding-left: 6px;
  margin-bottom: 1rem;
}
.blur {
  position: relative;
}
.blur::before {
  content: attr(data-content);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  color: #000;
  font-size: 14px;
  white-space: normal;
}
.blur-item {
  filter: blur(7px);
}
td.blur::before {
  top: 0.75rem;
  left: 0.75rem;
}
@media (min-width: 992px) {
  td.blur::before {
    top: 10px;
    left: 24px;
  }
}
allert-success {
  color: var(--primary);
  background-color: var(--primary-light);
}
.card a {
  text-decoration: none;
}
.card a:hover, .card a:focus {
  opacity: 0.7;
}
.card .card {
  box-shadow: none;
}
.card-form {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .card-form {
    max-width: 700px;
  }
}
.card-news {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .card-news {
    width: 700px;
  }
}
.card-padding {
  padding: 24px 15px;
}
.card-padding-sm {
  padding: 15px 15px;
}
.card-padding-lg {
  padding: 40px 30px;
}
@media (min-width: 768px) {
  .card-padding {
    padding: 40px 30px;
  }
  .card-padding-sm {
    padding: 24px 20px;
  }
  .card-padding-lg {
    padding: 40px 40px;
  }
}
@media (min-width: 992px) {
  .card-padding {
    padding: 40px 60px;
  }
  .card-padding-sm {
    padding: 40px;
  }
  .card-padding-lg {
    padding: 40px 100px;
  }
}
.card-window .card-header {
  background-color: var(--primary);
  color: var(--white);
  font-weight: 700;
}
.card-window .card-body {
  padding: 30px 20px;
}
@media (min-width: 992px) {
  .card-window .card-body {
    padding: 30px 40px;
  }
}
.card-job-img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1.3333333333;
  border-radius: 1rem;
}
.card-job-name {
  font-weight: 700;
  color: var(--primary);
  font-size: 10px;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-width: 100%;
}
.card-job-info {
  margin-bottom: 1rem;
}
.card-job-info p {
  color: #333;
  margin-bottom: 0.25rem;
}
.card-job-info i {
  color: var(--primary);
  padding-right: 0.25rem;
}
.btn, .specified-btn {
  min-width: 120px;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 576px) {
  .btn, .specified-btn {
    min-width: 154px;
  }
}
.btn i, .specified-btn i {
  margin-right: 4px;
}
.btn-sm, .btn-group-sm > .btn, .specified-btn-sm {
  min-width: 68px;
}
button:disabled, .disabled {
  pointer-events: none;
}
.tag {
  display: inline-flex;
  width: auto;
  padding: 0.2rem 0.8rem;
  color: var(--dark-gray);
  font-size: 13px;
  line-height: 1.3;
  border: 1px solid var(--dark-gray);
  border-radius: 0.2rem;
  background: var(--light-blue);
}
.tag.hidden {
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0;
  transition: all 0.3s ease;
  overflow: hidden;
}
.tag-selected {
  background-color: var(--primary-light);
}
.required {
  display: inline-block;
  color: var(--accent-red);
  background-color: color-mix(in srgb, var(--accent-red) 10%, var(--white));
  font-size: 12px;
  text-align: center;
  width: auto;
  min-width: 40px;
  height: 26px;
  padding: 0.4rem 0.75rem 0.1rem;
  border-radius: 100px;
}
.optional {
  display: inline-block;
  background-color: var(--bg-gray);
  font-size: 12px;
  text-align: center;
  width: auto;
  min-width: 40px;
  height: 26px;
  padding: 0.4rem 0.75rem 0.1rem;
  border-radius: 100px;
}
.table-default {
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid #ddd;
  border-collapse: separate;
  border-spacing: 0;
}
@media (min-width: 992px) {
  .table-default th, .table-default td {
    padding: 10px 24px;
  }
}
.table-default thead {
  background: var(--primary);
  color: var(--btn-color);
  font-size: 18px;
}
.table-default thead th {
  border-bottom: none;
}
.table-default tbody th {
  background-color: var(--primary-light);
  color: var(--primary);
}
@media (max-width: 991.98px) {
  .table-default tbody th {
    max-width: 100px;
    word-break: keep-all;
  }
}
@media (min-width: 992px) {
  .table-default tbody th {
    width: 200px;
  }
}
.dl-float dd::after {
  display: block;
  clear: both;
  content: "";
}
.dl-float dt {
  margin-right: 12px;
  float: left;
  display: inline-block;
}
.dl-float dd {
  float: left;
  display: inline-block;
}
.dl-form-confirm {
  margin-bottom: 0;
}
.dl-form-confirm dt {
  width: 16%;
}
.dl-form-confirm dd {
  width: calc(84% - 12px);
}
.form-group input, .form-group label {
  font-size: 16px;
}
.form-group input.form-control, .form-group select.form-control {
  width: 100%;
  height: 40px;
}
.form-group textarea.form-control {
  width: 100%;
  padding-top: 4px;
  padding-bottom: 4px;
}
.form-group .form-control {
  font-size: 16px;
  padding: 0 0.5rem;
}
.form-group .form-control::placeholder {
  color: #999;
}
.form-group .required, .form-group .optional {
  margin-left: 0.25rem;
}
.form-label {
  margin-bottom: 0.5rem;
}
.form-label label {
  margin-bottom: 0;
}
.form-inline .form-group {
  width: 100%;
  min-height: 42px;
  margin-bottom: 1rem;
  align-items: flex-start;
}
.form-inline .form-label {
  display: flex;
  justify-content: space-between;
  color: #666;
  font-weight: 700;
}
@media (min-width: 576px) {
  .form-inline .form-label {
    width: 40%;
    padding-top: 8px;
  }
}
@media (min-width: 768px) {
  .form-inline .form-label {
    width: 240px;
  }
}
@media (min-width: 576px) {
  .form-inline .form-control-group {
    width: calc(60% - 1rem);
    margin-left: 1rem;
  }
}
@media (min-width: 768px) {
  .form-inline .form-control-group {
    width: calc(100% - 240px - 1rem);
  }
}
@media (min-width: 576px) {
  .form-inline .form-check-group {
    width: calc(60% - 1rem);
    display: flex;
    flex-wrap: wrap;
    margin-left: 1rem;
    padding-top: 8px;
  }
  .form-inline .form-check-group .form-check {
    height: 26px;
  }
}
@media (min-width: 768px) {
  .form-inline .form-check-group {
    width: calc(100% - 240px - 1rem);
  }
}
.form-control-confirm {
  font-size: 16px;
}
@media (min-width: 576px) {
  .form-control-confirm {
    width: calc(60% - 1rem);
    margin: 8px 0 0 16px;
  }
}
@media (min-width: 768px) {
  .form-control-confirm {
    width: calc(100% - 240px - 1rem);
  }
}
input[type="checkbox"], input[type="radio"] {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media (max-width: 991.98px) {
  .form-check {
    margin-bottom: 6px;
  }
}
.form-check-input[type="radio"] + label {
  padding-left: 20px;
  position: relative;
  display: flex;
  align-items: center;
}
.form-check-input[type="radio"] + label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 8px);
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #bdbdbd;
  border-radius: 50%;
  background-color: var(--white);
}
.form-check-input[type="radio"]:checked + label::before {
  border-color: var(--primary);
}
.form-check-input[type="radio"]:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  left: 4px;
  width: 8px;
  height: 8px;
  background: var(--primary);
  border-radius: 50%;
}
.form-check-input[type="checkbox"] + label,
.form-check-input[type="checkbox"] + .form-check-label {
  padding-left: 24px;
  position: relative;
  display: flex;
  align-items: center;
}
.form-check-input[type="checkbox"] + label::before,
.form-check-input[type="checkbox"] + .form-check-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border: 1px solid #bdbdbd;
  border-radius: 4px;
  background-color: var(--white);
}
.form-check-input[type="checkbox"]:checked + label::before,
.form-check-input[type="checkbox"]:checked + .form-check-label::before {
  border-color: var(--primary);
  background-color: var(--primary);
}
.form-check-input[type="checkbox"]:checked + label::after,
.form-check-input[type="checkbox"]:checked + .form-check-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 6px;
  width: 6px;
  height: 10px;
  transform: translateY(calc(-50% - 1px)) rotate(40deg);
  border-bottom: 2px solid var(--btn-color);
  border-right: 2px solid var(--btn-color);
}
.pagination-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  line-height: 1;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (max-width: 991.98px) {
  .pagination-nav {
    transform: scale(0.8);
  }
}
.subpage .pagination-nav {
  margin-top: 50px;
}
.pagination-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  aspect-ratio: 1/1;
  text-decoration: none;
}
.pagination-arrow img {
  width: 8px;
  height: auto;
  display: block;
}
.pagination-prev img {
  transform: rotateY(180deg);
}
.pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  aspect-ratio: 1/1;
  font-family: var(--font-family-alex);
  font-weight: 400;
  color: inherit;
  text-decoration: none;
}
.pagination-current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--primary);
  color: white;
  font-family: var(--font-family-alex);
  font-weight: 400;
  padding-left: 1px;
  padding-top: 1px;
}
.pagination-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  aspect-ratio: 1/1;
  font-size: 16px;
  font-family: var(--font-family-alex);
}
.detail-page-nav {
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6rem;
}
.detail-page-prev,
.detail-page-next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 15px;
  color: var(--primary);
  text-decoration: none;
  transition: opacity 0.3s;
  min-width: 6rem;
}
.detail-page-prev.is-disabled,
.detail-page-next.is-disabled {
  visibility: hidden;
  pointer-events: none;
}
@media (hover: hover) {
  .detail-page-prev:hover,
  .detail-page-next:hover {
    opacity: 0.6;
  }
}
.detail-page-prev > .in-angle img,
.detail-page-next > .in-angle img {
  width: 0.6rem;
  height: auto;
  display: block;
}
.detail-page-prev > .in-angle img {
  transform: rotateY(180deg);
}
.detail-archive-link {
  padding: 1rem 2.5rem;
  border: solid 2px var(--primary);
  border-radius: 3rem;
  font-size: 16px;
  background-color: var(--primary);
  color: white;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .detail-archive-link:hover {
    color: var(--primary);
    background-color: white;
  }
}
#header {
  position: fixed;
  top: var(--environment-ribbon-height);
  left: 0;
  width: 100%;
  z-index: 1001;
}
body {
  padding-top: calc(5rem + var(--environment-ribbon-height));
}
@media (min-width: 992px) {
  body {
    padding-top: calc(7.2rem + var(--environment-ribbon-height));
  }
}
body.page-home {
  padding-top: 0;
}
body.is-header-drawer-open {
  overscroll-behavior: none;
  touch-action: none;
}
html.is-header-drawer-open {
  overflow: hidden;
  overscroll-behavior: none;
}
html.is-header-drawer-open [data-inview],
html.is-header-drawer-open .js-inview,
html.is-header-drawer-open .js-inview-all,
html.is-header-drawer-open .js-inview-eachItem,
html.is-header-drawer-open .js-inview-eachItem-delay {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}
html.is-header-drawer-open .lazyload,
html.is-header-drawer-open .lazyloading {
  opacity: 1 !important;
}
#header .navbar {
  height: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--white);
  padding: 0;
  position: relative;
}
@media (min-width: 992px) {
  #header .navbar {
    height: 7.2rem;
    padding: 0;
  }
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 1.3rem;
  position: relative;
  font-family: var(--font-family-zen);
  z-index: 1;
}
@media (min-width: 992px) {
  .header-inner {
    padding-left: 2.7rem;
  }
}
#header .navbar-brand {
  margin-left: 0;
  padding: 0;
  height: auto;
  max-width: none;
  display: block;
}
#header .navbar-brand img,
#header .navbar-brand .logo {
  width: 8.9rem;
  max-height: none;
  height: auto;
}
@media (min-width: 992px) {
  #header .navbar-brand img,
  #header .navbar-brand .logo {
    width: 11.6rem;
  }
}
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.4rem;
  height: 100%;
  padding-right: 4.6rem;
}
@media (min-width: 992px) {
  .header-actions {
    gap: 2rem;
    padding-right: 10rem;
  }
}
.header-label-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.header-contact-link {
  font-size: 10px;
  color: var(--primary);
  text-align: center;
  font-weight: 500;
  transition: opacity 0.3s;
}
.header-contact-link:hover,
.header-contact-link:focus {
  opacity: 0.7;
  text-decoration: none;
  color: var(--primary);
}
.header-consultant-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.2rem;
  height: 3.6rem;
  background-color: var(--accent-red);
  border-radius: 0.4rem;
  color: var(--white);
  font-size: 10px;
  text-align: center;
  flex-direction: column;
  transition: opacity 0.3s;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .header-consultant-link {
    width: 13.2rem;
    height: 3rem;
    font-size: 14px;
    flex-direction: row;
  }
}
.header-consultant-link:hover,
.header-consultant-link:focus {
  opacity: 0.7;
  text-decoration: none;
  color: var(--white);
}
.header-consultant-small {
  font-size: 9px;
  margin-left: 0;
}
@media (min-width: 992px) {
  .header-consultant-small {
    font-size: 12px;
    margin-left: 0.7rem;
  }
}
.header-action-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  transition: opacity 0.3s;
  color: var(--font-color);
}
.header-action-link:hover,
.header-action-link:focus {
  opacity: 0.7;
  text-decoration: none;
  color: var(--font-color);
}
.header-action-icon {
  width: 1.7rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .header-action-icon {
    width: 2.2rem;
    height: 3rem;
  }
}
.header-action-icon img {
  width: 100%;
  height: auto;
  margin: 0;
}
.icon-heart {
  display: block;
  width: 100%;
  aspect-ratio: 26 / 25;
  background-color: var(--primary);
  -webkit-mask-image: url(/general/img/common/ic-heart.svg);
  mask-image: url(/general/img/common/ic-heart.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.header-drawer-quick-link .icon-heart {
  width: 2.2rem;
  flex-shrink: 0;
}
.header-action-text {
  font-size: 10px;
  margin: 0;
  line-height: 1.2;
}
.header-menu-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  gap: 0;
  width: 4.6rem;
  height: 5rem;
  border: none;
  border-left: none;
  z-index: 1002;
  padding: 0;
  margin: 0;
  position: fixed;
  top: var(--environment-ribbon-height);
  right: 0;
  opacity: 1;
  transition: transform 0.3s;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .header-menu-toggle {
    width: 8.4rem;
    height: 7.2rem;
    border-left: 1px solid #C3C3C3;
  }
}
.header-menu-bars {
  display: flex;
  width: 2.2rem;
  height: 2.5rem;
  position: relative;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .header-menu-bars {
    height: 3rem;
  }
}
.header-menu-bar {
  display: block;
  height: 0.2rem;
  border-radius: 0.2rem;
  position: absolute;
  background-color: var(--primary);
}
.header-menu-bar--top,
.header-menu-bar--bottom {
  width: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, top 0.3s;
}
.header-menu-bar--top {
  top: calc(50% - 0.6rem);
}
.header-menu-bar--middle {
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  transition: opacity 0.3s;
}
.header-menu-bar--bottom {
  top: calc(50% + 0.6rem);
}
.header-menu-text {
  font-size: 10px;
  color: var(--primary);
  font-family: var(--font-family-alex);
  line-height: 1.2;
  margin: 0;
}
body.is-header-drawer-open .header-menu-toggle {
  border-left: none;
}
@media (max-width: 991.98px) {
  body.is-header-drawer-open #header.header--home,
  body.is-header-drawer-open #header.header--home ~ .header-menu-toggle {
    transform: translateY(0);
  }
}
body.is-header-drawer-open .header-menu-bar--top {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
body.is-header-drawer-open .header-menu-bar--middle {
  opacity: 0;
}
body.is-header-drawer-open .header-menu-bar--bottom {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 991.98px) {
  #header.header--home {
    transition: transform 0.3s;
  }
  #header.header--home:not(.is-scroll) {
    transform: translateY(calc(-5rem - var(--environment-ribbon-height)));
  }
  #header.header--home.is-scroll {
    transform: translateY(0);
  }
  #header.header--home:not(.is-scroll) ~ .header-menu-toggle {
    transform: translateY(calc(-5rem - var(--environment-ribbon-height)));
  }
  #header.header--home.is-scroll ~ .header-menu-toggle {
    gap: 0.05rem;
    transform: translateY(0);
    padding: 0.3rem 0 0.2rem;
  }
}
.header-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 1000;
}
.header-drawer-bg {
  background-color: rgba(41, 41, 41, 0.8);
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  height: 100%;
  overflow: hidden;
  touch-action: none;
}
.header-drawer-panel {
  --drawer-panel-padding-top: calc(8rem + var(--environment-ribbon-height));
  --drawer-panel-padding-x: 3.2rem;
  --drawer-panel-padding-bottom: 2rem;
  --drawer-quick-link-height: 6rem;
  --drawer-quick-link-font-size: 14px;
  --drawer-quick-link-gap: 1rem;
  --drawer-quick-links-gap: 0.6rem;
  --drawer-menu-margin-top: 1rem;
  --drawer-menu-item-padding-y: 2rem;
  --drawer-menu-font-size: 15px;
  --drawer-child-menu-gap: 1rem;
  --drawer-child-menu-margin-bottom: 2rem;
  --drawer-account-margin-top: 2rem;
  --drawer-account-padding-y: 1.2rem;
  --drawer-account-font-size: 13px;
  --drawer-policy-margin-top: 4rem;
  --drawer-policy-font-size: 14px;
  --drawer-policy-gap: 2rem;
  background-color: var(--white);
  padding: var(--drawer-panel-padding-top) var(--drawer-panel-padding-x) var(--drawer-panel-padding-bottom);
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  top: 0;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  max-height: 100vh;
  max-height: 100dvh;
  max-height: 100svh;
  right: -50rem;
  width: 100%;
  transition: right 0.3s;
  box-sizing: border-box;
}
@media (max-width: 991.98px) {
  .header-drawer-panel {
    --drawer-panel-padding-top: calc(5rem + 1.2rem + var(--environment-ribbon-height));
    right: -50rem;
  }
}
@media (min-width: 992px) {
  .header-drawer-panel {
    --drawer-panel-padding-x: 3rem;
    --drawer-panel-padding-bottom: 2.4rem;
    --drawer-quick-links-gap: 1.2rem;
    --drawer-child-menu-gap: 1.5rem;
    width: 40rem;
    right: -40rem;
    border-radius: 0;
  }
}
.header-drawer-panel--compact {
  --drawer-panel-padding-bottom: 1.6rem;
  --drawer-quick-link-height: 4.8rem;
  --drawer-quick-link-font-size: 13px;
  --drawer-quick-link-gap: 0.8rem;
  --drawer-menu-item-padding-y: 1.4rem;
  --drawer-menu-font-size: 14px;
  --drawer-child-menu-gap: 0.8rem;
  --drawer-child-menu-margin-bottom: 1.2rem;
  --drawer-account-margin-top: 1.4rem;
  --drawer-account-padding-y: 1rem;
  --drawer-account-font-size: 12px;
  --drawer-policy-margin-top: 2.4rem;
  --drawer-policy-font-size: 13px;
  --drawer-policy-gap: 2rem;
}
@media (min-width: 992px) {
  .header-drawer-panel--compact {
    --drawer-panel-padding-bottom: 2rem;
    --drawer-quick-link-height: 5.2rem;
    --drawer-menu-item-padding-y: 1.6rem;
    --drawer-menu-font-size: 14px;
    --drawer-account-margin-top: 1.6rem;
    --drawer-policy-margin-top: 3.2rem;
  }
}
.header-drawer-panel--compact-2 {
  --drawer-panel-padding-bottom: 1.2rem;
  --drawer-quick-link-height: 4.2rem;
  --drawer-quick-link-font-size: 12px;
  --drawer-quick-links-gap: 0.4rem;
  --drawer-menu-item-padding-y: 1.2rem;
  --drawer-menu-font-size: 13px;
  --drawer-child-menu-gap: 0.6rem;
  --drawer-child-menu-margin-bottom: 0.8rem;
  --drawer-account-margin-top: 1rem;
  --drawer-account-padding-y: 0.8rem;
  --drawer-account-font-size: 11px;
  --drawer-policy-margin-top: 3.2rem;
  --drawer-policy-font-size: 12px;
  --drawer-policy-gap: 2rem;
}
@media (max-width: 991.98px) {
  .header-drawer-panel--compact-2 {
    --drawer-policy-margin-top: 1.6rem;
  }
}
@media (min-width: 992px) {
  .header-drawer-panel--compact-2 {
    --drawer-panel-padding-bottom: 1.6rem;
    --drawer-quick-link-height: 4.6rem;
    --drawer-menu-item-padding-y: 1.6rem;
    --drawer-menu-font-size: 14px;
    --drawer-policy-margin-top: 4rem;
    --drawer-policy-gap: 2rem;
  }
}
.header-drawer-panel--compact-3 {
  --drawer-panel-padding-bottom: 1rem;
  --drawer-quick-link-height: 3.6rem;
  --drawer-quick-link-font-size: 11px;
  --drawer-quick-links-gap: 0.4rem;
  --drawer-menu-item-padding-y: 1rem;
  --drawer-menu-font-size: 12px;
  --drawer-child-menu-gap: 0.4rem;
  --drawer-child-menu-margin-bottom: 0.6rem;
  --drawer-account-margin-top: 0.8rem;
  --drawer-account-padding-y: 0.6rem;
  --drawer-account-font-size: 10px;
  --drawer-policy-margin-top: 2.4rem;
  --drawer-policy-font-size: 11px;
  --drawer-policy-gap: 2rem;
}
@media (min-width: 992px) {
  .header-drawer-panel--compact-3 {
    --drawer-panel-padding-bottom: 1.2rem;
    --drawer-quick-link-height: 4rem;
    --drawer-menu-item-padding-y: 1.2rem;
    --drawer-menu-font-size: 12.5px;
    --drawer-policy-margin-top: 3.2rem;
    --drawer-policy-gap: 2rem;
  }
}
.header-drawer-inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@media (min-width: 992px) {
  .header-drawer-inner {
    max-width: 118rem;
    margin-inline: auto;
  }
}
.header-drawer-quick-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--drawer-quick-links-gap);
  margin-bottom: 1rem;
  flex-shrink: 0;
  width: 100%;
}
.header-drawer-quick-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--drawer-quick-link-gap);
  font-size: var(--drawer-quick-link-font-size);
  border: 1px solid #C3C3C3;
  border-radius: 0.6rem;
  height: var(--drawer-quick-link-height);
  transition: border-color 0.3s;
  box-shadow: 0 0 0.3rem 0.1rem rgba(0, 0, 0, 0.1);
  color: var(--font-color);
  font-weight: 500;
}
.header-drawer-quick-link:hover,
.header-drawer-quick-link:focus {
  border-color: var(--primary);
  text-decoration: none;
  color: var(--font-color);
}
.header-drawer-quick-link img {
  width: 2.2rem;
}
.header-drawer-quick-link--full {
  grid-column: span 2;
}
.header-drawer-contact {
  text-align: center;
  margin-top: 0.6rem;
  flex-shrink: 0;
  width: 100%;
}
.header-drawer-contact a {
  color: var(--primary);
  font-size: 12px;
  font-weight: 500;
}
.header-drawer-contact a:hover,
.header-drawer-contact a:focus {
  text-decoration: none;
  opacity: 0.7;
}
.header-drawer-menu {
  display: flex;
  flex-direction: column;
  margin-top: var(--drawer-menu-margin-top);
  padding: 0;
  list-style: none;
  flex-shrink: 0;
  width: 100%;
}
.header-drawer-menu-item-wrap {
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #C3C3C3;
}
.header-drawer-menu-item {
  position: relative;
  display: block;
  padding: var(--drawer-menu-item-padding-y) 1.2rem var(--drawer-menu-item-padding-y) 0;
  font-size: var(--drawer-menu-font-size);
  font-weight: 500;
  color: var(--font-color);
  width: 100%;
  line-height: 1.35;
}
.header-drawer-menu-text {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
.header-drawer-menu-item:hover,
.header-drawer-menu-item:focus {
  text-decoration: none;
  color: var(--font-color);
  opacity: 0.7;
}
.header-drawer-menu-angle {
  position: absolute;
  top: var(--drawer-menu-item-padding-y);
  right: 0.5rem;
  width: 1rem;
}
.header-drawer-menu-angle img {
  width: 100%;
}
.header-drawer-menu-item-wrap--parent {
  padding-bottom: 0;
}
.header-drawer-menu-parent {
  position: relative;
  display: block;
  padding: var(--drawer-menu-item-padding-y) 1.2rem var(--drawer-menu-item-padding-y) 0;
  font-size: var(--drawer-menu-font-size);
  font-weight: 500;
  color: var(--font-color);
  line-height: 1.35;
}
.header-drawer-child-menu {
  display: flex;
  flex-direction: column;
  gap: var(--drawer-child-menu-gap);
  margin: 0 0 var(--drawer-child-menu-margin-bottom);
  padding: 0;
  list-style: none;
  width: 100%;
}
.header-drawer-child-menu-item-wrap {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-drawer-child-menu-item {
  position: relative;
  display: block;
  padding: 0 1.2rem 0 1.7rem;
  font-size: var(--drawer-menu-font-size);
  font-weight: 500;
  color: var(--font-color);
  line-height: 1.35;
}
.header-drawer-child-menu-item:hover,
.header-drawer-child-menu-item:focus {
  text-decoration: none;
  color: var(--font-color);
  opacity: 0.7;
}
.header-drawer-child-menu-item .header-drawer-menu-angle {
  top: 50%;
  transform: translateY(-50%);
}
.header-drawer-account {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: var(--drawer-account-margin-top) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #C3C3C3;
  flex-shrink: 0;
  width: 100%;
}
.header-drawer-account-item {
  list-style: none;
  border-bottom: 1px solid #C3C3C3;
}
.header-drawer-account-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: var(--drawer-account-padding-y) 0;
  font-size: var(--drawer-account-font-size);
  font-weight: 500;
  color: var(--font-color);
}
.header-drawer-account-link:hover,
.header-drawer-account-link:focus {
  text-decoration: none;
  color: var(--primary);
}
.header-drawer-account-link i {
  width: 1.8rem;
  text-align: center;
  color: var(--primary);
  font-size: calc(var(--drawer-account-font-size) + 1px);
}
.header-drawer-policy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--drawer-policy-gap);
  margin: var(--drawer-policy-margin-top) 0 0;
  padding: 0 0.4rem;
  list-style: none;
  flex-shrink: 0;
  width: 100%;
}
.header-drawer-policy-item {
  font-size: clamp(10px, 2.8vw, var(--drawer-policy-font-size));
  line-height: 1.5;
  text-align: center;
  max-width: 100%;
  flex: 0 0 auto;
}
.header-drawer-policy-item a {
  display: inline-block;
  color: #666;
  transition: opacity 0.3s;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.header-drawer-panel--compact .header-drawer-policy-item,
.header-drawer-panel--compact-2 .header-drawer-policy-item,
.header-drawer-panel--compact-3 .header-drawer-policy-item {
  font-size: clamp(9.5px, 2.6vw, var(--drawer-policy-font-size));
}
.header-drawer-policy-item a:hover,
.header-drawer-policy-item a:focus {
  opacity: 0.6;
  text-decoration: none;
  color: #666;
}
body.is-header-drawer-open .header-drawer {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1001;
}
body.is-header-drawer-open .header-drawer-panel {
  right: 0;
}

body.is-header-drawer-open #header {
  z-index: 1000;
}
#header {
  font-family: var(--font-family-zen);
  color: var(--font-color);
}
.header-drawer,
.header-drawer-panel {
  font-family: var(--font-family-zen);
  color: var(--font-color);
}
.header-menu-toggle {
  font-family: var(--font-family-alex);
}
.favorite-num {
  position: absolute;
  background-color: var(--danger);
  color: var(--btn-color);
  font-size: 12px;
  font-weight: 700;
  border-radius: 30px;
  padding: 0px 4px;
  top: -8px;
  left: 30px;
}
@media (min-width: 992px) {
  .favorite-num {
    background-color: var(--btn-color);
    color: var(--danger);
    top: 6px;
    left: 64px;
  }
}
.footer-top {
  background: var(--info);
  color: var(--white);
  padding: 60px 0;
}
.footer-top-cat {
  font-size: 10px;
  font-weight: 700;
  border-bottom: 1px dashed var(--white);
  padding-bottom: 4px;
}
.footer-top-link a {
  color: var(--white);
}
.footer-top .footer-link-block span.footer-link {
  display: inline-block;
}
.footer-top .footer-link-block span.footer-link:not(:last-child) a:after {
  content: "|";
  margin: 0 4px;
}
.footer-bottom {
  background-color: var(--primary-light);
  padding: 30px 15px;
}
#footer {
  background-color: var(--white);
}
@media (min-width: 992px) {
  .footer-bottom {
    padding: 60px 30px 30px 30px;
  }
}
.footer-bottom-logo {
  width: 150px;
  margin-bottom: 30px;
}
.footer-bottom-logo img {
  width: 100%;
}
.footer-bottom-menu {
  margin-bottom: 20px;
}
@media (max-width: 991.98px) {
  .footer-bottom-menu {
    display: flex;
    flex-wrap: wrap;
  }
}
.footer-bottom-menu a {
  color: #333;
}
@media (max-width: 991.98px) {
  .footer-bottom-menu a {
    width: 50%;
    margin-bottom: 12px;
  }
}
@media (min-width: 992px) {
  .footer-bottom-menu a {
    margin-right: 60px;
  }
  .footer-bottom-menu a:last-child {
    margin-right: 0;
  }
}
.footer-bottom-menu a:hover, .footer-bottom-menu a:focus {
  color: var(--primary);
  text-decoration: none;
}
.footer-bottom-submenu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 12rem;
  padding-block: 5rem 4rem;
}
@media screen and (max-width: 768px) {
  .footer-bottom-submenu {
    flex-direction: column-reverse;
    align-items: center;
    gap: 5rem;
    padding-inline: 5rem;
    padding-block: 0 10rem;
  }
}
.footer-bottom-submenu .copyright {
  margin: 0;
  font-size: 13px;
}
.footer-policy-list {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .footer-policy-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.footer-policy-item {
  font-size: 14px;
  color: #666;
  white-space: nowrap;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .footer-policy-item {
    font-size: 13px;
  }
}
.icon-blank {
  display: inline-block;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  vertical-align: middle;
}
.footer-policy-item a {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .footer-policy-item:hover {
    opacity: 0.6;
  }
}
.copyright {
  font-size: 12px;
  color: #666;
}
@media (max-width: 991.98px) {
  .copyright {
    margin-top: 20px;
  }
}
#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
}
@media (max-width: 991.98px) {
  #pagetop {
    bottom: 10rem;
  }
}
.footer-button-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.6rem 0 0 0;
  background-color: var(--primary);
  width: 5rem;
  aspect-ratio: 1 / 1;
  gap: 0.5rem;
  padding-top: 0.3rem;
  transition: opacity 0.3s;
  text-decoration: none;
}
.footer-button-top:hover,
.footer-button-top:focus {
  opacity: 0.6;
  text-decoration: none;
}
.footer-button-top-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
.footer-button-top-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-top: 0.2rem solid var(--white);
  border-right: 0.2rem solid var(--white);
  transform: translate(-50%, -20%) rotate(-45deg);
  box-sizing: border-box;
}
.footer-button-top-text {
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-family-alex);
  line-height: 1;
}

@media (max-width: 767.98px) {
  .footer-button-top {
    border-radius: 0.6rem 0 0 0.6rem;
  }
}


/* Subpage */
.subpage {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  background: linear-gradient(to bottom, rgba(255,255,255,0.5), var(--blue-gradient-end) 36rem);
  margin-top: calc(-5rem - var(--environment-ribbon-height));
  padding-top: calc(5rem + var(--environment-ribbon-height));
}
@media (min-width: 992px) {
  .subpage {
    margin-top: calc(-7.2rem - var(--environment-ribbon-height));
    padding-top: calc(7.2rem + var(--environment-ribbon-height));
  }
}
.subpage :where(a:not([class])):hover{
  opacity: 0.7;
}
.subpage-head {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 13rem;
  padding: 5rem 5.7rem;
  box-sizing: border-box;
}
.subpage-head .heading-h1,
.heading-h1 {
  padding-top: 0;
  margin-bottom: 0;
}
.subpage-head .heading-h1 span,
.heading-h1 span {
  font-size: 30px;
  font-weight: bold;
  padding-bottom: 0;
}
.subpage-head .heading-h1 span::after,
.heading-h1 span::after {
  display: none;
}
.subpage-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 2.7rem 5.7rem 10rem;
  background-color: var(--white);
  border-radius: 3rem 3rem 0 0;
}
.subpage-inner,
.subpage-main {
  box-sizing: border-box;
  width: 100%;
  max-width: 116rem;
  margin-inline: auto;
}
.subpage-main--sm {
  width: 90rem;
}
.subpage-heading-h1,
.html-template h1 {
  padding-bottom: 2rem;
  border-bottom: solid 1px var(--primary);
  margin-bottom: 3rem;
}
.subpage-heading-h2,
.html-template h2 {
  margin-block: 3rem 1.5rem;
  font-size: 24px;
  font-weight: 500;
}
.subpage-heading-h3,
.html-template h3 {
  margin-block: 3rem 1.5rem;
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .subpage-head .heading-h1 span,
  .heading-h1 span {
    font-size: 20px;
  }
  .subpage-head {
    min-height: 8rem;
    padding: 2rem 1.6rem;
  }
  .subpage-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 2rem 1.6rem;
  }
  .subpage-inner,
  .subpage-main {
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
  }
  .subpage--job-detail .subpage-main {
    max-width: 100%;
    margin-top: 1rem;
  }
}
.subpage-actions {
  display: flex;
  justify-content: center;
  margin-top: 2.4rem;
  margin-bottom: 4rem;
}
.subpage .card.card-padding.search {
  gap: 0;
  box-shadow: none;
  border: 0.1rem solid var(--gray-2);
  border-radius: 1.2rem;
  padding: 0;
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 0;
}
.subpage .card.card-padding.search .search-item {
  display: grid;
  grid-template-columns: clamp(165px, 13vw, 200px) 1fr 7rem;
  align-items: stretch;
  border-bottom: none;
  padding: 0;
  gap: 0;
}
.subpage .card.card-padding.search .search-item:last-child {
  border-bottom: none;
}
@media (hover: hover) {
  .subpage .card.card-padding.search .search-item:hover {
    background-color: var(--search-filter-hover-bg);
  }
}
@media (max-width: 768px) {
  .subpage .card.card-padding.search .search-item {
    grid-template-columns: 1fr 6.5rem;
  }
}
.subpage .card.card-padding.search .search-title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: auto;
  padding: 1.5rem 1.6rem;
  background-color: var(--bg-gray);
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
}
.subpage .card.card-padding.search .search-title-icon {
  width: 2rem;
  height: auto;
  flex-shrink: 0;
}
.subpage .card.card-padding.search .search-title-text {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .subpage .card.card-padding.search .search-title {
    grid-column: span 2;
    width: auto;
    padding: 1rem 1.2rem;
    font-size: 14px;
  }
}
.subpage .card.card-padding.search .search-selected {
  display: flex;
  align-items: center;
  width: auto;
  order: unset;
  margin-top: 0;
  padding: 1.2rem 1.6rem;
  font-size: 16px;
  color: var(--gray-2);
  cursor: pointer;
  text-decoration: none;
}
.subpage .card.card-padding.search .search-selected.is-selected {
  color: var(--font-color);
}
@media (max-width: 768px) {
  .subpage .card.card-padding.search .search-selected {
    padding: 1rem 1.2rem;
    font-size: 14px;
  }
}
.subpage .card.card-padding.search .search-click {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  order: unset;
  padding: 1.2rem 1.6rem;
  position: relative;
  cursor: pointer;
}
.subpage .card.card-padding.search .search-click::before {
  content: "";
  display: block;
  width: 0.1rem;
  height: calc(100% - 1.2rem);
  background-color: var(--font-color);
  position: absolute;
  left: 0;
  top: 0.6rem;
  opacity: 0.5;
}
.subpage .card.card-padding.search .search-click .btn {
  background: transparent;
  border: none;
  color: var(--font-color);
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  box-shadow: none;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.subpage .card.card-padding.search .search-click .btn:hover,
.subpage .card.card-padding.search .search-click .btn:focus {
  background: transparent;
  color: var(--font-color);
  box-shadow: none;
}
.main-column {
  width: 72%;
}
@media (max-width: 991.98px) {
  .main-column {
    width: 100%;
    margin: 0 auto;
  }
}
.side-column {
  width: 28%;
}
@media (max-width: 991.98px) {
  .side-column {
    width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 992px) {
  .column2-h1 {
    width: 72%;
    float: right;
  }
}
.subpage--job-detail .subpage-main {
  max-width: min(120rem, 100%);
}
.subpage--job-detail .subpage-wrapper {
  margin-top: 0;
  border-radius: 0;
}
@media (max-width: 767.98px) {
  .subpage--job-detail .job-detail-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 2.4rem;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: none;
    box-shadow: none;
  }
  .subpage--job-detail .job-card-top {
    order: 0;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0.8rem;
    min-height: 0;
    margin-bottom: 0.3rem;
    position: relative;
    overflow: visible;
  }
  .subpage--job-detail .job-card-meta {
    font-size: 13px;
  }
  .subpage--job-detail .detail-hero-meta {
    align-items: flex-end;
    gap: 0.8rem;
    margin-bottom: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
  }
  .subpage--job-detail .job-card-grid {
    display: contents;
  }
  .subpage--job-detail .job-card-badges--desktop {
    display: none;
  }
  .subpage--job-detail .job-card-badges--mobile {
    position: absolute;
    top: calc(100% + 0.4rem - 1rem);
    left: 0.7rem;
    z-index: 3;
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    margin: 0;
  }
  .subpage--job-detail .job-card-img {
    order: 1;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    position: relative;
    overflow: visible;
  }
  .subpage--job-detail .job-card-page-title-badge {
    order: 2;
    margin-top: 1rem;
  }
  .subpage--job-detail .job-card-subtitle {
    order: 3;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.7;
  }
  .subpage--job-detail .job-card-right {
    order: 5;
    width: 100%;
    min-width: 0;
    margin-top: 1.2rem;
  }
  .subpage--job-detail .job-card-summary {
    background: #fff;
    border: 1px solid #e6eaf2;
    border-radius: 1rem;
    padding: 1.4rem;
  }
  .subpage--job-detail .job-card-summary .job-card-summary-list {
    grid-template-columns: minmax(80px, max-content) minmax(0, 1fr);
    width: 100%;
  }
  .subpage--job-detail .job-card-summary .job-card-tag-list {
    margin-top: 1.2rem;
    gap: 0.6rem;
  }
  .subpage--job-detail .job-card-actions {
    margin-top: 0;
  }
  .subpage--job-detail .job-card-right-inner {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
    width: 100%;
  }
  .subpage--job-detail .detail-hero-number,
  .subpage--job-detail .detail-hero-updated {
    font-size: 12px;
  }
  .subpage--job-detail .job-card-summary-row {
    grid-column: 1/-1;
    grid-template-columns: subgrid;
    gap: 1.2rem;
  }
  .subpage--job-detail .job-card-summary-label {
    font-size: 14px;
    white-space: nowrap;
  }
  .subpage--job-detail .job-card-summary-value {
    min-width: 0;
    font-size: 14px;
  }
  .subpage--job-detail .detail-cta-block {
    margin: 4rem 0;
    padding: 1rem 2rem 2.4rem;
  }
  #action.sticky-bottom-bar {
    padding: 0.8rem 1.2rem calc(0.8rem + env(safe-area-inset-bottom, 0px));
  }
  #action.sticky-bottom-bar .btn {
    width: auto;
    border-radius: 0.6rem;
    padding-block: 0;
  }
  .sticky-bottom-bar-inner {
    gap: 0.8rem;
    align-items: flex-end;
  }
  .sticky-bottom-bar-inner .job-interest-count {
    font-size: 11px;
    line-height: 1.3;
  }
}
.job-detail-card {
  gap: 0;
  padding: 2rem 2.6rem 3rem;
  overflow: visible;
}
.job-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.2rem;
  min-height: 2.4rem;
  margin-bottom: 1.6rem;
}

@media (max-width: 767.98px) {
  .job-card-top {
    margin-bottom: 0.2rem;
  }
}
.detail-hero-meta {
  display: flex;
  align-items: flex-end;
  gap: 1.6rem;
  margin-bottom: 1.2rem;
  text-align: right;
}
.job-card-page-title {
  padding: 0;
  margin-bottom: 1.4rem;
  line-height: 1.45;
  font-size: 24px;
  font-weight: 700;
  border: none;
}
@media (max-width: 767.98px) {
  .subpage--job-detail h1.job-card-page-title {
    order: 2;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    font-size: 17px;
    line-height: 1.45;
  }
}
.job-card-subtitle {
  margin: 0 0 2rem;
  font-size: 14px;
  color: var(--dark-gray);
  line-height: 1.7;
}
.job-card-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
.job-card-page-title-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  color: var(--white);
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
  border-radius: 0.2rem;
}
.job-card-grid {
  display: grid;
  grid-template-columns: minmax(0, 47rem) minmax(0, 1fr);
  gap: 4rem;
  align-items: start;
}
@media (max-width: 991.98px) {
  .job-card-grid {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
}
.job-card-img {
  width: 100%;
  max-width: 47rem;
  position: relative;
}
.job-card-img-main {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: transparent;
  border: 0.1rem solid var(--card-border);
  border-radius: 1rem;
  overflow: visible;
}
.job-card-badges {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
.job-card-badges--desktop {
  margin-top: -3rem;
}
.job-card-badges--mobile {
  display: none;
}
@media (max-width: 767.98px) {
  .job-card-badges {
    gap: 0.67rem;
  }
  .job-card-badges--desktop {
    margin-top: -2.6rem;
  }
}
.job-card-right {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
}
.job-card-right:only-child {
  grid-column: 1 / -1;
}
.job-card-right-inner {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.job-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  margin-top: 3.6rem;
  align-items: end;
}
.job-card-actions--single {
  grid-template-columns: 1fr;
}
.job-card-actions--apply {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
}
.job-card-actions--apply .job-card-detail-btn {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 0;
  min-height: 54px;
  height: 54px;
  box-sizing: border-box;
}
.job-card-actions-apply {
  flex: 1 1 calc(50% - 0.5rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}
.job-card-actions--apply .job-card-apply-btn {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  height: 54px;
  box-sizing: border-box;
}
.job-card-actions--apply .job-interest-count {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  z-index: 1;
}
.job-card-detail-btn {
  width: 100%;
  min-width: 0;
  min-height: 54px;
  height: 54px;
  box-sizing: border-box;
}
.job-card-actions .btn-simple-angle,
.job-card-actions .job-favorite-btn {
  width: 100%;
  min-width: 0;
  min-height: 54px;
  height: 54px;
  box-sizing: border-box;
}
@media (max-width: 767.98px) {
  .job-card-actions .btn-simple-angle,
  .job-card-actions .job-favorite-btn,
  .job-card-detail-btn {
    height: auto;
  }
  .job-card-actions:not(.job-card-actions--apply) {
    grid-template-columns: 1fr;
  }
  .job-card-actions--apply {
    flex-direction: column;
    align-items: stretch;
  }
  .job-card-actions--apply .job-card-detail-btn,
  .job-card-actions--apply .job-card-actions-apply,
  .job-card-actions--apply .job-card-apply-btn {
    flex: 1 1 100%;
    width: 100%;
  }
}
.detail-img {
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .detail-img {
    width: 240px;
  }
}
.detail-img img {
  width: 100%;
}
.detail-overview-images {
  width: 100%;
}
@media (min-width: 768px) {
  .detail-overview-images {
    width: 48%;
  }
}
.detail-overview-summary {
  width: 100%;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .detail-overview-summary {
    width: 48%;
    margin-top: 0;
  }
}
.detail-body-layout {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: stretch;
  margin-top: 0;
}
.detail-body-main {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}
.detail-body-main-content,
.detail-body-main-tail {
  width: 100%;
  min-width: 0;
}
.detail-body-main--with-side {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (min-width: 992px) {
  .detail-body-main--with-side {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30rem;
    column-gap: 2.4rem;
    row-gap: 0;
    align-items: start;
  }
  .detail-body-main--with-side > .detail-body-main-content {
    grid-column: 1;
  }
  .detail-body-main--with-side > .detail-body-side {
    grid-column: 2;
    grid-row: 1 / span 2;
    position: sticky;
    top: 1.5rem;
    flex: none;
    width: 100%;
    max-width: 30rem;
  }
  .detail-body-main--with-side > .detail-body-main-tail {
    grid-column: 1;
  }
  .detail-body-main--with-side:not(:has(.detail-body-main-tail)) > .detail-body-side {
    grid-row: 1;
  }
}
.detail-section{
  gap: 0;
}
.detail-section-title {
  margin: 0 0 2rem;
  padding: 0 0 1rem;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  border-bottom: 1px solid var(--primary);
}
@media (max-width: 767.98px) {
  .detail-section-title {
    margin-bottom: 1.4rem;
    padding-bottom: 0.8rem;
  }
}
.detail-section .detail-section-title {
  margin: 0 0 2rem;
  padding: 0 0 1rem;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  border-bottom: 1px solid var(--primary);
}
@media (max-width: 767.98px) {
  .detail-section .detail-section-title {
    margin-bottom: 1.4rem;
    padding-bottom: 0.8rem;
  }
}
h3.detail-point-diamond {
  margin: 0 0 0.2rem;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--primary);
}
.detail-point .detail-point-diamond {
  margin: 0 0 0.6rem;
  font-size: 15px;
  font-weight: 700;
}
.detail-pr-group {
  margin: 0 0 2rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid rgba(27, 35, 64, 0.08);
}
.detail-pr-group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.detail-pr-group p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
.detail-pr-group p:last-child {
  margin-bottom: 0;
}
.detail-pr-group p:empty {
  min-height: 1.7em;
}
.detail-overview-list,
.detail-company-list {
  display: table;
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.detail-overview-row {
  display: table-row;
}
.detail-overview-list > .detail-overview-row > dt,
.detail-overview-list > .detail-overview-row > dd,
.detail-company-list > .detail-overview-row > dt,
.detail-company-list > .detail-overview-row > dd {
  display: table-cell;
  vertical-align: top;
  padding-top: 1.4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(27, 35, 64, 0.08);
}
.detail-overview-list > .detail-overview-row:first-child > dt,
.detail-overview-list > .detail-overview-row:first-child > dd,
.detail-company-list > .detail-overview-row:first-child > dt,
.detail-company-list > .detail-overview-row:first-child > dd {
  padding-top: 0;
}
.detail-overview-list > .detail-overview-row > dt,
.detail-company-list > .detail-overview-row > dt {
  width: 14em;
  padding-right: 35px;
}
@media (max-width: 767.98px) {
  .detail-overview-list,
  .detail-company-list {
    display: block;
  }
  .detail-overview-row {
    display: block;
  }
  .detail-overview-list > .detail-overview-row > dt,
  .detail-company-list > .detail-overview-row > dt {
    display: block;
    width: auto;
    padding-top: 0.8rem;
    padding-right: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .detail-overview-list > .detail-overview-row:first-child > dt,
  .detail-company-list > .detail-overview-row:first-child > dt {
    padding-top: 0;
  }
  .detail-overview-list > .detail-overview-row > dd,
  .detail-company-list > .detail-overview-row > dd {
    display: block;
    padding-top: 0.4rem;
    padding-bottom: 0.8rem;
  }
}
.detail-overview-list .detail-overview-row > dt {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
  white-space: nowrap;
  color: var(--detail-overview-label-color);
}
.detail-overview-list .detail-overview-row > dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--font-color);
  word-break: break-word;
}
.detail-company-list .detail-overview-row > dt,
.detail-company-label {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
  white-space: nowrap;
  color: var(--detail-overview-label-color);
}
.detail-company-list .detail-overview-row > dt img,
.detail-company-label img {
  margin-right: 0.6rem;
  vertical-align: middle;
}
.detail-company-list .detail-overview-row > dd {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
  color: var(--secondary);
  word-break: break-word;
}
.detail-work-location-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}
.detail-work-location-tags .tag {
  margin: 0;
  padding: 0.2rem 0.8rem;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--dark-gray);
  background: var(--light-blue);
  border: 1px solid var(--dark-gray);
  border-radius: 0.2rem;
}
.detail-work-location p {
  margin: 0;
}
.detail-map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.8rem 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--primary);
}
.detail-map-frame {
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(16, 36, 80, 0.08);
  border-radius: 1.2rem;
  box-shadow: 0 8px 24px rgba(16, 36, 80, 0.08);
}
.detail-map-frame iframe {
  display: block;
  width: 100%;
  height: 260px;
  border: 0;
}
.detail-advisor {
  position: relative;
  margin-top: 6rem;
  padding: 4.5rem 2.8rem 2.4rem;
  background: var(--white);
  border: 1px solid var(--primary);
  border-radius: 1.2rem;
}
@media (max-width: 767.98px) {
  .detail-advisor {
    margin-top: 5rem;
    padding: 3.4rem 1.6rem 1.8rem;
  }
}
.detail-advisor-label {
  position: absolute;
  top: -1.4rem;
  left: -1px;
  padding: 1rem 1.6rem 0.8rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--white);
  background: var(--primary);
  border-radius: 0.8rem 0.8rem 0.8rem 0;
}
.detail-advisor-inner {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media (max-width: 767.98px) {
  .detail-advisor-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    gap: 1.2rem;
  }
}
.detail-advisor-avatar {
  flex: 0 0 auto;
  width: 9.6rem;
  height: 9.6rem;
  overflow: hidden;
  border: 3px solid color-mix(in srgb, var(--primary) 10%, transparent);
  border-radius: 50%;
}
@media (max-width: 767.98px) {
  .detail-advisor-avatar {
    width: 7.2rem;
    height: 7.2rem;
  }
}
.detail-advisor-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detail-advisor-body {
  flex: 1 1 auto;
  line-height: 1.8;
  color: var(--font-color);
}
.detail-advisor-body p + p {
  margin-top: 1.2rem;
}
.detail-advisor-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
.detail-advisor-text:not(:last-of-type) {
  margin-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .detail-advisor-text {
    line-height: 1.7;
  }
  .detail-advisor-body p + p {
    margin-top: 1rem;
  }
}
.detail-about-ryoiku {
  width: 100%;
  margin: 5rem 0 3rem;
  margin-inline: auto;
}
.detail-about-ryoiku-title {
  margin: 0 0 3rem;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  line-height: 1.6;
  text-align: center;
}
.detail-about-ryoiku-title img {
  width: 16rem;
  margin-right: 0.4rem;
  vertical-align: baseline;
}
@media (max-width: 767.98px) {
  .detail-about-ryoiku {
    margin: 5rem 0 0;
  }
  .detail-about-ryoiku-title {
    line-height: 1.8;
    font-size: 20px;
  }
  .detail-about-ryoiku-title img {
    width: 12rem;
  }
}
.detail-about-ryoiku-inner {
  display: grid;
  align-content: center;
  grid-template-columns: 35rem 1fr;
  gap: 3rem;
}
@media (max-width: 767.98px) {
  .detail-about-ryoiku-inner {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.detail-about-ryoiku-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
}
.detail-about-ryoiku-inner p {
  margin: 0 0 1.6rem;
  font-size: 14px;
  line-height: 1.5;
  color: var(--font-color);
}
.detail-stop-container {
  max-width: min(120rem, 100%);
  margin: 6.6rem auto 3rem;
  padding: 5.6rem 6rem;
  text-align: center;
  background: var(--detail-stop-bg);
  border: 1px solid color-mix(in srgb, var(--detail-stop-border) 18%, transparent);
  border-radius: 1rem;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--detail-stop-shadow) 6%, transparent);
}
@media screen and (max-width: 768px) {
  .detail-stop-container {
    margin: 2.4rem auto 4rem;
    padding: 3.2rem 2.2rem;
  }
}
.detail-stop-container .detail-stop-title {
  margin-bottom: 1.2rem;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: var(--detail-stop-title);
}
.detail-stop-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: var(--detail-stop-text);
}
.detail-stop-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-top: 3.2rem;
}
.detail-stop-note {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 3.6rem;
  max-width: 100%;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--detail-stop-note);
}
.detail-stop-note::before,
.detail-stop-note::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.6rem;
  height: 0.2rem;
  background: var(--detail-stop-note-line);
  border-radius: 999px;
}
.detail-stop-note::before {
  left: 0;
  transform: translateY(-50%) rotate(45deg);
}
.detail-stop-note::after {
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
}
.btn.btn-simple-angle.detail-stop-button {
  gap: 1.6rem;
  width: min(48rem, 100%);
  min-height: 6rem;
  height: auto;
  padding-inline: 3rem 2.4rem;
}
.btn.btn-simple-angle.detail-stop-button .button-simple-angle__text {
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
}
@media screen and (max-width: 640px) {
  .detail-stop-container .detail-stop-title {
    font-size: 22px;
  }
  .detail-stop-text {
    font-size: 14px;
  }
  .detail-stop-cta {
    gap: 1.4rem;
    margin-top: 2.4rem;
  }
  .detail-stop-note {
    padding: 0 2.6rem;
    font-size: 13px;
  }
  .detail-stop-note::before,
  .detail-stop-note::after {
    width: 1.8rem;
  }
  .btn.btn-simple-angle.detail-stop-button {
    min-height: 5.4rem;
    padding-inline: 2.4rem 2rem;
  }
  .btn.btn-simple-angle.detail-stop-button .button-simple-angle__text {
    font-size: 14px;
  }
}
.detail-body-side {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}
h2.detail-similar-jobs-title{
  margin: 0 0 1.2rem;
  font-size: 16px;
  font-weight: 700;
}
.detail-similar-jobs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.detail-similar-jobs-list .card-job {
  margin-bottom: 0;
  padding: 1.6rem;
}
.detail-similar-jobs-list .card-job-name {
  color: var(--font-color);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.8rem;
}
.detail-similar-jobs-list .card-job-info {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  column-gap: 0;
  row-gap: 0.6rem;
  margin-bottom: 1.2rem;
}
.detail-similar-jobs-list .card-job-info > dt {
  grid-column: 1;
}
.detail-similar-jobs-list .card-job-info > dd {
  grid-column: 2;
}
.detail-similar-jobs-list .card-job-detail-label {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.4rem;
  flex-shrink: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}
.detail-similar-jobs-list .card-job-detail-icon {
  width: 1.6rem;
  height: auto;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.detail-similar-jobs-list .card-job-detail-label-text {
  color: var(--font-color);
  font-weight: 500;
  white-space: nowrap;
}
.detail-similar-jobs-list .card-job-detail-separator {
  flex-shrink: 0;
  font-weight: 700;
  color: var(--secondary);
}
.detail-similar-jobs-list .card-job-detail-value {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--font-color);
}
.detail-similar-jobs-list .card-job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.detail-similar-jobs-list .card-job-tags .tag {
  margin: 0;
}
.job-card-detail-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 59px;
  height: 53px;
  padding: 0.7rem 1.4rem 0.8rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.job-card-detail-badge-new,
.job-card-detail-badge-urgent {
  border-radius: 0.2rem 0 0.6rem 0.6rem;
  min-width: 5.6rem;
  box-shadow: 2px 4px 6px rgba(36, 49, 82, 0.16);
}
.job-card-detail-badge-new::after,
.job-card-detail-badge-urgent::after {
  content: "";
  display: block;
  position: absolute;
  right: -0.9rem;
  top: 0;
  width: 0.9rem;
  height: 1rem;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.job-card-detail-badge-new {
  background-color: var(--orange);
}
.job-card-detail-badge-new::after {
  background-color: #FA5A23;
}
.job-card-detail-badge-urgent {
  background-color: #E63946;
}
.job-card-detail-badge-urgent::after {
  background-color: #C9281C;
}
.job-card-detail-badge-new-open {
  align-self: flex-start;
  background-color: var(--accent-red);
  font-size: 14px;
  letter-spacing: normal;
}
@media (max-width: 767.98px) {
  .job-card-detail-badge {
    width: 44px;
    height: 40px;
    min-width: 44px;
    padding: 0;
    font-size: 14px;
  }
  .job-card-detail-badge-new,
  .job-card-detail-badge-urgent {
    min-width: 44px;
  }
  .job-card-detail-badge-new::after,
  .job-card-detail-badge-urgent::after {
    right: -0.67rem;
    width: 0.67rem;
    height: 0.75rem;
  }
  .subpage--job-detail .job-card-badges--mobile .job-card-detail-badge-new::after,
  .subpage--job-detail .job-card-badges--mobile .job-card-detail-badge-urgent::after {
    right: -1rem;
    width: 1rem;
    height: 1rem;
  }

  .detail-similar-jobs-list .card-job-name{
    margin-top: 0.4rem;
    font-size: 17px;
  }
  .detail-similar-jobs-list .card-job-detail-label,
  .detail-similar-jobs-list .card-job-detail-value {
    font-size: 14px;
  }
}

.job-card-summary-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem 0;
  margin: 0;
}
.job-card-summary-row {
  display: grid;
  grid-template-columns: 9.5rem 1fr;
  align-items: start;
  gap: 2rem;
}
@media (max-width: 767.98px) {
  .job-card-summary-list {
    gap: 0.6rem 0;
  }
  .job-card-summary-row {
    grid-template-columns: minmax(7.4rem, 32%) 1fr;
  }
}
.job-card-summary-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--secondary);
  white-space: nowrap;
}
.job-card-summary-icon {
  width: 20px;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .job-card-summary-icon {
    width: 1.4rem;
  }
}
.job-card-summary-value {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 700;
  word-break: break-word;
}
.detail-slider-frame {
  position: relative;
}
.detail-slider-visual {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  background: #eee;
  width: 100%;
  aspect-ratio: 4/3;
}
.detail-slider-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #eee;
  border-radius: 1rem;
  touch-action: pan-y pinch-zoom;
}
.detail-slider-wrapper {
  display: flex;
  height: 100%;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.detail-slider-slide {
  height: 100%;
  flex-shrink: 0;
  overflow: hidden;
  cursor: zoom-in;
}
.detail-slider-slide:only-child {
  flex: 0 0 100%;
  width: 100%;
}
.detail-slider-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.detail-slider-nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 1;
  background: var(--primary);
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(36, 49, 82, 0.18);
  cursor: pointer;
  transform: translateY(-50%);
}
.detail-slider-nav svg {
  display: block;
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.7rem;
}
.detail-slider-prev svg {
  transform: scaleX(-1) translateX(0.2rem);
}
.detail-slider-next svg {
  transform: translateX(0.15rem);
}
.job-card-img .detail-slider-prev {
  left: 0;
  transform: translate(-50%, -50%);
}
.job-card-img .detail-slider-next {
  right: 0;
  transform: translate(50%, -50%);
}
.detail-slider-prev {
  left: 0;
  transform: translate(-50%, -50%);
}
.detail-slider-next {
  right: 0;
  transform: translate(50%, -50%);
}
.detail-slider-dots {
  display: flex;
  gap: 0.8rem;
  z-index: 5;
  justify-content: center;
}
.detail-slider-dots--below {
  margin-top: 1.2rem;
}
.detail-slider-dots--below .detail-slider-dot {
  background: #cfd6e3;
}
.detail-slider-dots-below {
  justify-content: center;
  margin-top: 12px;
}
.detail-slider-dots-below .detail-slider-dot {
  background: #ccc;
}
.detail-slider-dot {
  width: 0.8rem;
  height: 0.8rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
  background: rgba(255, 255, 255, 0.4);
}
.detail-slider-dot.active {
  background: var(--primary);
  transform: scale(1.15);
}
@media (max-width: 767.98px) {
  .job-card-img .detail-slider-prev {
    left: -1rem;
    width: 4rem;
    height: 4rem;
    transform: translateY(-50%);
  }
  .job-card-img .detail-slider-next {
    right: -1rem;
    width: 4rem;
    height: 4rem;
    transform: translateY(-50%);
  }
  .job-card-img .detail-slider-nav svg {
    width: 1rem;
    height: 1.556rem;
  }
  .job-card-img .detail-slider-prev svg {
    transform: scaleX(-1) translateX(0.14rem);
  }
  .job-card-img .detail-slider-next svg {
    transform: translateX(0.1rem);
  }
}
.detail-image-lightbox-content .detail-slider-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  justify-content: center;
}
.detail-image-lightbox-content .detail-slider-dot {
  background: rgba(255, 255, 255, 0.4);
}
.detail-image-lightbox .detail-slider-prev {
  left: 1rem;
  transform: translateY(-50%);
}
.detail-image-lightbox .detail-slider-next {
  right: 1rem;
  transform: translateY(-50%);
}
.detail-image-lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  align-items: center;
  justify-content: center;
}
.detail-image-lightbox.is-open {
  display: flex;
}
.detail-image-lightbox-content {
  position: relative;
  width: 90%;
  max-width: 900px;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0.5rem;
  touch-action: pan-y pinch-zoom;
}
.detail-image-lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  color: var(--white);
  font-size: 40px;
  cursor: pointer;
  z-index: 100;
  line-height: 1;
}
.detail-cta-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 5rem 0;
  padding: 2.8rem 3.2rem;
  background: linear-gradient(135deg, var(--detail-cta-gradient-start) 0%, var(--detail-cta-gradient-end) 100%);
  border: 1px solid var(--detail-cta-border);
  border-radius: 1.8rem;
  box-shadow: var(--detail-cta-shadow);
}
@media (max-width: 767.98px) {
  .detail-cta-block {
    gap: 0.8rem;
    padding: 2.2rem 2rem;
  }
}
.job-interest-count {
  margin: 0;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.job-interest-count-num,
.job-interest-count-unit {
  font-weight: 700;
  color: var(--accent-red);
}
.job-interest-count-num {
  font-size: 20px;
}
.detail-cta-block .job-interest-count {
  font-size: 14px;
}
.sticky-bottom-bar-apply .job-interest-count {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  font-size: 14px;
  z-index: 1;
}
@media (min-width: 768px) {
  .sticky-bottom-bar-apply {
    position: relative;
  }
}
@media (max-width: 767.98px) {
  .sticky-bottom-bar-inner {
    position: relative;
  }
  .sticky-bottom-bar-inner .job-interest-count {
    left: 0;
    right: 0;
    bottom: 105%;
    width: auto;
  }
}
.detail-cta-block-title {
  margin: 0 0 1rem;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--detail-cta-title-color);
  text-align: center;
}
.detail-cta-block-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 100%;
}
.detail-cta-block-actions--single {
  justify-content: center;
}
.detail-cta-block-actions .btn-simple-angle {
  width: 100%;
}
.detail-cta-block-actions .button-simple-angle__text{
  font-size: 1.6rem;
} 
@media (min-width: 768px) {
  .detail-cta-block-actions .btn-simple-angle {
    max-width: 30rem;
  }
}
@media (max-width: 767.98px) {
  .detail-cta-block-title{
    margin-bottom: 0.8rem;
    font-size: 16px;
  }
  .detail-cta-block-actions {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .detail-cta-block-actions .btn-simple-angle {
    width: 100%;
  }
}
.sticky-bottom-bar,
#action.sticky-bottom-bar {
  background-color: var(--bg-gray);
  box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.18);
  padding: 1.2rem 2rem;
}
.sticky-bottom-bar-inner {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  max-width: 52rem;
}
.sticky-bottom-bar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 6rem;
  padding-inline: 1.6rem;
  letter-spacing: 0.08em;
  font-size: 18px;
  font-weight: 700;
  border-radius: 0.6rem;
}
#action.sticky-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
}
.sticky-bottom-bar-apply {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
#action.sticky-bottom-bar .job-favorite-btn {
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
  width: 6.6rem;
  min-width: 6.6rem;
  min-height: 6rem;
  height: 6rem;
  padding: 0.4rem 0.2rem 0.2rem;
  border: solid 1.5px var(--accent-red);
  border-radius: 0.6rem;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: normal;
  box-sizing: border-box;
}
#action.sticky-bottom-bar .job-favorite-btn-text {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: normal;
}
#action.sticky-bottom-bar .job-favorite-btn-icon {
  width: 2.6rem;
  height: 2.5rem;
  margin-top: 2px;
}
#action.sticky-bottom-bar .job-favorite-btn-icon-outline,
#action.sticky-bottom-bar .job-favorite-btn-icon-filled {
  width: 2.6rem;
  height: 2.5rem;
}
#action.sticky-bottom-bar .btn {
  width: 100%;
  margin-right: 0;
  border-radius: 0.6rem;
}
@media (max-width: 991.98px) {
  .sticky-bottom-bar,
  #action.sticky-bottom-bar {
    padding: 1rem 1.6rem;
  }
  #action.sticky-bottom-bar {
    padding: 3rem 1.6rem 1rem;
  }
  #action.sticky-bottom-bar:not(:has(.job-interest-count)) {
    padding-top: 1rem;
  }
  #action.sticky-bottom-bar .btn {
    border-radius: 0.6rem;
    padding: 0.75rem 1.2rem;
    font-size: 16px;
  }
  .sticky-bottom-bar-inner {
    max-width: none;
    align-items: flex-end;
  }
  #action.sticky-bottom-bar .job-favorite-btn,
  #action.sticky-bottom-bar .sticky-bottom-bar-btn {
    height: 5.6rem;
    min-height: 5.6rem;
    box-sizing: border-box;
  }
  #action.sticky-bottom-bar .job-favorite-btn {
    gap: 0;
    width: 6.6rem;
    min-width: 6.6rem;
    padding: 0.6rem 0.2rem 0.4rem;
  }
  #action.sticky-bottom-bar .sticky-bottom-bar-btn {
    padding-block: 0;
    padding-inline: 1rem;
  }
}
@media (max-width: 767.98px) {
  #action.sticky-bottom-bar .job-favorite-btn,
  #action.sticky-bottom-bar .sticky-bottom-bar-btn {
    height: 5.4rem;
    min-height: 5.4rem;
  }
}
@media (min-width: 992px) {
  .sticky-bottom-bar,
  #action.sticky-bottom-bar {
    padding: 1.4rem 2rem;
  }
  #action.sticky-bottom-bar {
    height: auto;
    padding: 3.5rem 2rem 1.4rem;
  }
  #action.sticky-bottom-bar:not(:has(.job-interest-count)) {
    padding-top: 1.4rem;
  }
}
.interview-img {
  border-radius: 0.5rem;
  overflow: hidden;
  margin-bottom: 30px;
}
.interview-img img {
  width: 100%;
}
#action {
  width: 100%;
  position: fixed;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-content: center;
  z-index: 200;
}
@media (min-width: 992px) {
  #action {
    height: 76px;
    padding: 16px;
  }
}
@media (max-width: 991.98px) {
  #action .btn {
    width: 50%;
    border-radius: 0;
    padding: 0.75rem 0.5rem;
    font-size: 14px;
  }
}
@media (min-width: 992px) {
  #action .btn {
    width: 300px;
    margin-right: 20px;
  }
}
#action .btn:last-of-type {
  margin-right: 0;
}
.tooltip.tooltip-bookmark.show {
  opacity: 1;
  z-index: 10000;
}
.tooltip-bookmark .tooltip-inner {
  background-color: var(--accent-red);
  color: var(--btn-color);
  padding-block: calc(0.5rem + 0.2rem);
  padding-inline: 1rem;
  font-size: max(12px, 1em);
  min-width: 32rem;
  white-space: nowrap;
  box-sizing: border-box;
}
.tooltip-bookmark .arrow::before, .tooltip-bookmark .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: var(--accent-red);
}
.search {
  margin-top: 2.5rem;
  margin-bottom: 5rem;
  padding-bottom: 3rem;
}
.search-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px dashed #bdbdbd;
  padding: 20px 0;
  gap: 5px;
}
@media (max-width: 991.98px) {
  .search-item {
    flex-wrap: wrap;
    padding: 10px 0;
  }
}
.search-item .form-group {
  margin-bottom: 0;
}
.search-title {
  font-weight: 700;
}
@media (max-width: 991.98px) {
  .search-title {
    width: calc(100% - 68px);
  }
}
@media (min-width: 992px) {
  .search-title {
    width: 154px;
    padding-right: 0.5rem;
  }
}
.search-selected {
  width: calc(100% - 222px);
  text-decoration: none;
}
@media (max-width: 991.98px) {
  .search-selected {
    order: 3;
    width: 100%;
    margin-top: 2px;
  }
}
.search-click {
  width: 68px;
}
@media (max-width: 991.98px) {
  .search-click {
    order: 2;
  }
}
.search-input {
  display: flex;
  align-items: center;
}
@media (max-width: 991.98px) {
  .search-input {
    width: 100%;
    margin-top: 8px;
  }
}
@media (min-width: 992px) {
  .search-input {
    width: calc(100% - 154px);
  }
}
.search-input-salary span {
  margin-right: 0.5rem;
}
.search-input-salary .form-group {
  margin-right: 0.5rem;
  min-width: 70px;
}
.search-modal {
  z-index: 1100;
}
.search-modal.show {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
body.modal-open:has(.search-modal.show) {
  padding-right: 0 !important;
}
.modal-backdrop.show {
  z-index: 1090;
}
.search-modal.fade .modal-dialog,
.search-modal.show .modal-dialog {
  transform: none;
}
.search-modal .modal-dialog {
  position: relative;
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
  padding: 0;
  pointer-events: none;
}
.search-modal .modal-content {
  position: relative;
  pointer-events: auto;
  width: 100%;
  height: calc(100dvh - 2.4rem);
  max-height: calc(100dvh - 2.4rem);
  border: none;
  border-radius: 0.8rem;
  overflow: visible;
  display: flex;
  flex-direction: column;
  transform: translateZ(0);
  backface-visibility: hidden;
}
@media (min-width: 768px) {
  .search-modal .modal-content {
    min-height: calc(100dvh - 10rem);
    height: calc(100dvh - 10rem);
    max-height: calc(100dvh - 10rem);
  }
}
@media (max-width: 767.98px) {
  .search-modal {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .search-modal.show {
    display: flex !important;
    align-items: flex-end;
    justify-content: center;
  }
  .search-modal .modal-dialog {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .search-modal .modal-content {
    width: 100%;
    max-width: 100%;
    border-radius: 0.8rem 0.8rem 0 0;
  }
}
.search-modal__close {
  display: block;
  pointer-events: auto;
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: white;
  border-radius: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  transform: translate(50%, -50%);
  border: solid 1px var(--font-color);
  z-index: 3;
  padding: 0;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .search-modal__close {
    right: 1rem;
    transform: translateY(-50%);
  }
}
.search-modal__close::before,
.search-modal__close::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background-color: var(--font-color);
  transform: translate(-50%, -50%) rotate(var(--rotate));
  top: 50%;
  left: 50%;
  position: absolute;
}
.search-modal__close::before {
  --rotate: -45deg;
}
.search-modal__close::after {
  --rotate: 45deg;
}
.search-modal__header,
.search-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: none;
  padding: 1.5rem 2rem;
  flex-shrink: 0;
  border-radius: 0.8rem 0.8rem 0 0;
  overflow: hidden;
}
.search-modal__title,
.search-modal .modal-title {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  color: var(--dark);
  text-align: center;
}
.search-modal__clear-bar {
  flex-shrink: 0;
  background-color: var(--primary-light);
  padding: 0 2rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .search-modal__clear-bar {
    padding-inline: 2rem;
  }
}
.search-modal__clear-all {
  color: var(--primary);
  font-size: 13px;
  text-decoration: underline;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.search-modal .modal-body {
  padding: 0;
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.search-modal-body {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 10rem;
  min-height: 0;
}
.search-modal__contents-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem;
  padding: 2rem;
  max-width: 100%;
}
.search-modal__contents-inner--single {
  grid-template-columns: 1fr;
  gap: 0.8rem;
}
.search-modal__contents-inner-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.8rem;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  grid-column: 1 / -1;
  margin-top: 2rem;
}
.search-modal__contents-inner-title {
  min-width: 0;
}
.search-modal__contents-inner-heading .search-select-all {
  justify-self: end;
  width: fit-content;
  max-width: fit-content;
}
.search-modal__contents-inner-heading:first-of-type {
  margin-top: 0;
}
.search-modal__contents-inner-description{
  color: #7F8AA8;
  font-size: 14px;

}
.search-select-all {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  cursor: pointer;
  line-height: 1.4;
  font-size: 13px;
  font-weight: 500;
  color: var(--primary) !important;
  text-decoration: underline;
  width: fit-content;
  max-width: fit-content;
  min-height: 0;
  height: auto;
  white-space: nowrap;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.search-select-all:hover,
.search-select-all:focus {
  color: var(--primary-darken-15) !important;
}
.search-modal__footer-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1 1 0;
  min-width: 0;
}
.search-modal__footer-btn {
  flex: 1 1 0;
  min-width: 0;
  padding: 1rem 0.6rem;
  font-size: 1.5rem;
  border-radius: 0.4rem;
  white-space: nowrap;
}
.search-modal__footer-btn.btn-outline-primary {
  color: var(--primary) !important;
}
.search-modal__footer-btn.btn-outline-primary:hover,
.search-modal__footer-btn.btn-outline-primary:focus {
  color: var(--primary) !important;
}
.search-modal__label {
  display: flex;
  align-items: center;
  padding-inline: 1.2rem;
  padding-block: 0.6rem;
  gap: 0.6rem;
  height: auto;
  min-height: 4.4rem;
  border-radius: 0.6rem;
  border: solid 1px #c3c3c3;
  margin: 0;
}
.search-modal__label .form-check {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  min-height: 0;
}
.search-modal__label .form-check-label {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
}
.search-modal__label:has(input:checked) {
  background-color: #eaf1ff;
  border-color: var(--primary);
}
.search-modal__salary-radios {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 2rem;
}
.search-modal__salary-radios .form-check {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0;
  min-height: 0;
  padding: 0;
}
/* Override global input[type="radio"] { display: none } so salary radios stay keyboard-focusable */
.search-modal__salary-radios .form-check-input {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  opacity: 0;
}
.search-modal__salary-radios .form-check-input:focus-visible + .form-check-label::before {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary) 25%, transparent);
}
.search-modal__salary-radios .form-check-label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}
.search-modal__control.form-control,
.search-modal .search-modal__control.form-control {
  height: 4.4rem;
  min-height: 4.4rem;
  padding: 0 1.2rem;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  border: solid 1px #c3c3c3;
  border-radius: 0.6rem;
  box-shadow: none;
}
.search-modal__control.form-control:focus,
.search-modal .search-modal__control.form-control:focus {
  border-color: var(--primary);
  box-shadow: none;
}
.search-modal__footer,
.search-modal .modal-footer {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  border-top: solid 1px #c3c3c3;
  padding: 1.5rem 0.8rem;
  background-color: var(--bg-gray);
  flex-shrink: 0;
  border-radius: 0 0 0.8rem 0.8rem;
  overflow: hidden;
}
.search-modal__footer > *,
.search-modal .modal-footer > * {
  margin: 0;
}
.search-modal__footer-count {
  margin: 0;
  padding-left: 0.2rem;
  font-size: 14px;
  color: var(--font-color);
  flex: 0 0 auto;
}
.search-modal__footer-count-num {
  display: inline-block;
  padding-right: 0.2rem;
  color: var(--accent-red);
  font-weight: bold;
  font-size: 20px;
}
.search-modal-body .search-accordion-cat {
  padding: 12px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  position: relative;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.search-modal-body .search-accordion-cat i {
  color: #666;
}
.search-modal-body .search-accordion-cat .tag-selected {
  position: absolute;
  right: 40px;
  top: 10px;
  margin: 0;
}
.search-modal-body .search-accordion-subcat {
  background-color: #fafafa;
  padding-top: 10px;
  padding-bottom: 10px;
}
.search-modal-body .form-check {
  font-size: 16px;
}
.search-location {
  padding: 2rem;
}
.search-location__bred,
.search-location__bred-list {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.search-location__bred.is-visible,
.search-location__bred-list.is-visible {
  display: flex;
}
.search-location__bred-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 14px;
  flex-shrink: 0;
  cursor: default;
}
.search-location__bred-pref {
  display: none;
}
.search-location__bred-pref.is-visible {
  display: flex;
}
.search-location__bred-item .in-angle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
  padding-top: 0.3rem;
  width: 0.5rem;
  height: 0.786rem;
  cursor: default;
}
.search-location__bred-btn .in-angle {
  cursor: pointer;
}
.search-location__bred-item .in-angle img {
  display: block;
  width: 0.5rem;
  height: 0.786rem;
  max-width: none;
  flex-shrink: 0;
  object-fit: contain;
}
.search-location__bred-pref-text {
  cursor: default;
}
.search-location__bred-btn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: opacity 0.3s;
}
.search-location__bred-btn:hover {
  opacity: 0.8;
}
.search-location__bred-area-item.is-current .search-location__bred-btn {
  pointer-events: none;
  cursor: default;
}
.search-location__bred-area-item.is-current .search-location__bred-btn:hover {
  opacity: 1;
}
.search-location__bred-area-item.is-current .search-location__bred-btn .in-angle {
  cursor: default;
}
.search-location__area-grid,
.search-location__pref-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  transform: translateZ(0);
}
.search-location__area-tab,
.search-location__pref-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  border: solid 1px #d3d3d3;
  border-radius: 0.5rem;
  font-size: 16px;
  font-weight: 500;
  color: var(--font-color);
  background: var(--white);
  cursor: pointer;
  padding: 0;
}
.search-location__area-tab.is-active,
.search-location__pref-tab.is-active {
  border-color: var(--primary);
  color: var(--primary);
}
@media (max-width: 767.98px) {
  .search-modal__title,
  .search-modal .modal-title {
    font-size: 17px;
  }
  .search-modal__contents-inner-heading,
  .search-modal__label .form-check-label,
  .search-modal__salary-radios .form-check-label,
  .search-modal-body .form-check,
  .search-location__area-tab,
  .search-location__pref-tab {
    font-size: 14px;
  }
}
.search-location__areas-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.search-location__cities {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-bottom: solid 1px #eee;
}
.search-location__cities-group + .search-location__cities-group {
  margin-top: 0;
}
.search-location__accordion-header {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 5rem;
  border-bottom: solid 1px #eee;
  background-color: var(--white);
}
.search-location__accordion-header.is-open {
  background-color: var(--primary-light);
}
.search-location__accordion-check {
  display: flex;
  flex: 1;
  align-self: stretch;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.search-location__accordion-check .form-check-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  padding: 0.8rem;
  cursor: pointer;
}
.search-location__accordion-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 0.8rem;
  padding: 0;
  border: 1px solid var(--primary);
  border-radius: 50%;
  background: none;
  cursor: pointer;
}
.search-location__accordion-toggle-icon {
  display: block;
  position: relative;
  width: 1rem;
  height: 1rem;
}
.search-location__accordion-toggle-icon::before,
.search-location__accordion-toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background-color: var(--primary);
  transform: translate(-50%, -50%);
}
.search-location__accordion-toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.3s;
}
.search-location__accordion-toggle.is-open .search-location__accordion-toggle-icon::after {
  transform: translate(-50%, -50%);
}
.search-location__inner-cities {
  display: none;
  flex-direction: column;
  gap: 0;
  margin-top: 0;
}
.search-location__inner-cities.is-open {
  display: flex;
  padding-left: 2rem;
}
.search-location__inner-cities .form-check,
.search-location__cities > .form-check {
  display: flex;
  min-height: 5rem;
  margin-bottom: 0;
  padding: 0;
  border-bottom: solid 1px #eee;
}
.search-location__inner-cities .form-check-label,
.search-location__cities > .form-check .form-check-label {
  flex: 1;
  min-width: 0;
  padding: 0.8rem;
  cursor: pointer;
}
.search-location .form-check-input[type="checkbox"] + .form-check-label {
  padding-left: calc(0.8rem + 24px);
}
.search-location .form-check-input[type="checkbox"] + .form-check-label::before {
  left: 0.8rem;
}
.search-location .form-check-input[type="checkbox"]:checked + .form-check-label::after {
  left: calc(0.8rem + 6px);
}
.job-item {
  margin-bottom: 20px;
}
.job-item-title {
  font-size: 20px;
  font-weight: 700;
}
.job-item-info {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 991.98px) {
  .job-item-info {
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .job-item-info {
    align-items: flex-start;
  }
}
@media (min-width: 992px) {
  .job-item-info {
    align-items: flex-start;
  }
}
.job-item-img {
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .job-item-img {
    margin-bottom: 20px;
    width: 100%;
    max-width: 100%;
    height: 100%;
  }
}
.job-item-img img {
  object-fit: cover;
  width: 240px;
  height: 180px;
}
@media (max-width: 767.98px) {
  .job-item-img img {
    width: 100%;
    height: 100%;
  }
}
.job-item-point {
  min-width: calc(62.5% - 8px);
  max-width: calc(100% - 122px);
  height: 100%;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .job-item-detail {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .job-item-detail {
    width: calc(100% - 250px);
  }
}
@media (min-width: 992px) {
  .job-item-detail {
    width: calc(100% - 273px);
  }
}
.job-item-detail dd::after {
  display: block;
  clear: both;
  content: "";
}
.job-item-detail dt {
  color: var(--primary);
  width: 70px;
  margin-right: 12px;
}
.job-item-detail dd {
  width: calc(100% - 82px);
}
.job-item-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.job-item-btn .btn {
  width: calc(50% - 5px);
}
@media (max-width: 991.98px) {
  .job-item-btn .btn {
    font-size: 14px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.slick {
  position: relative;
}
.slick-dots {
  position: static;
  margin-top: 20px;
}
.slick-dots li {
  margin: 0 2px;
}
.slick-dots li button:before {
  font-size: 10px;
}
.slick-dots li.slick-active button:before {
  color: var(--primary);
}
.slick-dots li button:hover:before {
  color: var(--secondary);
  opacity: 0.5;
}
.slick .card {
  margin: 0.5rem;
}
.slick .slick-prev {
  position: absolute;
  top: 33vw;
  left: -10px;
  width: 40px;
  height: 40px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: var(--white);
  z-index: 10;
  box-shadow: 0px 0px 6px #00000029;
}
@media (min-width: 768px) {
  .slick .slick-prev {
    top: 95px;
    left: -20px;
  }
}
.slick .slick-prev::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 15px;
  width: 16px;
  height: 16px;
  border-top: 3.5px solid var(--primary);
  border-right: 3.5px solid var(--primary);
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  z-index: 10;
}
.slick .slick-next {
  position: absolute;
  top: 33vw;
  right: -10px;
  width: 40px;
  height: 40px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: var(--white);
  z-index: 10;
  box-shadow: 0px 0px 6px #00000029;
}
@media (min-width: 768px) {
  .slick .slick-next {
    top: 95px;
    right: -20px;
  }
}
.slick .slick-next::before {
  content: "";
  position: absolute;
  top: 13px;
  right: 15px;
  width: 16px;
  height: 16px;
  border-top: 3.5px solid var(--primary);
  border-right: 3.5px solid var(--primary);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 10;
}
.slick-list {
  display: flex;
  padding-bottom: 1rem;
}
.slick-track {
  display: flex;
  justify-content: center;
}

.special-contents {
  width: 30%;
  margin: 0 0.7rem;
}
.special-contents-img {
  border-radius: 0.5rem;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1.3333333333;
}
.special-contents-title {
  margin: 0.5rem 0;
  font-size: 16px;
  font-weight: bold;
}
.special-contents-sentence {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 0;
}
.special-contents a {
  color: #333;
}
.special-contents a:hover, .special-contents a:focus {
  text-decoration: none;
  color: var(--primary);
}
.detail-carousel {
  margin-bottom: 60px;
}
.mv-bubble {
  filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2));
  background-color: white;
  border-radius: 1rem;
  padding: 0.8rem;
  padding-bottom: 1.7rem;
  width: 22rem;
  position: relative;
  animation: float-one ease-in-out 9s infinite;
}
@media (max-width: 767.98px) {
  .mv-bubble {
    width: 19rem;
  }
}
.mv-bubble::after {
  content: "";
  display: block;
  border: solid 0.9rem transparent;
  border-top: solid 1rem white;
  position: absolute;
  top: calc(100% - 0.1rem);
  left: 50%;
  transform: translate(-50%, 0);
}
.mv-bubble__label {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EBF4FF;
  color: var(--primary);
  font-size: 12px;
  width: 100%;
  height: 2.8rem;
  border-radius: 0.4rem;
  margin-bottom: 0.9rem;
}
@media (max-width: 767.98px) {
  .mv-bubble__label {
    height: 2rem;
    font-size: 10px;
    margin-bottom: 0.6rem;
  }
}
.mv-bubble__inner {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
@media (max-width: 767.98px) {
  .mv-bubble__inner {
    gap: 0.6rem;
  }
}
.mv-bubble__image {
  display: block;
  width: 5.4rem;
  border-radius: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .mv-bubble__image {
    width: 3.6rem;
  }
}
.mv-bubble__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv-bubble__type {
  font-size: 15px;
  margin-bottom: 0.2rem;
}
@media (max-width: 767.98px) {
  .mv-bubble__type {
    font-size: 10px;
  }
}
.mv-bubble__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.2rem;
}
.mv-bubble__tag {
  font-size: 12px;
  color: #9D9D9D;
}
@media (max-width: 767.98px) {
  .mv-bubble__tag {
    font-size: 10px;
  }
}

@keyframes float-one {
  0% {
    transform: translate3d(0, 0rem, 0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  35% {
    transform: translate3d(0, -0.8rem, 0);
    opacity: 1;
  }
  65% {
    transform: translate3d(0, 0.6rem, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 0rem, 0);
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
.top-mv {
  background: linear-gradient(to right, #DFEEFF, #EDFFC1);
  padding-top: 11.5rem;
  position: relative;
  overflow: hidden;
  padding-bottom: 3.5rem;
}
@media (max-width: 767.98px) {
  .top-mv {
    padding-top: 3rem;
  }
}
.top-mv::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, white, transparent);
}
.top-mv-inner {
  position: relative;
  width: 140rem;
  max-width: 100%;
  margin-inline: auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.6rem;
  padding-inline: 5.6rem 0;
}
@media (max-width: 767.98px) {
  .top-mv-inner {
    flex-direction: column;
    padding-inline: 0;
    gap: 2rem;
  }
}
.top-mv-desc-wrapper {
  width: 81rem;
  max-width: 100%;
}
.top-mv-heading-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 4.3rem;
}
@media (max-width: 767.98px) {
  .top-mv-heading-wrapper {
    margin-bottom: 2rem;
  }
}
.top-mv-heading-wrapper > .in-logo {
  width: 42rem;
}
@media (max-width: 767.98px) {
  .top-mv-heading-wrapper > .in-logo {
    width: 21.6rem;
  }
}
.top-mv-sub-heading {
  font-size: 20px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 767.98px) {
  .top-mv-sub-heading {
    font-size: 15px;
    gap: 0.4rem;
    flex-wrap: wrap;
  }
}
.top-mv-sub-heading > .in-label {
  padding: 0.5rem 1.2rem 0.5rem;
  background-color: var(--primary);
  color: white;
  font-size: 18px;
  font-weight: 500;
  border-radius: 0.5rem;
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .top-mv-sub-heading > .in-label {
    font-size: 14px;
    padding: 0.2rem 0.5rem;
  }
}
.top-mv-sub-heading .in-large {
  font-size: 35px;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .top-mv-sub-heading .in-large {
    font-size: 25px;
  }
}
@media (max-width: 767.98px) {
  .top-mv-sub-heading > .in-bottom {
    width: 100%;
    text-align: center;
  }
}
.top-mv-statement-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  flex-wrap: nowrap;
}
@media (max-width: 767.98px) {
  .top-mv-statement-wrapper {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.top-mv-statement {
  font-size: 18px;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .top-mv-statement {
    font-size: 14px;
    text-align: center;
  }
}
.top-mv-statement > .in-num {
  font-size: 43px;
  font-weight: bold;
  color: var(--accent-red);
  margin-inline: 0.5rem;
}
@media (max-width: 767.98px) {
  .top-mv-statement > .in-num {
    font-size: 30px;
  }
}
.top-mv-statement > .in-excl {
  transform: rotate(20deg);
  display: inline-block;
}
.top-mv-statement > .in-date {
  font-size: 10px;
  color: #9D9D9D;
  padding-left: 0.3rem;
}
.top-mv-feature-wrapper {
  width: 45rem;
  max-width: 100%;
  flex-grow: 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.top-mv-feature-image {
  width: 100%;
}
.top-mv-feature-image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767.98px) {
  .top-mv-feature-wrapper {
    width: 36rem;
  }
}
.top-mv-feature-annotation {
  font-size: 10px;
  opacity: 0.4;
  transform: translate(-2rem, 0);
}
@media (max-width: 767.98px) {
  .top-mv-feature-annotation {
    font-size: 8px;
  }
}
.top-mv-bubble-wrapper {
  position: relative;
  width: 100%;
  height: 30.3rem;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper {
    display: none;
  }
}
.top-mv-bubble-wrapper .mv-bubble {
  position: absolute;
  opacity: 0;
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(1) {
  top: 6.8rem;
  left: 29.7rem;
  z-index: 10;
  animation-delay: 6s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(1) {
    left: 7rem;
    top: 3.6rem;
    z-index: 7;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(2) {
  top: 17.6rem;
  left: 23.4rem;
  z-index: 9;
  animation-delay: 4s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(2) {
    left: 18rem;
    top: 10.1rem;
    z-index: 9;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(3) {
  top: 14.5rem;
  left: 6.6rem;
  z-index: 8;
  animation-delay: 2s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(3) {
    left: 20rem;
    top: 2.2rem;
    z-index: 10;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(4) {
  top: 6.4rem;
  left: 0rem;
  z-index: 7;
  animation-delay: 0s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(4) {
    left: -10rem;
    top: 10.3rem;
    z-index: 6;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(5) {
  top: 0rem;
  left: 13.5rem;
  z-index: 6;
  animation-delay: 6s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(5) {
    left: -8rem;
    top: 2rem;
    z-index: 6;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(6) {
  top: 1.3rem;
  left: 42rem;
  z-index: 5;
  animation-delay: 4s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(6) {
    left: auto;
    right: -14rem;
    top: 3rem;
    z-index: 5;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(7) {
  top: 5.4rem;
  right: 0rem;
  z-index: 3;
  animation-delay: 2s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(7) {
    right: -8rem;
    top: 13rem;
    z-index: 4;
  }
}
.top-mv-bubble-wrapper .mv-bubble:nth-of-type(8) {
  top: 15.1rem;
  right: 10rem;
  z-index: 4;
  animation-delay: 0s;
}
@media (max-width: 767.98px) {
  .top-mv-bubble-wrapper .mv-bubble:nth-of-type(8) {
    right: auto;
    left: 5rem;
    top: 12.5rem;
    z-index: 8;
  }
}
.top-mv-form-wrapper {
  width: 53rem;
  max-width: calc(100% - 3rem);
  flex-shrink: 0;
  background-color: #F4F9FF;
  border: solid 0.4rem var(--primary);
  border-radius: 1.2rem;
  padding: 2.7rem 3.8rem 5.9rem;
  position: relative;
  box-sizing: border-box;
}
.top-mv-form-heading-wrapper,
.top-mv-simple-search,
.top-mv-word-search,
.top-mv-keyword-search-wrapper,
.top-mv-contact-wrapper {
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .top-mv-form-wrapper {
    margin-inline: auto;
    padding: 4rem 2.2rem 2.9rem;
    margin-top: 3rem;
  }
}
.top-mv-form-heading-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
@media (max-width: 767.98px) {
  .top-mv-form-heading-wrapper {
    justify-content: center;
  }
}
.top-mv-form-heading {
  font-size: 1.9rem;
}
@media (max-width: 767.98px) {
  .top-mv-form-heading {
    font-size: 18px;
    text-align: center;
  }
}
.top-mv-detail-search {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.8rem;
  padding: 0;
  font-weight: 500;
  color: var(--primary) !important;
}
.top-mv-detail-search:hover,
.top-mv-detail-search:focus,
.top-mv-detail-search:active {
  color: var(--primary-darken-15) !important;
  box-shadow: none;
  outline: none;
}
@media (max-width: 767.98px) {
  .top-mv-detail-search {
    margin-inline: auto;
    justify-content: center;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    gap: 0.5rem;
  }
}
.top-mv-detail-search > .in-text {
  font-size: 1.5rem;
}
.top-mv-detail-search > .in-angle img {
  width: 1rem;
}
@media (max-width: 767.98px) {
  .top-mv-detail-search > .in-angle img {
    width: 0.8rem;
  }
}
.top-mv-simple-search {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.top-mv-location-type-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
}
.top-mv-location-type-wrapper > .in-cross {
  display: block;
  width: 1.3rem;
  aspect-ratio: 1/1;
  position: relative;
}
@media (max-width: 767.98px) {
  .top-mv-location-type-wrapper > .in-cross {
    margin-inline: auto;
  }
}
.top-mv-location-type-wrapper > .in-cross::before, .top-mv-location-type-wrapper > .in-cross::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.1rem;
  background-color: var(--font-color);
  position: absolute;
  top: 50%;
  left: 50%;
}
.top-mv-location-type-wrapper > .in-cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.top-mv-location-type-wrapper > .in-cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.top-mv-select-wrapper {
  width: 19.6rem;
  height: auto;
  position: relative;
}
@media (max-width: 767.98px) {
  .top-mv-select-wrapper {
    width: calc(50% - 2rem);
    font-size: 1.6rem;
  }
}
.top-mv-select-wrapper > .in-angle {
  position: absolute;
  width: 0.8rem;
  top: 50%;
  right: 1.5rem;
  transform: translate(0, -50%) rotate(90deg);
}
.top-mv-select-wrapper select, .top-mv-select-wrapper .in-select {
  width: 100%;
  height: 100%;
  border: solid 1px var(--primary);
  border-radius: 0.4rem;
  padding: 0.8rem 1rem 1rem;
  padding-right: 2.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: white;
  cursor: pointer;
}
.top-mv-select-wrapper select:has(option[value=""]:checked), .top-mv-select-wrapper .in-select:has(option[value=""]:checked) {
  color: var(--gray);
}
.top-mv-select-wrapper select:focus, .top-mv-select-wrapper select:active, .top-mv-select-wrapper .in-select:focus, .top-mv-select-wrapper .in-select:active {
  color: var(--font-color) !important;
}
.top-mv-select-wrapper select .in-text, .top-mv-select-wrapper .in-select .in-text {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--gray);
}
.top-mv-select-wrapper select .in-text.is-current, .top-mv-select-wrapper .in-select .in-text.is-current {
  color: var(--font-color) !important;
}
.top-mv-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  border-radius: 0.4rem;
  width: 100%;
  max-width: 100%;
  height: 6.2rem;
  border-width: 1px;
  font-weight: bold;
}
.top-mv-search-submit > .in-text {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .top-mv-search-submit > .in-text {
    font-size: 1.4rem;
  }
}
.top-mv-search-submit > .in-angle {
  display: flex;
  align-items: center;
}
.top-mv-search-submit > .in-angle svg {
  width: 0.7rem;
}
.top-mv-search-submit > .in-angle svg path {
  stroke: currentColor;
}
.top-mv-word-search {
  display: grid;
  grid-template-columns: 1fr 7.6rem;
  align-items: stretch;
  width: 42.5rem;
  max-width: 100%;
  height: 4.8rem;
  border: solid 1px var(--primary);
  border-radius: 0.4rem;
  margin-top: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-mv-word-search.pc {
    display: grid !important;
  }
  .top-mv-contact-button.pc {
    display: flex !important;
  }
}
@media (max-width: 767.98px) {
  .top-mv-word-search {
    grid-template-columns: 1fr 6.3rem;
  }
}
.top-mv-word-search input {
  width: 100%;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  border: none;
  background-color: white;
  padding: 1rem;
  font-size: 14px;
  line-height: normal;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.top-mv-word-search input::-moz-placeholder {
  color: #9E9E9E;
}
.top-mv-word-search input::placeholder {
  color: #9E9E9E;
}
.top-mv-word-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
  padding: 0;
  background-color: var(--primary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.top-mv-word-search-submit > .in-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  padding-top: 0.2rem;
}
.top-mv-word-search-submit > .in-icon svg {
  display: block;
  width: 1.7rem;
  height: 1.7rem;
}
@media (hover: hover) {
  .top-mv-word-search-submit:hover {
    background-color: var(--primary-darken-15);
  }
}
.top-mv-keyword-search-wrapper {
  margin-top: 3.2rem;
}
@media (max-width: 767.98px) {
  .top-mv-keyword-search-wrapper {
    margin-top: 2rem;
  }
}
.top-mv-keywords-list {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding-bottom: 3.2rem;
  margin-bottom: 3.2rem;
  border-bottom: solid 1px #C3C3C3;
}
@media (max-width: 767.98px) {
  .top-mv-keywords-list {
    padding-bottom: 2.6rem;
    margin-bottom: 2.8rem;
  }
}
.top-mv-keyword a {
  padding: 0.5rem 1rem;
  background-color: white;
  border-radius: 0.6rem;
  font-size: 13px;
  color: rgba(51, 53, 60, 0.7);
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 767.98px) {
  .top-mv-keyword a {
    padding: 0.5rem 0.8rem;
  }
}
@media (hover: hover) {
  .top-mv-keyword a:hover {
    background-color: var(--primary);
    color: white;
  }
}
.top-mv-contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  width: 100%;
  margin-top: 1.5rem;
}
@media (max-width: 767.98px) {
  .top-mv-contact-list {
    gap: 1rem;
  }
}
.top-mv-contact-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20.5rem;
  height: 7.8rem;
  border-radius: 0.6rem;
  border-width: 1px;
  text-decoration: none;
  font-weight: 500;
}
.top-mv-contact-button > .in-top,
.top-mv-contact-button > .in-bottom {
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .top-mv-contact-button {
    width: 15.4rem;
  }
}
.top-mv-contact-button > .in-top {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .top-mv-contact-button > .in-top {
    font-size: 14px;
  }
}
.top-mv-contact-button > .in-bottom {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .top-mv-contact-button > .in-bottom {
    font-size: 14px;
  }
}
.top-mv-contact-button--lead {
  width: 100%;
  height: 9.1rem;
}
.top-mv-contact-button--lead > .in-top {
  font-size: 2.1rem;
}
.top-mv-contact-button--lead > .in-bottom {
  font-size: 1.6rem;
}
.top-mv-consultant-number {
  text-align: center;
  width: 100%;
  font-size: 14px;
  color: #33353C;
  margin-top: -1rem;
  opacity: 0.7;
}
.top-mv-shien {
  position: absolute;
  bottom: -2rem;
  right: 4rem;
  width: 9.8rem;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .top-mv-shien {
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    top: -3.5rem;
    width: 7.5rem;
  }
}

.mv {
  position: relative;
  overflow: hidden;
}
.mv-main-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv-search {
  width: 100%;
  background: var(--primary-light);
}
.mv-search-vacancies {
  display: inline-block;
}
@media (max-width: 991.98px) {
  .mv-search-vacancies {
    margin-bottom: 1em;
  }
}
.mv-search-form .form-group {
  margin-bottom: 0;
}
.mv-search-form .form-group input.form-control, .mv-search-form .form-group select.form-control {
  border: 1px solid var(--primary);
  height: 50px;
  background: var(--white);
}
@media (max-width: 991.98px) {
  .mv-search-form .form-group input.form-control, .mv-search-form .form-group select.form-control {
    height: 40px;
  }
}
.mv-search-form .form-group-1 {
  width: calc((100% - 146px - 60px) / 3);
  position: relative;
}
@media (max-width: 991.98px) {
  .mv-search-form .form-group-1 {
    width: 49%;
    margin-bottom: 0.5rem;
  }
}
.mv-search-form .form-group-1::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 10px;
  color: var(--primary);
  pointer-events: none;
}
.mv-search-form .form-group-2 {
  width: calc((100% - 146px - 60px) / 3);
}
@media (max-width: 991.98px) {
  .mv-search-form .form-group-2 {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 991.98px) {
  .mv-search-form i {
    display: none;
  }
}
.mv-search-form .btn {
  width: 146px;
}
@media (max-width: 991.98px) {
  .mv-search-form .btn {
    max-width: initial;
    width: 100%;
  }
}
.main-column > div:is(.top-carousel-job, .top-carousel-special):not(:first-child) {
    border-top: 2px dotted #bdbdbd;
}
.top-carousel a {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.top-carousel-job {
  position: relative;
  margin-bottom: 60px;
}
.top-carousel-special {
  position: relative;
  padding-block: 6rem;
}
@media (max-width: 767.98px) {
  .top-carousel-special {
    padding-block: 4.8rem;
  }
}
.top-carousel-special-list {
  margin-top: 2rem;
}
@media (max-width: 767.98px) {
  .top-carousel-special-list {
    width: calc(100% + 4rem);
    margin-inline: -2rem !important;
  }
}
.top-carousel-special-list a {
  display: block;
  overflow: hidden;
  border-radius: 0.5rem;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .top-carousel-special-list a:hover {
    opacity: 0.6;
  }
}
.top-carousel-special-list img {
  width: 100%;
  display: block;
  aspect-ratio: 744 / 404;
  object-fit: cover;
}
.top-carousel-special-nav {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.top-carousel-special-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  background-color: #C3D600;
  aspect-ratio: 1/1;
  border-radius: 100%;
  border: none;
  padding: 0;
  cursor: pointer;
}
.top-carousel-special-button svg {
  width: 0.7rem;
}
.top-carousel-special-button--prev {
  transform: rotate(180deg);
}
.top-carousel-special-pagination {
  width: auto !important;
  font-family: var(--font-family-alex);
}
.top-carousel .more {
  margin-top: 40px;
  text-align: center;
}
.top-new-job {
  padding-block: 7rem;
  background: linear-gradient(to bottom, rgba(224, 233, 129, 0.15), rgba(224, 233, 129, 0.4));
}
@media (max-width: 767.98px) {
  .top-new-job {
    padding-block: 4.8rem;
  }
}
.top-new-job-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.top-new-job-heading-main {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.top-new-job-pref-filter {
  width: 19.6rem;
  height: 4rem;
  position: relative;
  flex-shrink: 0;
}
.top-new-job-pref-filter__pin {
  position: absolute;
  width: 1.4rem;
  height: auto;
  top: 50%;
  left: 1.2rem;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}
.top-new-job-pref-filter__angle {
  position: absolute;
  width: 0.8rem;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
  z-index: 1;
}
.top-new-job-pref-filter__select {
  width: 100%;
  height: 100%;
  border: solid 1px var(--primary);
  border-radius: 0.4rem;
  padding: 0 3.2rem 0 3.6rem;
  color: var(--font-color);
  background-color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.top-new-job-pref-filter__select:has(option[value=""]:checked) {
  color: var(--gray);
}
.top-new-job-pref-filter__select:focus,
.top-new-job-pref-filter__select:active {
  color: var(--font-color) !important;
  outline: none;
}
@media (max-width: 767.98px) {
  .top-new-job-heading {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2rem;
  }
  .top-new-job-heading-main {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
  .top-new-job-pref-filter {
    width: 100%;
    max-width: 24rem;
  }
}
.top-new-job-list {
  position: relative;
  padding-inline: max(2rem, calc(50vw - 59rem));
  padding-bottom: 6rem;
  opacity: 0;
  transition: opacity 0.3s;
}
@media (max-width: 767.98px) {
  .top-new-job-list {
    padding-inline: 2rem;
    padding-bottom: 4rem;
  }
}
.top-new-job-list.is-active {
  opacity: 1;
}
.top-new-job-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28rem;
  font-size: 1.6rem;
  color: #666;
}
.top-new-job-list .swiper-slide {
  width: 37rem;
  height: auto;
}
.top-new-job-list-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1 / 1;
  background-color: var(--primary);
  border: none;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 11;
  padding: 0;
  padding-left: 0.2rem;
  cursor: pointer;
  transition: opacity 0.3s;
}
.top-new-job-list-arrow svg {
  width: 0.9rem;
  display: block;
}
@media (hover: hover) {
  .top-new-job-list-arrow:hover {
    opacity: 0.7;
  }
}
.top-new-job-list-arrow.swiper-button-disabled,
.top-new-job-list-arrow[hidden] {
  display: none;
}
@media (max-width: 767.98px) {
  .top-new-job-list-arrow {
    width: 4rem;
    top: 19.5rem;
  }
}
.top-new-job-list-arrow--prev {
  left: max(4rem, calc(50vw - 70rem));
  transform: translate(0, -50%) rotate(180deg);
}
@media (max-width: 767.98px) {
  .top-new-job-list-arrow--prev {
    left: 1rem;
  }
}
.top-new-job-list-arrow--next {
  right: max(4rem, calc(50vw - 70rem));
}
@media (max-width: 767.98px) {
  .top-new-job-list-arrow--next {
    right: 1rem;
  }
}
.top-new-job-list-progress {
  width: 27rem !important;
  top: auto !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translate(-50%, 0);
  overflow: hidden;
  border-radius: 0.6rem;
  --swiper-pagination-progressbar-bg-color: white;
  --swiper-pagination-progressbar-size: 0.8rem;
  --swiper-pagination-color: var(--primary);
}
@media (max-width: 767.98px) {
  .top-new-job-list-progress {
    --swiper-pagination-progressbar-size: 0.5rem;
    bottom: 2rem !important;
  }
}
.top-new-job-list-progress .swiper-pagination-progressbar-fill {
  border-radius: 0.6rem;
  overflow: hidden;
  display: block;
}
.top-new-job-archive-link {
  text-align: center;
  margin-top: 4rem;
}
.top-new-job-item {
  position: relative;
  overflow: hidden;
  border-radius: 0.6rem;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  background-color: white;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.top-new-job-item-image {
  aspect-ratio: 37 / 21;
  overflow: hidden;
}
.top-new-job-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-new-job-item-body {
  padding: 1rem 1.4rem 2rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.top-new-job-item-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1.4rem;
}
.top-new-job-item-desc {
  font-size: 14px;
  color: var(--gray);
  font-weight: 500;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.top-new-job-item-detail-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 2.4rem;
}
.top-new-job-item-detail {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 0.8rem;
}
.top-new-job-item-detail-title {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 13px;
  color: var(--primary);
  font-weight: 500;
  margin: 0;
}
.top-new-job-item-detail-title img {
  width: 1.3rem;
}
.top-new-job-item-detail-data {
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}
.top-new-job-item-actions {
  display: grid;
  grid-template-columns: 6.6rem minmax(0, 1fr);
  align-items: stretch;
  gap: 1rem;
  margin-top: auto;
}
.top-new-job-item-actions .job-favorite-btn {
  position: relative;
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
  width: 6.6rem;
  min-width: 6.6rem;
  min-height: 6rem;
  height: 6rem;
  padding: 0.4rem 0.2rem 0.2rem;
  border: solid 1.5px var(--accent-red);
  border-radius: 0.6rem;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: normal;
  box-sizing: border-box;
}
.top-new-job-item-actions .job-favorite-btn-text {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: normal;
}
.top-new-job-item-actions .job-favorite-btn-icon {
  width: 2.6rem;
  height: 2.5rem;
  margin-top: 2px;
}
.top-new-job-item-actions .job-favorite-btn-icon-outline,
.top-new-job-item-actions .job-favorite-btn-icon-filled {
  width: 2.6rem;
  height: 2.5rem;
}
.job-favorite-btn {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  width: auto;
  min-height: 54px;
  height: auto;
  padding-inline: 2rem;
  padding-block: 0;
  border: solid 0.2rem var(--accent-red);
  border-radius: 8rem;
  background-color: var(--white);
  color: var(--accent-red);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .job-favorite-btn {
    min-height: 4.5rem;
  }
}
.job-favorite-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
}
.job-favorite-btn-icon-outline,
.job-favorite-btn-icon-filled {
  display: block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 2.2rem;
  height: 2.1rem;
}
.job-favorite-btn-icon-outline {
  -webkit-mask-image: url(/general/img/common/ic-heart-outline.svg);
  mask-image: url(/general/img/common/ic-heart-outline.svg);
}
.job-favorite-btn-icon-filled {
  -webkit-mask-image: url(/general/img/common/ic-heart.svg);
  mask-image: url(/general/img/common/ic-heart.svg);
}
.job-favorite-btn:not(.is-favorited) .job-favorite-btn-icon-filled {
  display: none;
}
.job-favorite-btn.is-favorited .job-favorite-btn-icon-outline {
  display: none;
}
.job-favorite-btn-text {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
  color: var(--font-color);
  transition: color 0.3s;
}
/* 未会員お気に入り残り枠ダイアログ */
.favorite-remaining-dialog {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
}
.favorite-remaining-dialog.is-open {
  display: flex;
}
.favorite-remaining-dialog-backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}
.favorite-remaining-dialog-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 36rem;
  overflow: visible;
  background-color: var(--white);
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.15);
  text-align: center;
}
.favorite-remaining-dialog-panel .search-modal__close {
  top: 0;
  right: 0;
  left: auto;
  transform: translate(50%, -50%);
}
.favorite-remaining-dialog-header {
  padding: 1.6rem 2rem;
  background-color: var(--light-blue);
  border-radius: 0.8rem 0.8rem 0 0;
}
.favorite-remaining-dialog.is-limit .favorite-remaining-dialog-header {
  background-color: color-mix(in srgb, var(--accent-red) 20%, transparent);
}
.favorite-remaining-dialog-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--font-color);
}
.favorite-remaining-dialog-body {
  padding: 2rem 2rem 2.4rem;
}
.favorite-remaining-dialog-status {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.6rem;
  margin: 0 0 1.6rem;
  padding: 1.2rem 1.6rem 1.8rem;
  background-color: var(--bg-gray);
  border-radius: 0.8rem;
}
.favorite-remaining-dialog-status-text {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--font-color);
}
.favorite-remaining-dialog-remaining {
  color: var(--accent-red);
}
.favorite-remaining-dialog-count {
  display: inline-block;
  margin: 0 0.2rem;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  vertical-align: -0.1em;
}
.favorite-remaining-dialog-note {
  margin: 0 0 1.6rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--primary);
}
.favorite-remaining-dialog-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  width: 100%;
  min-height: 5.2rem;
  padding: 1.2rem 1.6rem 1.2rem 0.8rem;
  border-radius: 999px;
  background-color: var(--accent-red);
  color: var(--white);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 0.2s;
}
.favorite-remaining-dialog-cta:hover {
  color: var(--white);
  text-decoration: none;
  opacity: 0.92;
}
.favorite-remaining-dialog-cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 4.4rem;
  aspect-ratio: 1 / 1;
  background-color: var(--white);
  border-radius: 100%;
  color: var(--accent-red);
}
.favorite-remaining-dialog-cta-icon svg {
  width: 2.8rem;
}
.favorite-remaining-dialog-cta-text {
  flex: 1;
  text-align: center;
}
.favorite-remaining-dialog-cta-angle {
  display: flex;
  flex-shrink: 0;
  color: var(--white);
}
@media (max-width: 767.98px) {
  .favorite-remaining-dialog-panel {
    max-width: 32rem;
  }
  .favorite-remaining-dialog-header {
    padding: 1.4rem 1.6rem;
  }
  .favorite-remaining-dialog-body {
    padding: 1.6rem 1.6rem 2rem;
  }
  .favorite-remaining-dialog-count {
    font-size: 28px;
  }
}
.top-new-job-item-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-width: 0;
  min-height: 6rem;
  height: 6rem;
  border-radius: 0.6rem;
  padding-inline: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  box-sizing: border-box;
}
/* 新着求人カード全体リンク */
.top-new-job-item-detail-link::after {
  position: absolute;
  inset: 0;
  content: "";
}
.top-new-job-item-detail-link-angle {
  display: flex;
  align-items: center;
  line-height: 1;
}
.top-new-job-item-detail-link-angle svg {
  width: 0.6rem;
  display: block;
}
.top-new-job-item-detail-link-angle svg path {
  stroke: currentColor;
}
.top-side a {
  display: inline-block;
  width: 100%;
}
.top-side .border-dotted {
  border-bottom: 2px dotted #bdbdbd;
}
.top-reason {
  width: 100%;
}
.free-contents {
  margin-top: 60px;
  padding: 20px;
}
@media (max-width: 991.98px) {
  .free-contents {
    margin-top: 40px;
  }
}
.free-contents-title {
  display: block;
  text-align: center;
  font-size: 16px;
  margin: 0 0 14px;
  padding-bottom: 4px;
  border-bottom: 2px dotted #bdbdbd;
}
.free-contents-list {
  padding: 0;
  list-style: none;
}
.free-contents-list a {
  color: #333;
}
.free-contents-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.free-contents-img {
  width: 54px;
  height: 54px;
  object-fit: cover;
}
.free-contents-sentence {
  margin-left: 0.5rem;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  width: calc(100% - 62px);
}
.free-contents-more {
  text-align: right;
  color: var(--primary);
  font-size: 14px;
  font-weight: bold;
}
.free-contents-more i {
  margin-left: 4px;
}
.line .free-contents-title {
  color: #00c329;
}
.line .free-contents-item {
  display: block;
  align-items: center;
  text-align-last: left;
}
.line .free-contents-item i {
  color: #00c329;
  margin-right: 4px;
}
.line img {
  width: 80px;
  display: block;
  margin: 0 auto 20px;
  text-align: center;
}
.line .baloon {
  position: relative;
  width: 100%;
  max-width: 300px;
  text-align: center;
  margin: 0 auto 20px;
  padding: 6px 0;
  color: var(--white);
  border-radius: 19px;
  background: #00c329;
}
.line .baloon::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom: 14px solid #00c329;
  z-index: 2;
}
.banner {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 40px;
}
.banner-item {
  margin-top: 20px;
}
.banner-item img {
  width: 100%;
}
.top-reason {
  padding: 40px 0;
  background: var(--primary-light);
}
@media (max-width: 991.98px) {
  .top-reason {
    padding-top: 0;
  }
}
.top-reason ul {
  margin-top: 60px;
}
.top-reason img {
  width: 100%;
}
.heading-left {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .heading-left {
    font-size: 20px;
  }
}
.heading-left--medium {
  font-size: 28px;
}
@media (max-width: 767.98px) {
  .heading-left--medium {
    font-size: 20px;
  }
}
.heading-left--small {
  font-size: 26px;
}
@media (max-width: 767.98px) {
  .heading-left--small {
    font-size: 20px;
  }
}
.link-angle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
  text-decoration: none;
}
.link-angle.btn-link {
  padding: 0;
  font-weight: 500;
  color: var(--primary) !important;
}
.link-angle.btn-link:hover,
.link-angle.btn-link:focus,
.link-angle.btn-link:active {
  color: var(--primary-darken-15) !important;
  box-shadow: none;
  outline: none;
}
.link-angle__text {
  font-size: 15px;
  line-height: 1;
}
.link-angle__angle {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
}
.link-angle__angle img {
  width: 0.7rem;
  display: block;
  transition: transform 0.3s;
  transform: translateY(0.1rem);
}
@media (hover: hover) {
  .link-angle:hover .link-angle__angle img {
    transform: translate(1rem, 0.1rem);
  }
}
.top-conditions-search {
  padding-block: 6rem;
}
.top-conditions-search-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media (max-width: 767.98px) {
  .top-conditions-search-heading {
    flex-direction: column;
    align-items: flex-start;
  }
}
.top-conditions-search-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media (max-width: 767.98px) {
  .top-conditions-search-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
.top-conditions-search-item {
  display: grid;
  grid-template-columns: 6rem 1fr;
  overflow: hidden;
  min-height: 5.4rem;
  border-radius: 0.6rem;
  border: solid 1px #C3C3C3;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  background-color: var(--white);
  transition: opacity 0.3s;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 767.98px) {
  .top-conditions-search-item {
    grid-template-columns: 3rem 1fr;
    min-height: 3.4rem;
    box-shadow: none;
  }
}
.top-conditions-search-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background-color: rgba(224, 233, 129, 0.4);
}
.top-conditions-search-item-icon img {
  width: 3rem;
}
@media (max-width: 767.98px) {
  .top-conditions-search-item-icon img {
    width: 1.5rem;
  }
}
.top-conditions-search-item-text {
  display: flex;
  align-items: center;
  padding-inline: 1.8rem;
  font-size: 16px;
  color: var(--primary);
}
@media (max-width: 767.98px) {
  .top-conditions-search-item-text {
    padding-inline: 0.6rem;
    font-size: 1.3rem;
    letter-spacing: 0;
  }
}
@media (hover: hover) {
  .top-conditions-search-item:hover {
    opacity: 0.7;
  }
}
.top-conditions-search-archive-link {
  margin-top: 2rem;
  text-align: center;
}
.top-job-type-search {
  padding-bottom: 10rem;
}
@media (max-width: 767.98px) {
  .top-job-type-search {
    padding-bottom: 4.8rem;
  }
}
.top-job-type-search .heading-left {
  margin-bottom: 3rem;
}
.top-job-type-search-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media (max-width: 767.98px) {
  .top-job-type-search-list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.top-job-type-search-item {
  display: grid;
  grid-template-columns: 13.4rem 1fr;
  overflow: hidden;
  border-radius: 0.6rem;
  border: solid 1px #C3C3C3;
}
.top-job-type-search-item-image {
  width: 13.4rem;
  overflow: hidden;
}
.top-job-type-search-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-job-type-search-item-body {
  padding: 1.3rem 1.5rem;
}
.top-job-type-search-item-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .top-job-type-search-item-heading {
    font-size: 16px;
  }
}
.top-job-type-search-item-links {
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
@media (max-width: 767.98px) {
  .top-job-type-search-item-links {
    font-size: 15px;
  }
}
.top-job-type-search-item-links a {
  transition: color 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
@media (max-width: 767.98px) {
  .top-job-type-search-item-links a {
    font-size: 14px;
  }
}
.top-job-type-search-item-links a img {
  width: 0.7rem;
  transform: translate(0, 0.2rem);
}
@media (hover: hover) {
  .top-job-type-search-item-links a:hover {
    color: var(--primary);
    opacity: 0.7;
  }
}
.top-know-how {
  padding-block: 7rem;
}
@media (max-width: 767.98px) {
  .top-know-how {
    padding-block: 4.8rem;
  }
}
.top-know-how-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.top-know-how-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767.98px) {
  .top-know-how-list {
    gap: 1rem;
  }
}
.top-know-how-item {
  display: flex;
  align-items: center;
  padding: 2.4rem 2rem;
  gap: 1.6rem;
  border: solid 1px #C3C3C3;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  border-radius: 0.6rem;
  overflow: hidden;
  transition: opacity 0.3s, box-shadow 0.3s;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 767.98px) {
  .top-know-how-item {
    flex-direction: column;
    padding: 0;
    gap: 0.5rem;
    box-shadow: none;
    align-content: flex-start;
  }
}
@media (hover: hover) {
  .top-know-how-item:hover {
    opacity: 0.7;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
  }
}
.top-know-how-item-image {
  width: 20.2rem;
  aspect-ratio: 202 / 135;
  overflow: hidden;
  border-radius: 0.6rem;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .top-know-how-item-image {
    width: 100%;
  }
}
.top-know-how-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767.98px) {
  .top-know-how-item-desc {
    padding: 0.5rem 1rem;
    padding-bottom: 1rem;
  }
}
.top-know-how-item-title {
  font-size: 16px;
  margin-bottom: 1rem;
  line-height: 1.8;
  font-weight: inherit;
}
@media (max-width: 767.98px) {
  .top-know-how-item-title {
    line-height: 1.5;
    font-size: 13px;
    margin-bottom: 0;
  }
}
.top-column {
  padding-block: 7rem;
  background-color: var(--bg-gray);
}
@media (max-width: 767.98px) {
  .top-column {
    padding-block: 4.8rem;
  }
}
.top-column-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.top-column-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media (max-width: 767.98px) {
  .top-column-list {
    gap: 1rem;
  }
}
.top-column-item {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 2.4rem 2rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background-color: var(--white);
  border: solid 1px var(--line-gray);
  border-radius: 0.6rem;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s, box-shadow 0.3s;
}
@media (max-width: 767.98px) {
  .top-column-item {
    flex-direction: column;
    align-content: flex-start;
    gap: 0.5rem;
    padding: 0;
    box-shadow: none;
  }
}
@media (hover: hover) {
  .top-column-item:hover {
    opacity: 0.7;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
  }
}
.top-column-item-image {
  flex-shrink: 0;
  width: 20.2rem;
  aspect-ratio: 202 / 135;
  overflow: hidden;
  border-radius: 0.6rem;
}
@media (max-width: 767.98px) {
  .top-column-item-image {
    width: 100%;
  }
}
.top-column-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-column-item-desc {
  min-width: 0;
  flex: 1;
}
@media (max-width: 767.98px) {
  .top-column-item-desc {
    padding: 0.5rem 1rem;
    padding-bottom: 1rem;
  }
}
.top-column-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.6rem;
  margin-bottom: 0.5rem;
}
.top-column-item-date {
  flex: 0 0 100%;
  font-size: 14px;
  line-height: 1.4;
  color: var(--gray);
  font-family: var(--font-family-alex);
}
.top-column-item-tags {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.4rem 0.6rem;
}
.top-column-item-tag {
  display: inline-flex;
  align-items: center;
  padding-inline: 0.8rem;
  font-size: 12px;
  line-height: 1.6;
  color: var(--primary);
  border: solid 1px var(--primary);
  border-radius: 2rem;
}
.top-column-item-title {
  margin-bottom: 1rem;
  font-size: 16px;
  line-height: 1.8;
  font-weight: inherit;
}
@media (max-width: 767.98px) {
  .top-column-item-meta {
    gap: 0.3rem;
    margin-bottom: 0.4rem;
  }
  .top-column-item-date {
    font-size: 12px;
  }
  .top-column-item-tags {
    gap: 0.3rem 0.4rem;
  }
  .top-column-item-tag {
    padding-inline: 0.6rem;
    font-size: 10px;
  }
  .top-column-item-title {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.5;
  }
}
.heading-center {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .heading-center {
    font-size: 20px;
  }
}
.btn-icon {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  position: relative;
  width: 38.1rem;
  height: 7.4rem;
  border-radius: 6rem;
  padding: 1.2rem;
  text-decoration: none;
}
@media (max-width: 767.98px) {
  .btn-icon {
    width: 100%;
    height: 5.2rem;
    padding: 0.6rem;
  }
}
.btn-icon .button-icon__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  background-color: white;
  transition: background-color 0.3s;
}
@media (max-width: 767.98px) {
  .btn-icon .button-icon__icon {
    width: 3.9rem;
  }
}
.btn-icon .button-icon__icon svg path {
  transition: fill 0.3s;
}
.btn-icon .button-icon__text {
  font-size: 18px;
  text-align: center;
  flex-grow: 1;
  padding-right: 3.5rem;
  color: var(--white) !important;
}
@media (max-width: 767.98px) {
  .btn-icon .button-icon__text {
    font-size: 15px;
    padding-right: 4.5rem;
  }
}
.btn-icon .button-icon__angle {
  position: absolute;
  top: 46%;
  right: 2.5rem;
  transform: translate(0, -50%);
}
@media (max-width: 767.98px) {
  .btn-icon .button-icon__angle {
    right: 2rem;
  }
}
.btn-icon .button-icon__angle svg path {
  transition: stroke 0.3s;
}
@media (hover: hover) {
  .btn-accent-red.btn-icon:hover .button-icon__icon {
    background-color: var(--accent-red);
  }
  .btn-accent-red.btn-icon:hover .button-icon__icon svg path {
    fill: white;
  }
  .btn-accent-red.btn-icon:hover .button-icon__text {
    color: var(--accent-red) !important;
  }
  .btn-accent-red.btn-icon:hover .button-icon__angle svg path {
    stroke: var(--accent-red);
  }
}
.top-agency-approach {
  padding-block: 7rem;
  background: linear-gradient(to bottom, var(--blue-gradient-start), var(--blue-gradient-end));
}
@media (max-width: 767.98px) {
  .top-agency-approach {
    padding-block: 4.8rem;
  }
}
.top-approach {
  padding-top: 6rem;
}
@media (max-width: 767.98px) {
  .top-approach {
    padding-top: 1rem;
  }
}
.top-approach .heading-center {
  line-height: 1.5;
  margin-bottom: 3rem;
}
@media (max-width: 767.98px) {
  .top-approach .heading-center {
    margin-bottom: 2rem;
    line-height: 1.4;
  }
}
.top-approach-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 30px;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .top-approach-logo-wrap {
    font-size: 20px;
    margin-bottom: 0.4rem;
  }
}
.top-approach-logo-wrap img {
  display: block;
  width: 14rem;
  height: auto;
  flex-shrink: 0;
}
.top-approach-desc {
  text-align: center;
  line-height: 1.7;
}
@media (max-width: 767.98px) {
  .top-approach-desc {
    padding-inline: 1rem;
    font-size: 15px;
    text-align: left;
  }
}
.top-approach-bubble-list {
  position: relative;
  width: 100rem;
  max-width: calc(100% - 4rem);
  height: 25.2rem;
  margin-inline: auto;
  margin-top: 5rem;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .top-approach-bubble-list {
    margin-top: 1.5rem;
    height: 22rem;
  }
}
.top-approach-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .top-approach-bubble {
    font-size: 12px;
  }
}
.top-approach-bubble--01 {
  left: 5.2rem;
  bottom: 4.3rem;
  width: 29.4rem;
  height: 7.4rem;
  background-image: url(/general/img/top/approach-bubble01.png);
  padding-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .top-approach-bubble--01 {
    width: 16.4rem;
    height: 8.5rem;
    left: 0;
    bottom: 10.7rem;
    background-image: url(/general/img/top/sp-approach-bubble01.png);
    padding-bottom: 3rem;
  }
}
.top-approach-bubble--02 {
  left: 12rem;
  bottom: 13.6rem;
  width: 32rem;
  height: 9.7rem;
  background-image: url(/general/img/top/approach-bubble02.png);
  padding-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .top-approach-bubble--02 {
    display: none;
  }
}
.top-approach-bubble--03 {
  left: 48.5rem;
  bottom: 15.1rem;
  width: 25.6rem;
  height: 8.7rem;
  background-image: url(/general/img/top/approach-bubble03.png);
  padding-bottom: 3rem;
}
@media (max-width: 767.98px) {
  .top-approach-bubble--03 {
    width: 14.3rem;
    height: 6.3rem;
    left: 18.3rem;
    bottom: 14.2rem;
    background-image: url(/general/img/top/sp-approach-bubble03.png);
    padding-bottom: 1rem;
  }
}
.top-approach-bubble--04 {
  left: 62.6rem;
  bottom: 4.9rem;
  width: 34.1rem;
  height: 9.7rem;
  background-image: url(/general/img/top/approach-bubble04.png);
  padding-bottom: 1.3rem;
}
@media (max-width: 767.98px) {
  .top-approach-bubble--04 {
    width: 26.4rem;
    height: 7.7rem;
    left: 9.7rem;
    bottom: 6.3rem;
    background-image: url(/general/img/top/sp-approach-bubble04.png);
  }
}
.top-approach-illust {
  position: absolute;
  width: 31rem;
  bottom: -1.6rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media (max-width: 767.98px) {
  .top-approach-illust {
    width: 14.7rem;
    bottom: -0.8rem;
  }
}
.top-approach-contact {
  background-color: white;
  width: 100rem;
  max-width: 100%;
  border: solid 0.4rem var(--primary);
  border-radius: 0.6rem;
  margin-inline: auto;
  padding-block: 3.3rem;
  text-align: center;
  box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
}
@media (max-width: 767.98px) {
  .top-approach-contact {
    padding-block: 2.8rem 2.4rem;
  }
}
.top-approach-contact p {
  font-size: 18px;
}
@media (max-width: 767.98px) {
  .top-approach-contact p {
    font-size: 16px;
  }
}
.top-approach-contact-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 0.5rem;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 2rem;
  line-height: 1.4;
}
@media (max-width: 767.98px) {
  .top-approach-contact-title {
    font-size: 24px;
  }
}
.top-approach-contact-title img {
  display: block;
  width: 20rem;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .top-approach-contact-title img {
    width: 17.5rem;
  }
  .top-approach-contact-title .top-approach-contact-title-break {
    flex-basis: 100%;
    height: 0;
  }
}
.top-approach-contact-button-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
.top-approach-contact-button-wrap .btn-icon {
  margin-inline: auto;
  width: 40rem;
  height: 5.4rem;
  padding: 1rem;
}
@media (max-width: 767.98px) {
  .top-approach-contact-button-wrap .btn-icon {
    width: 29rem;
    height: 7.3rem;
  }
}
.top-approach-contact-button-wrap .btn-icon .button-icon__icon {
  width: 3.4rem;
}
@media (max-width: 767.98px) {
  .top-approach-contact-button-wrap .btn-icon .button-icon__icon {
    width: 5rem;
  }
}
.top-approach-contact-button-wrap .btn-icon .button-icon__icon svg {
  width: 1.9rem;
}
@media (max-width: 767.98px) {
  .top-approach-contact-button-wrap .btn-icon .button-icon__icon svg {
    width: 2.7rem;
  }
}
.top-approach-contact-button-wrap .btn-icon .button-icon__text {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .top-approach-contact-button-wrap .btn-icon .button-icon__text {
    text-align: center;
    font-size: 1.6rem;
  }
}
.top-approach-contact-button-wrap .btn-icon .button-icon__angle {
  right: 2.2rem;
}
.top-approach-contact-button-wrap .btn-icon .button-icon__angle svg {
  width: 0.9rem;
}
.btn-simple-angle {
  position: relative;
  --button-simple-angle-color: var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: auto;
  height: auto;
  min-height: 54px;
  padding-inline: 2.6rem 1.8rem;
  padding-block: 0;
  font-weight: 500;
  line-height: 1.5;
  color: var(--white);
  text-decoration: none;
  background-color: var(--button-simple-angle-color);
  border: solid 0.2rem var(--button-simple-angle-color);
  border-radius: 8rem;
  transition: background-color 0.3s, color 0.3s;
}
.btn.btn-simple-angle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 2.6rem 1.8rem;
  padding-block: 0;
  min-height: 54px;
  height: auto;
  border-radius: 8rem;
}
.btn-simple-angle--red {
  --button-simple-angle-color: var(--accent-red);
}
.btn-simple-angle--blue {
  --button-simple-angle-color: var(--primary);
}
.btn-simple-angle--outline {
  background-color: #fff;
  color: var(--button-simple-angle-color);
  border-color: color-mix(in srgb, var(--button-simple-angle-color) 60%, transparent);
}
.btn-simple-angle .button-simple-angle__text {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.btn-simple-angle .button-simple-angle__angle {
  position: static;
  top: auto;
  right: auto;
  transform: none;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.btn-simple-angle .button-simple-angle__angle svg {
  width: 0.9rem;
  display: flex;
  align-items: center;
}
.btn-simple-angle .button-simple-angle__angle svg path {
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}
@media (hover: hover) {
  .btn-simple-angle:hover {
    background-color: #fff;
    color: var(--button-simple-angle-color);
    text-decoration: none;
  }
  .btn-simple-angle--outline:hover {
    background-color: var(--button-simple-angle-color);
    color: #fff;
  }
}
@media (max-width: 767.98px) {
  .btn-simple-angle{
    height: 4.5rem;
  }
}
.top-flow {
  padding-block: 6rem;
}
@media (max-width: 767.98px) {
  .top-flow {
    padding-block: 4.8rem;
  }
}
.top-flow-content {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  background-image: url(/general/img/top/flow-banner-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 5rem 4.3rem;
}
@media (max-width: 767.98px) {
  .top-flow-content {
    background-image: url(/general/img/top/sp-flow-banner-bg.png);
    padding: 3.8rem 2rem 3rem;
  }
}
.top-flow-icon-wrap {
  display: flex;
  flex-direction: column;
}
@media (max-width: 767.98px) {
  .top-flow-icon-wrap {
    gap: 0;
    justify-content: center;
  }
}
.top-flow-icon {
  width: 11rem;
  margin-inline: auto;
  margin-bottom: 2rem;
}
@media (max-width: 767.98px) {
  .top-flow-icon {
    flex-shrink: 0;
    margin-bottom: 0;
  }
}
.top-flow-desc {
  margin-bottom: 1rem;
  text-align: center;
}
@media (max-width: 767.98px) {
  .top-flow-desc {
    font-size: 15px;
    margin-top: -0.5rem;
  }
}
.top-flow-title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 2rem;
  text-align: center;
}
@media (max-width: 767.98px) {
  .top-flow-title {
    font-size: 24px;
  }
}
.top-flow-list-wrap {
  background-color: white;
  padding: 3rem 2rem 4rem;
  margin-bottom: 3rem;
}
@media (max-width: 767.98px) {
  .top-flow-list-wrap {
    padding: 2rem 1.2rem;
  }
}
.top-flow-list-title {
  text-align: center;
  font-size: 18px;
  margin-bottom: 2rem;
}
@media (max-width: 767.98px) {
  .top-flow-list-title {
    font-size: 16px;
  }
}
.top-flow-list-num {
  font-size: 28px;
  font-weight: 500;
  color: var(--primary);
  font-family: var(--font-family-alex);
  margin-inline: 0.5rem;
}
@media (max-width: 767.98px) {
  .top-flow-list-num {
    font-size: 21px;
  }
}
.top-flow-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
@media (max-width: 767.98px) {
  .top-flow-list {
    flex-wrap: wrap;
    gap: 2rem 0.4rem;
  }
}
.top-flow-item {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media (max-width: 767.98px) {
  .top-flow-item {
    gap: 0.4rem;
  }
}
.top-flow-item-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
}
@media (max-width: 767.98px) {
  .top-flow-item-inner {
    gap: 0;
    min-width: 8rem;
  }
}
.top-flow-item-icon {
  width: 8.8rem;
}
@media (max-width: 767.98px) {
  .top-flow-item-icon {
    width: 5.2rem;
  }
}
.top-flow-item-text {
  font-size: 22px;
}
@media (max-width: 767.98px) {
  .top-flow-item-text {
    font-size: 14px;
  }
}
.top-flow-item-angle {
  margin-top: 3.5rem;
}
@media (max-width: 767.98px) {
  .top-flow-item-angle {
    margin-top: 1.5rem;
  }
}
.top-flow-item-angle img {
  width: 1.5rem;
  height: auto;
}
@media (max-width: 767.98px) {
  .top-flow-item-angle img {
    width: 0.7rem;
  }
}
.top-flow-button-wrap .btn-simple-angle {
  width: 22rem;
  max-width: 100%;
  padding-inline: 2.6rem;
  gap: 0;
}
.top-flow-button-wrap .btn-simple-angle .button-simple-angle__text {
  flex: 1;
  text-align: center;
}
.top-about-bansou {
  width: 100rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  padding: 4rem 2rem;
  background: linear-gradient(to bottom, #F8FAE4, #F3F7CF);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 767.98px) {
  .top-about-bansou {
    padding-block: 2rem;
  }
}
.top-about-bansou::after {
  content: "";
  border: solid transparent 2rem;
  border-top: solid #F3F7CF 2rem;
  border-bottom: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
.top-about-bansou-shien {
  position: absolute;
  width: 12rem;
  right: -1rem;
  bottom: 2rem;
}
@media (max-width: 767.98px) {
  .top-about-bansou-shien {
    width: 8rem;
    bottom: -1rem;
  }
}
.top-about-bansou-title {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 4px #E0E981;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .top-about-bansou-title {
    font-size: 24px;
  }
}
.top-about-bansou p {
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .top-about-bansou p {
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
  }
}
.top-about-ryoiku {
  padding-top: 3rem;
  display: grid;
  align-content: center;
  grid-template-columns: 42.3rem 1fr;
  gap: 5rem;
  width: 100rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  margin-bottom: 6rem;
}
@media (max-width: 767.98px) {
  .top-about-ryoiku {
    grid-template-columns: 1fr;
  }
}
.top-about-ryoiku-image {
  height: 26.8rem;
}
.top-about-ryoiku-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-about-ryoiku-body p {
  color: #33353C;
  line-height: 1.6;
  margin: 1rem 0 1.6rem;
}
@media (max-width: 767.98px) {
  .top-about-ryoiku-body p {
    font-size: 14px;
  }
}
.top-about-ryoiku-title {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.08rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.top-about-ryoiku-title-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  line-height: 1;
}
.top-about-ryoiku-title-logo-wrap img {
  display: block;
  width: 16rem;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .top-about-ryoiku-title-logo-wrap img {
    width: 12rem;
  }
}
.top-about-ryoiku-image-sp {
  width: 100%;
  height: auto;
  display: block;
}
.top-faq {
  padding-block: 6rem;
  background-color: #F2F2F2;
}
@media (max-width: 767.98px) {
  .top-faq {
    padding-block: 4.8rem;
  }
}
.top-faq-inner {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
.top-faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3rem;
}
@media (max-width: 767.98px) {
  .top-faq-list {
    margin-top: 2rem;
  }
}
.top-faq-more {
  margin-top: 2rem;
  text-align: right;
}
.faq-item {
  background-color: white;
  border: solid 1px #CCCCCC;
  border-radius: 0.6rem;
}
.faq-item-title {
  position: relative;
  font-weight: 500;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .faq-item-title {
    font-size: 15px;
  }
}
.faq-item-title::before {
  content: "Q";
  font-family: var(--font-family-alex);
  font-size: 22px;
  color: var(--primary);
  position: absolute;
  left: 2rem;
  top: 1.8rem;
}
@media (max-width: 767.98px) {
  .faq-item-title::before {
    font-size: 20px;
    left: 1.6rem;
    top: 1.2rem;
  }
}
.faq-item-button {
  display: block;
  box-sizing: border-box;
  border: none;
  background: none;
  padding: 2rem 8.4rem 2rem 5.8rem;
  text-align: left;
  width: 100%;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .faq-item-button {
    padding: 1.5rem 5rem;
  }
}
.faq-item-button-text {
  font-size: 16px;
  font-weight: 500;
  color: var(--font-color);
  font-family: var(--font-family-zen);
}
@media (max-width: 767.98px) {
  .faq-item-button-text {
    font-size: 14px;
  }
}
.faq-item-cross {
  display: block;
  width: 2rem;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 2.2rem;
  right: 3.4rem;
  transition: transform 0.3s;
}
@media (max-width: 767.98px) {
  .faq-item-cross {
    width: 1.8rem;
    top: 1.7rem;
    right: 1.7rem;
  }
}
.faq-item-cross::before,
.faq-item-cross::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--primary);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}
.faq-item-cross::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq-item-cross.is-open {
  transform: rotate(90deg);
}
.faq-item-cross.is-open::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq-item-data-inner {
  padding-block: 1.5rem 3rem;
  padding-inline: 5.8rem 2rem;
  position: relative;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .faq-item-data-inner {
    padding-inline: 5rem 2rem;
  }
}
.faq-item-data-inner::before {
  content: "A";
  font-family: var(--font-family-alex);
  font-size: 22px;
  position: absolute;
  left: 2rem;
  top: 1rem;
}
@media (max-width: 767.98px) {
  .faq-item-data-inner::before {
    font-size: 20px;
    left: 1.6rem;
  }
}
.faq-item-data-inner::after {
  content: "";
  display: block;
  width: calc(100% - 5rem);
  height: 1px;
  position: absolute;
  top: 0;
  left: 1.6rem;
  background-color: #cccccc;
}
.faq-item-data-inner strong {
  color: #cf5252;
  font-weight: 500;
}
.faq-item-data-inner a {
  text-decoration: underline;
  color: var(--primary);
}
.faq-item-data-inner p {
  margin: 0;
}
@media (hover: hover) {
  .faq-item:hover .faq-item-cross:not(.is-open) {
    transform: rotate(90deg);
  }
}
.top-consulting {
  padding-bottom: 11rem;
}
@media (max-width: 767.98px) {
  .top-consulting {
    padding-bottom: 5rem;
  }
}
.top-consulting-content {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  border: solid 0.4rem #FA9023;
  border-radius: 0.6rem;
  position: relative;
  transition: opacity 0.3s;
  overflow: hidden;
}
@media (hover: hover) {
  .top-consulting-content:hover {
    opacity: 0.6;
  }
}
.top-consulting-title {
  background-color: #FA9023;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  height: 4.6rem;
  font-size: 23px;
  font-weight: bold;
  padding-bottom: 0.5rem;
}
.top-consulting-inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767.98px) {
  .top-consulting-inner {
    flex-direction: column;
  }
}
.top-consulting-desc-wrap {
  padding: 2.2rem 4.4rem 3.4rem 2rem;
  flex-shrink: 0;
  flex-grow: 0;
}
@media (max-width: 767.98px) {
  .top-consulting-desc-wrap {
    padding: 1rem;
  }
}
.top-consulting-icon-list {
  display: flex;
  align-items: center;
}
@media (max-width: 767.98px) {
  .top-consulting-icon-list {
    flex-wrap: wrap;
  }
}
.top-consulting-icon {
  width: 19rem;
}
@media (max-width: 767.98px) {
  .top-consulting-icon {
    width: 11.7rem;
  }
}
.top-consulting-list {
  padding: 2.6rem 2rem;
  background-color: #fff6ED;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0;
  list-style: none;
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .top-consulting-list {
    width: 100%;
    margin-top: 1.5rem;
    padding: 1.2rem 6rem;
  }
}
.top-consulting-item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 18px;
}
@media (max-width: 767.98px) {
  .top-consulting-item {
    font-size: 13px;
    padding-left: 2rem;
  }
}
.top-consulting-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 58%;
  display: block;
  width: 2rem;
  aspect-ratio: 1 / 1;
  background-image: url(/general/img/common/ic-check-orange.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translate(0, -50%);
}
@media (max-width: 767.98px) {
  .top-consulting-item::before {
    width: 1.3rem;
  }
}
.top-consulting-item-large {
  font-size: 26px;
}
@media (max-width: 767.98px) {
  .top-consulting-item-large {
    font-size: 18px;
  }
}
.top-consulting-item-accent {
  color: #FA9023;
}
.top-consulting-item-num {
  font-family: var(--font-family-alex);
}
.top-consulting-copy {
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767.98px) {
  .top-consulting-copy {
    font-size: 24px;
  }
}
.top-consulting-image {
  width: 55rem;
  flex-shrink: 0;
  flex-grow: 1;
}
@media (max-width: 767.98px) {
  .top-consulting-image {
    width: 100%;
    height: 19.3rem;
  }
}
.top-consulting-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-consulting-more {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-color: #FA9023;
  color: white;
  display: flex;
  width: 21rem;
  height: 4.7rem;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  border-radius: 0.6rem 0 0 0;
  gap: 1.5rem;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .top-consulting-more {
    width: 17rem;
    height: 3.7rem;
    font-size: 16px;
  }
}
.top-consulting-more-icon svg {
  display: block;
}
.over-link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.bubble-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .bubble-label {
    font-size: 1.5rem;
  }
}
.bubble-label::before,
.bubble-label::after {
  content: "／";
  display: block;
  color: var(--button-color, var(--accent-red));
}
.bubble-label::before {
  transform: rotateY(180deg);
}
.button-icon__text--bold {
  font-weight: bold;
}
.top-advisor-contact {
  padding-block: 3rem 4rem;
  padding-inline: 10.8rem;
  background-color: #EBF4FE;
}
@media (max-width: 767.98px) {
  .top-advisor-contact {
    padding: 5rem 1.5rem 6rem;
  }
}
.top-advisor-contact-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 767.98px) {
  .top-advisor-contact-title {
    gap: 0.5rem;
  }
}
.top-advisor-contact-icon {
  width: 15rem;
  transform: translate(0, 0.5rem);
}
@media (max-width: 767.98px) {
  .top-advisor-contact-icon {
    width: 9.2rem;
  }
}
.top-advisor-contact-heading {
  margin: 0;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 767.98px) {
  .top-advisor-contact-heading {
    font-size: 2.4rem;
  }
}
.top-advisor-contact-bubble {
  display: flex;
  margin-top: -2rem;
  letter-spacing: 0;
  --button-color: var(--accent-red);
}
@media (max-width: 767.98px) {
  .top-advisor-contact-bubble {
    gap: 0.5rem;
    margin-top: 4rem;
    font-size: 1.4rem;
    white-space: nowrap;
  }
}
.top-advisor-contact-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6rem;
  width: 79rem;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 1.5rem;
}
@media (max-width: 767.98px) {
  .top-advisor-contact-buttons {
    gap: 1.5rem;
    padding-inline: 0.5rem;
  }
}
.top-advisor-contact-button-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
}
@media (max-width: 767.98px) {
  .top-advisor-contact-button-wrap {
    gap: 0.5rem;
    width: 100%;
  }
}
.top-advisor-contact-button-wrap--introduction .btn-icon .button-icon__icon svg {
  width: 3rem;
}
@media (max-width: 767.98px) {
  .top-advisor-contact-button-wrap--introduction .btn-icon .button-icon__icon svg {
    width: 2.2rem;
  }
}
.top-advisor-contact-button-wrap--introduction .btn-icon .button-icon__icon svg path {
  fill: var(--accent-red);
}
.top-advisor-contact-note {
  text-align: center;
  margin-top: 3rem;
  font-weight: 500;
}
.top-advisor-contact-note a {
  color: var(--primary);
  text-decoration: underline;
}
.float-contact {
  position: fixed;
  z-index: 1000;
  bottom: -10rem;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: bottom 0.3s;
}
.float-contact.is-active {
  bottom: 0;
}
.float-contact__btn {
  gap: 1rem;
  text-decoration: none;
}
.float-contact__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 5rem;
  aspect-ratio: 1 / 1;
  background-color: var(--white);
  border-radius: 100%;
  color: var(--accent-red);
}
.float-contact__icon svg {
  width: 3.5rem;
}
.float-contact__text {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.marquee-swiper {
  overflow: hidden;
}
.marquee-swiper-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  animation-name: marquee;
  animation-duration: var(--marquee-duration, 12000ms);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: var(--marquee-direction, normal);
}
.marquee-swiper-item {
  flex: 0 0 auto;
}
@keyframes marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-swiper-track {
    animation: none !important;
    transform: none !important;
  }
}
.support-banner {
  padding-block: 7rem 0;
  text-align: center;
  background-color: var(--white);
}
@media (max-width: 767.98px) {
  .support-banner {
    padding-top: 3rem;
  }
}
.support-banner img {
  width: 90rem;
}
@media (max-width: 767.98px) {
  .support-banner img {
    width: 38rem;
  }
}
.subpage--job-detail .detail-body-main .support-banner {
  padding-block: 3rem 0;
}
.subpage--job-detail .detail-body-main .support-banner .container {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
.subpage--job-detail .detail-body-main .support-banner img {
  width: 100%;
  max-width: 100%;
}
.support-banner a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .support-banner a:hover {
    opacity: 0.6;
  }
}
.top-logo-swiper-wrap {
  padding-top: 6rem;
  padding-bottom: 6rem;
  pointer-events: none;
  background-color: var(--white);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (max-width: 767.98px) {
  .top-logo-swiper-wrap {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}
.top-logo-swiper:last-of-type {
  margin-bottom: 0;
}
.top-logo-swiper .marquee-swiper-item {
  box-sizing: border-box;
  width: 14rem;
  padding-inline: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
}
.top-logo-swiper .marquee-swiper-item img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}
.footer-logo-nav {
  padding: 5.8rem 12rem 0;
  display: flex;
  justify-content: space-between;
  background-color: var(--white);
}
@media (max-width: 767.98px) {
  .footer-logo-nav {
    padding: 4.8rem 1.5rem 0;
    flex-direction: column;
    gap: 4rem;
  }
}
@media (max-width: 767.98px) {
  .footer-logo-wrap {
    text-align: center;
  }
}
.footer-logo-wrap p {
  font-size: 16px;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.footer-logo img {
  width: 24rem;
}
@media (max-width: 767.98px) {
  .footer-logo img {
    width: 18rem;
  }
}
@media (max-width: 767.98px) {
  .footer-nav {
    padding-inline: 1.5rem;
  }
}
.footer-nav-menu {
  display: flex;
  gap: 6rem;
}
@media (max-width: 767.98px) {
  .footer-nav-menu {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 1.5rem;
    height: 28rem;
  }
}
.footer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767.98px) {
  .footer-nav-list {
    gap: 1.5rem;
  }
}
.footer-nav-item > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .footer-nav-item > a:hover {
    opacity: 0.6;
  }
}
.footer-nav-item > a::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-image: url(/general/img/common/ic-angle.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.footer-nav-item-title {
  font-size: 16px;
}
.footer-nav-sub-list {
  margin: 1.2rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
}
@media (max-width: 767.98px) {
  .footer-nav-sub-list {
    padding-left: 1rem;
  }
}
.footer-nav-sub-item > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 15px;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .footer-nav-sub-item > a:hover {
    opacity: 0.6;
  }
}
.footer-nav-sub-item > a::before {
  content: "-";
  color: var(--primary);
}
.detail-reason {
  position: relative;
  width: 32%;
  padding: 20px;
  overflow: visible;
}
@media (max-width: 991.98px) {
  .detail-reason {
    width: 100%;
    margin: 0 auto;
  }
  .detail-reason:not(:last-child) {
    margin-bottom: 40px;
  }
}
.detail-reason .reason-num {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: var(--primary);
  opacity: 0.3;
  z-index: 10;
  position: absolute;
  top: -18px;
  left: 0;
  width: 100%;
}
.detail-reason-sentence {
  margin: 0 20px 1rem 20px;
}
.news-item {
  position: relative;
  display: flex;
  align-items: baseline;
  padding-block: 2.6rem;
  padding-inline: 1rem;
  border-bottom: solid 1px #CCCCCC;
  gap: 1rem;
  transition: border-color 0.3s;
}
.news-item-date {
  font-size: 14px;
  font-family: var(--font-family-alex);
  font-weight: 500;
  opacity: 0.5;
  transition: color 0.3s;
  flex-shrink: 0;
  margin: 0;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .news-item-date {
    font-size: 13px;
  }
}
.news-item-title {
  transition: color 0.3s;
  flex: auto;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  margin: 0;
  padding: 0;
}
@media (max-width: 767.98px) {
  .news-item-title {
    font-size: 14px;
  }
}
@media (hover: hover) {
  .news-item:hover {
    border-color: var(--primary);
  }
  .news-item:hover .news-item-date {
    color: var(--primary);
  }
  .news-item:hover .news-item-title {
    color: var(--primary);
  }
}
.news-no-data {
  text-align: center;
  padding-block: 3rem;
}
.top-news {
  padding-block: 6rem 10rem;
}
@media (max-width: 767.98px) {
  .top-news {
    padding-block: 4.8rem;
  }
}
.top-news-inner {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
.top-news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-news .news-list {
  margin-top: 2rem;
}
.news-head {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.news-time {
  font-size: 14px;
  opacity: 0.5;
  font-family: var(--font-family-alex);
  flex-shrink: 0;
  margin-top: 0.3rem;
}
@media (max-width: 767.98px) {
  .news-time {
    font-size: 12px;
  }
}
.news-title {
  padding-bottom: 2rem;
  border-bottom: solid 1px var(--primary);
  margin-bottom: 3rem;
}
.news-editor *:first-child {
  margin-top: 0;
}
.news-editor :where(h2) {
  margin-block: 3rem 1.5rem;
  font-size: 20px;
  font-weight: 500;
}
.news-editor :where(h3) {
  margin-block: 3rem 1.5rem;
  font-size: 18px;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .news-editor :where(h2) {
    font-size: 16px;
  }
  .news-editor p {
    font-size: 14px;
  }
}
.card-news .news-item {
  position: static;
  display: block;
  align-items: unset;
  padding: 1rem 0;
  padding-inline: 0;
  border-bottom: 2px dotted #bdbdbd;
  gap: unset;
  transition: none;
}
@media (min-width: 992px) {
  .card-news .news-item {
    display: flex;
  }
}
@media (hover: hover) {
  .card-news .news-item:hover {
    border-color: #bdbdbd;
  }
}
.news-date,
.top-news-date {
  width: 18%;
  padding-right: 1rem;
  color: var(--primary);
}
@media (max-width: 991.98px) {
  .news-date,
  .top-news-date {
    width: 100%;
  }
}
.news-sentence {
  width: calc(100% - 18% - 1rem);
  color: var(--font-color);
}
.top-news-sentence {
  width: calc(82% - 1rem);
  color: var(--font-color);
}
@media (max-width: 991.98px) {
  .news-sentence,
  .top-news-sentence {
    width: 100%;
  }
}

.top-voice {
  padding-block: 7rem;
}
@media (max-width: 767.98px) {
  .top-voice {
    padding-block: 4.8rem;
  }
}
.top-voice-heading-wrap {
  padding-inline: max(2rem, calc(50vw - 59rem));
  margin-bottom: 3rem;
}
@media (max-width: 767.98px) {
  .top-voice-heading-wrap {
    padding-inline: 2rem;
    margin-bottom: 2rem;
  }
}
.top-voice-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .top-voice-heading {
    flex-direction: column;
    align-items: flex-start;
  }
}
.top-voice-list {
  position: relative;
  padding-inline: max(2rem, calc(50vw - 59rem));
  padding-bottom: 6rem;
  opacity: 0;
  transition: opacity 0.3s;
}
@media (max-width: 767.98px) {
  .top-voice-list {
    padding-inline: 2rem;
    padding-bottom: 4rem;
  }
}
.top-voice-list.is-active {
  opacity: 1;
}
.top-voice-list .swiper-slide {
  width: 49rem;
  padding-inline: 1.5rem;
  height: auto;
}
.top-voice-list .swiper-slide:first-child {
  padding-left: 0;
}
@media (max-width: 767.98px) {
  .top-voice-list .swiper-slide {
    width: 34.1rem;
    padding-inline: 1.2rem;
  }
  .top-voice-list .swiper-slide:first-child {
    padding-left: 1.2rem;
  }
}
.top-voice-list-arrow {
  position: absolute;
  top: 50%;
  z-index: 11;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1 / 1;
  padding: 0;
  padding-left: 0.2rem;
  background-color: var(--primary);
  border: none;
  border-radius: 100%;
  cursor: pointer;
  transform: translate(0, -50%);
  transition: opacity 0.3s;
}
.top-voice-list-arrow svg {
  display: block;
  width: 0.9rem;
}
@media (hover: hover) {
  .top-voice-list-arrow:hover {
    opacity: 0.7;
  }
}
.top-voice-list-arrow.swiper-button-disabled,
.top-voice-list-arrow[hidden] {
  display: none;
}
@media (max-width: 767.98px) {
  .top-voice-list-arrow {
    top: calc((100% - 4rem) / 2);
    width: 4rem;
  }
}
.top-voice-list-arrow--prev {
  left: max(4rem, calc(50vw - 70rem));
  transform: translate(0, -50%) rotate(180deg);
}
@media (max-width: 767.98px) {
  .top-voice-list-arrow--prev {
    left: 1rem;
  }
}
.top-voice-list-arrow--next {
  right: max(4rem, calc(50vw - 70rem));
}
@media (max-width: 767.98px) {
  .top-voice-list-arrow--next {
    right: 1rem;
  }
}
.top-voice-list-progress {
  width: 27rem !important;
  top: auto !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translate(-50%, 0);
  overflow: hidden;
  border-radius: 1rem;
  --swiper-pagination-progressbar-bg-color: #D9D9D9;
  --swiper-pagination-progressbar-size: 0.8rem;
  --swiper-pagination-color: var(--primary);
}
@media (max-width: 767.98px) {
  .top-voice-list-progress {
    --swiper-pagination-progressbar-size: 0.5rem;
    bottom: 2rem !important;
  }
}
.top-voice-list-progress .swiper-pagination-progressbar-fill {
  border-radius: 1rem;
  overflow: hidden;
  display: block;
}
.top-voice-archive-link {
  text-align: center;
  margin-top: 4rem;
}
.top-voice-card {
  position: relative;
  border: solid 1px var(--primary);
  border-radius: 0.6rem;
  padding: 2rem 2.5rem;
  background-color: white;
  height: 100%;
}
@media (max-width: 767.98px) {
  .top-voice-card {
    padding: 1.8rem;
  }
}
@media (hover: hover) {
  .top-voice-card:hover .top-voice-card__more .link-angle__angle img {
    transform: translate(1rem, 0.1rem);
  }
}
.top-voice-card__head {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 767.98px) {
  .top-voice-card__head {
    gap: 1.2rem;
    margin-bottom: 1.6rem;
  }
}
.top-voice-card__thumb {
  width: 8.8rem;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  overflow: hidden;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .top-voice-card__thumb {
    width: 7.2rem;
  }
}
.top-voice-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-voice-card__head-desc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  flex: 1;
  min-width: 0;
}
.top-voice-card__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 1.6rem;
  background-color: var(--primary);
  border-radius: 0.6rem;
  color: white;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
}
.top-voice-card__person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.top-voice-card__name {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .top-voice-card__name {
    font-size: 20px;
  }
}
.top-voice-card__divider {
  display: block;
  width: 1px;
  height: 2rem;
  padding-top: 0.2rem;
  background-color: #CCCCCC;
  flex-shrink: 0;
  transform: translateY(2px);
}
@media (max-width: 767.98px) {
  .top-voice-card__divider {
    height: 1.6rem;
  }
}
.top-voice-card__profile {
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 0;
  padding-top: 0.2rem;
  line-height: 1;
  transform: translateY(2px);
}
.top-voice-card__headline {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1.6rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .top-voice-card__headline {
    font-size: 16px;
    margin-bottom: 1.2rem;
  }
}
.top-voice-card__excerpt {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.7;
  min-height: calc(14px * 1.7 * 3);
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.top-voice-card__more {
  margin-top: 2.4rem;
  text-align: right;
}
@media (max-width: 767.98px) {
  .top-voice-card__more {
    margin-top: 1.6rem;
  }
}
.top-voice-card__more .link-angle {
  color: var(--primary);
}
ul.post-ul {
  list-style: disc;
  padding-inline-start: 20px;
}
a.post-link {
  text-decoration: underline;
}
.flow {
  display: flex;
  margin: 1rem 0;
}
.flow-item {
  display: flex;
  align-items: center;
}
.flow-item i {
  color: var(--primary);
  margin: 0.5rem;
}
.flow-step {
  background: var(--primary-light);
  border-radius: 0.5rem;
  padding: 1rem;
  height: 100%;
}
.flow-vertical {
  flex-direction: row;
  justify-content: center;
}
.flow-horizontal {
  flex-direction: column;
}
@media (min-width: 992px) {
  .flow-horizontal .flow-step {
    width: 70%;
    max-width: 600px;
  }
}
.flow-horizontal .flow-item {
  flex-direction: column;
}
@media (min-width: 992px) {
  .flow .vertical-write {
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
@media (max-width: 991.98px) {
  .flow-vertical {
    flex-direction: column;
  }
  .flow-vertical .flow-item {
    flex-direction: column;
  }
  .flow-vertical i {
    transform: rotate(90deg);
  }
  .flow-step {
    width: 100%;
  }
}
.faq {
  padding: 20px 0;
  border-bottom: 2px dotted var(--primary);
}
.faq-q-item {
  color: var(--primary);
  font-size: 16px;
  font-weight: 700;
  display: flex;
}
.faq-q {
  font-size: 48px;
  font-weight: bold;
  opacity: 0.6;
  width: 50px;
  line-height: 1;
}
.faq-q-text {
  width: calc(100% - 50px);
  margin-top: 20px;
}
.faq-a-item {
  display: flex;
}
.faq-a {
  font-size: 48px;
  font-weight: bold;
  opacity: 0.6;
  color: var(--danger);
  width: 50px;
  line-height: 1;
  padding-left: 4px;
}
.faq-a-text {
  width: calc(100% - 50px);
  margin-top: 20px;
}
.lp-footer {
  background-color: var(--white);
  padding: 20px 30px;
}
.lp-footer img {
  height: 40px;
}
@media (max-width: 1199.98px) {
  .lp-footer-submenu {
    padding: 12px 0;
  }
}
@media (min-width: 992px) {
  .lp-footer-submenu {
    margin-left: 60px;
  }
}
.lp-footer-submenu a {
  color: #666;
  word-break: keep-all;
  display: inline-block;
}
@media (max-width: 991.98px) {
  .lp-footer #pagetop {
    bottom: -16px;
  }
}
.lp-copy {
  padding-top: 1rem;
}
@media (min-width: 576px) {
  .lp-copy {
    width: 510px;
  }
}
@media (min-width: 768px) {
  .lp-copy {
    width: 700px;
    padding-top: 40px;
    padding-bottom: 24px;
    margin: 0 auto;
    text-align: center;
  }
}
.lp-copy img {
  width: 26%;
}
.lp-copy span {
  font-weight: 700;
  font-size: 14px;
  font-size: 3.7333333333vw;
}
@media (min-width: 576px) {
  .lp-copy span {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .lp-copy span {
    font-size: 24px;
  }
}
.card-lp {
  padding: 16px;
}
@media (min-width: 768px) {
  .card-lp {
    width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .card-lp {
    padding-left: 100px;
    padding-right: 100px;
  }
}
.lp-step {
  display: flex;
  justify-content: center;
  padding-bottom: 16px;
  margin-bottom: 30px;
  border-bottom: 2px dotted #bdbdbd;
}
@media (min-width: 768px) {
  .lp-step {
    padding-bottom: 30px;
  }
}
.lp-step i {
  color: #bdbdbd;
  margin: 0 12px;
}
@media (min-width: 768px) {
  .lp-step i {
    margin-top: 4px;
  }
}
.lp-step-item {
  position: relative;
  padding-bottom: 6px;
}
.lp-step-item p {
  color: #bdbdbd;
  text-align: center;
  font-weight: 700;
  margin-bottom: 4px;
}
.lp-step-item.active p {
  color: var(--primary);
}
.lp-step-item.active::after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 3px;
  background: var(--primary);
  position: absolute;
  bottom: 0;
  left: 0;
}
.lp-form-page {
  position: fixed;
  visibility: hidden;
  opacity: 0;
}
.lp-form-page.current {
  position: static;
  visibility: visible;
  opacity: 1;
}
.lp-form-name {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.lp-form-name .required, .lp-form-name .optional {
  margin-right: 8px;
}
.lp-form-name p {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 0;
}
.lp-form-btn {
  display: flex;
  align-items: center;
  position: relative;
  justify-content: flex-end;
  margin-top: 16px;
}
@media (min-width: 576px) {
  .lp-form-btn {
    justify-content: center;
  }
}
.lp-form-btn .btn {
  min-width: 55%;
  padding: 0.375rem 1rem;
}
.lp-form-btn .lp-prev {
  border: 0;
  background-color: transparent;
  position: absolute;
  left: 0;
  color: #666;
  padding-top: 8px;
  padding-bottom: 8px;
}
.lp-form-check {
  list-style: none;
  padding-inline-start: 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
}
.lp-form-check li {
  width: calc(50% - 5px);
  margin: 0 8px 8px 0;
}
@media (max-width: 991.98px) {
  .lp-form-check li {
    width: calc(50% - 4px);
  }
  .lp-form-check li:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .lp-form-check li {
    width: calc(33% - 5.334px);
  }
  .lp-form-check li:nth-child(3n) {
    margin-right: 0;
  }
}
.lp-form-check input[type="checkbox"] + label, .lp-form-check input[type="radio"] + label {
  display: flex;
  align-items: center;
  width: 100%;
  border: 2px solid #bdbdbd;
  border-radius: 0.5rem;
  padding: 8px;
  margin-bottom: 0;
  letter-spacing: -0.3px;
  cursor: pointer;
}
.lp-form-check input[type="checkbox"] + label i, .lp-form-check input[type="radio"] + label i {
  color: #bdbdbd;
  margin-right: 4px;
}
.lp-form-check input[type="checkbox"] + label span, .lp-form-check input[type="radio"] + label span {
  color: #666;
}
.lp-form-check input[type="checkbox"]:checked + label, .lp-form-check input[type="radio"]:checked + label {
  border: 2px solid var(--primary);
  background-color: var(--primary-light);
}
.lp-form-check input[type="checkbox"]:checked + label i, .lp-form-check input[type="checkbox"]:checked + label span, .lp-form-check input[type="radio"]:checked + label i, .lp-form-check input[type="radio"]:checked + label span {
  color: var(--primary);
}
.lp-form-input {
  display: flex;
  justify-content: space-between;
}
.lp-form-input .form-group-half {
  width: 49%;
}
.post-list {
  margin-bottom: 40px;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .post-list {
    width: calc(50% - (20px /2));
    margin-right: 20px;
  }
  .post-list:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 992px) {
  .post-list {
    width: calc(33.333% - (40px / 3));
    margin-right: 20px;
  }
  .post-list:nth-child(3n) {
    margin-right: 0;
  }
}
.post-list-img {
  border-radius: 0.5rem;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1.3333333333;
  background: var(--white);
}
.post-list-title {
  margin: 0.5rem 0;
  font-size: 16px;
  font-weight: bold;
}
.post-list-sentence {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 0;
}
.post-list a {
  color: #333;
}
.post-list a:hover, .post-list a:focus {
  text-decoration: none;
  color: var(--primary);
}
.card-reason {
  position: relative;
  overflow: visible;
  width: 100%;
}
@media (max-width: 991.98px) {
  .card-reason {
    margin: 60px auto;
  }
}
@media (min-width: 768px) {
  .card-reason {
    margin-top: 100px;
    padding: 60px;
  }
}
@media (min-width: 992px) {
  .card-reason {
    padding: 60px 100px;
  }
}
.card-reason .reason-num {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  color: var(--primary);
  opacity: 0.3;
  z-index: 10;
  position: absolute;
  top: -38px;
  left: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .card-reason .reason-num {
    font-size: 60px;
    top: -56px;
  }
}
.card-reason .reason-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 991.98px) {
  .card-reason .reason-item {
    flex-direction: column;
  }
}
.card-reason .reason-content {
  width: 100%;
}
@media (min-width: 768px) {
  .card-reason .reason-content {
    width: 50%;
  }
}
.card-reason .reason-content p {
  font-size: 28px;
}
.card-reason .reason-img {
  width: 100%;
}
@media (min-width: 768px) {
  .card-reason .reason-img {
    width: 45%;
  }
}
.card-reason .reason-sentence {
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 992px) {
  .mypage-h1 {
    width: 72%;
  }
}
@media (max-width: 991.98px) {
  .mypage-side-column {
    display: none;
  }
}
@media (min-width: 992px) {
  .mypage-side-column {
    margin: 122px 0 0;
  }
}
.mypage-side-column .sidenav {
  border-radius: 0.5rem;
}
@media (min-width: 992px) {
  .mypage-side-column .sidenav {
    position: relative;
    margin-right: 2rem;
    word-wrap: break-word;
    background: var(--white);
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.12);
  }
}
.mypage-side-column .sidenav-item {
  position: relative;
  vertical-align: middle;
  color: var(--primary);
  font-size: 10px;
  border-radius: 0;
}
.mypage-side-column .sidenav-item:focus {
  box-shadow: none;
}
.mypage-side-column .sidenav-item:hover, .mypage-side-column .sidenav-item:focus {
  opacity: 0.8;
}
@media (min-width: 992px) {
  .mypage-side-column .sidenav-item {
    width: 100%;
    padding: 10px 30px 10px 15px;
    text-align: left;
  }
  .mypage-side-column .sidenav-item:first-of-type {
    border-radius: 0.5rem 0.5rem 0 0;
  }
  .mypage-side-column .sidenav-item:last-of-type {
    border-radius: 0 0 0.5rem 0.5rem;
  }
  .mypage-side-column .sidenav-item::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 1rem;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-top: 3px solid var(--primary);
    border-right: 3px solid var(--primary);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .mypage-side-column .sidenav-item:not(:last-of-type) {
    border-bottom: 1px solid #999;
  }
  .mypage-side-column .sidenav-item:hover {
    color: var(--primary);
    text-decoration: none;
  }
}
.application-form {
  font-size: 16px;
}
.application-form h3 {
  font-size: 20px;
}
.application-form h3 span {
  font-size: 16px;
}
.application-form p {
  margin: 0;
  line-height: 1.6;
}
.application-form .cost .cost-table th {
  padding: 10px;
  border: 1px solid #bdbdbd !important;
}
.application-form .cost .cost-table td {
  padding: 10px;
  border: 1px solid #bdbdbd !important;
}
.application-form .cost .cost-table-pc {
  display: none;
}
@media (min-width: 768px) {
  .application-form .cost .cost-table-pc {
    display: inline-block;
  }
}
.application-form .cost .cost-table-pc tbody th {
  font-weight: normal;
  background-color: #e9ecef;
}
@media (min-width: 768px) {
  .application-form .cost .cost-table-sp {
    display: none;
  }
}
.application-form .cost .cost-table-sp th {
  font-weight: normal;
  background-color: #e9ecef;
}
.application-form .cost .cost-table-sp tbody th {
  background-color: #f8f8f8;
}
.application-form .cost .item-name {
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .application-form .cost .item-name {
    width: 114px;
  }
}
@media (min-width: 992px) {
  .application-form .cost .item-name {
    margin-bottom: 0;
  }
}
.application-form .cost .form-group {
  padding: 0 10px 0;
}
.application-form .cost .form-check {
  padding: 0;
}
@media (min-width: 992px) {
  .application-form .cost .form-check {
    padding-left: 1.25rem;
  }
}
.application-form .cost .form-check-input[type=radio] + label {
  padding-left: 24px;
}
.application-form .cost label {
  margin: 0;
}
.application-form .cost .form-control {
  width: 100%;
}
@media (min-width: 992px) {
  .application-form .cost .form-control {
    width: 400px;
  }
}
.application-form .note {
  font-size: 14px;
}
@media (max-width: 992px) {
  .back-my-page-only-btn-block {
    width: 100% !important;
  }
}
.footer-table td {
  height: 30px;
}
.display-none {
  display: none !important;
}

.breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.6rem 1.2rem;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 0;
  margin-bottom: 1.6rem;
  background-color: transparent;
}
.breadcrumb-item {
  flex: 0 0 auto;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-left: 0;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: none;
}
.breadcrumb-item::after {
  content: "";
  display: block;
  width: 0.7rem;
  height: 1.1rem;
  margin-top: 0.2rem;  
  background-image: url(../general/img/common/ic-angle-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.4;
}
.breadcrumb-item [itemprop="name"] {
  opacity: 0.4;
  transition: opacity 0.4s;
}
.breadcrumb-item a {
  font-weight: 400;
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .breadcrumb-item a:hover [itemprop="name"] {
    opacity: 1;
  }
}
.breadcrumb-item.active {
  color: inherit;
}
.breadcrumb-item.active [itemprop="name"] {
  opacity: 0.4;
}
.breadcrumb-item:last-of-type::after {
  display: none;
}
@media (max-width: 991.98px) {
  .breadcrumb{
    padding-bottom: 1rem;
  }
}
.search-submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 32rem;
  min-height: 4.5rem;
  padding: 0.5rem 2.6rem;
}
.search-results-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
.search-results-count {
  font-size: 16px;
  color: var(--navy);
  font-weight: 700;
  margin: 0;
  padding: 6rem 1.6rem;
  text-align: center;
}
.search-results-meta {
  margin: 0.4rem 0 0;
  font-size: 12px;
  color: var(--gray-blue);
}
.search-results-actions {
  flex-shrink: 0;
}
.search-results-list {
  margin-top: 1.6rem;
}




.top-location-search {
  padding-block: 6rem;
}
@media (max-width: 767.98px) {
  .top-location-search {
    padding-block: 4rem;
  }
}
.top-location-search__heading {
  margin: 0 0 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--font-color);
}
@media (max-width: 767.98px) {
  .top-location-search__heading {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
.top-location-search__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 6rem;
  row-gap: 3.5rem;
}
@media (max-width: 767.98px) {
  .top-location-search__grid {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }
}
.top-location-search__area-name {
  margin: 0 0 1.2rem;
  padding-bottom: 0.8rem;
  font-size: 16px;
  font-weight: 500;
  color: var(--font-color);
  border-bottom: 1px solid #d9d9d9;
}
.top-location-search__pref-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.top-location-search__pref-link {
  font-size: 14px;
  color: var(--primary);
  text-decoration: none;
}
.top-location-search__pref-link:hover,
.top-location-search__pref-link:focus {
  color: var(--primary-darken-15);
  text-decoration: underline;
}

@keyframes lp-step-form-button-flash {
  0% {
    transform: translate(0, -50%) rotate(45deg);
  }
  50%, 100% {
    transform: translate(80rem, -50%) rotate(45deg);
  }
}

/* LP contact (/lp/register/) */
body.page-lp-contact {
  --lp-control-min-height: 47px;
  --lp-control-radius: 6px;
  --lp-control-padding: 15px;
  --lp-control-border: 1px solid var(--primary);
  padding-top: var(--environment-ribbon-height);
  background-color: var(--soft-blue);
}

/* --- Layout --- */
header.lp-contact-header {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  z-index: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  max-width: none;
  height: 11rem;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: var(--soft-blue);
  flex-shrink: 0;
}
.lp-contact-header-logo {
  display: flex;
  align-items: center;
  width: 20rem;
}
.lp-contact-header-logo img {
  width: 100%;
  height: auto;
}
.lp-contact-header-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--font-color);
}
body.page-lp-contact #wrapper {
  width: 100%;
  background: linear-gradient(to bottom, var(--blue-gradient-start), var(--blue-gradient-end) 36rem);
}
main.subpage.subpage--lp-contact-form,
main.subpage.subpage--lp-contact-head {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
}
main.subpage.subpage--lp-contact-form .subpage-wrapper,
main.subpage.subpage--lp-contact-head .subpage-wrapper {
  padding-top: 0;
  padding-bottom: 10rem;
}
main.subpage.subpage--lp-contact-head .subpage-wrapper--with-breadcrumb {
  padding-top: 2.7rem;
}
main.subpage.subpage--lp-contact-form .subpage-main,
main.subpage.subpage--lp-contact-head .subpage-main {
  margin-top: 0;
}
main.subpage.subpage--lp-contact-head .subpage-head {
  min-height: 13rem;
  padding: 5rem 0;
}
.page-lp-contact .lp-step-form {
  width: 400px;
  max-width: 100%;
  margin-inline: auto;
  padding-top: 5rem;
}

/* --- Step chrome --- */
.lp-step-form-head {
  margin-bottom: 2rem;
  text-align: center;
}
.lp-step-form-head--entry {
  margin-bottom: 0;
}
.lp-job-apply-head {
  width: 60rem;
  max-width: 100%;
  margin: 0 auto 2rem;
  text-align: center;
  line-height: 2.2;
  color: var(--font-color);
}
.lp-job-apply-head-name {
  display: inline;
  border-bottom: solid 2px var(--primary);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
.lp-job-apply-head-thanks {
  font-size: 16px;
  font-weight: 700;
}
.lp-job-apply-desc {
  margin: 0 0 4rem;
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
  color: var(--font-color);
}
.lp-step-form-bubble {
  font-size: 24px;
  line-height: 1.4;
  color: var(--font-color);
}
.lp-step-form-bubble::before,
.lp-step-form-bubble::after {
  display: inline-block;
  width: 1.8rem;
  height: 2px;
  margin-bottom: 0.5rem;
  background-color: var(--primary);
  content: "";
}
.lp-step-form-bubble::before {
  transform: rotate(45deg);
}
.lp-step-form-bubble::after {
  transform: rotate(-45deg);
}
.lp-step-form-bubble-accent {
  display: inline-block;
  color: var(--primary);
  padding-left: 0.2rem;
}
.lp-step-form-title.heading-h1 {
  margin-top: 0;
  margin-bottom: 0;
}
.lp-step-form-title.heading-h1 span {
  font-size: 30px;
  font-weight: 700;
}
.lp-step-form-intro {
  margin-bottom: 5rem;
  text-align: center;
  line-height: 1.8;
  color: var(--font-color);
}
.lp-step-form-step-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.lp-step-form-step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  background-color: var(--gray-medium);
  color: var(--white);
  font-size: 24px;
  font-family: var(--font-family-alex);
  transition: background-color 0.3s;
}
.lp-step-form-step.is-current,
.lp-step-form-step-bar.is-current {
  background-color: var(--primary);
}
.lp-step-form-step-bar {
  width: 2rem;
  height: 2px;
  background-color: var(--gray-medium);
  transition: background-color 0.3s;
}
.lp-step-form-container {
  margin-top: 4rem;
}

/* --- Shien character (moves with selection) --- */
.lp-step-form-shien {
  position: relative;
}
.lp-step-form-shien-character {
  position: absolute;
  top: 3rem;
  right: -1.5rem;
  display: block;
  width: 8rem;
  height: 7rem;
  background-image: url(/general/img/common/shien.gif);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  z-index: 10;
  pointer-events: none;
  visibility: hidden;
}
.lp-step-form-shien-character.is-ready {
  visibility: visible;
  transition: top 0.3s, transform 0.3s;
}
.lp-step-form-shien-character.is-at-end {
  top: 100%;
  transform: none;
}
.lp-step-form-submit-shien {
  position: relative;
  width: 100%;
}
.lp-step-form-shien-character--confirm {
  top: auto;
  bottom: calc(100% - 28px);
  transform: none;
  visibility: visible;
}
.lp-step-form-section-lock {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 13px;
}
.lp-step-form-section-lock::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 11px;
  margin-right: 5px;
  background-image: url(/general/img/common/ic-lock.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}
.page-lp-contact .lp-step-form-section-title {
  margin-top: 0;
  margin-bottom: 3rem;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}

/* --- Form fields --- */
.lp-step-form-field {
  margin-bottom: 3rem;
}
.lp-step-form-field-label {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 3rem;
  text-align: center;
}
.lp-step-form-field-label label {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 700;
}
.lp-step-form-field-label .lp-step-form-field-note {
  display: block;
  font-size: 14px;
}
.lp-step-form-field-label .required,
.lp-step-form-field-label .optional {
  flex-shrink: 0;
}
.lp-step-form-field--input {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.lp-step-form-field--input .form-control-group {
  width: 100%;
}
.lp-step-form-field-label--input {
  justify-content: flex-start;
  margin-bottom: 0;
  text-align: left;
  width: 100%;
}
.lp-step-form-field-label--input label {
  font-size: 16px;
}
.page-lp-contact .lp-form .form-control {
  font-size: 17px;
  font-weight: 500;
  height: auto;
  min-height: var(--lp-control-min-height);
  padding: var(--lp-control-padding);
  border-radius: var(--lp-control-radius);
  border: var(--lp-control-border);
  background-color: var(--white);
  width: 100%;
  box-sizing: border-box;
}
.page-lp-contact .lp-form .form-control::placeholder {
  color: var(--gray);
}
.page-lp-contact .lp-form select.form-control {
  width: 100%;
  padding-right: 40px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.page-lp-contact .lp-form select.form-control option {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
.lp-step-form-select-wrapper {
  position: relative;
  width: 100%;
}
.page-lp-contact .lp-step-form-select-wrapper::after {
  content: "";
  display: block;
  width: 8px;
  height: 16px;
  background-image: url(/general/img/top/ic-angle-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%) rotate(90deg);
  pointer-events: none;
}
.lp-step-form-birthday {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.lp-step-form-birthday-item {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 0;
  min-width: 0;
}
.lp-step-form-birthday-item > span {
  flex: 0 0 auto;
}
.page-lp-contact .lp-step-form-field--input .form-control-group.lp-step-form-birthday-group {
  align-self: stretch;
}
.page-lp-contact .lp-step-form-birthday .lp-step-form-select-wrapper {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}
.page-lp-contact .lp-step-form-birthday .lp-step-form-select-wrapper select.form-control {
  padding-right: 30px;
}
.lp-step-form-birthday-group {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.lp-step-form-field-errors {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  margin-top: 10px;
}
.page-lp-contact .lp-step-form-field-error,
.page-lp-contact .lp-step-form-field .invalid-feedback .alert-danger {
  margin: 0;
  padding: 0.2rem 0 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  font-size: 16px;
  color: var(--accent-red);
}
.page-lp-contact .lp-step-form-field .invalid-feedback:has(.alert-danger) {
  display: block;
  width: 100%;
  margin-top: 10px;
}

/* --- Validation (error text only; no invalid control coloring) --- */
.page-lp-contact .lp-form .form-control.is-invalid,
.page-lp-contact .was-validated .lp-form .form-control:invalid,
.page-lp-contact .lp-form .form-control.is-invalid:focus,
.page-lp-contact .was-validated .lp-form .form-control:invalid:focus {
  border: var(--lp-control-border);
  background-image: none;
  background-color: var(--white);
  box-shadow: none;
}
.page-lp-contact .lp-form select.form-control.is-invalid,
.page-lp-contact .was-validated .lp-form select.form-control:invalid {
  padding-right: 40px;
}
.page-lp-contact .lp-form textarea.form-control.is-invalid,
.page-lp-contact .was-validated .lp-form textarea.form-control:invalid {
  padding-right: var(--lp-control-padding);
  background-position: initial;
}

/* --- Options --- */
.lp-step-form-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  margin: 0;
  padding: 0;
}
.lp-step-form-options .lp-step-form-option-item {
  position: relative;
  width: auto;
  margin: 0;
  padding: 0;
}
.lp-step-form-options .lp-step-form-option-item--full {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  max-width: 100%;
  margin-right: 0;
}
.lp-step-form-option-item--full .lp-step-form-option-label {
  flex: 1;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: 84px;
  min-height: 84px;
  padding: 0 12px;
  box-sizing: border-box;
}
.lp-step-form-option-item--full .lp-step-form-option-icon {
  width: 100px;
  height: 58px;
  flex-shrink: 0;
}
.lp-step-form-option-item--full .free-registration-option-icon {
  width: 100px;
  height: 58px;
  max-height: 58px;
  object-fit: contain;
}
.lp-step-form-options .form-check-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  opacity: 0;
}
.lp-step-form-options .form-check-input[type="radio"] + .lp-step-form-option-label,
.lp-step-form-options .form-check-input[type="checkbox"] + .lp-step-form-option-label {
  padding-left: 1rem;
}
.lp-step-form-options .form-check-input[type="radio"] + .lp-step-form-option-label::before,
.lp-step-form-options .form-check-input[type="radio"] + .lp-step-form-option-label::after,
.lp-step-form-options .form-check-input[type="checkbox"] + .lp-step-form-option-label::before,
.lp-step-form-options .form-check-input[type="checkbox"] + .lp-step-form-option-label::after {
  display: none;
  content: none;
}
.lp-step-form-option-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 1.5rem 1rem;
  border: var(--lp-control-border);
  border-radius: 0.6rem;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
}
.lp-step-form-option-label span {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--dark-gray);
}
.lp-step-form-option-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6rem;
}
.lp-step-form-option-label .free-registration-option-icon {
  display: block;
  width: 10rem;
  max-width: 100%;
  height: auto;
  max-height: 5.8rem;
  object-fit: contain;
}
.lp-step-form-option-label .free-registration-option-icon[src*="U_013430"] {
  width: 12rem;
  max-height: 7rem;
}
.lp-step-form-option-item:has(.form-check-input:checked) .lp-step-form-option-label {
  background-color: var(--highlight-blue);
}
@media (hover: hover) {
  .lp-step-form-option-item:not(:has(.form-check-input:checked)) .lp-step-form-option-label:hover {
    border-color: var(--accent-red);
  }
  .lp-step-form-option-item:has(.form-check-input:checked) .lp-step-form-option-label:hover {
    opacity: 0.8;
  }
}

/* --- Actions --- */
.lp-step-form-accept {
  margin-top: 2rem;
  text-align: center;
}
.lp-step-form-accept .form-group {
  margin-bottom: 0;
}
.lp-step-form-policy-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
  font-size: 14px;
}
.lp-step-form-policy-links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--font-color);
  text-decoration: none;
}
.lp-step-form-policy-links img {
  flex-shrink: 0;
}
.lp-step-form-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 5rem;
}
.page-lp-contact .lp-step-form-field:has(+ .lp-step-form-actions) {
  margin-bottom: 0;
}
.lp-step-form-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28.3rem;
  max-width: 100%;
  min-height: 5.2rem;
  margin-inline: auto;
  padding: 0.8rem 2rem;
  border-radius: 5rem;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.lp-step-form-next-inner {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 1;
}
.lp-step-form-prev-inner {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
}
.lp-step-form-next-text,
.lp-step-form-prev-text {
  line-height: 1;
}
.lp-step-form-prev-text {
  font-size: 13px;
}
.lp-step-form-next-angle,
.lp-step-form-prev-angle {
  display: inline-flex;
  flex-shrink: 0;
}
.lp-step-form-next-angle--spacer,
.lp-step-form-prev-angle--spacer {
  visibility: hidden;
}
.lp-step-form-prev-angle {
  transform: rotateY(180deg);
}
@media (hover: hover) {
  .lp-step-form-next.btn-primary:hover,
  .lp-step-form-next.btn-primary:focus,
  .lp-step-form-next.btn-primary:active,
  .lp-step-form-next.btn-primary:not(:disabled):not(.disabled):active {
    color: var(--btn-color);
    background-color: var(--primary);
    border-color: var(--primary);
    box-shadow: none;
  }
}
.lp-step-form-next::before {
  display: block;
  width: 20rem;
  height: 50rem;
  background: linear-gradient(to right, transparent, var(--white));
  opacity: 0.4;
  position: absolute;
  top: 50%;
  left: -40rem;
  z-index: -1;
  transform: translate(0, -50%) rotate(45deg);
  animation: lp-step-form-button-flash 2s infinite;
  content: "";
}
.lp-step-form-next-angle img {
  filter: brightness(0) invert(1);
}
.lp-step-form-submit {
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  min-height: 9rem;
  padding: 0.8rem 4rem 0.8rem 2rem;
}
.lp-step-form-submit-sub {
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
}
.lp-step-form-submit-main {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.lp-step-form-submit .lp-step-form-next-angle {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
}
.lp-step-form-prev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--font-color);
  font-size: 16px;
  font-weight: 500;
}

/* --- Confirm --- */
.page-lp-contact .lp-step-form-confirm .lp-step-form-field-label {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-bottom: 0;
  padding: 8px 16px;
  text-align: left;
  background-color: var(--light-blue);
}
.page-lp-contact .lp-step-form-confirm .lp-step-form-field-label label {
  font-size: 16px;
  font-weight: 500;
}
.page-lp-contact .lp-step-form-confirm .lp-step-form-field-label .lp-step-form-field-note {
  display: none;
}
.page-lp-contact .lp-step-form-confirm .lp-step-form-field {
  margin-bottom: 2rem;
}
.page-lp-contact .lp-step-form-confirm .form-control-confirm {
  width: 100%;
  margin: 12px 0 0 16px;
}
.page-lp-contact .lp-step-form-confirm .lp-step-form-confirm-empty {
  color: var(--gray);
  font-size: 16px;
}

/* --- Thanks --- */
.lp-thanks-text {
  margin-top: 5rem;
  text-align: center;
  line-height: 1.8;
  color: var(--font-color);
}
.lp-thanks-text--error a {
  color: var(--primary);
}
.lp-thanks-button-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  width: 70rem;
  max-width: 100%;
  margin-top: 4rem;
  margin-inline: auto;
}
.lp-thanks-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 10rem;
  border-radius: 1rem;
  border: solid 1px var(--gray-2);
  text-decoration: none;
  color: var(--font-color);
  transition: border-color 0.3s;
}
.lp-thanks-button-heading {
  font-size: 14px;
  line-height: 1.4;
}
.lp-thanks-button-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.lp-thanks-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  margin-top: 0.5rem;
}
.lp-thanks-button-icon img {
  width: 100%;
  height: auto;
}
.lp-thanks-button-text {
  font-size: 20px;
  line-height: 1.4;
}
@media (hover: hover) {
  .lp-thanks-button:hover {
    border-color: var(--primary);
  }
}
.lp-thanks-top-wrap {
  margin-top: 2.4rem;
}
.lp-thanks-top-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  font-size: 15px;
  color: var(--primary);
  text-decoration: none;
  transition: opacity 0.3s;
}
.lp-thanks-top-link img {
  width: 0.8rem;
  transform: rotate(180deg);
}
@media (hover: hover) {
  .lp-thanks-top-link:hover {
    opacity: 0.6;
    color: var(--primary);
    text-decoration: none;
  }
}

/* --- Footer --- */
.lp-footer--contact {
  margin: 0;
  padding: 4rem 2rem 5rem;
  text-align: center;
}
.lp-footer-copyright {
  margin: 0;
  font-size: 13px;
  color: var(--font-color);
}

/* --- SP --- */
@media (max-width: 767.98px) {
  header.lp-contact-header {
    height: 7rem;
    padding-inline: 1.6rem;
  }
  .lp-contact-header-logo {
    width: 10.5rem;
  }
  .lp-contact-header-text {
    font-size: 1.1rem;
  }
  main.subpage.subpage--lp-contact-form .subpage-wrapper {
    padding-inline: 0;
    padding-bottom: 5rem;
  }
  main.subpage.subpage--lp-contact-head .subpage-wrapper {
    padding-inline: 0;
    padding-bottom: 2rem;
  }
  main.subpage.subpage--lp-contact-form .subpage-main,
  main.subpage.subpage--lp-contact-head .subpage-main {
    padding-inline: 1.6rem;
  }
  main.subpage.subpage--lp-contact-head .subpage-wrapper--with-breadcrumb .breadcrumb {
    padding-inline: 1.6rem;
  }
  main.subpage.subpage--lp-contact-head .lp-step-form {
    padding-top: 3rem;
  }
  main.subpage.subpage--lp-contact-head .subpage-head {
    min-height: 10rem;
    padding: 2rem 0;
  }
  .lp-step-form-bubble {
    font-size: 20px;
  }
  .lp-job-apply-head-name {
    font-size: 18px;
  }
  .lp-job-apply-head-thanks {
    font-size: 14px;
  }
  .lp-job-apply-desc {
    margin-bottom: 3rem;
    font-size: 14px;
  }
  .lp-step-form-title.heading-h1 span {
    font-size: 24px;
  }
  .lp-step-form-intro {
    margin-bottom: 3rem;
    font-size: 15px;
  }
  .lp-step-form-step {
    width: 3rem;
    font-size: 20px;
  }
  .lp-step-form-container {
    margin-top: 2rem;
  }
  .lp-step-form-shien-character {
    width: 6.4rem;
    height: 5.6rem;
    right: -0.4rem;
  }
  .lp-step-form-shien-character.is-at-end {
    top: calc(100% + 1.6rem);
  }
  .page-lp-contact .lp-step-form-select-wrapper select.form-control {
    padding-left: 10px;
    padding-right: 30px;
  }
  .lp-step-form-birthday {
    flex-wrap: wrap;
    gap: 10px;
  }
  .lp-step-form-birthday-item {
    flex: 1 1 calc(33.333% - 10px);
    min-width: 0;
  }
  .lp-step-form-option-label {
    padding: 1.2rem 0.8rem;
    gap: 1rem;
  }
  .lp-step-form-option-label span {
    font-size: 13px;
  }
  .lp-step-form-policy-links {
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 2rem;
  }
  .lp-step-form-submit-main {
    font-size: 18px;
  }
  .lp-thanks-text {
    margin-top: 3rem;
    font-size: 15px;
  }
  .lp-thanks-button-list {
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
  }
  .lp-footer--contact {
    padding-bottom: 5rem;
  }
}

/* LP entry confirm_apply — WP /job_apply visited UI */
body.page-lp-entry-confirm {
  padding-top: var(--environment-ribbon-height);
  background-color: var(--soft-blue);
}
body.page-lp-entry-confirm #wrapper {
  width: 100%;
  background: linear-gradient(to bottom, var(--blue-gradient-start), var(--blue-gradient-end) 36rem);
}
.lp-job-apply-visited-main {
  margin: 0;
  padding: 0;
  background-color: var(--white);
}
.lp-job-apply-visited {
  padding-block: 6rem;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited {
    width: calc(100% - 4rem);
    margin-inline: auto;
    padding-block: 4rem;
  }
}
.lp-job-apply-visited__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin: 0 0 5rem;
  font-size: 32px;
  font-weight: 700;
  color: var(--font-color);
  text-align: center;
}
.lp-job-apply-visited__heading img {
  width: 9.8rem;
  height: auto;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__heading {
    gap: 1.2rem;
    margin-bottom: 3rem;
    font-size: 20px;
  }
  .lp-job-apply-visited__heading img {
    width: 6rem;
  }
}
.lp-job-apply-visited__card {
  display: flex;
  align-items: flex-start;
  gap: 2.3rem;
  width: 81.1rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto 3rem;
  padding: 2.5rem;
  border: solid 1px #2B4C8685;
  border-radius: 1.6rem;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card {
    flex-direction: column;
    width: min(100%, 44rem);
    max-width: 100%;
    padding: 1.4rem 1.6rem;
    gap: 1.2rem;
    border: none;
    box-shadow: 0 10px 30px rgba(22, 35, 71, 0.12);
  }
}
.lp-job-apply-visited__card-image-wrapper {
  width: 28.1rem;
  aspect-ratio: 28 / 21;
  overflow: hidden;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
.lp-job-apply-visited__card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-image-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
  }
}
.lp-job-apply-visited__card-desc-wrapper {
  width: calc(100% - 30.4rem);
  min-width: 0;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-desc-wrapper {
    width: 100%;
  }
}
.lp-job-apply-visited__card-head {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.8rem;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.8rem;
    gap: 0.5rem;
  }
}
.lp-job-apply-visited__card-cat {
  padding: 0.2rem 1.5rem;
  border-radius: 1rem;
  background-color: var(--primary);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
.lp-job-apply-visited__card-company-name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 13px;
  color: #4A5874;
}
.lp-job-apply-visited__card-company-name img {
  width: 1.5rem;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-company-name {
    width: 100%;
  }
}
.lp-job-apply-visited__card-title {
  margin-bottom: 1rem;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--font-color);
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-title {
    font-size: 17px;
  }
}
.lp-job-apply-visited__card-desc {
  font-size: 14px;
  color: #404B63;
  word-break: break-all;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__card-desc {
    font-size: 13px;
  }
}
.lp-job-apply-visited__button-wrapper {
  text-align: center;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__button-wrapper {
    padding-inline: 1rem;
  }
}
.lp-job-apply-visited__button.btn-simple-angle {
  position: relative;
  width: 34.8rem;
  height: 8rem;
  min-height: 8rem;
  max-width: 100%;
  padding-inline: 2.6rem;
}
.lp-job-apply-visited__button .button-simple-angle__text {
  display: flex;
  flex-direction: column;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  padding-bottom: 0.4rem;
  white-space: normal;
  letter-spacing: 0;
}
.lp-job-apply-visited__button .button-simple-angle__text > .in-small {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
.lp-job-apply-visited__button .button-simple-angle__angle {
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
}
.lp-job-apply-visited__button .button-simple-angle__angle svg {
  width: 1.2rem;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited__button.btn-simple-angle {
    width: 100%;
    height: auto;
    min-height: 6.4rem;
    padding-block: 1.2rem;
  }
  .lp-job-apply-visited__button .button-simple-angle__text {
    font-size: 18px;
  }
  .lp-job-apply-visited__button .button-simple-angle__text > .in-small {
    font-size: 12px;
  }
  .lp-job-apply-visited__button .button-simple-angle__angle svg {
    width: 1rem;
  }
}
.lp-job-apply-visited__clear-button {
  text-align: center;
  margin-top: 2rem;
}
.lp-job-apply-visited__clear-button button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--primary);
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .lp-job-apply-visited__clear-button button:hover {
    opacity: 0.6;
  }
}
.lp-job-apply-visited .lp-step-form-policy-links {
  margin-top: 3rem;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .lp-job-apply-visited .lp-step-form-policy-links {
    gap: 3rem;
    margin-top: 2.4rem;
  }
  .lp-job-apply-visited .lp-step-form-policy-links a {
    font-size: 12px;
  }
}
/* 保存情報モーダル */
.lp-saved-info-modal .modal-content {
  height: auto;
  min-height: 0;
  max-height: calc(100dvh - 2.4rem);
}
@media (min-width: 768px) {
  .lp-saved-info-modal .modal-content {
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 10rem);
  }
}
.lp-saved-info-modal .search-modal-body {
  padding: 0 2rem 2rem;
}
.lp-saved-info-modal .lp-step-form-field {
  margin-bottom: 1.6rem;
}
.lp-saved-info-modal .lp-step-form-field:last-child {
  margin-bottom: 0;
}
.lp-saved-info-modal .lp-step-form-field-label {
  justify-content: flex-start;
  margin-bottom: 0;
  padding: 0.8rem 1.6rem;
  text-align: left;
  background-color: var(--light-blue);
}
.lp-saved-info-modal .lp-step-form-field-label label {
  font-size: 14px;
  font-weight: 500;
}
.lp-saved-info-modal .form-control-confirm {
  width: 100%;
  margin: 0.8rem 0 0;
  padding-inline: 1.6rem;
  font-size: 16px;
}
.lp-saved-info-modal .lp-confirm-option-name {
  display: block;
}
.lp-saved-info-modal .lp-step-form-confirm-empty {
  color: var(--gray);
}
.lp-saved-info-modal .modal-footer {
  position: static;
}

/* LP 離脱防止バナー（無料相談・応募共通） */
.lp-before-back {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
.lp-before-back__inner {
  position: relative;
  width: 44rem;
  max-width: calc(100% - 4rem);
}
.lp-before-back__inner img {
  display: block;
  width: 100%;
  height: auto;
}
.lp-before-back__button-wrapper {
  position: absolute;
  bottom: 4rem;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  width: 100%;
}
.lp-before-back__button-wrapper .btn-simple-angle {
  min-height: 5rem;
}
.lp-before-back__top-link {
  font-size: 13px;
  text-align: center;
  color: var(--primary);
}
.lp-before-back__top-link:hover {
  color: var(--primary);
  opacity: 0.8;
}
.lp-before-back.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (max-width: 767.98px) {
  .lp-before-back__button-wrapper {
    bottom: 3rem;
  }
  .lp-before-back__button-wrapper .btn-simple-angle {
    max-width: 30rem;
    width: 100%;
  }
}


/* 求人一覧・閲覧履歴・お気に入り一覧 */

/* 件数表示・コントロール */
.list-control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0 2rem 0;
}
.list-control--with-find-jobs {
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: flex-end;
}
.list-control-find-jobs-btn {
  min-width: 12rem;
  white-space: nowrap;
}
.list-control-num-count {
  margin: 0;
  font-weight: 700;
  color: var(--navy);
}
.list-control-num-meta {
  margin: 0.4rem 0 0;
  font-size: 12px;
  color: var(--gray-blue);
}
@media (max-width: 991.98px) {
  .list-control {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 0 1.2rem 0;
  }
  .list-control-num {
    margin-bottom: 0.8rem;
  }
  .list-control--with-find-jobs {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
  .list-control--with-find-jobs .list-control-num {
    margin-bottom: 0;
  }
}

/* 空状態 */
.list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 6rem 1.6rem;
  text-align: center;
}
.list-empty-message {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--dark-gray, #333);
}
.list-empty-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 5.2rem;
  padding: 1rem 2rem;
  border-radius: 0.4rem;
}
.list-empty-link:hover {
  text-decoration: none;
  opacity: 0.9;
}

/* お気に入り一括操作 */
.bookmark-all {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding: 1.6rem 2rem;
  background-color: var(--bg-gray);
  border-radius: 0.5rem;
}
.bookmark-all .form-check-input[type="checkbox"]:checked + .form-check-label::before,
.job-card-apply-check .form-check-input[type="checkbox"]:checked + .form-check-label::before {
  border-color: var(--accent-red);
  background-color: var(--accent-red);
}
@media (max-width: 767.98px) {
  .bookmark-all .form-check-label {
    font-size: 14px;
  }
}

/* 削除ボタン */
.bookmark-del {
  display: block;
  pointer-events: auto;
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: var(--primary);
  border-radius: 100%;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  left: auto;
  border: none;
  z-index: 3;
  padding: 0;
  cursor: pointer;
}
.bookmark-del:hover,
.bookmark-del:focus {
  background-color: var(--primary-darken-15);
}
.bookmark-del::before,
.bookmark-del::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background-color: var(--white);
  transform: translate(-50%, -50%) rotate(var(--rotate));
  top: 50%;
  left: 50%;
  position: absolute;
}
.bookmark-del::before {
  --rotate: -45deg;
}
.bookmark-del::after {
  --rotate: 45deg;
}
@media (max-width: 767.98px) {
  .bookmark-del {
    top: 1rem;
    right: 1rem;
  }
}

/* 求人カード一覧 */
.job-card-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.job-card-apply-check {
  margin-bottom: 0.8rem;
}
.job-card-apply-check .form-check-input {
  margin-top: 0.45rem;
}
.job-card-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.job-card {
  margin-bottom: 0;
  padding: 2rem 2.6rem 2.4rem;
  overflow: visible;
}
.card.job-card {
  overflow: visible;
}
.job-card--apply .job-card-top {
  padding-right: 5.2rem;
}
.job-card-meta {
  display: flex;
  gap: 1.6rem;
}
.job-card-meta-no {
  color: #6B7A98;
}
.job-card-meta-updated {
  color: #9AA7C3;
}
.job-card-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.job-card-tag--category {
  background-color: var(--primary);
  font-size: 14px;
  letter-spacing: normal;
}
.job-card .job-card-page-title {
  padding: 0;
  margin-bottom: 1.4rem;
  line-height: 1.45;
  font-size: 24px;
  font-weight: 700;
  border: none;
}
.job-card .job-card-page-title a {
  color: inherit;
  text-decoration: none;
}
.job-card-apply-check .form-check-label.job-card-page-title {
  padding-left: calc(18px + 1.2rem);
  cursor: pointer;
}
.job-card .job-card-subtitle {
  margin-bottom: 1.6rem;
  white-space: pre-wrap;
}
.job-card .job-card-grid {
  grid-template-columns: minmax(0, 30rem) minmax(0, 1fr);
  gap: 2.4rem;
}
.job-card .job-card-img {
  max-width: none;
}
.job-card .job-card-img-main {
  overflow: hidden;
}
.job-card .job-card-img-main a {
  display: block;
  width: 100%;
  height: 100%;
}
.job-card .job-card-img-main img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.job-card .job-card-summary-row {
  gap: 2rem;
}
.job-card .job-card-tag-list {
  margin-top: 1.2rem;
}
.job-card .job-card-summary + .job-card-actions {
  margin-top: 5rem;
}
.job-card .job-card-summary + .job-card-actions:not(:has(.job-interest-count)) {
  margin-top: 4rem;
}
@media (max-width: 767.98px) {
  .job-card .job-card-summary + .job-card-actions:not(:has(.job-interest-count)) {
    margin-top: 3rem;
  }
}
.job-card-actions-favorite {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.job-card-actions-favorite .job-favorite-btn {
  width: 100%;
}
.job-card .job-card-actions:not(.job-card-actions--apply) > .job-interest-count {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 0 0.4rem;
  text-align: center;
  font-size: 13px;
  line-height: 1.3;
  white-space: nowrap;
  z-index: 1;
}
.job-card .job-card-actions .job-favorite-btn:not(.is-favorited) .job-favorite-btn-icon-filled {
  display: none;
}
.job-card .job-card-actions .job-favorite-btn.is-favorited .job-favorite-btn-icon-outline {
  display: none;
}
.job-card .job-card-actions {
  position: relative;
  overflow: visible;
}
@media (min-width: 768px) {
  .job-card .job-card-actions:not(.job-card-actions--apply) > .job-interest-count {
    left: calc((100% - 1.2rem) / 4);
    max-width: min(100vw, 28rem);
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
  }
  .job-card .job-card-actions--apply .job-card-actions-apply {
    position: relative;
  }
  .job-card .job-card-actions--apply .job-interest-count {
    text-align: center;
    font-size: 14px;
  }
}
@media (max-width: 991.98px) {
  .job-card .job-card-grid {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
  .job-card .job-card-img {
    max-width: 47rem;
    margin-inline: auto;
  }
}
@media (max-width: 767.98px) {
  .job-card .job-card-page-title {
    margin-bottom: 1rem;
    font-size: 17px;
    line-height: 1.45;
  }
  .job-card-tag--category {
    font-size: 13px;
  }
  .job-card {
    margin-bottom: 0;
    padding: 1.8rem 1.4rem 1.6rem;
    background-color: var(--white);
    border: 1px solid var(--card-border);
    border-radius: 1.6rem;
    box-shadow: var(--card-shadow);
    overflow: visible;
  }
  .job-card .job-card-badges {
    flex-wrap: nowrap;
    flex-shrink: 0;
    margin-left: -1.4rem;
    padding-right: 0.8rem;
  }
  .job-card .job-card-meta {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.2rem 0.8rem;
    min-width: 0;
    font-size: 13px;
  }
  .job-card .job-card-img {
    max-width: none;
  }
  .job-card .job-card-summary-row {
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 0.8rem;
  }
  .job-card .job-card-summary-label {
    font-size: 14px;
    white-space: normal;
  }
  .job-card .job-card-summary-value {
    font-size: 14px;
  }
  .job-card-apply-check .form-check-label.job-card-page-title {
    font-size: 17px;
  }
  .job-card .job-card-actions:not(.job-card-actions--apply) {
    display: grid;
    grid-template-columns: 6.6rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
  }
  .job-card .job-card-actions-favorite {
    grid-column: 1;
    align-self: stretch;
  }
  .job-card .job-card-actions .job-favorite-btn {
    flex: none;
    flex-direction: column;
    justify-content: center;
    gap: 0.4rem;
    width: 6.6rem;
    min-width: 6.6rem;
    min-height: 6rem;
    height: 6rem;
    padding: 0.4rem 0.2rem 0.2rem;
    border: solid 1.5px var(--accent-red);
    border-radius: 0.6rem;
    background-color: var(--white);
    color: var(--accent-red);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: normal;
    box-sizing: border-box;
  }
  .job-card .job-card-actions .job-favorite-btn-icon {
    color: var(--accent-red);
  }
  .job-card .job-card-actions .job-favorite-btn-text {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: normal;
    color: var(--font-color);
  }
  .job-card .job-card-actions .job-favorite-btn-icon {
    width: 2.6rem;
    height: 2.5rem;
    margin-top: 2px;
  }
  .job-card .job-card-actions .job-favorite-btn-icon-outline,
  .job-card .job-card-actions .job-favorite-btn-icon-filled {
    width: 2.6rem;
    height: 2.5rem;
  }
  .job-card .job-card-actions:not(.job-card-actions--apply) .job-card-detail-btn {
    grid-column: 2;
    flex: 1;
    min-width: 0;
    min-height: 6rem;
    height: 6rem;
    align-self: stretch;
    box-sizing: border-box;
    border-radius: 0.6rem;
  }
  .job-card .job-card-actions--apply {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .job-card .job-card-actions--apply .job-interest-count {
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }
  .job-card .job-card-actions--apply .job-card-detail-btn {
    flex: none;
    width: 100%;
    min-height: 6rem;
    height: 6rem;
    border-radius: 8rem;
  }
  .job-card .job-card-actions--apply .job-card-apply-btn {
    flex: none;
    width: 100%;
    min-height: 6rem;
    height: 6rem;
  }
}

/* SP横表示（低いviewport）: rem膨張抑制 + 固定UI縮小 + ドロワー調整 */
@media (max-width: 991.98px) and (orientation: landscape) and (max-height: 500px) {
  html {
    font-size: min(calc(10vw / 400 * 100), 10px);
  }

  #header .navbar {
    height: auto;
    min-height: 5rem;
  }
  body:not(.page-home) {
    padding-top: calc(5rem + var(--environment-ribbon-height));
  }
  .header-label-links {
    gap: 0;
  }
  .header-contact-link {
    display: none !important;
  }
  .header-consultant-link {
    flex-direction: row;
    width: auto;
    height: 3rem;
    padding-inline: 0.8rem;
    white-space: nowrap;
  }
  .header-consultant-link br {
    display: none !important;
  }
  .header-consultant-small {
    margin-left: 0.3rem;
  }

  .sticky-bottom-bar,
  #action.sticky-bottom-bar {
    padding: 8px 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  }
  #action.sticky-bottom-bar,
  #action.sticky-bottom-bar:not(:has(.job-interest-count)) {
    padding-top: 8px;
  }
  .sticky-bottom-bar-btn,
  .float-contact__btn.sticky-bottom-bar-btn {
    min-height: 44px;
    height: 44px;
    padding-inline: 12px;
    font-size: 14px;
  }
  #action.sticky-bottom-bar .job-favorite-btn,
  #action.sticky-bottom-bar .sticky-bottom-bar-btn {
    height: 44px;
    min-height: 44px;
  }
  #action.sticky-bottom-bar .job-favorite-btn {
    width: 56px;
    min-width: 56px;
  }

  .float-contact {
    bottom: -80px;
  }
  .float-contact__icon {
    width: 36px;
  }
  .float-contact__icon svg {
    width: 24px;
  }
  .float-contact__text {
    font-size: 14px;
  }

  #pagetop {
    bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }
  .footer-button-top {
    width: 44px;
    gap: 2px;
    padding-top: 2px;
  }
  .footer-button-top-text {
    font-size: 12px;
  }

  .header-drawer-panel {
    --drawer-panel-padding-top: calc(5rem + 1.2rem + var(--environment-ribbon-height));
    --drawer-menu-item-padding-y: 12px;
  }

  /* トップMV: 768px超でもSP相当の縦積みレイアウト */
  .top-mv {
    padding-top: 3rem;
  }
  .top-mv-inner {
    flex-direction: column;
    padding-inline: 0;
    gap: 2rem;
  }
  .top-mv-heading-wrapper {
    margin-bottom: 2rem;
  }
  .top-mv-heading-wrapper > .in-logo {
    width: 21.6rem;
  }
  .top-mv-sub-heading {
    font-size: 15px;
    gap: 0.4rem;
  }
  .top-mv-sub-heading > .in-label {
    font-size: 14px;
    padding: 0.2rem 0.5rem;
  }
  .top-mv-sub-heading .in-large {
    font-size: 25px;
  }
  .top-mv-sub-heading > .in-bottom {
    width: 100%;
    text-align: center;
  }
  .top-mv-statement-wrapper {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .top-mv-statement {
    font-size: 14px;
    text-align: center;
  }
  .top-mv-statement > .in-num {
    font-size: 30px;
  }
  .top-mv-feature-wrapper {
    width: 36rem;
  }
  .top-mv-feature-annotation {
    font-size: 8px;
  }
  .top-mv-bubble-wrapper {
    display: none;
  }
  .top-mv-form-wrapper {
    margin-inline: auto;
    padding: 4rem 2.2rem 2.9rem;
    margin-top: 3rem;
  }
  .top-mv-form-heading-wrapper {
    justify-content: center;
  }
  .top-mv-form-heading {
    font-size: 18px;
    text-align: center;
  }
  .top-mv-detail-search {
    margin-inline: auto;
    justify-content: center;
    margin-top: 1.5rem;
    margin-bottom: 3rem;
    gap: 0.5rem;
  }
  .top-mv-detail-search > .in-angle img {
    width: 0.8rem;
  }
  .top-mv-location-type-wrapper > .in-cross {
    margin-inline: auto;
  }
  .top-mv-select-wrapper {
    width: calc(50% - 2rem);
    font-size: 1.6rem;
  }
  .top-mv-search-submit > .in-text {
    font-size: 1.4rem;
  }
  .top-mv-word-search {
    grid-template-columns: 1fr 6.3rem;
  }
  .top-mv-keywords-list {
    padding-bottom: 2.6rem;
    margin-bottom: 2.8rem;
  }
  .top-mv-keyword a {
    padding: 0.5rem 0.8rem;
  }
  .top-mv-contact-list {
    gap: 1rem;
  }
  .top-mv-contact-button:not(.top-mv-contact-button--lead) {
    width: 15.4rem;
  }
  .top-mv-contact-button:not(.top-mv-contact-button--lead) > .in-top,
  .top-mv-contact-button:not(.top-mv-contact-button--lead) > .in-bottom {
    font-size: 14px;
  }
  .top-mv-contact-button--lead {
    width: 100%;
    height: auto;
    min-height: 6rem;
    padding: 0.8rem 1rem;
  }
  .top-mv-contact-button--lead > .in-top,
  .top-mv-contact-button--lead > .in-bottom {
    white-space: normal;
    text-align: center;
    line-height: 1.4;
  }
  .top-mv-contact-button--lead > .in-top {
    font-size: 14px;
  }
  .top-mv-contact-button--lead > .in-bottom {
    font-size: 12px;
  }
  .top-mv-shien {
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    top: -3.5rem;
    width: 7.5rem;
  }
  .top-mv .pc {
    display: none !important;
  }
  .top-mv .top-mv-detail-search.sp {
    display: flex !important;
  }
  .top-mv .top-mv-word-search.sp {
    display: grid !important;
  }
}
