@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Aldrich&family=Noto+Sans+JP:wght@100..900&display=swap");
/*
    A (more) Modern CSS Reset
    https://piccalil.li/blog/a-more-modern-css-reset/
    @since 25/02/05
    @update t-ooishi / 25/02/26
*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  line-height: 1.5;
  min-height: 100dvh;
}

h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

a {
  word-break: break-all;
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

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

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 2.5ex;
}

:root {
  --base-font-family: Noto Sans JP, sans-serif; /* メインフォント */
  --header-height: 70px; /* ヘッダー - 高さ */
  --header-top: 0.9375rem; /* ヘッダー - 上余白 */
  --header-gutter: min(25px, var(--gutter, 0px)); /* ヘッダーガイド */
  --gutter: clamp(40px, 7.5vw, 120px); /* コンテンツガイド */
  --contents-spacer: 120px; /* コンテンツ間隔 */
  --footer-offset: 250px;
}
@media screen and (width <= 768px) {
  :root {
    --header-height: 60px; /* ヘッダー - 高さ */
    --gutter: clamp(10px, 5.3333333333vw, 40px); /* コンテンツガイド */
    --contents-spacer: 50px; /* コンテンツ間隔 */
    --footer-offset: 80px;
  }
}

html {
  scroll-behavior: smooth;
  scroll-padding-block: var(--header-height);
}

body {
  font-size: 1rem;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  color: #222222;
  font-family: var(--base-font-family), sans-serif;
  min-height: 100dvh;
  background-color: #ffffff;
}
@media screen and (width <= 768px) {
  body {
    font-size: 0.875rem;
  }
}
body.is-fix {
  overflow: hidden;
}

:where(.js-tab-container) {
  display: grid;
}
:where(.js-tab-container) .js-tab-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
:where(.js-tab-container) .js-tab-button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
}
:where(.js-tab-container) .js-tab-contents {
  position: relative;
  display: grid;
  grid-template-areas: "tab-content";
}
:where(.js-tab-container) .js-tab-content {
  z-index: 0;
  display: grid;
  visibility: hidden;
  grid-template-rows: 0fr;
  grid-area: tab-content;
  opacity: 0;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows, -ms-grid-rows;
}
:where(.js-tab-container) .js-tab-content.is-active {
  z-index: 1;
  visibility: visible;
  grid-template-rows: 1fr;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 1;
}
:where(.js-tab-container) .js-tab-content[aria-hidden=true] {
  display: none;
}
:where(.js-tab-container) .js-tab-content-inn {
  overflow: hidden;
}

.js-tab-container.tab-theme-default {
  gap: 8px;
}
.js-tab-container.tab-theme-default .js-tab-buttons {
  gap: 8px;
}
.js-tab-container.tab-theme-default .js-tab-button {
  font-size: 0.875rem;
  padding: 8px 16px;
  color: #333333;
  border-radius: 20px;
  background-color: #f0f0f0;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: background-color, color, opacity;
  transition-property: background-color, color, opacity;
}
.js-tab-container.tab-theme-default .js-tab-button:hover {
  opacity: 0.9;
}
.js-tab-container.tab-theme-default .js-tab-button.is-active {
  color: #ffffff;
  background-color: #004b8d;
}
.js-tab-container.tab-theme-default .js-tab-button:focus {
  outline: 2px solid rgba(0, 75, 141, 0.5);
  outline-offset: 2px;
}
.js-tab-container.tab-theme-default .js-tab-button:focus:not(:focus-visible) {
  outline: none;
}
.js-tab-container.tab-theme-default .js-tab-contents {
  padding: 8px;
}

