@charset "UTF-8";/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}

@layer preflight {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer theme, base, layout;

@layer jslibrary {
  .embla__viewport {
    overflow: hidden;
  }

  .embla__container {
    touch-action: pan-y pinch-zoom;
    display: flex;
  }

  .embla__slide {
    flex: 0 0 100%;
    min-width: 0;
  }

  .flatpickr-calendar {
    opacity: 0;
    text-align: center;
    visibility: hidden;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    direction: ltr;
    background: #fff;
    border: 0;
    border-radius: 5px;
    width: 307.875px;
    padding: 0;
    font-size: 14px;
    line-height: 24px;
    animation: none;
    display: none;
    position: absolute;
    box-shadow: 1px 0 #e6e6e6, -1px 0 #e6e6e6, 0 1px #e6e6e6, 0 -1px #e6e6e6, 0 3px 13px #00000014;
  }

  .flatpickr-calendar.open, .flatpickr-calendar.inline {
    opacity: 1;
    visibility: visible;
    max-height: 640px;
  }

  .flatpickr-calendar.open {
    z-index: 99999;
    display: inline-block;
  }

  .flatpickr-calendar.animate.open {
    animation: .3s cubic-bezier(.23, 1, .32, 1) fpFadeInDown;
  }

  .flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px;
  }

  .flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px);
  }

  .flatpickr-calendar.static.open {
    z-index: 999;
    display: block;
  }

  .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }

  .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    box-shadow: -2px 0 #e6e6e6, 5px 0 #e6e6e6;
  }

  .flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0;
  }

  .flatpickr-calendar.hasTime .flatpickr-time {
    border-top: 1px solid #e6e6e6;
    height: 40px;
  }

  .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto;
  }

  .flatpickr-calendar:before, .flatpickr-calendar:after {
    pointer-events: none;
    content: "";
    border: solid #0000;
    width: 0;
    height: 0;
    display: block;
    position: absolute;
    left: 22px;
  }

  .flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after {
    left: auto;
    right: 22px;
  }

  .flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after {
    left: 50%;
    right: 50%;
  }

  .flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px;
  }

  .flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px;
  }

  .flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
    bottom: 100%;
  }

  .flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6;
  }

  .flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff;
  }

  .flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
    top: 100%;
  }

  .flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6;
  }

  .flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff;
  }

  .flatpickr-calendar:focus {
    outline: 0;
  }

  .flatpickr-wrapper {
    display: inline-block;
    position: relative;
  }

  .flatpickr-months {
    display: flex;
  }

  .flatpickr-months .flatpickr-month {
    color: #000000e6;
    fill: #000000e6;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
    background: none;
    flex: 1;
    height: 34px;
    line-height: 1;
    position: relative;
    overflow: hidden;
  }

  .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    z-index: 3;
    color: #000000e6;
    fill: #000000e6;
    height: 34px;
    padding: 10px;
    text-decoration: none;
    position: absolute;
    top: 0;
  }

  .flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
    display: none;
  }

  .flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
    position: relative;
  }

  .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
    left: 0;
  }

  .flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    right: 0;
  }

  .flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
    color: #959ea9;
  }

  .flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #f64747;
  }

  .flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
    width: 14px;
    height: 14px;
  }

  .flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
    fill: inherit;
    transition: fill .1s;
  }

  .numInputWrapper {
    height: auto;
    position: relative;
  }

  .numInputWrapper input, .numInputWrapper span {
    display: inline-block;
  }

  .numInputWrapper input {
    width: 100%;
  }

  .numInputWrapper input::-ms-clear {
    display: none;
  }

  .numInputWrapper input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .numInputWrapper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .numInputWrapper span {
    opacity: 0;
    cursor: pointer;
    box-sizing: border-box;
    border: 1px solid #39393926;
    width: 14px;
    height: 50%;
    padding: 0 4px 0 2px;
    line-height: 50%;
    position: absolute;
    right: 0;
  }

  .numInputWrapper span:hover {
    background: #0000001a;
  }

  .numInputWrapper span:active {
    background: #0003;
  }

  .numInputWrapper span:after {
    content: "";
    display: block;
    position: absolute;
  }

  .numInputWrapper span.arrowUp {
    border-bottom: 0;
    top: 0;
  }

  .numInputWrapper span.arrowUp:after {
    border-bottom: 4px solid #39393999;
    border-left: 4px solid #0000;
    border-right: 4px solid #0000;
    top: 26%;
  }

  .numInputWrapper span.arrowDown {
    top: 50%;
  }

  .numInputWrapper span.arrowDown:after {
    border-top: 4px solid #39393999;
    border-left: 4px solid #0000;
    border-right: 4px solid #0000;
    top: 40%;
  }

  .numInputWrapper span svg {
    width: inherit;
    height: auto;
  }

  .numInputWrapper span svg path {
    fill: #00000080;
  }

  .numInputWrapper:hover {
    background: #0000000d;
  }

  .numInputWrapper:hover span {
    opacity: 1;
  }

  .flatpickr-current-month {
    font-size: 135%;
    line-height: inherit;
    color: inherit;
    text-align: center;
    width: 75%;
    height: 34px;
    padding: 7.48px 0 0;
    font-weight: 300;
    line-height: 1;
    display: inline-block;
    position: absolute;
    left: 12.5%;
    transform: translate3d(0, 0, 0);
  }

  .flatpickr-current-month span.cur-month {
    color: inherit;
    margin-left: .5ch;
    padding: 0;
    font-family: inherit;
    font-weight: 700;
    display: inline-block;
  }

  .flatpickr-current-month span.cur-month:hover {
    background: #0000000d;
  }

  .flatpickr-current-month .numInputWrapper {
    width: 6ch;
    width: 7ch�;
    display: inline-block;
  }

  .flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: #000000e6;
  }

  .flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: #000000e6;
  }

  .flatpickr-current-month input.cur-year {
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    height: auto;
    vertical-align: initial;
    appearance: textfield;
    background: none;
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: 0 0 0 .5ch;
    display: inline-block;
  }

  .flatpickr-current-month input.cur-year:focus {
    outline: 0;
  }

  .flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
    color: #00000080;
    pointer-events: none;
    background: none;
    font-size: 100%;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    height: auto;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    vertical-align: initial;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    width: auto;
    margin: -1px 0 0;
    padding: 0 0 0 .5ch;
    position: relative;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
    outline: none;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: #0000000d;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: #0000;
    outline: none;
    padding: 0;
  }

  .flatpickr-weekdays {
    text-align: center;
    background: none;
    align-items: center;
    width: 100%;
    height: 28px;
    display: flex;
    overflow: hidden;
  }

  .flatpickr-weekdays .flatpickr-weekdaycontainer {
    flex: 1;
    display: flex;
  }

  span.flatpickr-weekday {
    cursor: default;
    color: #0000008a;
    text-align: center;
    background: none;
    flex: 1;
    margin: 0;
    font-size: 90%;
    font-weight: bolder;
    line-height: 1;
    display: block;
  }

  .dayContainer, .flatpickr-weeks {
    padding: 1px 0 0;
  }

  .flatpickr-days {
    align-items: flex-start;
    width: 307.875px;
    display: flex;
    position: relative;
    overflow: hidden;
  }

  .flatpickr-days:focus {
    outline: 0;
  }

  .dayContainer {
    text-align: left;
    box-sizing: border-box;
    opacity: 1;
    outline: 0;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    padding: 0;
    display: flex;
    transform: translate3d(0, 0, 0);
  }

  .dayContainer + .dayContainer {
    box-shadow: -1px 0 #e6e6e6;
  }

  .flatpickr-day {
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    text-align: center;
    background: none;
    border: 1px solid #0000;
    border-radius: 150px;
    flex-basis: 14.2857%;
    justify-content: center;
    width: 14.2857%;
    max-width: 39px;
    height: 39px;
    margin: 0;
    font-weight: 400;
    line-height: 39px;
    display: inline-block;
    position: relative;
  }

  .flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    background: #e6e6e6;
    border-color: #e6e6e6;
    outline: 0;
  }

  .flatpickr-day.today {
    border-color: #959ea9;
  }

  .flatpickr-day.today:hover, .flatpickr-day.today:focus {
    color: #fff;
    background: #959ea9;
    border-color: #959ea9;
  }

  .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff;
    background: #569ff7;
    border-color: #569ff7;
  }

  .flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
    border-radius: 50px 0 0 50px;
  }

  .flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
    border-radius: 0 50px 50px 0;
  }

  .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 #569ff7;
  }

  .flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
    border-radius: 50px;
  }

  .flatpickr-day.inRange {
    border-radius: 0;
    box-shadow: -5px 0 #e6e6e6, 5px 0 #e6e6e6;
  }

  .flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
    color: #3939394d;
    cursor: default;
    background: none;
    border-color: #0000;
  }

  .flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    cursor: not-allowed;
    color: #3939391a;
  }

  .flatpickr-day.week.selected {
    border-radius: 0;
    box-shadow: -5px 0 #569ff7, 5px 0 #569ff7;
  }

  .flatpickr-day.hidden {
    visibility: hidden;
  }

  .rangeMode .flatpickr-day {
    margin-top: 1px;
  }

  .flatpickr-weekwrapper {
    float: left;
  }

  .flatpickr-weekwrapper .flatpickr-weeks {
    padding: 0 12px;
    box-shadow: 1px 0 #e6e6e6;
  }

  .flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    width: 100%;
    line-height: 28px;
  }

  .flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
    color: #3939394d;
    cursor: default;
    background: none;
    border: none;
    width: 100%;
    max-width: none;
    display: block;
  }

  .flatpickr-innerContainer {
    box-sizing: border-box;
    display: flex;
    overflow: hidden;
  }

  .flatpickr-rContainer {
    box-sizing: border-box;
    padding: 0;
    display: inline-block;
  }

  .flatpickr-time {
    text-align: center;
    box-sizing: border-box;
    outline: 0;
    height: 0;
    max-height: 40px;
    line-height: 40px;
    display: flex;
    overflow: hidden;
  }

  .flatpickr-time:after {
    content: "";
    clear: both;
    display: table;
  }

  .flatpickr-time .numInputWrapper {
    float: left;
    flex: 1;
    width: 40%;
    height: 40px;
  }

  .flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939;
  }

  .flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939;
  }

  .flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%;
  }

  .flatpickr-time.time24hr .numInputWrapper {
    width: 49%;
  }

  .flatpickr-time input {
    -webkit-box-shadow: none;
    box-shadow: none;
    text-align: center;
    height: inherit;
    line-height: inherit;
    color: #393939;
    box-sizing: border-box;
    appearance: textfield;
    background: none;
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: 0;
    font-size: 14px;
    position: relative;
  }

  .flatpickr-time input.flatpickr-hour {
    font-weight: bold;
  }

  .flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
    font-weight: 400;
  }

  .flatpickr-time input:focus {
    border: 0;
    outline: 0;
  }

  .flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
    height: inherit;
    float: left;
    line-height: inherit;
    color: #393939;
    -webkit-user-select: none;
    user-select: none;
    align-self: center;
    width: 2%;
    font-weight: bold;
  }

  .flatpickr-time .flatpickr-am-pm {
    cursor: pointer;
    text-align: center;
    outline: 0;
    width: 18%;
    font-weight: 400;
  }

  .flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
    background: #eee;
  }

  .flatpickr-input[readonly] {
    cursor: pointer;
  }

  @keyframes fpFadeInDown {
    from {
      opacity: 0;
      transform: translate3d(0, -20px, 0);
    }

    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
}

@layer components, project;

