@charset "UTF-8";
/**
 * Style.css
 * このファイルは QWEL Project の一部です。
 * Part of the QWEL Project © QWEL.DESIGN 2025
 * Licensed under GPL v3 – see https://qwel.design/
 */
/**
 * Root
 */
:root {
  --color--darkest: #262626;
  --color--darkest--active: #595959;
  --color--darker: #4d4d4d;
  --color--darker--active: gray;
  --color--dark: #808080;
  --color--dark--active: #b3b3b3;
  --color--light: #b3b3b3;
  --color--light--active: rgb(169.74, 137.26, 137.26);
  --color--lighter: #d9d9d9;
  --color--lighter--active: rgb(201.66, 181.34, 181.34);
  --color--lightest: #ffffff;
  --color--lightest--active: rgb(229.5, 229.5, 229.5);
  --color--primary: #edbccb;
  --color--primary--active: rgb(237.08, 136.92, 155.8958911565);
  --color--secondary: #66bf97;
  --color--secondary--active: rgb(52.0132718894, 189.9867281106, 144.0730892145);
  --color--tertiary: #9f77ad;
  --color--tertiary--active: rgb(203.9174311927, 182.6330275229, 211.3669724771);
  --container-width--sm: 37.5rem;
  --container-width--md: 56.25rem;
  --container-width--lg: 75rem;
  --container-pad--sm: 0.75rem;
  --container-pad--md: clamp(0.75rem, 2%, 1rem);
  --container-pad--lg: clamp(0.75rem, 2%, 1.5rem);
  --spacing--none: 0;
  --spacing--x-small: 0.375rem;
  --spacing--small: 0.75rem;
  --spacing--medium: 1.5rem;
  --spacing--large: 3rem;
  --spacing--x-large: 6rem;
  --font-family-base: "Noto Sans JP", "游ゴシック", "Yu Gothic", sans-serif;
  --font-weight-base: 500;
  --line-height-base: 1.8;
  --letter-spacing-base: 0;
  --heading-margin-block-start: var(--spacing--medium);
  --heading-margin-block-end: var(--spacing--small);
  --heading-font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", sans-serif;
  --heading-font-weight: 500;
  --heading-line-height: 1.2;
  --heading-letter-spacing: 0;
  --font-size--x-small: 0.75rem;
  --font-size--small: 0.875rem;
  --font-size--normal: 1rem;
  --font-size--medium: 1.125rem;
  --font-size--large: 1.25rem;
  --font-size--x-large: 1.5rem;
  --font-size--xx-large: 2rem;
  --small-font-size: var(--font-size--small);
  --small-line-height: 2;
  --small-letter-spacing: 0;
}

/**
 * Foundation - Normalize
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 3.125vw;
}
@media (min-width: 900px) {
  html {
    font-size: 1.5625vw;
  }
}
html:not(:has(#result)) {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: var(--color--lightest);
  color: var(--color--darkest);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-base);
  line-height: var(--line-height-base);
  letter-spacing: var(--letter-spacing-base);
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6 {
  margin-block-start: var(--heading-margin-block-start);
  margin-block-end: var(--heading-margin-block-end);
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  letter-spacing: var(--heading-letter-spacing);
}

h1 {
  font-size: var(--font-size--x-large);
}

h2 {
  font-size: var(--font-size--x-large);
}

h3 {
  font-size: var(--font-size--large);
}

h4 {
  font-size: var(--font-size--medium);
}

h5 {
  font-weight: 700;
  font-size: var(--font-size--normal);
}

h6 {
  font-weight: 700;
  font-size: var(--font-size--small);
}

p,
ol, ul,
li {
  margin-block: var(--spacing--small);
}

small {
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}

blockquote {
  margin-block: var(--spacing--small);
  padding-inline-start: 1em;
  border-inline-start: var(--spacing--x-small) solid var(--color--darkest);
}
blockquote p, blockquote cite {
  font-style: italic;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}

a, a:active {
  color: var(--color--darkest);
  text-decoration: none;
}
a:hover, a:focus {
  color: var(--color--darker);
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

figure {
  display: block;
  margin-block: var(--spacing--small);
}

figcaption {
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
  text-align: center;
}

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

th {
  text-align: left;
}

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

/**
 * Layout
 */
.wrapper {
  background: url("./assets/pageBg.png") repeat-y 50% 0%/100% scroll, var(--color--primary);
}

.container {
  width: min(100%, 32rem);
  min-height: calc(100vh - 15rem);
  margin: 0 auto;
  border-inline: 2px solid var(--color--darkest);
  background-color: var(--color--secondary);
  overflow: hidden;
}
.container--lightest {
  background-color: var(--color--lightest);
}
.container--eaf4ee {
  background-color: #eaf4ee;
}
.container--notepad {
  background-color: var(--color--lightest);
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #eee calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #eee calc(100% - 1px));
  background-size: 1.33rem 1.33rem;
  background-repeat: repeat;
  background-position: center center;
}
@media (min-width: 900px) {
  .container {
    min-height: calc(100vh - 6rem);
  }
}

/**
 * Project - Site Header
 */
