@charset "UTF-8";
/* 
 * MOBILE (< 768px) ----------------------------------------
 * fixture                     sm
 * # of columns                4
 * unit                        (100% - (5px * 2)) / 4 - 20px
 * gutter                      20px
 * margin                      5px
 * container-size              100% - (5px * 2)
 *
 * TABLET (≥ 768px) ----------------------------------------
 * fixture                     md
 * # of columns                12
 * gutter                      20px
 * margin                      30px
 * container-size              100% - (30px * 2)
 * max-container-size          906px
 *
 * DESKTOP (≥ 1200px) ----------------------------------------
 * fixture                     lg
 * # of columns                12
 * unit                        75px
 * gutter                      20px
 * margin                      auto
 * container-size              1140px
 * max-container-size          1140px
*/
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
.eng {
  font-family: 'Montserrat', sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0; }

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
  flex: 1;
  /* main 요소가 가능한 최대 높이를 가지도록 설정 */ }

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  margin: 0.67em 0; }

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder; }

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%; }

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none; }

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible; }

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none; }

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; }

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline; }

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto; }

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block; }

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item; }

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none; }

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none; }

* {
  margin: 0;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Montserrat", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box; }

html {
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Montserrat", sans-serif;
  font-size: 16px; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Montserrat", sans-serif;
  color: #1e2025; }

h1 {
  margin: 0; }

a {
  color: #1e2025;
  text-decoration: none; }

button,
input,
select,
textarea {
  background-color: transparent;
  border: 0; }
  button:focus,
  input:focus,
  select:focus,
  textarea:focus {
    outline: none;
    box-shadow: none; }

textarea {
  width: 100%;
  height: 100px;
  padding: 16px;
  background-color: #fff;
  border-radius: 8px;
  resize: none; }

a,
button {
  cursor: pointer; }

button {
  padding: 0; }

ul,
ol {
  padding-left: 0;
  list-style: none; }

address {
  font-style: normal; }

/* Chrome, Safari, Edge, Opera */
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/* Firefox */
input[type='number'] {
  -moz-appearance: textfield; }

input:disabled {
  background-color: #dedfe2; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

@media screen and (min-width: 768px) {
  .sm-only {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .md-only {
    display: none !important; } }
@media screen and (min-width: 1200px) {
  .md-only {
    display: none !important; } }

@media screen and (max-width: 1199px) {
  .lg-only {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .sm-hidden {
    display: none !important; } }

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .md-hidden {
    display: none !important; } }

@media screen and (min-width: 1200px) {
  .lg-hidden {
    display: none !important; } }

main {
  padding-top: 50px; }
  @media screen and (min-width: 768px) {
    main {
      padding-top: 80px; } }
  @media screen and (min-width: 1200px) {
    main {
      padding-top: 92px; } }

.btn-group .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  font-weight: 500;
  border-radius: 4px;
  transition: background-color 200ms ease-in-out; }
  .btn-group .btn:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

.btn-group {
  display: flex;
  justify-content: center;
  align-items: center; }
  .btn-group .btn:not(:last-child) {
    margin-right: 8px; }
  .btn-group .btn.btn-sm {
    font-size: 14px;
    letter-spacing: -0.01em;
    padding: 8px 16px; }

.btn-primary {
  color: #fff;
  background-color: #1957f6; }
  .btn-primary:not(:disabled):hover {
    background-color: #3870fc; }

.btn-secondary {
  color: #fff;
  background-color: #44464a; }
  .btn-secondary:hover {
    background-color: #191a20; }

.btn-green {
  color: #fff;
  background-color: #5fd087; }
  .btn-green:hover {
    background-color: #1dc9a0; }

.btn-danger {
  color: #fff;
  background-color: #ff4f4f; }
  .btn-danger:hover {
    background-color: #de3f3f; }

.btn-32 {
  font-size: 14px;
  letter-spacing: -0.01em;
  height: 32px; }

.btn-40 {
  font-size: 16px;
  letter-spacing: -0.01em;
  height: 40px; }

.btn-48 {
  font-size: 16px;
  letter-spacing: -0.01em;
  height: 48px; }

.btn-55 {
  font-size: 18px;
  letter-spacing: -0.02em;
  height: 55px; }

input[type='checkbox'] {
  position: relative;
  width: 18px;
  height: 18px;
  background-color: #dedfe2;
  border: none;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

input[type='checkbox']:checked {
  background-color: #1dc9a0;
  background-image: url("/assets/images/icon/checkmark.png");
  /* 체크된 상태일 때 사용할 이미지 경로 */
  background-size: 10px 10px;
  /* 배경 이미지의 크기를 10px로 조정합니다. */
  background-repeat: no-repeat;
  /* 배경 이미지를 반복하지 않도록 설정합니다. */
  background-position: center; }

.form-select,
.form-input {
  font-size: 16px;
  letter-spacing: -0.01em;
  font-weight: 500;
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 16px;
  background-color: #fff;
  border-radius: 8px;
  transition: background-color 200ms ease-in-out;
  appearance: none; }
  .form-select::placeholder,
  .form-input::placeholder {
    color: #9c9fa3; }
  .form-select:not(:disabled):hover,
  .form-input:not(:disabled):hover {
    background-color: #f8faff; }
  .form-select:disabled,
  .form-input:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

.select-group {
  position: relative;
  display: inline-block;
  width: 100%; }
  .select-group .form-select {
    padding-right: 40px;
    text-overflow: ellipsis; }
    .select-group .form-select::-ms-expand {
      display: none; }
    .select-group .form-select::after {
      content: '1231231313';
      position: absolute;
      top: 50%;
      right: 10px;
      width: 20px;
      height: 20px;
      background: url("/assets/images/icon/chevron_down.png") no-repeat;
      background-size: contain;
      transform: translateY(-50%);
      pointer-events: none; }

.input-group {
  position: relative;
  width: 100%; }

textarea {
  transition: background-color 200ms ease-in-out; }
  textarea:hover {
    background-color: #f8faff; }

.board-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 34px; }
  .board-pagination .board-pagination__item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    margin: 0 2px;
    font-size: 12px;
    letter-spacing: -0.005em;
    color: #44464a;
    font-weight: 500;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: color 180ms ease-in-out, background-color 180ms ease-in-out, border-color 180ms ease-in-out; }
    .board-pagination .board-pagination__item:hover {
      color: #1458c7;
      background-color: #f4f8fd;
      border-color: rgba(20, 88, 199, 0.12); }
    .board-pagination .board-pagination__item.active, .board-pagination .board-pagination__item[aria-current='page'] {
      color: #fff;
      background-color: #061a35;
      border-color: #061a35;
      cursor: default; }
      .board-pagination .board-pagination__item.active:hover, .board-pagination .board-pagination__item[aria-current='page']:hover {
        color: #fff;
        background-color: #061a35;
        border-color: #061a35; }
    .board-pagination .board-pagination__item.disabled, .board-pagination .board-pagination__item[aria-disabled='true'] {
      color: #9c9fa3;
      cursor: default;
      pointer-events: none;
      opacity: 0.45; }
    .board-pagination .board-pagination__item.board-pagination__item--prev, .board-pagination .board-pagination__item.board-pagination__item--next {
      color: #696e77;
      border-color: #dedfe2; }
      .board-pagination .board-pagination__item.board-pagination__item--prev:hover, .board-pagination .board-pagination__item.board-pagination__item--next:hover {
        color: #1458c7;
        border-color: rgba(20, 88, 199, 0.35); }
      .board-pagination .board-pagination__item.board-pagination__item--prev svg, .board-pagination .board-pagination__item.board-pagination__item--next svg {
        display: block;
        width: 14px;
        height: 14px; }
  @media screen and (min-width: 768px) {
    .board-pagination {
      margin-top: 42px; }
      .board-pagination .board-pagination__item {
        width: 36px;
        height: 36px;
        margin: 0 3px;
        font-size: 13px;
        letter-spacing: -0.01em; } }
  @media screen and (min-width: 1200px) {
    .board-pagination {
      margin-top: 46px; }
      .board-pagination .board-pagination__item {
        width: 38px;
        height: 38px; }
        .board-pagination .board-pagination__item:hover {
          transform: translateY(-1px); } }

/* SimpTip 
// a simple CSS tooltip that has been made by Sass 
// source: https://github.com/arashmanteghi/simptip/
// ducoment: http://arashm.net/lab/simptip/
// by @ArashManteghi - http://arashm.net */
[data-tooltip] {
  position: relative;
  display: inline-block; }
  [data-tooltip]:before, [data-tooltip]:after {
    position: absolute;
    border-radius: 4px;
    visibility: hidden;
    opacity: 0;
    z-index: 999999; }
  [data-tooltip]:before {
    content: '';
    border-width: 6px;
    border-style: solid;
    border-color: transparent; }
  [data-tooltip]:after {
    height: 22px;
    padding: 11px 11px 0 11px;
    font-size: 13px;
    line-height: 11px;
    content: attr(data-tooltip);
    white-space: nowrap; }
  [data-tooltip]:hover, [data-tooltip]:focus {
    background-color: transparent; }
    [data-tooltip]:hover:before, [data-tooltip]:hover:after, [data-tooltip]:focus:before, [data-tooltip]:focus:after {
      visibility: visible;
      opacity: 1; }
  [data-tooltip].simptip-position-top:before {
    border-top-color: #323232; }
  [data-tooltip].simptip-position-top:after {
    background-color: #323232;
    color: #ecf0f1; }
  [data-tooltip].simptip-position-top.half-arrow:before {
    border-right: 7px solid #323232; }
  [data-tooltip].simptip-position-bottom:before {
    border-bottom-color: #323232; }
  [data-tooltip].simptip-position-bottom:after {
    background-color: #323232;
    color: #ecf0f1; }
  [data-tooltip].simptip-position-bottom.half-arrow:before {
    border-right: 7px solid #323232; }
  [data-tooltip].simptip-position-left:before {
    border-left-color: #323232; }
  [data-tooltip].simptip-position-left:after {
    background-color: #323232;
    color: #ecf0f1; }
  [data-tooltip].simptip-position-right:before {
    border-right-color: #323232; }
  [data-tooltip].simptip-position-right:after {
    background-color: #323232;
    color: #ecf0f1; }
  [data-tooltip].simptip-position-right.half-arrow:before {
    border-right: 7px solid #323232; }
  [data-tooltip].simptip-movable {
    transition: all 0.1s linear; }
    [data-tooltip].simptip-movable.simptip-position-right:hover:before, [data-tooltip].simptip-movable.simptip-position-right:hover:after {
      transform: translateX(10px); }
    [data-tooltip].simptip-movable.simptip-position-left:hover:before, [data-tooltip].simptip-movable.simptip-position-left:hover:after {
      transform: translateX(-10px); }
    [data-tooltip].simptip-movable.simptip-position-bottom:hover:before, [data-tooltip].simptip-movable.simptip-position-bottom:hover:after {
      transform: translateY(10px); }
    [data-tooltip].simptip-movable.simptip-position-top:hover:before, [data-tooltip].simptip-movable.simptip-position-top:hover:after {
      transform: translateY(-10px); }
  [data-tooltip].simptip-multiline:after {
    height: auto;
    width: 150px;
    padding: 11px;
    line-height: 19px;
    white-space: normal;
    text-align: left; }
  [data-tooltip].simptip-smooth:after {
    border-radius: 4px; }
  [data-tooltip].simptip-fade:before, [data-tooltip].simptip-fade:after {
    transition: opacity 0.2s linear, visibility 0.2s linear; }
  [data-tooltip].simptip-success.simptip-position-top:before, [data-tooltip].simptip-success.simptip-position-bottom:before, [data-tooltip].simptip-success.simptip-position-left:before, [data-tooltip].simptip-success.simptip-position-right:before {
    border-color: #62c462; }
  [data-tooltip].simptip-success:after {
    background-color: #62c462;
    color: #ecf0f1; }
  [data-tooltip].simptip-success.half-arrow:before {
    border-right: 7px solid #62c462; }
  [data-tooltip].simptip-info.simptip-position-top:before, [data-tooltip].simptip-info.simptip-position-bottom:before, [data-tooltip].simptip-info.simptip-position-left:before, [data-tooltip].simptip-info.simptip-position-right:before {
    border-color: #5bc0de; }
  [data-tooltip].simptip-info:after {
    background-color: #5bc0de;
    color: #ecf0f1; }
  [data-tooltip].simptip-info.half-arrow:before {
    border-right: 7px solid #5bc0de; }
  [data-tooltip].simptip-danger.simptip-position-top:before, [data-tooltip].simptip-danger.simptip-position-bottom:before, [data-tooltip].simptip-danger.simptip-position-left:before, [data-tooltip].simptip-danger.simptip-position-right:before {
    border-color: #e74c3c; }
  [data-tooltip].simptip-danger:after {
    background-color: #e74c3c;
    color: #ecf0f1; }
  [data-tooltip].simptip-danger.half-arrow:before {
    border-right: 7px solid #e74c3c; }
  [data-tooltip].simptip-warning.simptip-position-top:before, [data-tooltip].simptip-warning.simptip-position-bottom:before, [data-tooltip].simptip-warning.simptip-position-left:before, [data-tooltip].simptip-warning.simptip-position-right:before {
    border-color: #e67e22; }
  [data-tooltip].simptip-warning:after {
    background-color: #e67e22;
    color: #ecf0f1; }
  [data-tooltip].simptip-warning.half-arrow:before {
    border-right: 7px solid #e67e22; }

.simptip-position-right:before, .simptip-position-right:after,
.simptip-position-left:before,
.simptip-position-left:after {
  bottom: 50%; }
.simptip-position-right:before,
.simptip-position-left:before {
  margin-bottom: -5px; }
.simptip-position-right:after,
.simptip-position-left:after {
  margin-bottom: -14.66667px; }
.simptip-position-right.half-arrow:before,
.simptip-position-left.half-arrow:before {
  bottom: 16px;
  border-style: none;
  border-top: 7px solid transparent; }
.simptip-position-right.simptip-multiline:before, .simptip-position-right.simptip-multiline:after,
.simptip-position-left.simptip-multiline:before,
.simptip-position-left.simptip-multiline:after {
  bottom: -50%; }
.simptip-position-right.simptip-multiline:before,
.simptip-position-left.simptip-multiline:before {
  margin-bottom: 15px; }

.simptip-position-right:before, .simptip-position-right:after {
  left: 100%; }
.simptip-position-right:before {
  margin-left: -2px; }
.simptip-position-right:after {
  margin-left: 10px; }
.simptip-position-right.simptip-movable:before {
  margin-left: -10px; }
.simptip-position-right.simptip-movable:after {
  margin-left: 2px; }
.simptip-position-right.half-arrow:before {
  margin-left: 3px; }

.simptip-position-left:before, .simptip-position-left:after {
  right: 100%; }
.simptip-position-left:before {
  margin-right: -2px; }
.simptip-position-left:after {
  margin-right: 10px; }
.simptip-position-left.simptip-movable:before {
  margin-right: -10px; }
.simptip-position-left.simptip-movable:after {
  margin-right: 2px; }
.simptip-position-left.half-arrow:before {
  margin-right: 3px; }

.simptip-position-bottom:before, .simptip-position-bottom:after,
.simptip-position-top:before,
.simptip-position-top:after {
  left: 50%; }
.simptip-position-bottom:after,
.simptip-position-top:after {
  margin-left: -18px; }
.simptip-position-bottom.half-arrow:before,
.simptip-position-top.half-arrow:before {
  border-style: none;
  border-right: 7px solid #323232; }

.simptip-position-bottom:before, .simptip-position-bottom:after {
  top: 100%; }
.simptip-position-bottom:before {
  margin-top: -5px; }
.simptip-position-bottom:after {
  margin-top: 7px; }
.simptip-position-bottom.simptip-movable:before {
  margin-top: -15px; }
.simptip-position-bottom.simptip-movable:after {
  margin-top: -3px; }
.simptip-position-bottom.half-arrow:before {
  margin-top: 0;
  border-top: 7px solid transparent; }

.simptip-position-top:before, .simptip-position-top:after {
  bottom: 100%; }
.simptip-position-top:before {
  margin-bottom: -5px; }
.simptip-position-top:after {
  margin-bottom: 7px; }
.simptip-position-top.simptip-movable:before {
  margin-bottom: -15px; }
.simptip-position-top.simptip-movable:after {
  margin-bottom: -3px; }
.simptip-position-top.half-arrow:before {
  margin-bottom: 0;
  border-bottom: 7px solid transparent; }

.tooltip {
  display: inline-block; }
  .tooltip img {
    width: 18px;
    height: 18px; }

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 60;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid rgba(30, 32, 37, 0.08);
  box-shadow: 0 2px 12px rgba(6, 26, 53, 0.04); }
  .site-header .site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 50px;
    padding: 10px 16px; }
  .site-header .site-header__logo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex: 0 0 auto; }
    .site-header .site-header__logo img {
      display: block;
      width: 80px;
      height: auto; }
  .site-header .mobile-gnb {
    position: static; }
    .site-header .mobile-gnb .mobile-gnb__toggle {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 38px;
      height: 38px;
      list-style: none;
      cursor: pointer; }
      .site-header .mobile-gnb .mobile-gnb__toggle::-webkit-details-marker {
        display: none; }
      .site-header .mobile-gnb .mobile-gnb__toggle span, .site-header .mobile-gnb .mobile-gnb__toggle::before, .site-header .mobile-gnb .mobile-gnb__toggle::after {
        display: block;
        width: 22px;
        height: 2px;
        background-color: #061a35;
        border-radius: 10px; }
      .site-header .mobile-gnb .mobile-gnb__toggle span {
        position: relative; }
      .site-header .mobile-gnb .mobile-gnb__toggle::before, .site-header .mobile-gnb .mobile-gnb__toggle::after {
        content: '';
        position: absolute; }
      .site-header .mobile-gnb .mobile-gnb__toggle::before {
        transform: translateY(-7px); }
      .site-header .mobile-gnb .mobile-gnb__toggle::after {
        transform: translateY(7px); }
    .site-header .mobile-gnb[open] .mobile-gnb__toggle span {
      opacity: 0; }
    .site-header .mobile-gnb[open] .mobile-gnb__toggle::before {
      transform: rotate(45deg); }
    .site-header .mobile-gnb[open] .mobile-gnb__toggle::after {
      transform: rotate(-45deg); }
    .site-header .mobile-gnb .mobile-gnb__panel {
      position: absolute;
      top: 50px;
      left: 0;
      width: 100%;
      max-height: calc(100vh - 50px);
      overflow-y: auto;
      background-color: #fff;
      border-top: 1px solid #dedfe2;
      box-shadow: 0 18px 48px rgba(8, 30, 59, 0.12); }
    .site-header .mobile-gnb .mobile-menu {
      margin: 0; }
      .site-header .mobile-gnb .mobile-menu .mobile-menu__group {
        border-bottom: 1px solid #dedfe2; }
        .site-header .mobile-gnb .mobile-menu .mobile-menu__group summary {
          display: flex;
          justify-content: space-between;
          align-items: center;
          font-size: 16px;
          letter-spacing: -0.01em;
          color: #061a35;
          font-weight: 600;
          min-height: 54px;
          padding: 0 20px;
          list-style: none;
          cursor: pointer; }
          .site-header .mobile-gnb .mobile-menu .mobile-menu__group summary::-webkit-details-marker {
            display: none; }
          .site-header .mobile-gnb .mobile-menu .mobile-menu__group summary::after {
            content: '+';
            font-size: 20px;
            color: #1458c7;
            font-weight: 400; }
        .site-header .mobile-gnb .mobile-menu .mobile-menu__group[open] summary::after {
          content: '−'; }
        .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul {
          padding: 0 20px 16px;
          background-color: #f4f8fd; }
          .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul li:not(:last-child) {
            margin-bottom: 4px; }
          .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul li a {
            font-size: 14px;
            letter-spacing: -0.01em;
            color: #44464a;
            display: block;
            padding: 10px 4px; }
            .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul li a:hover, .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul li a:focus-visible {
              color: #1458c7; }
  .site-header .desktop-gnb {
    display: none; }
  @media screen and (min-width: 768px) {
    .site-header .site-header__inner {
      height: 80px;
      padding: 0 30px; }
    .site-header .site-header__logo img {
      width: 150px; }
    .site-header .mobile-gnb .mobile-gnb__panel {
      top: 80px;
      max-height: calc(100vh - 80px); }
    .site-header .mobile-gnb .mobile-menu .mobile-menu__group summary {
      min-height: 60px;
      padding: 0 30px; }
    .site-header .mobile-gnb .mobile-menu .mobile-menu__group ul {
      padding: 0 30px 20px; } }
  @media screen and (min-width: 1200px) {
    .site-header .site-header__inner {
      position: relative;
      max-width: 1440px;
      height: 92px;
      margin: 0 auto;
      padding: 0 56px; }
    .site-header .site-header__logo img {
      width: 166px; }
    .site-header .mobile-gnb {
      display: none; }
    .site-header .desktop-gnb {
      display: flex;
      justify-content: flex-end;
      align-items: stretch;
      align-self: stretch;
      flex: 1;
      margin-left: 80px; }
      .site-header .desktop-gnb .desktop-gnb__list {
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
        width: min(900px, 100%);
        height: 100%;
        margin: 0; }
        .site-header .desktop-gnb .desktop-gnb__list > li {
          position: relative;
          flex: 1; }
          .site-header .desktop-gnb .desktop-gnb__list > li > a {
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 18px;
            letter-spacing: -0.02em;
            color: #1e2025;
            font-weight: 600;
            position: relative;
            width: 100%;
            height: 100%;
            padding: 0 18px;
            white-space: nowrap;
            transition: color 160ms ease-in-out; }
            .site-header .desktop-gnb .desktop-gnb__list > li > a::after {
              content: '';
              position: absolute;
              right: 28%;
              bottom: 0;
              left: 28%;
              height: 3px;
              background-color: #1458c7;
              transform: scaleX(0);
              transform-origin: center;
              transition: transform 180ms ease-in-out; }
          .site-header .desktop-gnb .desktop-gnb__list > li:hover > a, .site-header .desktop-gnb .desktop-gnb__list > li:focus-within > a {
            color: #1458c7; }
            .site-header .desktop-gnb .desktop-gnb__list > li:hover > a::after, .site-header .desktop-gnb .desktop-gnb__list > li:focus-within > a::after {
              transform: scaleX(1); }
          .site-header .desktop-gnb .desktop-gnb__list > li:hover .desktop-dropdown, .site-header .desktop-gnb .desktop-gnb__list > li:focus-within .desktop-dropdown {
            visibility: visible;
            opacity: 1;
            transform: translate(-50%, 0);
            pointer-events: auto; }
      .site-header .desktop-gnb .desktop-dropdown {
        position: absolute;
        top: 100%;
        left: 50%;
        width: 240px;
        visibility: hidden;
        opacity: 0;
        transform: translate(-50%, -8px);
        pointer-events: none;
        transition: opacity 160ms ease-in-out, transform 160ms ease-in-out, visibility 160ms ease-in-out; }
        .site-header .desktop-gnb .desktop-dropdown ul {
          padding: 16px 0;
          background-color: #fff;
          border: 1px solid rgba(30, 32, 37, 0.08);
          border-top: 0;
          border-radius: 0 0 10px 10px;
          box-shadow: 0 12px 30px rgba(6, 26, 53, 0.12); }
          .site-header .desktop-gnb .desktop-dropdown ul li a {
            font-size: 15;
            color: #44464a;
            display: block;
            padding: 11px 22px;
            white-space: nowrap;
            transition: color 160ms ease-in-out, background-color 160ms ease-in-out, padding-left 160ms ease-in-out; }
            .site-header .desktop-gnb .desktop-dropdown ul li a:hover, .site-header .desktop-gnb .desktop-dropdown ul li a:focus-visible {
              color: #1458c7;
              background-color: #f4f8fd;
              padding-left: 27px; } }

.site-footer {
  background-color: #061a35;
  color: rgba(255, 255, 255, 0.64); }
  .site-footer .site-footer__inner {
    padding: 36px 20px; }
    .site-footer .site-footer__inner .site-footer__brand {
      margin-bottom: 28px; }
      .site-footer .site-footer__inner .site-footer__brand img {
        display: block;
        width: 128px;
        height: auto;
        filter: brightness(0) invert(1);
        opacity: 0.96; }
    .site-footer .site-footer__inner .site-footer__content .site-footer__title {
      font-size: 18px;
      letter-spacing: -0.02em;
      color: #fff;
      font-weight: 700;
      margin: 0 0 18px; }
    .site-footer .site-footer__inner .site-footer__content .site-footer__info {
      font-size: 14px;
      letter-spacing: -0.01em;
      color: rgba(255, 255, 255, 0.58);
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
      line-height: 1.6; }
      .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item {
        display: block; }
        .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item .site-footer__info-label {
          margin-right: 5px;
          color: rgba(255, 255, 255, 0.82);
          font-weight: 500; }
          .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item .site-footer__info-label::after {
            content: ':'; }
        .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item a {
          color: inherit;
          transition: color 180ms ease-in-out; }
          .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item a:hover, .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item a:focus-visible {
            color: #fff; }
    .site-footer .site-footer__inner .site-footer__content .site-footer__copyright {
      font-size: 14px;
      letter-spacing: -0.01em;
      color: rgba(255, 255, 255, 0.36);
      margin-top: 26px;
      line-height: 1.5; }
  @media screen and (min-width: 768px) {
    .site-footer .site-footer__inner {
      padding: 42px 30px; }
      .site-footer .site-footer__inner .site-footer__brand {
        margin-bottom: 30px; }
        .site-footer .site-footer__inner .site-footer__brand img {
          width: 140px; }
      .site-footer .site-footer__inner .site-footer__content .site-footer__title {
        font-size: 18px;
        letter-spacing: -0.02em;
        margin-bottom: 18px; }
      .site-footer .site-footer__inner .site-footer__content .site-footer__links {
        margin-bottom: 24px; }
      .site-footer .site-footer__inner .site-footer__content .site-footer__info {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px 0;
        max-width: 720px; }
        .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item {
          position: relative; }
          .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item:not(:last-child) {
            margin-right: 14px;
            padding-right: 14px; }
            .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item:not(:last-child)::after {
              content: '';
              position: absolute;
              top: 50%;
              right: 0;
              width: 1px;
              height: 10px;
              background-color: rgba(255, 255, 255, 0.18);
              transform: translateY(-50%); }
      .site-footer .site-footer__inner .site-footer__content .site-footer__copyright {
        margin-top: 26px; } }
  @media screen and (min-width: 1200px) {
    .site-footer .site-footer__inner {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr);
      align-items: center;
      max-width: 1440px;
      min-height: 220px;
      margin: 0 auto;
      padding: 40px 56px; }
      .site-footer .site-footer__inner .site-footer__brand {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        align-self: stretch;
        margin: 0;
        padding-right: 46px;
        border-right: 1px solid rgba(255, 255, 255, 0.14); }
        .site-footer .site-footer__inner .site-footer__brand img {
          width: 150px; }
      .site-footer .site-footer__inner .site-footer__content {
        padding-left: 52px; }
        .site-footer .site-footer__inner .site-footer__content .site-footer__title {
          font-size: 20px;
          color: #fff;
          font-weight: 700;
          margin-bottom: 18px; }
        .site-footer .site-footer__inner .site-footer__content .site-footer__links {
          margin-bottom: 22px; }
          .site-footer .site-footer__inner .site-footer__content .site-footer__links a {
            font-size: 13px;
            letter-spacing: -0.01em;
            color: rgba(255, 255, 255, 0.86); }
        .site-footer .site-footer__inner .site-footer__content .site-footer__info {
          font-size: 14px;
          letter-spacing: -0.01em;
          color: rgba(255, 255, 255, 0.56);
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          max-width: 850px;
          gap: 8px 0; }
          .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item {
            position: relative; }
            .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item:not(:last-child) {
              margin-right: 16px;
              padding-right: 16px; }
              .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item:not(:last-child)::after {
                content: '';
                position: absolute;
                top: 50%;
                right: 0;
                width: 1px;
                height: 10px;
                background-color: rgba(255, 255, 255, 0.18);
                transform: translateY(-50%); }
            .site-footer .site-footer__inner .site-footer__content .site-footer__info .site-footer__info-item .site-footer__info-label {
              color: rgba(255, 255, 255, 0.78); }
        .site-footer .site-footer__inner .site-footer__content .site-footer__copyright {
          font-size: 14px;
          letter-spacing: -0.01em;
          color: rgba(255, 255, 255, 0.34);
          margin-top: 22px; } }

.top-button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 100;
  width: 44px;
  height: 44px;
  color: #fff;
  background-color: rgba(6, 26, 53, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(6, 26, 53, 0.22);
  transition: transform 180ms ease-in-out, background-color 180ms ease-in-out; }
  .top-button:hover, .top-button:focus-visible {
    background-color: #1458c7;
    transform: translateY(-3px); }
  .top-button svg {
    width: 18px;
    height: 18px; }
  @media screen and (min-width: 768px) {
    .top-button {
      right: 28px;
      bottom: 28px;
      width: 50px;
      height: 50px; } }
  @media screen and (min-width: 1200px) {
    .top-button {
      right: 40px;
      bottom: 38px; } }

.main-page .main-hero {
  background-color: #061a35; }
  .main-page .main-hero .hero-slider {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background-color: #061a35; }
    .main-page .main-hero .hero-slider .main-visual-swiper {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-wrapper {
        height: 100%; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-slide {
        position: relative;
        height: 100%;
        overflow: hidden; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-slide img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-slide::after {
          content: '';
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, rgba(3, 17, 34, 0.12) 0%, rgba(3, 17, 34, 0.34) 42%, rgba(3, 17, 34, 0.9) 100%);
          pointer-events: none; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination {
        right: auto;
        bottom: 22px;
        left: 20px;
        z-index: 3;
        width: auto; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination .swiper-pagination-bullet {
          width: 6px;
          height: 6px;
          margin: 0 4px;
          background-color: #fff;
          border-radius: 50%;
          opacity: 0.4;
          transition: width 200ms ease-in-out, opacity 200ms ease-in-out, border-radius 200ms ease-in-out; }
          .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
            width: 24px;
            border-radius: 10px;
            opacity: 1; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-prev,
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-next {
        display: none; }
    .main-page .main-hero .hero-slider .hero-slider__content {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      min-height: 520px;
      padding: 46px 20px 62px;
      pointer-events: none; }
      .main-page .main-hero .hero-slider .hero-slider__content .hero-slider__eyebrow {
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #4c9dff;
        font-weight: 600;
        margin-bottom: 12px;
        letter-spacing: 0.12em; }
      .main-page .main-hero .hero-slider .hero-slider__content h1 {
        font-size: 34px;
        color: #fff;
        font-weight: 700;
        line-height: 1.28;
        word-break: keep-all; }
      .main-page .main-hero .hero-slider .hero-slider__content .hero-slider__description {
        font-size: 14px;
        letter-spacing: -0.01em;
        color: rgba(255, 255, 255, 0.8);
        max-width: 420px;
        margin-top: 18px;
        line-height: 1.5;
        word-break: keep-all; }
  .main-page .main-hero .hero-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: radial-gradient(circle at 90% 10%, rgba(76, 157, 255, 0.16), transparent 42%), #0a274a; }
    .main-page .main-hero .hero-links .hero-links__item {
      position: relative;
      display: block;
      min-width: 0;
      min-height: 170px;
      padding: 22px 18px 48px;
      color: #fff;
      border-top: 1px solid rgba(255, 255, 255, 0.22);
      transition: background-color 180ms ease-in-out, transform 180ms ease-in-out; }
      .main-page .main-hero .hero-links .hero-links__item:nth-child(odd) {
        border-right: 1px solid rgba(255, 255, 255, 0.22); }
      .main-page .main-hero .hero-links .hero-links__item:active {
        background-color: #103864; }
      .main-page .main-hero .hero-links .hero-links__item .hero-links__icon {
        display: block;
        width: 34px;
        height: 34px;
        margin-bottom: 16px;
        color: #b9d9ff; }
        .main-page .main-hero .hero-links .hero-links__item .hero-links__icon svg {
          display: block;
          width: 100%;
          height: 100%; }
      .main-page .main-hero .hero-links .hero-links__item .hero-links__title {
        font-size: 18px;
        letter-spacing: -0.02em;
        color: #fff;
        font-weight: 700;
        display: block;
        margin-bottom: 8px;
        line-height: 1.3; }
      .main-page .main-hero .hero-links .hero-links__item .hero-links__description {
        font-size: 12px;
        letter-spacing: -0.005em;
        color: rgba(255, 255, 255, 0.62);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.6;
        word-break: keep-all; }
      .main-page .main-hero .hero-links .hero-links__item .hero-links__arrow {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: 18px;
        bottom: 18px;
        width: 22px;
        height: 22px;
        color: rgba(255, 255, 255, 0.82);
        font-size: 20px;
        line-height: 1;
        transition: color 180ms ease-in-out, transform 180ms ease-in-out; }
      .main-page .main-hero .hero-links .hero-links__item:focus-visible {
        background-color: #103864;
        outline: 2px solid #4c9dff;
        outline-offset: -2px; }
        .main-page .main-hero .hero-links .hero-links__item:focus-visible .hero-links__arrow {
          color: #fff;
          transform: translateX(4px); }
.main-page .main-strengths {
  background-color: #fff; }
  .main-page .main-strengths .main-strengths__inner {
    display: grid;
    grid-template-columns: 1fr;
    padding: 10px 20px; }
  .main-page .main-strengths .strength-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 0; }
    .main-page .main-strengths .strength-item:not(:last-child) {
      border-bottom: 1px solid #dedfe2; }
    .main-page .main-strengths .strength-item .strength-item__icon {
      display: flex;
      justify-content: center;
      align-items: center;
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      color: #1458c7; }
      .main-page .main-strengths .strength-item .strength-item__icon svg {
        display: block;
        width: 100%;
        height: 100%; }
    .main-page .main-strengths .strength-item > div {
      min-width: 0;
      padding-top: 1px; }
    .main-page .main-strengths .strength-item .strength-item__title {
      font-size: 15px;
      color: #1e2025;
      font-weight: 700;
      display: block;
      margin-bottom: 6px;
      line-height: 1.4;
      word-break: keep-all; }
    .main-page .main-strengths .strength-item .strength-item__description {
      font-size: 12px;
      letter-spacing: -0.005em;
      color: #708095;
      line-height: 1.65;
      word-break: keep-all; }
@media screen and (min-width: 768px) {
  .main-page .main-hero .hero-slider {
    min-height: 560px; }
    .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination {
      bottom: 30px;
      left: 30px; }
    .main-page .main-hero .hero-slider .hero-slider__content {
      min-height: 560px;
      padding: 64px 40px 76px; }
      .main-page .main-hero .hero-slider .hero-slider__content .hero-slider__eyebrow {
        font-size: 13px;
        letter-spacing: -0.01em; }
      .main-page .main-hero .hero-slider .hero-slider__content h1 {
        font-size: 42px; }
      .main-page .main-hero .hero-slider .hero-slider__content .hero-slider__description {
        font-size: 15px;
        max-width: 500px;
        line-height: 1.6; }
  .main-page .main-hero .hero-links .hero-links__item {
    min-height: 190px;
    padding: 28px 26px 56px; }
    .main-page .main-hero .hero-links .hero-links__item:hover {
      background-color: #103864; }
      .main-page .main-hero .hero-links .hero-links__item:hover .hero-links__arrow {
        color: #fff;
        transform: translateX(4px); }
    .main-page .main-hero .hero-links .hero-links__item .hero-links__icon {
      width: 38px;
      height: 38px;
      margin-bottom: 18px; }
    .main-page .main-hero .hero-links .hero-links__item .hero-links__title {
      font-size: 20px; }
    .main-page .main-hero .hero-links .hero-links__item .hero-links__description {
      font-size: 13px;
      letter-spacing: -0.01em; }
    .main-page .main-hero .hero-links .hero-links__item .hero-links__arrow {
      right: 24px;
      bottom: 22px; }
  .main-page .main-strengths .main-strengths__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 20px 30px; }
  .main-page .main-strengths .strength-item {
    min-height: 130px;
    padding: 26px 24px; }
    .main-page .main-strengths .strength-item:not(:last-child) {
      border-bottom: 0; }
    .main-page .main-strengths .strength-item:nth-child(odd) {
      border-right: 1px solid #dedfe2; }
    .main-page .main-strengths .strength-item:nth-child(-n + 2) {
      border-bottom: 1px solid #dedfe2; }
    .main-page .main-strengths .strength-item .strength-item__icon {
      width: 46px;
      height: 46px; }
    .main-page .main-strengths .strength-item .strength-item__title {
      font-size: 16px;
      letter-spacing: -0.01em; }
    .main-page .main-strengths .strength-item .strength-item__description {
      font-size: 13px;
      letter-spacing: -0.01em; } }
@media screen and (min-width: 1200px) {
  .main-page .main-hero {
    position: relative;
    background-color: #061a35; }
    .main-page .main-hero .main-hero__layout {
      position: relative;
      display: block;
      width: 100%;
      max-width: none;
      margin: 0; }
    .main-page .main-hero .hero-slider {
      position: relative;
      width: 100%;
      min-height: 680px; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-slide img {
        object-position: center; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-slide::after {
        background: linear-gradient(90deg, rgba(3, 17, 34, 0.92) 0%, rgba(3, 17, 34, 0.66) 32%, rgba(3, 17, 34, 0.28) 62%, rgba(3, 17, 34, 0.12) 100%), linear-gradient(0deg, rgba(3, 17, 34, 0.42) 0%, transparent 48%); }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination {
        right: auto;
        bottom: 184px;
        left: max(70px, calc((100% - 1440px) / 2 + 70px));
        width: auto; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination .swiper-pagination-bullet {
          width: 7px;
          height: 7px;
          margin: 0 5px;
          background-color: #fff;
          border-radius: 50%;
          opacity: 0.38;
          transition: width 200ms ease-in-out, opacity 200ms ease-in-out, border-radius 200ms ease-in-out; }
          .main-page .main-hero .hero-slider .main-visual-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
            width: 30px;
            border-radius: 10px;
            opacity: 1; }
      .main-page .main-hero .hero-slider .main-visual-swiper .hero-slider__navigation {
        position: absolute;
        bottom: 170px;
        left: max(250px, calc((100% - 1440px) / 2 + 250px));
        z-index: 5;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 8px; }
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-prev,
      .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-next {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: 34px;
        height: 34px;
        margin: 0;
        color: rgba(255, 255, 255, 0.9);
        background-color: rgba(4, 22, 43, 0.42);
        border: 1px solid rgba(255, 255, 255, 0.38);
        border-radius: 50%;
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        transition: color 180ms ease-in-out, background-color 180ms ease-in-out, border-color 180ms ease-in-out, transform 180ms ease-in-out; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-prev::after,
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-next::after {
          font-size: 11px;
          font-weight: 700; }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-prev:hover,
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-next:hover {
          color: #fff;
          background-color: rgba(25, 87, 246, 0.85);
          border-color: rgba(111, 168, 255, 0.9);
          transform: translateY(-2px); }
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-prev:focus-visible,
        .main-page .main-hero .hero-slider .main-visual-swiper .swiper-button-next:focus-visible {
          outline: 2px solid #4c9dff;
          outline-offset: 2px; }
      .main-page .main-hero .hero-slider .hero-slider__content {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        max-width: 1440px;
        min-height: 680px;
        margin: 0 auto;
        padding: 70px 70px 190px;
        pointer-events: none; }
        .main-page .main-hero .hero-slider .hero-slider__content h1 {
          font-size: 56px;
          color: #fff;
          font-weight: 700;
          max-width: 620px;
          line-height: 1.2;
          word-break: keep-all; }
        .main-page .main-hero .hero-slider .hero-slider__content .hero-slider__description {
          font-size: 17px;
          color: rgba(255, 255, 255, 0.82);
          max-width: 540px;
          margin-top: 26px;
          line-height: 1.7;
          word-break: keep-all; }
    .main-page .main-hero .hero-links {
      position: absolute;
      right: max(70px, calc((100% - 1440px) / 2 + 70px));
      bottom: 34px;
      left: max(70px, calc((100% - 1440px) / 2 + 70px));
      z-index: 10;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      width: auto;
      background: rgba(5, 25, 50, 0.82);
      border: 1px solid rgba(76, 157, 255, 0.48);
      border-radius: 10px;
      box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      overflow: hidden; }
      .main-page .main-hero .hero-links .hero-links__item {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        min-width: 0;
        min-height: 104px;
        padding: 20px 66px 20px 28px;
        color: #fff;
        background-color: transparent;
        border: 0;
        transition: background-color 200ms ease-in-out, color 200ms ease-in-out; }
        .main-page .main-hero .hero-links .hero-links__item:not(:last-child) {
          border-right: 1px solid rgba(255, 255, 255, 0.13); }
        .main-page .main-hero .hero-links .hero-links__item .hero-links__description {
          display: none; }
        .main-page .main-hero .hero-links .hero-links__item .hero-links__icon {
          flex: 0 0 auto;
          width: 36px;
          height: 36px;
          margin: 0 22px 0 0;
          color: #6fa8ff;
          transition: color 200ms ease-in-out, transform 200ms ease-in-out; }
          .main-page .main-hero .hero-links .hero-links__item .hero-links__icon svg {
            display: block;
            width: 100%;
            height: 100%; }
        .main-page .main-hero .hero-links .hero-links__item .hero-links__title {
          font-size: 20px;
          color: #fff;
          font-weight: 700;
          margin: 0;
          white-space: nowrap; }
        .main-page .main-hero .hero-links .hero-links__item .hero-links__arrow {
          display: flex;
          justify-content: center;
          align-items: center;
          position: absolute;
          right: 28px;
          bottom: auto;
          width: 24px;
          height: 24px;
          color: rgba(255, 255, 255, 0.78);
          font-size: 22px;
          transition: color 200ms ease-in-out, transform 200ms ease-in-out; }
        .main-page .main-hero .hero-links .hero-links__item:hover {
          background-color: rgba(20, 88, 199, 0.65); }
          .main-page .main-hero .hero-links .hero-links__item:hover .hero-links__icon {
            color: #fff;
            transform: translateY(-2px); }
          .main-page .main-hero .hero-links .hero-links__item:hover .hero-links__arrow {
            color: #fff;
            transform: translateX(5px); }
        .main-page .main-hero .hero-links .hero-links__item:focus-visible {
          background-color: rgba(20, 88, 199, 0.65);
          outline: 2px solid #4c9dff;
          outline-offset: -2px; }
          .main-page .main-hero .hero-links .hero-links__item:focus-visible .hero-links__arrow {
            transform: translateX(5px); }
  .main-page .main-strengths .main-strengths__inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 1440px;
    margin: 0 auto;
    padding: 28px 56px; }
  .main-page .main-strengths .strength-item {
    min-height: 140px;
    padding: 30px 34px; }
    .main-page .main-strengths .strength-item:nth-child(odd) {
      border-right: 0; }
    .main-page .main-strengths .strength-item:nth-child(-n + 2) {
      border-bottom: 0; }
    .main-page .main-strengths .strength-item:not(:last-child) {
      border-right: 1px solid #dedfe2; }
    .main-page .main-strengths .strength-item .strength-item__icon {
      width: 50px;
      height: 50px; }
    .main-page .main-strengths .strength-item .strength-item__title {
      font-size: 17px;
      margin-bottom: 8px; }
    .main-page .main-strengths .strength-item .strength-item__description {
      font-size: 13px;
      letter-spacing: -0.01em;
      max-width: 220px;
      line-height: 1.7; } }

.sub-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 190px;
  background-image: linear-gradient(rgba(4, 24, 48, 0.62), rgba(4, 24, 48, 0.72)), var(--sub-visual-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden; }
  .sub-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(20, 88, 199, 0.08), rgba(6, 26, 53, 0.12));
    pointer-events: none; }
  .sub-visual .sub-visual__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 42px 20px;
    text-align: center; }
  .sub-visual .sub-visual__title {
    font-size: 30px;
    color: #fff;
    font-weight: 700;
    margin: 0;
    line-height: 1.3; }
  .sub-visual .sub-visual__breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 14px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.62); }
    .sub-visual .sub-visual__breadcrumb a,
    .sub-visual .sub-visual__breadcrumb span {
      color: inherit; }
    .sub-visual .sub-visual__breadcrumb a {
      transition: color 180ms ease-in-out; }
      .sub-visual .sub-visual__breadcrumb a:hover, .sub-visual .sub-visual__breadcrumb a:focus-visible {
        color: #fff; }
    .sub-visual .sub-visual__breadcrumb .sub-visual__breadcrumb-arrow {
      margin: 0 7px;
      color: rgba(255, 255, 255, 0.38); }
    .sub-visual .sub-visual__breadcrumb [aria-current='page'] {
      color: rgba(255, 255, 255, 0.88); }
  @media screen and (min-width: 768px) {
    .sub-visual {
      min-height: 230px; }
      .sub-visual .sub-visual__inner {
        padding: 58px 30px; }
      .sub-visual .sub-visual__title {
        font-size: 36px; }
      .sub-visual .sub-visual__breadcrumb {
        font-size: 12px;
        letter-spacing: -0.005em;
        margin-top: 16px; } }
  @media screen and (min-width: 1200px) {
    .sub-visual {
      min-height: 270px; }
      .sub-visual .sub-visual__inner {
        max-width: 1440px;
        margin: 0 auto;
        padding: 70px 56px; }
      .sub-visual .sub-visual__title {
        font-size: 42px; }
      .sub-visual .sub-visual__breadcrumb {
        margin-top: 18px; } }

.company-page {
  background-color: #fff; }
  .company-page .company-section-heading {
    margin-bottom: 28px; }
    .company-page .company-section-heading .company-section-heading__eyebrow {
      font-size: 11px;
      color: #1458c7;
      font-weight: 600;
      display: block;
      margin-bottom: 8px;
      letter-spacing: 0.06em; }
  .company-page .company-message {
    background-color: #fff; }
    .company-page .company-message .company-message__inner {
      padding: 52px 20px 64px; }
    .company-page .company-message .company-message__layout {
      display: flex;
      flex-direction: column; }
    .company-page .company-message .company-message__content .company-message__headline {
      font-size: 28px;
      color: #061a35;
      font-weight: 700;
      margin: 0 0 26px;
      line-height: 1.38;
      word-break: keep-all; }
    .company-page .company-message .company-message__content .company-message__text {
      font-size: 14px;
      letter-spacing: -0.01em;
      color: #44464a;
      line-height: 1.9;
      word-break: keep-all; }
      .company-page .company-message .company-message__content .company-message__text p {
        margin: 0; }
        .company-page .company-message .company-message__content .company-message__text p:not(:last-child) {
          margin-bottom: 17px; }
    .company-page .company-message .company-message__signature {
      margin-top: 30px;
      text-align: right; }
      .company-page .company-message .company-message__signature .company-message__company {
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #696e77;
        display: block;
        margin-bottom: 6px; }
      .company-page .company-message .company-message__signature .company-message__representative {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 7px;
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #44464a; }
        .company-page .company-message .company-message__signature .company-message__representative strong {
          font-size: 17px;
          color: #1e2025;
          font-weight: 700; }
        .company-page .company-message .company-message__signature .company-message__representative .company-message__signature-image {
          width: 80px;
          height: 100%;
          object-fit: cover;
          object-position: center; }
    .company-page .company-message .company-message__visual {
      position: relative;
      margin-top: 38px;
      overflow: hidden;
      border-radius: 8px; }
      .company-page .company-message .company-message__visual img {
        display: block;
        width: 100%;
        height: 240px;
        object-fit: cover;
        object-position: center; }
  .company-page .company-brand-visual {
    position: relative;
    min-height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(rgba(7, 37, 73, 0.66), rgba(7, 37, 73, 0.78)), url("/assets/images/company/company-brand-visual.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: scroll;
    overflow: hidden; }
    .company-page .company-brand-visual::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 78% 25%, rgba(76, 157, 255, 0.18), transparent 35%);
      pointer-events: none; }
    .company-page .company-brand-visual .company-brand-visual__inner {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: 54px 20px;
      text-align: center; }
    .company-page .company-brand-visual .company-brand-visual__title {
      font-size: 23px;
      color: #fff;
      font-weight: 700;
      display: block;
      line-height: 1.35;
      letter-spacing: -0.02em; }
    .company-page .company-brand-visual .company-brand-visual__description {
      font-size: 13px;
      letter-spacing: -0.01em;
      color: rgba(255, 255, 255, 0.82);
      margin: 17px 0 0;
      line-height: 1.7;
      word-break: keep-all; }
  .company-page .company-overview {
    background-color: #fff; }
    .company-page .company-overview .company-overview__inner {
      padding: 56px 20px 76px; }
    .company-page .company-overview .company-overview__table-wrap {
      width: 100%;
      overflow: hidden;
      border-top: 2px solid #061a35;
      border-bottom: 1px solid #dedfe2; }
    .company-page .company-overview .company-overview__table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed; }
      .company-page .company-overview .company-overview__table tr {
        border-bottom: 1px solid #dedfe2; }
        .company-page .company-overview .company-overview__table tr:last-child {
          border-bottom: 0; }
      .company-page .company-overview .company-overview__table th {
        width: 92px;
        padding: 15px 12px;
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #1e2025;
        font-weight: 600;
        vertical-align: middle;
        background-color: #f5f6f8;
        border-right: 1px solid #dedfe2;
        word-break: keep-all; }
      .company-page .company-overview .company-overview__table td {
        padding: 15px 14px;
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #44464a;
        line-height: 1.65;
        vertical-align: middle;
        background-color: #fff;
        word-break: keep-all; }
    .company-page .company-overview .company-overview__contact {
      display: flex;
      flex-direction: column;
      gap: 4px; }
  @media screen and (min-width: 768px) {
    .company-page .company-section-heading {
      margin-bottom: 34px; }
      .company-page .company-section-heading .company-section-heading__eyebrow {
        font-size: 12px;
        letter-spacing: -0.005em; }
    .company-page .company-message .company-message__inner {
      padding: 70px 40px 82px; }
    .company-page .company-message .company-message__content .company-message__headline {
      font-size: 34px;
      max-width: 620px;
      margin-bottom: 30px; }
    .company-page .company-message .company-message__content .company-message__text {
      font-size: 15px;
      max-width: 680px; }
    .company-page .company-message .company-message__signature {
      max-width: 680px;
      margin-top: 36px; }
    .company-page .company-message .company-message__visual {
      margin-top: 44px; }
      .company-page .company-message .company-message__visual img {
        height: 330px; }
    .company-page .company-brand-visual {
      min-height: 310px; }
      .company-page .company-brand-visual .company-brand-visual__inner {
        padding: 70px 40px; }
      .company-page .company-brand-visual .company-brand-visual__title {
        font-size: 30px; }
      .company-page .company-brand-visual .company-brand-visual__description {
        font-size: 15px;
        margin-top: 20px; }
    .company-page .company-overview .company-overview__inner {
      padding: 72px 40px 94px; }
    .company-page .company-overview .company-overview__table th {
      width: 140px;
      padding: 17px 18px;
      font-size: 13px;
      letter-spacing: -0.01em; }
    .company-page .company-overview .company-overview__table td {
      padding: 17px 20px;
      font-size: 13px;
      letter-spacing: -0.01em; }
    .company-page .company-overview .company-overview__contact {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 6px 0; }
      .company-page .company-overview .company-overview__contact span {
        position: relative; }
        .company-page .company-overview .company-overview__contact span:not(:last-child) {
          margin-right: 16px;
          padding-right: 16px; }
          .company-page .company-overview .company-overview__contact span:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            width: 1px;
            height: 11px;
            background-color: #dedfe2;
            transform: translateY(-50%); } }
  @media screen and (min-width: 1200px) {
    .company-page .company-section-heading {
      margin-bottom: 40px; }
    .company-page .company-message .company-message__inner {
      max-width: 1240px;
      margin: 0 auto;
      padding: 92px 56px 110px; }
    .company-page .company-message .company-message__layout {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
      gap: 90px;
      align-items: center; }
    .company-page .company-message .company-message__content .company-message__headline {
      font-size: 42px;
      max-width: 620px;
      margin-bottom: 34px;
      line-height: 1.32; }
    .company-page .company-message .company-message__content .company-message__text {
      font-size: 15px;
      max-width: 650px;
      line-height: 1.95; }
    .company-page .company-message .company-message__signature {
      max-width: 650px;
      margin-top: 40px; }
      .company-page .company-message .company-message__signature .company-message__company {
        font-size: 13px;
        letter-spacing: -0.01em; }
      .company-page .company-message .company-message__signature .company-message__representative strong {
        font-size: 18px;
        letter-spacing: -0.02em; }
    .company-page .company-message .company-message__visual {
      align-self: stretch;
      min-height: 510px;
      margin-top: 0;
      border-radius: 0; }
      .company-page .company-message .company-message__visual img {
        width: 100%;
        height: 100%;
        min-height: 510px;
        object-fit: cover; }
    .company-page .company-brand-visual {
      min-height: 360px;
      background-attachment: fixed; }
      .company-page .company-brand-visual .company-brand-visual__inner {
        max-width: 1240px;
        margin: 0 auto;
        padding: 90px 56px; }
      .company-page .company-brand-visual .company-brand-visual__title {
        font-size: 36px;
        line-height: 1.3; }
      .company-page .company-brand-visual .company-brand-visual__description {
        font-size: 16px;
        letter-spacing: -0.01em;
        margin-top: 22px; }
    .company-page .company-overview .company-overview__inner {
      max-width: 1240px;
      margin: 0 auto;
      padding: 92px 56px 120px; }
    .company-page .company-overview .company-overview__table th {
      width: 180px;
      padding: 19px 24px;
      font-size: 14px;
      letter-spacing: -0.01em; }
    .company-page .company-overview .company-overview__table td {
      padding: 19px 26px;
      font-size: 14px;
      letter-spacing: -0.01em;
      line-height: 1.7; }
    .company-page .company-overview .company-overview__note {
      font-size: 12px;
      letter-spacing: -0.005em;
      margin-top: 16px; } }

.organization-section {
  padding: 48px 16px 70px; }
  .organization-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.organization-heading {
  margin-bottom: 46px; }
  .organization-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .organization-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .organization-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 24px;
    line-height: 1.4; }
  .organization-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all; }

.organization-chart {
  position: relative;
  width: 100%; }

.organization-top {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 34px; }
  .organization-top__ceo {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 210px;
    min-height: 56px;
    padding: 13px 20px;
    color: #fff;
    background-color: #061a35;
    border: 1px solid rgba(6, 26, 53, 0.18);
    border-radius: 7px;
    font-size: 18px;
    line-height: 1.4;
    text-align: center; }
  .organization-top__audit {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 170px;
    min-height: 44px;
    margin-top: 18px;
    padding: 10px 18px;
    color: #061a35;
    background-color: #fff;
    border: 1px solid rgba(25, 91, 181, 0.3);
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.4;
    text-align: center; }
    .organization-top__audit::before {
      content: '';
      position: absolute;
      bottom: 100%;
      left: 50%;
      width: 1px;
      height: 18px;
      background-color: rgba(25, 91, 181, 0.38);
      transform: translateX(-50%); }
    .organization-top__audit::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      width: 1px;
      height: 34px;
      background-color: rgba(25, 91, 181, 0.38);
      transform: translateX(-50%); }

.organization-branches {
  display: none; }

.organization-departments {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px; }

.organization-department {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(25, 91, 181, 0.24);
  border-radius: 9px; }
  .organization-department:not(:first-child)::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 1px;
    height: 30px;
    background-color: rgba(25, 91, 181, 0.3);
    transform: translateX(-50%); }
  .organization-department__heading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    min-height: 68px;
    padding: 14px 16px;
    background-color: rgba(25, 91, 181, 0.085);
    border-bottom: 1px solid rgba(25, 91, 181, 0.16); }
    .organization-department__heading h2 {
      font-weight: 600;
      margin: 0;
      color: #061a35;
      font-size: 18px;
      line-height: 1.4; }
    .organization-department__heading p {
      margin-top: 2px;
      color: rgba(25, 91, 181, 0.72);
      font-size: 11px;
      line-height: 1.4;
      letter-spacing: 0.01em; }
  .organization-department__heading-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 0; }
  .organization-department__number {
    flex: 0 0 auto;
    color: rgba(25, 91, 181, 0.62);
    font-size: 28px;
    font-weight: 300;
    line-height: 1; }
  .organization-department__body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px; }

.organization-role {
  position: relative;
  padding: 16px 15px;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.16);
  border-radius: 7px; }
  .organization-role h3 {
    font-weight: 600;
    margin-bottom: 12px;
    color: #061a35;
    font-size: 14px;
    line-height: 1.5;
    word-break: keep-all; }
  .organization-role ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none; }
    .organization-role ul li {
      position: relative;
      padding-left: 12px;
      color: #44464a;
      font-size: 13px;
      line-height: 1.6;
      word-break: keep-all; }
      .organization-role ul li::before {
        content: '';
        position: absolute;
        top: 9px;
        left: 1px;
        width: 4px;
        height: 4px;
        background-color: rgba(25, 91, 181, 0.72);
        border-radius: 50%; }
  .organization-role--planned {
    border: 1px dashed rgba(25, 91, 181, 0.52);
    background-color: rgba(25, 91, 181, 0.015); }
  .organization-role__badge {
    display: inline-flex;
    margin-top: 12px;
    padding: 4px 9px;
    color: #1458c7;
    background-color: rgba(25, 91, 181, 0.07);
    border: 1px solid rgba(25, 91, 181, 0.2);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4; }

@media screen and (min-width: 768px) {
  .organization-section {
    padding: 60px 30px 90px; }

  .organization-heading {
    margin-bottom: 54px; }
    .organization-heading__bar {
      width: 5px;
      height: 30px; }
    .organization-heading__title {
      font-size: 29px; }
    .organization-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 15px; }

  .organization-top {
    height: 136px;
    margin-bottom: 0; }
    .organization-top::after {
      content: '';
      position: absolute;
      top: 58px;
      left: 50%;
      width: 1px;
      height: 78px;
      background-color: rgba(25, 91, 181, 0.38);
      transform: translateX(-50%); }
    .organization-top__ceo {
      max-width: 220px;
      min-height: 58px;
      font-size: 19px; }
    .organization-top__audit {
      position: absolute;
      top: 70px;
      left: calc(50% + 64px);
      width: 160px;
      margin: 0; }
      .organization-top__audit::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 100%;
        left: auto;
        bottom: auto;
        width: 64px;
        height: 1px;
        background-color: rgba(25, 91, 181, 0.38);
        transform: none; }
      .organization-top__audit::after {
        display: none; }

  .organization-branches {
    position: relative;
    display: block;
    width: 100%;
    height: 36px; }
    .organization-branches__horizontal {
      position: absolute;
      top: 0;
      left: calc(100% / 6);
      right: calc(100% / 6);
      height: 1px;
      background-color: rgba(25, 91, 181, 0.38); }
    .organization-branches__line {
      position: absolute;
      top: 0;
      width: 1px;
      height: 36px;
      background-color: rgba(25, 91, 181, 0.38); }
      .organization-branches__line--01 {
        left: calc(100% / 6); }
      .organization-branches__line--02 {
        left: 50%; }
      .organization-branches__line--03 {
        left: calc(100% * 5 / 6); }

  .organization-departments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px; }

  .organization-department {
    overflow: visible;
    border: 0; }
    .organization-department::before {
      display: none; }
    .organization-department__heading {
      min-height: 68px;
      padding: 13px 12px;
      background-color: rgba(25, 91, 181, 0.085);
      border: 1px solid rgba(25, 91, 181, 0.28);
      border-radius: 7px; }
      .organization-department__heading h2 {
        font-size: 18px; }
      .organization-department__heading p {
        font-size: 11px; }
    .organization-department__number {
      font-size: 28px; }
    .organization-department__body {
      position: relative;
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 26px 0 0; }
      .organization-department__body::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 1px;
        height: 26px;
        background-color: rgba(25, 91, 181, 0.34);
        transform: translateX(-50%); }

  .organization-role {
    min-height: 126px;
    padding: 15px 13px;
    border: 1px solid rgba(30, 32, 37, 0.18); }
    .organization-role h3 {
      font-size: 13px; }
    .organization-role ul li {
      font-size: 13px; } }
@media screen and (min-width: 1200px) {
  .organization-section {
    padding: 80px 56px 120px; }

  .organization-heading {
    margin-bottom: 64px; }
    .organization-heading__bar {
      height: 34px; }
    .organization-heading__title {
      font-size: 32px; }
    .organization-heading__description {
      margin-top: 18px;
      font-size: 16px; }

  .organization-top {
    height: 150px; }
    .organization-top::after {
      top: 62px;
      height: 88px; }
    .organization-top__ceo {
      max-width: 260px;
      min-height: 62px;
      font-size: 21px; }
    .organization-top__audit {
      top: 82px;
      left: calc(50% + 76px);
      width: 175px; }
      .organization-top__audit::before {
        width: 76px; }

  .organization-branches {
    height: 40px; }
    .organization-branches__horizontal {
      top: 0;
      left: calc((100% - 56px) / 6);
      right: calc((100% - 56px) / 6); }
    .organization-branches__line {
      height: 40px; }
      .organization-branches__line--01 {
        left: calc((100% - 56px) / 6); }
      .organization-branches__line--02 {
        left: 50%; }
      .organization-branches__line--03 {
        right: calc((100% - 56px) / 6);
        left: auto; }

  .organization-departments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px; }

  .organization-department__body {
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 46px 0 0; }
    .organization-department__body::after {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      width: 1px;
      height: 24px;
      background-color: rgba(25, 91, 181, 0.34);
      transform: translateX(-50%); }
    .organization-department__body::before {
      content: '';
      position: absolute;
      top: 24px;
      left: calc((100% - 14px) / 4);
      width: calc((100% + 14px) / 2);
      height: 1px;
      background-color: rgba(25, 91, 181, 0.34);
      transform: none; }

  .organization-role {
    position: relative;
    min-height: 160px;
    padding: 20px 18px;
    border: 1px solid rgba(30, 32, 37, 0.18); }
    .organization-role::before {
      content: '';
      position: absolute;
      top: -22px;
      left: 50%;
      width: 1px;
      height: 22px;
      background-color: rgba(25, 91, 181, 0.34);
      transform: translateX(-50%); }
    .organization-role h3 {
      margin-bottom: 14px;
      font-size: 15px; }
    .organization-role ul {
      gap: 7px; }
      .organization-role ul li {
        font-size: 14px; }
    .organization-role__badge {
      margin-top: 14px;
      font-size: 12px; } }
.location-page {
  width: 100%;
  background-color: #fff; }

.location-content {
  padding: 32px 20px 64px;
  background-color: #f7f9fc; }
  .location-content__inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto; }

.location-box {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.12);
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(6, 26, 53, 0.08); }

.location-map {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .location-map__canvas {
    width: 100%;
    height: 320px;
    background-color: #eef2f6; }
  .location-map__action {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 10;
    right: 16px;
    bottom: 16px;
    min-height: 40px;
    padding: 0 14px;
    color: #fff;
    background-color: rgba(6, 26, 53, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    box-shadow: 0 5px 16px rgba(6, 26, 53, 0.16);
    font-size: 13px;
    font-weight: 600;
    transition: background-color 160ms ease, transform 160ms ease; }
    .location-map__action span {
      margin-left: 6px; }
    .location-map__action:hover, .location-map__action:focus-visible {
      background-color: #1458c7;
      transform: translateY(-1px); }

.kakao-map-info {
  display: flex;
  flex-direction: column;
  min-width: 190px;
  padding: 11px 13px;
  font-family: inherit; }
  .kakao-map-info strong {
    margin-bottom: 3px;
    color: #061a35;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45; }
  .kakao-map-info span {
    color: #626b76;
    font-size: 12px;
    line-height: 1.5;
    white-space: nowrap; }

.location-info {
  padding: 28px 22px 24px; }
  .location-info__item {
    display: flex;
    align-items: flex-start;
    gap: 14px; }
  .location-info__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    color: #1458c7;
    background-color: rgba(25, 91, 181, 0.07);
    border-radius: 50%; }
    .location-info__icon svg {
      width: 21px;
      height: 21px; }
  .location-info__text {
    min-width: 0;
    padding-top: 2px; }
  .location-info__label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #061a35;
    font-size: 15px;
    line-height: 1.4; }
  .location-info__value {
    display: block;
    margin: 0;
    color: #44464a;
    font-size: 14px;
    font-style: normal;
    line-height: 1.75;
    word-break: keep-all; }
  .location-info a.location-info__value {
    transition: color 160ms ease; }
    .location-info a.location-info__value:hover, .location-info a.location-info__value:focus-visible {
      color: #1458c7; }
  .location-info__divider {
    width: 100%;
    height: 1px;
    margin: 22px 0;
    background-color: rgba(30, 32, 37, 0.12); }
  .location-info__button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 52px;
    margin-top: 28px;
    padding: 0 20px;
    color: #fff;
    background-color: #061a35;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 160ms ease, transform 160ms ease; }
    .location-info__button:hover, .location-info__button:focus-visible {
      background-color: #1458c7;
      transform: translateY(-2px); }
  .location-info__button-icon {
    display: inline-flex;
    flex: 0 0 auto;
    margin-right: 8px; }
    .location-info__button-icon svg {
      width: 18px;
      height: 18px; }
  .location-info__button-arrow {
    margin-left: 8px;
    font-size: 16px; }

@media screen and (min-width: 768px) {
  .location-content {
    padding: 48px 30px 80px; }

  .location-box {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    min-height: 500px; }

  .location-map {
    min-width: 0; }
    .location-map__canvas {
      height: 100%;
      min-height: 500px; }
    .location-map__action {
      right: 24px;
      bottom: 24px;
      min-height: 42px;
      padding: 0 16px;
      font-size: 13px; }

  .location-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px 30px; }
    .location-info__button {
      margin-top: 34px; } }
@media screen and (min-width: 1200px) {
  .location-content {
    padding: 70px 56px 110px; }

  .location-box {
    grid-template-columns: minmax(0, 2fr) minmax(340px, 0.82fr);
    min-height: 560px;
    border-radius: 14px; }

  .location-map__canvas {
    min-height: 560px; }
  .location-map__action {
    right: 30px;
    bottom: 30px;
    min-height: 44px;
    padding: 0 18px;
    font-size: 14px; }

  .location-info {
    padding: 54px 42px; }
    .location-info__item {
      gap: 16px; }
    .location-info__icon {
      width: 46px;
      height: 46px; }
      .location-info__icon svg {
        width: 22px;
        height: 22px; }
    .location-info__label {
      font-size: 16px; }
    .location-info__value {
      font-size: 15px; }
    .location-info__divider {
      margin: 28px 0; }
    .location-info__button {
      min-height: 54px;
      margin-top: 40px;
      font-size: 15px; } }
.manager-page {
  width: 100%;
  background-color: #fff; }

.manager-section {
  padding: 48px 20px 70px; }
  .manager-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.manager-heading {
  margin-bottom: 42px; }
  .manager-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .manager-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .manager-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 25px;
    line-height: 1.4; }
    .manager-heading__title span {
      color: #1458c7; }
  .manager-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 16px;
    line-height: 1.7;
    word-break: keep-all; }

.manager-subheading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 17px; }
  .manager-subheading__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    color: #1458c7;
    background-color: rgba(25, 91, 181, 0.07);
    border-radius: 8px; }
    .manager-subheading__icon svg {
      width: 19px;
      height: 19px; }
  .manager-subheading__title {
    font-weight: 600;
    color: #061a35;
    font-size: 20px; }

.grade-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: fit-content;
  min-width: 54px;
  height: 27px;
  margin-left: auto;
  margin-right: 0;
  padding: 0 12px;
  color: #fff;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap; }
  .grade-badge--special {
    background-color: #061a35; }
  .grade-badge--high {
    background-color: #205bb0; }
  .grade-badge--middle {
    background-color: #52a82d; }
  .grade-badge--basic {
    background-color: #3996a0; }

.appointment {
  width: 100%; }

.appointment-mobile {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.14);
  border-radius: 10px; }

.appointment-row {
  padding: 17px 16px; }
  .appointment-row:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.12); }
  .appointment-row__top {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 100%; }
    .appointment-row__top strong {
      font-weight: 600;
      flex: 1 1 auto;
      min-width: 0;
      color: #061a35;
      font-size: 16px;
      line-height: 1.55;
      word-break: keep-all; }
    .appointment-row__top .grade-badge {
      flex: 0 0 auto;
      margin-left: auto;
      margin-right: 0; }
  .appointment-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 10px; }
    .appointment-row__meta span {
      position: relative;
      color: #44464a;
      font-size: 14px;
      line-height: 1.5; }
      .appointment-row__meta span:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 50%;
        right: -7px;
        width: 2px;
        height: 2px;
        background-color: rgba(30, 32, 37, 0.35);
        border-radius: 50%; }

.appointment-table-wrap {
  display: none; }

.procedure {
  margin-top: 50px; }

.procedure-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0; }
  .procedure-list::before {
    content: '';
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 21px;
    width: 1px;
    background-color: rgba(25, 91, 181, 0.24); }

.procedure-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 16px;
  padding-bottom: 30px;
  background-color: transparent;
  border: 0; }
  .procedure-card:last-child {
    padding-bottom: 0; }
  .procedure-card__step {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    color: #fff;
    background-color: #1458c7;
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(25, 91, 181, 0.18); }
    .procedure-card__step span {
      font-size: 14px;
      font-weight: 700; }
  .procedure-card__icon {
    display: none; }
  .procedure-card__body {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding-top: 2px; }
    .procedure-card__body h3 {
      font-weight: 600;
      margin-bottom: 8px;
      color: #061a35;
      font-size: 18px;
      line-height: 1.45; }
      .procedure-card__body h3 span {
        display: block;
        margin-top: 3px;
        color: #44464a;
        font-size: 14px;
        font-weight: 500; }
    .procedure-card__body ul {
      padding-left: 13px; }
      .procedure-card__body ul li {
        position: relative;
        color: #44464a;
        font-size: 15px;
        line-height: 1.75; }
        .procedure-card__body ul li::before {
          content: '';
          position: absolute;
          top: 9px;
          left: -10px;
          width: 3px;
          height: 3px;
          background-color: #1458c7;
          border-radius: 50%; }

.manager-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 42px;
  padding: 18px;
  background-color: rgba(25, 91, 181, 0.045);
  border: 1px solid rgba(25, 91, 181, 0.18);
  border-radius: 9px; }
  .manager-note__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700; }
  .manager-note__content {
    min-width: 0; }
    .manager-note__content h2 {
      font-weight: 600;
      margin-bottom: 8px;
      color: #061a35;
      font-size: 16px; }
    .manager-note__content ul li {
      color: #44464a;
      font-size: 14px;
      line-height: 1.7;
      word-break: keep-all; }
      .manager-note__content ul li:not(:last-child) {
        margin-bottom: 4px; }
      .manager-note__content ul li strong {
        color: #061a35; }

@media screen and (min-width: 768px) {
  .manager-section {
    padding: 60px 30px 90px; }

  .manager-heading {
    margin-bottom: 50px; }
    .manager-heading__bar {
      width: 5px;
      height: 30px; }
    .manager-heading__title {
      font-size: 31px; }
    .manager-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 17px; }

  .manager-subheading {
    margin-bottom: 20px; }
    .manager-subheading__icon {
      width: 34px;
      height: 34px; }
      .manager-subheading__icon svg {
        width: 20px;
        height: 20px; }
    .manager-subheading__title {
      font-size: 21px; }

  .appointment-mobile {
    display: none; }

  .appointment-table-wrap {
    display: block;
    overflow: hidden;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.16);
    border-radius: 8px; }

  .appointment-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; }
    .appointment-table__building {
      width: 40%; }
    .appointment-table__grade {
      width: 18%; }
    .appointment-table__count {
      width: 17%; }
    .appointment-table__deadline {
      width: 25%; }
    .appointment-table thead {
      background-color: #061a35; }
      .appointment-table thead th {
        padding: 15px 10px;
        color: #fff;
        border-right: 1px solid rgba(255, 255, 255, 0.22);
        font-size: 15px;
        font-weight: 600;
        line-height: 1.4;
        text-align: center; }
        .appointment-table thead th:last-child {
          border-right: 0; }
    .appointment-table tbody tr {
      border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
      .appointment-table tbody tr:last-child {
        border-bottom: 0; }
    .appointment-table tbody td {
      padding: 17px 10px;
      color: #44464a;
      border-right: 1px solid rgba(30, 32, 37, 0.14);
      font-size: 15px;
      line-height: 1.55;
      text-align: center;
      vertical-align: middle;
      word-break: keep-all; }
      .appointment-table tbody td:first-child {
        color: #061a35;
        background-color: rgba(6, 26, 53, 0.032);
        font-weight: 600; }
      .appointment-table tbody td:nth-child(4) {
        border-right: 0; }
    .appointment-table__deadline-cell {
      color: #1458c7 !important;
      background-color: rgba(25, 91, 181, 0.025);
      font-weight: 700 !important; }

  .grade-badge {
    width: fit-content;
    min-width: 66px;
    max-width: 84px;
    height: 27px;
    margin: 0 auto;
    padding: 0 13px;
    font-size: 14px; }

  .procedure {
    margin-top: 60px; }

  .procedure-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px; }
    .procedure-list::before {
      display: none; }

  .procedure-card {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 14px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.14);
    border-radius: 10px; }
    .procedure-card__step {
      grid-column: 1;
      grid-row: 1;
      width: 50px;
      height: 50px;
      border: 0;
      box-shadow: none; }
      .procedure-card__step span {
        font-size: 15px; }
    .procedure-card__icon {
      display: none; }
    .procedure-card__body {
      grid-column: 2;
      grid-row: 1;
      padding-top: 1px; }
      .procedure-card__body h3 {
        font-size: 17px; }
      .procedure-card__body ul li {
        font-size: 14px; }

  .manager-note {
    margin-top: 48px;
    padding: 22px; }
    .manager-note__content h2 {
      font-size: 17px; }
    .manager-note__content ul li {
      font-size: 15px; } }
@media screen and (min-width: 1200px) {
  .manager-section {
    padding: 80px 56px 120px; }

  .manager-heading {
    margin-bottom: 56px; }
    .manager-heading__bar {
      height: 34px; }
    .manager-heading__title {
      font-size: 34px; }
    .manager-heading__description {
      margin-top: 18px;
      font-size: 18px; }

  .manager-subheading {
    margin-bottom: 22px; }
    .manager-subheading__icon {
      width: 36px;
      height: 36px; }
      .manager-subheading__icon svg {
        width: 21px;
        height: 21px; }
    .manager-subheading__title {
      font-size: 23px; }

  .appointment-table-wrap {
    border: 1px solid rgba(30, 32, 37, 0.18); }

  .appointment-table__building {
    width: 38%; }
  .appointment-table__grade {
    width: 20%; }
  .appointment-table__count {
    width: 18%; }
  .appointment-table__deadline {
    width: 24%; }
  .appointment-table thead th {
    padding: 17px 14px;
    font-size: 16px; }
  .appointment-table tbody tr {
    border-bottom: 1px solid rgba(30, 32, 37, 0.16); }
    .appointment-table tbody tr:last-child {
      border-bottom: 0; }
  .appointment-table tbody td {
    padding: 18px 14px;
    border-right: 1px solid rgba(30, 32, 37, 0.16);
    font-size: 16px; }
    .appointment-table tbody td:first-child {
      color: #061a35;
      background-color: rgba(6, 26, 53, 0.032);
      font-weight: 600; }
    .appointment-table tbody td:nth-child(4) {
      border-right: 0; }

  .grade-badge {
    width: fit-content;
    min-width: 76px;
    max-width: 88px;
    height: 28px;
    margin: 0 auto;
    padding: 0 14px;
    font-size: 14px; }

  .procedure {
    margin-top: 68px; }

  .procedure-list {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0; }
    .procedure-list::before {
      content: '';
      display: block;
      position: absolute;
      top: 32px;
      right: 8%;
      left: 8%;
      height: 1px;
      background-color: rgba(25, 91, 181, 0.26); }

  .procedure-card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 0 22px;
    text-align: center;
    background-color: transparent;
    border: 0;
    border-radius: 0; }
    .procedure-card__step {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 64px;
      height: 64px;
      margin-bottom: 17px;
      color: #fff;
      background-color: #1458c7;
      border: 8px solid #fff;
      border-radius: 50%;
      box-shadow: 0 0 0 1px rgba(25, 91, 181, 0.18); }
      .procedure-card__step span {
        font-size: 15px; }
    .procedure-card__icon {
      display: none; }
    .procedure-card__body h3 {
      margin-bottom: 11px;
      font-size: 18px; }
      .procedure-card__body h3 span {
        margin-top: 4px;
        font-size: 14px; }
    .procedure-card__body ul {
      display: inline-block;
      padding-left: 13px;
      text-align: left; }
      .procedure-card__body ul li {
        font-size: 15px; }

  .manager-note {
    margin-top: 58px;
    padding: 22px 26px; }
    .manager-note__content h2 {
      font-size: 18px; }
    .manager-note__content ul li {
      font-size: 15px; } }
.inspection-page {
  width: 100%;
  background-color: #fff; }

.inspection-section {
  padding: 48px 20px 70px; }
  .inspection-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.inspection-heading {
  margin-bottom: 44px; }
  .inspection-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .inspection-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .inspection-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 25px;
    line-height: 1.4;
    word-break: keep-all; }
  .inspection-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 16px;
    line-height: 1.7;
    word-break: keep-all; }

.inspection-subheading {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  margin-bottom: 17px; }
  .inspection-subheading__number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 29px;
    height: 29px;
    margin-top: 1px;
    color: #fff;
    background-color: #061a35;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700; }
  .inspection-subheading__title {
    font-weight: 600;
    margin: 0;
    color: #061a35;
    font-size: 19px;
    line-height: 1.35; }
    .inspection-subheading__title span {
      display: block;
      margin-top: 3px;
      color: #44464a;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.45; }

.inspection-rule {
  width: 100%; }

.rule-list {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.15);
  border-radius: 9px; }

.rule-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr); }
  .rule-row:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
  .rule-row__label {
    font-size: 15px;
    color: #061a35;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding: 14px 12px;
    background-color: rgba(6, 26, 53, 0.04);
    line-height: 1.5;
    word-break: keep-all; }
  .rule-row__value {
    font-size: 15px;
    color: #44464a;
    padding: 14px;
    line-height: 1.55;
    word-break: keep-all; }
    .rule-row__value--point {
      color: #1458c7;
      font-weight: 700; }
    .rule-row__value strong {
      color: #061a35; }
    .rule-row__value ul li {
      position: relative;
      padding-left: 10px; }
      .rule-row__value ul li:not(:last-child) {
        margin-bottom: 3px; }
      .rule-row__value ul li::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 0;
        width: 3px;
        height: 3px;
        background-color: rgba(25, 91, 181, 0.7);
        border-radius: 50%; }
      .rule-row__value ul li span {
        color: #777f89; }
  .rule-row--half {
    display: block; }
    .rule-row--half .rule-row__group {
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr); }
      .rule-row--half .rule-row__group:not(:last-child) {
        border-bottom: 1px solid rgba(30, 32, 37, 0.14); }

.inspection-deadline {
  margin-top: 50px; }

.deadline-table {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.18);
  border-radius: 9px; }
  .deadline-table__header {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
    background-color: #061a35; }
    .deadline-table__header > div {
      font-size: 14px;
      letter-spacing: -0.01em;
      color: #fff;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      padding: 12px 7px;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      line-height: 1.4;
      text-align: center;
      word-break: keep-all; }
      .deadline-table__header > div:last-child {
        border-right: 0; }

.deadline-row {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr); }
  .deadline-row:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.15); }
  .deadline-row > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 15px 6px;
    border-right: 1px solid rgba(30, 32, 37, 0.15);
    text-align: center; }
    .deadline-row > div:last-child {
      border-right: 0; }
  .deadline-row__target {
    background-color: rgba(6, 26, 53, 0.04); }
    .deadline-row__target strong {
      font-size: 14px;
      letter-spacing: -0.01em;
      color: #061a35;
      font-weight: 600;
      line-height: 1.55;
      word-break: keep-all; }
  .deadline-row__date strong {
    font-size: 13px;
    letter-spacing: -0.01em;
    color: #1458c7;
    font-weight: 600;
    max-width: 100%;
    line-height: 1.5;
    white-space: normal;
    word-break: keep-all; }
  .deadline-row__date span {
    margin-top: 4px;
    color: #7b838e;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0.8; }

.deadline-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 10px;
  padding: 12px;
  background-color: rgba(25, 91, 181, 0.04);
  border: 1px solid rgba(25, 91, 181, 0.12);
  border-radius: 6px; }
  .deadline-note__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700; }
  .deadline-note p {
    color: #44464a;
    font-size: 13px;
    line-height: 1.65;
    word-break: keep-all; }
    .deadline-note p strong {
      color: #061a35; }

.inspection-procedure {
  margin-top: 52px; }

.inspection-steps {
  position: relative;
  display: flex;
  flex-direction: column; }
  .inspection-steps::before {
    content: '';
    position: absolute;
    top: 21px;
    bottom: 21px;
    left: 20px;
    width: 1px;
    background-color: rgba(25, 91, 181, 0.22); }

.inspection-step {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 15px;
  padding-bottom: 28px; }
  .inspection-step:last-child {
    padding-bottom: 0; }
  .inspection-step__number {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    width: 42px;
    height: 42px;
    color: #fff;
    background-color: #1458c7;
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(25, 91, 181, 0.18);
    font-size: 13px;
    font-weight: 700; }
  .inspection-step__content {
    padding-top: 3px; }
    .inspection-step__content h3 {
      font-weight: 600;
      margin-bottom: 7px;
      color: #061a35;
      font-size: 17px;
      line-height: 1.45;
      word-break: keep-all; }
    .inspection-step__content ul li {
      position: relative;
      padding-left: 10px;
      color: #44464a;
      font-size: 14px;
      line-height: 1.7;
      word-break: keep-all; }
      .inspection-step__content ul li::before {
        content: '';
        position: absolute;
        top: 9px;
        left: 0;
        width: 3px;
        height: 3px;
        background-color: rgba(25, 91, 181, 0.7);
        border-radius: 50%; }

@media screen and (min-width: 768px) {
  .inspection-section {
    padding: 60px 30px 90px; }

  .inspection-heading {
    margin-bottom: 50px; }
    .inspection-heading__bar {
      width: 5px;
      height: 30px; }
    .inspection-heading__title {
      font-size: 31px; }
    .inspection-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 17px; }

  .inspection-subheading {
    margin-bottom: 20px; }
    .inspection-subheading__number {
      width: 29px;
      height: 29px;
      font-size: 14px; }
    .inspection-subheading__title {
      font-size: 21px; }
      .inspection-subheading__title span {
        display: inline;
        margin-top: 0;
        margin-left: 4px;
        font-size: 15px; }

  .rule-list {
    border-color: rgba(30, 32, 37, 0.16); }

  .rule-row {
    grid-template-columns: 150px minmax(0, 1fr); }
    .rule-row:not(:last-child) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .rule-row__label {
      padding: 16px;
      font-size: 15px; }
    .rule-row__value {
      padding: 16px 18px;
      font-size: 15px; }
    .rule-row--half {
      display: block; }
      .rule-row--half .rule-row__group {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr); }
        .rule-row--half .rule-row__group:not(:last-child) {
          border-bottom: 1px solid rgba(30, 32, 37, 0.14);
          border-right: 0; }

  .inspection-deadline {
    margin-top: 60px; }

  .deadline-table {
    border-color: rgba(30, 32, 37, 0.17); }
    .deadline-table__header {
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); }
      .deadline-table__header > div {
        padding: 14px 10px;
        font-size: 14px; }

  .deadline-row {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); }
    .deadline-row:not(:last-child) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.15); }
    .deadline-row > div {
      padding: 17px 12px;
      border-right: 1px solid rgba(30, 32, 37, 0.15); }
    .deadline-row__target strong {
      font-size: 15px; }
    .deadline-row__date strong {
      font-size: 15px;
      white-space: nowrap; }
    .deadline-row__date span {
      font-size: 12px; }

  .deadline-note {
    padding: 13px 15px; }
    .deadline-note p {
      font-size: 14px; }

  .inspection-procedure {
    margin-top: 62px; }

  .inspection-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px; }
    .inspection-steps::before {
      display: none; }

  .inspection-step {
    display: block;
    padding: 20px;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.14);
    border-radius: 9px; }
    .inspection-step__number {
      width: 38px;
      height: 38px;
      margin-bottom: 15px;
      border: 0;
      box-shadow: none;
      font-size: 13px; }
    .inspection-step__content {
      padding: 0; }
      .inspection-step__content h3 {
        font-size: 17px; }
      .inspection-step__content ul li {
        font-size: 14px; } }
@media screen and (min-width: 1200px) {
  .inspection-section {
    padding: 80px 56px 120px; }

  .inspection-heading {
    margin-bottom: 56px; }
    .inspection-heading__bar {
      height: 34px; }
    .inspection-heading__title {
      font-size: 34px; }
    .inspection-heading__description {
      margin-top: 18px;
      font-size: 18px; }

  .inspection-subheading {
    margin-bottom: 22px; }
    .inspection-subheading__number {
      width: 31px;
      height: 31px;
      font-size: 14px; }
    .inspection-subheading__title {
      font-size: 22px; }
      .inspection-subheading__title span {
        font-size: 16px; }

  .rule-row {
    grid-template-columns: 180px minmax(0, 1fr); }
    .rule-row__label {
      padding: 18px;
      font-size: 16px; }
    .rule-row__value {
      padding: 18px 22px;
      font-size: 16px; }
    .rule-row--half {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .rule-row--half .rule-row__group {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr); }
        .rule-row--half .rule-row__group:not(:last-child) {
          border-bottom: 0;
          border-right: 1px solid rgba(30, 32, 37, 0.14); }

  .inspection-deadline {
    margin-top: 68px; }

  .deadline-table {
    border: 1px solid rgba(30, 32, 37, 0.19); }
    .deadline-table__header {
      grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr); }
      .deadline-table__header > div {
        padding: 15px 14px;
        font-size: 15px; }

  .deadline-row {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr); }
    .deadline-row:not(:last-child) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.17); }
    .deadline-row > div {
      padding: 18px 16px;
      border-right: 1px solid rgba(30, 32, 37, 0.17); }
    .deadline-row__target strong {
      font-size: 16px;
      line-height: 1.6; }
    .deadline-row__date strong {
      font-size: 16px;
      white-space: nowrap; }
    .deadline-row__date span {
      font-size: 13px; }

  .deadline-note {
    margin-top: 12px;
    padding: 14px 17px; }
    .deadline-note p {
      font-size: 15px; }

  .inspection-procedure {
    margin-top: 70px; }

  .inspection-steps {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0; }
    .inspection-steps::before {
      content: '';
      display: block;
      position: absolute;
      top: 20px;
      right: 8%;
      left: 8%;
      height: 1px;
      background-color: rgba(25, 91, 181, 0.24); }

  .inspection-step {
    position: relative;
    z-index: 1;
    padding: 0 24px;
    text-align: center;
    background-color: transparent;
    border: 0;
    border-radius: 0; }
    .inspection-step__number {
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      z-index: 2;
      width: 58px;
      height: 58px;
      margin: 0 auto 18px;
      background-color: rgba(25, 91, 181, 0.045);
      border: 1px solid rgba(25, 91, 181, 0.16);
      border-radius: 50%; }
      .inspection-step__number span {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 42px;
        height: 42px;
        color: #fff;
        background-color: #1458c7;
        border-radius: 50%;
        font-size: 14px;
        font-weight: 700; }
    .inspection-step__content h3 {
      margin-bottom: 12px;
      font-size: 18px; }
    .inspection-step__content ul {
      display: inline-block;
      text-align: left; }
      .inspection-step__content ul li {
        font-size: 15px; } }
.criteria-page {
  width: 100%;
  background-color: #fff; }

.criteria-section {
  padding: 48px 16px 70px; }
  .criteria-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.criteria-heading {
  margin-bottom: 44px; }
  .criteria-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .criteria-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .criteria-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 26px;
    line-height: 1.4;
    word-break: keep-all; }
  .criteria-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 16px;
    line-height: 1.7;
    word-break: keep-all; }

.criteria-subheading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px; }
  .criteria-subheading__dot {
    flex: 0 0 auto;
    width: 5px;
    height: 20px;
    background-color: #1458c7; }
  .criteria-subheading__title {
    font-weight: 600;
    color: #061a35;
    font-size: 20px;
    line-height: 1.45; }

.criteria-table-box {
  width: 100%;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.16);
  border-radius: 8px; }

.standard-table {
  display: table !important;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; }
  .standard-table__type {
    width: 16%; }
  .standard-table__maintenance {
    width: 42%; }
  .standard-table__performance {
    width: 42%; }
  .standard-table thead {
    display: table-header-group !important;
    background-color: #061a35; }
    .standard-table thead tr {
      display: table-row !important; }
    .standard-table thead th {
      display: table-cell !important;
      padding: 11px 3px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.35;
      text-align: center;
      vertical-align: middle;
      word-break: keep-all; }
      .standard-table thead th:last-child {
        border-right: 0; }
  .standard-table tbody {
    display: table-row-group !important; }
    .standard-table tbody tr {
      display: table-row !important; }
      .standard-table tbody tr:not(:last-child) {
        border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .standard-table tbody th,
    .standard-table tbody td {
      display: table-cell !important;
      width: auto !important;
      padding: 13px 4px;
      border-right: 1px solid rgba(30, 32, 37, 0.14);
      font-size: 13px;
      line-height: 1.5;
      vertical-align: top;
      word-break: keep-all; }
      .standard-table tbody th:last-child,
      .standard-table tbody td:last-child {
        border-right: 0; }
    .standard-table tbody th {
      color: #061a35;
      background-color: rgba(6, 26, 53, 0.04);
      font-weight: 600;
      text-align: center; }
    .standard-table tbody td {
      position: static !important;
      color: #44464a;
      text-align: left; }
      .standard-table tbody td::before {
        display: none !important;
        content: none !important; }
    .standard-table tbody tr:first-child th,
    .standard-table tbody tr:first-child td {
      vertical-align: middle; }
    .standard-table tbody tr:last-child th,
    .standard-table tbody tr:last-child td {
      vertical-align: middle; }
  .standard-table__detail-row th,
  .standard-table__detail-row td {
    vertical-align: top !important; }
  .standard-table__detail-row th {
    padding-top: 16px; }

.table-point {
  color: #1458c7;
  font-size: 13px;
  font-weight: 700; }

.criteria-detail {
  display: flex;
  flex-direction: column;
  gap: 17px; }
  .criteria-detail__group > strong {
    display: block;
    margin-bottom: 5px;
    color: #061a35;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    word-break: keep-all; }
  .criteria-detail__group ul li {
    position: relative;
    padding-left: 10px;
    color: #44464a;
    font-size: 13px;
    line-height: 1.55;
    word-break: keep-all; }
    .criteria-detail__group ul li:not(:last-child) {
      margin-bottom: 3px; }
    .criteria-detail__group ul li::before {
      content: '';
      position: absolute;
      top: 9px;
      left: 0;
      width: 3px;
      height: 3px;
      background-color: rgba(25, 91, 181, 0.65);
      border-radius: 50%; }

.criteria-compliance {
  margin-top: 52px; }

.compliance-table {
  display: table !important;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; }
  .compliance-table__type {
    width: 31%; }
  .compliance-table__time {
    width: 16%; }
  .compliance-table__standard {
    width: 22%; }
  .compliance-table__writer {
    width: 31%; }
  .compliance-table thead {
    display: table-header-group !important;
    background-color: #061a35; }
    .compliance-table thead tr {
      display: table-row !important; }
    .compliance-table thead th {
      display: table-cell !important;
      padding: 11px 3px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.35;
      text-align: center;
      vertical-align: middle;
      word-break: keep-all; }
      .compliance-table thead th:last-child {
        border-right: 0; }
  .compliance-table tbody {
    display: table-row-group !important; }
    .compliance-table tbody tr {
      display: table-row !important; }
      .compliance-table tbody tr:not(:last-child) {
        border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .compliance-table tbody th,
    .compliance-table tbody td {
      display: table-cell !important;
      width: auto !important;
      padding: 13px 5px;
      color: #44464a;
      border-right: 1px solid rgba(30, 32, 37, 0.14);
      font-size: 13px;
      line-height: 1.5;
      vertical-align: top;
      word-break: keep-all; }
      .compliance-table tbody th:last-child,
      .compliance-table tbody td:last-child {
        border-right: 0; }
      .compliance-table tbody th::before,
      .compliance-table tbody td::before {
        display: none !important;
        content: none !important; }
    .compliance-table tbody th {
      padding-left: 8px;
      padding-right: 8px;
      color: #061a35;
      background-color: rgba(6, 26, 53, 0.04);
      font-weight: 600;
      line-height: 1.5;
      text-align: left; }
    .compliance-table tbody td {
      text-align: center; }
      .compliance-table tbody td span {
        color: #747c86; }
  .compliance-table__report {
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: left !important; }
    .compliance-table__report span {
      position: relative;
      display: block;
      padding-left: 9px;
      color: #44464a !important;
      font-size: 13px;
      line-height: 1.5; }
      .compliance-table__report span:not(:last-child) {
        margin-bottom: 5px; }
      .compliance-table__report span::before {
        content: '';
        position: absolute;
        top: 9px;
        left: 0;
        width: 3px;
        height: 3px;
        background-color: #1458c7;
        border-radius: 50%; }

.criteria-benefit {
  margin-top: 52px; }

.benefit-list {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.15);
  border-radius: 8px; }

.benefit-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 13px;
  padding: 18px 16px; }
  .benefit-card:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
  .benefit-card__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-row: 1 / span 2;
    width: 40px;
    height: 40px;
    color: #1458c7;
    background-color: rgba(25, 91, 181, 0.05);
    border-radius: 50%; }
    .benefit-card__icon svg {
      width: 21px;
      height: 21px; }
  .benefit-card h3 {
    font-weight: 600;
    margin-bottom: 5px;
    color: #061a35;
    font-size: 15px;
    line-height: 1.45;
    word-break: keep-all; }
  .benefit-card p {
    color: #44464a;
    font-size: 14px;
    line-height: 1.65;
    word-break: keep-all; }

@media screen and (min-width: 768px) {
  .criteria-section {
    padding: 60px 30px 90px; }

  .criteria-heading {
    margin-bottom: 50px; }
    .criteria-heading__bar {
      width: 5px;
      height: 30px; }
    .criteria-heading__title {
      font-size: 31px; }
    .criteria-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 17px; }

  .criteria-subheading {
    margin-bottom: 20px; }
    .criteria-subheading__dot {
      height: 22px; }
    .criteria-subheading__title {
      font-size: 21px; }

  .standard-table__type {
    width: 16%; }
  .standard-table__maintenance {
    width: 42%; }
  .standard-table__performance {
    width: 42%; }
  .standard-table thead th {
    padding: 15px 10px;
    font-size: 15px; }
  .standard-table tbody th,
  .standard-table tbody td {
    padding: 17px 14px;
    font-size: 15px; }
  .standard-table tbody th {
    background-color: rgba(6, 26, 53, 0.04); }

  .table-point {
    font-size: 15px; }

  .criteria-detail {
    gap: 17px; }
    .criteria-detail__group > strong {
      font-size: 15px; }
    .criteria-detail__group ul li {
      font-size: 15px; }

  .criteria-compliance {
    margin-top: 60px; }

  .compliance-table__type {
    width: 28%; }
  .compliance-table__time {
    width: 15%; }
  .compliance-table__standard {
    width: 22%; }
  .compliance-table__writer {
    width: 35%; }
  .compliance-table thead {
    background-color: #061a35; }
    .compliance-table thead th {
      padding: 14px 9px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 15px; }
      .compliance-table thead th:last-child {
        border-right: 0; }
  .compliance-table tbody th,
  .compliance-table tbody td {
    padding: 15px 10px;
    font-size: 15px; }
  .compliance-table tbody th {
    padding-left: 12px;
    background-color: rgba(6, 26, 53, 0.04); }

  .criteria-benefit {
    margin-top: 60px; }

  .benefit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .benefit-card {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 21px; }
    .benefit-card:not(:last-child) {
      border-bottom: 0; }
    .benefit-card:nth-child(odd) {
      border-right: 1px solid rgba(30, 32, 37, 0.14); }
    .benefit-card:nth-child(-n + 2) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .benefit-card__icon {
      width: 42px;
      height: 42px; }
      .benefit-card__icon svg {
        width: 22px;
        height: 22px; }
    .benefit-card h3 {
      font-size: 16px; }
    .benefit-card p {
      font-size: 15px; } }
@media screen and (min-width: 1200px) {
  .criteria-section {
    padding: 80px 56px 120px; }

  .criteria-heading {
    margin-bottom: 56px; }
    .criteria-heading__bar {
      height: 34px; }
    .criteria-heading__title {
      font-size: 34px; }
    .criteria-heading__description {
      margin-top: 18px;
      font-size: 18px; }

  .criteria-subheading {
    margin-bottom: 22px; }
    .criteria-subheading__dot {
      height: 24px; }
    .criteria-subheading__title {
      font-size: 22px; }

  .standard-table thead th {
    padding: 17px 14px;
    font-size: 16px; }
  .standard-table tbody th,
  .standard-table tbody td {
    padding: 18px 20px;
    font-size: 16px; }
  .standard-table tbody th {
    background-color: rgba(6, 26, 53, 0.04); }

  .table-point {
    font-size: 16px; }

  .criteria-detail {
    gap: 18px; }
    .criteria-detail__group > strong {
      font-size: 16px; }
    .criteria-detail__group ul li {
      font-size: 15px; }

  .criteria-compliance {
    margin-top: 68px; }

  .compliance-table__type {
    width: 25%; }
  .compliance-table__time {
    width: 15%; }
  .compliance-table__standard {
    width: 23%; }
  .compliance-table__writer {
    width: 37%; }
  .compliance-table thead {
    background-color: #061a35; }
    .compliance-table thead th {
      padding: 15px 12px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 16px;
      text-align: center;
      vertical-align: middle; }
      .compliance-table thead th:last-child {
        border-right: 0; }
  .compliance-table tbody th,
  .compliance-table tbody td {
    padding: 16px 14px;
    font-size: 15px;
    text-align: center;
    vertical-align: middle; }
  .compliance-table tbody th {
    padding-left: 14px;
    color: #061a35;
    background-color: rgba(6, 26, 53, 0.04);
    font-weight: 600;
    text-align: left; }
  .compliance-table__report {
    text-align: center !important; }
    .compliance-table__report span {
      font-size: 15px;
      position: relative;
      display: block;
      width: fit-content;
      margin-right: auto;
      margin-left: auto;
      padding-left: 10px;
      color: #44464a !important;
      text-align: left; }
      .compliance-table__report span:not(:last-child) {
        margin-bottom: 5px; }
      .compliance-table__report span::before {
        content: '';
        position: absolute;
        top: 9px;
        left: 0;
        width: 3px;
        height: 3px;
        background-color: #1458c7;
        border-radius: 50%; }

  .criteria-benefit {
    margin-top: 68px; }

  .benefit-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .benefit-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 26px 22px;
    text-align: center;
    border-bottom: 0 !important; }
    .benefit-card:not(:last-child) {
      border-right: 1px solid rgba(30, 32, 37, 0.14); }
    .benefit-card__icon {
      width: 44px;
      height: 44px;
      margin-bottom: 14px; }
      .benefit-card__icon svg {
        width: 23px;
        height: 23px; }
    .benefit-card h3 {
      margin-bottom: 10px;
      font-size: 17px; }
    .benefit-card p {
      font-size: 15px;
      line-height: 1.7; } }
.facility-page {
  width: 100%;
  background-color: #fff; }

.facility-section {
  padding: 48px 16px 70px; }
  .facility-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.facility-heading {
  margin-bottom: 44px; }
  .facility-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .facility-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .facility-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 24px;
    line-height: 1.4;
    word-break: keep-all; }
  .facility-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all; }

.facility-group {
  width: 100%; }
  .facility-group:not(:first-of-type) {
    margin-top: 48px; }

.facility-subheading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px; }
  .facility-subheading__dot {
    flex: 0 0 auto;
    width: 5px;
    height: 18px;
    background-color: #1458c7; }
  .facility-subheading__title {
    font-weight: 600;
    color: #061a35;
    font-size: 18px;
    line-height: 1.45; }

.facility-table-box {
  width: 100%;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.08);
  border-radius: 8px; }

.facility-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; }
  .facility-table__category {
    width: 34%; }
  .facility-table__detail {
    width: 66%; }
  .facility-table thead {
    background-color: #061a35; }
    .facility-table thead th {
      padding: 13px 7px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.14);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.45;
      text-align: center;
      vertical-align: middle;
      word-break: keep-all; }
      .facility-table thead th:last-child {
        border-right: 0; }
  .facility-table tbody tr:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.08); }
  .facility-table tbody th,
  .facility-table tbody td {
    padding: 16px 10px;
    border-right: 1px solid rgba(30, 32, 37, 0.08);
    font-size: 13px;
    line-height: 1.65;
    vertical-align: top;
    word-break: keep-all;
    overflow-wrap: break-word; }
    .facility-table tbody th:last-child,
    .facility-table tbody td:last-child {
      border-right: 0; }
  .facility-table tbody th {
    font-weight: 600;
    color: #061a35;
    background-color: rgba(6, 26, 53, 0.032);
    text-align: center; }
  .facility-table tbody td {
    color: #44464a;
    text-align: left; }

@media screen and (min-width: 768px) {
  .facility-section {
    padding: 60px 30px 90px; }

  .facility-heading {
    margin-bottom: 50px; }
    .facility-heading__bar {
      width: 5px;
      height: 30px; }
    .facility-heading__title {
      font-size: 29px; }
    .facility-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 15px; }

  .facility-group:not(:first-of-type) {
    margin-top: 56px; }

  .facility-subheading {
    margin-bottom: 18px; }
    .facility-subheading__dot {
      height: 20px; }
    .facility-subheading__title {
      font-size: 19px; }

  .facility-table__category {
    width: 29%; }
  .facility-table__detail {
    width: 71%; }
  .facility-table thead th {
    padding: 14px 12px;
    font-size: 13px; }
  .facility-table tbody th,
  .facility-table tbody td {
    padding: 17px 15px;
    font-size: 13px;
    line-height: 1.65; } }
@media screen and (min-width: 1200px) {
  .facility-section {
    padding: 80px 56px 120px; }

  .facility-heading {
    margin-bottom: 56px; }
    .facility-heading__bar {
      height: 34px; }
    .facility-heading__title {
      font-size: 32px; }
    .facility-heading__description {
      margin-top: 18px;
      font-size: 16px; }

  .facility-group:not(:first-of-type) {
    margin-top: 64px; }

  .facility-subheading {
    margin-bottom: 20px; }
    .facility-subheading__dot {
      height: 22px; }
    .facility-subheading__title {
      font-size: 20px; }

  .facility-table__category {
    width: 21%; }
  .facility-table__detail {
    width: 79%; }
  .facility-table thead th {
    padding: 15px 16px;
    font-size: 14px; }
  .facility-table tbody th,
  .facility-table tbody td {
    padding: 18px 20px;
    font-size: 14px;
    line-height: 1.7; }
  .facility-table tbody th {
    vertical-align: middle; }
  .facility-table tbody td {
    vertical-align: middle; } }
.engineer-page {
  width: 100%;
  background-color: #fff; }

.engineer-section {
  padding: 48px 16px 70px; }
  .engineer-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.engineer-heading {
  margin-bottom: 44px; }
  .engineer-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .engineer-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .engineer-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 25px;
    line-height: 1.4;
    word-break: keep-all; }
  .engineer-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 15px;
    line-height: 1.7;
    word-break: keep-all; }

.engineer-subheading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px; }
  .engineer-subheading__dot {
    flex: 0 0 auto;
    width: 5px;
    height: 19px;
    background-color: #1458c7; }
  .engineer-subheading__title {
    font-weight: 600;
    color: #061a35;
    font-size: 19px;
    line-height: 1.45;
    word-break: keep-all; }

.engineer-scroll-guide {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 14px 16px;
  color: #44464a;
  background-color: rgba(25, 91, 181, 0.045);
  border: 1px solid rgba(25, 91, 181, 0.18);
  border-radius: 8px; }
  .engineer-scroll-guide__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    color: #1458c7;
    background-color: #fff;
    border: 1px solid rgba(25, 91, 181, 0.18);
    border-radius: 50%;
    font-size: 22px;
    line-height: 1; }
  .engineer-scroll-guide p {
    color: #44464a;
    font-size: 14px;
    line-height: 1.55;
    word-break: keep-all; }
    .engineer-scroll-guide p strong {
      color: #1458c7;
      font-weight: 600; }

.engineer-table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.16);
  border-radius: 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(6, 26, 53, 0.25) rgba(6, 26, 53, 0.05); }
  .engineer-table-wrap::-webkit-scrollbar {
    height: 6px; }
  .engineer-table-wrap::-webkit-scrollbar-track {
    background-color: rgba(6, 26, 53, 0.04); }
  .engineer-table-wrap::-webkit-scrollbar-thumb {
    background-color: rgba(6, 26, 53, 0.24);
    border-radius: 10px; }

.engineer-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  table-layout: fixed; }
  .engineer-table__grade {
    width: 9%; }
  .engineer-table__license {
    width: 28%; }
  .engineer-table__education {
    width: 34%; }
  .engineer-table__career {
    width: 29%; }
  .engineer-table thead {
    background-color: #061a35; }
    .engineer-table thead th {
      padding: 14px 12px;
      color: #fff;
      border-right: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
      text-align: center;
      vertical-align: middle;
      word-break: keep-all; }
      .engineer-table thead th:last-child {
        border-right: 0; }
  .engineer-table tbody tr:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
  .engineer-table tbody th,
  .engineer-table tbody td {
    padding: 18px 16px;
    border-right: 1px solid rgba(30, 32, 37, 0.14);
    font-size: 14px;
    line-height: 1.7;
    vertical-align: top;
    word-break: keep-all; }
    .engineer-table tbody th:last-child,
    .engineer-table tbody td:last-child {
      border-right: 0; }
  .engineer-table tbody th {
    font-weight: 600;
    color: #061a35;
    background-color: rgba(6, 26, 53, 0.04);
    text-align: center;
    vertical-align: middle; }
  .engineer-table tbody td {
    color: #44464a;
    text-align: left;
    vertical-align: top; }
  .engineer-table ol {
    counter-reset: engineer-item;
    margin: 0;
    padding: 0;
    list-style: none !important; }
    .engineer-table ol li {
      counter-increment: engineer-item;
      position: relative;
      padding-left: 28px;
      color: #44464a;
      font-size: 14px;
      line-height: 1.7; }
      .engineer-table ol li:not(:last-child) {
        margin-bottom: 10px; }
      .engineer-table ol li::before {
        content: counter(engineer-item) ".";
        position: absolute;
        top: 0;
        left: 0;
        width: 19px;
        color: #1458c7;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.7;
        text-align: right; }

.engineer-note {
  margin-top: 26px;
  padding: 18px;
  background-color: rgba(25, 91, 181, 0.04);
  border: 1px solid rgba(25, 91, 181, 0.17);
  border-radius: 8px; }
  .engineer-note__heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px; }
    .engineer-note__heading h2 {
      font-weight: 600;
      color: #061a35;
      font-size: 17px; }
  .engineer-note__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700; }
  .engineer-note__content {
    color: #44464a;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all; }
    .engineer-note__content > p {
      margin-bottom: 16px; }
      .engineer-note__content > p strong {
        color: #061a35; }
    .engineer-note__content dl {
      display: flex;
      flex-direction: column;
      gap: 8px; }
      .engineer-note__content dl > div {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 7px; }
      .engineer-note__content dl dt {
        color: #1458c7;
        font-weight: 600; }
      .engineer-note__content dl dd {
        min-width: 0; }

@media screen and (min-width: 768px) {
  .engineer-section {
    padding: 60px 30px 90px; }

  .engineer-heading {
    margin-bottom: 50px; }
    .engineer-heading__bar {
      width: 5px;
      height: 30px; }
    .engineer-heading__title {
      font-size: 30px; }
    .engineer-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 16px; }

  .engineer-subheading {
    margin-bottom: 18px; }
    .engineer-subheading__dot {
      height: 21px; }
    .engineer-subheading__title {
      font-size: 20px; }

  .engineer-scroll-guide {
    display: none; }

  .engineer-table-wrap {
    overflow: hidden; }

  .engineer-table {
    min-width: 0; }
    .engineer-table__grade {
      width: 9%; }
    .engineer-table__license {
      width: 28%; }
    .engineer-table__education {
      width: 34%; }
    .engineer-table__career {
      width: 29%; }
    .engineer-table thead th {
      padding: 15px 11px;
      font-size: 14px; }
    .engineer-table tbody th,
    .engineer-table tbody td {
      padding: 18px 14px;
      font-size: 14px;
      line-height: 1.7; }
    .engineer-table ol li {
      padding-left: 28px;
      font-size: 14px; }
      .engineer-table ol li:not(:last-child) {
        margin-bottom: 9px; }
      .engineer-table ol li::before {
        width: 19px;
        font-size: 14px; }

  .engineer-note {
    margin-top: 30px;
    padding: 22px; }
    .engineer-note__heading h2 {
      font-size: 18px; }
    .engineer-note__content {
      font-size: 14px; }
      .engineer-note__content dl > div {
        grid-template-columns: 88px minmax(0, 1fr); } }
@media screen and (min-width: 1200px) {
  .engineer-section {
    padding: 80px 56px 120px; }

  .engineer-heading {
    margin-bottom: 56px; }
    .engineer-heading__bar {
      height: 34px; }
    .engineer-heading__title {
      font-size: 33px; }
    .engineer-heading__description {
      margin-top: 18px;
      font-size: 17px; }

  .engineer-subheading {
    margin-bottom: 20px; }
    .engineer-subheading__dot {
      height: 23px; }
    .engineer-subheading__title {
      font-size: 21px; }

  .engineer-table thead th {
    padding: 16px 14px;
    font-size: 15px; }
  .engineer-table tbody th,
  .engineer-table tbody td {
    padding: 20px 24px;
    font-size: 15px;
    line-height: 1.75; }
  .engineer-table ol li {
    padding-left: 30px;
    font-size: 15px;
    line-height: 1.75; }
    .engineer-table ol li:not(:last-child) {
      margin-bottom: 10px; }
    .engineer-table ol li::before {
      width: 21px;
      font-size: 15px;
      line-height: 1.75; }

  .engineer-note {
    margin-top: 34px;
    padding: 24px 26px; }
    .engineer-note__heading {
      margin-bottom: 15px; }
      .engineer-note__heading h2 {
        font-size: 19px; }
    .engineer-note__content {
      font-size: 15px; }
      .engineer-note__content dl {
        gap: 9px; }
        .engineer-note__content dl > div {
          grid-template-columns: 98px minmax(0, 1fr); } }
.penalty-page {
  width: 100%;
  background-color: #fff; }

.penalty-section {
  padding: 48px 16px 70px; }
  .penalty-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.penalty-heading {
  margin-bottom: 44px; }
  .penalty-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .penalty-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .penalty-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 25px;
    line-height: 1.4;
    word-break: keep-all; }
  .penalty-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 15px;
    line-height: 1.7;
    word-break: keep-all; }

.penalty-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }

.penalty-card {
  padding: 20px 18px 22px;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.15);
  border-radius: 10px; }
  .penalty-card__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
  .penalty-card__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 50%; }
    .penalty-card__icon svg {
      width: 22px;
      height: 22px; }
  .penalty-card__title-wrap {
    min-width: 0; }
  .penalty-card__title {
    font-weight: 600;
    margin-bottom: 3px;
    font-size: 19px;
    line-height: 1.4;
    word-break: keep-all; }
  .penalty-card__law {
    color: #44464a;
    font-size: 14px;
    line-height: 1.5;
    word-break: keep-all; }
  .penalty-card--primary {
    background-color: rgba(25, 91, 181, 0.02);
    border-color: rgba(25, 91, 181, 0.24); }
    .penalty-card--primary .penalty-card__icon {
      color: #fff;
      background-color: #1458c7; }
    .penalty-card--primary .penalty-card__title {
      color: #1458c7; }
    .penalty-card--primary .penalty-list li::before {
      background-color: #1458c7; }
  .penalty-card--middle {
    background-color: rgba(14, 137, 145, 0.02);
    border-color: rgba(14, 137, 145, 0.23); }
    .penalty-card--middle .penalty-card__icon {
      color: #fff;
      background-color: #138c94; }
    .penalty-card--middle .penalty-card__title {
      color: #087d85; }
    .penalty-card--middle .penalty-list li::before {
      background-color: #138c94; }
  .penalty-card--secondary {
    background-color: rgba(60, 79, 105, 0.02);
    border-color: rgba(60, 79, 105, 0.22); }
    .penalty-card--secondary .penalty-card__icon {
      color: #fff;
      background-color: #536b8c; }
    .penalty-card--secondary .penalty-card__title {
      color: #405a7d; }
    .penalty-card--secondary .penalty-list li::before {
      background-color: #536b8c; }

.penalty-list {
  counter-reset: penalty-item;
  margin: 0;
  padding: 20px 0 0;
  list-style: none; }
  .penalty-list li {
    counter-increment: penalty-item;
    position: relative;
    min-height: 28px;
    padding-left: 38px;
    color: #44464a;
    font-size: 15px;
    line-height: 1.65;
    word-break: keep-all; }
    .penalty-list li:not(:last-child) {
      margin-bottom: 18px; }
    .penalty-list li::before {
      display: flex;
      justify-content: center;
      align-items: center;
      content: counter(penalty-item);
      position: absolute;
      top: 0;
      left: 0;
      width: 25px;
      height: 25px;
      color: #fff;
      background-color: #1458c7;
      border-radius: 50%;
      font-size: 13px;
      font-weight: 700; }
    .penalty-list li span {
      display: block;
      margin-top: 3px;
      color: #737b85;
      font-size: 14px;
      line-height: 1.55; }

.penalty-notice {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 20px;
  padding: 15px 16px;
  background-color: rgba(6, 26, 53, 0.035);
  border: 1px solid rgba(30, 32, 37, 0.14);
  border-radius: 8px; }
  .penalty-notice__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: #fff;
    background-color: #061a35;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700; }
  .penalty-notice p {
    color: #44464a;
    font-size: 14px;
    line-height: 1.6;
    word-break: keep-all; }

@media screen and (min-width: 768px) {
  .penalty-section {
    padding: 60px 30px 90px; }

  .penalty-heading {
    margin-bottom: 50px; }
    .penalty-heading__bar {
      width: 5px;
      height: 30px; }
    .penalty-heading__title {
      font-size: 30px; }
    .penalty-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 16px; }

  .penalty-grid {
    grid-template-columns: 1fr;
    gap: 18px; }

  .penalty-card {
    padding: 22px 22px 24px;
    border-width: 1px; }
    .penalty-card__heading {
      gap: 13px;
      padding-bottom: 19px; }
    .penalty-card__icon {
      width: 44px;
      height: 44px; }
      .penalty-card__icon svg {
        width: 23px;
        height: 23px; }
    .penalty-card__title {
      font-size: 20px; }
    .penalty-card__law {
      font-size: 14px; }

  .penalty-list {
    padding-top: 22px; }
    .penalty-list li {
      padding-left: 40px;
      font-size: 15px; }
      .penalty-list li:not(:last-child) {
        margin-bottom: 17px; }
      .penalty-list li::before {
        width: 26px;
        height: 26px;
        font-size: 13px; }
      .penalty-list li span {
        font-size: 14px; }

  .penalty-notice {
    margin-top: 22px;
    padding: 16px 18px; }
    .penalty-notice p {
      font-size: 14px; } }
@media screen and (min-width: 1200px) {
  .penalty-section {
    padding: 80px 56px 120px; }

  .penalty-heading {
    margin-bottom: 56px; }
    .penalty-heading__bar {
      height: 34px; }
    .penalty-heading__title {
      font-size: 33px; }
    .penalty-heading__description {
      margin-top: 18px;
      font-size: 17px; }

  .penalty-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch; }

  .penalty-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 25px 22px 28px;
    border-width: 1px; }
    .penalty-card__heading {
      align-items: center;
      gap: 13px;
      min-height: 84px;
      padding-bottom: 20px; }
    .penalty-card__icon {
      width: 46px;
      height: 46px; }
      .penalty-card__icon svg {
        width: 24px;
        height: 24px; }
    .penalty-card__title {
      font-size: 20px; }
    .penalty-card__law {
      font-size: 14px;
      line-height: 1.5; }

  .penalty-list {
    flex: 1;
    padding-top: 24px; }
    .penalty-list li {
      min-height: 30px;
      padding-left: 41px;
      font-size: 15px;
      line-height: 1.7; }
      .penalty-list li:not(:last-child) {
        margin-bottom: 20px; }
      .penalty-list li::before {
        width: 27px;
        height: 27px;
        font-size: 13px; }
      .penalty-list li span {
        margin-top: 4px;
        font-size: 14px; }

  .penalty-notice {
    margin-top: 26px;
    padding: 17px 20px; }
    .penalty-notice p {
      font-size: 15px; } }
.equipment-page {
  width: 100%;
  background-color: #fff; }

.equipment-section {
  padding: 48px 16px 70px; }
  .equipment-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.equipment-heading {
  margin-bottom: 40px; }
  .equipment-heading__title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px; }
  .equipment-heading__bar {
    flex: 0 0 auto;
    width: 4px;
    height: 28px;
    margin-top: 3px;
    background-color: #1458c7; }
  .equipment-heading__title {
    font-weight: 700;
    color: #061a35;
    font-size: 25px;
    line-height: 1.4;
    word-break: keep-all; }
  .equipment-heading__description {
    margin-top: 14px;
    padding-left: 14px;
    color: #44464a;
    font-size: 15px;
    line-height: 1.7;
    word-break: keep-all; }

.equipment-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px; }

.equipment-card {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(25, 91, 181, 0.2);
  border-radius: 9px; }
  .equipment-card__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 18px;
    background-color: rgba(25, 91, 181, 0.025);
    border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .equipment-card__visual img {
      display: block;
      width: auto;
      max-width: 100%;
      height: 140px;
      object-fit: contain; }
  .equipment-card__number {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700; }
  .equipment-card__body {
    padding: 17px 16px; }
  .equipment-card__name {
    font-weight: 600;
    margin-bottom: 14px;
    color: #061a35;
    font-size: 16px;
    line-height: 1.5;
    word-break: keep-all; }
  .equipment-card__info > div {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 8px;
    padding-top: 11px;
    border-top: 1px solid rgba(30, 32, 37, 0.13); }
  .equipment-card__info dt {
    color: #1458c7;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6; }
  .equipment-card__info dd {
    min-width: 0;
    color: #44464a;
    font-size: 14px;
    line-height: 1.65;
    word-break: keep-all; }
    .equipment-card__info dd span {
      display: block;
      margin-top: 2px;
      color: #707984; }

.equipment-table-wrap {
  display: none; }

.equipment-notice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 22px;
  padding: 14px 15px;
  background-color: rgba(25, 91, 181, 0.04);
  border: 1px solid rgba(25, 91, 181, 0.18);
  border-radius: 7px; }
  .equipment-notice__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700; }
  .equipment-notice p {
    color: #44464a;
    font-size: 14px;
    line-height: 1.65;
    word-break: keep-all; }

@media screen and (min-width: 768px) {
  .equipment-section {
    padding: 60px 30px 90px; }

  .equipment-heading {
    margin-bottom: 48px; }
    .equipment-heading__bar {
      width: 5px;
      height: 30px; }
    .equipment-heading__title {
      font-size: 30px; }
    .equipment-heading__description {
      margin-top: 16px;
      padding-left: 16px;
      font-size: 16px; }

  .equipment-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px; }

  .equipment-card {
    border: 1px solid rgba(25, 91, 181, 0.2); }
    .equipment-card__visual {
      min-height: 190px;
      padding: 20px;
      border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
      .equipment-card__visual img {
        height: 148px; }
    .equipment-card__body {
      padding: 18px; }
    .equipment-card__name {
      min-height: 45px;
      margin-bottom: 14px;
      font-size: 16px; }
    .equipment-card__info > div {
      grid-template-columns: 82px minmax(0, 1fr);
      padding-top: 12px;
      border-top: 1px solid rgba(30, 32, 37, 0.13); }
    .equipment-card__info dt,
    .equipment-card__info dd {
      font-size: 14px; }

  .equipment-notice {
    margin-top: 26px;
    padding: 15px 17px; }
    .equipment-notice p {
      font-size: 14px; } }
@media screen and (min-width: 1200px) {
  .equipment-section {
    padding: 80px 56px 120px; }

  .equipment-heading {
    margin-bottom: 54px; }
    .equipment-heading__bar {
      height: 34px; }
    .equipment-heading__title {
      font-size: 33px; }
    .equipment-heading__description {
      margin-top: 18px;
      font-size: 17px; }

  .equipment-cards {
    display: none; }

  .equipment-table-wrap {
    display: block;
    overflow: hidden;
    width: 100%;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.16);
    border-radius: 9px; }

  .equipment-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; }
    .equipment-table__photo {
      width: 25%; }
    .equipment-table__name {
      width: 25%; }
    .equipment-table__function {
      width: 50%; }
    .equipment-table thead {
      background-color: #061a35; }
      .equipment-table thead th {
        padding: 16px 14px;
        color: #fff;
        border-right: 1px solid rgba(255, 255, 255, 0.22);
        font-size: 15px;
        font-weight: 600;
        line-height: 1.45;
        text-align: center;
        vertical-align: middle; }
        .equipment-table thead th:last-child {
          border-right: 0; }
    .equipment-table tbody tr:not(:last-child) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.14); }
    .equipment-table tbody th,
    .equipment-table tbody td {
      padding: 18px 20px;
      border-right: 1px solid rgba(30, 32, 37, 0.14);
      color: #44464a;
      font-size: 15px;
      line-height: 1.7;
      vertical-align: middle;
      word-break: keep-all; }
      .equipment-table tbody th:last-child,
      .equipment-table tbody td:last-child {
        border-right: 0; }
    .equipment-table tbody th {
      font-weight: 600;
      color: #061a35;
      background-color: rgba(6, 26, 53, 0.035);
      text-align: center; }
    .equipment-table tbody td {
      text-align: left; }
      .equipment-table tbody td:first-child {
        padding: 14px 18px;
        text-align: center; }
      .equipment-table tbody td span {
        display: block;
        margin-top: 3px;
        color: #747c86; }
      .equipment-table tbody td img {
        display: block;
        width: auto;
        max-width: 100%;
        height: 110px;
        margin: 0 auto;
        object-fit: contain; }

  .equipment-notice {
    margin-top: 28px;
    padding: 16px 19px; }
    .equipment-notice p {
      font-size: 15px; } }
.faq {
  background-color: #fff; }
  .faq .faq__inner {
    width: 100%;
    padding: 48px 20px 72px; }
  .faq .faq__header {
    margin-bottom: 34px;
    text-align: center; }
    .faq .faq__header .faq__eyebrow {
      font-size: 11px;
      color: #1458c7;
      font-weight: 600;
      display: block;
      margin-bottom: 8px;
      letter-spacing: 0.08em; }
    .faq .faq__header .faq__title {
      font-size: 30px;
      color: #061a35;
      font-weight: 700;
      position: relative;
      margin: 0;
      padding-bottom: 16px;
      line-height: 1.3; }
      .faq .faq__header .faq__title::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 28px;
        height: 2px;
        background-color: #1458c7;
        transform: translateX(-50%); }
    .faq .faq__header .faq__description {
      font-size: 13px;
      letter-spacing: -0.01em;
      color: #44464a;
      margin: 20px 0 0;
      line-height: 1.7;
      word-break: keep-all; }
  .faq .faq__tools {
    margin-bottom: 28px; }
  .faq .faq-category {
    display: flex;
    width: 100%;
    margin-bottom: 16px;
    overflow-x: auto; }
    .faq .faq-category::-webkit-scrollbar {
      display: none !important; }
    .faq .faq-category .faq-category__item {
      display: flex;
      justify-content: center;
      align-items: center;
      flex: 0 0 auto;
      min-width: 76px;
      height: 38px;
      padding: 0 17px;
      font-size: 13px;
      letter-spacing: -0.01em;
      color: #44464a;
      font-weight: 500;
      background-color: #fff;
      border: 1px solid #dedfe2;
      border-radius: 20px;
      transition: color 180ms ease-in-out, background-color 180ms ease-in-out, border-color 180ms ease-in-out; }
      .faq .faq-category .faq-category__item:not(:last-child) {
        margin-right: 7px; }
      .faq .faq-category .faq-category__item:hover, .faq .faq-category .faq-category__item:focus-visible {
        color: #1458c7;
        border-color: rgba(25, 87, 246, 0.45); }
      .faq .faq-category .faq-category__item.active {
        color: #fff;
        background-color: #061a35;
        border-color: #061a35; }
  .faq .faq-search {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr) 44px;
    width: 100%;
    height: 44px;
    background-color: #fff;
    border: 1px solid #dedfe2;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 180ms ease-in-out; }
    .faq .faq-search:focus-within {
      border-color: #1458c7; }
    .faq .faq-search .faq-search__select {
      font-size: 12px;
      letter-spacing: -0.005em;
      color: #44464a;
      height: 100%;
      padding: 0 30px 0 13px;
      background-color: #fff;
      border-right: 1px solid #dedfe2;
      appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, #696e77 50%), linear-gradient(135deg, #696e77 50%, transparent 50%);
      background-position: calc(100% - 15px) 19px, calc(100% - 11px) 19px;
      background-size: 4px 4px;
      background-repeat: no-repeat; }
    .faq .faq-search .faq-search__input {
      min-width: 0;
      padding: 0 13px;
      font-size: 13px;
      letter-spacing: -0.01em;
      color: #1e2025; }
      .faq .faq-search .faq-search__input::placeholder {
        color: #9c9fa3; }
    .faq .faq-search .faq-search__button {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      background-color: #061a35;
      transition: background-color 180ms ease-in-out; }
      .faq .faq-search .faq-search__button:hover, .faq .faq-search .faq-search__button:focus-visible {
        background-color: #1458c7; }
      .faq .faq-search .faq-search__button svg {
        display: block;
        width: 17px;
        height: 17px; }
  .faq .faq-list {
    border-top: 2px solid #061a35; }
  .faq .faq-item {
    border-bottom: 1px solid #dedfe2;
    background-color: #fff; }
    .faq .faq-item .faq-item__question {
      position: relative;
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr) 24px;
      align-items: center;
      min-height: 66px;
      padding: 16px 10px;
      list-style: none;
      cursor: pointer;
      transition: background-color 180ms ease-in-out, color 180ms ease-in-out; }
      .faq .faq-item .faq-item__question::-webkit-details-marker {
        display: none; }
      .faq .faq-item .faq-item__question::marker {
        display: none; }
      .faq .faq-item .faq-item__question:hover {
        background-color: #f4f8fd; }
      .faq .faq-item .faq-item__question .faq-item__mark {
        font-size: 14px;
        letter-spacing: -0.01em;
        color: #1458c7;
        font-weight: 700; }
      .faq .faq-item .faq-item__question .faq-item__title {
        font-size: 14px;
        letter-spacing: -0.01em;
        color: #1e2025;
        font-weight: 600;
        padding-right: 10px;
        line-height: 1.55;
        word-break: keep-all; }
      .faq .faq-item .faq-item__question .faq-item__toggle {
        position: relative;
        width: 18px;
        height: 18px;
        justify-self: end; }
        .faq .faq-item .faq-item__question .faq-item__toggle::before, .faq .faq-item .faq-item__question .faq-item__toggle::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 50%;
          width: 12px;
          height: 1px;
          background-color: #061a35;
          transform: translate(-50%, -50%);
          transition: transform 180ms ease-in-out; }
        .faq .faq-item .faq-item__question .faq-item__toggle::after {
          transform: translate(-50%, -50%) rotate(90deg); }
    .faq .faq-item[open] .faq-item__question {
      color: #1458c7; }
      .faq .faq-item[open] .faq-item__question .faq-item__title {
        color: #1458c7; }
      .faq .faq-item[open] .faq-item__question .faq-item__toggle::after {
        transform: translate(-50%, -50%) rotate(0); }
    .faq .faq-item .faq-item__answer {
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      padding: 0 10px 22px;
      background-color: #f4f8fd; }
      .faq .faq-item .faq-item__answer .faq-item__answer-mark {
        font-size: 14px;
        letter-spacing: -0.01em;
        color: #061a35;
        font-weight: 700;
        padding-top: 20px; }
      .faq .faq-item .faq-item__answer .faq-item__answer-content {
        padding-top: 18px;
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #44464a;
        line-height: 1.85;
        word-break: keep-all; }
        .faq .faq-item .faq-item__answer .faq-item__answer-content p {
          margin: 0; }
          .faq .faq-item .faq-item__answer .faq-item__answer-content p:not(:last-child) {
            margin-bottom: 12px; }
  @media screen and (min-width: 768px) {
    .faq .faq__inner {
      padding: 64px 30px 90px; }
    .faq .faq__header {
      margin-bottom: 44px; }
      .faq .faq__header .faq__title {
        font-size: 36px; }
      .faq .faq__header .faq__description {
        font-size: 14px;
        letter-spacing: -0.01em;
        margin-top: 22px; }
    .faq .faq__tools {
      margin-bottom: 34px; }
    .faq .faq-category {
      margin-bottom: 18px; }
      .faq .faq-category .faq-category__item {
        min-width: 88px;
        height: 40px;
        padding: 0 20px;
        font-size: 13px;
        letter-spacing: -0.01em; }
    .faq .faq-search {
      grid-template-columns: 120px minmax(0, 1fr) 48px;
      height: 48px; }
      .faq .faq-search .faq-search__select {
        font-size: 13px;
        letter-spacing: -0.01em;
        background-position: calc(100% - 16px) 21px, calc(100% - 12px) 21px; }
      .faq .faq-search .faq-search__input {
        padding: 0 16px; }
    .faq .faq-item .faq-item__question {
      grid-template-columns: 34px minmax(0, 1fr) 28px;
      min-height: 72px;
      padding: 18px 18px; }
      .faq .faq-item .faq-item__question .faq-item__mark {
        font-size: 15px; }
      .faq .faq-item .faq-item__question .faq-item__title {
        font-size: 15px; }
    .faq .faq-item .faq-item__answer {
      grid-template-columns: 34px minmax(0, 1fr);
      padding: 0 18px 26px; }
      .faq .faq-item .faq-item__answer .faq-item__answer-content {
        font-size: 14px;
        letter-spacing: -0.01em;
        padding-top: 22px; }
      .faq .faq-item .faq-item__answer .faq-item__answer-mark {
        padding-top: 23px; } }
  @media screen and (min-width: 1200px) {
    .faq .faq__inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 86px 56px 120px; }
    .faq .faq__header {
      margin-bottom: 52px; }
      .faq .faq__header .faq__eyebrow {
        font-size: 12px;
        letter-spacing: -0.005em; }
      .faq .faq__header .faq__title {
        font-size: 40px;
        padding-bottom: 18px; }
      .faq .faq__header .faq__description {
        font-size: 15px;
        margin-top: 24px;
        line-height: 1.8; }
    .faq .faq__tools {
      margin-bottom: 38px; }
    .faq .faq-category {
      justify-content: center;
      margin-bottom: 24px;
      overflow: visible; }
      .faq .faq-category .faq-category__item {
        min-width: 116px;
        height: 42px;
        padding: 0 26px;
        border-radius: 22px; }
        .faq .faq-category .faq-category__item:not(:last-child) {
          margin-right: 8px; }
    .faq .faq-search {
      grid-template-columns: 150px minmax(0, 1fr) 52px;
      max-width: 760px;
      height: 52px;
      margin: 0 auto; }
      .faq .faq-search .faq-search__select {
        padding-left: 18px;
        font-size: 13px;
        letter-spacing: -0.01em;
        background-position: calc(100% - 18px) 23px, calc(100% - 14px) 23px; }
      .faq .faq-search .faq-search__input {
        padding: 0 18px;
        font-size: 14px;
        letter-spacing: -0.01em; }
      .faq .faq-search .faq-search__button svg {
        width: 18px;
        height: 18px; }
    .faq .faq-item .faq-item__question {
      grid-template-columns: 42px minmax(0, 1fr) 30px;
      min-height: 78px;
      padding: 20px 24px; }
      .faq .faq-item .faq-item__question .faq-item__mark {
        font-size: 16px;
        letter-spacing: -0.01em; }
      .faq .faq-item .faq-item__question .faq-item__title {
        font-size: 16px;
        letter-spacing: -0.01em; }
    .faq .faq-item .faq-item__answer {
      grid-template-columns: 42px minmax(0, 1fr);
      padding: 0 24px 32px; }
      .faq .faq-item .faq-item__answer .faq-item__answer-mark {
        font-size: 15px;
        padding-top: 26px; }
      .faq .faq-item .faq-item__answer .faq-item__answer-content {
        font-size: 14px;
        letter-spacing: -0.01em;
        padding-top: 25px;
        line-height: 1.9; } }

.recruit-detail__section {
  padding: 28px 0;
  border-bottom: 1px solid rgba(30, 32, 37, 0.08); }
  .recruit-detail__section:first-child {
    padding-top: 0; }
.recruit-detail__heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px; }
.recruit-detail__heading-bar {
  flex: 0 0 auto;
  width: 4px;
  height: 19px;
  background-color: #1458c7; }
.recruit-detail__title {
  font-weight: 600;
  margin: 0 !important;
  color: #061a35 !important;
  font-size: 18px !important;
  line-height: 1.4 !important; }
.recruit-detail__list {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .recruit-detail__list li {
    position: relative;
    padding-left: 17px;
    color: #44464a;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all; }
    .recruit-detail__list li::before {
      content: '';
      position: absolute;
      top: 10px;
      left: 1px;
      width: 5px;
      height: 5px;
      background-color: #1458c7;
      border-radius: 50%; }
    .recruit-detail__list li strong {
      color: #061a35;
      font-weight: 600; }
.recruit-detail__condition {
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(30, 32, 37, 0.08);
  border-radius: 7px; }
  .recruit-detail__condition > div {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr); }
    .recruit-detail__condition > div:not(:last-child) {
      border-bottom: 1px solid rgba(30, 32, 37, 0.08); }
  .recruit-detail__condition dt,
  .recruit-detail__condition dd {
    padding: 13px;
    font-size: 13px;
    line-height: 1.6; }
  .recruit-detail__condition dt {
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #061a35;
    background-color: rgba(6, 26, 53, 0.035);
    text-align: center; }
  .recruit-detail__condition dd {
    color: #44464a; }
.recruit-detail__subnote {
  margin-top: 18px;
  padding: 13px 14px;
  background-color: rgba(25, 91, 181, 0.04);
  border-left: 3px solid #1458c7; }
  .recruit-detail__subnote p {
    margin: 0 !important;
    color: #44464a;
    font-size: 13px;
    line-height: 1.65; }
    .recruit-detail__subnote p strong {
      color: #061a35;
      font-weight: 600; }
.recruit-detail__notice {
  margin-top: 18px;
  padding: 18px;
  background-color: rgba(6, 26, 53, 0.028);
  border: 1px solid rgba(30, 32, 37, 0.08);
  border-radius: 8px; }
  .recruit-detail__notice > p {
    margin: 0 !important;
    color: #44464a;
    font-size: 13px;
    line-height: 1.7;
    word-break: keep-all; }
.recruit-detail__notice-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 11px; }
  .recruit-detail__notice-heading h3 {
    margin: 0 !important;
    color: #061a35 !important;
    font-size: 15px !important;
    font-weight: 600;
    line-height: 1.4 !important; }
.recruit-detail__notice-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  color: #fff;
  background-color: #1458c7;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 700; }
.recruit-detail__notice-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .recruit-detail__notice-list li {
    position: relative;
    padding-left: 14px;
    color: #44464a;
    font-size: 13px;
    line-height: 1.7;
    word-break: keep-all; }
    .recruit-detail__notice-list li::before {
      content: '';
      position: absolute;
      top: 10px;
      left: 0;
      width: 4px;
      height: 4px;
      background-color: rgba(25, 91, 181, 0.75);
      border-radius: 50%; }
    .recruit-detail__notice-list li strong {
      color: #061a35;
      font-weight: 600; }

.recruit-label--short {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 42px;
  margin: 0 auto;
  white-space: nowrap; }
  .recruit-label--short > span {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    letter-spacing: 0; }

.recruit-label--career {
  width: 36px; }

.board-detail__recruit-row dt {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center; }

.recruit-process {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px; }
  .recruit-process__item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.08);
    border-radius: 7px; }
  .recruit-process__number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700; }
  .recruit-process__content {
    min-width: 0; }
    .recruit-process__content strong {
      display: block;
      margin-bottom: 3px;
      color: #061a35;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.5; }
    .recruit-process__content p {
      margin: 0 !important;
      color: #44464a;
      font-size: 13px;
      line-height: 1.65;
      word-break: keep-all; }

.recruit-document__email {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 17px;
  padding: 15px;
  background-color: rgba(25, 91, 181, 0.045);
  border: 1px solid rgba(25, 91, 181, 0.13);
  border-radius: 7px; }
  .recruit-document__email > span {
    color: #44464a;
    font-size: 12px;
    font-weight: 500; }
  .recruit-document__email a {
    width: fit-content;
    color: #1458c7;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-all; }
    .recruit-document__email a:hover {
      text-decoration: underline; }

@media screen and (min-width: 768px) {
  .recruit-detail__section {
    padding: 34px 0; }
  .recruit-detail__heading {
    margin-bottom: 21px; }
  .recruit-detail__heading-bar {
    width: 5px;
    height: 21px; }
  .recruit-detail__title {
    font-size: 19px !important; }
  .recruit-detail__list {
    gap: 10px; }
    .recruit-detail__list li {
      font-size: 14px; }
  .recruit-detail__condition > div {
    grid-template-columns: 120px minmax(0, 1fr); }
  .recruit-detail__condition dt,
  .recruit-detail__condition dd {
    padding: 15px 16px;
    font-size: 14px; }
  .recruit-detail__subnote {
    margin-top: 20px;
    padding: 14px 16px; }
    .recruit-detail__subnote p {
      font-size: 14px; }
  .recruit-detail__notice {
    padding: 20px; }
    .recruit-detail__notice > p {
      font-size: 14px; }
  .recruit-detail__notice-heading {
    margin-bottom: 12px; }
    .recruit-detail__notice-heading h3 {
      font-size: 16px !important; }
  .recruit-detail__notice-list li {
    font-size: 14px; }

  .recruit-label--short {
    width: 44px; }

  .recruit-label--career {
    width: 38px; }

  .recruit-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px; }
    .recruit-process__item {
      min-height: 104px;
      padding: 16px; }
    .recruit-process__content strong {
      font-size: 14px; }
    .recruit-process__content p {
      font-size: 13px; }

  .recruit-document__email {
    flex-direction: row;
    align-items: center;
    gap: 18px;
    padding: 16px 18px; }
    .recruit-document__email > span {
      flex: 0 0 auto;
      font-size: 13px; }
    .recruit-document__email a {
      font-size: 14px; } }
@media screen and (min-width: 1200px) {
  .recruit-detail__section {
    padding: 40px 0; }
  .recruit-detail__heading {
    margin-bottom: 24px; }
  .recruit-detail__heading-bar {
    height: 23px; }
  .recruit-detail__title {
    font-size: 20px !important; }
  .recruit-detail__list {
    gap: 11px; }
    .recruit-detail__list li {
      padding-left: 18px;
      font-size: 15px; }
  .recruit-detail__condition {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .recruit-detail__condition > div {
      grid-template-columns: 120px minmax(0, 1fr);
      border-bottom: 1px solid rgba(30, 32, 37, 0.08); }
      .recruit-detail__condition > div:nth-child(odd) {
        border-right: 1px solid rgba(30, 32, 37, 0.08); }
      .recruit-detail__condition > div:nth-last-child(-n + 2) {
        border-bottom: 0; }
    .recruit-detail__condition dt,
    .recruit-detail__condition dd {
      padding: 17px 18px;
      font-size: 14px; }
  .recruit-detail__subnote {
    margin-top: 22px;
    padding: 15px 18px; }
    .recruit-detail__subnote p {
      font-size: 14px; }
  .recruit-detail__notice {
    margin-top: 20px;
    padding: 22px 24px; }
    .recruit-detail__notice > p {
      font-size: 14px; }
  .recruit-detail__notice-heading {
    margin-bottom: 13px; }
    .recruit-detail__notice-heading h3 {
      font-size: 17px !important; }
  .recruit-detail__notice-list {
    gap: 8px; }
    .recruit-detail__notice-list li {
      font-size: 14px; }

  .recruit-label--short {
    width: 46px; }

  .recruit-label--career {
    width: 40px; }

  .recruit-process {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px; }
    .recruit-process__item {
      display: flex;
      flex-direction: column;
      min-height: 150px;
      gap: 13px;
      padding: 18px 17px; }
    .recruit-process__number {
      width: 42px;
      height: 42px; }
    .recruit-process__content strong {
      margin-bottom: 5px;
      font-size: 15px; }
    .recruit-process__content p {
      font-size: 13px; }

  .recruit-document__email {
    margin-bottom: 20px;
    padding: 17px 20px; }
    .recruit-document__email > span {
      font-size: 13px; }
    .recruit-document__email a {
      font-size: 15px; } }
.estimate-page {
  width: 100%;
  background-color: #f7f9fc; }

.estimate-section {
  padding: 24px 16px 60px; }
  .estimate-section__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }

.estimate-form {
  display: flex;
  flex-direction: column;
  gap: 14px; }

.estimate-card {
  padding: 17px 16px;
  background-color: #fff;
  border: 1px solid rgba(30, 32, 37, 0.13);
  border-radius: 10px; }

.estimate-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px; }
  .estimate-heading__number {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 29px;
    height: 29px;
    color: #fff;
    background-color: #1458c7;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700; }
  .estimate-heading__title {
    font-weight: 600;
    margin: 0;
    color: #061a35;
    font-size: 18px;
    line-height: 1.4; }

.required {
  margin-left: 2px;
  color: #e64d4d; }

.estimate-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }

.estimate-field {
  min-width: 0; }
  .estimate-field__label {
    display: block;
    margin-bottom: 6px;
    color: #061a35;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45; }
  .estimate-field__input {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 13px;
    color: #061a35;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.16);
    border-radius: 6px;
    outline: 0;
    font-size: 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease; }
    .estimate-field__input::placeholder {
      color: #9aa2ac; }
    .estimate-field__input:focus {
      border-color: rgba(25, 91, 181, 0.7);
      box-shadow: 0 0 0 3px rgba(25, 91, 181, 0.07); }
    .estimate-field__input:disabled, .estimate-field__input[readonly] {
      background-color: #f6f7f9; }

.estimate-address {
  width: 100%; }
  .estimate-address__search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px; }
  .estimate-address__button {
    min-width: 88px;
    height: 44px;
    padding: 0 12px;
    color: #fff;
    background-color: #061a35;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600; }
    .estimate-address__button:hover {
      background-color: #1458c7; }
    .estimate-address__button:disabled {
      background-color: #aab3be;
      cursor: not-allowed; }
  .estimate-address__detail {
    margin-top: 7px; }

.estimate-check {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 8px;
  cursor: pointer; }
  .estimate-check input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #1458c7; }
  .estimate-check span {
    color: #44464a;
    font-size: 13px;
    line-height: 1.45; }
  .estimate-check em {
    color: #7c858f;
    font-style: normal; }

.estimate-area {
  position: relative; }
  .estimate-area .estimate-field__input {
    padding-right: 45px; }
  .estimate-area__unit {
    position: absolute;
    top: 50%;
    right: 14px;
    color: #061a35;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: 600; }

.equipment-accordion {
  display: flex;
  flex-direction: column;
  gap: 8px; }
  .equipment-accordion__item {
    overflow: hidden;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.14);
    border-radius: 7px; }
    .equipment-accordion__item[open] {
      border-color: rgba(25, 91, 181, 0.34); }
    .equipment-accordion__item[open] .equipment-accordion__summary {
      background-color: rgba(25, 91, 181, 0.055);
      border-bottom: 1px solid rgba(30, 32, 37, 0.11); }
    .equipment-accordion__item[open] .equipment-accordion__action-open {
      display: inline; }
    .equipment-accordion__item[open] .equipment-accordion__action-close {
      display: none; }
    .equipment-accordion__item[open] .equipment-accordion__arrow {
      transform: rotate(180deg); }
  .equipment-accordion__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 11px 13px;
    cursor: pointer;
    list-style: none;
    user-select: none; }
    .equipment-accordion__summary::-webkit-details-marker {
      display: none; }
    .equipment-accordion__summary::marker {
      display: none;
      content: ''; }
    .equipment-accordion__summary:hover {
      background-color: rgba(25, 91, 181, 0.035); }
  .equipment-accordion__title {
    color: #061a35;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45; }
  .equipment-accordion__action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    color: #1458c7;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap; }
  .equipment-accordion__action-open {
    display: none; }
  .equipment-accordion__action-close {
    display: inline; }
  .equipment-accordion__arrow {
    width: 17px;
    height: 17px;
    transition: transform 180ms ease; }
  .equipment-accordion__content {
    overflow: hidden; }

.equipment-table__head {
  display: none; }

.equipment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 13px; }
  .equipment-row:not(:last-child) {
    border-bottom: 1px solid rgba(30, 32, 37, 0.1); }
  .equipment-row__name {
    min-width: 0; }
    .equipment-row__name strong {
      display: block;
      color: #061a35;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.55;
      word-break: keep-all; }
    .equipment-row__name span {
      display: block;
      margin-top: 2px;
      color: #44464a;
      font-size: 14px;
      line-height: 1.55;
      word-break: keep-all; }
  .equipment-row__status {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto; }
    .equipment-row__status label {
      display: flex;
      align-items: center;
      gap: 4px;
      cursor: pointer; }
    .equipment-row__status input {
      width: 16px;
      height: 16px;
      margin: 0;
      accent-color: #1458c7; }
    .equipment-row__status span {
      color: #44464a;
      font-size: 13px;
      line-height: 1.4;
      white-space: nowrap; }

.estimate-captcha {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  overflow: hidden; }
  .estimate-captcha .g-recaptcha {
    transform-origin: left top; }

@media (max-width: 420px) {
  .estimate-captcha {
    height: 70px; }
    .estimate-captcha .g-recaptcha {
      transform: scale(0.88); } }
.privacy-box__text {
  max-height: 220px;
  overflow-y: auto;
  padding: 13px 14px;
  color: #44464a;
  background-color: #f8fafc;
  border: 1px solid rgba(30, 32, 37, 0.13);
  border-radius: 7px;
  font-size: 13px;
  line-height: 1.65; }
  .privacy-box__text p {
    margin-bottom: 9px; }
  .privacy-box__text strong {
    display: block;
    margin: 13px 0 6px;
    color: #061a35;
    font-weight: 700; }
  .privacy-box__text ul {
    margin: 0;
    padding-left: 17px; }
    .privacy-box__text ul li {
      margin-bottom: 3px; }

.privacy-agree {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  cursor: pointer; }
  .privacy-agree input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: #1458c7; }
  .privacy-agree span {
    color: #44464a;
    font-size: 13px;
    line-height: 1.55; }
  .privacy-agree strong {
    color: #e64d4d;
    font-weight: 600; }

.estimate-bottom-grid {
  display: flex;
  flex-direction: column;
  gap: 14px; }

.estimate-message {
  display: none;
  padding: 12px 14px;
  border-radius: 7px;
  font-size: 14px;
  line-height: 1.5; }
  .estimate-message.is-success {
    display: block;
    color: #17662a;
    background-color: rgba(40, 167, 69, 0.08);
    border: 1px solid rgba(40, 167, 69, 0.22); }
  .estimate-message.is-error {
    display: block;
    color: #b42d2d;
    background-color: rgba(220, 53, 69, 0.07);
    border: 1px solid rgba(220, 53, 69, 0.22); }

.estimate-submit__button {
  width: 100%;
  height: 52px;
  color: #fff;
  background-color: #1458c7;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600; }
  .estimate-submit__button:disabled {
    color: rgba(255, 255, 255, 0.8);
    background-color: #adb8c5;
    cursor: not-allowed; }

@media screen and (min-width: 768px) {
  .estimate-section {
    padding: 38px 30px 72px; }

  .estimate-card {
    padding: 20px; }

  .estimate-heading {
    margin-bottom: 18px; }
    .estimate-heading__number {
      width: 31px;
      height: 31px; }
    .estimate-heading__title {
      font-size: 19px; }

  .estimate-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 16px; }

  .estimate-field__input {
    height: 46px; }

  .estimate-address__button {
    height: 46px; }

  .equipment-accordion {
    gap: 9px; }
    .equipment-accordion__summary {
      min-height: 56px;
      padding: 12px 16px; }
    .equipment-accordion__title {
      font-size: 16px; }
    .equipment-accordion__action {
      font-size: 14px; }
    .equipment-accordion__arrow {
      width: 18px;
      height: 18px; }

  .equipment-table__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px;
    background-color: #f6f8fb;
    border-bottom: 1px solid rgba(30, 32, 37, 0.11); }
    .equipment-table__head span {
      padding: 9px 14px;
      color: #061a35;
      font-size: 13px;
      font-weight: 600; }
      .equipment-table__head span:last-child {
        text-align: center; }

  .equipment-row {
    grid-template-columns: minmax(0, 1fr) 170px;
    padding: 10px 16px; }
    .equipment-row__status {
      justify-content: center;
      gap: 14px; }
      .equipment-row__status span {
        font-size: 14px; }

  .privacy-box__text {
    max-height: 210px;
    font-size: 14px; }

  .privacy-agree span {
    font-size: 14px; } }
@media screen and (min-width: 1200px) {
  .estimate-section {
    padding: 42px 48px 80px; }

  .estimate-form {
    gap: 16px; }

  .estimate-card {
    padding: 21px 20px; }

  .estimate-fields {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 16px; }

  .estimate-field--address {
    grid-column: span 2; }

  .estimate-address__search {
    grid-template-columns: minmax(0, 1fr) 90px; }

  .equipment-accordion {
    gap: 10px; }
    .equipment-accordion__summary {
      min-height: 58px;
      padding: 13px 18px; }
    .equipment-accordion__title {
      font-size: 17px; }
    .equipment-accordion__action {
      gap: 7px;
      font-size: 14px; }
    .equipment-accordion__arrow {
      width: 19px;
      height: 19px; }

  .equipment-table__head {
    grid-template-columns: minmax(0, 1fr) 200px; }
    .equipment-table__head span {
      padding: 9px 18px;
      font-size: 14px; }

  .equipment-row {
    grid-template-columns: minmax(0, 1fr) 200px;
    padding: 9px 18px; }
    .equipment-row__name strong {
      font-size: 14px;
      line-height: 1.45; }
    .equipment-row__name span {
      font-size: 13px;
      line-height: 1.45; }
    .equipment-row__status {
      gap: 16px; }
      .equipment-row__status span {
        font-size: 14px; }

  .estimate-bottom-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 14px; }
    .estimate-bottom-grid > .estimate-card {
      height: 100%; }

  .privacy-box__text {
    max-height: 170px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.6; }

  .privacy-agree {
    margin-top: 9px; }
    .privacy-agree span {
      font-size: 13px;
      line-height: 1.5; }

  .estimate-submit__button {
    height: 54px;
    font-size: 17px; } }
.board {
  background-color: #fff; }
  .board .board__inner {
    width: 100%;
    padding: 38px 20px 60px; }
  .board .board-category {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
    overflow-x: auto; }
    .board .board-category::-webkit-scrollbar {
      display: none !important; }
    .board .board-category .board-category__item {
      flex: 0 0 auto; }
      .board .board-category .board-category__item:not(:last-child) {
        margin-right: 6px; }
    .board .board-category .board-category__link {
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 60px;
      height: 36px;
      padding: 0 16px;
      font-size: 13px;
      letter-spacing: -0.01em;
      color: #44464a;
      font-weight: 500;
      background-color: #fff;
      border: 1px solid #dedfe2;
      border-radius: 18px;
      transition: color 180ms ease-in-out, background-color 180ms ease-in-out, border-color 180ms ease-in-out; }
      .board .board-category .board-category__link:hover {
        color: #1458c7;
        border-color: #1458c7; }
      .board .board-category .board-category__link.active {
        color: #fff;
        background-color: #1458c7;
        border-color: #1458c7; }
  .board .board-toolbar {
    margin-bottom: 22px; }
    .board .board-toolbar .board-search {
      display: grid;
      grid-template-columns: 100px minmax(0, 1fr) 44px;
      width: 100%;
      height: 44px;
      border: 1px solid #dedfe2;
      border-radius: 6px;
      overflow: hidden;
      transition: border-color 180ms ease-in-out; }
      .board .board-toolbar .board-search:focus-within {
        border-color: #1458c7; }
      .board .board-toolbar .board-search .board-search__select {
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #44464a;
        height: 100%;
        padding: 0 30px 0 14px;
        background-color: #fff;
        border-right: 1px solid #dedfe2;
        appearance: none;
        background-image: linear-gradient(45deg, transparent 50%, #696e77 50%), linear-gradient(135deg, #696e77 50%, transparent 50%);
        background-position: calc(100% - 15px) 19px, calc(100% - 11px) 19px;
        background-size: 4px 4px;
        background-repeat: no-repeat; }
      .board .board-toolbar .board-search .board-search__input {
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #1e2025;
        min-width: 0;
        padding: 0 12px; }
        .board .board-toolbar .board-search .board-search__input::placeholder {
          color: #9c9fa3; }
      .board .board-toolbar .board-search .board-search__button {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        background-color: #061a35;
        transition: background-color 180ms ease-in-out; }
        .board .board-toolbar .board-search .board-search__button:hover {
          background-color: #1458c7; }
        .board .board-toolbar .board-search .board-search__button svg {
          width: 17px;
          height: 17px; }
  .board .board-list {
    border-top: 2px solid #061a35; }
    .board .board-list .board-list__head {
      display: none; }
    .board .board-list .board-list__item {
      position: relative;
      display: block;
      padding: 20px 6px;
      border-bottom: 1px solid #dedfe2;
      transition: background-color 180ms ease-in-out; }
      .board .board-list .board-list__item:hover {
        background-color: #f4f8fd; }
      .board .board-list .board-list__item .board-list__number {
        display: none; }
      .board .board-list .board-list__item .board-list__title {
        font-size: 15px;
        color: #1e2025;
        font-weight: 600;
        display: block;
        margin-bottom: 10px;
        line-height: 1.5;
        word-break: keep-all;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
      .board .board-list .board-list__item .board-list__meta {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 5px 14px;
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #696e77; }
      .board .board-list .board-list__item .board-list__status {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        height: 22px;
        padding: 0 8px;
        font-size: 11px;
        font-weight: 600;
        border-radius: 11px; }
        .board .board-list .board-list__item .board-list__status.is-open {
          color: #1458c7;
          background-color: rgba(20, 88, 199, 0.1); }
        .board .board-list .board-list__item .board-list__status.is-closed {
          color: #696e77;
          background-color: #f5f6f8; }
  @media screen and (min-width: 768px) {
    .board .board__inner {
      padding: 52px 30px 80px; }
    .board .board-toolbar {
      display: flex;
      justify-content: flex-end;
      align-items: center; }
      .board .board-toolbar .board-search {
        width: 430px; }
    .board .board-list .board-list__item {
      padding: 22px 14px; }
      .board .board-list .board-list__item .board-list__title {
        font-size: 16px;
        letter-spacing: -0.01em; } }
  @media screen and (min-width: 1200px) {
    .board .board__inner {
      max-width: 1240px;
      margin: 0 auto;
      padding: 70px 56px 100px; }
    .board .board__top {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-bottom: 26px; }
      .board .board__top .board-category,
      .board .board__top .board-toolbar {
        margin-bottom: 0; }
      .board .board__top .board-toolbar .board-search {
        width: 430px; }
    .board .board-list .board-list__head {
      font-size: 13px;
      letter-spacing: -0.01em;
      color: #44464a;
      font-weight: 600;
      display: grid;
      min-height: 52px;
      align-items: center;
      padding: 0 18px;
      text-align: center;
      background-color: #f4f8fd;
      border-bottom: 1px solid #dedfe2; }
    .board .board-list .board-list__item {
      display: grid;
      min-height: 62px;
      align-items: center;
      padding: 0 18px; }
      .board .board-list .board-list__item .board-list__number {
        display: block;
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #696e77;
        text-align: center; }
      .board .board-list .board-list__item .board-list__title {
        margin: 0;
        font-size: 14px;
        letter-spacing: -0.01em;
        text-align: left; }
      .board .board-list .board-list__item .board-list__meta {
        display: contents; }
        .board .board-list .board-list__item .board-list__meta > span {
          font-size: 12px;
          letter-spacing: -0.005em;
          color: #696e77;
          text-align: center; }
    .board .board-list.board-list--notice .board-list__head,
    .board .board-list.board-list--notice .board-list__item {
      grid-template-columns: 80px minmax(0, 1fr) 120px 130px; }
    .board .board-list.board-list--resource .board-list__head,
    .board .board-list.board-list--resource .board-list__item {
      grid-template-columns: 80px minmax(0, 1fr) 120px 130px; }
    .board .board-list.board-list--recruit .board-list__head,
    .board .board-list.board-list--recruit .board-list__item {
      grid-template-columns: 70px minmax(0, 1fr) 150px 120px 120px; } }

.board-detail {
  background-color: #fff; }
  .board-detail .board-detail__inner {
    padding: 38px 20px 70px; }
  .board-detail .board-detail__back {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 22px;
    font-size: 13px;
    letter-spacing: -0.01em;
    color: #44464a; }
    .board-detail .board-detail__back:hover {
      color: #1458c7; }
  .board-detail .board-detail__header {
    padding: 0 0 22px;
    border-bottom: 1px solid #dedfe2; }
    .board-detail .board-detail__header .board-detail__title {
      font-size: 22px;
      color: #1e2025;
      font-weight: 700;
      line-height: 1.45;
      word-break: keep-all; }
    .board-detail .board-detail__header .board-detail__meta {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px 16px;
      margin-top: 14px;
      font-size: 12px;
      letter-spacing: -0.005em;
      color: #696e77; }
  .board-detail .board-detail__content {
    min-height: 260px;
    padding: 30px 0 42px;
    font-size: 14px;
    letter-spacing: -0.01em;
    color: #44464a;
    line-height: 1.9;
    word-break: keep-all; }
  .board-detail .board-detail__attachment {
    margin-bottom: 30px;
    padding: 16px;
    background-color: #f4f8fd;
    border: 1px solid #dedfe2;
    border-radius: 6px; }
    .board-detail .board-detail__attachment .board-detail__attachment-title {
      font-size: 12px;
      letter-spacing: -0.005em;
      color: #696e77;
      font-weight: 600;
      display: block;
      margin-bottom: 10px; }
    .board-detail .board-detail__attachment .board-detail__file {
      display: flex;
      justify-content: space-between;
      align-items: center;
      min-height: 42px;
      padding: 8px 12px;
      background-color: #fff;
      border: 1px solid #dedfe2;
      border-radius: 4px; }
      .board-detail .board-detail__attachment .board-detail__file .board-detail__file-name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #44464a; }
      .board-detail .board-detail__attachment .board-detail__file .board-detail__download {
        display: flex;
        justify-content: center;
        align-items: center;
        flex: 0 0 auto;
        width: 34px;
        height: 34px;
        margin-left: 10px;
        color: #1458c7; }
        .board-detail .board-detail__attachment .board-detail__file .board-detail__download svg {
          width: 18px;
          height: 18px; }
  .board-detail .board-detail__recruit-info {
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 30px;
    border-top: 1px solid #061a35;
    border-bottom: 1px solid #dedfe2; }
    .board-detail .board-detail__recruit-info .board-detail__recruit-row {
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr);
      border-bottom: 1px solid #dedfe2; }
      .board-detail .board-detail__recruit-info .board-detail__recruit-row:last-child {
        border-bottom: 0; }
      .board-detail .board-detail__recruit-info .board-detail__recruit-row dt,
      .board-detail .board-detail__recruit-info .board-detail__recruit-row dd {
        padding: 12px; }
      .board-detail .board-detail__recruit-info .board-detail__recruit-row dt {
        font-size: 12px;
        letter-spacing: -0.005em;
        color: #44464a;
        font-weight: 600;
        background-color: #f4f8fd; }
      .board-detail .board-detail__recruit-info .board-detail__recruit-row dd {
        font-size: 13px;
        letter-spacing: -0.01em;
        color: #1e2025; }
  .board-detail .board-detail__actions {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 34px; }
    .board-detail .board-detail__actions .board-detail__button {
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 110px;
      height: 46px;
      padding: 0 24px;
      font-size: 14px;
      letter-spacing: -0.01em;
      font-weight: 600;
      border-radius: 4px; }
      .board-detail .board-detail__actions .board-detail__button.board-detail__button--list {
        color: #44464a;
        background-color: #fff;
        border: 1px solid #dedfe2; }
      .board-detail .board-detail__actions .board-detail__button.board-detail__button--primary {
        color: #fff;
        background-color: #1458c7; }
        .board-detail .board-detail__actions .board-detail__button.board-detail__button--primary:hover {
          background-color: #0d47aa; }
  @media screen and (min-width: 768px) {
    .board-detail .board-detail__inner {
      padding: 52px 30px 90px; }
    .board-detail .board-detail__header .board-detail__title {
      font-size: 28px; }
    .board-detail .board-detail__content {
      min-height: 320px;
      padding: 40px 0 52px;
      font-size: 15px; }
    .board-detail .board-detail__recruit-info {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .board-detail .board-detail__recruit-info .board-detail__recruit-row {
        grid-template-columns: 110px minmax(0, 1fr); } }
  @media screen and (min-width: 1200px) {
    .board-detail .board-detail__inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 70px 56px 110px; }
    .board-detail .board-detail__header {
      padding-bottom: 28px; }
      .board-detail .board-detail__header .board-detail__title {
        font-size: 32px; }
    .board-detail .board-detail__content {
      min-height: 360px;
      padding: 48px 0 64px;
      font-size: 16px;
      letter-spacing: -0.01em; }
    .board-detail .board-detail__actions {
      margin-top: 44px; } }

.ready-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 92px);
  padding: 140px 20px 100px;
  background: radial-gradient(circle at 50% 40%, rgba(20, 91, 190, 0.07), transparent 38%), #fff;
  text-align: center; }
  .ready-page__inner {
    width: 100%;
    max-width: 600px; }
  .ready-page__icon {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 28px;
    border: 1px solid rgba(20, 91, 190, 0.16);
    border-radius: 50%;
    background-color: rgba(20, 91, 190, 0.05); }
    .ready-page__icon::before, .ready-page__icon::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: #1458c7;
      border-radius: 10px; }
    .ready-page__icon::before {
      width: 26px;
      height: 2px;
      transform: translate(-50%, -50%); }
    .ready-page__icon::after {
      width: 2px;
      height: 26px;
      transform: translate(-50%, -50%); }
  .ready-page__eyebrow {
    font-size: 14px;
    letter-spacing: -0.01em;
    color: #1458c7;
    font-weight: 600;
    margin-bottom: 12px;
    letter-spacing: 0.12em; }
  .ready-page__title {
    font-weight: 700;
    margin-bottom: 18px;
    color: #061a35;
    font-size: 34px;
    line-height: 1.35; }
  .ready-page__description {
    margin-bottom: 36px;
    color: #44464a;
    font-size: 16px;
    line-height: 1.8; }
  .ready-page__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 52px;
    padding: 0 28px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    background-color: #061a35;
    border-radius: 6px;
    transition: background-color 160ms ease, transform 160ms ease; }
    .ready-page__button:hover {
      background-color: #1458c7;
      transform: translateY(-2px); }

.business-quick-links {
  width: 100%;
  padding: 16px 16px 0;
  background-color: #fff; }
  .business-quick-links__inner {
    width: 100%;
    padding: 16px;
    background-color: rgba(25, 91, 181, 0.045);
    border: 1px solid rgba(25, 91, 181, 0.1);
    border-radius: 12px; }
  .business-quick-links__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px; }
  .business-quick-links__title {
    font-weight: 600;
    flex: 0 0 auto;
    margin: 0;
    color: #061a35;
    font-size: 16px;
    line-height: 1.4; }
  .business-quick-links__description {
    min-width: 0;
    margin: 0;
    color: #7a828c;
    font-size: 13px;
    line-height: 1.4;
    text-align: right;
    word-break: keep-all; }
  .business-quick-links__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none; }
  .business-quick-links__item {
    min-width: 0; }
    .business-quick-links__item:last-child {
      grid-column: 1 / -1; }
    .business-quick-links__item.is-active .business-quick-links__link {
      color: #1458c7;
      background-color: rgba(25, 91, 181, 0.085);
      border-color: rgba(25, 91, 181, 0.28); }
    .business-quick-links__item.is-active .business-quick-links__arrow {
      color: #1458c7; }
  .business-quick-links__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 70px;
    padding: 13px 13px;
    color: #061a35;
    background-color: #fff;
    border: 1px solid rgba(30, 32, 37, 0.14);
    border-radius: 9px;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease; }
    .business-quick-links__link:active {
      background-color: rgba(25, 91, 181, 0.06); }
  .business-quick-links__name {
    font-weight: 600;
    min-width: 0;
    color: inherit;
    font-size: 14px;
    line-height: 1.45;
    word-break: keep-all; }
  .business-quick-links__arrow {
    flex: 0 0 auto;
    color: #7b8794;
    font-size: 18px;
    line-height: 1; }

@media (max-width: 360px) {
  .business-quick-links {
    padding: 14px 12px 0; }
    .business-quick-links__inner {
      padding: 14px; }
    .business-quick-links__heading {
      display: block; }
    .business-quick-links__description {
      margin-top: 4px;
      text-align: left; }
    .business-quick-links__list {
      gap: 8px; }
    .business-quick-links__link {
      min-height: 68px;
      padding: 12px 11px; }
    .business-quick-links__name {
      font-size: 13px; } }

/*# sourceMappingURL=style.css.map */