@layer utilities {
  .invisible {
    visibility: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .z-10 {
    z-index: 10;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }

  .mt-13 {
    margin-top: calc(var(--spacing) * 13);
  }

  .mt-15 {
    margin-top: calc(var(--spacing) * 15);
  }

  .mt-19 {
    margin-top: calc(var(--spacing) * 19);
  }

  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }

  .mt-22 {
    margin-top: calc(var(--spacing) * 22);
  }

  .mt-23 {
    margin-top: calc(var(--spacing) * 23);
  }

  .mt-25 {
    margin-top: calc(var(--spacing) * 25);
  }

  .mt-26 {
    margin-top: calc(var(--spacing) * 26);
  }

  .mt-35 {
    margin-top: calc(var(--spacing) * 35);
  }

  .mt-40 {
    margin-top: calc(var(--spacing) * 40);
  }

  .mt-45 {
    margin-top: calc(var(--spacing) * 45);
  }

  .mt-46 {
    margin-top: calc(var(--spacing) * 46);
  }

  .mt-50 {
    margin-top: calc(var(--spacing) * 50);
  }

  .mt-58 {
    margin-top: calc(var(--spacing) * 58);
  }

  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-23 {
    margin-bottom: calc(var(--spacing) * 23);
  }

  .mb-35 {
    margin-bottom: calc(var(--spacing) * 35);
  }

  .mb-60 {
    margin-bottom: calc(var(--spacing) * 60);
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .h-80 {
    height: calc(var(--spacing) * 80);
  }

  .w-147 {
    width: calc(var(--spacing) * 147);
  }

  .w-full {
    width: 100%;
  }

  .max-w-255 {
    max-width: calc(var(--spacing) * 255);
  }

  .max-w-274 {
    max-width: calc(var(--spacing) * 274);
  }

  .max-w-275 {
    max-width: calc(var(--spacing) * 275);
  }

  .max-w-380 {
    max-width: calc(var(--spacing) * 380);
  }

  .max-w-840 {
    max-width: calc(var(--spacing) * 840);
  }

  .max-w-1200 {
    max-width: calc(var(--spacing) * 1200);
  }

  .transform {
    transform: var(--tw-rotate-x,  ) var(--tw-rotate-y,  ) var(--tw-rotate-z,  ) var(--tw-skew-x,  ) var(--tw-skew-y,  );
  }

  .resize {
    resize: both;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-end {
    align-items: flex-end;
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  .gap-x-20 {
    column-gap: calc(var(--spacing) * 20);
  }

  .gap-x-40 {
    column-gap: calc(var(--spacing) * 40);
  }

  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }

  .gap-y-8 {
    row-gap: calc(var(--spacing) * 8);
  }

  .gap-y-10 {
    row-gap: calc(var(--spacing) * 10);
  }

  .gap-y-15 {
    row-gap: calc(var(--spacing) * 15);
  }

  .gap-y-20 {
    row-gap: calc(var(--spacing) * 20);
  }

  .gap-y-24 {
    row-gap: calc(var(--spacing) * 24);
  }

  .gap-y-28 {
    row-gap: calc(var(--spacing) * 28);
  }

  .gap-y-30 {
    row-gap: calc(var(--spacing) * 30);
  }

  .gap-y-50 {
    row-gap: calc(var(--spacing) * 50);
  }

  .gap-y-60 {
    row-gap: calc(var(--spacing) * 60);
  }

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
  }

  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }

  .rounded-tl-lg {
    border-top-left-radius: var(--radius-lg);
  }

  .rounded-tr-lg {
    border-top-right-radius: var(--radius-lg);
  }

  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-b-0 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .border-air-blue {
    border-color: var(--color-air-blue);
  }

  .border-ocher {
    border-color: var(--color-ocher);
  }

  .border-steel-blue {
    border-color: var(--color-steel-blue);
  }

  .border-terracotta {
    border-color: var(--color-terracotta);
  }

  .bg-air-blue {
    background-color: var(--color-air-blue);
  }

  .bg-crimson {
    background-color: var(--color-crimson);
  }

  .bg-frost-white {
    background-color: var(--color-frost-white);
  }

  .bg-mist-blue {
    background-color: var(--color-mist-blue);
  }

  .bg-ocher {
    background-color: var(--color-ocher);
  }

  .bg-powder-blue {
    background-color: var(--color-powder-blue);
  }

  .bg-sax-blue {
    background-color: var(--color-sax-blue);
  }

  .bg-steel-blue {
    background-color: var(--color-steel-blue);
  }

  .bg-terracotta {
    background-color: var(--color-terracotta);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .px-17 {
    padding-inline: calc(var(--spacing) * 17);
  }

  .px-20 {
    padding-inline: calc(var(--spacing) * 20);
  }

  .px-25 {
    padding-inline: calc(var(--spacing) * 25);
  }

  .py-18 {
    padding-block: calc(var(--spacing) * 18);
  }

  .py-25 {
    padding-block: calc(var(--spacing) * 25);
  }

  .py-28 {
    padding-block: calc(var(--spacing) * 28);
  }

  .py-30 {
    padding-block: calc(var(--spacing) * 30);
  }

  .py-50 {
    padding-block: calc(var(--spacing) * 50);
  }

  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }

  .pt-30 {
    padding-top: calc(var(--spacing) * 30);
  }

  .pt-50 {
    padding-top: calc(var(--spacing) * 50);
  }

  .pt-55 {
    padding-top: calc(var(--spacing) * 55);
  }

  .pt-57 {
    padding-top: calc(var(--spacing) * 57);
  }

  .pt-60 {
    padding-top: calc(var(--spacing) * 60);
  }

  .pt-68 {
    padding-top: calc(var(--spacing) * 68);
  }

  .pt-70 {
    padding-top: calc(var(--spacing) * 70);
  }

  .pt-78 {
    padding-top: calc(var(--spacing) * 78);
  }

  .pb-15 {
    padding-bottom: calc(var(--spacing) * 15);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-25 {
    padding-bottom: calc(var(--spacing) * 25);
  }

  .pb-26 {
    padding-bottom: calc(var(--spacing) * 26);
  }

  .pb-28 {
    padding-bottom: calc(var(--spacing) * 28);
  }

  .pb-35 {
    padding-bottom: calc(var(--spacing) * 35);
  }

  .pb-40 {
    padding-bottom: calc(var(--spacing) * 40);
  }

  .pb-46 {
    padding-bottom: calc(var(--spacing) * 46);
  }

  .pb-47 {
    padding-bottom: calc(var(--spacing) * 47);
  }

  .pb-50 {
    padding-bottom: calc(var(--spacing) * 50);
  }

  .pb-85 {
    padding-bottom: calc(var(--spacing) * 85);
  }

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

  .font-latin {
    font-family: var(--font-latin);
  }

  .font-serif {
    font-family: var(--font-serif);
  }

  .text-13 {
    font-size: var(--text-13);
  }

  .text-14 {
    font-size: var(--text-14);
  }

  .text-15 {
    font-size: var(--text-15);
  }

  .text-17 {
    font-size: var(--text-17);
  }

  .text-18 {
    font-size: var(--text-18);
  }

  .text-20 {
    font-size: var(--text-20);
  }

  .text-22 {
    font-size: var(--text-22);
  }

  .text-23 {
    font-size: var(--text-23);
  }

  .text-26 {
    font-size: var(--text-26);
  }

  .text-36 {
    font-size: var(--text-36);
  }

  .leading-21 {
    --tw-leading: calc(var(--spacing) * 21);
    line-height: calc(var(--spacing) * 21);
  }

  .leading-22 {
    --tw-leading: calc(var(--spacing) * 22);
    line-height: calc(var(--spacing) * 22);
  }

  .leading-26 {
    --tw-leading: calc(var(--spacing) * 26);
    line-height: calc(var(--spacing) * 26);
  }

  .leading-28 {
    --tw-leading: calc(var(--spacing) * 28);
    line-height: calc(var(--spacing) * 28);
  }

  .leading-30 {
    --tw-leading: calc(var(--spacing) * 30);
    line-height: calc(var(--spacing) * 30);
  }

  .leading-36 {
    --tw-leading: calc(var(--spacing) * 36);
    line-height: calc(var(--spacing) * 36);
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-loose {
    --tw-tracking: var(--tracking-loose);
    letter-spacing: var(--tracking-loose);
  }

  .tracking-relaxed {
    --tw-tracking: var(--tracking-relaxed);
    letter-spacing: var(--tracking-relaxed);
  }

  .text-crimson {
    color: var(--color-crimson);
  }

  .text-indigo-blue {
    color: var(--color-indigo-blue);
  }

  .text-navy-blue {
    color: var(--color-navy-blue);
  }

  .text-ocher {
    color: var(--color-ocher);
  }

  .text-primary {
    color: var(--color-primary);
  }

  .text-sax-blue {
    color: var(--color-sax-blue);
  }

  .text-slate-blue {
    color: var(--color-slate-blue);
  }

  .text-terracotta {
    color: var(--color-terracotta);
  }

  .text-white {
    color: var(--color-white);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .filter {
    filter: var(--tw-blur,  ) var(--tw-brightness,  ) var(--tw-contrast,  ) var(--tw-grayscale,  ) var(--tw-hue-rotate,  ) var(--tw-invert,  ) var(--tw-saturate,  ) var(--tw-sepia,  ) var(--tw-drop-shadow,  );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,  ) var(--tw-backdrop-brightness,  ) var(--tw-backdrop-contrast,  ) var(--tw-backdrop-grayscale,  ) var(--tw-backdrop-hue-rotate,  ) var(--tw-backdrop-invert,  ) var(--tw-backdrop-opacity,  ) var(--tw-backdrop-saturate,  ) var(--tw-backdrop-sepia,  );
    backdrop-filter: var(--tw-backdrop-blur,  ) var(--tw-backdrop-brightness,  ) var(--tw-backdrop-contrast,  ) var(--tw-backdrop-grayscale,  ) var(--tw-backdrop-hue-rotate,  ) var(--tw-backdrop-invert,  ) var(--tw-backdrop-opacity,  ) var(--tw-backdrop-saturate,  ) var(--tw-backdrop-sepia,  );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media not all and (min-width: 1024px) {
    .max-lg\:text-center {
      text-align: center;
    }
  }

  @media not all and (min-width: 768px) {
    .max-md\:-mx-gutter {
      margin-inline: calc(var(--spacing-gutter) * -1);
    }

    .max-md\:-mt-2 {
      margin-top: calc(var(--spacing) * -2);
    }

    .max-md\:mt-7 {
      margin-top: calc(var(--spacing) * 7);
    }

    .max-md\:hidden {
      display: none;
    }

    .max-md\:h-224 {
      height: calc(var(--spacing) * 224);
    }

    .max-md\:text-17 {
      font-size: var(--text-17);
    }

    .max-md\:leading-42 {
      --tw-leading: calc(var(--spacing) * 42);
      line-height: calc(var(--spacing) * 42);
    }
  }

  @media (min-width: 560px) {
    .sm\:w-172 {
      width: calc(var(--spacing) * 172);
    }

    .sm\:gap-x-30 {
      column-gap: calc(var(--spacing) * 30);
    }

    .sm\:pb-32 {
      padding-bottom: calc(var(--spacing) * 32);
    }

    .sm\:text-16 {
      font-size: var(--text-16);
    }

    .sm\:text-26 {
      font-size: var(--text-26);
    }
  }

  @media (min-width: 768px) {
    .md\:mt-12 {
      margin-top: calc(var(--spacing) * 12);
    }

    .md\:mt-16 {
      margin-top: calc(var(--spacing) * 16);
    }

    .md\:mt-21 {
      margin-top: calc(var(--spacing) * 21);
    }

    .md\:mt-29 {
      margin-top: calc(var(--spacing) * 29);
    }

    .md\:mt-30 {
      margin-top: calc(var(--spacing) * 30);
    }

    .md\:mt-38 {
      margin-top: calc(var(--spacing) * 38);
    }

    .md\:mt-42 {
      margin-top: calc(var(--spacing) * 42);
    }

    .md\:mt-44 {
      margin-top: calc(var(--spacing) * 44);
    }

    .md\:mt-53 {
      margin-top: calc(var(--spacing) * 53);
    }

    .md\:mt-55 {
      margin-top: calc(var(--spacing) * 55);
    }

    .md\:mt-66 {
      margin-top: calc(var(--spacing) * 66);
    }

    .md\:mt-101 {
      margin-top: calc(var(--spacing) * 101);
    }

    .md\:mb-15 {
      margin-bottom: calc(var(--spacing) * 15);
    }

    .md\:mb-18 {
      margin-bottom: calc(var(--spacing) * 18);
    }

    .md\:mb-90 {
      margin-bottom: calc(var(--spacing) * 90);
    }

    .md\:hidden {
      display: none;
    }

    .md\:h-88 {
      height: calc(var(--spacing) * 88);
    }

    .md\:max-w-380 {
      max-width: calc(var(--spacing) * 380);
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-\[44fr_52fr\] {
      grid-template-columns: 44fr 52fr;
    }

    .md\:gap-x-32 {
      column-gap: calc(var(--spacing) * 32);
    }

    .md\:gap-x-40 {
      column-gap: calc(var(--spacing) * 40);
    }

    .md\:gap-y-10 {
      row-gap: calc(var(--spacing) * 10);
    }

    .md\:gap-y-30 {
      row-gap: calc(var(--spacing) * 30);
    }

    .md\:gap-y-83 {
      row-gap: calc(var(--spacing) * 83);
    }

    .md\:gap-y-90 {
      row-gap: calc(var(--spacing) * 90);
    }

    .md\:rounded-lg {
      border-radius: var(--radius-lg);
    }

    .md\:rounded-xl {
      border-radius: var(--radius-xl);
    }

    .md\:rounded-t-2xl {
      border-top-left-radius: var(--radius-2xl);
      border-top-right-radius: var(--radius-2xl);
    }

    .md\:rounded-tl-xl {
      border-top-left-radius: var(--radius-xl);
    }

    .md\:rounded-b-xl {
      border-bottom-right-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
    }

    .md\:px-30 {
      padding-inline: calc(var(--spacing) * 30);
    }

    .md\:px-50 {
      padding-inline: calc(var(--spacing) * 50);
    }

    .md\:py-45 {
      padding-block: calc(var(--spacing) * 45);
    }

    .md\:py-50 {
      padding-block: calc(var(--spacing) * 50);
    }

    .md\:py-65 {
      padding-block: calc(var(--spacing) * 65);
    }

    .md\:py-70 {
      padding-block: calc(var(--spacing) * 70);
    }

    .md\:py-100 {
      padding-block: calc(var(--spacing) * 100);
    }

    .md\:pt-67 {
      padding-top: calc(var(--spacing) * 67);
    }

    .md\:pt-77 {
      padding-top: calc(var(--spacing) * 77);
    }

    .md\:pt-95 {
      padding-top: calc(var(--spacing) * 95);
    }

    .md\:pt-100 {
      padding-top: calc(var(--spacing) * 100);
    }

    .md\:pt-107 {
      padding-top: calc(var(--spacing) * 107);
    }

    .md\:pt-108 {
      padding-top: calc(var(--spacing) * 108);
    }

    .md\:pb-26 {
      padding-bottom: calc(var(--spacing) * 26);
    }

    .md\:pb-30 {
      padding-bottom: calc(var(--spacing) * 30);
    }

    .md\:pb-66 {
      padding-bottom: calc(var(--spacing) * 66);
    }

    .md\:pb-67 {
      padding-bottom: calc(var(--spacing) * 67);
    }

    .md\:pb-70 {
      padding-bottom: calc(var(--spacing) * 70);
    }

    .md\:pb-100 {
      padding-bottom: calc(var(--spacing) * 100);
    }

    .md\:pb-126 {
      padding-bottom: calc(var(--spacing) * 126);
    }

    .md\:text-center {
      text-align: center;
    }

    .md\:text-16 {
      font-size: var(--text-16);
    }

    .md\:text-20 {
      font-size: var(--text-20);
    }

    .md\:text-24 {
      font-size: var(--text-24);
    }

    .md\:text-28 {
      font-size: var(--text-28);
    }

    .md\:text-32 {
      font-size: var(--text-32);
    }

    .md\:text-34 {
      font-size: var(--text-34);
    }

    .md\:text-38 {
      font-size: var(--text-38);
    }

    .md\:text-46 {
      font-size: var(--text-46);
    }

    .md\:text-50 {
      font-size: var(--text-50);
    }

    .md\:text-52 {
      font-size: var(--text-52);
    }

    .md\:leading-28 {
      --tw-leading: calc(var(--spacing) * 28);
      line-height: calc(var(--spacing) * 28);
    }

    .md\:leading-36 {
      --tw-leading: calc(var(--spacing) * 36);
      line-height: calc(var(--spacing) * 36);
    }

    .md\:leading-38 {
      --tw-leading: calc(var(--spacing) * 38);
      line-height: calc(var(--spacing) * 38);
    }

    .md\:leading-44 {
      --tw-leading: calc(var(--spacing) * 44);
      line-height: calc(var(--spacing) * 44);
    }

    .md\:leading-55 {
      --tw-leading: calc(var(--spacing) * 55);
      line-height: calc(var(--spacing) * 55);
    }

    .md\:leading-62 {
      --tw-leading: calc(var(--spacing) * 62);
      line-height: calc(var(--spacing) * 62);
    }

    .md\:tracking-none {
      --tw-tracking: var(--tracking-none);
      letter-spacing: var(--tracking-none);
    }

    .md\:tracking-relaxed {
      --tw-tracking: var(--tracking-relaxed);
      letter-spacing: var(--tracking-relaxed);
    }
  }

  @media (min-width: 860px) {
    .ml\:-translate-x-12 {
      --tw-translate-x: calc(var(--spacing) * -12);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .ml\:translate-x-4 {
      --tw-translate-x: calc(var(--spacing) * 4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .ml\:translate-x-12 {
      --tw-translate-x: calc(var(--spacing) * 12);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .ml\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
}

:root, :host {
  --breakpoint-xs: 480px;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-latin: "Bodoni Moda", serif;
  --font-oswald: "Oswald", sans-serif;
  --color-primary: #36608f;
  --color-body: #000;
  --color-white: #fff;
  --color-crimson: #c32c1f;
  --color-slate-blue: #36608f;
  --color-indigo-blue: #224874;
  --color-navy-blue: #00325e;
  --color-sky-blue: #66b1c3;
  --color-steel-blue: #6189a0;
  --color-sax-blue: #79a4bd;
  --color-ice-blue: #ecf2f6;
  --color-cool-gray: #dfe2e7;
  --color-ocher: #d5753c;
  --color-terracotta: #c45453;
  --color-frost-white: #f1f6f8;
  --color-powder-blue: #cfdde2;
  --color-air-blue: #a3bdcc;
  --color-gray-100: #f5f5f5;
  --color-gray-200: #9a9a9a;
  --color-gray-400: #8f8f8f;
  --color-mist-blue: #e4edf2;
  --tracking-none: 0em;
  --tracking-loose: .01em;
  --tracking-relaxed: .03em;
  --spacing-gutter: 15px;
  --spacing: 1px;
  --radius-sm: 15px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --radius-xl: 50px;
  --radius-2xl: 100px;
  --text-13: 13px;
  --text-14: 14px;
  --text-15: 15px;
  --text-16: 16px;
  --text-17: 17px;
  --text-18: 18px;
  --text-20: 20px;
  --text-22: 22px;
  --text-23: 23px;
  --text-24: 24px;
  --text-26: 26px;
  --text-28: 28px;
  --text-32: 32px;
  --text-34: 34px;
  --text-36: 36px;
  --text-38: 38px;
  --text-46: 46px;
  --text-50: 50px;
  --text-52: 52px;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
    monospace;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --leading-snug: 1.375;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@layer base {
  :root {
    --inner-slim: 900px;
    --inner-base: 1000px;
    --inner-wide: 1200px;
    --view-width: 100vw;
    --font-size-body: 15px;
    --line-height-body: math.div(26,15);
    --header-height: 50px;
    --gutter: var(--spacing-gutter);
  }
  @media (width >= 768px) {
    :root {
      --header-height: 95px;
      --font-size-body: 18px;
      --line-height-body: math.div(30,18);
    }
  }
}
@layer base {
  html {
    font-size: 0.625em;
  }
  body {
    font-size: 15px;
    line-height: 1.7333333333;
    color: var(--color-body);
  }
  body:has(input#toggleNav:checked) {
    overflow: hidden;
  }
  @media (width >= 768px) {
    body {
      font-size: 18px;
      line-height: 1.6666666667;
    }
  }
  :where(*) {
    outline-color: var(--color-primary);
    border-style: solid;
    border-width: 0;
  }
  input,
  select,
  option,
  textarea,
  button {
    box-sizing: border-box;
    color: var(--color-body);
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    image-rendering: smooth;
  }
  svg {
    width: 100%;
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    padding: 0;
    touch-action: manipulation;
    background: transparent;
    border: none;
  }
  :any-link,
  button,
  [type=button],
  [type=reset],
  [type=submit],
  label[for],
  select,
  summary,
  [role=tab],
  [role=button] {
    cursor: pointer;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
  i:has(> svg) {
    line-height: 0;
  }
  a:not([class]) {
    color: inherit;
  }
  *:has(> wbr) {
    word-break: keep-all;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}
@layer layout {
  .l-wrapper {
    padding-top: var(--header-height);
    overflow: clip;
  }
}
@layer layout {
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    display: flex;
    align-items: center;
    width: 100%;
    height: var(--header-height);
    padding-left: 12px;
    background-color: #fff;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.16);
  }
  .l-header__logo {
    flex: 0 0 174px;
  }
  .l-header__menu {
    margin-left: auto;
    display: none;
  }
  .l-header__mail {
    margin-left: 12px;
  }
  .l-header__menubtn {
    align-self: center;
    margin-left: auto;
  }
  @media (width >= 768px) {
    .l-header {
      padding-left: 28px;
    }
    .l-header__logo {
      flex: 0 0 354px;
    }
  }
  @media (width >= 1024px) {
    .l-header__menubtn {
      display: none;
    }
    .l-header__menu {
      display: block;
    }
    .l-header__mail {
      margin-left: 14px;
    }
  }
  @media (width >= 1360px) {
    .l-header__mail {
      margin-left: 30px;
    }
  }
}
@layer layout {
  .l-footer {
    padding: 20px var(--gutter);
  }
  .l-footer__logo {
    width: 262px;
  }
  .l-footer__copyright {
    font-weight: 600;
    font-size: 12px;
    color: var(--color-gray-200);
  }
  .l-footer__menu {
    display: none;
  }
  @media (width >= 768px) {
    .l-footer {
      padding: 30px max(var(--gutter), var(--view-width) * 0.5 - 500px) 50px 44px;
      display: flex;
      justify-content: space-between;
    }
    .l-footer__logo {
      width: 354px;
    }
    .l-footer__copyright {
      font-size: 16px;
    }
    .l-footer__info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .l-footer__menu {
      display: flex;
      gap: 0 24px;
    }
  }
  @media (width >= 1024px) {
    .l-footer__menu {
      gap: 0 63px;
    }
  }
  @media (width < 768px) {
    .l-footer__logo {
      margin-inline: auto;
    }
    .l-footer__copyright {
      text-align: center;
      margin-top: 10px;
    }
  }
}
@layer layout {
  .l-mobile-nav {
    inset: var(--header-height) 0 0;
    background-color: var(--color-navy-blue);
    position: fixed;
    z-index: 99;
    padding: 50px var(--gutter);
    height: 100dvh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility;
  }
  .l-mobile-nav:is(body:has(input#toggleNav:checked) *) {
    visibility: visible;
    opacity: 1;
  }
}
@layer components {
  .c-mv-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 168px;
    height: 168px;
    padding-top: 29px;
    background-color: #fff;
    border: 2px solid var(--color-indigo-blue);
    border-radius: 50%;
  }
  .c-mv-badge__price {
    line-height: 1;
    color: var(--color-indigo-blue);
  }
  .c-mv-badge__price .-txt01 {
    font-size: 18px;
    font-weight: bold;
  }
  .c-mv-badge__price .-txt02 {
    font-size: 27px;
    font-weight: bold;
  }
  .c-mv-badge__price .-txt03 {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: -0.01em;
  }
  .c-mv-badge__per {
    margin-top: 6px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    color: var(--color-indigo-blue);
  }
  .c-mv-badge__line {
    width: 32px;
    height: 1px;
    background-color: var(--color-crimson);
    margin-block: 10px;
  }
  .c-mv-badge__txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px 0;
  }
  .c-mv-badge__txt span {
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
  }
  @media (width >= 768px) {
    .c-mv-badge {
      width: 248px;
      height: 248px;
      padding-top: 40px;
    }
    .c-mv-badge__price .-txt01 {
      font-size: 25px;
    }
    .c-mv-badge__price .-txt02 {
      font-size: 38px;
    }
    .c-mv-badge__price .-txt03 {
      font-size: 22px;
    }
    .c-mv-badge__per {
      margin-top: 8px;
      font-size: 24px;
    }
    .c-mv-badge__line {
      width: 44px;
      margin-block: 17px;
    }
    .c-mv-badge__txt {
      gap: 12px 0;
    }
    .c-mv-badge__txt span {
      font-size: 17px;
      font-weight: bold;
    }
  }
}
@layer components {}
@layer components {
  @media (width >= 768px) {
    .c-img-box {
      display: grid;
      gap: 0 30px;
      grid-template-columns: 320px 1fr;
    }
  }
  @media (width >= 1024px) {
    .c-img-box {
      grid-template-columns: 440px 1fr;
      gap: 0 50px;
    }
  }
  @media (width < 768px) {
    .c-img-box {
      display: flex;
      flex-direction: column;
      gap: 15px 0;
    }
  }
  .c-membership-box__hdr {
    padding-block: 14px 14px;
    background-color: var(--color-navy-blue);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    color: #fff;
  }
  .c-membership-box__hdr .-txt01 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
  }
  .c-membership-box__hdr .-txt02 {
    text-align: center;
    font-size: 13px;
    font-weight: bold;
  }
  .c-membership-box__bdy {
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    border-bottom: 2px solid var(--color-navy-blue);
    border-left: 2px solid var(--color-navy-blue);
    border-right: 2px solid var(--color-navy-blue);
    padding: 19px 28px;
  }
  .c-membership-box__price {
    display: flex;
    justify-content: center;
    align-items: baseline;
    line-height: 1;
    gap: 0 5px;
  }
  .c-membership-box__price .-txt01 {
    font-weight: bold;
    font-size: 26px;
    white-space: nowrap;
  }
  .c-membership-box__price .-txt02 {
    font-weight: bold;
    font-size: 42px;
    white-space: nowrap;
  }
  .c-membership-box__price .-txt03 {
    font-weight: bold;
    font-size: 16px;
    white-space: nowrap;
  }
  .c-membership-box__price .-txt04 {
    font-weight: bold;
    font-size: 21px;
    white-space: nowrap;
  }
  .c-membership-box__txt {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.4666666667;
    padding-top: 26px;
  }
  .c-membership-box__note {
    font-size: 13px;
    margin-top: 15px;
  }
  @media (width >= 768px) {
    .c-membership-box__hdr {
      padding-block: 13.5px 9px;
    }
    .c-membership-box__hdr .-txt01 {
      font-size: 18px;
    }
    .c-membership-box__hdr .-txt02 {
      font-size: 12px;
    }
    .c-membership-box__bdy {
      padding: 33.75px 30px;
    }
    .c-membership-box__price {
      gap: 0 6px;
    }
    .c-membership-box__price .-txt01 {
      font-size: 22.5px;
    }
    .c-membership-box__price .-txt02 {
      font-size: 37.5px;
    }
    .c-membership-box__price .-txt03 {
      font-size: 15px;
    }
    .c-membership-box__price .-txt04 {
      font-size: 19.5px;
    }
    .c-membership-box__txt {
      font-size: 10.5px;
      line-height: 2.1428571429;
      padding-top: 28.5px;
    }
    .c-membership-box__note {
      font-size: 10.5px;
      margin-top: 18px;
    }
  }
  @media (width >= 1024px) {
    .c-membership-box__hdr {
      padding-block: 18px 12px;
    }
    .c-membership-box__hdr .-txt01 {
      font-size: 24px;
    }
    .c-membership-box__hdr .-txt02 {
      font-size: 16px;
    }
    .c-membership-box__bdy {
      padding: 45px 40px;
    }
    .c-membership-box__price {
      gap: 0 6px;
    }
    .c-membership-box__price .-txt01 {
      font-size: 30px;
    }
    .c-membership-box__price .-txt02 {
      font-size: 50px;
    }
    .c-membership-box__price .-txt03 {
      font-size: 20px;
    }
    .c-membership-box__price .-txt04 {
      font-size: 26px;
    }
    .c-membership-box__txt {
      font-size: 14px;
      padding-top: 38px;
    }
    .c-membership-box__note {
      font-size: 14px;
      margin-top: 24px;
    }
  }
  .c-lesson-box__hdr {
    background-color: var(--color-primary);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    color: #fff;
    font-size: 19px;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3px 5px;
    min-height: 37px;
    font-weight: bold;
    line-height: 1.2;
  }
  .c-lesson-box__bdy {
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    border-bottom: 2px solid var(--color-primary);
    border-left: 2px solid var(--color-primary);
    border-right: 2px solid var(--color-primary);
    padding: 10px 29px 14px;
  }
  .c-lesson-box__price {
    display: flex;
    justify-content: center;
    align-items: baseline;
    line-height: 1;
    gap: 0 4px;
  }
  .c-lesson-box__price .-txt01 {
    font-weight: bold;
    font-size: 22px;
    white-space: nowrap;
  }
  .c-lesson-box__price .-txt02 {
    font-weight: bold;
    font-size: 34px;
    white-space: nowrap;
  }
  .c-lesson-box__price .-txt03 {
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
  }
  .c-lesson-box__price .-txt04 {
    font-weight: bold;
    font-size: 19px;
    white-space: nowrap;
  }
  .c-lesson-box__txt {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4666666667;
    padding-top: 13px;
  }
  @media (width >= 768px) {
    .c-lesson-box__hdr {
      font-size: 17.25px;
      min-height: 32.25px;
    }
    .c-lesson-box__bdy {
      padding: 9px 7.5px 3.75px;
    }
    .c-lesson-box__price {
      gap: 0 6px;
    }
    .c-lesson-box__price .-txt01 {
      font-size: 20.25px;
    }
    .c-lesson-box__price .-txt02 {
      font-size: 30px;
    }
    .c-lesson-box__price .-txt03 {
      font-size: 12.75px;
    }
    .c-lesson-box__price .-txt04 {
      font-size: 17.25px;
    }
    .c-lesson-box__txt {
      font-size: 10.5px;
      padding-top: 6px;
      line-height: 1.7142857143;
      text-align: center;
    }
  }
  @media (width >= 1024px) {
    .c-lesson-box__hdr {
      font-size: 23px;
      min-height: 43px;
    }
    .c-lesson-box__bdy {
      padding: 12px 10px 5px;
    }
    .c-lesson-box__price {
      gap: 0 6px;
    }
    .c-lesson-box__price .-txt01 {
      font-size: 27px;
    }
    .c-lesson-box__price .-txt02 {
      font-size: 40px;
    }
    .c-lesson-box__price .-txt03 {
      font-size: 17px;
    }
    .c-lesson-box__price .-txt04 {
      font-size: 23px;
    }
    .c-lesson-box__txt {
      font-size: 14px;
      padding-top: 8px;
      line-height: 2.1428571429;
    }
  }
  .c-faq-box {
    background-color: #fff;
    border-radius: var(--radius-sm);
    padding: 19px 25px 11px;
  }
  .c-faq-box__q {
    display: flex;
    width: 100%;
  }
  .c-faq-box__q .-icon {
    flex: 0 0 auto;
    font-family: var(--font-latin);
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 0.03em;
    color: var(--color-navy-blue);
    line-height: 1;
  }
  .c-faq-box__q .-txt {
    flex: 1 1 auto;
    font-size: 17px;
    font-weight: 600;
    font-family: var(--font-serif);
    text-align: left;
    padding: 0 0 0 14px;
    margin-top: -7px;
    line-height: 1.6470588235;
  }
  .c-faq-box__q .-toggle {
    flex: 0 0 1em;
    font-size: 25px;
    font-weight: 300;
    align-self: center;
    text-align: center;
  }
  .c-faq-box__q .-toggle::before {
    line-height: 1;
    content: "−";
  }
  .c-faq-box__q:is(.c-faq-box.is-open *) .-toggle::before {
    content: "＋";
  }
  .c-faq-box__in {
    border-top: 1px solid var(--color-sax-blue);
    display: flex;
    padding: 14px 0 8px 0;
    gap: 0 13px;
  }
  .c-faq-box__in:is(.c-faq-box.is-open *) {
    margin-top: 15px;
  }
  .c-faq-box__in .-icon {
    flex: 0 0 auto;
    font-family: var(--font-latin);
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 0.03em;
    color: var(--color-crimson);
    line-height: 1;
  }
  .c-faq-box__in .-cts {
    align-self: center;
  }
  .c-faq-box__in .-cts p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7333333333;
  }
  .c-faq-box__a {
    overflow: clip;
    height: 0;
  }
  @media (width >= 768px) {
    .c-faq-box {
      padding: 19px 35px 11px;
    }
    .c-faq-box__q .-icon {
      font-size: 38px;
    }
    .c-faq-box__q .-txt {
      font-size: 20px;
      margin-top: 0;
      padding: 5px 0 0 28px;
      line-height: 1.9;
    }
    .c-faq-box__q .-toggle {
      font-size: 30px;
    }
    .c-faq-box__in {
      gap: 0 25px;
      padding: 14px 30px 8px 0;
    }
    .c-faq-box__in:is(.c-faq-box.is-open *) {
      margin-top: 10px;
    }
    .c-faq-box__in .-icon {
      font-size: 38px;
    }
    .c-faq-box__in .-cts {
      flex: 1 1 auto;
    }
    .c-faq-box__in .-cts p {
      font-size: 18px;
      line-height: 1.6666666667;
    }
  }
  .c-form-box {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
  }
  .c-form-box__label {
    font-weight: bold;
    font-size: 16px;
    padding-right: 50px;
    position: relative;
    display: flex;
    align-items: center;
  }
  .c-form-box__tag {
    position: absolute;
    width: 46px;
    height: 20px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    right: 0;
  }
  @media (width >= 768px) {
    .c-form-box {
      display: grid;
      grid-template-columns: 250px 1fr;
      gap: 0 20px;
      align-items: flex-start;
    }
    .c-form-box__label {
      min-height: 52px;
    }
  }
}
@layer components {
  .c-menu-btn {
    width: 36px;
    height: 15px;
    line-height: 1;
    display: block;
  }
  .c-menu-btn input {
    visibility: hidden;
    width: 0;
    height: 0;
  }
  .c-menu-btn__bars {
    display: flex;
    flex-direction: column;
    gap: 3px 0;
  }
  .c-menu-btn__bars i {
    height: 3px;
    background-color: var(--color-navy-blue);
    transition-duration: 0.3s;
  }
  .c-menu-btn:has(input:checked) .c-menu-btn__bars i:nth-child(1) {
    rotate: 20deg;
    translate: 0 6px;
  }
  .c-menu-btn:has(input:checked) .c-menu-btn__bars i:nth-child(2) {
    scale: 0;
  }
  .c-menu-btn:has(input:checked) .c-menu-btn__bars i:nth-child(3) {
    translate: 0 -6px;
    rotate: -20deg;
  }
  .c-booking-btn {
    display: flex;
    align-items: center;
    height: var(--header-height);
    color: #fff;
    background-color: var(--color-crimson);
    border-radius: 100vmax 0 0 100vmax;
    padding-inline: 14px 10px;
    gap: 0 11px;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-booking-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-booking-btn__icon {
    flex: 0 0 26px;
  }
  .c-booking-btn__txt {
    display: none;
  }
  .c-booking-btn__arrow {
    width: 5px;
    height: 8px;
    background-color: #fff;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  @media (width >= 768px) {
    .c-booking-btn {
      gap: 0 16px;
      padding-inline: 38px 28px;
    }
    .c-booking-btn__arrow {
      width: 10px;
      height: 15px;
    }
  }
  @media (width >= 1360px) {
    .c-booking-btn__txt {
      display: block;
      font-size: 18px;
      font-weight: bold;
      letter-spacing: 0.03em;
    }
    .c-booking-btn__icon {
      display: none;
    }
  }
  .c-mvbook-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
    padding-inline: 32px;
    color: #fff;
    background-color: var(--color-crimson);
    border-radius: 100vmax;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-mvbook-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-mvbook-btn .-txt {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.03em;
  }
  .c-mvbook-btn::after {
    flex: 0 0 10px;
    width: 10px;
    height: 15px;
    content: "";
    background-color: currentcolor;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  @media (width >= 768px) {
    .c-mvbook-btn {
      height: 88px;
      padding-inline: 50px 42px;
    }
  }
  .c-rounded-btn {
    border-radius: 100vmax;
    background-color: var(--color-crimson);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  @media (any-hover: hover) {
    .c-rounded-btn:hover {
      background-color: var(--color-primary);
    }
  }
  .c-rounded-btn__txt {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.4705882353;
    translate: -15px 0;
  }
  .c-rounded-btn::after {
    content: "";
    width: 10px;
    height: 15px;
    background-color: currentcolor;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    position: absolute;
    right: 40px;
    top: 50%;
    translate: 0 -50%;
  }
  .c-sliderprev-btn::before {
    clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
  }
  .c-slidernext-btn::before {
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  }
  .c-sliderprev-btn,
  .c-slidernext-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid currentcolor;
  }
  .c-sliderprev-btn::before,
  .c-slidernext-btn::before {
    content: "";
    width: 9px;
    height: 14px;
    background-color: currentcolor;
  }
  @media (width >= 768px) {
    .c-sliderprev-btn,
    .c-slidernext-btn {
      width: 91px;
      height: 91px;
    }
  }
}
@layer components {
  .c-wall-card {
    position: relative;
    background: transparent;
    background-color: rgba(0, 0, 0, 0.08);
    border-radius: 30px;
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
    padding: 78px 26.5px 24px;
  }
  .c-wall-card__hgrp h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    color: var(--color-slate-blue);
    text-align: center;
  }
  .c-wall-card__hgrp p {
    padding-top: 7px;
    font-family: var(--font-latin);
    font-size: 71px;
    line-height: 1;
    color: var(--color-sax-blue);
    text-align: center;
  }
  .c-wall-card__copy {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
  }
  .c-wall-card__img {
    padding-top: 17px;
  }
  .c-wall-card__txt {
    padding-top: 21px;
    padding-inline: 7px;
  }
  .c-wall-card__txt p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7333333333;
  }
  @media (width >= 768px) {
    .c-wall-card {
      padding: 54px 34px 28px;
    }
    .c-wall-card__copy {
      padding-top: 20px;
      font-size: 22px;
      line-height: 1.4545454545;
    }
    .c-wall-card__txt {
      padding-top: 23px;
      padding-inline: 0;
    }
    .c-wall-card__txt p {
      line-height: 1.8666666667;
    }
  }
  @media (width >= 1024px) {
    .c-wall-card {
      padding: 48px 34px 28px;
    }
    .c-wall-card:is(.c-wall-stack *) {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
    }
    .c-wall-card:is(.c-wall-stack *) .c-wall-card__copy {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .c-wall-card__hgrp {
      position: absolute;
      top: -55px;
      left: 0;
      width: 100%;
    }
    .c-wall-card__icon {
      width: 172px;
      margin-inline: auto;
    }
  }
  @media (width < 1024px) {
    .c-wall-card__hdr {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      width: 100%;
      left: 0;
      top: -100px;
      gap: 0 23px;
    }
    .c-wall-card__img {
      width: fit-content;
      margin-inline: auto;
    }
    .c-wall-card__txt {
      max-width: 640px;
      margin-inline: auto;
    }
  }
  @media (width < 768px) {
    .c-wall-card__hdr {
      top: -65px;
    }
    .c-wall-card__icon {
      flex: 0 0 130px;
    }
  }
  .c-effort-card__txt {
    background-color: var(--color-ice-blue);
  }
  .c-effort-card__txt p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7333333333;
  }
  @media (width >= 768px) {
    .c-effort-card__txt {
      position: relative;
      z-index: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 1/1;
      padding-bottom: 50px;
      border-radius: 50%;
    }
    .c-effort-card__txt p {
      font-size: 15px;
      font-weight: bold;
      line-height: 1.5555555556;
      text-align: center;
    }
    .c-effort-card__img {
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
      margin-top: -85px;
      line-height: 0;
    }
  }
  @media (width >= 860px) {
    .c-effort-card__txt {
      padding-inline: 0;
    }
    .c-effort-card__txt p {
      font-size: 18px;
    }
    .c-effort-card__img {
      margin-top: -105px;
    }
  }
  @media (width < 768px) {
    .c-effort-card {
      display: flex;
    }
    .c-effort-card:has(.-img01) {
      margin-left: 12px;
    }
    .c-effort-card:has(.-img02) {
      margin-right: 9px;
    }
    .c-effort-card:has(.-img03) {
      margin-left: 18px;
    }
    .c-effort-card[data-even] {
      flex-direction: row-reverse;
    }
    .c-effort-card__txt {
      align-self: flex-start;
      border-radius: 100vmax;
      flex: 0 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px 23px;
    }
    .c-effort-card__txt p {
      flex: 0 0 300px;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.7333333333;
      text-align: center;
    }
    .c-effort-card__img {
      align-self: flex-end;
      position: relative;
      z-index: 1;
    }
    .c-effort-card__img.-img01 {
      flex: 0 0 94px;
      margin-left: -14px;
      margin-top: 8px;
    }
    .c-effort-card__img.-img02 {
      flex: 0 0 120px;
      margin-top: 8px;
      margin-right: -24px;
    }
    .c-effort-card__img.-img03 {
      flex: 0 0 148px;
      margin-left: -30px;
      margin-top: 14px;
    }
  }
  @media (width < 560px) {
    .c-effort-card__txt {
      flex: 0 0 220px;
    }
    .c-effort-card__txt p {
      flex: 0 0 170px;
    }
  }
  .c-story-card {
    padding-inline: 15px;
  }
  .c-story-card__heading {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3333333333;
    color: var(--color-indigo-blue);
  }
  .c-story-card__prof {
    display: flex;
    align-items: center;
    padding-block: 5px 12px;
  }
  .c-story-card__prof .-flag {
    flex: 0 0 26px;
  }
  .c-story-card__prof .-txt {
    font-size: 11px;
    font-weight: bold;
    flex: 0 0 auto;
    margin-left: 5px;
  }
  .c-story-card__prof .-name {
    font-weight: bold;
    font-size: 17px;
    margin-left: 13px;
  }
  .c-story-card__main {
    display: grid;
    grid-template-columns: 100%;
    gap: 13px 0;
  }
  .c-story-card__thumb img {
    border-radius: var(--radius-md);
  }
  @media (width >= 768px) {
    .c-story-card {
      padding-inline: 43px;
    }
    .c-story-card__heading {
      font-size: 38px;
    }
    .c-story-card__prof {
      padding-block: 0 30px;
    }
    .c-story-card__prof .-flag {
      flex: 0 0 36px;
    }
    .c-story-card__prof .-txt {
      font-size: 16px;
      margin-left: 7px;
    }
    .c-story-card__prof .-name {
      font-size: 24px;
      margin-left: 17px;
    }
    .c-story-card__main {
      gap: 30px 0;
    }
    .c-story-card__thumb img {
      width: 100%;
      max-width: 450px;
      margin-inline: auto;
    }
  }
  @media (width >= 1024px) {
    .c-story-card__main {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 50px;
    }
  }
  @media (width < 768px) {
    .c-story-card {
      padding-block: 18px 20px;
    }
  }
  .c-course-card {
    border-radius: 30px;
    overflow: hidden;
    background-color: #fff;
  }
  .c-course-card__img {
    position: relative;
    height: 100px;
  }
  .c-course-card__img img {
    object-fit: cover;
    max-width: none;
    width: 100%;
    height: 100%;
  }
  .c-course-card__img figcaption {
    position: absolute;
    font-size: 50px;
    font-weight: 500;
    line-height: 1;
    font-family: var(--font-oswald);
    left: 19px;
    bottom: -0.38em;
    color: var(--color-crimson);
  }
  .c-course-card__hgrp .-main {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-indigo-blue);
  }
  .c-course-card__hgrp .-sub {
    font-size: 13px;
    line-height: 1.3846153846;
    color: #90A3B9;
    font-weight: bold;
    margin-top: 4px;
  }
  .c-course-card__cts {
    padding: 27px 20px 30px;
  }
  @media (width >= 768px) {
    .c-course-card__img {
      height: 217px;
    }
    .c-course-card__img figcaption {
      font-size: 60px;
      left: 40px;
      bottom: -0.45em;
    }
    .c-course-card__hgrp .-main {
      font-size: 28px;
      line-height: 1.4285714286;
    }
    .c-course-card__hgrp .-sub {
      font-size: 16px;
      margin-top: 7px;
    }
    .c-course-card__cts {
      padding: 40px 40px;
    }
  }
  .c-access-card {
    background-color: var(--color-mist-blue);
    border-top-left-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
    overflow: hidden;
  }
  .c-access-card__cts {
    padding: 24px 26px 34px;
  }
  .c-access-card__cts p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7333333333;
  }
  .c-access-card__hgrp {
    padding-bottom: 16px;
  }
  .c-access-card__hgrp .-main {
    font-size: 23px;
    font-weight: bold;
  }
  .c-access-card__hgrp .-sub {
    font-size: 13px;
    font-weight: bold;
    color: var(--color-primary);
  }
  @media (width >= 768px) {
    .c-access-card__cts {
      padding: 26px 26px 33px;
    }
    .c-access-card__cts p {
      font-size: 18px;
      line-height: 1.6666666667;
    }
    .c-access-card__hgrp {
      padding-bottom: 15px;
    }
    .c-access-card__hgrp .-main {
      font-size: 26px;
    }
    .c-access-card__hgrp .-sub {
      font-size: 16px;
    }
  }
}
@layer components {
  .c-3circles-group {
    display: grid;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 10/27;
    background-image: url("../images/bg-mobile-method-circles.svg");
    margin-inline: auto;
  }
  .c-3circles-group__item .-icon {
    width: 46px;
    margin-inline: auto;
  }
  .c-3circles-group__item .-heading {
    font-size: 18px;
    text-align: center;
    font-weight: bold;
    line-height: 1.3333333333;
  }
  .c-3circles-group__item .-txt {
    font-size: 10px;
    text-align: center;
    font-weight: bold;
    color: var(--color-primary);
  }
  @media (width >= 480px) {
    .c-3circles-group__item .-icon {
      width: 54px;
    }
    .c-3circles-group__item .-heading {
      font-size: 20px;
      margin-top: 8px;
    }
    .c-3circles-group__item .-txt {
      font-size: 14px;
    }
  }
  @media (width >= 768px) {
    .c-3circles-group {
      grid-template-columns: 1fr 0.9fr 1fr;
      grid-template-rows: auto auto 1fr;
      margin-inline: auto;
      max-width: 640px;
      aspect-ratio: 846/298;
      background-image: url("../images/bg-method-circles.svg");
    }
    .c-3circles-group__item {
      padding-top: 35px;
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 3;
    }
    .c-3circles-group__item .-icon {
      width: 54px;
    }
    .c-3circles-group__item .-heading {
      margin-top: 10px;
      font-size: 20px;
      line-height: 1.3333333333;
      display: flex;
      align-items: center;
      text-align: center;
      justify-content: center;
    }
    .c-3circles-group__item .-txt {
      font-size: 14px;
      margin-top: 8px;
    }
  }
  @media (width >= 1024px) {
    .c-3circles-group {
      max-width: 846px;
    }
    .c-3circles-group__item {
      padding-top: 60px;
    }
    .c-3circles-group__item .-icon {
      width: 72px;
    }
    .c-3circles-group__item .-heading {
      margin-top: 16px;
      font-size: 24px;
    }
    .c-3circles-group__item .-txt {
      font-size: 16px;
      margin-top: 10px;
    }
  }
  @media (width < 768px) {
    .c-3circles-group {
      grid-template-rows: 1fr 1fr 1fr;
      padding-block: 7px 12px;
      max-width: 300px;
    }
    .c-3circles-group__item {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }
  @media (width < 480px) {
    .c-3circles-group {
      padding-block: 7px 12px;
      max-width: 201px;
    }
  }
  .c-method-group__item h3 {
    font-weight: bold;
    font-size: 16px;
    text-align: center;
  }
  .c-method-group__item p {
    text-align: center;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5714285714;
  }
  .c-method-group__cts {
    background-color: #F1F6F8;
  }
  @media (width >= 768px) {
    .c-method-group {
      position: relative;
      display: flex;
      padding-bottom: 102px;
      justify-content: center;
    }
    .c-method-group__item {
      width: 200px;
    }
    .c-method-group__item h3 {
      font-size: 20px;
    }
    .c-method-group__item p {
      font-weight: bold;
      font-size: 13px;
      line-height: 1.7777777778;
    }
    .c-method-group__item:has(.-cts02) {
      margin-left: 16px;
    }
    .c-method-group__item:has(.-cts03) {
      margin-inline: 33px -11px;
    }
    .c-method-group__cts {
      aspect-ratio: 1/1;
      border-radius: 50%;
    }
    .c-method-group__cts.-cts01 {
      margin-top: 38px;
      padding-top: 34px;
    }
    .c-method-group__cts.-cts01 h3 {
      padding-bottom: 12px;
    }
    .c-method-group__cts.-cts01 p {
      translate: -11px 0;
    }
    .c-method-group__cts.-cts02 {
      padding-top: 36px;
    }
    .c-method-group__cts.-cts02 h3 {
      padding-bottom: 14px;
    }
    .c-method-group__cts.-cts03 {
      margin-top: 22px;
      padding-top: 42px;
    }
    .c-method-group__cts.-cts03 h3 {
      padding-bottom: 13px;
    }
    .c-method-group__illust {
      position: absolute;
      bottom: 0;
    }
    .c-method-group__illust.-illust01 {
      width: 137.7px;
      left: calc(50% - 240.55px);
    }
    .c-method-group__illust.-illust02 {
      width: 179.35px;
      left: calc(50% - 65.45px);
    }
    .c-method-group__illust.-illust03 {
      width: 107.95px;
      left: calc(50% + 130.9px);
    }
  }
  @media (width >= 1024px) {
    .c-method-group {
      justify-content: flex-start;
      padding-bottom: 65px;
    }
    .c-method-group__item {
      width: 270px;
    }
    .c-method-group__item h3 {
      font-size: 25px;
    }
    .c-method-group__item p {
      font-size: 18px;
    }
    .c-method-group__item:has(.-cts02) {
      margin-left: 12px;
    }
    .c-method-group__item:has(.-cts03) {
      margin-inline: 88px 0;
    }
    .c-method-group__cts.-cts01 {
      margin-top: 38px;
      padding-top: 54px;
    }
    .c-method-group__cts.-cts01 h3 {
      padding-bottom: 12px;
    }
    .c-method-group__cts.-cts01 p {
      translate: -11px 0;
    }
    .c-method-group__cts.-cts02 {
      padding-top: 48px;
    }
    .c-method-group__cts.-cts02 h3 {
      padding-bottom: 14px;
    }
    .c-method-group__cts.-cts03 {
      margin-top: 22px;
      padding-top: 56px;
    }
    .c-method-group__cts.-cts03 h3 {
      padding-bottom: 13px;
    }
    .c-method-group__illust.-illust01 {
      width: 162px;
      left: calc(50% - 283px);
    }
    .c-method-group__illust.-illust02 {
      width: 211px;
      left: calc(50% - 77px);
    }
    .c-method-group__illust.-illust03 {
      width: 127px;
      left: calc(50% + 154px);
    }
  }
  @media (width < 768px) {
    .c-method-group__item {
      display: flex;
    }
    .c-method-group__item:has(.-cts03) {
      margin-top: 16px;
      margin-left: 5px;
    }
    .c-method-group .c-method-group__item:nth-child(even) {
      flex-direction: row-reverse;
    }
    .c-method-group__cts {
      align-self: flex-start;
      border-radius: 100vmax;
      flex: 0 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 23px 23px 30px;
    }
    .c-method-group__cts * {
      width: 300px;
    }
    .c-method-group__cts.-cts02 {
      align-self: flex-end;
      padding: 15px 23px 21px 35px;
      margin-right: -8px;
      margin-top: 20px;
    }
    .c-method-group__cts.-cts03 {
      padding: 18px 28px 19px 29px;
    }
    .c-method-group__illust {
      position: relative;
      z-index: 1;
    }
    .c-method-group__illust.-illust01 {
      flex: 0 0 104px;
      margin-left: -26px;
      margin-top: -9px;
    }
    .c-method-group__illust.-illust02 {
      flex: 0 0 136px;
      margin-top: -8px;
      margin-right: -41px;
    }
    .c-method-group__illust.-illust03 {
      flex: 0 0 82px;
      margin-left: -31px;
    }
  }
  @media (width < 560px) {
    .c-method-group__cts * {
      width: 170px;
    }
  }
  .c-clsfeatures-group {
    border-bottom-width: 1px;
    padding-bottom: 17px;
  }
  .c-clsfeatures-group__hdr {
    padding-left: 46px;
    position: relative;
  }
  .c-clsfeatures-group__hdr .-num {
    font-family: var(--font-oswald);
    font-size: 30px;
    position: absolute;
    left: 0;
    line-height: 1;
  }
  .c-clsfeatures-group__hdr .-txt {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4545454545;
  }
  .c-clsfeatures-group__cts {
    padding-left: 46px;
    margin-top: 12px;
  }
  .c-clsfeatures-group__imgbox {
    padding-left: 46px;
    margin-top: 22px;
  }
  @media (width >= 768px) {
    .c-clsfeatures-group {
      padding-bottom: 39px;
    }
    .c-clsfeatures-group__hdr .-txt {
      font-size: 24px;
    }
    .c-clsfeatures-group__cts {
      margin-top: 23px;
      padding-left: 47px;
    }
    .c-clsfeatures-group__imgbox {
      margin-top: 23px;
      display: grid;
      grid-template-columns: 295px 1fr;
      gap: 0 30px;
      padding-left: 0;
    }
  }
  @media (width < 768px) {
    .c-clsfeatures-group__imgbox {
      display: flex;
      flex-direction: column;
      gap: 8px 0;
    }
  }
  .c-price-group {
    margin-inline: auto;
    max-width: 345px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px 0;
  }
  .c-price-group__plus {
    align-self: center;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 58px;
  }
  .c-price-group__plus::before, .c-price-group__plus::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    background-color: var(--color-navy-blue);
  }
  .c-price-group__plus::before {
    rotate: 90deg;
  }
  @media (width >= 768px) {
    .c-price-group {
      max-width: 640px;
      display: grid;
      grid-template-columns: 1fr 30px 1fr;
      column-gap: 15px;
    }
    .c-price-group__plus {
      width: 30px;
    }
  }
  @media (width >= 1024px) {
    .c-price-group {
      column-gap: 20px;
      max-width: 925px;
      grid-template-columns: 1fr 86px 1fr;
    }
    .c-price-group__plus {
      width: 86px;
    }
  }
  .c-feefree-group__fg {
    display: flex;
    position: relative;
    margin-inline: auto;
    justify-content: center;
    gap: 0 31px;
    padding-bottom: 51px;
  }
  .c-feefree-group__item {
    flex: 0 0 83px;
    position: relative;
    z-index: 0;
  }
  .c-feefree-group__illust01 {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 78px;
    left: calc(50% - 99px);
  }
  .c-feefree-group__illust01 img {
    width: 100%;
    max-width: none;
  }
  .c-feefree-group__illust02 {
    position: absolute;
    bottom: 0;
    z-index: 1;
    left: calc(50% + 18px);
    width: 83px;
  }
  .c-feefree-group__illust02 img {
    width: 100%;
    max-width: none;
  }
  .c-feefree-group__tip {
    border-radius: 100vmax;
    border: 2px solid var(--color-powder-blue);
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: var(--color-crimson);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 306px;
    height: 38px;
    margin-inline: auto;
  }
  @media (width >= 768px) {
    .c-feefree-group__fg {
      max-width: 640px;
      padding-bottom: 26px;
      justify-content: space-between;
      gap: 0;
    }
    .c-feefree-group__illust01 {
      width: 104px;
      left: calc(50% - 170px);
    }
    .c-feefree-group__illust02 {
      width: 116px;
      left: calc(50% + 60px);
    }
    .c-feefree-group__item {
      flex: 0 0 180px;
    }
    .c-feefree-group__tip {
      width: 550px;
      height: 69px;
      font-size: 24px;
      border-width: 4px;
    }
  }
  @media (width >= 1024px) {
    .c-feefree-group__fg {
      max-width: none;
      padding-bottom: 26px;
    }
    .c-feefree-group__item {
      flex: 0 0 228px;
    }
    .c-feefree-group__illust01 {
      width: 134px;
      left: calc(50% - 226px);
    }
    .c-feefree-group__illust02 {
      width: 150px;
      left: calc(50% + 99px);
    }
  }
  .c-philosophys-group {
    margin-inline: auto;
  }
  .c-philosophys-group__item {
    color: #fff;
    border: 1px solid currentcolor;
    aspect-ratio: 1/1;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  @media (width >= 768px) {
    .c-philosophys-group {
      max-width: 716px;
      display: flex;
      justify-content: center;
    }
    .c-philosophys-group__item {
      flex: 0 0 252px;
      width: 252px;
      padding-inline: 25px;
    }
    .c-philosophys-group .c-philosophys-group__item:nth-child(2) {
      margin-inline: -20px;
    }
  }
  @media (width < 768px) {
    .c-philosophys-group {
      display: flex;
      justify-content: center;
      align-items: flex-start;
    }
    .c-philosophys-group__item {
      flex: 0 0 180px;
      margin-top: 127px;
      padding-inline: 20px;
    }
    .c-philosophys-group .c-philosophys-group__item:nth-child(2) {
      margin-top: 0;
      margin-inline: -98px;
      padding-bottom: 30px;
      padding-inline: 35px;
    }
  }
}
@layer components {
  .c-3reason-hdr {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 10px;
  }
  .c-3reason-hdr .-num img {
    height: 47px;
  }
  .c-3reason-hdr .-cts {
    margin-top: -6px;
  }
  .c-3reason-hdr .-heading {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.375;
    color: var(--color-primary);
  }
  .c-3reason-hdr .-desc {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
  }
  @media (width >= 768px) {
    .c-3reason-hdr {
      gap: 0 30px;
    }
    .c-3reason-hdr .-num img {
      height: 83px;
    }
    .c-3reason-hdr .-cts {
      margin-top: -7px;
    }
    .c-3reason-hdr .-heading {
      font-size: 38px;
    }
    .c-3reason-hdr .-desc {
      font-size: 22px;
      margin-top: 2px;
    }
  }
  .c-pass-hdr {
    padding-left: max(var(--gutter), var(--view-width) * 0.5 - 500px);
    position: relative;
    padding-bottom: 28px;
  }
  .c-pass-hdr::before {
    content: "";
    position: absolute;
    z-index: 0;
    background-color: var(--color-frost-white);
    border-radius: 50px 0 0 0;
    inset: 57px 0 0;
  }
  .c-pass-hdr__cts {
    position: relative;
    z-index: 1;
    padding-block: 19px 0;
  }
  .c-pass-hdr__img {
    position: relative;
    z-index: 1;
  }
  .c-pass-hdr__img img {
    border-radius: 100vmax 0 0 100vmax;
  }
  @media (width >= 768px) {
    .c-pass-hdr {
      display: flex;
      padding-bottom: 23px;
    }
    .c-pass-hdr::before {
      border-radius: 100px 0 0 0;
      inset: 141px 0 0;
    }
    .c-pass-hdr__cts {
      align-self: flex-end;
      flex: 0 0 450px;
      padding-block: 0 40px;
    }
    .c-pass-hdr__img {
      order: 2;
      flex: 1 1 auto;
    }
  }
  @media (width < 768px) {
    .c-pass-hdr__img {
      margin-left: 30px;
      height: 220px;
    }
    .c-pass-hdr__img img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      max-width: none;
    }
  }
  .c-philosophy-hdr {
    background: url("../images/img-mobile-hdr-philosophy.jpg") no-repeat center center/cover;
    display: flex;
    justify-content: flex-start;
    height: 158px;
    font-size: 38px;
    letter-spacing: 0.03em;
    line-height: 1.2631578947;
    padding-top: 20px;
  }
  .c-philosophy-hdr__in {
    display: flex;
    align-items: center;
    height: 100%;
    padding-inline: 20px;
    font-family: var(--font-latin);
  }
  @media (width >= 768px) {
    .c-philosophy-hdr {
      background-image: url("../images/img-hdr-philosophy.jpg");
      font-size: 50px;
      height: 236px;
      padding-top: 0;
      line-height: 1.26;
    }
    .c-philosophy-hdr__in {
      flex: 0 1 auto;
      padding-inline: 100px 110px;
      background-image: linear-gradient(to right, rgba(255, 240, 240, 0.6) 0%, rgba(255, 240, 240, 0.6) 85%, rgba(255, 240, 240, 0) 100%);
    }
  }
}
@layer components {
  .c-h2 {
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.01em;
    line-height: 1.4666666667;
  }
  @media (width >= 768px) {
    .c-h2 {
      font-size: 46px;
      line-height: 1.4347826087;
    }
  }
  .c-h4 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6666666667;
  }
  @media (width >= 768px) {
    .c-h4 {
      font-size: 20px;
      line-height: 1.5;
    }
  }
}
@layer components {
  .c-h2-hgrp h2 {
    text-align: center;
    font-size: 36px;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.1111111111;
  }
  .c-h2-hgrp p {
    padding-top: 6px;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.03em;
    color: var(--color-sax-blue);
  }
  @media (width >= 768px) {
    .c-h2-hgrp h2 {
      font-size: 46px;
    }
    .c-h2-hgrp p {
      font-size: 24px;
      padding-top: 12px;
    }
  }
}
@layer components {
  .c-cls-image {
    height: 193px;
    position: relative;
    display: flex;
    padding-block: 9px;
  }
  .c-cls-image img {
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .c-cls-image figcaption {
    position: relative;
    z-index: 1;
    color: #fff;
    align-self: flex-end;
  }
  .c-cls-image figcaption span {
    font-size: 18px;
    font-weight: bold;
    display: block;
    width: fit-content;
    background-color: var(--color-primary);
    padding: 3px 8px;
  }
  @media (width >= 768px) {
    .c-cls-image {
      height: 360px;
      padding: 21px 40px;
    }
    .c-cls-image figcaption span {
      font-size: 30px;
      padding: 3px 13px;
    }
  }
}
@layer components {
  .c-slim-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-slim));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-base));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  .c-wide-inner {
    width: min(100% - var(--section-gutter) * 2, var(--inner-wide));
    margin-inline: auto;
    --section-gutter: var(--gutter);
  }
  [data-gutter=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
    --section-gutter: 0px;
  }
  @media (width >= 768px) {
    [data-gutter-pc=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
  @media (width < 768px) {
    [data-gutter-mobile=fill]:is(*.c-slim-inner, *.c-inner, *.c-wide-inner) {
      --section-gutter: 0px;
    }
  }
}
@layer components {
  .c-input {
    background-color: var(--color-gray-100);
    padding: 13px 20px;
    width: 100%;
    font-size: 16px;
  }
  .c-input::-webkit-input-placeholder {
    color: var(--color-gray-400);
  }
  .c-input::placeholder {
    color: var(--color-gray-400);
    opacity: 1;
  }
  .c-input.is-date {
    padding: 13px 52px 13px 20px;
    background: var(--color-gray-100) url("../images/icon-calendar.svg") no-repeat center right 20px/15px 15px;
  }
}
@layer components {
  .c-link {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  @media (any-hover: hover) {
    .c-link:hover {
      text-decoration: none;
    }
  }
  .c-nav-link {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    transition-duration: 0.3s;
    transition-property: color;
    cursor: pointer;
  }
  @media (any-hover: hover) {
    .c-nav-link:hover {
      color: var(--color-crimson);
    }
  }
  .c-nav-link--sub {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.7;
  }
  .c-nav-link--sub:hover {
    opacity: 1;
  }
  .c-ftr-link {
    font-size: 15px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 0 4px;
    transition-duration: 0.3s;
    transition-property: color;
  }
  @media (any-hover: hover) {
    .c-ftr-link:hover {
      color: var(--color-crimson);
    }
  }
  .c-ftr-link::before {
    content: "";
    width: 8px;
    height: 1px;
    background-color: var(--color-sax-blue);
  }
  @media (width >= 1024px) {
    .c-ftr-link {
      font-size: 18px;
      gap: 0 8px;
    }
    .c-ftr-link::before {
      width: 13px;
    }
  }
}
@layer components {
  .c-hdr-menu {
    display: flex;
    gap: 0 14px;
  }
  .c-hdr-menu__item {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--header-height);
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.002em;
  }
  .c-hdr-menu__item.is-active::after {
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    content: "";
    background-color: var(--color-crimson);
  }
  @media (any-hover: hover) {
    .c-hdr-menu__item:hover::after {
      position: absolute;
      inset: auto 0 0;
      height: 3px;
      content: "";
      background-color: var(--color-crimson);
    }
  }
  @media (width >= 1360px) {
    .c-hdr-menu {
      gap: 0 30px;
    }
    .c-hdr-menu__item {
      font-size: 17px;
    }
  }
}
@layer components {
  .c-cls-section {
    position: relative;
    padding-bottom: 20px;
  }
  .c-cls-section::before {
    content: "";
    background-color: var(--color-frost-white);
    position: absolute;
    inset: 205px 0 0;
  }
  .c-cls-section__in {
    position: relative;
    z-index: 1;
  }
  @media (width >= 768px) {
    .c-cls-section {
      padding-bottom: 80px;
    }
    .c-cls-section::before {
      inset: 350px 0 0;
    }
  }
  .c-story-section {
    position: relative;
    background-color: var(--color-frost-white);
  }
  .c-story-section__top {
    position: absolute;
    width: 100%;
    height: 52px;
    inset: 0 -1% auto;
    z-index: 1;
  }
  .c-story-section__top img {
    max-width: none;
    width: 102%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .c-story-section::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 51px 0 0;
    background-color: var(--color-powder-blue);
  }
  @media (width >= 768px) {
    .c-story-section__top {
      height: 194px;
      top: 11px;
    }
    .c-story-section::after {
      inset: 203px 0 0;
    }
  }
  @media (width < 768px) {
    .c-story-section {
      padding-top: 10px;
    }
    .c-story-section__top {
      height: auto;
      aspect-ratio: 375/53;
      top: 10px;
    }
  }
}
@layer components {
  .c-select {
    -webkit-appearance: none;
    appearance: none;
    background: var(--color-gray-100) url("../images/arrow-select.svg") no-repeat center right 20px/9px 15px;
    padding: 13px 54px 13px 20px;
    font-size: 16px;
  }
  .c-select.is-unselected {
    color: var(--color-gray-400);
  }
}
@layer components {
  .c-stroy-slider {
    display: flex;
  }
  .c-stroy-slider__prev, .c-stroy-slider__next {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 5;
  }
  .c-stroy-slider__prev::before, .c-stroy-slider__next::before {
    z-index: -1;
    content: "";
    position: absolute;
    height: 100%;
    width: 31px;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
  }
  .c-stroy-slider__prev::before {
    border-left: 1px solid var(--color-primary);
    right: 3px;
  }
  .c-stroy-slider__next::before {
    border-right: 1px solid var(--color-primary);
    left: 3px;
  }
  .c-stroy-slider .embla__viewport {
    flex: 1 1 auto;
  }
  @media (width >= 768px) {
    .c-stroy-slider .embla__viewport {
      padding-block: 30px 40px;
    }
    .c-stroy-slider__prev, .c-stroy-slider__next {
      flex: 0 0 91px;
    }
    .c-stroy-slider__prev::before {
      left: 50%;
      right: auto;
    }
    .c-stroy-slider__next::before {
      right: 50%;
      left: auto;
    }
  }
}
@layer components {
  .c-stack {
    display: flex;
    flex-direction: column;
  }
  .c-wall-stack {
    display: grid;
    grid-template-columns: 100%;
    gap: 90px 0;
  }
  @media (width >= 768px) {
    .c-wall-stack {
      gap: 120px 0;
    }
  }
  @media (width >= 1024px) {
    .c-wall-stack {
      grid-template-columns: repeat(3, 1fr);
      gap: 0 35px;
    }
  }
}
@layer components {
  .c-sm-tag {
    width: fit-content;
    font-size: 13px;
    letter-spacing: 0.03em;
    font-weight: bold;
    color: #fff;
    background-color: var(--color-primary);
    padding: 2px 6px;
  }
  @media (width >= 768px) {
    .c-sm-tag {
      font-size: 18px;
      margin-top: 10px;
      padding: 4px 10px;
    }
  }
}
@layer components {
  .c-textarea {
    background-color: var(--color-gray-100);
    padding: 13px 20px;
    width: 100%;
    font-size: 16px;
    min-height: 185px;
    resize: vertical;
  }
  .c-textarea::-webkit-input-placeholder {
    color: var(--color-gray-400);
  }
  .c-textarea::placeholder {
    color: var(--color-gray-400);
    opacity: 1;
  }
}
@layer components {
  .c-txt {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7333333333;
  }
  @media (width >= 768px) {
    .c-txt {
      font-weight: bold;
      font-size: 18px;
      line-height: 1.6666666667;
    }
  }
  .c-txt02 {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.625;
  }
  @media (width >= 768px) {
    .c-txt02 {
      font-size: 18px;
      line-height: 1.5555555556;
    }
  }
}
@layer components {
  .c-feefree-unit {
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 50%;
    border: 3px solid var(--color-powder-blue);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-feefree-unit::before {
    content: "";
    width: 100%;
    height: 3px;
    background-color: var(--color-powder-blue);
    position: absolute;
    rotate: -45deg;
  }
  .c-feefree-unit p {
    font-size: 12px;
    line-height: 1.4166666667;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 1;
  }
  @media (width >= 768px) {
    .c-feefree-unit {
      border-width: 5px;
    }
    .c-feefree-unit::before {
      height: 5px;
    }
    .c-feefree-unit p {
      font-size: 18px;
      letter-spacing: 0.03em;
      line-height: 1.4583333333;
    }
  }
  @media (width >= 1024px) {
    .c-feefree-unit p {
      font-size: 24px;
    }
  }
}
@layer project {
  .concept {
    position: relative;
  }
  .concept__bg {
    position: absolute;
    inset: 0 -1% auto;
    z-index: 0;
  }
  .concept__bg img {
    width: 100%;
    max-width: none;
  }
  .concept__inner {
    position: relative;
    z-index: 1;
    padding-inline: var(--gutter);
    padding-block: 185px 192px;
  }
  .concept__tips {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
  }
  .concept__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 15px;
  }
  .concept__heading span {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--color-indigo-blue);
    text-align: center;
  }
  .concept__heading figure img {
    width: 100%;
    max-width: none;
  }
  .concept__txt {
    display: flex;
    flex-direction: column;
    gap: 33px 0;
    align-items: center;
    max-width: 652px;
    margin-inline: auto;
    padding-top: 25px;
  }
  .concept__txt p {
    font-family: var(--font-serif);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.9411764706;
    text-align: center;
  }
  @media (width >= 768px) {
    .concept::before {
      display: block;
      width: 100%;
      height: 35px;
      content: "";
      background-color: var(--color-navy-blue);
    }
    .concept__bg {
      top: 35px;
    }
    .concept__inner {
      padding-block: 164px 111px;
    }
    .concept__tips {
      font-size: 18px;
    }
    .concept__heading {
      flex-direction: row;
      gap: 0 18px;
      justify-content: center;
      padding-top: 12px;
    }
    .concept__heading span {
      font-size: 25px;
    }
    .concept__heading figure {
      flex: 0 0 426px;
      width: 426px;
    }
    .concept__txt {
      gap: 36px 0;
      padding-top: 53px;
    }
    .concept__txt p {
      font-size: 20px;
      line-height: 1.8;
    }
    .concept__img01 {
      width: 225px;
      top: 94px;
      right: calc(50% + 362px);
    }
    .concept__img02 {
      width: 275px;
      top: 317px;
      right: calc(50% + 422px);
    }
    .concept__img03 {
      width: 173px;
      bottom: 70px;
      right: calc(50% + 348px);
    }
    .concept__img04 {
      width: 270px;
      top: 190px;
      left: calc(50% + 374px);
    }
    .concept__img05 {
      width: 213px;
      top: 435px;
      left: calc(50% + 487px);
    }
  }
  @media (width < 768px) {
    .concept__heading figure {
      margin-top: -10px;
      width: 326px;
      margin-inline: auto;
    }
    .concept__img01 {
      width: 158px;
      right: min(50% + 50px, 100% - 158px);
      top: 8px;
    }
    .concept__img02 {
      width: 132px;
      bottom: 48px;
      left: calc(50% + 41px);
    }
    .concept__img03 {
      width: 153px;
      bottom: 66px;
      right: calc(50% + 34px);
    }
    .concept__img04 {
      width: 117px;
      top: 83px;
      left: calc(50% + 70px);
    }
    .concept__img05 {
      width: 72px;
      top: 354px;
      left: calc(50% + 120px);
    }
  }
  [class*=concept__img] {
    position: absolute;
    pointer-events: none;
  }
}
@layer project {
  .mv {
    padding-top: 28px;
    position: relative;
  }
  .mv__in {
    position: relative;
    z-index: 10;
  }
  .mv__heading {
    font-family: var(--font-latin);
    font-size: 45px;
    line-height: 1.2222222222;
    text-align: center;
    text-transform: capitalize;
    font-weight: 400;
  }
  .mv__copy {
    padding-top: 19px;
    font-family: var(--font-serif);
    font-size: 18px;
    line-height: 1.4444444444;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .mv__bg {
    position: absolute;
    inset: auto 0 158px;
    z-index: 0;
    height: 370px;
  }
  .mv__bg img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  @media (width >= 768px) {
    .mv {
      height: 817px;
      padding-top: 47px;
    }
    .mv::before {
      top: 160px;
      height: 108px;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 100%;
      content: "";
      background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    }
    .mv__in {
      height: 770px;
    }
    .mv__heading {
      font-size: 72px;
    }
    .mv__copy {
      padding-top: 11px;
      font-size: 30px;
      line-height: 1.4666666667;
      text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    }
    .mv__bg {
      height: 657px;
      inset: auto 0 0;
    }
    .mv__ftr {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-inline: auto;
      margin-top: 290px;
      position: absolute;
      bottom: 44px;
      left: max(var(--view-width) * 0.5 - 600px, var(--gutter));
      right: max(var(--view-width) * 0.5 - 600px, var(--gutter));
    }
    .mv__btn {
      flex: 0 0 380px;
      width: 380px;
      padding-bottom: 11px;
    }
  }
  @media (width < 768px) {
    .mv__bg::before {
      position: absolute;
      height: 100px;
      top: -1px;
      left: 0;
      z-index: 1;
      width: 100%;
      content: "";
      background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    }
    .mv__ftr {
      margin: 150px 0 0;
    }
    .mv__badge {
      margin-inline: 20px;
      translate: 0 28px;
    }
    .mv__btn {
      height: 158px;
      display: flex;
      align-items: center;
      padding-inline: var(--gutter);
      background-color: var(--color-navy-blue);
    }
    .mv__btn * {
      flex: 0 0 100%;
    }
  }
}
@layer project {
  .wall__hdr {
    background: url("../images/img-mobile-hdr-wall.jpg") no-repeat center center/cover;
    border-radius: 0 30px 0 0;
    height: 518px;
  }
  .wall__hdr p {
    padding: 55px var(--gutter) 35px;
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.875;
    color: #fff;
  }
  .wall__inner {
    background-color: var(--color-cool-gray);
    border-radius: 0 0 30px;
    padding: 95px var(--gutter) 43px;
  }
  @media (width >= 768px) {
    .wall {
      padding-right: max(var(--gutter), var(--view-width) * 0.5 - 600px);
    }
    .wall__hdr {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      height: 410px;
      padding-inline: max(var(--gutter), var(--view-width) * 0.5 - 600px) 58px;
      background-image: url("../images/img-hdr-wall.jpg");
      border-radius: 0 100px 0 0;
    }
    .wall__hdr p {
      flex: 0 0 598px;
      font-size: 36px;
      line-height: 1.8888888889;
      padding: 0;
    }
    .wall__inner {
      padding-block: 108px 65px;
      padding-inline: max(50px, var(--view-width) * 0.5 - 600px) 50px;
      border-radius: 0 0 100px;
    }
  }
  @media (width < 768px) {
    .wall__hdr p {
      position: relative;
      z-index: 10;
    }
    .wall__hdr p::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
      opacity: 0.35;
      mix-blend-mode: multiply;
    }
  }
}
@layer project {
  .effort {
    padding-inline: var(--gutter);
    padding-block: 37px 20px;
  }
  .effort__hgrp p {
    font-family: var(--font-latin);
    font-size: 75px;
    line-height: 0.8;
    color: var(--color-sax-blue);
    text-align: center;
    opacity: 0.2;
  }
  .effort__hgrp h2 {
    position: relative;
    z-index: 2;
    font-family: var(--font-latin);
    font-size: 36px;
    font-weight: bold;
    line-height: 0.9444444444;
    color: var(--color-indigo-blue);
    text-align: center;
    margin-top: -25px;
  }
  .effort__txt {
    padding-top: 27px;
    font-size: 16px;
    font-weight: 600;
    line-height: 25px;
    text-align: center;
  }
  .effort__txt b {
    font-size: 21px;
    font-weight: 600;
    color: var(--color-slate-blue);
  }
  .effort__copy {
    padding-top: 19px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6666666667;
    text-align: center;
  }
  .effort__arrow {
    width: 53px;
    height: 28px;
    margin-inline: auto;
    margin-top: 22px;
    background-color: #CFDDE2;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
  .effort__grid {
    padding-top: 14px;
  }
  @media (width >= 768px) {
    .effort {
      padding-block: 59px 30px;
    }
    .effort__hgrp p {
      display: flex;
      justify-content: center;
      font-size: 130px;
      white-space: nowrap;
    }
    .effort__hgrp h2 {
      margin-top: -45px;
      font-size: 50px;
    }
    .effort__txt {
      padding-top: 36px;
      font-size: 18px;
    }
    .effort__txt b {
      font-size: 24px;
    }
    .effort__copy {
      padding-top: 24px;
      font-size: 28px;
    }
    .effort__grid {
      padding-top: 12px;
      display: grid;
      justify-content: center;
      grid-template-columns: repeat(3, 220px);
      gap: 0 20px;
    }
    .effort__arrow {
      width: 86px;
      height: 44px;
      margin-top: 38px;
    }
  }
  @media (width >= 860px) {
    .effort__grid {
      grid-template-columns: repeat(3, 270px);
      gap: 0 40px;
    }
  }
  @media (width < 768px) {
    .effort__txt {
      padding-inline: 20px;
    }
    .effort__grid {
      width: fit-content;
      margin-inline: auto;
    }
  }
}
@layer project {
  .method {
    padding: 31px 15px 45px;
    background-color: var(--color-navy-blue);
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    position: relative;
  }
  .method__bg {
    position: absolute;
    z-index: 0;
    inset: 0 0 45.5%;
    background-color: var(--color-sky-blue);
    border-radius: var(--radius-lg) 0 var(--radius-lg) 0;
  }
  .method__bg::before {
    content: "";
    position: absolute;
    background: url("../images/bg-reason-map.svg") no-repeat center center/contain;
    aspect-ratio: 163/189;
    width: 163px;
    left: calc(50% + 20px);
    top: 19px;
  }
  .method__heading {
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .method__heading span, .method__heading b {
    text-align: center;
    font-weight: bold;
  }
  .method__heading span {
    font-size: 20px;
  }
  .method__heading b {
    font-size: 32px;
    letter-spacing: 0.03em;
    line-height: 1.1875;
  }
  .method__container {
    max-width: 1000px;
    margin-inline: auto;
    position: relative;
    z-index: 10;
  }
  .method__inner {
    background-color: #fff;
    border-radius: var(--radius-md);
    margin-top: 29px;
    padding: 22px 16px 0;
  }
  .method__fg {
    margin-top: 5px;
  }
  .method__copy {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    line-height: 1.1111111111;
  }
  .method__txt {
    display: flex;
    flex-direction: column;
    margin-top: 3px;
  }
  .method__txt span, .method__txt b {
    font-weight: bold;
    display: block;
    text-align: center;
  }
  .method__txt span {
    font-size: 15px;
  }
  .method__txt b {
    font-size: 17px;
    letter-spacing: 0.03em;
    line-height: 1.2941176471;
    color: var(--color-sax-blue);
    padding-block: 3px 3px;
  }
  .method__features {
    margin-top: 10px;
  }
  .method__ftr {
    padding-top: 21px;
  }
  @media (width >= 768px) {
    .method {
      padding-block: 55px 38px;
      border-radius: var(--radius-2xl) 0 0 var(--radius-2xl);
    }
    .method__bg {
      border-radius: var(--radius-2xl) 0 var(--radius-2xl) var(--radius-2xl);
      bottom: 44%;
    }
    .method__bg::before {
      width: 602px;
      left: calc(50% + 110px);
      top: 46px;
    }
    .method__heading span {
      font-size: 26px;
    }
    .method__heading b {
      font-size: 40px;
    }
    .method__inner {
      border-radius: var(--radius-xl);
      margin-top: 49px;
      padding: 58px 0 0;
    }
    .method__copy {
      font-size: 25px;
    }
    .method__fg {
      margin-top: 41px;
    }
    .method__txt {
      margin-top: 30px;
    }
    .method__txt span {
      font-size: 28px;
      letter-spacing: 0.03em;
    }
    .method__txt b {
      font-size: 32px;
      padding-block: 11px 3px;
    }
    .method__features {
      margin-top: 44px;
      padding-inline: 40px 52px;
    }
    .method__img01 {
      width: 204px;
      top: 154px;
      right: calc(50% + 475px);
    }
    .method__img02 {
      width: 138px;
      top: 452px;
      right: calc(50% + 490px);
    }
    .method__img03 {
      width: 164px;
      top: 703px;
      right: calc(50% + 542px);
    }
    .method__img04 {
      width: 218px;
      top: 947px;
      right: calc(50% + 570px);
    }
    .method__img05 {
      width: 130px;
      top: 1172px;
      right: calc(50% + 488px);
    }
    .method__img06 {
      width: 142px;
      top: 354px;
      left: calc(50% + 597px);
    }
    .method__img07 {
      width: 142px;
      top: 595px;
      left: calc(50% + 543px);
    }
    .method__img08 {
      width: 202px;
      top: 879px;
      left: calc(50% + 520px);
    }
    .method__img09 {
      width: 172px;
      top: 1122px;
      left: calc(50% + 470px);
    }
  }
  @media (width < 768px) {
    .method__features {
      width: fit-content;
      margin-inline: auto;
    }
    .method__img01 {
      width: 118.5px;
      top: 243px;
      right: calc(50% + 130px);
    }
    .method__img02 {
      width: 177px;
      right: calc(50% + 150px);
      top: 410px;
    }
    .method__img03 {
      width: 120px;
      right: calc(50% + 181px);
      top: 682px;
    }
    .method__img04 {
      width: 168px;
      right: calc(50% + 148px);
      top: 864px;
    }
    .method__img06 {
      width: 127.5px;
      top: 252px;
      left: calc(50% + 163px);
    }
    .method__img07 {
      width: 172.5px;
      top: 439px;
      left: calc(50% + 125px);
    }
    .method__img08 {
      width: 139.5px;
      top: 822px;
      left: calc(50% + 130px);
    }
    .method__img05, .method__img09 {
      display: none;
    }
  }
  @media (width < 480px) {
    .method__img01 {
      width: 79px;
      top: 253px;
      right: calc(50% + 80px);
    }
    .method__img02 {
      width: 118px;
      right: calc(50% + 69px);
      top: 359px;
    }
    .method__img03 {
      width: 80px;
      right: calc(50% + 101px);
      top: 562px;
    }
    .method__img04 {
      width: 112px;
      right: calc(50% + 68px);
      top: 714px;
    }
    .method__img06 {
      width: 85px;
      top: 253px;
      left: calc(50% + 103px);
    }
    .method__img07 {
      width: 115px;
      top: 419px;
      left: calc(50% + 65px);
    }
    .method__img08 {
      width: 93px;
      top: 682px;
      left: calc(50% + 80px);
    }
  }
  [class*=method__img] {
    position: absolute;
    pointer-events: none;
    z-index: 1;
  }
  @media (width < 768px) {
    [class*=method__img] {
      z-index: 11;
    }
  }
}
@layer project {
  .philosophy {
    background-color: var(--color-navy-blue);
    overflow: clip;
    padding-block: 30px 48px;
    border-bottom-right-radius: var(--radius-lg);
  }
  .philosophy__btn {
    margin-top: 40px;
  }
  @media (width >= 768px) {
    .philosophy {
      padding-block: 58px 60px;
      position: relative;
      border-bottom-right-radius: var(--radius-xl);
    }
    .philosophy__txt02 {
      margin-top: 28px;
    }
    .philosophy__fgs {
      margin-top: 35px;
    }
    .philosophy__txt03 {
      margin-top: 36px;
    }
    .philosophy__img01 {
      width: 232px;
      top: 59px;
      right: calc(50% + 328px);
    }
    .philosophy__img02 {
      width: 210px;
      top: 148px;
      left: calc(50% + 330px);
    }
    .philosophy__img03 {
      width: 216px;
      top: 514px;
      right: calc(50% + 313px);
    }
    .philosophy__img04 {
      width: 139px;
      bottom: 70px;
      right: calc(50% + 405px);
    }
    .philosophy__img05 {
      width: 164px;
      top: 720px;
      left: calc(50% + 401px);
    }
    .philosophy__btn {
      margin-top: 35px;
    }
  }
  @media (width < 768px) {
    .philosophy__images01 {
      display: flex;
      justify-content: center;
    }
    .philosophy__img01 {
      flex: 0 0 163px;
      padding-bottom: 23px;
    }
    .philosophy__img02 {
      flex: 0 0 148px;
      align-self: flex-end;
      margin-left: -14px;
    }
    .philosophy__txt01 {
      padding: 39px 35px 37px;
    }
    .philosophy__img03 {
      width: 216px;
    }
    .philosophy__txt02 {
      padding: 39px 35px 62px;
    }
    .philosophy__fgs {
      padding-inline: var(--gutter);
    }
    .philosophy__txt03 {
      padding: 37px 35px 37px;
    }
    .philosophy__images02 {
      display: flex;
      gap: 0 36px;
      max-width: 375px;
      margin-inline: auto;
    }
    .philosophy__img04 {
      flex: 0 0 139px;
      align-self: flex-end;
    }
    .philosophy__img05 {
      flex: 0 0 164px;
      padding-bottom: 28px;
    }
  }
  @media (width >= 768px) {
    [class*=philosophy__img] {
      position: absolute;
    }
  }
  [class*=philosophy__txt] {
    color: #fff;
  }
  [class*=philosophy__txt] p {
    font-family: var(--font-serif);
    text-align: center;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.7333333333;
  }
  [class*=philosophy__txt] p + p {
    margin-top: 26px;
  }
  @media (width >= 768px) {
    [class*=philosophy__txt] {
      border-bottom-right-radius: var(--radius-xl);
    }
    [class*=philosophy__txt] p {
      font-size: 16px;
      line-height: 1.75;
    }
    [class*=philosophy__txt] p + p {
      margin-top: 28px;
    }
  }
}
@layer project {
  .cta {
    background-color: var(--color-frost-white);
    position: relative;
    z-index: 0;
  }
  .cta::before {
    content: "";
    background-color: var(--color-sax-blue);
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 0;
    right: 0;
    display: block;
    height: 19vw;
    clip-path: url("#cta-bottom-clip-mobile");
  }
  .cta__container {
    position: relative;
    z-index: 1;
  }
  .cta__cts {
    padding-block: 38px;
  }
  .cta__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: minmax(0, 52fr) minmax(0, 67fr) minmax(0, 73fr);
    grid-template-areas: "img01 img03 img05" "img01 img03 img06" "img02 img03 img06";
    gap: 4px;
  }
  .cta__images .-img01 {
    grid-area: img01;
  }
  .cta__images .-img02 {
    grid-area: img02;
  }
  .cta__images .-img03 {
    grid-area: img03;
  }
  .cta__images .-img04 {
    grid-area: img04;
  }
  .cta__images .-img05 {
    grid-area: img05;
  }
  .cta__images .-img06 {
    grid-area: img06;
  }
  .cta__images img {
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (width >= 1024px) {
    .cta {
      height: 730px;
    }
    .cta::before {
      height: 262px;
      clip-path: url("#cta-bottom-clip");
    }
    .cta__container {
      background-color: var(--color-navy-blue);
      height: 100%;
      clip-path: url("#cta-clip");
      display: flex;
      gap: 0 85px;
      padding-right: var(--gutter);
    }
    .cta__images {
      gap: 10px;
      width: 65.5714%;
      height: 100%;
      margin-left: -9.2%;
      grid-template-rows: minmax(0, 173fr) minmax(0, 179fr) minmax(0, 165fr) minmax(0, 34fr) minmax(0, 139fr);
      grid-template-areas: "img01 img03 img05" "img01 img03 img06" "img02 img03 img06" "img02 img04 img06" "img02 img04 .";
    }
    .cta__cts {
      flex: 0 0 380px;
      width: 380px;
      align-self: center;
      padding-block: 0 260px;
      order: 2;
    }
  }
  @media (width < 1024px) {
    .cta__images {
      background-color: var(--color-navy-blue);
      clip-path: url("#cta-clip-mobile");
      height: 52.222vw;
    }
    .cta__images .-img04 {
      display: none;
    }
    .cta__cts {
      background-color: var(--color-navy-blue);
      padding-inline: var(--gutter);
    }
  }
}
@layer project {
  .booking {
    padding-bottom: 50px;
    position: relative;
  }
  .booking::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color-frost-white);
    z-index: -1;
  }
  @media (width >= 768px) {
    .booking {
      padding-bottom: 72px;
      margin-top: -50px;
    }
  }
  @media (width >= 1024px) {
    .booking {
      margin-top: -100px;
    }
  }
  @media (width < 768px) {
    .booking {
      padding-top: 10px;
    }
  }
}
@layer utilities {
  .object-cover-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .object-contain-full {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

/* ============================================
   Scroll Animation Initial States
   ============================================ */
[data-animate="fade"],
[data-animate="section"] {
  opacity: 0;
}
[data-animate="image-fade"] {
  opacity: 0;
  transform: scale(1.02);
}
/* stagger: container stays visible, children are hidden by JS */

/* Hero initial states (handled by JS timeline) */
.mv .mv__heading,
.mv .mv__copy,
.mv .mv__badge {
  opacity: 0;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-animate="fade"],
  [data-animate="section"],
  [data-animate="image-fade"],
  .mv .mv__heading,
  .mv .mv__copy,
  .mv .mv__badge {
    opacity: 1 !important;
    transform: none !important;
  }
}
}