.js-scroll-fade-up-trr {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.c-form-step {
  --step-size: clamp(60px, 47.7551020408px + 3.2653061224vw, 100px);
  display: grid;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  grid-template-columns: auto 1fr auto 1fr auto;
  grid-template-rows: repeat(2, auto);
  row-gap: 16px;
  width: 100%;
  counter-reset: cnt 0;
}
.c-form-step__item {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #e9e9e9;
  display: grid;
  justify-items: center;
  grid-row: 1/span 2;
  grid-template-areas: "number" ".";
  grid-template-rows: subgrid;
  counter-increment: cnt;
}
.c-form-step__item::before {
  font-size: clamp(1.25rem, 1.0204081633rem + 0.9795918367vw, 2rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  color: #ffffff;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: number;
  width: var(--step-size);
  aspect-ratio: 1;
  content: counter(cnt, decimal-leading-zero);
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  background-color: #e9e9e9;
}
.c-form-step__item:nth-child(1) {
  grid-column: 1;
}
.c-form-step__item:nth-child(2) {
  grid-column: 3;
}
.c-form-step__item:nth-child(3) {
  grid-column: 5;
}
.c-form-step__item:not(:last-child) {
  grid-column: span 2;
  grid-template-areas: "number arrow" ". .";
  grid-template-columns: subgrid;
}
.c-form-step__item:not(:last-child)::after {
  display: block;
  align-self: center;
  grid-area: arrow;
  width: 100%;
  height: 1px;
  content: "";
  border-bottom: 3px solid #b6a7aa;
}
.c-form-step__item.active {
  font-weight: 700;
  color: #222222;
}
.c-form-step__item.active::before {
  color: #ffffff;
  border-color: #ba1932;
  background-color: #ba1932;
}

.c-form-annotation, .c-form-tag, .c-form-label {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.2;
  color: #222222;
}
@media screen and (width <= 374px) {
  .c-form-annotation, .c-form-tag, .c-form-label {
    font-size: min(min(14px, 3.7333333333vw));
  }
}

.c-form-tag {
  background-color: #acacac;
  padding: 2px 0.875em 2.5px;
  color: #ffffff;
  border-radius: 5px;
  font-weight: 400;
}
.c-form-tag.-req {
  background-color: #d43939;
}

.c-form-annotation {
  opacity: 0.3;
  font-size: 0.875em;
  line-height: 1.35;
}
@media screen and (width <= 374px) {
  .c-form-annotation {
    font-size: max(10px, 0.75em);
  }
}
.c-form-annotation > .asterisk {
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
}
.c-form-annotation > .asterisk::before {
  content: "※";
  position: absolute;
  left: 0;
}

.c-form-field-accept, .c-form-field-file, .c-form-field-checkbox, .c-form-field-radio, .c-form-field-select2, .c-form-field-select, .c-form-field-textarea, .c-form-field-text {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #222222;
  width: 100%;
}
.c-form-field-accept input, .c-form-field-file input, .c-form-field-checkbox input, .c-form-field-radio input, .c-form-field-select2 input, .c-form-field-select input, .c-form-field-textarea input, .c-form-field-text input,
.c-form-field-accept select,
.c-form-field-file select,
.c-form-field-checkbox select,
.c-form-field-radio select,
.c-form-field-select2 select,
.c-form-field-select select,
.c-form-field-textarea select,
.c-form-field-text select,
.c-form-field-accept textarea,
.c-form-field-file textarea,
.c-form-field-checkbox textarea,
.c-form-field-radio textarea,
.c-form-field-select2 textarea,
.c-form-field-select textarea,
.c-form-field-textarea textarea,
.c-form-field-text textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}
.c-form-field-file__wrp, .c-form-field-select2__input, .c-form-field-select__input, .c-form-field-textarea__input, .c-form-field-text__input {
  font-size: inherit;
  font-weight: inherit;
  -webkit-font-smoothing: antialiased;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 50px;
  padding: 0.5em 1.25em;
  border: none;
  border: 1px solid #cdd6dd;
  outline-offset: 0;
  background-color: #ffffff;
  border-radius: 10px;
}
@media (any-hover: hover) {
  .c-form-field-file__wrp:hover, .c-form-field-select2__input:hover, .c-form-field-select__input:hover, .c-form-field-textarea__input:hover, .c-form-field-text__input:hover {
    outline: 1px solid rgba(54, 105, 207, 0.5);
  }
}
.c-form-field-file__wrp:focus, .c-form-field-select2__input:focus, .c-form-field-select__input:focus, .c-form-field-textarea__input:focus, .c-form-field-text__input:focus {
  outline: 1px solid #3669cf;
}
.c-form-field-file__wrp::-webkit-input-placeholder, .c-form-field-select2__input::-webkit-input-placeholder, .c-form-field-select__input::-webkit-input-placeholder, .c-form-field-textarea__input::-webkit-input-placeholder, .c-form-field-text__input::-webkit-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::-moz-placeholder, .c-form-field-select2__input::-moz-placeholder, .c-form-field-select__input::-moz-placeholder, .c-form-field-textarea__input::-moz-placeholder, .c-form-field-text__input::-moz-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp:-ms-input-placeholder, .c-form-field-select2__input:-ms-input-placeholder, .c-form-field-select__input:-ms-input-placeholder, .c-form-field-textarea__input:-ms-input-placeholder, .c-form-field-text__input:-ms-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::-ms-input-placeholder, .c-form-field-select2__input::-ms-input-placeholder, .c-form-field-select__input::-ms-input-placeholder, .c-form-field-textarea__input::-ms-input-placeholder, .c-form-field-text__input::-ms-input-placeholder {
  color: #d3d9df;
}
.c-form-field-file__wrp::placeholder, .c-form-field-select2__input::placeholder, .c-form-field-select__input::placeholder, .c-form-field-textarea__input::placeholder, .c-form-field-text__input::placeholder {
  color: #d3d9df;
}
[aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-file__wrp:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-select2__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-select__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-textarea__input:not(:focus):not(:hover), [aria-error][data-clicked=true]:not([aria-error=""]) .c-form-field-text__input:not(:focus):not(:hover) {
  border-color: #d43939;
  outline: 1px solid #d43939;
}

.c-form-field-accept, .c-form-field-checkbox, .c-form-field-radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px clamp(24px, -61.7721518987px + 8.8607594937vw, 80px);
}
.c-form-field-checkbox__item, .c-form-field-radio__item {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}
.c-form-field-checkbox__item-label, .c-form-field-radio__item-label {
  font-size: clamp(14px, 3.7333333333vw, 16px);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #222222;
  cursor: pointer;
}

.c-form-field-accept__input, .c-form-field-checkbox__item-input {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  border: 1px solid #707070;
  background-color: #ffffff;
}
.c-form-field-accept__input:focus-visible, .c-form-field-checkbox__item-input:focus-visible {
  border-color: #3669cf;
  outline: 1px solid #3669cf;
}
@media (any-hover: hover) {
  .c-form-field-accept__input:hover, .c-form-field-checkbox__item-input:hover {
    border-color: #3669cf;
    outline: 1px solid #3669cf;
  }
}
.c-form-field-accept__input::before, .c-form-field-checkbox__item-input::before {
  aspect-ratio: 1.3;
  position: absolute;
  inset: 50%;
  display: block;
  width: 60%;
  content: none;
  translate: -10% -45%;
  rotate: -45deg;
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  border-bottom: 3.5px solid #3669cf;
  border-left: 3.5px solid #3669cf;
}
.c-form-field-accept__input:checked::before, .c-form-field-checkbox__item-input:checked::before {
  content: "";
}

.c-form-field-select2, .c-form-field-select {
  position: relative;
}
.c-form-field-select2::after, .c-form-field-select::after {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  width: 1rem;
  height: 1rem;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  background-color: #222222;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3L5 7L9 3' stroke='%23000000' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3L5 7L9 3' stroke='%23000000' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  mask-position: center;
}
.c-form-field-select2__input, .c-form-field-select__input {
  padding-right: 2.8rem;
  cursor: pointer;
}
.c-form-field-select2__input:invalid, .c-form-field-select__input:invalid {
  color: #d3d9df;
}
.c-form-field-select2__input > option, .c-form-field-select__input > option {
  color: #222222;
}

.c-form-field-textarea__input {
  height: 100%;
  resize: vertical;
  vertical-align: bottom;
}
.c-form-field-textarea__input:not([rows]) {
  min-height: 16em;
}

.c-form-field-select2 {
  position: relative;
}
.c-form-field-select2__list {
  position: absolute;
  z-index: 1000;
  top: 100%;
  right: 0;
  left: 0;
  display: none;
  overflow-y: auto;
  max-height: 200px;
  margin-top: 4px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background-color: #ffffff;
}
.c-form-field-select2__list.is-visible {
  display: block;
}
.c-form-field-select2__item {
  padding: 8px;
  cursor: pointer;
}
.c-form-field-select2__item:hover {
  background: #f0f0f0;
}

@media screen and (width <= 48rem) {
  .c-form-field-radio {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
  }
}
.c-form-field-radio__item-input {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  border: 1px solid #3669cf;
  border-radius: 50%;
  background-color: #ffffff;
}
.c-form-field-radio__item-input:focus-visible {
  border-color: #3669cf;
  outline: 1px solid #3669cf;
}
@media (any-hover: hover) {
  .c-form-field-radio__item-input:hover {
    border-color: #3669cf;
    outline: 1px solid #3669cf;
  }
}
.c-form-field-radio__item-input::before {
  aspect-ratio: 1/1;
  position: absolute;
  inset: 50%;
  display: block;
  width: 70%;
  content: "";
  translate: -50% -50%;
  border-radius: 50%;
}
.c-form-field-radio__item-input:checked::before {
  background-color: #3669cf;
}
@media screen and (width <= 48rem) {
  .c-form-field-checkbox {
    display: grid;
  }
}
.c-form-field-file:focus-visible .c-form-field-file__btn {
  color: #ffffff;
  background-color: #222222;
}
@media (any-hover: hover) {
  .c-form-field-file:hover .c-form-field-file__btn {
    color: #ffffff;
    background-color: #222222;
  }
}
.c-form-field-file__wrp {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding-right: 8px;
  cursor: pointer;
}
.c-form-field-file__name {
  display: block;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #d3d9df;
}
.c-form-field-file__name.is-inputted {
  color: inherit;
}
.c-form-field-file__btn {
  padding: 4px 24px;
  cursor: pointer;
  border: 1px solid currentColor;
  border-radius: 5px;
}
.c-form-field-file__btn:focus-visible {
  color: #ffffff;
  background-color: #222222;
}
@media (any-hover: hover) {
  .c-form-field-file__btn:hover {
    color: #ffffff;
    background-color: #222222;
  }
}
.c-form-field-file__input {
  display: none;
}

.c-form-field-accept {
  line-height: 1.35;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: clamp(8px, 2.9333333333vw, 16px);
     -moz-column-gap: clamp(8px, 2.9333333333vw, 16px);
          column-gap: clamp(8px, 2.9333333333vw, 16px);
  font-size: clamp(11px, 3.2vw, 14px);
}
@media screen and (width <= 768px) {
  .c-form-field-accept__input {
    width: clamp(14px, 4.8vw, 18px);
    height: clamp(14px, 4.8vw, 18px);
  }
}
.c-form-field-accept__label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  cursor: pointer;
  color: #222222;
}
.c-form-field-accept__link {
  display: block;
  margin-right: 0.2em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: #0059a1;
}
.c-form-field-accept__link:focus-visible {
  color: rgb(from #0059a1 r g b/0.75);
}
@media (any-hover: hover) {
  .c-form-field-accept__link:hover {
    color: rgb(from #0059a1 r g b/0.75);
  }
}
.c-form-field-accept__link::after {
  aspect-ratio: 10.74/10.5;
  display: inline-block;
  vertical-align: middle;
  width: max(10px, 0.625em);
  margin-left: 0.2em;
  content: "";
  translate: 0 -20%;
  background-color: currentColor;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../../assets/images/icn_blank_01.svg);
          mask-image: url(../../assets/images/icn_blank_01.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-field-group {
  --gap: clamp(32px, 8.5333333333vw, 48px);
  --negative: min(20px, var(--gutter, 0) * 0.5);
  display: grid;
  row-gap: calc(var(--gap) * 0.5);
}
.c-form-field-group__unit {
  display: grid;
  row-gap: calc(var(--gap) * 0.5);
  width: calc(100% + var(--negative) * 2);
  margin-inline: calc(var(--negative) * -1);
  padding: 24px var(--negative);
  border: 1px solid #222222;
  border-radius: 10px;
}
.c-form-field-group__buttons {
  display: grid;
  grid-template: "add remove" max(30px, var(--gap) * 0.75)/0.9fr 0.1fr;
  -webkit-column-gap: min(20px, 1.25vw);
     -moz-column-gap: min(20px, 1.25vw);
          column-gap: min(20px, 1.25vw);
}
.c-form-field-group__add, .c-form-field-group__remove {
  border: none;
  background-color: transparent;
}
.c-form-field-group__add > .txt.-sr-only, .c-form-field-group__remove > .txt.-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  white-space: nowrap;
}
.c-form-field-group__add {
  display: block;
  grid-area: add;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-radius: 10px;
  background-color: #4d7ddc;
}
.c-form-field-group__add:focus-visible {
  background-color: rgb(from #4d7ddc r g b/0.75);
}
@media (any-hover: hover) {
  .c-form-field-group__add:hover {
    background-color: rgb(from #4d7ddc r g b/0.75);
  }
}
.c-form-field-group__add::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #ffffff;
  -webkit-mask-size: auto 90%;
          mask-size: auto 90%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4C11.4477 4 11 4.44772 11 5V11H5C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H11V19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19V13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H13V5C13 4.44772 12.5523 4 12 4Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4C11.4477 4 11 4.44772 11 5V11H5C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H11V19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19V13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H13V5C13 4.44772 12.5523 4 12 4Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.c-form-field-group__remove {
  grid-area: remove;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.c-form-field-group__remove:focus-visible::after {
  background-color: #dc3545;
}
@media (any-hover: hover) {
  .c-form-field-group__remove:hover::after {
    background-color: #dc3545;
  }
}
.c-form-field-group__remove::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-color: #4d7ddc;
  -webkit-mask-size: max(50%, 20px) auto;
          mask-size: max(50%, 20px) auto;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.c-form-error {
  font-size: clamp(0.75rem, 0.71875rem + 0.15625vw, 0.875rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #d13030;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  word-break: keep-all;
  opacity: 0;
}
.c-form-error--mb10 {
  margin-bottom: 10px;
}
.c-form-error--sm {
  font-size: max(12px, 0.875em);
}

.c-form-msg {
  font-size: clamp(12px, 3.7333333333vw, 16px);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #d13030;
  margin-block: 16px;
}

.c-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3669cf;
  gap: 2em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  margin: 30px auto 0;
  font-weight: 700;
  border: 1px #3669cf solid;
  border-radius: 6px;
  min-width: 234px;
  padding: 10px 18px;
  background-color: #ffffff;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (width > 768px) {
  .c-btn {
    margin: 40px 0 0;
  }
  .c-btn:hover .c-btn__arrow {
    background-color: #3669cf;
  }
  .c-btn:hover .c-btn__arrow::before {
    background-color: #ebf3ff;
  }
}
.c-btn__arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ebf3ff;
  width: 40px;
  height: 30px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .c-btn__arrow {
    width: 55px;
    height: 35px;
  }
}
.c-btn__arrow::before {
  content: "";
  display: block;
  width: 33%;
  height: 33%;
  background-color: #3669cf;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  row-gap: 4px;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  width: 100%;
  padding: 0;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-breadcrumb__item {
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: var(--breadcrumb-color, #3669cf);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: inherit;
}
.c-breadcrumb__item > a {
  text-decoration: none;
  text-underline-offset: 0.35em;
  color: inherit;
}
.c-breadcrumb__item::after {
  display: inline-block;
  content: "";
  width: 2em;
  border-top: 1px #ffffff solid;
}
.c-breadcrumb__item:last-of-type {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-flex: unset;
  -webkit-flex: unset;
      -ms-flex: unset;
          flex: unset;
  -webkit-box-orient: vertical;
  text-decoration: none;
  -webkit-line-clamp: 1;
}
.c-breadcrumb__item:last-of-type::after {
  display: none;
}

.c-contact-btn {
  color: #ffffff;
  background-color: #3669cf;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  gap: 16px;
  padding: 0 16px;
  font-weight: 700;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .c-contact-btn:hover {
    background-color: #4d7ddc;
  }
}
.c-contact-btn__icon {
  display: block;
  width: 20px;
  height: 15px;
  background-color: #ffffff;
  -webkit-mask-image: url("./../images/icon/icon-mail.svg");
          mask-image: url("./../images/icon/icon-mail.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-contact-btn__line {
  display: block;
  height: 40px;
  border-left: 1px #4d7ddc solid;
}
.c-contact-btn__inner {
  color: inherit;
}

.c-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.c-pagination__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
     -moz-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
          column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
}
.c-pagination__card {
  --pagination-card-width: clamp(30px, 26.9387755102px + 0.8163265306vw, 40px);
  --pagination-card-ratio: calc(4 / 4.5);
  font-size: clamp(12px, 10.7755102041px + 0.3265306122vw, 16px);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1em;
  color: #C1CAD7;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: var(--pagination-card-width);
  height: calc(var(--pagination-card-width) / var(--pagination-card-ratio));
  padding: 0.25em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  border-radius: calc(var(--pagination-card-width) * 0.1);
  gap: 24px;
  width: 52px;
  height: 34px;
  border-radius: 50%;
}
@media screen and (width <= 768px) {
  .c-pagination__card {
    width: 36px;
    height: 22px;
    gap: 18px;
  }
}
.c-pagination__card:focus-visible {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background: #EBF3FF;
  color: #3E7FE2;
}
@media (any-hover: hover) {
  .c-pagination__card:hover {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    background: #EBF3FF;
    color: #3E7FE2;
  }
}
.c-pagination__card.is-active {
  pointer-events: none;
  background: #EBF3FF;
  color: #3E7FE2;
}
.c-pagination__dot {
  font-size: 16px;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #C1CAD7;
}
.c-pagination--inverted .c-pagination__card {
  color: #ffffff;
  border-color: #ffffff;
  background-color: #3669cf;
}
.c-pagination--inverted .c-pagination__card:focus-visible {
  color: #3669cf;
  background-color: rgb(229.5, 229.5, 229.5);
}
@media (any-hover: hover) {
  .c-pagination--inverted .c-pagination__card:hover {
    color: #3669cf;
    background-color: rgb(229.5, 229.5, 229.5);
  }
}
.c-pagination--inverted .c-pagination__card.is-active {
  color: #3669cf;
  border-color: #ffffff;
  background-color: #ffffff;
}
.c-pagination--inverted .c-pagination__dot {
  color: #ffffff;
}

.c-title-set {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-title-set--normal .c-title-set__sub {
  color: #ba1932;
}
.c-title-set--white .c-title-set__sub {
  color: #ffffff;
}
.c-title-set--white .c-title-set__main {
  color: #ffffff;
}
.c-title-set__sub {
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  font-weight: 400;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width > 768px) {
  .c-title-set__sub {
    font-size: 28px;
  }
}
.c-title-set__main {
  font-size: 20px;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width > 768px) {
  .c-title-set__main {
    font-size: clamp(20px, 3.75vw, 60px);
  }
}

.l-form {
  width: 100%;
  padding: var(--contents-spacer, 0px) var(--gutter, 0px);
}
.l-form__inner {
  width: min(100%, 1360px);
  margin: 0 auto;
}
.l-form__head {
  width: 100%;
}
.l-form__step {
  width: min(470px, 100%);
  margin-inline: auto;
  margin-bottom: clamp(48px, 45.5510204082px + 0.6530612245vw, 56px);
}
@media screen and (width <= 768px) {
  .l-form__step {
    width: min(265px, 100%);
  }
}
.l-form__explain {
  display: grid;
  row-gap: 32px;
}
.l-form__explain-heading {
  font-size: clamp(1.125rem, 1.0102040816rem + 0.4897959184vw, 1.5rem);
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #3669cf;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.l-form__explain-text {
  font-size: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #222222;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: min(100%, 810px);
  margin-inline: auto;
}
.l-form__body {
  width: min(810px, 100%);
  margin-inline: auto;
  margin-top: clamp(48px, 45.5510204082px + 0.6530612245vw, 56px);
}
.l-form__error-msg {
  font-size: clamp(0.75rem, 0.7117346939rem + 0.1632653061vw, 0.875rem);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #d43939;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.2em auto;
}
.l-form__action {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 70px;
}
@media screen and (width <= 963px) {
  .l-form__action {
    margin-top: 50px;
  }
}

.l-form-input {
  width: 100%;
}
.l-form-input__fields {
  container-type: inline-size;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}
.l-form-input :nth-child(n+2 of .l-form-input__fields) {
  margin-top: clamp(24px, 6.4vw, 32px);
}
.l-form-input :nth-child(n+2 of .l-form-input__fields).-accept {
  margin-top: 48px;
}
@media screen and (width <= 576px) {
  .l-form-input :nth-child(n+2 of .l-form-input__fields).-accept {
    margin-top: 32px;
  }
}
.l-form-input__fields-heading {
  font-size: clamp(18px, fs(30), 30px);
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #3669cf;
  display: block;
  width: 100%;
  margin-bottom: clamp(20px, fs(30, 963), 40px);
  padding-bottom: 0.65em;
  text-align: center;
}
.l-form-input__fields-wrapper {
  display: grid;
  width: 100%;
}
.l-form-input__field {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: clamp(24px, 21.5510204082px + 0.6530612245vw, 32px);
}
.l-form-input__field:first-child {
  margin-top: 0;
}
.l-form-input__field.is-hidden {
  display: none;
}
.l-form-input__field.-accept {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.l-form-input__field-lbl {
  display: grid;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
}
.l-form-input__field-lbl-ann {
  grid-column: span 2;
}
.l-form-input__field-err.-accept {
  grid-column: 2;
  margin-top: 8px;
}
.l-form-input__controller {
  display: grid;
  justify-items: center;
  gap: 16px;
  width: 100%;
  margin-top: 48px;
}
@media screen and (width <= 768px) {
  .l-form-input__controller {
    margin-top: 32px;
  }
}
.l-form-input__controller-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.l-form-input__controller-btn:has(.is-disabled) {
  cursor: not-allowed;
}
.l-form-input__controller-btn > :where(button) {
  cursor: pointer;
}
.l-form-input__err-counter {
  text-align: center;
}
.l-form-input__err-counter:not(:has(> .is-active.is-visible)) {
  display: none;
}
.l-form-input__recaptcha {
  font-size: 10px;
  color: #055490;
  text-align: center;
  line-height: 1.4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.l-form-confirm {
  width: 100%;
}
.l-form-confirm__list {
  display: grid;
  gap: 32px;
  width: 100%;
}
.l-form-confirm__item {
  font-size: clamp(14px, 3.7333333333vw, 16px);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #222222;
  display: grid;
  gap: 16px;
}
.l-form-confirm__item-label {
  font-weight: 700;
}
.l-form-confirm__item-value {
  width: 100%;
  min-height: 2.65em;
  padding: 0.5em 1.25em 0.6em;
  text-align: justify;
  border-radius: 5px;
  background-color: #f2f2f2;
  border: 1px solid #cdd6dd;
}
.l-form-confirm__item-value.textarea {
  min-height: 6.25em;
}
.l-form-confirm__controller {
  display: grid;
  gap: 16px;
  width: 100%;
  margin-top: 64px;
}
@media screen and (width <= 768px) {
  .l-form-confirm__controller {
    margin-top: 40px;
  }
}
.l-form-confirm__controller-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.l-form-confirm__controller-btn > :where(button) {
  cursor: pointer;
}
.l-form-confirm__controller-btn-back {
  font-size: ft(14px, 16px);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #222222;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .l-form-confirm__controller-btn-back:hover {
    -webkit-animation: flash 1s;
            animation: flash 1s;
  }
}
@-webkit-keyframes flash {
  0% {
    opacity: 0.6;
  }
  to {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0.6;
  }
  to {
    opacity: 1;
  }
}

.l-form-confirm-interiors__list {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  gap: 0.75em 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-form-confirm-interiors__item {
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}
.l-form-confirm-interiors__total {
  font-weight: 700;
  display: grid;
  grid-template-columns: 1fr -webkit-max-content -webkit-max-content;
  grid-template-columns: 1fr max-content max-content;
  -webkit-margin-before: 0.75em;
          margin-block-start: 0.75em;
  -webkit-padding-before: 0.75em;
          padding-block-start: 0.75em;
  -webkit-column-gap: 3em;
     -moz-column-gap: 3em;
          column-gap: 3em;
  border-top: 1px dashed #222222;
}

.l-burger {
  position: fixed;
  width: 100%;
  height: 100vh;
  overflow: auto;
  top: 0;
  left: 100%;
  background-color: #ffffff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 500;
}
@media screen and (width > 1280px) {
  .l-burger {
    display: none;
  }
}
.l-burger__input {
  display: none;
}
.l-burger__input:checked + .l-burger {
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
}
.l-burger__inner {
  padding: var(--header-height, 0) 20px 150px;
}
.l-burger-menu {
  display: grid;
  gap: 18px;
  margin: 40px 0 30px;
  padding: 0;
  list-style: none;
}
.l-burger-menu__item {
  border-bottom: 1px #cecece solid;
  padding: 2px 50px 2px 0;
  display: block;
  text-decoration: none;
  color: inherit;
  font-size: 18px;
  font-weight: 700;
}
.l-burger-menu__item:not(.l-burger-menu__item--parent) {
  position: relative;
}
.l-burger-menu__item:not(.l-burger-menu__item--parent)::before, .l-burger-menu__item:not(.l-burger-menu__item--parent)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (width > 768px) {
  .l-burger-menu__item:not(.l-burger-menu__item--parent)::before, .l-burger-menu__item:not(.l-burger-menu__item--parent)::after {
    content: none;
  }
}
.l-burger-menu__item:not(.l-burger-menu__item--parent)::before {
  background-color: #ebf3ff;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 8/5;
}
.l-burger-menu__item:not(.l-burger-menu__item--parent)::after {
  background-color: #3669cf;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-burger-menu-submenu {
  display: grid;
  gap: 16px;
  padding: 16px 0 0;
  list-style: none;
}
.l-burger-menu-submenu__item {
  position: relative;
  padding: 2px 50px 2px 0;
  display: block;
  color: inherit;
  text-decoration: none;
}
.l-burger-menu-submenu__item::before, .l-burger-menu-submenu__item::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (width > 768px) {
  .l-burger-menu-submenu__item::before, .l-burger-menu-submenu__item::after {
    content: none;
  }
}
.l-burger-menu-submenu__item::before {
  background-color: #ebf3ff;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 8/5;
}
.l-burger-menu-submenu__item::after {
  background-color: #3669cf;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-burger-contact {
  background-color: #3669cf;
  padding: 20px 30px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.l-burger-contact::before {
  content: "";
  display: block;
  width: 150px;
  aspect-ratio: 3/2;
  background-color: #3674d2;
  -webkit-mask-image: url("./../images/logo/logo-icon.svg");
          mask-image: url("./../images/logo/logo-icon.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 0;
  -webkit-transform: translate(25%, 0);
          transform: translate(25%, 0);
}
.l-burger-contact__title {
  position: relative;
  z-index: 2;
}
.l-burger-contact__items {
  display: grid;
  gap: 5px;
  margin: 16px 0 0;
  z-index: 2;
  position: relative;
}
.l-burger-contact-item {
  background-color: #ffffff;
  display: block;
  text-decoration: none;
  border-radius: 10px;
  padding: 24px 8px;
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  position: relative;
}
.l-burger-contact-item__icon {
  display: block;
  position: absolute;
  height: 80%;
  width: 90px;
  -webkit-mask-position: center left;
          mask-position: center left;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #fde8ec;
  top: 50%;
  left: 8px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  z-index: 1;
}
.l-burger-contact-item__name {
  position: relative;
  z-index: 2;
  padding: 0 50px 0 0;
  display: block;
}
.l-burger-contact-item__name::before, .l-burger-contact-item__name::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (width > 768px) {
  .l-burger-contact-item__name::before, .l-burger-contact-item__name::after {
    content: none;
  }
}
.l-burger-contact-item__name::before {
  background-color: #ebf3ff;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 8/5;
}
.l-burger-contact-item__name::after {
  background-color: #3669cf;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.l-header {
  position: fixed;
  z-index: 9999;
  top: 0;
  width: 100%;
  height: var(--header-height, 0);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: 500;
}
@media screen and (width > 1280px) {
  .l-header {
    padding: 15px 30px;
  }
}
.l-header__logo {
  display: block;
  height: 100%;
  padding: 15px 20px;
}
@media screen and (width > 1280px) {
  .l-header__logo {
    padding: 0;
  }
}
.l-header__link {
  display: block;
  height: 100%;
}
.l-header__img {
  display: block;
  max-height: 100%;
}
.l-header__nav {
  display: none;
}
@media screen and (width > 1280px) {
  .l-header__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
  }
}
.l-header-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px 30px;
  padding: 0;
  margin: 0;
}
.l-header-menu__list {
  display: block;
  padding: 1.4em 0;
  position: relative;
}
.l-header-menu__list:hover .l-header-menu-submenu {
  opacity: 1;
  visibility: visible;
}
.l-header-menu__list:hover .l-header-menu__parent::after {
  opacity: 0;
}
.l-header-menu__link {
  text-decoration: none;
  color: inherit;
}
.l-header-menu__parent {
  padding-right: 2em;
  position: relative;
}
.l-header-menu__parent::before, .l-header-menu__parent::after {
  content: "";
  display: block;
  width: 1em;
  position: absolute;
  top: 50%;
  right: 0.5em;
  border-top: 1px #cecece solid;
}
.l-header-menu__parent::before {
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.l-header-menu__parent::after {
  -webkit-transform: translate(50%, -50%) rotate(90deg);
          transform: translate(50%, -50%) rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header-menu-submenu {
  position: absolute;
  list-style: none;
  padding-left: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  top: 100%;
  left: 50%;
  width: 200%;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #222222;
}
.l-header-menu-submenu__list:not(:last-child) {
  border-bottom: 1px #ffffff solid;
}
.l-header-menu-submenu__link {
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 0;
  display: block;
  padding: 0.2em 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header-menu-submenu__link:hover {
  color: #9e9e9e;
}
.l-header-menu-submenu__link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background-color: #ffffff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__burger {
  display: block;
  aspect-ratio: 1/1;
  background-color: #3669cf;
  height: 100%;
  position: relative;
}
@media screen and (width > 1280px) {
  .l-header__burger {
    display: none;
  }
}
.l-header-burger__line {
  position: absolute;
  display: block;
  width: 50%;
  border-top: 1px #ffffff solid;
  top: 50%;
  left: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header-burger__line--1 {
  -webkit-transform: translate(-50%, calc(-50% - 8px));
          transform: translate(-50%, calc(-50% - 8px));
}
.l-header-burger.is-open .l-header-burger__line--1 {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.l-header-burger__line--2 {
  -webkit-transform: translate(-50%, calc(-50% - 0px));
          transform: translate(-50%, calc(-50% - 0px));
}
.l-header-burger.is-open .l-header-burger__line--2 {
  opacity: 0;
}
.l-header-burger__line--3 {
  -webkit-transform: translate(-50%, calc(-50% + 8px));
          transform: translate(-50%, calc(-50% + 8px));
}
.l-header-burger.is-open .l-header-burger__line--3 {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.l-footer {
  position: relative;
  z-index: 0;
}
.l-footer::before {
  content: "";
  display: block;
  z-index: -1;
  background-color: #ffffff;
  width: 100%;
  height: calc(100% - var(--footer-offset));
  bottom: 0;
  left: 0;
  position: absolute;
}
.l-footer-contact {
  background-color: #3669cf;
  padding: 20px 30px;
  margin: calc(-1 * var(--footer-offset)) var(--gutter) 0;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
@media screen and (width > 768px) {
  .l-footer-contact {
    padding: 40px 50px;
  }
}
.l-footer-contact::before {
  content: "";
  display: block;
  background-color: #3674d2;
  aspect-ratio: 5/3;
  -webkit-mask-image: url("./../images/logo/logo-icon.svg");
          mask-image: url("./../images/logo/logo-icon.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  z-index: 1;
  top: 30px;
  right: -40px;
  width: 200px;
}
@media screen and (width > 768px) {
  .l-footer-contact::before {
    right: -100px;
    width: 600px;
  }
}
.l-footer-contact__up {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 25px 80px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 2;
}
@media screen and (width > 963px) {
  .l-footer-contact__up {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-footer-contact__title {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.l-footer-contact__text {
  color: #ffffff;
}
.l-footer-contact__main {
  display: grid;
  gap: 16px 50px;
  margin: 25px auto 0;
  position: relative;
  z-index: 2;
}
@media screen and (width > 1280px) {
  .l-footer-contact__main {
    margin: 40px auto 0;
    grid-template-columns: repeat(3, 1fr);
  }
}
.l-footer-contact-item {
  display: block;
  background-color: #ffffff;
  padding: 22px 18px 15px;
  position: relative;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
}
@media screen and (width > 768px) {
  .l-footer-contact-item {
    padding: 30px 40px 16px;
  }
}
.l-footer-contact-item__title {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  position: relative;
  z-index: 2;
  margin: 0 auto 18px;
}
@media screen and (width > 768px) {
  .l-footer-contact-item__title {
    font-size: 24px;
    margin: 0 auto 30px;
  }
}
.l-footer-contact-item__icon {
  display: block;
  position: absolute;
  width: 85px;
  height: 50px;
  top: 10px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  background-color: #fde8ec;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: 1;
}
@media screen and (width > 768px) {
  .l-footer-contact-item__icon {
    width: 140px;
    height: 80px;
  }
}
.l-footer-contact-item__text {
  position: relative;
  z-index: 2;
  font-weight: 500;
  margin: 0 auto 16px;
}
.l-footer-contact-item__arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background-color: #ebf3ff;
  width: 50px;
  height: 35px;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .l-footer-contact-item__arrow {
    width: 85px;
    height: 55px;
  }
  .l-footer-contact-item:hover .l-footer-contact-item__arrow {
    background-color: #3669cf;
  }
}
.l-footer-contact-item__arrow::before {
  content: "";
  display: block;
  width: 33%;
  height: 33%;
  background-color: #3669cf;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .l-footer-contact-item:hover .l-footer-contact-item__arrow::before {
    background-color: #ffffff;
  }
}
.l-footer-inner {
  margin: 50px var(--gutter) 0;
  display: grid;
  gap: 30px;
}
@media screen and (width > 963px) {
  .l-footer-inner {
    grid-template-columns: -webkit-max-content 1fr -webkit-max-content;
    grid-template-columns: max-content 1fr max-content;
  }
}
@media screen and (width > 963px) {
  .l-footer-inner__nav {
    padding-left: 0;
  }
}
@media screen and (width > 1400px) {
  .l-footer-inner__nav {
    padding-left: clamp(0px, 4.875vw, 78px);
  }
}
.l-footer-inner__link {
  display: block;
}
.l-footer-inner__logo {
  display: block;
  width: 100%;
  max-width: 230px;
}
@media screen and (width > 768px) {
  .l-footer-inner__logo {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-footer-inner__logo:hover {
    opacity: 0.5;
  }
}
.l-footer-inner__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-left: 0;
  list-style: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 40px clamp(30px, 10vw, 100px);
}
@media screen and (width > 576px) {
  .l-footer-inner__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px clamp(30px, 4.8275862069vw, 70px);
  }
}
@media screen and (width > 1120px) {
  .l-footer-inner__list {
    display: grid;
    grid-template-columns: auto auto auto;
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
  }
}
@media screen and (width > 1450px) {
  .l-footer-inner__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px clamp(30px, 10vw, 100px);
  }
}
@media screen and (width > 768px) {
  .l-footer-inner__list {
    margin: 0 auto;
  }
}
.l-footer-inner-other__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (width > 963px) {
  .l-footer-inner-other__contact {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.l-footer-inner-other__menu {
  padding-left: 0;
  list-style: none;
  margin: 32px 0 0;
  text-align: center;
}
@media screen and (width > 963px) {
  .l-footer-inner-other__menu {
    text-align: right;
  }
}
.l-footer-inner-other__link {
  color: inherit;
  text-decoration: none;
}
@media screen and (width > 768px) {
  .l-footer-inner-other__link {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-footer-inner-other__link:hover {
    opacity: 0.5;
  }
}
.l-footer-list-item__link {
  color: inherit;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px #cecece solid;
  display: block;
  padding: 2px 50px 2px 0;
  position: relative;
}
.l-footer-list-item__link:not(.l-footer-list-item__link--parent)::before, .l-footer-list-item__link:not(.l-footer-list-item__link--parent)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (width > 768px) {
  .l-footer-list-item__link:not(.l-footer-list-item__link--parent)::before, .l-footer-list-item__link:not(.l-footer-list-item__link--parent)::after {
    content: none;
  }
}
.l-footer-list-item__link:not(.l-footer-list-item__link--parent)::before {
  background-color: #ebf3ff;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 8/5;
}
.l-footer-list-item__link:not(.l-footer-list-item__link--parent)::after {
  background-color: #3669cf;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (width > 768px) {
  .l-footer-list-item__link {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    border-bottom: none;
    padding: 0;
  }
  .l-footer-list-item__link:hover {
    opacity: 0.5;
  }
}
.l-footer-list-item__link--parent + .l-footer-submenu {
  display: grid;
}
.l-footer-submenu {
  list-style: none;
  display: none;
  gap: 20px;
  padding: 20px 0 0;
}
@media screen and (width > 963px) {
  .l-footer-submenu {
    display: grid;
    gap: 8px;
    padding: 8px 0 0;
  }
}
.l-footer-submenu-item {
  padding: 0 0 0 1em;
  position: relative;
}
@media screen and (width > 768px) {
  .l-footer-submenu-item {
    padding: 0;
  }
}
.l-footer-submenu-item::before {
  content: "";
  display: block;
  width: 0.5em;
  border-top: 2px #3669cf solid;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (width > 768px) {
  .l-footer-submenu-item::before {
    content: none;
  }
}
.l-footer-submenu-item__link {
  color: inherit;
  text-decoration: none;
  position: relative;
  padding: 3px 50px 3px 0;
  display: block;
}
@media screen and (width > 768px) {
  .l-footer-submenu-item__link {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-footer-submenu-item__link:hover {
    opacity: 0.5;
  }
}
@media screen and (width > 963px) {
  .l-footer-submenu-item__link {
    padding: 3px 0px 2px 0;
  }
}
.l-footer-submenu-item__link::before, .l-footer-submenu-item__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (width > 768px) {
  .l-footer-submenu-item__link::before, .l-footer-submenu-item__link::after {
    content: none;
  }
}
.l-footer-submenu-item__link::before {
  background-color: #ebf3ff;
  border-radius: 50%;
  width: 40px;
  aspect-ratio: 8/5;
}
.l-footer-submenu-item__link::after {
  background-color: #3669cf;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-footer-bottom {
  font-size: 12px;
  color: #9e9e9e;
  padding: 25px 20px 20px;
  text-align: center;
}
@media screen and (width > 768px) {
  .l-footer-bottom {
    padding: 45px 40px 20px;
  }
}

.l-glb-menu {
  position: fixed;
  z-index: 9990;
  top: 0px;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
  height: 100dvh;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  translate: 100% 0;
  opacity: 0;
  pointer-events: auto;
  visibility: hidden;
}
.l-glb-menu.is-active {
  translate: 0 0;
  opacity: 1;
  visibility: visible;
}
.l-glb-menu__wrapper {
  overflow: clip;
  width: min(800px, 100%);
  min-height: 100%;
  padding-block: calc(var(--header-height, 0) + var(--header-after, 0)) 56px;
  -ms-overflow-style: none;
}
.l-glb-menu__wrapper::-webkit-scrollbar {
  display: none;
}
@media screen and (width <= 768px) {
  .l-glb-menu__wrapper {
    padding-inline: var(--inline-outer-size, 0);
    -webkit-padding-after: 24px;
            padding-block-end: 24px;
  }
}
.l-main {
  padding: 0 0 var(--footer-offset);
}
.l-main--front {
  padding: 0;
}

.l-link-image__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: clamp(30px, 4.3125vw, 69px);
     -moz-column-gap: clamp(30px, 4.3125vw, 69px);
          column-gap: clamp(30px, 4.3125vw, 69px);
}
@media screen and (width <= 768px) {
  .l-link-image__wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
  }
}
.l-link-image__box {
  max-width: 646px;
  width: 100%;
  aspect-ratio: 646/359;
  position: relative;
  -webkit-filter: drop-shadow(0 5px 23px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 5px 23px rgba(0, 0, 0, 0.3));
  overflow: hidden;
}
.l-link-image__box::after {
  content: "";
  z-index: 1;
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(54.18%, rgba(62, 127, 226, 0)), to(rgba(62, 127, 226, 0.6)));
  background: -webkit-linear-gradient(top, rgba(62, 127, 226, 0) 54.18%, rgba(62, 127, 226, 0.6) 100%);
  background: linear-gradient(180deg, rgba(62, 127, 226, 0) 54.18%, rgba(62, 127, 226, 0.6) 100%);
}
.l-link-image__box img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.l-link-image__box:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.l-link-image__area {
  position: absolute;
  bottom: 18px;
  left: 0;
  width: 100%;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 17px;
}
.l-link-image__area-title {
  color: #be1134;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  line-height: 175%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 963px) {
  .l-link-image__area-title {
    font-size: 14px;
  }
}
.l-link-image__area-title span {
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 175%;
  color: #ffffff;
  background-color: #be1134;
  padding: 0 22px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 963px) {
  .l-link-image__area-title span {
    font-size: 24px;
    padding: 0 11px;
  }
}
.l-link-image__area-arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background-color: #ebf3ff;
  width: 50px;
  height: 35px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .l-link-image__area-arrow {
    width: 85px;
    height: 55px;
  }
  .l-link-image__box:hover .l-link-image__area-arrow {
    background-color: #3669cf;
  }
  .l-link-image__box:hover .l-link-image__area-arrow::before {
    background-color: #ffffff;
  }
}
.l-link-image__area-arrow::before {
  content: "";
  display: block;
  width: 33%;
  height: 33%;
  background-color: #3669cf;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.l-scroll {
  position: fixed;
  bottom: 30px;
  right: 30px;
  padding: 15px 29px;
  border-radius: 13px;
  -webkit-box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  display: grid;
  row-gap: 24px;
  z-index: 10000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-scroll__link {
  color: #222222;
  cursor: pointer;
  text-decoration: unset;
  font-size: 16px;
  font-weight: 500;
  line-height: 175%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 22px;
     -moz-column-gap: 22px;
          column-gap: 22px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-scroll__link::after {
  content: "";
  display: block;
  width: 10px;
  height: 14px;
  background-image: url(../images/icon/icon-blue-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (width <= 36rem) {
  .l-scroll {
    display: none;
  }
}

.l-page-head {
  position: relative;
  padding: var(--header-height, 0) var(--gutter, 0px) 40px;
}
.l-page-head::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #000000;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
}
.l-page-head::after {
  content: "";
  width: 100%;
  height: 40px;
  background-color: #ffffff;
  border-radius: 20px 20px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
}
.l-page-head__inner {
  padding: 40px 0;
}
.l-page-head__bg {
  position: absolute;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}
.l-page-head__title > .en {
  color: #ffffff;
}
@media screen and (width > 768px) {
  .l-page-head__title > .en {
    font-size: 28px;
  }
}
.l-page-head__title > .ja {
  font-size: 20px;
  color: #ffffff;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width > 768px) {
  .l-page-head__title > .ja {
    font-size: 60px;
  }
}
.l-page-head__title > .ja::before {
  content: "";
  display: block;
  width: 100%;
  border-top: 6px #ba1932 solid;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (width > 768px) {
  .l-page-head__title > .ja::before {
    border-width: 12px;
  }
}
.l-page-head__breadcrumb {
  color: #ffffff;
}

.l-section {
  width: 100%;
  padding-inline: var(--gutter, 0px);
  margin-block: 20px var(--contents-spacer);
}
@media screen and (width > 768px) {
  .l-section {
    margin-block: var(--contents-spacer);
  }
}
.l-section__inner {
  width: min(100%, 1360px);
  margin: 0 auto;
}

.l-interior-main__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 7.5%;
  margin-top: 90px;
}
@media screen and (width <= 963px) {
  .l-interior-main__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
@media screen and (width <= 768px) {
  .l-interior-main__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
    margin-top: 45px;
  }
}
.l-interior-main__left {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 45%;
  height: 100%;
}
@media screen and (width <= 963px) {
  .l-interior-main__left {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media screen and (width <= 768px) {
  .l-interior-main__left {
    width: 100%;
  }
}
.l-interior-main__left .swiper-pagination {
  bottom: -25px !important;
  text-align: right;
}
.l-interior-main__left .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  opacity: 1;
  background: #fde8ec;
}
.l-interior-main__left .swiper-pagination-bullet-active {
  background: #ba1932;
}
.l-interior-main__left-main {
  position: relative;
  margin-bottom: 50px;
}
.l-interior-main__left #productImagesSlides .swiper-slide {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 620/340;
}
.l-interior-main__left #productImagesSlidesThumbs .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.l-interior-main__left #productImagesSlidesThumbs .swiper-slide {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-interior-main__left #productImagesSlidesThumbs .swiper-slide:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-interior-main__left #productImagesSlidesThumbs .swiper-slide:hover {
    opacity: 0.8;
  }
}
.l-interior-main__left #productImagesSlidesThumbs.swiper-backface-hidden .swiper-slide {
  cursor: pointer;
}
.l-interior-main__right {
  padding: 26px 40px 45px;
  border-radius: 26px;
  background: #eff5fb;
}
@media screen and (width <= 768px) {
  .l-interior-main__right {
    padding: 20px;
  }
}
.l-interior-main__title {
  font-size: 30px;
  line-height: 1.5;
}
@media screen and (width <= 768px) {
  .l-interior-main__title {
    font-size: 24px;
  }
}
.l-interior-main__content {
  margin-top: 30px;
}
@media screen and (width <= 768px) {
  .l-interior-main__content {
    margin-top: 20px;
  }
}
.l-interior-main__item {
  margin-bottom: 50px;
}
@media screen and (width <= 768px) {
  .l-interior-main__item {
    margin-bottom: 30px;
  }
}
.l-interior-main__subtitle {
  font-size: 20px;
  line-height: 1.75;
  position: relative;
  margin-bottom: 8px;
  padding-left: 22px;
}
@media screen and (width <= 768px) {
  .l-interior-main__subtitle {
    font-size: 18px;
  }
}
.l-interior-main__subtitle:before {
  position: absolute;
  top: 17px;
  left: 0;
  width: 14px;
  height: 0;
  content: "";
  border-top: 4px solid #3e7fe2;
}
@media screen and (width <= 768px) {
  .l-interior-main__subtitle:before {
    top: 14px;
  }
}
.l-interior-main__text {
  font-weight: 500;
}
.l-interior-main .swiper-buttons {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "prev . next"/auto 1fr auto;
  pointer-events: none;
}
.l-interior-main .swiper-buttons > .swiper-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: next;
  width: clamp(50px, 6vw, 96px);
  aspect-ratio: 96/62;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: auto;
  border: none;
  border-radius: 50%;
  background-color: #ebf3ff;
}
.l-interior-main .swiper-buttons > .swiper-button:focus-visible {
  outline: none;
  background-color: #3669cf;
}
.l-interior-main .swiper-buttons > .swiper-button:focus-visible::before {
  background-color: #ffffff;
}
@media (any-hover: hover) {
  .l-interior-main .swiper-buttons > .swiper-button:hover {
    outline: none;
    background-color: #3669cf;
  }
  .l-interior-main .swiper-buttons > .swiper-button:hover::before {
    background-color: #ffffff;
  }
}
.l-interior-main .swiper-buttons > .swiper-button:focus-visible {
  outline: 1px solid #000000;
}
.l-interior-main .swiper-buttons > .swiper-button::before {
  display: block;
  width: 33%;
  height: 33%;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: #3669cf;
  -webkit-mask: url("./../images/icon/icon-arrow.svg") center/contain no-repeat;
          mask: url("./../images/icon/icon-arrow.svg") center/contain no-repeat;
}
.l-interior-main .swiper-buttons > .swiper-button.-next {
  translate: min(50%, var(--gutter) * 0.5) 0;
}
.l-interior-main .swiper-buttons > .swiper-button.-prev {
  grid-area: prev;
  translate: calc(min(50%, var(--gutter) * 0.5) * -1) 0;
}
.l-interior-main .swiper-buttons > .swiper-button.-prev::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.l-interior-main__action-btn > .c-btn {
  margin: 0;
  margin-inline: auto;
  cursor: pointer;
}
.l-interior-main__back > .c-btn {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: 65px auto 0;
}
@media screen and (width <= 768px) {
  .l-interior-main__back > .c-btn {
    margin: 45px auto 0;
  }
}
.l-interior-main__back > .c-btn__arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-about-message__wrap {
  padding: clamp(50px, 4.8125vw, 77px) clamp(55px, 7.375vw, 118px) clamp(50px, 4.6875vw, 74px);
  background-color: #eff5fb;
}
@media screen and (width <= 768px) {
  .p-about-message__wrap {
    padding: clamp(20px, 7.2vw, 50px) clamp(15px, 5.3333333333vw, 55px) clamp(20px, 7.2vw, 50px);
  }
}
.p-about-message .c-title-set {
  margin-inline: auto;
}
.p-about-message__title {
  max-width: 670px;
  width: 100%;
  margin-inline: auto;
  margin-top: 46px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 768px) {
  .p-about-message__title {
    margin-top: 26px;
  }
}
.p-about-message__title span {
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: 40px;
  font-weight: 700;
  line-height: 143%;
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-about-message__title span {
    font-size: 26px;
    line-height: 135%;
  }
}
.p-about-message__detail {
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  line-height: 200%;
  margin-top: 53px;
}
@media screen and (width <= 768px) {
  .p-about-message__detail {
    font-size: 14px;
    margin-top: 33px;
  }
}
.p-about-message__name {
  font-size: 20px;
  font-weight: 500;
  line-height: 175%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  margin-top: 64px;
}
@media screen and (width <= 768px) {
  .p-about-message__name {
    margin-top: 44px;
    font-size: 14px;
  }
}
.p-about-philosophy__wrap {
  max-width: 1123px;
  width: 100%;
  margin-inline: auto;
  display: grid;
  justify-items: center;
  row-gap: 52px;
  position: relative;
  padding-bottom: 150px;
}
@media screen and (width <= 768px) {
  .p-about-philosophy__wrap {
    padding-bottom: 0;
    row-gap: 30px;
  }
}
.p-about-philosophy__wrap::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  max-width: 704px;
  width: 90%;
  aspect-ratio: 704/433;
  background-image: url(../images/logo/logo-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (width <= 768px) {
  .p-about-philosophy__wrap::before {
    max-width: 480px;
    bottom: unset;
    top: 50px;
  }
}
.p-about-philosophy__title {
  max-width: 670px;
  width: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-about-philosophy__title span {
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: 40px;
  font-weight: 700;
  line-height: 143%;
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-about-philosophy__title span {
    font-size: 26px;
    line-height: 135%;
  }
}
.p-about-philosophy__text {
  font-size: 20px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (width <= 768px) {
  .p-about-philosophy__text {
    font-size: 14px;
  }
}
.p-about-profile .c-title-set {
  margin-inline: auto;
}
.p-about-profile__wrap {
  padding: clamp(20px, 1.6875vw, 27px) clamp(30px, 3.125vw, 50px);
  margin-top: 24px;
  border-radius: 20px;
  border: 2px solid #3e7fe2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (width <= 1340px) {
  .p-about-profile__wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
    position: relative;
  }
  .p-about-profile__wrap::before {
    position: absolute;
    content: "";
    width: 2px;
    height: 95%;
    background-color: #fde8ec;
    top: 20px;
    left: 203px;
  }
}
@media screen and (width <= 768px) {
  .p-about-profile__wrap {
    padding: 20px 30px;
    row-gap: 20px;
  }
  .p-about-profile__wrap::before {
    left: 144px;
  }
}
@media screen and (width <= 36rem) {
  .p-about-profile__wrap {
    padding-inline: 20px 15px;
  }
  .p-about-profile__wrap::before {
    left: 114px;
  }
}
.p-about-profile__area {
  position: relative;
  display: grid;
  row-gap: 30px;
}
.p-about-profile__area::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background-color: #fde8ec;
  top: 0;
}
@media screen and (width <= 1340px) {
  .p-about-profile__area::before {
    display: none;
  }
}
@media screen and (width <= 768px) {
  .p-about-profile__area {
    row-gap: 20px;
  }
}
.p-about-profile__area dl {
  display: grid;
  grid-template-columns: 174px 1fr;
  row-gap: 30px;
}
.p-about-profile__area dl:first-of-type {
  padding-top: 8px;
}
@media screen and (width <= 1340px) {
  .p-about-profile__area dl:first-of-type {
    padding-top: unset;
  }
}
.p-about-profile__area dl:last-of-type {
  padding-bottom: 8px;
}
@media screen and (width <= 1340px) {
  .p-about-profile__area dl:last-of-type {
    padding-bottom: unset;
  }
}
@media screen and (width <= 1520px) {
  .p-about-profile__area dl {
    grid-template-columns: 134px 1fr;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area dl {
    grid-template-columns: 174px 1fr;
  }
}
@media screen and (width <= 768px) {
  .p-about-profile__area dl {
    grid-template-columns: 114px 1fr;
    row-gap: 20px;
  }
}
@media screen and (width <= 36rem) {
  .p-about-profile__area dl {
    grid-template-columns: 94px 1fr;
  }
}
.p-about-profile__area dt {
  font-size: 20px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (width <= 768px) {
  .p-about-profile__area dt {
    font-size: 16px;
  }
}
@media screen and (width <= 36rem) {
  .p-about-profile__area dt {
    font-size: 14px;
  }
}
.p-about-profile__area dd {
  font-size: 20px;
  font-weight: 500;
  line-height: 200%;
  padding-left: 62px;
}
@media screen and (width <= 1520px) {
  .p-about-profile__area dd {
    padding-left: 42px;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area dd {
    padding-left: 62px;
  }
}
@media screen and (width <= 768px) {
  .p-about-profile__area dd {
    font-size: 16px;
    padding-left: 32px;
  }
}
@media screen and (width <= 36rem) {
  .p-about-profile__area dd {
    padding-left: 13px;
    font-size: 14px;
  }
}
.p-about-profile__area .rsm {
  display: none;
}
@media screen and (width <= 36rem) {
  .p-about-profile__area .rsm {
    display: block;
  }
}
.p-about-profile__area--left {
  border-right: 2px solid #3e7fe2;
  padding-right: clamp(30px, 3.125vw, 50px);
}
.p-about-profile__area--left::before {
  left: 174px;
}
@media screen and (width <= 1520px) {
  .p-about-profile__area--left::before {
    left: 134px;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area--left {
    padding-right: unset;
    border-right: unset;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area--left dl:first-of-type {
    padding-top: 8px;
  }
}
.p-about-profile__area--right {
  padding-left: clamp(30px, 3.125vw, 50px);
}
.p-about-profile__area--right::before {
  left: 224px;
}
@media screen and (width <= 1520px) {
  .p-about-profile__area--right::before {
    left: 178px;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area--right {
    padding-left: unset;
  }
}
@media screen and (width <= 1340px) {
  .p-about-profile__area--right dl:last-of-type {
    padding-bottom: 8px;
  }
}
.p-about-access__wrap {
  display: grid;
  justify-items: center;
}
.p-about-access__wrap iframe {
  width: 100%;
  border-radius: 20px;
  margin-top: 24px;
  max-height: 510px;
}

.p-front-fv {
  width: 100%;
  position: relative;
  height: max(650px, 50vw);
}
.p-front-fv__slider {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}
.p-front-fv__slider::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  background-color: #222222;
  z-index: 1;
}
.p-front-fv__slide {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
}
.p-front-fv__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-front-fv__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 20px 20px 40px;
}
@media screen and (width > 768px) {
  .p-front-fv__inner {
    padding: 60px 65px 80px;
  }
}
.p-front-fv__catch {
  max-width: 500px;
  width: 50%;
}
@media screen and (width > 768px) {
  .p-front-fv__catch {
    width: 100%;
  }
}
.p-front-fv__text {
  position: relative;
  color: #ffffff;
  font-weight: 700;
  z-index: 0;
  font-size: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width > 576px) {
  .p-front-fv__text {
    font-size: 50px;
  }
}
@media screen and (width > 963px) {
  .p-front-fv__text {
    font-size: 100px;
  }
}
.p-front-fv__text::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  border-top: 7px #ba1932 solid;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (width > 768px) {
  .p-front-fv__text::before {
    border-width: 15px;
  }
}
.p-front-fv__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (width > 768px) {
  .p-front-fv__flex {
    gap: 40px;
  }
}
.p-front-fv-page {
  position: relative;
  z-index: 0;
  width: 100px;
  aspect-ratio: 3/2;
  width: 65px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-weight: 700;
  gap: 0.5em;
  font-size: 16px;
}
@media screen and (width > 768px) {
  .p-front-fv-page {
    width: 140px;
    font-size: 18px;
    gap: 1em;
  }
}
.p-front-fv-page::before, .p-front-fv-page__line {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-front-fv-page::before {
  content: "";
  -webkit-mask-image: url("./../images/front/ellipse-body.svg");
          mask-image: url("./../images/front/ellipse-body.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: -2;
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}
.p-front-fv-page__line {
  z-index: -1;
}
.p-front-fv-page__line path {
  stroke-dasharray: 340;
  stroke-dashoffset: 340;
}
.p-front-fv-scroll {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  right: 20px;
  top: 50%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1em;
}
@media screen and (width > 768px) {
  .p-front-fv-scroll {
    right: 24px;
  }
}
.p-front-fv-scroll__text {
  display: block;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.p-front-fv-scroll__bar {
  display: block;
  height: 150px;
  position: relative;
  border-right: 1px #ffffff solid;
  background-color: #ffffff;
}
@-webkit-keyframes scroll-bar {
  0% {
    top: 0;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
            transform: translate(-50%, -50%) scale(0, 0);
  }
  5% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    top: 0;
  }
  90% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  95% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%) scale(1.2, 1.2);
            transform: translate(-50%, -50%) scale(1.2, 1.2);
  }
  100% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
            transform: translate(-50%, -50%) scale(0, 0);
  }
}
@keyframes scroll-bar {
  0% {
    top: 0;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
            transform: translate(-50%, -50%) scale(0, 0);
  }
  5% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    top: 0;
  }
  90% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  95% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%) scale(1.2, 1.2);
            transform: translate(-50%, -50%) scale(1.2, 1.2);
  }
  100% {
    top: 100%;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
            transform: translate(-50%, -50%) scale(0, 0);
  }
}
.p-front-fv-scroll__bar::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  background-color: inherit;
  position: absolute;
  top: 0;
  left: 0;
  width: 0.5em;
  -webkit-animation: scroll-bar 2s ease-in-out infinite normal both;
          animation: scroll-bar 2s ease-in-out infinite normal both;
}

.p-front-message {
  margin: -20px auto 0;
  background-color: #ffffff;
  border-radius: 16px 16px 0 0;
  position: relative;
}
@media screen and (width > 768px) {
  .p-front-message {
    z-index: 1;
  }
  .p-front-message::before {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    background-color: #ebf3ff;
    border-radius: 16px 16px 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.p-front-message__section {
  margin: 0;
}
.p-front-message__inner {
  display: grid;
  padding: 30px 0 50px;
  grid-template-areas: "title" "catch" "gallery" "text" "link";
  gap: 30px;
}
@media screen and (width > 768px) {
  .p-front-message__inner {
    padding: 130px 0 70px;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
    grid-template-areas: "title gallery" "catch gallery" "text gallery" "link gallery" ". gallery";
    gap: 40px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-front-message__title {
  grid-area: title;
}
.p-front-message__catch {
  font-size: 20px;
  font-weight: 700;
  grid-area: catch;
}
@media screen and (width > 768px) {
  .p-front-message__catch {
    font-size: 40px;
  }
}
.p-front-message__catch span {
  color: #ba1932;
}
.p-front-message__gallery {
  grid-area: gallery;
  display: grid;
  grid-template-columns: auto 20px auto;
  grid-template-rows: auto 230px auto;
  position: relative;
  z-index: 0;
  max-width: 300px;
}
@media screen and (width > 768px) {
  .p-front-message__gallery {
    grid-template-columns: 1.5fr 1.6fr 2.4fr;
    grid-template-rows: auto 210px auto;
  }
}
@media screen and (width > 963px) {
  .p-front-message__gallery {
    max-width: 460px;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.p-front-message__gallery::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 1/1;
  z-index: -1;
  width: 75%;
  top: -20px;
  left: -10%;
  background-color: #ebf3ff;
  -webkit-mask-image: url("./../images/logo/logo-icon.svg");
          mask-image: url("./../images/logo/logo-icon.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (width > 768px) {
  .p-front-message__gallery::before {
    top: -40px;
    left: -30%;
    width: 90%;
  }
}
.p-front-message__gallery img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0px 10px 23px 0px rgba(0, 0, 0, 0.3019607843);
          box-shadow: 0px 10px 23px 0px rgba(0, 0, 0, 0.3019607843);
}
.p-front-message__gallery img:first-child {
  grid-column: 2/4;
  grid-row: 1/3;
  z-index: 1;
}
.p-front-message__gallery img:last-child {
  grid-column: 1/3;
  grid-row: 2/4;
  z-index: 2;
}
.p-front-message__text {
  grid-area: text;
}
.p-front-message__link {
  grid-area: link;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (width > 768px) {
  .p-front-message__link {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-front-service {
  background-color: #ebf3ff;
  border-radius: 16px;
  padding: 30px 0 120px;
  position: relative;
}
@media screen and (width > 768px) {
  .p-front-service {
    margin: -100px 0 0;
    padding: 140px 0 90px;
  }
}
.p-front-service__upper {
  display: grid;
  gap: 30px 110px;
  margin: 0;
}
@media screen and (width > 768px) {
  .p-front-service__upper {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}
.p-front-service__items {
  margin: 45px 0 0;
  display: grid;
  gap: 30px;
}
@media screen and (width > 768px) {
  .p-front-service__items {
    gap: 40px;
  }
}
.p-front-service-item {
  width: calc(100% - var(--gutter));
}
@media screen and (width > 768px) {
  .p-front-service-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-front-service-item:nth-of-type(2n + 1) {
  margin: 0 auto 0 0;
}
@media screen and (width > 768px) {
  .p-front-service-item:nth-of-type(2n + 1) {
    margin: 0 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-front-service-item:nth-of-type(2n + 1) .p-front-service-item__img {
  margin: 0 0 0 auto;
}
@media screen and (width > 768px) {
  .p-front-service-item:nth-of-type(2n + 1) .p-front-service-item__img {
    margin: 0;
  }
}
.p-front-service-item:nth-of-type(2n + 1) .p-front-service-item__content::before {
  border-radius: 0 10px 10px 0;
}
@media screen and (width > 768px) {
  .p-front-service-item:nth-of-type(2n + 1) .p-front-service-item__content::before {
    border-radius: 10px 0 0 10px;
  }
}
.p-front-service-item:nth-of-type(2n) {
  margin: 0 0 0 auto;
}
@media screen and (width > 768px) {
  .p-front-service-item:nth-of-type(2n) {
    margin: 0 auto 0 0;
  }
}
.p-front-service-item:nth-of-type(2n) .p-front-service-item__content::before {
  border-radius: 10px 0 0 10px;
}
@media screen and (width > 768px) {
  .p-front-service-item:nth-of-type(2n) .p-front-service-item__content::before {
    border-radius: 0 10px 10px 0;
  }
}
.p-front-service-item__img {
  width: 90%;
  position: relative;
  z-index: 2;
  -webkit-box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
          box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
}
@media screen and (width > 768px) {
  .p-front-service-item__img {
    width: 50%;
  }
}
.p-front-service-item__content {
  position: relative;
  z-index: 0;
  padding: 25px var(--gutter) 25px;
}
@media screen and (width > 768px) {
  .p-front-service-item__content {
    width: 50%;
    padding: 35px var(--gutter) 40px calc(var(--gutter) / 2);
  }
}
.p-front-service-item__content::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 25px);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
  z-index: -2;
}
@media screen and (width > 768px) {
  .p-front-service-item__content::before {
    height: 100%;
  }
}
.p-front-service-item__icon {
  display: block;
  width: 120px;
  aspect-ratio: 1/1;
  position: absolute;
  background-color: #fde8ec;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top right;
          mask-position: top right;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: -1;
  top: 20px;
  right: var(--gutter);
  max-height: calc(100% - 40px);
}
@media screen and (width > 768px) {
  .p-front-service-item__icon {
    right: 30px;
    top: 24px;
    width: 250px;
    max-height: calc(100% - 48px);
  }
}
.p-front-service-item__sub {
  color: #ba1932;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
}
.p-front-service-item__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #ffffff;
  background-color: #ba1932;
  padding: 0 8px;
  font-size: 18px;
  line-height: 1.75;
}
@media screen and (width > 768px) {
  .p-front-service-item__title {
    padding: 0 10px;
    font-size: 30px;
  }
}
.p-front-service-item__text {
  margin: 20px 0 0;
}
@media screen and (width > 768px) {
  .p-front-service-item__text {
    margin: 30px 0 0;
  }
}
.p-front-service-item-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3669cf;
  gap: 2em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  margin: 30px auto 0;
  font-weight: 700;
}
@media screen and (width > 768px) {
  .p-front-service-item-btn {
    margin: 40px 0 0;
  }
  .p-front-service-item-btn:hover .p-front-service-item-btn__arrow {
    background-color: #3669cf;
  }
  .p-front-service-item-btn:hover .p-front-service-item-btn__arrow::before {
    background-color: #ebf3ff;
  }
}
.p-front-service-item-btn__arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ebf3ff;
  width: 40px;
  height: 30px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (width > 768px) {
  .p-front-service-item-btn__arrow {
    width: 55px;
    height: 35px;
  }
}
.p-front-service-item-btn__arrow::before {
  content: "";
  display: block;
  width: 33%;
  height: 33%;
  background-color: #3669cf;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-front-service__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 60px 0 0;
}

.p-front-recruit {
  margin: -16px 0 0;
  padding: 0 0 calc(var(--footer-offset) + 75px);
  position: relative;
  overflow: hidden;
}
@media screen and (width > 768px) {
  .p-front-recruit {
    padding: 0 0 var(--footer-offset);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-front-recruit::before, .p-front-recruit::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-front-recruit::before {
  background-image: url("./../images/front/recruit-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -3;
}
.p-front-recruit::after {
  background: -webkit-radial-gradient(0% 6.1%, 100% 183.54%, rgba(238, 245, 255, 0.8) 0%, rgba(202, 222, 252, 0.8) 22.12%, rgba(191, 217, 255, 0.8) 48.56%, rgba(255, 255, 255, 0.8) 74.04%, rgba(166, 202, 255, 0.8) 100%);
  background: radial-gradient(100% 183.54% at 0% 6.1%, rgba(238, 245, 255, 0.8) 0%, rgba(202, 222, 252, 0.8) 22.12%, rgba(191, 217, 255, 0.8) 48.56%, rgba(255, 255, 255, 0.8) 74.04%, rgba(166, 202, 255, 0.8) 100%);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  z-index: -2;
}
.p-front-recruit__gallery {
  position: relative;
  aspect-ratio: 1/1;
  z-index: -1;
}
@media screen and (width > 768px) {
  .p-front-recruit__gallery {
    grid-column: 2/3;
  }
}
@media screen and (width > 1280px) {
  .p-front-recruit__gallery {
    width: 80%;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
}
.p-front-recruit-gallery__img {
  position: absolute;
  display: block;
  -webkit-filter: drop-shadow(0px 5px 23px rgba(0, 0, 0, 0.3019607843));
          filter: drop-shadow(0px 5px 23px rgba(0, 0, 0, 0.3019607843));
  -o-object-fit: contain;
     object-fit: contain;
  max-width: unset;
  aspect-ratio: 1/1;
}
.p-front-recruit-gallery__img-1 {
  width: 110%;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -o-object-position: top center;
     object-position: top center;
}
.p-front-recruit-gallery__img-2 {
  width: 70%;
  bottom: 0;
  right: -5%;
  -o-object-position: bottom center;
     object-position: bottom center;
}
.p-front-recruit__inner {
  margin: 0 var(--gutter);
  padding: 15px 30px 50px;
  background-color: #ffffff;
  border-radius: 10px;
}
@media screen and (width > 768px) {
  .p-front-recruit__inner {
    margin: 130px 0 70px var(--gutter);
    grid-column: 1/2;
    grid-row: 1/2;
    padding: 45px 45px 55px;
  }
}
.p-front-recruit__text {
  margin: 20px 0 0;
}
@media screen and (width > 768px) {
  .p-front-recruit__text {
    margin: 25px 0 0;
    line-height: 200%;
  }
}
.p-front-recruit__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 45px 0 0;
}
@media screen and (width > 768px) {
  .p-front-recruit__link {
    margin: 20px 0 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-forbidden {
  width: 100%;
  padding-inline: var(--gutter, 0px);
  margin-block: var(--contents-spacer);
}
.p-forbidden__inner {
  width: min(100%, 960px);
  margin: 0 auto;
}
.p-forbidden__text {
  text-align: center;
}
.p-forbidden__btn {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-staffing-top__wrap {
  background-color: #eff5fb;
  border-radius: 16px;
  padding: 60px 80px;
}
@media screen and (width <= 768px) {
  .p-staffing-top__wrap {
    padding: 20px 30px;
  }
}
.p-staffing-top__title {
  color: #be1134;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
  max-width: 667px;
  width: 100%;
  margin-inline: auto;
}
.p-staffing-top__title span {
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-staffing-top__title {
    font-size: 26px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-staffing-top__detail {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
  font-size: 20px;
  line-height: 200%;
  font-weight: 500;
  margin-top: 34px;
}
@media screen and (width <= 768px) {
  .p-staffing-top__detail {
    font-size: 14px;
    margin-top: 20px;
  }
}
.p-staffing-top__contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 50px;
  justify-items: center;
  margin-top: 40px;
}
@media screen and (width <= 963px) {
  .p-staffing-top__contents {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
@media screen and (width <= 768px) {
  .p-staffing-top__contents {
    row-gap: 25px;
    margin-top: 30px;
  }
}
.p-staffing-top__box {
  border: 1px solid #3e7fe2;
  border-radius: 50%;
  background-color: #ffffff;
  padding: 39px 38px 41px;
  max-width: 366px;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-staffing-top__box {
    padding: 35px 30px 45px;
  }
}
.p-staffing-top__box-title {
  color: #3e7fe2;
  font-size: 30px;
  font-weight: 700;
  line-height: 175%;
  text-align: center;
}
@media screen and (width <= 768px) {
  .p-staffing-top__box-title {
    font-size: 22px;
  }
}
.p-staffing-top__box-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 175%;
  margin-top: 6px;
}
@media screen and (width <= 768px) {
  .p-staffing-top__box-text {
    font-size: 14px;
  }
}
.p-staffing-business {
  background-color: #eff5fb;
  border-radius: 16px;
  padding-top: 137px;
  padding-bottom: 128px;
}
@media screen and (width <= 768px) {
  .p-staffing-business {
    padding-block: 60px;
  }
}
.p-staffing-business__images {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 38px;
}
.p-staffing-business__box-image {
  -webkit-box-shadow: 0px 5px 23px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 5px 23px rgba(0, 0, 0, 0.3);
}
.p-staffing-business__box-title {
  font-size: 30px;
  font-weight: 700;
  line-height: 175%;
  margin-top: 37px;
  margin-bottom: 6px;
}
@media screen and (width <= 768px) {
  .p-staffing-business__box-title {
    font-size: 26px;
    margin-top: 30px;
    margin-bottom: 4px;
  }
}
.p-staffing-business__box-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 175%;
}
.p-staffing-business__wrap {
  margin-top: 100px;
}
.p-staffing-business__wrap .c-title-set {
  margin-inline: auto;
}
@media screen and (width <= 768px) {
  .p-staffing-business__wrap {
    margin-top: 60px;
  }
}
.p-staffing-business__contents {
  margin-top: 70px;
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 637px));
  -webkit-column-gap: 85px;
     -moz-column-gap: 85px;
          column-gap: 85px;
  row-gap: 63px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-reset: num;
}
@media screen and (width <= 963px) {
  .p-staffing-business__contents {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (width <= 768px) {
  .p-staffing-business__contents {
    margin-top: 40px;
    row-gap: 40px;
  }
}
.p-staffing-business__content {
  counter-increment: num;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 29px 35px 22px;
  position: relative;
}
@media screen and (width <= 768px) {
  .p-staffing-business__content {
    padding: 20px 25px 16px;
  }
}
.p-staffing-business__content::before {
  content: counter(num, decimal-leading-zero);
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  font-size: 80px;
  line-height: 175%;
  position: absolute;
  right: 18px;
  top: -70px;
  color: #be1134;
}
@media screen and (width <= 768px) {
  .p-staffing-business__content::before {
    font-size: 50px;
    right: 12px;
    top: -40px;
  }
}
.p-staffing-business__content-title {
  margin-bottom: 19px;
}
@media screen and (width <= 768px) {
  .p-staffing-business__content-title {
    margin-bottom: 12px;
  }
}
.p-staffing-business__content-title span {
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: 30px;
  font-weight: 700;
  line-height: 143%;
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-staffing-business__content-title span {
    font-size: 24px;
    padding: 0 6px;
  }
}
.p-staffing-business__content-text {
  font-weight: 500;
  line-height: 175%;
  max-width: 448px;
}
.p-staffing-flow .c-title-set {
  margin-inline: auto;
}
.p-staffing-flow__wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 21.3px;
  justify-items: center;
  margin-top: 45px;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-staffing-flow__box {
  border-radius: 11px;
  border: 1px solid #3e7fe2;
  padding: 39px 30px;
  position: relative;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box {
    max-width: 500px;
    width: 100%;
    padding: 29px 20px;
  }
}
.p-staffing-flow__box--first::after {
  content: "";
  position: absolute;
  right: -22.3px;
  top: 50%;
  translate: 0 -50%;
  background-color: #3e7fe2;
  width: 22.3px;
  height: 11px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box--first::after {
    width: 11px;
    height: 22.3px;
    top: unset;
    right: unset;
    bottom: -22.3px;
    left: 50%;
    translate: -50% 0;
  }
}
.p-staffing-flow__box--second::after {
  content: "";
  position: absolute;
  right: -21.3px;
  top: 50%;
  translate: 0 -50%;
  background-color: #3e7fe2;
  width: 21.3px;
  height: 11px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box--second::after {
    width: 11px;
    height: 22.3px;
    top: unset;
    right: unset;
    bottom: -22.3px;
    left: 50%;
    translate: -50% 0;
  }
}
.p-staffing-flow__box--third::before {
  content: "";
  position: absolute;
  left: -21.3px;
  top: 50%;
  translate: 0 -50%;
  background-color: #3e7fe2;
  width: 21.3px;
  height: 11px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box--third::before {
    display: none;
  }
}
.p-staffing-flow__box--third::after {
  content: "";
  position: absolute;
  right: -21.3px;
  top: 50%;
  translate: 0 -50%;
  background-image: url(../images/icon/icon-arrow-right.svg);
  width: 24.3px;
  height: 39px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box--third::after {
    background-image: url(../images/icon/icon-arrow-right.svg);
    width: 24.3px;
    height: 39px;
    top: unset;
    right: unset;
    bottom: -29.3px;
    left: 50%;
    translate: -50% 0;
    rotate: 90deg;
  }
}
.p-staffing-flow__box-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  margin-bottom: 19px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 5px;
  position: relative;
}
.p-staffing-flow__box-title span {
  color: #be1134;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  line-height: 100%;
}
.p-staffing-flow__box-title::after {
  position: absolute;
  content: "";
  max-width: 128px;
  width: 100%;
  right: -5px;
  top: -20px;
  height: 93px;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-staffing-flow__box-title--first::after {
  background-image: url(../images/icon/icon-flow01.svg);
}
.p-staffing-flow__box-title--second::after {
  background-image: url(../images/icon/icon-flow02.svg);
}
.p-staffing-flow__box-title--third::after {
  background-image: url(../images/icon/icon-flow03.svg);
}
.p-staffing-flow__box-title--fourth::after {
  background-image: url(../images/icon/icon-flow04.svg);
}
@media screen and (width <= 768px) {
  .p-staffing-flow__box-title {
    margin-bottom: 12px;
  }
}
.p-staffing-flow__box-text {
  font-weight: 500;
  line-height: 175%;
}
.p-staffing-faq .c-title-set {
  margin-inline: auto;
}
.p-staffing-faq__accordion {
  margin-top: 45px;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__accordion {
    margin-top: 30px;
  }
}
.p-staffing-faq__item {
  padding-left: 45px;
  padding-right: 41px;
  padding-bottom: 26px;
  padding-top: 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin-bottom: 6px;
  background-color: #eff5fb;
  border-radius: 16px;
  display: none;
  cursor: pointer;
}
.p-staffing-faq__item.is-show {
  display: block;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__item {
    padding-inline: 18px;
  }
}
.p-staffing-faq__item:last-of-type {
  margin-bottom: unset;
}
.p-staffing-faq__header {
  width: 100%;
  border: unset;
  position: relative;
  z-index: 1;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
  border-radius: 6px;
  background: none;
  padding-inline: 0;
}
.p-staffing-faq__icon {
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 0;
  background: #ffffff;
  width: 52px;
  height: 34px;
  border-radius: 50%;
  display: block;
  translate: 0 -50%;
}
.p-staffing-faq__icon::before, .p-staffing-faq__icon::after {
  position: absolute;
  content: "";
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}
.p-staffing-faq__icon::before {
  border-top: 2px solid #3669cf;
  width: 16px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 50%;
  translate: 50% 0;
}
.p-staffing-faq__icon::after {
  border-left: 2px solid #3669cf;
  width: 0;
  height: 16px;
  top: 0;
  bottom: 0;
  right: 50%;
  translate: 50% 0;
  -webkit-transition: height 0.25s, -webkit-transform 0.25s;
  transition: height 0.25s, -webkit-transform 0.25s;
  transition: transform 0.25s, height 0.25s;
  transition: transform 0.25s, height 0.25s, -webkit-transform 0.25s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.p-staffing-faq__body {
  max-height: 0;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: none;
  -webkit-transition: max-height 0.35s ease;
  transition: max-height 0.35s ease;
}
.p-staffing-faq__bodyinner {
  display: block;
  padding-top: 22px;
  position: relative;
  width: 100%;
  padding-right: 60px;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__bodyinner {
    max-width: 100%;
    padding-top: 10px;
  }
}
.p-staffing-faq__headinner {
  display: block;
  width: 100%;
  padding-right: 60px;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__headinner {
    max-width: 100%;
  }
}
.p-staffing-faq__q-txt {
  gap: 16px;
  line-height: 175%;
  font-weight: 500;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-staffing-faq__q-txt::before {
  content: "Q.";
  font-size: 28px;
  line-height: 48px;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  color: #be1134;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__q-txt::before {
    font-size: 20px;
    line-height: 38px;
  }
}
.p-staffing-faq__a-txt {
  gap: 16px;
  line-height: 175%;
  font-weight: 500;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-staffing-faq__a-txt::before {
  content: "A.";
  font-size: 28px;
  line-height: 48px;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  color: #be1134;
}
@media screen and (width <= 768px) {
  .p-staffing-faq__a-txt::before {
    font-size: 20px;
    line-height: 38px;
  }
}
.p-staffing-faq__more {
  margin: 46px auto 0;
  color: #3e7fe2;
  font-weight: 700;
  line-height: 100%;
  background: none;
  border: unset;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  gap: 14px;
}
.p-staffing-faq__more span {
  position: relative;
  background: #eff5fb;
  width: 52px;
  height: 34px;
  border-radius: 50%;
  display: block;
}
.p-staffing-faq__more span::before, .p-staffing-faq__more span::after {
  position: absolute;
  content: "";
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}
.p-staffing-faq__more span::before {
  border-top: 2px solid #3669cf;
  width: 16px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 50%;
  translate: 50% 0;
}
.p-staffing-faq__more span::after {
  border-left: 2px solid #3669cf;
  width: 0;
  height: 16px;
  top: 0;
  bottom: 0;
  right: 50%;
  translate: 50% 0;
  -webkit-transition: height 0.25s, -webkit-transform 0.25s;
  transition: height 0.25s, -webkit-transform 0.25s;
  transition: transform 0.25s, height 0.25s;
  transition: transform 0.25s, height 0.25s, -webkit-transform 0.25s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.p-staffing-faq .p-staffing-faq__item.secondary {
  background-color: #eff5fb;
}
.p-staffing-faq .p-staffing-faq__item.open .p-staffing-faq__icon::after {
  height: 0;
}
.p-staffing-faq .p-staffing-faq__more.is-open span::after {
  height: 0;
}

.p-property-top__wrap {
  background-color: #eff5fb;
  border-radius: 16px;
  padding: 60px 80px;
}
@media screen and (width <= 768px) {
  .p-property-top__wrap {
    padding: 20px 30px;
  }
}
.p-property-top__title {
  color: #be1134;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
  max-width: 667px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
}
.p-property-top__title span {
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-property-top__title {
    font-size: 26px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-property-top__detail {
  max-width: 960px;
  width: 100%;
  margin-inline: auto;
  font-size: 20px;
  line-height: 200%;
  font-weight: 500;
  margin-top: 34px;
}
@media screen and (width <= 768px) {
  .p-property-top__detail {
    font-size: 14px;
    margin-top: 20px;
  }
}
.p-property-main__contents {
  margin-top: 90px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3%;
}
@media screen and (width <= 768px) {
  .p-property-main__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
    margin-top: 45px;
  }
}
.p-property-main__left {
  width: 37%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  height: 100%;
}
@media screen and (width <= 768px) {
  .p-property-main__left {
    width: 100%;
  }
}
.p-property-main__left .swiper-pagination {
  bottom: -20px !important;
  text-align: right;
}
.p-property-main__left .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #FDE8EC;
  opacity: 1;
}
.p-property-main__left .swiper-pagination-bullet-active {
  background: #ba1932;
}
.p-property-main__left-title {
  display: none;
}
@media screen and (width <= 768px) {
  .p-property-main__left-title {
    display: block;
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.p-property-main__right-textarea {
  margin-top: 25px;
}
@media screen and (width <= 768px) {
  .p-property-main__right-textarea {
    margin-top: 10px;
  }
}
.p-property-main__right-title {
  font-size: 30px;
  margin-bottom: 20px;
}
@media screen and (width <= 768px) {
  .p-property-main__right-title {
    display: none;
  }
}
.p-property-main__right-text {
  font-weight: 500;
}
.p-property-main .swiper-button {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  bottom: 20px;
  z-index: 1;
  right: 20px;
}
@media screen and (width <= 963px) {
  .p-property-main .swiper-button .l-footer-contact-item__arrow {
    width: 50px;
    height: 35px;
  }
}

.swiper-button-prev2 .l-footer-contact-item__arrow::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.swiper-backface-hidden .swiper-slide {
  cursor: -webkit-grab;
  cursor: grab;
}

.swiper-button .l-footer-contact-item__arrow {
  cursor: pointer;
}

.p-privacy__inner {
  max-width: 960px;
  margin-inline: auto;
}
.p-privacy h2 {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 35px;
}
.p-privacy h3 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 20px;
}
.p-privacy__text {
  padding-bottom: 20px;
  border-bottom: 1px solid;
  margin-bottom: 40px;
}
.p-privacy-box {
  border-bottom: 1px solid;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.p-privacy-box__text {
  margin-bottom: 20px;
}
.p-privacy-box ul {
  margin-bottom: 30px;
}
.p-privacy-box dl {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-bottom: 10px;
}
.p-privacy-box dt {
  font-weight: 500;
}

.p-recruit-top {
  margin: 0;
  padding: 0 0 50px;
  position: relative;
  overflow: hidden;
  border-radius: 25px 25px 0 0;
  padding-top: 40px;
  margin-top: -40px;
  z-index: 1;
}
@media screen and (width > 768px) {
  .p-recruit-top {
    padding: 0 0 var(--footer-offset);
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    padding-bottom: 65px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 40px;
    margin-top: -40px;
    z-index: 1;
  }
}
.p-recruit-top::before, .p-recruit-top::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit-top::before {
  background-image: url("./../images/front/recruit-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -3;
}
.p-recruit-top::after {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #ffffff), to(rgba(255, 255, 255, 0.631372549)));
  background: -webkit-linear-gradient(top, #ffffff 20%, rgba(255, 255, 255, 0.631372549) 100%);
  background: linear-gradient(to bottom, #ffffff 20%, rgba(255, 255, 255, 0.631372549) 100%);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  z-index: -2;
  background: -webkit-radial-gradient(0% 6.1%, 206.17% 137.18%, rgba(238, 245, 255, 0.8) 0%, rgba(202, 222, 252, 0.8) 22.12%, rgba(191, 217, 255, 0.8) 48.56%, rgba(255, 255, 255, 0.8) 74.04%, rgba(166, 202, 255, 0.8) 100%);
  background: radial-gradient(206.17% 137.18% at 0% 6.1%, rgba(238, 245, 255, 0.8) 0%, rgba(202, 222, 252, 0.8) 22.12%, rgba(191, 217, 255, 0.8) 48.56%, rgba(255, 255, 255, 0.8) 74.04%, rgba(166, 202, 255, 0.8) 100%);
  -webkit-backdrop-filter: blur(3.4000000954px);
          backdrop-filter: blur(3.4000000954px);
}
.p-recruit-top__gallery {
  position: relative;
  height: 100%;
  z-index: -1;
  padding-top: 25px;
  aspect-ratio: 1/1;
  padding: 0;
}
@media screen and (width > 768px) {
  .p-recruit-top__gallery {
    aspect-ratio: unset;
    grid-column: 2/3;
    padding-top: 50px;
  }
}
.p-recruit-top-gallery__img {
  position: absolute;
  display: block;
  -webkit-filter: drop-shadow(0px 5px 23px rgba(0, 0, 0, 0.3019607843));
          filter: drop-shadow(0px 5px 23px rgba(0, 0, 0, 0.3019607843));
  -o-object-fit: contain;
     object-fit: contain;
  max-width: unset;
  aspect-ratio: 1/1;
}
.p-recruit-top-gallery__img-1 {
  width: 80%;
  bottom: 50px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -o-object-position: top center;
     object-position: top center;
}
@media screen and (width <= 1280px) {
  .p-recruit-top-gallery__img-1 {
    width: 90%;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-top-gallery__img-1 {
    bottom: unset;
    top: 15px;
    width: 80%;
    left: 40%;
  }
}
@media screen and (width > 2100px) {
  .p-recruit-top-gallery__img-1 {
    width: 60%;
    max-width: 580px;
  }
}
.p-recruit-top-gallery__img-2 {
  width: 80%;
  bottom: -95px;
  right: 0;
  -o-object-position: bottom center;
     object-position: bottom center;
}
@media screen and (width <= 1280px) {
  .p-recruit-top-gallery__img-2 {
    width: 90%;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-top-gallery__img-2 {
    top: unset;
    bottom: 0;
    width: 80%;
  }
}
@media screen and (width > 2100px) {
  .p-recruit-top-gallery__img-2 {
    width: 60%;
    max-width: 580px;
  }
}
.p-recruit-top__inner {
  margin: 0 var(--gutter);
  padding: 15px 30px 50px;
  background-color: #ffffff;
  border-radius: 10px;
}
@media screen and (width > 768px) {
  .p-recruit-top__inner {
    margin: 100px 0 30px var(--gutter);
    grid-column: 1/2;
    grid-row: 1/2;
    background: #fff;
    padding: 60px;
  }
}
.p-recruit-top__subtitle {
  margin: 20px 0 0;
  font-size: 20px;
  font-weight: 500;
}
@media screen and (width > 768px) {
  .p-recruit-top__subtitle {
    margin: 25px 0 0;
    font-size: 30px;
  }
}
.p-recruit-top__text {
  margin: 20px 0 0;
}
@media screen and (width > 768px) {
  .p-recruit-top__text {
    margin: 40px 0 0;
    font-size: 20px;
  }
}
.p-recruit-top__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 45px 0 0;
}
@media screen and (width > 768px) {
  .p-recruit-top__link {
    margin: 85px 0 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-recruit-company {
  border-radius: 16px;
  padding: 30px 0 40px;
  position: relative;
}
@media screen and (width > 768px) {
  .p-recruit-company {
    margin: 0px 0 0;
    padding: 100px 0 100px;
  }
}
.p-recruit-company__upper {
  display: grid;
  gap: 30px 110px;
  margin: 0;
}
@media screen and (width > 768px) {
  .p-recruit-company__upper {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}
.p-recruit-company__items {
  margin: 0;
  display: grid;
  gap: 30px;
}
@media screen and (width > 768px) {
  .p-recruit-company__items {
    gap: 20px;
    margin: 0;
  }
}
.p-recruit-company-item {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (width > 768px) {
  .p-recruit-company-item {
    width: calc(100% - var(--gutter));
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-recruit-company-item:nth-of-type(2n + 1) {
  margin: 0 auto 0 0;
}
@media screen and (width > 768px) {
  .p-recruit-company-item:nth-of-type(2n + 1) {
    margin: 0 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-recruit-company-item:nth-of-type(2n + 1) .p-recruit-company-item__img {
  margin: 0 auto;
}
@media screen and (width > 768px) {
  .p-recruit-company-item:nth-of-type(2n + 1) .p-recruit-company-item__img {
    margin: 0;
  }
}
.p-recruit-company-item:nth-of-type(2n + 1) .p-recruit-company-item__content::before {
  border-radius: 0 10px 10px 0;
}
@media screen and (width > 768px) {
  .p-recruit-company-item:nth-of-type(2n + 1) .p-recruit-company-item__content::before {
    border-radius: 10px 0 0 10px;
  }
}
.p-recruit-company-item:nth-of-type(2n) {
  margin: 0 0 0 auto;
}
@media screen and (width > 768px) {
  .p-recruit-company-item:nth-of-type(2n) {
    margin: 0 auto 0 0;
  }
}
.p-recruit-company-item:nth-of-type(2n) .p-recruit-company-item__content::before {
  border-radius: 10px 0 0 10px;
}
@media screen and (width > 768px) {
  .p-recruit-company-item:nth-of-type(2n) .p-recruit-company-item__content::before {
    border-radius: 0 10px 10px 0;
  }
}
.p-recruit-company-item__img {
  width: 90%;
  position: relative;
  z-index: 2;
  -webkit-box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
          box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
  display: none;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__img {
    width: 50%;
    display: block;
  }
}
.p-recruit-company-item__content {
  position: relative;
  z-index: 0;
  padding: 0 var(--gutter) 25px;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__content {
    width: 50%;
    padding: 0;
    padding-right: 50px;
  }
}
.p-recruit-company-item__content::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 25px);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
  z-index: -2;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__content::before {
    height: 100%;
  }
}
.p-recruit-company-item__content .p-recruit-company-item__img {
  display: block;
  margin-top: 25px !important;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__content .p-recruit-company-item__img {
    display: none;
  }
}
.p-recruit-company-item__icon {
  display: block;
  width: 120px;
  aspect-ratio: 1/1;
  position: absolute;
  background-color: #fde8ec;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top right;
          mask-position: top right;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: -1;
  top: 20px;
  right: var(--gutter);
  max-height: calc(100% - 40px);
}
@media screen and (width > 768px) {
  .p-recruit-company-item__icon {
    right: 30px;
    top: 24px;
    width: 250px;
    max-height: calc(100% - 48px);
  }
}
.p-recruit-company-item__sub {
  color: #ba1932;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
}
.p-recruit-company-item__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  line-height: 1.75;
  padding: 0;
  margin: 15px 0 10px;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__title {
    font-size: 30px;
    margin: 20px 0 30px;
  }
}
.p-recruit-company-item__text {
  margin: 0;
}
@media screen and (width > 768px) {
  .p-recruit-company-item__text {
    margin: 30px 0 0;
  }
}
.p-recruit-company-item-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3669cf;
  gap: 2em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  margin: 30px auto 0;
  font-weight: 700;
}
@media screen and (width > 768px) {
  .p-recruit-company-item-btn {
    margin: 40px 0 0;
  }
  .p-recruit-company-item-btn:hover {
    opacity: 0.5;
  }
}
.p-recruit-company-item-btn__arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 50%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ebf3ff;
  width: 40px;
  height: 30px;
}
@media screen and (width > 768px) {
  .p-recruit-company-item-btn__arrow {
    width: 55px;
    height: 35px;
  }
}
.p-recruit-company-item-btn__arrow::before {
  content: "";
  display: block;
  width: 33%;
  height: 33%;
  background-color: #3669cf;
  -webkit-mask-image: url("./../images/icon/icon-arrow.svg");
          mask-image: url("./../images/icon/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-recruit-company__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 60px 0 0;
}

.p-recruit-service {
  background-color: #ebf3ff;
  border-radius: 16px;
  padding: 30px 0 30px;
  position: relative;
}
@media screen and (width > 768px) {
  .p-recruit-service {
    margin: 0px 0 0;
    padding: 140px 0 90px;
  }
}
.p-recruit-service__upper {
  display: grid;
  gap: 30px 110px;
  margin: 0;
}
@media screen and (width > 768px) {
  .p-recruit-service__upper {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}
.p-recruit-service__items {
  margin: 45px 0 0;
  display: grid;
  gap: 30px;
}
@media screen and (width > 768px) {
  .p-recruit-service__items {
    gap: 40px;
  }
}
.p-recruit-service-item {
  width: 100%;
}
@media screen and (width > 768px) {
  .p-recruit-service-item {
    width: calc(100% - var(--gutter));
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-service-item__img {
    margin-inline: auto;
  }
}
.p-recruit-service-item:nth-child(even) .p-recruit-service-item__img {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-recruit-service-item:nth-of-type(2n + 1) {
  margin: 0 auto;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n + 1) {
    margin: 0 0 0 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-recruit-service-item:nth-of-type(2n + 1) .p-recruit-service-item__img {
  margin: 0 auto;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n + 1) .p-recruit-service-item__img {
    margin: 0;
  }
}
.p-recruit-service-item:nth-of-type(2n + 1) .p-recruit-service-item__content::before {
  border-radius: 0 10px 10px 0;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n + 1) .p-recruit-service-item__content::before {
    border-radius: 10px 0 0 10px;
  }
}
.p-recruit-service-item:nth-of-type(2n) {
  margin: 0 auto;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n) {
    margin: 0 auto 0 0;
  }
}
.p-recruit-service-item:nth-of-type(2n) .p-recruit-service-item__content {
  padding: 25px var(--gutter) 25px;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n) .p-recruit-service-item__content {
    padding-left: 35px;
    padding-right: 0;
  }
}
.p-recruit-service-item:nth-of-type(2n) .p-recruit-service-item__content::before {
  border-radius: 10px 0 0 10px;
}
@media screen and (width > 768px) {
  .p-recruit-service-item:nth-of-type(2n) .p-recruit-service-item__content::before {
    border-radius: 0 10px 10px 0;
  }
}
.p-recruit-service-item__img {
  width: 90%;
  position: relative;
  z-index: 2;
  -webkit-box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
          box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.3019607843);
}
@media screen and (width > 768px) {
  .p-recruit-service-item__img {
    width: 50%;
  }
}
.p-recruit-service-item__content {
  position: relative;
  z-index: 0;
  padding: 25px var(--gutter) 25px;
}
@media screen and (width > 768px) {
  .p-recruit-service-item__content {
    width: 50%;
    padding: 0;
    padding-right: 35px;
  }
}
.p-recruit-service-item__sub {
  color: #ba1932;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
}
.p-recruit-service-item__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #ffffff;
  background-color: #ba1932;
  padding: 0 8px;
  font-size: 18px;
  line-height: 1.75;
}
@media screen and (width > 768px) {
  .p-recruit-service-item__title {
    padding: 0 10px;
    font-size: 30px;
  }
}
.p-recruit-service-item__text {
  margin: 20px 0 0;
}
@media screen and (width > 768px) {
  .p-recruit-service-item__text {
    margin: 30px 0 0;
  }
}
.p-recruit-service-item__business {
  margin-top: 45px;
  background: #fff;
  padding: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
}
@media screen and (width <= 963px) {
  .p-recruit-service-item__business {
    margin-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
    gap: 15px;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-service-item__business {
    margin-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
    gap: 15px;
  }
}
.p-recruit-service-item__business-title {
  padding: 8px 25px;
  color: #3669cf;
  background: #ebf3ff;
  border-radius: 50%;
  font-weight: 500;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.p-recruit-service-item__business-text {
  font-weight: 500;
}
.p-recruit-service__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 60px 0 0;
}

.p-recruit-company-business {
  margin: 90px 0 0;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business {
    margin-top: 40px;
  }
}
.p-recruit-company-business__images {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 60px 38px;
  counter-reset: num;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__images {
    gap: 40px;
  }
}
.p-recruit-company-business__box {
  position: relative;
  counter-increment: num;
}
.p-recruit-company-business__box::before {
  content: counter(num, decimal-leading-zero);
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  font-size: 80px;
  line-height: 175%;
  position: absolute;
  right: 18px;
  top: -70px;
  color: #be1134;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__box::before {
    font-size: 50px;
    right: 12px;
    top: -40px;
  }
}
.p-recruit-company-business__box-image {
  -webkit-box-shadow: 0px 5px 23px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 5px 23px rgba(0, 0, 0, 0.3);
}
.p-recruit-company-business__box-title {
  font-size: 30px;
  font-weight: 700;
  line-height: 175%;
  margin-top: 37px;
  margin-bottom: 6px;
  text-align: center;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__box-title {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 4px;
  }
}
.p-recruit-company-business__box-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 175%;
}
.p-recruit-company-business__wrap {
  margin-top: 100px;
}
.p-recruit-company-business__wrap .c-title-set {
  margin-inline: auto;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__wrap {
    margin-top: 60px;
  }
}
.p-recruit-company-business__contents {
  margin-top: 70px;
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 637px));
  -webkit-column-gap: 85px;
     -moz-column-gap: 85px;
          column-gap: 85px;
  row-gap: 63px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-reset: num;
}
@media screen and (width <= 963px) {
  .p-recruit-company-business__contents {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__contents {
    margin-top: 40px;
    row-gap: 40px;
  }
}
.p-recruit-company-business__content {
  counter-increment: num;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 29px 35px 22px;
  position: relative;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__content {
    padding: 20px 25px 16px;
  }
}
.p-recruit-company-business__content::before {
  content: counter(num, decimal-leading-zero);
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  font-size: 80px;
  line-height: 175%;
  position: absolute;
  right: 18px;
  top: -70px;
  color: #be1134;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__content::before {
    font-size: 50px;
    right: 12px;
    top: -40px;
  }
}
.p-recruit-company-business__content-title {
  margin-bottom: 19px;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__content-title {
    margin-bottom: 12px;
  }
}
.p-recruit-company-business__content-title span {
  display: inline;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: 30px;
  font-weight: 700;
  line-height: 143%;
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business__content-title span {
    font-size: 24px;
    padding: 0 6px;
  }
}
.p-recruit-company-business__content-text {
  font-weight: 500;
  line-height: 175%;
  max-width: 448px;
}

.p-recruit-number .c-title-set {
  margin: 0 auto;
}
.p-recruit-number__upper {
  margin-bottom: 50px;
}
@media screen and (width <= 768px) {
  .p-recruit-number__upper {
    margin-bottom: 35px;
  }
}
.p-recruit-number__items {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
  gap: 30px 20px;
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (width < 1250px) {
  .p-recruit-number__items {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-number__items {
    grid-template-columns: 1fr;
  }
}
.p-recruit-number-item {
  border-radius: 16px;
  background: #eff5fb;
  -webkit-box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.2);
  padding: 15px 30px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
}
.p-recruit-number-item__head {
  font-size: 20px;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
@media screen and (width <= 963px) {
  .p-recruit-number-item__head {
    font-size: 18px;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-number-item__head {
    font-size: 16px;
  }
}
.p-recruit-number-item__content {
  font-size: 24px;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
@media screen and (width <= 963px) {
  .p-recruit-number-item__content {
    font-size: 21px;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-number-item__content {
    font-size: 16px;
  }
}
.p-recruit-number-item__content span {
  font-size: 80px;
  color: #ba1932;
  line-height: 1;
  font-weight: bold;
}
@media screen and (width <= 963px) {
  .p-recruit-number-item__content span {
    font-size: 60px;
  }
}
@media screen and (width <= 768px) {
  .p-recruit-number-item__content span {
    font-size: 50px;
  }
}
.p-recruit-number-item__img {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
  height: 55%;
}

.p-recruit-job__upper {
  margin-bottom: 50px;
}
.p-recruit-job .c-title-set {
  margin: 0 auto;
}
.p-recruit-job__tabs {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}
@media screen and (width <= 768px) {
  .p-recruit-job__tabs {
    grid-template: none;
    gap: 10px;
    margin: 0;
  }
}
.p-recruit-job-tab__btn {
  display: block;
  border: 1px solid #3669cf;
  background: #fff;
  color: #3669cf;
  text-align: center;
  padding: 15px;
  border-radius: 6px;
  font-size: 20px;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-recruit-job-tab__btn:hover {
  background: #ebf3ff;
}
.p-recruit-job-tab__btn.active {
  pointer-events: none;
  color: #fff;
  background: #3669cf;
}
.p-recruit-job__items {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  margin: 34px 0 0;
  border: 1px solid #cbe7ec;
  border-bottom: none;
}
@media screen and (width <= 768px) {
  .p-recruit-job__items {
    grid-template-columns: none;
  }
}
.p-recruit-job-item {
  display: contents;
}
.p-recruit-job-item__title {
  white-space: nowrap;
  padding: 45px;
  background: #ebf3ff;
  color: #3669cf;
  font-size: 18px;
  font-weight: 500;
  border-bottom: 1px solid #cbe7ec;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 768px) {
  .p-recruit-job-item__title {
    padding: 20px;
    border: none;
  }
}
.p-recruit-job-item__text {
  font-weight: 500;
  padding: 45px 5%;
  border-bottom: 1px solid #cbe7ec;
}
@media screen and (width <= 768px) {
  .p-recruit-job-item__text {
    padding: 20px;
  }
}

.p-recruit-job__items {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease; /* フェード時間 */
  position: absolute; /* アニメ中に高さが暴れないように */
  width: 100%;
  display: grid;
  left: 0;
}

.p-recruit-job__items.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: static; /* アクティブ時だけ普通の表示に戻す */
}

.p-recruit-company-business .p-recruit-flow .c-title-set {
  margin-inline: auto;
}
.p-recruit-company-business .p-recruit-flow__wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, auto));
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 21.3px;
  justify-items: center;
  margin-top: 45px;
  grid-auto-rows: 1fr;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business .p-recruit-flow__wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-recruit-company-business .p-recruit-flow__box {
  max-width: 446px;
  border-radius: 11px;
  border: 1px solid #3e7fe2;
  padding: 39px 50px 30px 20px;
  position: relative;
  display: grid;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business .p-recruit-flow__box {
    max-width: 500px;
    width: 100%;
    padding: 29px 20px;
  }
}
.p-recruit-company-business .p-recruit-flow__box::after {
  position: absolute;
  content: "";
  max-width: 128px;
  width: 100%;
  right: 5px;
  top: 10px;
  height: 110px;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-recruit-company-business .p-recruit-flow__box .mq {
  display: none;
}
@media screen and (width > 768px) {
  .p-recruit-company-business .p-recruit-flow__box .mq {
    display: block;
  }
}
.p-recruit-company-business .p-recruit-flow__box--first::after {
  background-image: url(../images/icon/icon-recruit-flow01.svg);
}
.p-recruit-company-business .p-recruit-flow__box--second::after {
  background-image: url(../images/icon/icon-recruit-flow02.svg);
}
.p-recruit-company-business .p-recruit-flow__box--third {
  padding: 10px 50px 16px 20px;
}
.p-recruit-company-business .p-recruit-flow__box--third::after {
  background-image: url(../images/icon/icon-flow03.svg);
}
.p-recruit-company-business .p-recruit-flow__box-title {
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 19px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 12px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 30px;
  line-height: 1.3;
}
.p-recruit-company-business .p-recruit-flow__box-title span {
  color: #be1134;
  font-family: "Aldrich", "Noto Sans JP", sans-serif;
  line-height: 100%;
  top: 3px;
  position: relative;
}
@media screen and (width <= 768px) {
  .p-recruit-company-business .p-recruit-flow__box-title {
    margin-bottom: 12px;
  }
}
.p-recruit-company-business .p-recruit-flow__box-text {
  font-weight: 500;
  line-height: 175%;
}

.p-specified__inner {
  max-width: 960px;
  margin-inline: auto;
}
.p-specified h2 {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 35px;
}
.p-specified h3 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 20px;
}
.p-specified__text {
  padding-bottom: 20px;
  border-bottom: 1px solid;
  margin-bottom: 40px;
}
.p-specified-box {
  border-bottom: 1px solid;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.p-specified-box__text {
  margin-bottom: 20px;
}
.p-specified-box ul {
  margin-bottom: 30px;
}
.p-specified-box dl {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-bottom: 10px;
}
.p-specified-box dt {
  font-weight: 500;
}

.p-interior-top__wrap {
  background-color: #eff5fb;
  border-radius: 16px;
  padding: 60px 80px;
}
@media screen and (width <= 768px) {
  .p-interior-top__wrap {
    padding: 20px 30px;
  }
}
.p-interior-top__title {
  color: #be1134;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
  max-width: 960px;
  width: 100%;
  margin-inline: auto;
}
.p-interior-top__title > span {
  color: #ffffff;
  background-color: #be1134;
  padding: 0 10px;
}
@media screen and (width <= 768px) {
  .p-interior-top__title {
    font-size: 26px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-interior-top__detail {
  max-width: 960px;
  width: 100%;
  margin-inline: auto;
  font-size: 20px;
  line-height: 200%;
  font-weight: 500;
  margin-top: 34px;
}
@media screen and (width <= 768px) {
  .p-interior-top__detail {
    font-size: 14px;
    margin-top: 20px;
  }
}
.p-interior-top__contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-auto-rows: 1fr;
  gap: 50px;
  justify-items: center;
  margin-top: 40px;
}
@media screen and (width <= 963px) {
  .p-interior-top__contents {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
@media screen and (width <= 768px) {
  .p-interior-top__contents {
    row-gap: 25px;
    margin-top: 30px;
  }
}

.p-interior-archive__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
@media screen and (width <= 963px) {
  .p-interior-archive__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (width <= 768px) {
  .p-interior-archive__list {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-interior-archive__list-empty {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  margin-inline: auto;
  grid-column: 1/-1;
}
.p-interior-archive__pagination {
  margin-top: 80px;
}
@media screen and (width <= 768px) {
  .p-interior-archive__pagination {
    margin-top: 40px;
  }
}

.p-card-interior__link {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr;
  gap: 15px;
  height: 100%;
  text-decoration: none;
}
.p-card-interior__thumbnail {
  position: relative;
  overflow: clip;
  width: 100%;
  aspect-ratio: 620/340;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 10px;
}
@media screen and (width > 768px) {
  .p-card-interior:hover .p-card-interior__thumbnail {
    opacity: 0.8;
  }
}
.p-card-interior__thumbnail > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-card-interior__content {
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 5px;
}
.p-card-interior__title {
  line-height: 1.5;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  color: #3f3f3f;
}
.p-card-interior__price {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  margin-top: 10px;
  color: #3f3f3f;
}
.p-card-interior__price > span {
  font-weight: 500;
  line-height: 1;
  padding: 3px 13px;
  color: #ffffff;
  border-radius: 50px;
  background: #3e7fe2;
}
.p-card-interior__more {
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: #3e7fe2;
}
.p-card-interior__more > .arrow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 35px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 50%;
  background-color: #ebf3ff;
}
@media screen and (width > 768px) {
  .p-card-interior__more > .arrow {
    width: 52px;
    height: 34px;
  }
  .p-card-interior:hover .p-card-interior__more > .arrow {
    background-color: #3669cf;
  }
}
.p-card-interior__more > .arrow::before {
  display: block;
  width: 33%;
  height: 33%;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: #3669cf;
  -webkit-mask: url("./../images/icon/icon-arrow.svg") center/contain no-repeat;
          mask: url("./../images/icon/icon-arrow.svg") center/contain no-repeat;
}
@media screen and (width > 768px) {
  .p-card-interior:hover .p-card-interior__more > .arrow::before {
    background-color: #ffffff;
  }
}

@media screen and (width > 768px) {
  .u-dn-md-min {
    display: none;
  }
}

@media screen and (width > 36rem) {
  .u-dn-rsm-min {
    display: none;
  }
}

@media screen and (width <= 768px) {
  .u-dn-md-max {
    display: none;
  }
}

.u-cf::after {
  display: block;
  clear: both;
  content: "";
}

.u-mt-0 {
  margin-top: 0;
}

.is-fade-in {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.is-fade-in.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}/*# sourceMappingURL=style.css.map */