.siteHeader__top {
  padding: var(--spacing--small) var(--spacing--small) 3.75rem;
  background: url("./assets/siteHeaderBg.svg") no-repeat 50% 50%/cover scroll;
}
.siteHeader__lead {
  margin: 0;
  font-weight: 700;
}
.siteHeader__lead:nth-child(1) {
  width: -moz-fit-content;
  width: fit-content;
  padding-block-end: var(--spacing--medium);
  background: url("./assets/siteHeaderBorder.svg") repeat-x 50% 85%;
}
.siteHeader__lead:nth-child(2) {
  max-width: 30rem;
}
@media (min-width: 900px) {
  .siteHeader__lead {
    margin: 0 auto;
    text-align: center;
  }
  .siteHeader__lead br {
    display: none;
  }
}
.siteHeader__main {
  position: relative;
  z-index: -1;
  margin-block-start: -3rem;
  margin-block-end: 0;
  padding-block-start: 3rem;
  background: linear-gradient(var(--color--primary) 0%, var(--color--primary) 83.5%, var(--color--secondary) 83.6%, var(--color--secondary) 100%);
}
@media (min-width: 900px) {
  .siteHeader__main {
    padding-block-start: 4.5rem;
    background: linear-gradient(var(--color--primary) 0%, var(--color--primary) 86%, var(--color--secondary) 86.1%, var(--color--secondary) 100%);
  }
}
.siteHeader__title {
  margin: 0;
}
.siteHeader__slider {
  position: absolute;
  top: 5.25rem;
  left: 0;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 900px) {
  .siteHeader__slider {
    display: none;
  }
}
.siteHeader__sliderInner {
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: scroll 20s linear infinite;
}
.siteHeader__sliderItem {
  flex: 0 0 auto;
  width: 7.5rem;
  height: 13.5rem;
  margin: 0 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/**
 * Project - Site Header
 */
.siteMain {
  padding-block: var(--spacing--large);
  background-color: var(--color--secondary);
}
.siteMain__section {
  width: 100%;
}
.siteMain__section--personalitySp {
  height: 50vw;
  margin-block-start: 1.5rem;
  margin-block-end: 4.5rem;
  padding: 0 0 0 16.7%;
  background: url("./assets/personalityBg_sp.svg") no-repeat 100% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--personalitySp {
    display: none;
  }
}
.siteMain__section--self-fSp {
  height: 50vw;
  margin-block: 4.5rem;
  padding: 0 16.7% 0 0;
  background: url("./assets/self-fBg_sp.svg") no-repeat 0% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--self-fSp {
    display: none;
  }
}
.siteMain__section--self-mSp {
  height: 50vw;
  margin-block: 4.5rem;
  padding: 0 0 0 16.7%;
  background: url("./assets/self-mBg_sp.svg") no-repeat 100% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--self-mSp {
    display: none;
  }
}
.siteMain__section--matchingSp {
  height: 50vw;
  margin-block: 4.5rem;
  padding: 0 16.7% 0 0;
  background: url("./assets/matchingBg_sp.svg") no-repeat 0% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--matchingSp {
    display: none;
  }
}
.siteMain__section--personalityPc {
  display: none;
}
@media (min-width: 900px) {
  .siteMain__section--personalityPc {
    display: block;
    height: 40vw;
    margin-block: 4.5rem;
    padding: 3rem 0 0 25%;
    background: url("./assets/personalityBg_pc.svg") no-repeat 100% 100%;
    background-size: 91.6%;
  }
}
.siteMain__section--selfPc {
  display: none;
}
@media (min-width: 900px) {
  .siteMain__section--selfPc {
    display: flex;
    gap: 9rem;
    height: 40vw;
    margin-block: 4.5rem;
    padding: 3rem 25% 0 0;
    background: url("./assets/selfBg_pc.svg") no-repeat 0% 100%;
    background-size: 91.6%;
  }
}
.siteMain__section--matchingPc {
  display: none;
}
@media (min-width: 900px) {
  .siteMain__section--matchingPc {
    display: block;
    height: 40vw;
    margin-block: 4.5rem;
    padding: 3rem 25% 0 0;
    background: url("./assets/matchingBg_pc.svg") no-repeat 0% 100%;
    background-size: 91.6%;
  }
}
.siteMain__section--columnSp {
  height: 50vw;
  margin-block: 4.5rem;
  padding: 0 0 0 16.7%;
  background: url("./assets/columnBg_sp.svg") no-repeat 100% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--columnSp {
    display: none;
  }
}
.siteMain__section--moneyplanSp {
  height: 50vw;
  margin-block: 4.5rem;
  padding: 0 16.7% 0 0;
  background: url("./assets/moneyplanBg_sp.svg") no-repeat 0% 100%;
  background-size: 91.6%;
}
@media (min-width: 900px) {
  .siteMain__section--moneyplanSp {
    display: none;
  }
}
.siteMain__section--columnPc {
  display: none;
}
@media (min-width: 900px) {
  .siteMain__section--columnPc {
    display: flex;
    gap: 9rem;
    height: 40vw;
    margin-block: 4.5rem;
    padding: 3rem 0 0 25%;
    background: url("./assets/columnBg_pc.svg") no-repeat 100% 100%;
    background-size: 91.6%;
  }
}
.siteMain__heading a {
  display: block;
}
.siteMain__heading a > img {
  transition: all 0.5s ease;
}
.siteMain__heading a:hover > img {
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.siteMain__heading a::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  margin: var(--spacing--small) auto;
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
  transition: all 0.5s ease;
}
.siteMain__heading a:hover::after {
  filter: brightness(0.7) hue-rotate(-120deg) drop-shadow(2px 4px 6px var(--color--dark));
}
.siteMain__heading--personalitySp {
  width: 18rem;
  margin: 0 auto;
}
.siteMain__heading--self-fSp {
  width: 15rem;
  margin: 0 auto;
}
.siteMain__heading--self-mSp {
  width: 12rem;
  margin: 0 auto;
}
.siteMain__heading--matchingSp {
  width: 21rem;
  margin: 0 auto;
}
.siteMain__heading--personalityPc {
  width: 30rem;
  margin: 0 auto;
}
.siteMain__heading--self-fPc {
  width: 15rem;
  margin: 0 auto;
}
.siteMain__heading--self-mPc {
  width: 12rem;
  margin: 0 auto;
}
.siteMain__heading--matchingPc {
  width: 27rem;
  margin: 0 auto;
}
.siteMain__heading--columnSp, .siteMain__heading--moneyplanSp {
  width: 18rem;
  margin: 0 auto;
}

/**
 * Project - Page Header
 */
.pageHeader--personality {
  padding-block-end: 18rem;
  background: url("./assets/pageFg.png") no-repeat 50% 100%/contain scroll, var(--color--primary);
}
.pageHeader--self-f {
  background: url("./assets/self-fHeaderBg.png") no-repeat 50% 100%/cover scroll;
  color: var(--color--lightest);
}
.pageHeader--self-m {
  background: url("./assets/self-mHeaderBg.png") no-repeat 50% 100%/cover scroll;
  color: var(--color--lightest);
}
.pageHeader--matching {
  background: url("./assets/matchingHeaderBg.png") no-repeat 50% 100%/cover scroll;
}
.pageHeader--matching .pageHeader__desc {
  text-shadow: 1px 1px var(--color--lightest);
}
.pageHeader--column {
  padding-block-end: 18rem;
  background: url("./assets/pageFg.png") no-repeat 50% 100%/contain scroll, #59ada9;
}
.pageHeader__title {
  width: 24rem;
  margin: 0 auto;
}
.pageHeader__title--column {
  width: 21rem;
  margin: var(--spacing--large) var(--spacing--large) 0;
}
.pageHeader__title--self {
  width: 24rem;
  margin: var(--spacing--large) var(--spacing--large) 0;
}
.pageHeader__title:not(:has(img)) {
  margin-block-start: var(--spacing--large);
  margin-block-end: var(--spacing--medium);
  text-align: center;
}
.pageHeader__desc {
  width: 24rem;
  margin: var(--spacing--small) auto;
  font-size: 0.9375rem;
  text-align: justify;
}
.pageHeader__figure {
  width: 21rem;
  margin: var(--spacing--small) auto var(--spacing--small) var(--spacing--small);
}

/**
 * Project - Page Main
 */
.pageMain {
  padding: var(--spacing--medium);
}
.pageMain p {
  text-align: justify;
}
.pageMain--columns {
  margin-block-start: -3rem;
  padding-block-start: 0;
  padding-block-end: 3rem;
}
.pageMain__column {
  width: 27rem;
  height: 27rem;
  margin: var(--spacing--medium) auto;
  padding: var(--spacing--large) var(--spacing--large) var(--spacing--large) var(--spacing--medium);
}
.pageMain__column a {
  display: block;
  transition: all 0.5s ease;
}
.pageMain__column a:hover {
  transform: translateY(-3px);
  filter: hue-rotate(-120deg) drop-shadow(2px 4px 6px var(--color--dark));
}
.pageMain__column--column1 {
  background: url("./assets/column1Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--column1 img {
  display: block;
  width: 21rem;
}
.pageMain__column--column2 {
  background: url("./assets/column2Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--column2 img {
  display: block;
  width: 21rem;
}
.pageMain__column--column3 {
  background: url("./assets/column3Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--column3 img {
  display: block;
  width: 21rem;
}
.pageMain__column--moneyplan1 {
  background: url("./assets/moneyplan1Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--moneyplan1 img {
  display: block;
  width: 100%;
}
.pageMain__column--moneyplan2 {
  background: url("./assets/moneyplan2Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--moneyplan2 img {
  display: block;
  width: 100%;
}
.pageMain__column--moneyplan3 {
  background: url("./assets/moneyplan3Bg.png") no-repeat 50% 0%/contain scroll;
}
.pageMain__column--moneyplan3 img {
  display: block;
  width: 100%;
}
.pageMain__largeBanner {
  margin: -1.5rem;
}
.pageMain__largeBanner--matching {
  height: 20rem;
  padding: 4.5rem 16.7% 0 0;
  background: url("./assets/matchingBg_sp.svg") no-repeat 0% 100%;
  background-size: 91.6%;
}
.pageMain__largeBannerText {
  display: block;
}
.pageMain__largeBannerText > img {
  transition: all 0.5s ease;
}
.pageMain__largeBannerText:hover > img {
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.pageMain__largeBannerText::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  margin: var(--spacing--small) auto;
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
  transition: all 0.5s ease;
}
.pageMain__largeBannerText:hover::after {
  filter: brightness(0.7) hue-rotate(-120deg) drop-shadow(2px 4px 6px var(--color--dark));
}
.pageMain__largeBannerText--matching {
  width: 21rem;
  margin: 0 auto;
}
.pageMain__heading {
  margin: var(--spacing--large) 0 var(--spacing--small);
  font-weight: 700;
  font-size: 1.17rem;
}
.pageMain__heading--self-f {
  color: #9f77ad;
}
.pageMain__heading--self-m {
  color: #004076;
}
.pageMain__heading--matching {
  background: linear-gradient(90deg, #fc5c6c, #8866ff, #00c2da);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.pageMain__heading--withWrap {
  margin-block: var(--spacing--medium);
  padding: var(--spacing--x-small);
  border: 1px solid var(--color--darkest);
  background-color: var(--color--lightest);
  text-align: center;
  box-shadow: 0.25rem 0.25rem #fedf7b;
}
.pageMain__subHeading {
  margin: var(--spacing--medium) 0 var(--spacing--small);
  padding-inline-start: 0.375rem;
  border-inline-start: 0.375rem solid var(--color--primary--active);
  font-weight: 700;
  font-size: 1rem;
}
.pageMain__subHeading--self-f {
  border-color: #9f77ad;
}
.pageMain__subHeading--self-m {
  border-color: #004076;
}
.pageMain__summaryWrap {
  position: relative;
  margin-block: var(--spacing--medium);
  padding: var(--spacing--medium);
  background: url("./assets/summaryWrap.png") no-repeat 50% 50%/100% 100% scroll;
}
.pageMain__summaryLabel {
  position: absolute;
  top: -1.5rem;
  left: -0.75rem;
  width: 6.75rem;
}
.pageMain__summaryList {
  list-style: none;
  padding: 0 var(--spacing--medium) 0 var(--spacing--x-large);
}
.pageMain__summaryItem {
  position: relative;
  line-height: 1.44;
}
.pageMain__summaryItem::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: -1.5rem;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url("./assets/checkbox.png") no-repeat 50% 50%/contain scroll;
}
.pageMain__summaryItem a {
  font-weight: 700;
  -webkit-text-decoration: underline var(--color--primary) 0.15rem;
          text-decoration: underline var(--color--primary) 0.15rem;
}
.pageMain__lead {
  position: relative;
  margin: var(--spacing--large) 0 var(--spacing--medium);
  border: 2px solid var(--color--darkest);
  border-radius: var(--spacing--large);
  background-color: var(--color--lightest);
}
.pageMain__lead::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: block;
  width: 0;
  height: 1.5rem;
  margin: 0 auto;
  border: 1px solid var(--color--darkest);
}
.pageMain__lead h3, .pageMain__lead p {
  margin-block: var(--spacing--small);
  font-weight: 700;
  text-align: center;
}
.pageMain__lead h3 {
  font-size: 1.17rem;
}
.pageMain__imgHeading {
  margin-inline: auto;
}
.pageMain__imgHeading--qa {
  width: 18rem;
}
.pageMain__imgHeading--free {
  width: 21rem;
  margin-block-start: var(--spacing--large);
  text-align: center;
}
.pageMain__imgHeading--free > img {
  display: inline-block;
  width: 15rem;
}
.pageMain__imgHeading--free span {
  display: inline-block;
  width: 100%;
  font-size: 1rem;
}
.pageMain__list {
  list-style: none;
  padding-inline-start: 0;
}
.pageMain__list > li {
  margin-block: var(--spacing--x-small);
  font-size: 0.875rem;
}
.pageMain__checkList {
  list-style: none;
  padding: 0 var(--spacing--medium);
}
.pageMain__checkItem {
  position: relative;
  line-height: 1.44;
}
.pageMain__checkItem::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: -1.5rem;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: url("./assets/checkbox.png") no-repeat 50% 50%/contain scroll;
}
.pageMain__checkItem a {
  font-weight: 700;
  -webkit-text-decoration: underline var(--color--primary) 0.15rem;
          text-decoration: underline var(--color--primary) 0.15rem;
}
.pageMain__note {
  padding: var(--spacing--small) var(--spacing--medium);
  background-color: #eee;
}
.pageMain__note h4 {
  margin-block: var(--spacing--small);
  color: var(--color--primary--active);
  font-size: 1.17rem;
  text-align: center;
}
.pageMain__table {
  width: 100%;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.pageMain__table thead, .pageMain__table tbody {
  width: 100%;
}
.pageMain__table thead {
  border: 0;
}
.pageMain__table tr {
  border-block-end: 1px solid var(--color--lighter);
}
.pageMain__table tr:first-child {
  border-block-start: 1px solid var(--color--lighter);
}
.pageMain__table th, .pageMain__table td {
  padding: var(--spacing--small);
  border: 0;
}
.pageMain__decrationText::before {
  content: "●";
  color: var(--color--primary--active);
}
.pageMain__marker {
  background-color: #f3f5c6;
}
.pageMain__link {
  display: inline-block;
}
.pageMain__link, .pageMain__link:active {
  color: var(--color--primary--active);
  text-decoration: underline;
}
.pageMain__link:hover, .pageMain__link:focus {
  color: var(--color--primary);
  -webkit-text-decoration: underline dashed;
          text-decoration: underline dashed;
}
.pageMain__figure {
  width: 18rem;
  margin: var(--spacing--medium) auto;
}
.pageMain__graph {
  padding: var(--spacing--x-small);
}
.pageMain__image {
  margin: var(--spacing--medium) 0;
}
.pageMain__button {
  position: relative;
  display: block;
  width: 24rem;
  margin: var(--spacing--small) auto;
  padding-block: var(--spacing--x-small);
  padding-inline-end: var(--spacing--medium);
  border: 1px solid var(--color--primary--active);
  border-radius: var(--spacing--medium);
  background-color: var(--color--primary--active);
  text-align: center;
  transition: all 0.5s ease;
}
.pageMain__button > img {
  width: auto;
  height: 1.25rem;
}
.pageMain__button--large {
  width: 100%;
  margin-block: var(--spacing--medium);
  padding-block: var(--spacing--small);
}
.pageMain__button--large > img {
  height: 1.5rem;
}
.pageMain__button--small {
  width: 21rem;
}
.pageMain__button--small > img {
  height: 1.5rem;
}
.pageMain__button--backToTop {
  width: 18rem;
  margin-block: var(--spacing--medium);
}
.pageMain__button:hover {
  transform: translateY(-3px);
  filter: drop-shadow(2px 4px 6px var(--color--darker));
}
.pageMain__button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  margin: auto var(--spacing--small);
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
}

/**
 * Project - Page Menu
 */
.pageMenu {
  counter-reset: index;
  list-style: none;
  padding-inline-start: 0;
  margin: 0 0 var(--spacing--medium);
  padding: 13.5rem 0 3.75rem;
}
.pageMenu--matching {
  padding-block-start: 6rem;
}
.pageMenu__item {
  position: relative;
  width: 27rem;
  margin: var(--spacing--small) auto;
  padding: var(--spacing--small);
  border-radius: var(--spacing--large);
  background-color: var(--color--lightest);
  transition: all 0.5s ease;
}
.pageMenu__item:hover {
  transform: translateY(-3px);
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.pageMenu__item a {
  display: block;
  font-weight: 700;
  font-size: 1.33rem;
}
.pageMenu--self-f .pageMenu__item a {
  color: #9f77ad;
}

.pageMenu--self-m .pageMenu__item a {
  color: #004076;
}

.pageMenu--matching .pageMenu__item a {
  background: linear-gradient(90deg, #fc5c6c, #8866ff, #00c2da);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.pageMenu__item a::before {
  counter-increment: index;
  content: counter(index);
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-inline-end: var(--spacing--small);
  border-radius: 50%;
  line-height: 2rem;
  text-align: center;
}
.pageMenu--self-f .pageMenu__item a::before {
  background-color: #9f77ad;
  color: var(--color--lightest);
}

.pageMenu--self-m .pageMenu__item a::before {
  background-color: #004076;
  color: var(--color--lightest);
}

.pageMenu--matching .pageMenu__item a::before {
  background: linear-gradient(135deg, #fc5c6c, #fc8e4e);
  color: var(--color--lightest);
  -webkit-text-fill-color: currentColor;
}

.pageMenu__item a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1rem;
  height: 1rem;
  margin: auto var(--spacing--medium);
  transform: rotate(45deg);
}
.pageMenu--self-f .pageMenu__item a::after {
  border-top: 4px solid #9f77ad;
  border-right: 4px solid #9f77ad;
}

.pageMenu--self-m .pageMenu__item a::after {
  border-top: 4px solid #004076;
  border-right: 4px solid #004076;
}

.pageMenu--matching .pageMenu__item a::after {
  border-top: 4px solid #00c2da;
  border-right: 4px solid #00c2da;
}

.pageMenu__item--small a {
  font-size: 1rem;
}
.pageMenu__item.is-collapsed {
  opacity: 0;
  visibility: hidden;
}

/**
 * Project - Personality Test
 */
.personalityTest {
  position: relative;
  width: 100%;
  height: 27rem;
  padding: var(--spacing--x-large) 0;
}
.personalityTest__main {
  position: absolute;
  inset: 0;
  bottom: 3rem;
  width: 27rem;
  height: 18rem;
  margin: auto;
  border: 2px solid var(--color--darkest);
  background-color: var(--color--lightest);
  box-shadow: 3px 3px 12px 3px rgba(0, 0, 0, 0.3);
}
.personalityTest__main--start {
  background: url("./assets/personalityTestStart.png") no-repeat 50% 0%/80% scroll, var(--color--lightest);
}
.personalityTest__main:not(.personalityTest__main--start)::before {
  content: "";
  position: absolute;
  top: -1rem;
  left: 1rem;
  z-index: 10;
  display: block;
  width: 4.5rem;
  height: 6rem;
  background: url("./assets/personalityLabel.png") no-repeat 0% 0%/contain scroll;
}
.personalityTest__main:not(.personalityTest__main--start)::after {
  content: "問" attr(data-index);
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  z-index: 10;
  display: block;
  width: 3.5rem;
  color: var(--color--lightest);
  font-size: 1.33rem;
  text-align: center;
}
.personalityTest__main.personalityTest__main--result::after {
  content: "結果";
}
.personalityTest__main--leave {
  animation: slide-out 0.5s ease;
}
.personalityTest__main--enter {
  animation: slide-in 0.5s ease;
}
.personalityTest__main--collapse {
  display: none;
}
.personalityTest__content {
  padding: 4rem 3rem 0;
  text-align: justify;
}
.personalityTest__form {
  display: flex;
  justify-content: space-around;
  gap: 1.5rem;
  padding: 0 3rem;
}
.personalityTest__button {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12.5%;
  display: block;
  width: 12rem;
  height: 3rem;
  line-height: 3rem;
  margin-inline: auto;
  border: 0;
  border-radius: 1.5rem;
  text-align: center;
  text-decoration: none;
  word-break: break-word;
  outline: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: all 0.25s ease;
  background-color: var(--color--tertiary);
  color: var(--color--lightest);
}
.personalityTest__button:hover {
  text-decoration: none;
  transform: translateY(-3px);
  box-shadow: 2px 4px 6px var(--color--darkest);
}
.personalityTest__main--start .personalityTest__button {
  bottom: 25%;
}

.personalityTest__button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0.75rem;
  bottom: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
}
.personalityTest__result {
  padding-inline-start: 7.5rem;
}
.personalityTest__result ul, .personalityTest__result li {
  margin: 0;
}
.personalityTest__reset {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5rem;
  display: block;
  width: 12rem;
  margin: auto;
  padding-inline-end: 1.5rem;
  border-block-end: 1px dashed transparent;
  color: var(--color--lightest);
  text-align: center;
}
.personalityTest__reset:hover {
  border-block-end: 1px dashed var(--color--lightest);
  color: var(--color--lightest);
}
.personalityTest__reset::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  margin: auto var(--spacing--medium);
  border-top: 2px solid var(--color--lightest);
  border-right: 2px solid var(--color--lightest);
  transform: rotate(45deg);
}

@keyframes slide-out {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 1;
    transform: translateX(-120%);
  }
}
@keyframes slide-in {
  0% {
    opacity: 1;
    transform: translateX(120%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/**
 * Project - Personality Result
 */
.personalityResult__main {
  position: relative;
  margin-block-start: var(--spacing--large);
  padding-inline: var(--spacing--medium);
  border-block: 2px solid var(--color--darkest);
  background-color: var(--color--lightest);
}
.personalityResult__main::before {
  content: "";
  position: absolute;
  top: -1rem;
  left: 1.5rem;
  z-index: 10;
  display: block;
  width: 4.5rem;
  height: 6rem;
  background: url("./assets/personalityLabel.png") no-repeat 0% 0%/contain scroll;
}
.personalityResult__main::after {
  content: "結果";
  position: absolute;
  top: 0.5rem;
  left: 1.5rem;
  z-index: 10;
  display: block;
  width: 3.5rem;
  color: var(--color--lightest);
  font-size: 1.33rem;
  text-align: center;
}
.personalityResult__name {
  font-weight: 700;
  text-align: center;
}
.personalityResult__name--aside {
  margin: 0;
  color: var(--color--lightest);
}
.personalityResult__subName {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  text-align: center;
}
.personalityResult__subName--aside {
  margin: 0;
  color: var(--color--lightest);
}
.personalityResult__image {
  margin: var(--spacing--medium);
  border: 2px solid var(--color--darkest);
  border-radius: var(--spacing--medium);
  overflow: hidden;
}
.personalityResult__lead {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: var(--spacing--small);
  padding: var(--spacing--x-small);
  border: 2px solid var(--color--darkest);
  background-color: var(--color--lightest);
  box-shadow: 3px 3px 3px 3px #fedf7b;
}
.personalityResult__lead > img {
  width: auto;
  height: 1.17rem;
}
.personalityResult__content {
  padding: var(--spacing--small);
  text-align: justify;
}
.personalityResult__content--aside {
  margin: 0;
  padding-block: 0;
  color: var(--color--lightest);
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.personalityResult__row {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: var(--spacing--small);
}
.personalityResult__col {
  flex: 1 1 50%;
}
.personalityResult__headline {
  width: 83.33%;
  margin: 0 0 var(--spacing--small);
  padding: var(--spacing--x-small);
  border: 1px solid var(--color--darkest);
  border-radius: var(--spacing--medium);
  font-size: 0.875rem;
  text-align: center;
}
.personalityResult__list {
  list-style: none;
  padding-inline-start: 0;
  position: relative;
  width: calc(100% + 1.5em);
  margin: 0;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.personalityResult__listItem {
  margin: 0;
}
.personalityResult__aside {
  padding: var(--spacing--small) 0;
}
.personalityResult__subHeading {
  color: var(--color--lightest);
  text-align: center;
}
.personalityResult__banner {
  aspect-ratio: 2;
  width: 27rem;
  margin: auto;
  padding-block: 2.25rem;
}
.personalityResult__banner--self {
  background: url("./assets/selfBannerOuter.png") no-repeat 50% 50%/contain scroll;
}
.personalityResult__banner--self > a {
  width: 21rem;
}
.personalityResult__banner--matching {
  background: url("./assets/matchingBannerOuter.png") no-repeat 50% 50%/contain scroll;
}
.personalityResult__banner--matching > a {
  width: 21rem;
}
.personalityResult__banner--column {
  background: url("./assets/columnBannerOuter.png") no-repeat 50% 50%/contain scroll;
}
.personalityResult__banner--column > a {
  width: 15rem;
}
.personalityResult__banner--moneyplan {
  background: url("./assets/moneyplanBannerOuter.png") no-repeat 50% 50%/contain scroll;
}
.personalityResult__banner--moneyplan > a {
  width: 18rem;
}
.personalityResult__banner--support {
  background: url("./assets/supportBannerOuter.png") no-repeat 50% 50%/contain scroll;
}
.personalityResult__banner--support > a {
  width: 18rem;
}
.personalityResult__banner > a {
  display: block;
  margin: 0 auto;
}
.personalityResult__banner > a > img {
  transition: all 0.5s ease;
}
.personalityResult__banner > a:hover > img {
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.personalityResult__banner > a::after {
  content: "";
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  margin: var(--spacing--small) auto;
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
  transition: all 0.5s ease;
}
.personalityResult__banner > a:hover::after {
  filter: brightness(0.7) hue-rotate(-120deg) drop-shadow(2px 4px 6px var(--color--dark));
}
.personalityResult__clipImage {
  margin: 0 var(--spacing--medium);
}
.personalityResult__hearts {
  margin-block: var(--spacing--small);
}
.personalityResult__viewmore {
  margin: 0;
  text-align: center;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.personalityResult__viewmore a {
  padding-block-end: var(--spacing--x-small);
  border-block-end: 1px dashed var(--color--lightest);
  color: var(--color--lightest);
}

/**
 * Project - 8 Types
 */
.personalityTypes__header {
  position: relative;
  height: 7.5rem;
}
.personalityTypes__header::after {
  content: "";
  position: absolute;
  right: 3rem;
  bottom: 0;
  z-index: 0;
  width: 25.5rem;
  height: 7.5rem;
  border: 2px solid var(--color--darkest);
  background-color: #ffa188;
  transform: skewX(-60deg);
  transform-origin: bottom;
}
.personalityTypes__headerInner {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
  width: 22.5rem;
  margin: 0 0 0 auto;
}
.personalityTypes__heading {
  width: 12rem;
  margin: 0 auto;
}
.personalityTypes__desc {
  color: var(--color--lightest);
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
  line-height: 1.2;
  text-align: center;
}
.personalityTypes__body {
  position: relative;
  width: 25.5rem;
  margin-inline-start: auto;
  margin-inline-end: 3rem;
  margin-block-end: 3rem;
  background-color: var(--color--lightest);
}
.personalityTypes__body::after {
  content: "";
  position: absolute;
  left: 100%;
  bottom: 0;
  width: 9rem;
  height: 100%;
  border-block-end: 2px solid var(--color--darkest);
  background-color: #fedf7b;
  transform: skewY(-30deg);
  transform-origin: left;
}
.personalityTypes__row {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.personalityTypes__col {
  flex: 1 1 50%;
  padding: var(--spacing--medium);
  border: 1px solid var(--color--darkest);
}
.personalityTypes__col:nth-child(1), .personalityTypes__col:nth-child(2) {
  border-block-start: 0;
}
.personalityTypes__col:nth-child(2n) {
  border-inline-start: 0;
}
.personalityTypes__clipImage {
  margin: var(--spacing--small) 0;
}
.personalityTypes__name {
  margin: 0;
  font-weight: 700;
  text-align: center;
}
.personalityTypes__subName {
  margin: 0;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  text-align: center;
}
.personalityTypes__content {
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
  text-align: justify;
}
.personalityTypes__viewmore {
  margin: 0;
  text-align: center;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.personalityTypes__viewmore a {
  padding-block-end: var(--spacing--x-small);
  border-block-end: 1px dashed var(--color--darkest);
}

/**
 * Component - Icon
 */
.icon {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  fill: currentColor;
}
.icon--md {
  width: 2.25rem;
  height: 2.25rem;
}
.icon--lg {
  width: 3rem;
  height: 3rem;
}
.icon__span {
  position: relative;
  display: block;
  border-width: 0;
  border-style: solid;
  border-color: var(--color--lightest);
  transition: border-color 0.25s ease;
}
.icon--menu .icon__span {
  width: 60%;
  height: 20%;
  margin: 40% 20%;
  border-block-start-width: 2px;
  border-block-end-width: 2px;
}
.icon--close .icon__span::before, .icon--close .icon__span::after {
  content: "";
  position: absolute;
  display: block;
  width: 60%;
  height: 4%;
  margin: 48% 20%;
  border: 1px solid var(--color--lightest);
  transform: rotate(-45deg);
}
.icon--close .icon__span::after {
  transform: rotate(45deg);
}
.icon--chevron-up .icon__span {
  width: 30%;
  height: 30%;
  margin: 35%;
  border-block-start-width: 2px;
  border-inline-start-width: 2px;
  transform: rotate(45deg) translate(10%, 10%);
}
.icon--chevron-down .icon__span {
  width: 30%;
  height: 30%;
  margin: 35%;
  border-inline-end-width: 2px;
  border-block-end-width: 2px;
  transform: rotate(45deg) translate(-10%, -10%);
}
.icon--chevron-left .icon__span {
  width: 30%;
  height: 30%;
  margin: 35%;
  border-inline-start-width: 2px;
  border-block-end-width: 2px;
  transform: rotate(45deg) translate(10%, -10%);
}
.icon--chevron-right .icon__span {
  width: 30%;
  height: 30%;
  margin: 35%;
  border-block-start-width: 2px;
  border-inline-end-width: 2px;
  transform: rotate(45deg) translate(-10%, 10%);
}

/**
 * Component - Back To Top
 */
.backToTop {
  position: fixed;
  right: var(--spacing--small);
  bottom: calc(var(--spacing--small) + 4.5rem);
  z-index: 1000;
  display: block;
  width: 3rem;
  height: 3rem;
  padding: 0;
  opacity: 0;
  transform: translateY(1rem) rotateY(-180deg);
  transition: all 0.5s ease;
  text-align: center;
  outline: 0;
  cursor: default;
  pointer-events: none;
}
@media (min-width: 900px) {
  .backToTop {
    bottom: var(--spacing--small);
  }
}
.backToTop--active {
  opacity: 1;
  transform: translateY(0) rotateY(0);
  cursor: pointer;
  pointer-events: auto;
}
.backToTop > .icon {
  border-radius: 50%;
  background-color: var(--color--primary--active);
  transition: background-color 0.25s ease;
}
.backToTop > .icon > .icon__span, .backToTop > .icon > .icon__span::before, .backToTop > .icon > .icon__span::after {
  border-color: var(--color--lightest);
}
.backToTop:hover > .icon {
  background-color: var(--color--primary);
}
.backToTop:hover > .icon > .icon__span, .backToTop:hover > .icon > .icon__span::before, .backToTop:hover > .icon > .icon__span::after {
  border-color: var(--color--darkest);
}

/**
 * Component - Banner
 */
.banner {
  display: flex;
  align-items: center;
  width: 27rem;
  aspect-ratio: 9/2;
  margin: var(--spacing--large) auto;
  padding: var(--spacing--small);
  background: url("./assets/bannerBg.svg") no-repeat 50% 50%/contain scroll;
}
@media (min-width: 900px) {
  .banner--siteMain {
    width: clamp(27rem, 100%, 36rem);
  }
}
.banner__inner a {
  position: relative;
  display: block;
  width: calc(75% + 2.25rem);
  margin: 0 auto;
  padding-inline-end: 2.25rem;
}
.banner__inner a > img {
  transition: all 0.5s ease;
}
.banner__inner a:hover > img {
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.banner__inner a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  margin: auto;
  background: url("./assets/button.svg") no-repeat 50% 50%/contain scroll;
  transition: all 0.5s ease;
}
.banner__inner a:hover::after {
  filter: brightness(0.7) hue-rotate(-120deg) drop-shadow(2px 4px 6px var(--color--dark));
}
.banner__inner p {
  margin-block: var(--spacing--x-small);
  color: var(--color--lightest);
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
  text-align: center;
}

/**
 * Conponent - Button
 */
.button {
  display: block;
}
p + .button {
  margin-block-start: 4.5rem;
  margin-block-end: var(--spacing--large);
}
.button img {
  transition: all 0.5s ease;
}
.button:hover img {
  transform: translateY(-3px);
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}

/**
 * Project - Chat
 */
.chat {
  border: 2px solid var(--color--darkest);
  border-radius: var(--spacing--medium);
  background-color: var(--color--secondary);
}
.chat__headline {
  margin-block: 2.5rem 2rem;
  margin-inline-start: var(--spacing--medium);
  padding-inline-start: 0.375rem;
  border-inline-start: 0.375rem solid var(--color--lightest);
  color: var(--color--lightest);
}
.chat__list {
  list-style: none;
  padding-inline-start: 0;
  font-size: 0.875rem;
}
.chat__item {
  position: relative;
}
.chat__item--dr::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6rem;
  height: 5rem;
  background: url("./assets/iconDr.png") no-repeat 50% 50%/contain scroll;
}
.chat__item--efa::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 6rem;
  height: 5rem;
  background: url("./assets/iconEFA.png") no-repeat 50% 50%/contain scroll;
}
.chat__balloon {
  position: relative;
  width: 15rem;
  margin: var(--spacing--medium) auto;
  padding: var(--spacing--x-small) var(--spacing--small);
  border: 2px solid var(--color--darkest);
  background-color: var(--color--lightest);
}
.chat__balloon.chat__balloon--left {
  box-shadow: -0.5rem 0.5rem #fedf7b;
}
.chat__balloon.chat__balloon--left.chat__balloon--long {
  width: 19.5rem;
  transform: translateX(2.25rem);
}
.chat__balloon.chat__balloon--left::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: calc(2px - 1.9rem);
  z-index: 2;
  margin-block-start: -0.5rem;
  border: 0.5rem solid transparent;
  border-inline-end: 1.5rem solid var(--color--lightest);
}
.chat__balloon.chat__balloon--left:after {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: calc(1px - 2.1rem);
  z-index: 1;
  margin-block-start: -0.5rem;
  border: 0.5rem solid transparent;
  border-inline-end: 1.5rem solid var(--color--darkest);
}
.chat__balloon.chat__balloon--right {
  box-shadow: 0.5rem 0.5rem #ee8592;
}
.chat__balloon.chat__balloon--right.chat__balloon--semilong {
  width: 18rem;
  transform: translateX(-1.5rem);
}
.chat__balloon.chat__balloon--right::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  right: -1.9rem;
  z-index: 2;
  margin-block-start: -0.5rem;
  border: 0.5rem solid transparent;
  border-inline-start: 1.5rem solid var(--color--lightest);
}
.chat__balloon.chat__balloon--right:after {
  content: "";
  position: absolute;
  top: 1.5rem;
  right: -2.1rem;
  z-index: 1;
  margin-block-start: -0.5rem;
  border: 0.5rem solid transparent;
  border-inline-start: 1.6rem solid var(--color--darkest);
}
.chat__marker {
  background-color: #f3f5c6;
}
.chat__good {
  display: block;
  width: 4.5rem;
  padding-block: var(--spacing--small);
}
.chat__good--left {
  margin-left: 6rem;
  margin-right: auto;
}
.chat__note {
  margin-block-start: var(--spacing--large);
  padding: var(--spacing--small) var(--spacing--medium);
  border-block: 1px solid var(--color--darkest);
  background-color: var(--color--lighter);
}
.chat__figure {
  padding: var(--spacing--medium) var(--spacing--x-small);
}

/**
 * Component - Drawer Menu
 */
.drawer {
  position: fixed;
  top: var(--spacing--small);
  right: var(--spacing--small);
  z-index: 1110;
  display: block;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  text-align: center;
  outline: 0;
  cursor: pointer;
}
.drawer__navicon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1110;
  opacity: 0;
  transform: rotateY(-180deg);
  transition: all 0.5s ease;
}
.drawer__navicon > .icon {
  border-radius: 0;
  background-color: var(--color--primary--active);
  transition: background-color 0.25s ease;
}
.drawer__navicon > .icon > .icon__span, .drawer__navicon > .icon > .icon__span::before, .drawer__navicon > .icon > .icon__span::after {
  border-color: var(--color--lightest);
}
.drawer__navicon:hover > .icon {
  background-color: var(--color--primary);
}
.drawer__navicon:hover > .icon > .icon__span, .drawer__navicon:hover > .icon > .icon__span::before, .drawer__navicon:hover > .icon > .icon__span::after {
  border-color: var(--color--darkest);
}
.drawer:not(.drawer--active):not(.drawer--ready) .drawer__navicon {
  opacity: 1;
  transform: rotateY(0);
}
.drawer__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1100;
  opacity: 1;
  transform: rotateY(0);
  transition: all 0.5s ease;
}
.drawer__close > .icon {
  border-radius: 0;
  background-color: transparent;
  transition: background-color 0.25s ease;
}
.drawer__close > .icon > .icon__span, .drawer__close > .icon > .icon__span::before, .drawer__close > .icon > .icon__span::after {
  border-color: var(--color--lightest);
}
.drawer__close:hover > .icon {
  background-color: transparent;
}
.drawer__close:hover > .icon > .icon__span, .drawer__close:hover > .icon > .icon__span::before, .drawer__close:hover > .icon > .icon__span::after {
  border-color: var(--color--darkest);
}
.drawer:not(.drawer--active) .drawer__close {
  opacity: 0;
  transform: rotateY(180deg);
}

.drawerMenu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: var(--color--primary--active);
  text-align: center;
  transition: width 0.5s ease;
}
@media (min-width: 600px) {
  .drawerMenu {
    width: 78.75vh;
  }
}
.drawerMenu:not(.drawerMenu--show) {
  width: 0;
}
.drawerMenu__inner {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  width: 24rem;
  height: 100%;
  margin: 0 auto;
  padding-inline-start: 0;
  text-align: left;
  opacity: 1;
}
@media (min-width: 600px) {
  .drawerMenu__inner {
    width: 45vh;
  }
}
.drawerMenu__inner:not(.drawerMenu__inner--show) {
  opacity: 0;
}
.drawerMenu__inner--collapse {
  display: none;
}
.drawerMenu__siteBrand, .drawerMenu__copyright {
  width: 24rem;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .drawerMenu__siteBrand, .drawerMenu__copyright {
    width: 45vh;
  }
}
.drawerMenu__copyright {
  width: 19.5rem;
}
@media (min-width: 600px) {
  .drawerMenu__copyright {
    width: 36.5625vh;
  }
}
.drawerMenu__mainLink, .drawerMenu__subLink {
  position: relative;
  display: block;
  width: 24rem;
  margin: 3rem auto;
  padding: 1.5rem;
  border: 1px solid var(--color--primary--active);
  border-radius: 3rem;
  background-color: var(--color--lightest);
  color: var(--color--primary--active);
  text-align: center;
  transition: all 0.25s ease;
}
@media (min-width: 600px) {
  .drawerMenu__mainLink, .drawerMenu__subLink {
    width: 45vh;
    margin: 5.625vh auto;
    padding: 2.8125vh 0;
    border-radius: 5.625vh;
    font-size: 1.875vh;
  }
}
.drawerMenu__mainLink:hover, .drawerMenu__subLink:hover {
  border: 1px solid var(--color--lightest);
  background-color: var(--color--primary--active);
  color: var(--color--lightest);
}
.drawerMenu__mainLink::after, .drawerMenu__subLink::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.5rem;
  height: 0.5rem;
  margin: auto var(--spacing--medium);
  border-top: 2px solid var(--color--primary--active);
  border-right: 2px solid var(--color--primary--active);
  transform: rotate(45deg);
}
.drawerMenu__mainLink:hover::after, .drawerMenu__subLink:hover::after {
  border-color: var(--color--lightest);
}
.drawerMenu__subLink {
  border: 1px solid var(--color--lightest);
  background-color: var(--color--primary--active);
  color: var(--color--lightest);
}
.drawerMenu__subLink:hover {
  border: 1px solid var(--color--primary--active);
  background-color: var(--color--lightest);
  color: var(--color--primary--active);
}
.drawerMenu__subLink::after {
  border-top: 2px solid var(--color--lightest);
  border-right: 2px solid var(--color--lightest);
}
.drawerMenu__subLink:hover::after {
  border-color: var(--color--primary--active);
}
.drawerMenu__primaryMenu {
  list-style: none;
  flex: 1 1 100%;
  margin-block: 0;
  padding-inline-start: 0;
}
.drawerMenu__item {
  width: 100%;
  margin: 0;
  text-transform: capitalize;
}
.drawerMenu__item a {
  position: relative;
  display: block;
  padding: 0.375rem 0.75rem;
  border-block-end: 1px solid var(--color--lightest);
  color: var(--color--lightest);
  fill: var(--color--lightest);
  text-decoration: none;
  transition: all 0.25s ease;
}
.drawerMenu__item:nth-child(1) a {
  border-block-start: 1px solid var(--color--lightest);
}

@media (min-width: 600px) {
  .drawerMenu__item a {
    padding: 0.703125vh 1.40625vh;
    font-size: 1.875vh;
  }
}
.drawerMenu__item a:hover {
  background-color: var(--color--primary);
  color: var(--color--darkest);
  fill: var(--color--darkest);
}
.drawerMenu__item a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.5rem;
  height: 0.5rem;
  margin: auto var(--spacing--small);
  border-top: 2px solid var(--color--lightest);
  border-right: 2px solid var(--color--lightest);
  transform: rotate(45deg);
}
.drawerMenu__item a:hover::after {
  border-color: var(--color--darkest);
}

.drawerMenuOverlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1090;
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.drawerMenuOverlay--collapse {
  display: none;
}

/**
 * Component - Floaty
 */
.floaty {
  animation: floatY 3s ease-in-out infinite;
  animation-play-state: paused;
  transform: translateY(0);
}
.is-inview .floaty {
  animation-play-state: running;
}

@keyframes floatY {
  0% {
    transform: translateY(3px);
  }
  50% {
    transform: translateY(-3px);
  }
  100% {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .floaty {
    transform: none;
    animation: none;
  }
}
/**
 * Form
 */
.form {
  margin-block-end: var(--spacing--large);
}
.form label span.required {
  color: #cc3333;
  font-size: var(--small-font-size);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
}
.form input[type=text], .form input[type=number], .form input[type=tel], .form input[type=url], .form input[type=email], .form input[type=password], .form input[type=file], .form select, .form optgroup, .form textarea {
  display: block;
  width: 100%;
  padding: var(--spacing--x-small);
  border-radius: var(--spacing--x-small);
}
.form input[type=file] {
  outline: 0;
}
.form textarea {
  resize: vertical;
}
.form--consultation {
  padding: var(--spacing--medium);
  background-color: var(--color--lightest);
}
.form__table {
  width: 100%;
}
@media (max-width: 599.9px) {
  .form__table, .form__table thead, .form__table tbody, .form__table tr, .form__table th, .form__table td {
    display: block;
  }
}
.form__table thead, .form__table tbody {
  width: 100%;
}
.form__table thead {
  border: 0;
}
.form__table tr {
  border-block-end: 1px solid var(--color--lighter);
}
.form__table tr:first-child {
  border-block-start: 1px solid var(--color--lighter);
}
.form__table th, .form__table td {
  padding: var(--spacing--small);
  border: 0;
}
.form__title {
  font-weight: 700;
  text-align: center;
}
.form__component {
  margin-block: var(--spacing--medium);
}
.form__label {
  display: block;
  margin-block: var(--spacing--small);
  font-weight: 700;
}
.form__unit {
  display: inline-block;
  margin-inline-start: var(--spacing--small);
}
.form__radio {
  display: flex;
  justify-content: flex-start;
  gap: 1.5rem;
}
.form__radio .radio {
  display: flex;
}
.form input[type=number] {
  display: inline-block;
  width: 6rem;
}
.form input[type=checkbox] {
  display: inline-block;
  transform: scale(1.5, 1.5);
}
.form__desc {
  padding: 0 var(--spacing--small) var(--spacing--small);
  font-size: 0.875rem;
}
.form__privacy-policy {
  border-block-end: 1px dashed transparent;
}
.form__privacy-policy:hover {
  border-block-end: 1px dashed var(--color--darkest);
}
.form__privacy-policy::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin: auto 0 auto var(--spacing--medium);
  border-top: 2px solid var(--color--darkest);
  border-right: 2px solid var(--color--darkest);
  transform: rotate(45deg);
}
.form__buttons {
  margin-block: var(--spacing--medium);
  text-align: center;
}
.form__buttons button {
  padding: 0;
  border: 0;
  background-color: transparent;
}
.form__buttons img {
  width: auto;
  height: 3rem;
  margin-block: var(--spacing--medium);
  transition: all 0.5s ease;
  cursor: pointer;
}
.form__buttons img:hover {
  transform: translateY(-3px);
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
.form__buttons [type=submit], .form__buttons [type=button], .form__buttons [type=reset] {
  display: inline-block;
  width: auto;
  height: 3rem;
  margin-inline: auto;
}

/**
 * Conponent - Radio
 */
.radio {
  display: flex;
  align-items: center;
  font-family: sans-serif;
  cursor: pointer;
}
.radio input[type=radio] {
  display: none;
}
.radio__mark {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--color--darkest);
  border-radius: 1rem;
  font-weight: bold;
  font-size: 1.33rem;
  background-color: var(--color--lightest);
  color: transparent;
  transition: color 0.5s ease;
}
.radio input[type=radio]:checked + .radio__mark {
  content: "✓";
  color: var(--color--darkest);
}
.radio input[type=radio]:checked + .radio__mark::before {
  content: "✓";
}

/**
 * Component - Reveal On Scroll
 */
[data-reveal] {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  will-change: opacity, transform;
}

.is-inview {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/**
 * Conponent - Text Media
 */
.textMedia {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: center;
  gap: var(--spacing--small);
}
.textMedia__media {
  flex: 1 1 30%;
  order: 2;
  margin: 0;
}
.textMedia__text {
  flex: 2 2 60%;
  order: 1;
}
.textMedia__text h3:has(img) {
  width: -moz-fit-content;
  width: fit-content;
  height: 4.5rem;
}
.textMedia__text h3:has(img) img {
  width: auto;
  height: 100%;
}
.textMedia__largeText {
  font-size: 1.5em;
}

/**
 * Project - Floating Area
 */
.floatingArea {
  position: fixed;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 4.5rem;
  overflow: hidden;
}
@media (min-width: 900px) {
  .floatingArea {
    top: 4rem;
    bottom: auto;
    display: block;
    width: 12rem;
    height: 24rem;
  }
}
.floatingArea__button {
  display: block;
  flex: 1 1 50%;
  transition: all 0.25s ease;
}
.floatingArea__button:hover {
  filter: drop-shadow(2px 4px 6px var(--color--dark));
}
@media (min-width: 900px) {
  .floatingArea__button {
    position: relative;
    right: -2rem;
    width: 12rem;
  }
  .floatingArea__button:hover {
    transform: translateY(-3px);
  }
  .floatingArea__button:nth-child(2) {
    top: -3rem;
  }
}

/**
 * Project - Footer
 */
.footer {
  padding: var(--spacing--large) 0 var(--spacing--x-large);
  background-color: var(--color--darkest);
  color: var(--color--lightest);
  text-align: center;
}
@media (min-width: 900px) {
  .footer {
    padding-block-end: var(--spacing--large);
  }
}
.footer small {
  display: block;
}
@media (min-width: 900px) {
  .footer small {
    display: inline-block;
    padding-inline: var(--spacing--x-small);
  }
}

/**
 * Utility - Spacing
 */
.util--m_none {
  margin: 0 !important;
}

.util--m_x-small {
  margin: 0.375rem !important;
}

.util--m_small {
  margin: 0.75rem !important;
}

.util--m_medium {
  margin: 1.5rem !important;
}

.util--m_large {
  margin: 3rem !important;
}

.util--m_x-large {
  margin: 6rem !important;
}

.util--m_sm-none {
  margin: 0 !important;
}

.util--m_sm-x-small {
  margin: 0.375rem !important;
}

.util--m_sm-small {
  margin: 0.75rem !important;
}

.util--m_sm-medium {
  margin: 1.5rem !important;
}

.util--m_sm-large {
  margin: 3rem !important;
}

.util--m_sm-x-large {
  margin: 6rem !important;
}

.util--m_md-none {
  margin: 0 !important;
}

.util--m_md-x-small {
  margin: 0.375rem !important;
}

.util--m_md-small {
  margin: 0.75rem !important;
}

.util--m_md-medium {
  margin: 1.5rem !important;
}

.util--m_md-large {
  margin: 3rem !important;
}

.util--m_md-x-large {
  margin: 6rem !important;
}

.util--m_lg-none {
  margin: 0 !important;
}

.util--m_lg-x-small {
  margin: 0.375rem !important;
}

.util--m_lg-small {
  margin: 0.75rem !important;
}

.util--m_lg-medium {
  margin: 1.5rem !important;
}

.util--m_lg-large {
  margin: 3rem !important;
}

.util--m_lg-x-large {
  margin: 6rem !important;
}

.util--mt_none {
  margin-block-start: 0 !important;
}

.util--mt_x-small {
  margin-block-start: 0.375rem !important;
}

.util--mt_small {
  margin-block-start: 0.75rem !important;
}

.util--mt_medium {
  margin-block-start: 1.5rem !important;
}

.util--mt_large {
  margin-block-start: 3rem !important;
}

.util--mt_x-large {
  margin-block-start: 6rem !important;
}

.util--mt_sm-none {
  margin-block-start: 0 !important;
}

.util--mt_sm-x-small {
  margin-block-start: 0.375rem !important;
}

.util--mt_sm-small {
  margin-block-start: 0.75rem !important;
}

.util--mt_sm-medium {
  margin-block-start: 1.5rem !important;
}

.util--mt_sm-large {
  margin-block-start: 3rem !important;
}

.util--mt_sm-x-large {
  margin-block-start: 6rem !important;
}

.util--mt_md-none {
  margin-block-start: 0 !important;
}

.util--mt_md-x-small {
  margin-block-start: 0.375rem !important;
}

.util--mt_md-small {
  margin-block-start: 0.75rem !important;
}

.util--mt_md-medium {
  margin-block-start: 1.5rem !important;
}

.util--mt_md-large {
  margin-block-start: 3rem !important;
}

.util--mt_md-x-large {
  margin-block-start: 6rem !important;
}

.util--mt_lg-none {
  margin-block-start: 0 !important;
}

.util--mt_lg-x-small {
  margin-block-start: 0.375rem !important;
}

.util--mt_lg-small {
  margin-block-start: 0.75rem !important;
}

.util--mt_lg-medium {
  margin-block-start: 1.5rem !important;
}

.util--mt_lg-large {
  margin-block-start: 3rem !important;
}

.util--mt_lg-x-large {
  margin-block-start: 6rem !important;
}

.util--ml_none {
  margin-inline-start: 0 !important;
}

.util--ml_x-small {
  margin-inline-start: 0.375rem !important;
}

.util--ml_small {
  margin-inline-start: 0.75rem !important;
}

.util--ml_medium {
  margin-inline-start: 1.5rem !important;
}

.util--ml_large {
  margin-inline-start: 3rem !important;
}

.util--ml_x-large {
  margin-inline-start: 6rem !important;
}

.util--ml_sm-none {
  margin-inline-start: 0 !important;
}

.util--ml_sm-x-small {
  margin-inline-start: 0.375rem !important;
}

.util--ml_sm-small {
  margin-inline-start: 0.75rem !important;
}

.util--ml_sm-medium {
  margin-inline-start: 1.5rem !important;
}

.util--ml_sm-large {
  margin-inline-start: 3rem !important;
}

.util--ml_sm-x-large {
  margin-inline-start: 6rem !important;
}

.util--ml_md-none {
  margin-inline-start: 0 !important;
}

.util--ml_md-x-small {
  margin-inline-start: 0.375rem !important;
}

.util--ml_md-small {
  margin-inline-start: 0.75rem !important;
}

.util--ml_md-medium {
  margin-inline-start: 1.5rem !important;
}

.util--ml_md-large {
  margin-inline-start: 3rem !important;
}

.util--ml_md-x-large {
  margin-inline-start: 6rem !important;
}

.util--ml_lg-none {
  margin-inline-start: 0 !important;
}

.util--ml_lg-x-small {
  margin-inline-start: 0.375rem !important;
}

.util--ml_lg-small {
  margin-inline-start: 0.75rem !important;
}

.util--ml_lg-medium {
  margin-inline-start: 1.5rem !important;
}

.util--ml_lg-large {
  margin-inline-start: 3rem !important;
}

.util--ml_lg-x-large {
  margin-inline-start: 6rem !important;
}

.util--mr_none {
  margin-inline-end: 0 !important;
}

.util--mr_x-small {
  margin-inline-end: 0.375rem !important;
}

.util--mr_small {
  margin-inline-end: 0.75rem !important;
}

.util--mr_medium {
  margin-inline-end: 1.5rem !important;
}

.util--mr_large {
  margin-inline-end: 3rem !important;
}

.util--mr_x-large {
  margin-inline-end: 6rem !important;
}

.util--mr_sm-none {
  margin-inline-end: 0 !important;
}

.util--mr_sm-x-small {
  margin-inline-end: 0.375rem !important;
}

.util--mr_sm-small {
  margin-inline-end: 0.75rem !important;
}

.util--mr_sm-medium {
  margin-inline-end: 1.5rem !important;
}

.util--mr_sm-large {
  margin-inline-end: 3rem !important;
}

.util--mr_sm-x-large {
  margin-inline-end: 6rem !important;
}

.util--mr_md-none {
  margin-inline-end: 0 !important;
}

.util--mr_md-x-small {
  margin-inline-end: 0.375rem !important;
}

.util--mr_md-small {
  margin-inline-end: 0.75rem !important;
}

.util--mr_md-medium {
  margin-inline-end: 1.5rem !important;
}

.util--mr_md-large {
  margin-inline-end: 3rem !important;
}

.util--mr_md-x-large {
  margin-inline-end: 6rem !important;
}

.util--mr_lg-none {
  margin-inline-end: 0 !important;
}

.util--mr_lg-x-small {
  margin-inline-end: 0.375rem !important;
}

.util--mr_lg-small {
  margin-inline-end: 0.75rem !important;
}

.util--mr_lg-medium {
  margin-inline-end: 1.5rem !important;
}

.util--mr_lg-large {
  margin-inline-end: 3rem !important;
}

.util--mr_lg-x-large {
  margin-inline-end: 6rem !important;
}

.util--mb_none {
  margin-block-end: 0 !important;
}

.util--mb_x-small {
  margin-block-end: 0.375rem !important;
}

.util--mb_small {
  margin-block-end: 0.75rem !important;
}

.util--mb_medium {
  margin-block-end: 1.5rem !important;
}

.util--mb_large {
  margin-block-end: 3rem !important;
}

.util--mb_x-large {
  margin-block-end: 6rem !important;
}

.util--mb_sm-none {
  margin-block-end: 0 !important;
}

.util--mb_sm-x-small {
  margin-block-end: 0.375rem !important;
}

.util--mb_sm-small {
  margin-block-end: 0.75rem !important;
}

.util--mb_sm-medium {
  margin-block-end: 1.5rem !important;
}

.util--mb_sm-large {
  margin-block-end: 3rem !important;
}

.util--mb_sm-x-large {
  margin-block-end: 6rem !important;
}

.util--mb_md-none {
  margin-block-end: 0 !important;
}

.util--mb_md-x-small {
  margin-block-end: 0.375rem !important;
}

.util--mb_md-small {
  margin-block-end: 0.75rem !important;
}

.util--mb_md-medium {
  margin-block-end: 1.5rem !important;
}

.util--mb_md-large {
  margin-block-end: 3rem !important;
}

.util--mb_md-x-large {
  margin-block-end: 6rem !important;
}

.util--mb_lg-none {
  margin-block-end: 0 !important;
}

.util--mb_lg-x-small {
  margin-block-end: 0.375rem !important;
}

.util--mb_lg-small {
  margin-block-end: 0.75rem !important;
}

.util--mb_lg-medium {
  margin-block-end: 1.5rem !important;
}

.util--mb_lg-large {
  margin-block-end: 3rem !important;
}

.util--mb_lg-x-large {
  margin-block-end: 6rem !important;
}

.util--p_none {
  padding: 0 !important;
}

.util--p_x-small {
  padding: 0.375rem !important;
}

.util--p_small {
  padding: 0.75rem !important;
}

.util--p_medium {
  padding: 1.5rem !important;
}

.util--p_large {
  padding: 3rem !important;
}

.util--p_x-large {
  padding: 6rem !important;
}

.util--p_sm-none {
  padding: 0 !important;
}

.util--p_sm-x-small {
  padding: 0.375rem !important;
}

.util--p_sm-small {
  padding: 0.75rem !important;
}

.util--p_sm-medium {
  padding: 1.5rem !important;
}

.util--p_sm-large {
  padding: 3rem !important;
}

.util--p_sm-x-large {
  padding: 6rem !important;
}

.util--p_md-none {
  padding: 0 !important;
}

.util--p_md-x-small {
  padding: 0.375rem !important;
}

.util--p_md-small {
  padding: 0.75rem !important;
}

.util--p_md-medium {
  padding: 1.5rem !important;
}

.util--p_md-large {
  padding: 3rem !important;
}

.util--p_md-x-large {
  padding: 6rem !important;
}

.util--p_lg-none {
  padding: 0 !important;
}

.util--p_lg-x-small {
  padding: 0.375rem !important;
}

.util--p_lg-small {
  padding: 0.75rem !important;
}

.util--p_lg-medium {
  padding: 1.5rem !important;
}

.util--p_lg-large {
  padding: 3rem !important;
}

.util--p_lg-x-large {
  padding: 6rem !important;
}

.util--pt_none {
  padding-block-start: 0 !important;
}

.util--pt_x-small {
  padding-block-start: 0.375rem !important;
}

.util--pt_small {
  padding-block-start: 0.75rem !important;
}

.util--pt_medium {
  padding-block-start: 1.5rem !important;
}

.util--pt_large {
  padding-block-start: 3rem !important;
}

.util--pt_x-large {
  padding-block-start: 6rem !important;
}

.util--pt_sm-none {
  padding-block-start: 0 !important;
}

.util--pt_sm-x-small {
  padding-block-start: 0.375rem !important;
}

.util--pt_sm-small {
  padding-block-start: 0.75rem !important;
}

.util--pt_sm-medium {
  padding-block-start: 1.5rem !important;
}

.util--pt_sm-large {
  padding-block-start: 3rem !important;
}

.util--pt_sm-x-large {
  padding-block-start: 6rem !important;
}

.util--pt_md-none {
  padding-block-start: 0 !important;
}

.util--pt_md-x-small {
  padding-block-start: 0.375rem !important;
}

.util--pt_md-small {
  padding-block-start: 0.75rem !important;
}

.util--pt_md-medium {
  padding-block-start: 1.5rem !important;
}

.util--pt_md-large {
  padding-block-start: 3rem !important;
}

.util--pt_md-x-large {
  padding-block-start: 6rem !important;
}

.util--pt_lg-none {
  padding-block-start: 0 !important;
}

.util--pt_lg-x-small {
  padding-block-start: 0.375rem !important;
}

.util--pt_lg-small {
  padding-block-start: 0.75rem !important;
}

.util--pt_lg-medium {
  padding-block-start: 1.5rem !important;
}

.util--pt_lg-large {
  padding-block-start: 3rem !important;
}

.util--pt_lg-x-large {
  padding-block-start: 6rem !important;
}

.util--pl_none {
  padding-inline-start: 0 !important;
}

.util--pl_x-small {
  padding-inline-start: 0.375rem !important;
}

.util--pl_small {
  padding-inline-start: 0.75rem !important;
}

.util--pl_medium {
  padding-inline-start: 1.5rem !important;
}

.util--pl_large {
  padding-inline-start: 3rem !important;
}

.util--pl_x-large {
  padding-inline-start: 6rem !important;
}

.util--pl_sm-none {
  padding-inline-start: 0 !important;
}

.util--pl_sm-x-small {
  padding-inline-start: 0.375rem !important;
}

.util--pl_sm-small {
  padding-inline-start: 0.75rem !important;
}

.util--pl_sm-medium {
  padding-inline-start: 1.5rem !important;
}

.util--pl_sm-large {
  padding-inline-start: 3rem !important;
}

.util--pl_sm-x-large {
  padding-inline-start: 6rem !important;
}

.util--pl_md-none {
  padding-inline-start: 0 !important;
}

.util--pl_md-x-small {
  padding-inline-start: 0.375rem !important;
}

.util--pl_md-small {
  padding-inline-start: 0.75rem !important;
}

.util--pl_md-medium {
  padding-inline-start: 1.5rem !important;
}

.util--pl_md-large {
  padding-inline-start: 3rem !important;
}

.util--pl_md-x-large {
  padding-inline-start: 6rem !important;
}

.util--pl_lg-none {
  padding-inline-start: 0 !important;
}

.util--pl_lg-x-small {
  padding-inline-start: 0.375rem !important;
}

.util--pl_lg-small {
  padding-inline-start: 0.75rem !important;
}

.util--pl_lg-medium {
  padding-inline-start: 1.5rem !important;
}

.util--pl_lg-large {
  padding-inline-start: 3rem !important;
}

.util--pl_lg-x-large {
  padding-inline-start: 6rem !important;
}

.util--pr_none {
  padding-inline-end: 0 !important;
}

.util--pr_x-small {
  padding-inline-end: 0.375rem !important;
}

.util--pr_small {
  padding-inline-end: 0.75rem !important;
}

.util--pr_medium {
  padding-inline-end: 1.5rem !important;
}

.util--pr_large {
  padding-inline-end: 3rem !important;
}

.util--pr_x-large {
  padding-inline-end: 6rem !important;
}

.util--pr_sm-none {
  padding-inline-end: 0 !important;
}

.util--pr_sm-x-small {
  padding-inline-end: 0.375rem !important;
}

.util--pr_sm-small {
  padding-inline-end: 0.75rem !important;
}

.util--pr_sm-medium {
  padding-inline-end: 1.5rem !important;
}

.util--pr_sm-large {
  padding-inline-end: 3rem !important;
}

.util--pr_sm-x-large {
  padding-inline-end: 6rem !important;
}

.util--pr_md-none {
  padding-inline-end: 0 !important;
}

.util--pr_md-x-small {
  padding-inline-end: 0.375rem !important;
}

.util--pr_md-small {
  padding-inline-end: 0.75rem !important;
}

.util--pr_md-medium {
  padding-inline-end: 1.5rem !important;
}

.util--pr_md-large {
  padding-inline-end: 3rem !important;
}

.util--pr_md-x-large {
  padding-inline-end: 6rem !important;
}

.util--pr_lg-none {
  padding-inline-end: 0 !important;
}

.util--pr_lg-x-small {
  padding-inline-end: 0.375rem !important;
}

.util--pr_lg-small {
  padding-inline-end: 0.75rem !important;
}

.util--pr_lg-medium {
  padding-inline-end: 1.5rem !important;
}

.util--pr_lg-large {
  padding-inline-end: 3rem !important;
}

.util--pr_lg-x-large {
  padding-inline-end: 6rem !important;
}

.util--pb_none {
  padding-block-end: 0 !important;
}

.util--pb_x-small {
  padding-block-end: 0.375rem !important;
}

.util--pb_small {
  padding-block-end: 0.75rem !important;
}

.util--pb_medium {
  padding-block-end: 1.5rem !important;
}

.util--pb_large {
  padding-block-end: 3rem !important;
}

.util--pb_x-large {
  padding-block-end: 6rem !important;
}

.util--pb_sm-none {
  padding-block-end: 0 !important;
}

.util--pb_sm-x-small {
  padding-block-end: 0.375rem !important;
}

.util--pb_sm-small {
  padding-block-end: 0.75rem !important;
}

.util--pb_sm-medium {
  padding-block-end: 1.5rem !important;
}

.util--pb_sm-large {
  padding-block-end: 3rem !important;
}

.util--pb_sm-x-large {
  padding-block-end: 6rem !important;
}

.util--pb_md-none {
  padding-block-end: 0 !important;
}

.util--pb_md-x-small {
  padding-block-end: 0.375rem !important;
}

.util--pb_md-small {
  padding-block-end: 0.75rem !important;
}

.util--pb_md-medium {
  padding-block-end: 1.5rem !important;
}

.util--pb_md-large {
  padding-block-end: 3rem !important;
}

.util--pb_md-x-large {
  padding-block-end: 6rem !important;
}

.util--pb_lg-none {
  padding-block-end: 0 !important;
}

.util--pb_lg-x-small {
  padding-block-end: 0.375rem !important;
}

.util--pb_lg-small {
  padding-block-end: 0.75rem !important;
}

.util--pb_lg-medium {
  padding-block-end: 1.5rem !important;
}

.util--pb_lg-large {
  padding-block-end: 3rem !important;
}

.util--pb_lg-x-large {
  padding-block-end: 6rem !important;
}

/**
 * Utility - Text
 */
.util--text_left {
  text-align: left !important;
}
.util--text_center {
  text-align: center !important;
}
.util--text_right {
  text-align: right !important;
}
.util--text_justify {
  text-align: justify !important;
}
@media (min-width: 600px) {
  .util--text_sm-left {
    text-align: left !important;
  }
  .util--text_sm-center {
    text-align: center !important;
  }
  .util--text_sm-right {
    text-align: right !important;
  }
  .util--text_sm-justify {
    text-align: justify !important;
  }
}
@media (min-width: 900px) {
  .util--text_md-left {
    text-align: left !important;
  }
  .util--text_md-center {
    text-align: center !important;
  }
  .util--text_md-right {
    text-align: right !important;
  }
  .util--text_md-justify {
    text-align: justify !important;
  }
}
@media (min-width: 1200px) {
  .util--text_lg-left {
    text-align: left !important;
  }
  .util--text_lg-center {
    text-align: center !important;
  }
  .util--text_lg-right {
    text-align: right !important;
  }
  .util--text_lg-justify {
    text-align: justify !important;
  }
}

/**
 * Utility - Visibility
 */
@media (max-width: 599.9px) {
  .util--visible_sm {
    display: none !important;
  }
}
@media (max-width: 899.9px) {
  .util--visible_md {
    display: none !important;
  }
}
@media (max-width: 1199.9px) {
  .util--visible_lg {
    display: none !important;
  }
}