@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;700&display=swap");
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit] {
  -webkit-appearance: none;
}

@media print {
  @page {
    size: A4;
  }
}
* {
  box-sizing: border-box;
  word-break: break-word;
}

@media print {
  html,
body {
    min-width: var(--bp--lg);
  }
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}
html.l-root--text-lg {
  font-size: 20px;
}
html.l-root--text-xl {
  font-size: 24px;
}
@media print, screen and (max-width: 767px) {
  html {
    font-size: 16px !important;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  background: white;
  overflow-x: hidden;
  font-size: var(--body--font-size--md);
}
body * {
  font-family: var(--font-family--default);
  color: var(--color--gray-2a);
  line-height: 1.6;
}
body br {
  line-height: 0;
}

a {
  text-decoration: none;
  font-size: inherit;
  word-break: break-word;
}
a:hover {
  text-decoration: underline;
}

button,
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

button::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

button::focus,
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

:root {
  --header--height: 92px;
  --bp--xs: 375px;
  --bp--sm: 568px;
  --bp--md: 768px;
  --bp--lg: 1024px;
  --bp--xl: 1280px;
  --bp--2xl: 1440px;
  --bp--3xl: 1536px;
  --font-family--hiragino: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3;
  --font-family--meiryo: Meiryo, メイリオ;
  --font-family--ei: "exabase-design-system-icons";
  --font-family--default: Zen Kaku Gothic New, sans-serif;
  --color--primary: #1A8353;
  --color--primary-light: #A9D8C2;
  --color--primary-light2: #E6F9F0;
  --color--gray-2a: #2A2A2A;
  --color--gray-66: #666666;
  --color--gray-b6: #B6B6B6;
  --color--gray-da: #DADADA;
  --color--gray-ee: #EEEEEE;
  --color--gray-f5: #F5F7F6;
  --page--padding-inline: 32px;
}
@media print, screen and (max-width: 767px) {
  :root {
    --header--height: 76px;
  }
}
@media print, screen and (max-width: 1023px) {
  :root {
    --page--padding-inline: 24px;
  }
}
@media print, screen and (max-width: 767px) {
  :root {
    --page--padding-inline: 16px;
  }
}

.c-accordion {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color--gray-b6);
}
.c-accordion__header {
  --chevron--rotate: 0deg;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-weight: bold;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: background-color ease 0.2s;
}
.c-accordion__header:not(.is-active) + .c-accordion__itemContent {
  display: none;
}
.c-accordion__header.is-active {
  --chevron--rotate: -180deg;
}
.c-accordion__header.is-active + .c-accordion__itemContent {
  display: block;
}
.c-accordion__header::after {
  display: inline-block;
  content: "";
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
  background-image: url("../images/icon/chevron-down_primary.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: rotate(var(--chevron--rotate));
  transform: rotate(var(--chevron--rotate));
  transition: -webkit-transform ease 0.2s;
  transition: transform ease 0.2s;
  transition: transform ease 0.2s, -webkit-transform ease 0.2s;
}
.c-accordion__content {
  padding-block: 1rem;
}

.c-actionButtons {
  display: grid;
  grid-template-areas: "blank content note";
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.5rem;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  padding: 1.5rem;
}
@media print, screen and (max-width: 1279px) {
  .c-actionButtons {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding-inline: 1rem;
  }
}
.c-actionButtons__content {
  grid-area: content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media print, screen and (max-width: 767px) {
  .c-actionButtons__content {
    gap: 0.5rem;
  }
}
.c-actionButtons__note {
  grid-area: note;
  font-size: 0.875rem;
  color: white;
  line-height: 1.4;
}
@media print, screen and (max-width: 1023px) {
  .c-actionButtons__note {
    font-size: 0.8125rem;
  }
}
.c-actionButtons .c-button {
  gap: 0.5rem;
}
.c-actionButtons .c-button:not(.c-button--stroke) {
  border-color: white;
}
.c-actionButtons .c-button .c-icon {
  width: 1.5rem;
}

.c-anchor {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--color--primary);
  font-weight: bold;
}
.c-anchor[target=_blank]::after {
  display: inline-block;
  content: "";
  width: 1.125rem;
  height: auto;
  aspect-ratio: 1;
  background-image: url("../images/icon/rectangle-arrow-up-right_primary.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color--primary);
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.75rem 1rem;
  cursor: pointer;
}
.c-button:disabled {
  cursor: default;
}
.c-button:hover {
  text-decoration: none;
}
@media print, screen and (max-width: 767px) {
  .c-button {
    padding: 0.625rem 1rem;
  }
}
.c-button span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.c-button--fill {
  background-color: var(--color--primary);
  color: white;
  transition: opacity ease 0.2s;
}
.c-button--fill:not(:disabled):hover {
  opacity: 0.75;
}
.c-button--fill:disabled {
  background-color: var(--color--gray-b6);
  border-color: var(--color--gray-b6);
}
.c-button--stroke {
  background-color: white;
  color: var(--color--primary);
  transition: background-color ease 0.2s;
}
.c-button--stroke:not(:disabled):hover {
  background-color: var(--color--primary-light2);
}
.c-button--stroke:disabled {
  border-color: var(--color--gray-b6);
  color: var(--color--gray-b6);
}
.c-button--stroke:disabled:hover {
  background-color: white;
}
.c-button--stroke-thick {
  border-width: 2px;
  padding-block: calc(0.75rem - 1px);
}
@media print, screen and (max-width: 767px) {
  .c-button--stroke-thick {
    padding-block: calc(0.625rem - 1px);
  }
}

.c-buttonOption {
  --grid--columns: 1;
  --item-icon--display--on-checked: inline-block;
  display: grid;
  grid-template-columns: repeat(var(--grid--columns), 1fr);
  gap: 1rem;
  list-style: none;
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption {
    gap: 0.5rem;
  }
}
.c-buttonOption--3cols {
  --grid--columns: 3;
}
@media print, screen and (max-width: 1023px) {
  .c-buttonOption--3cols {
    --grid--columns: 2;
  }
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption--3cols {
    --grid--columns: 1;
  }
}
.c-buttonOption--4cols {
  --grid--columns: 4;
}
@media print, screen and (max-width: 1023px) {
  .c-buttonOption--4cols {
    --grid--columns: 2;
  }
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption--4cols {
    --grid--columns: 1;
  }
}
.c-buttonOption--5cols {
  --grid--columns: 5;
}
@media print, screen and (max-width: 1279px) {
  .c-buttonOption--5cols {
    --grid--columns: 4;
  }
}
@media print, screen and (max-width: 1023px) {
  .c-buttonOption--5cols {
    --grid--columns: 3;
  }
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption--5cols {
    --grid--columns: 2;
  }
}
.c-buttonOption--7cols {
  --grid--columns: 7;
}
@media print, screen and (max-width: 1023px) {
  .c-buttonOption--7cols {
    --grid--columns: 5;
  }
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption--7cols {
    --grid--columns: 3;
  }
}
.c-buttonOption__item input[type=checkbox],
.c-buttonOption__item input[type=radio] {
  display: none;
}
.c-buttonOption__item input[type=checkbox] + label,
.c-buttonOption__item input[type=radio] + label {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color--primary);
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.75rem 1rem;
  cursor: pointer;
  gap: 0.25rem;
  height: 100%;
}
.c-buttonOption__item input[type=checkbox] + label:disabled,
.c-buttonOption__item input[type=radio] + label:disabled {
  cursor: default;
}
.c-buttonOption__item input[type=checkbox] + label:hover,
.c-buttonOption__item input[type=radio] + label:hover {
  text-decoration: none;
}
@media print, screen and (max-width: 767px) {
  .c-buttonOption__item input[type=checkbox] + label,
.c-buttonOption__item input[type=radio] + label {
    padding: 0.625rem 1rem;
  }
}
.c-buttonOption__item input[type=checkbox] + label span,
.c-buttonOption__item input[type=radio] + label span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.c-buttonOption__item input[type=checkbox] + label::before,
.c-buttonOption__item input[type=radio] + label::before {
  display: inline-block;
  content: "";
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1;
  background-image: url("../images/icon/checkmark_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: none;
}
.c-buttonOption__item input[type=checkbox]:disabled + label,
.c-buttonOption__item input[type=radio]:disabled + label {
  cursor: default;
}
.c-buttonOption__item input[type=checkbox]:not(:checked) + label,
.c-buttonOption__item input[type=radio]:not(:checked) + label {
  background-color: white;
  color: var(--color--primary);
  transition: background-color ease 0.2s;
  border-color: var(--color--primary);
}
.c-buttonOption__item input[type=checkbox]:not(:checked) + label:not(:disabled):hover,
.c-buttonOption__item input[type=radio]:not(:checked) + label:not(:disabled):hover {
  background-color: var(--color--primary-light2);
}
.c-buttonOption__item input[type=checkbox]:not(:checked):disabled + label,
.c-buttonOption__item input[type=radio]:not(:checked):disabled + label {
  border-color: var(--color--gray-b6);
  color: var(--color--gray-b6);
}
.c-buttonOption__item input[type=checkbox]:not(:checked):disabled + label:hover,
.c-buttonOption__item input[type=radio]:not(:checked):disabled + label:hover {
  background-color: white;
}
.c-buttonOption__item input[type=checkbox]:checked + label,
.c-buttonOption__item input[type=radio]:checked + label {
  background-color: var(--color--primary);
  color: white;
  transition: opacity ease 0.2s;
}
.c-buttonOption__item input[type=checkbox]:checked + label:not(:disabled):hover,
.c-buttonOption__item input[type=radio]:checked + label:not(:disabled):hover {
  opacity: 0.75;
}
.c-buttonOption__item input[type=checkbox]:checked + label::before,
.c-buttonOption__item input[type=radio]:checked + label::before {
  display: var(--item-icon--display--on-checked);
}
.c-buttonOption__item input[type=checkbox]:checked:disabled + label,
.c-buttonOption__item input[type=radio]:checked:disabled + label {
  background-color: var(--color--gray-b6);
  border-color: var(--color--gray-b6);
}
.c-buttonOption--noIcon {
  --item-icon--display--on-checked: none;
}

.c-checkOption {
  --grid--columns: 4;
  display: grid;
  grid-template-columns: repeat(var(--grid--columns), 1fr);
  list-style: none;
}
@media print, screen and (max-width: 1023px) {
  .c-checkOption {
    --grid--columns: 3;
  }
}
@media print, screen and (max-width: 767px) {
  .c-checkOption {
    --grid--columns: 1;
  }
}
.c-checkOption__item {
  --icon-image: url("../images/icon/checkmark-circle-fill_gray-ee.svg");
  --icon-opacity: 1;
  display: flex;
  border-bottom: 1px solid var(--color--gray-b6);
}
.c-checkOption__item input[type=checkbox] {
  display: none;
}
.c-checkOption__item input[type=checkbox] + label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  white-space: nowrap;
  cursor: pointer;
}
.c-checkOption__item input[type=checkbox] + label::before {
  display: inline-block;
  content: "";
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
  background-image: var(--icon-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: var(--icon-opacity);
}
.c-checkOption__item input[type=checkbox]:hover + label {
  --icon-image: url("../images/icon/checkmark-circle-fill_primary-light.svg") !important;
}
.c-checkOption__item input[type=checkbox]:checked + label {
  --icon-image: url("../images/icon/checkmark-circle-fill_primary.svg") !important;
}
.c-checkOption__item input[type=checkbox]:checked:hover + label {
  --icon-opacity: .75;
}
.c-checkOption__item input[type=checkbox]:disabled + label {
  color: var(--color--gray-b6);
  cursor: default;
}
.c-checkOption__item input[type=checkbox]:disabled + label::before {
  --icon-opacity: .15 !important;
}
.c-checkOption__item input[type=checkbox] + label {
  width: 100%;
  padding: 0.75rem 1rem;
}

.c-dialog {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--page--padding-inline);
  opacity: 0;
  pointer-events: none;
  transition: opacity ease 0.3s;
}
.c-dialog.is-active {
  opacity: 1;
  pointer-events: auto;
}
@media print, screen and (max-width: 767px) {
  .c-dialog {
    padding: 32px 0 0 0;
  }
}
.c-dialog__overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.c-dialog__container {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 50rem;
  max-width: 100%;
  max-height: 100%;
  border-radius: 1.5rem;
  overflow: hidden;
}
@media print, screen and (max-width: 767px) {
  .c-dialog__container {
    border-radius: 1.5rem 1.5rem 0 0;
  }
}
.c-dialog__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border-bottom: 1px solid var(--color--gray-b6);
  padding: 1rem;
}
@media print, screen and (max-width: 767px) {
  .c-dialog__header {
    padding: 0.875rem;
  }
}
.c-dialog__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
@media print, screen and (max-width: 767px) {
  .c-dialog__title {
    flex-direction: column;
    gap: 0;
    font-size: 1.125rem;
  }
}
.c-dialog__titleNote {
  font-size: 0.875rem;
  font-weight: normal;
}
.c-dialog__close {
  position: absolute;
  top: 50%;
  right: 1rem;
  display: flex;
  background-color: transparent;
  border-radius: 9999px;
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: background-color ease 0.2s;
}
.c-dialog__close:hover {
  background-color: var(--color--gray-ee);
}
.c-dialog__close .c-icon {
  width: 2rem;
}
.c-dialog__content {
  flex: 1;
  overflow-y: auto;
  background-color: white;
}
.c-fontOption {
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-fontOption__label {
  font-size: 16px;
  font-weight: bold;
}
.c-fontOption__items {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-radius: 9999px;
  border: 1px solid var(--color--primary);
  list-style: none;
}
.c-fontOption__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 32px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color ease 0.2s;
}
.c-fontOption__item:not(:last-child) {
  border-right: 1px solid var(--color--primary);
}
.c-fontOption__item:hover {
  background-color: var(--color--primary-light2);
}
.c-fontOption__item.is-active {
  background-color: var(--color--primary);
  color: white;
  cursor: default;
}

.c-footer {
  --font-size: 0.875rem;
  background-color: var(--color--gray-f5);
}
@media print, screen and (max-width: 767px) {
  .c-footer {
    --font-size: 0.8125rem;
  }
}
.c-footer__content {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__content {
    flex-direction: column;
  }
}
.c-footer__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}
.c-footer__nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__nav {
    gap: 0.5rem;
  }
}
.c-footer__links {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  list-style: none;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__links {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.c-footer__link {
  display: flex;
  align-items: flex-start;
  font-size: var(--font-size);
}
.c-footer__link::before {
  display: inline-block;
  content: "";
  width: var(--font-size);
  height: auto;
  aspect-ratio: 1;
  background-image: url("../images/icon/chevron-down_primary.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateY(0.3em) rotate(-90deg);
  transform: translateY(0.3em) rotate(-90deg);
}
.c-footer__link a {
  color: inherit;
}
.c-footer__contact {
  font-size: var(--font-size);
  color: var(--color--gray-66);
}
.c-footer__contact a {
  color: inherit;
}
.c-footer__org {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 0.5rem;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__org {
    align-items: flex-start;
  }
}
.c-footer__branding {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__branding {
    align-items: flex-start;
  }
}
.c-footer__logo {
  background-color: white;
  padding: 0.5rem 1rem;
  transition: opacity ease 0.2s;
}
.c-footer__logo:hover {
  opacity: 0.75;
}
.c-footer__logo img {
  display: block;
  width: 10.625rem;
  height: auto;
}
.c-footer__address {
  font-size: var(--font-size);
  text-align: right;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__address {
    text-align: left;
  }
}
.c-footer__copyright {
  font-size: var(--font-size);
  color: var(--color--gray-66);
  text-align: right;
}
@media print, screen and (max-width: 1023px) {
  .c-footer__copyright {
    text-align: left;
  }
}

.c-icon {
  --icon--image: "";
  position: relative;
  display: inline-block;
  width: 1rem;
  height: auto;
  aspect-ratio: 1;
  line-height: 1;
}
.c-icon::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background-image: var(--icon--image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.c-icon--pin_primary {
  --icon--image: url("../images/icon/pin-fill_primary.svg");
}
.c-icon--person_primary {
  --icon--image: url("../images/icon/person-fill_primary.svg");
}
.c-icon--bag_primary {
  --icon--image: url("../images/icon/businessbag-fill_primary.svg");
}
.c-icon--sparkles_primary {
  --icon--image: url("../images/icon/sparkles-fill_primary.svg");
}
.c-icon--chevron-down_primary {
  --icon--image: url("../images/icon/chevron-down_primary.svg");
}
.c-icon--loupe_white {
  --icon--image: url("../images/icon/magnifyingglass_white.svg");
}
.c-icon--xmark_gray-66 {
  --icon--image: url("../images/icon/xmark_gray-66.svg");
}
.c-icon--arrow-down_primary {
  --icon--image: url("../images/icon/arrow-down_primary.svg");
}
.c-icon--check-circle_primary {
  --icon--image: url("../images/icon/checkmark-circle-fill_primary.svg");
}
.c-icon--check-circle_gray-ee {
  --icon--image: url("../images/icon/checkmark-circle-fill_gray-ee.svg");
}
.c-icon--check_white {
  --icon--image: url("../images/icon/checkmark_white.svg");
}

.c-iconHeading {
  --icon--image: "";
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media print, screen and (max-width: 767px) {
  .c-iconHeading {
    gap: 0.25rem;
  }
}
.c-iconHeading--job {
  --icon--image: url("../images/icon/businessbag-fill_primary.svg");
}
.c-iconHeading--location {
  --icon--image: url("../images/icon/pin-fill_primary.svg");
}
.c-iconHeading--free {
  --icon--image: url("../images/icon/pencil-fill_primary.svg");
}
.c-iconHeading--special {
  --icon--image: url("../images/icon/sparkles-fill_primary.svg");
}
.c-iconHeading--status {
  --icon--image: url("../images/icon/person-fill_primary.svg");
}
.c-iconHeading__main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.375rem;
  font-weight: bold;
}
@media print, screen and (max-width: 767px) {
  .c-iconHeading__main {
    color: var(--color--primary);
    font-size: 1.125rem;
  }
}
.c-iconHeading__main:before {
  display: inline-block;
  content: "";
  width: 2rem;
  height: auto;
  aspect-ratio: 1;
  background-image: var(--icon--image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 767px) {
  .c-iconHeading__main:before {
    width: 1.5rem;
  }
}
.c-iconHeading__note {
  font-size: 0.875rem;
  font-weight: normal;
}
.c-iconHeading__anchors {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.c-heading {
  position: relative;
  font-size: 1.625rem;
  font-weight: 700;
  padding-bottom: 1.5rem;
}
@media print, screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.125rem;
    padding-bottom: 0.75rem;
  }
}
.c-heading:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 9.125rem;
  height: 0.5rem;
  background-color: var(--color--primary-light);
}
@media print, screen and (max-width: 767px) {
  .c-heading:after {
    height: 0.25rem;
  }
}

.c-header__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header--height);
  background-color: white;
}
.c-header__logo {
  display: block;
  width: 170px;
  transition: opacity ease 0.2s;
}
.c-header__logo:hover {
  opacity: 0.75;
}
@media print, screen and (max-width: 767px) {
  .c-header__logo {
    width: 150px;
  }
}
.c-header__logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 767px) {
  .c-header__fontOption {
    display: none;
  }
}

.c-radio {
  --icon-image: url("../images/icon/radio-unchecked.svg");
  --icon-opacity: 1;
  display: flex;
}
.c-radio input[type=radio] {
  display: none;
}
.c-radio input[type=radio] + label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  white-space: nowrap;
  cursor: pointer;
}
@media print, screen and (max-width: 767px) {
  .c-radio input[type=radio] + label {
    font-size: 0.875rem;
  }
}
.c-radio input[type=radio] + label::before {
  display: inline-block;
  content: "";
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1;
  background-image: var(--icon-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: var(--icon-opacity);
}
.c-radio input[type=radio]:checked + label {
  --icon-image: url("../images/icon/radio-checked.svg") !important;
}
.c-radio input[type=radio]:checked:hover + label {
  --icon-opacity: .75;
}
.c-radio input[type=radio]:disabled + label {
  color: var(--color--gray-b6);
  cursor: default;
}
.c-radio input[type=radio]:disabled + label::before {
  --icon-opacity: .15 !important;
}

.c-select {
  border: 1px solid var(--color--gray-da);
  border-radius: 0.5rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: white;
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-block: 0.75rem;
  padding-inline: 0.75rem 2.5rem;
  background-image: url("../images/icon/chevron-down_primary.svg");
  background-repeat: no-repeat;
  background-size: 1.5rem;
  background-position: right 0.5rem center;
}
@media print, screen and (max-width: 767px) {
  .c-select {
    padding-block: 0.625rem;
  }
}
.c-select::-webkit-input-placeholder {
  color: var(--color--gray-b6);
}
.c-select:-ms-input-placeholder {
  color: var(--color--gray-b6);
}
.c-select::-ms-input-placeholder {
  color: var(--color--gray-b6);
}
.c-select::placeholder {
  color: var(--color--gray-b6);
}
.c-select:hover, .c-select:focus {
  outline: 1px solid var(--color--primary);
}

.c-selectedItem {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  background-color: var(--color--primary-light2);
  border-radius: 0.5rem;
  padding: 0.875rem;
}
.c-selectedItem__heading {
  color: var(--color--primary);
  font-size: 0.875rem;
  font-weight: bold;
}
.c-selectedItem__items {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}
.c-selectedItem__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 0.875rem;
}
.c-selectedItem__itemTitle {
  font-weight: bold;
  white-space: nowrap;
}
.c-textField {
  border: 1px solid var(--color--gray-da);
  border-radius: 0.5rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: white;
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-block: 0.75rem;
  padding-inline: 0.75rem 2.5rem;
}
@media print, screen and (max-width: 767px) {
  .c-textField {
    padding-block: 0.625rem;
  }
}
.c-textField::-webkit-input-placeholder {
  color: var(--color--gray-b6);
}
.c-textField:-ms-input-placeholder {
  color: var(--color--gray-b6);
}
.c-textField::-ms-input-placeholder {
  color: var(--color--gray-b6);
}
.c-textField::placeholder {
  color: var(--color--gray-b6);
}
.c-textField:hover, .c-textField:focus {
  outline: 1px solid var(--color--primary);
}

.c-tab {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.c-tab__headers {
  display: flex;
  border-bottom: 1px solid var(--color--gray-b6);
  list-style: none;
}
.c-tab__header {
  position: relative;
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-weight: bold;
  padding: 0.75rem 0.125rem;
}
.c-tab__header::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--color--primary);
  opacity: 0;
  transition: opacity ease 0.2s;
}
.c-tab__header:hover::after {
  opacity: 1;
}
.c-tab__header:not(.is-active) {
  cursor: pointer;
}
.c-tab__header.is-active::after {
  height: 4px;
  opacity: 1;
}
.c-tab__contents {
  padding-inline: 2rem;
}
@media print, screen and (max-width: 1023px) {
  .c-tab__contents {
    padding-inline: 1rem;
  }
}
@media print, screen and (max-width: 767px) {
  .c-tab__contents {
    padding-inline: 0;
  }
}
:root {
  --section--padding-block--lg: 5rem;
  --section--padding-block--md: 4rem;
  --section--padding-block--sm: 2.5rem;
}
@media print, screen and (max-width: 767px) {
  :root {
    --section--padding-block--lg: 4rem;
    --section--padding-block--md: 2.5rem;
    --section--padding-block--sm: 1rem;
  }
}

.c-wrapper {
  --content-width: var(--bp--lg);
  padding-block: var(--section--padding-block--md);
}
.c-wrapper--py-lg {
  padding-block: var(--section--padding-block--lg);
}
.c-wrapper--py-sm {
  padding-block: var(--section--padding-block--sm);
}
.c-wrapper--py-none {
  padding-block: 0 !important;
}
.c-wrapper--py-no-top {
  padding-top: 0 !important;
}
.c-wrapper--py-no-bottom {
  padding-bottom: 0 !important;
}
.c-wrapper--w-3xl {
  --content-width: var(--bp--3xl);
}
.c-wrapper--w-2xl {
  --content-width: var(--bp--2xl);
}
.c-wrapper--w-xl {
  --content-width: var(--bp--xl);
}
.c-wrapper--w-md {
  --content-width: var(--bp--md);
}
.c-wrapper__inner {
  width: 100%;
  max-width: var(--content-width);
  padding-inline: var(--page--padding-inline);
  margin: 0 auto;
}
@media print, screen and (max-width: 3xlpx) {
  .c-wrapper__inner {
    max-width: var(--bp--2xl);
  }
}
@media print, screen and (max-width: 2xlpx) {
  .c-wrapper__inner {
    max-width: var(--bp--xl);
  }
}
@media print, screen and (max-width: 1279px) {
  .c-wrapper__inner {
    max-width: var(--bp--lg);
  }
}
@media print, screen and (max-width: 1023px) {
  .c-wrapper__inner {
    max-width: var(--bp--md);
  }
}
@media print, screen and (max-width: 767px) {
  .c-wrapper__inner {
    max-width: var(--bp--sm);
  }
}

.u-hide {
  display: none !important;
}
@media print, screen and (min-width: 1536px) {
  .u-hide--3xl {
    display: none !important;
  }
}
@media print, screen and (max-width: 1535px) {
  .u-hide--max-3xl {
    display: none !important;
  }
}
@media print, screen and (min-width: 1440px) {
  .u-hide--2xl {
    display: none !important;
  }
}
@media print, screen and (max-width: 1439px) {
  .u-hide--max-2xl {
    display: none !important;
  }
}
@media print, screen and (min-width: 1280px) {
  .u-hide--xl {
    display: none !important;
  }
}
@media print, screen and (max-width: 1279px) {
  .u-hide--max-xl {
    display: none !important;
  }
}
@media print, screen and (min-width: 1024px) {
  .u-hide--lg {
    display: none !important;
  }
}
@media print, screen and (max-width: 1023px) {
  .u-hide--max-lg {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .u-hide--md {
    display: none !important;
  }
}
@media print, screen and (max-width: 767px) {
  .u-hide--max-md {
    display: none !important;
  }
}
@media print, screen and (min-width: 568px) {
  .u-hide--sm {
    display: none !important;
  }
}
@media print, screen and (max-width: 567px) {
  .u-hide--max-sm {
    display: none !important;
  }
}

.u-text--left {
  text-align: left !important;
}
.u-text--center {
  text-align: center !important;
}
.u-text--right {
  text-align: right !important;
}

.u-font--bold {
  font-weight: bold;
}
.u-font--normal {
  font-weight: normal;
}

.u-whitespace--nowrap {
  white-space: nowrap !important;
}
.u-whitespace--normal {
  white-space: normal !important;
}

.p-advanced {
  background-color: var(--color--gray-f5);
}
.p-advanced__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media print, screen and (max-width: 767px) {
  .p-advanced__content {
    gap: 1rem;
  }
}
.p-advanced__contentAnchors {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}
.p-advanced__form {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media print, screen and (max-width: 1023px) {
  .p-advanced__form {
    gap: 2.5rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-advanced__form {
    gap: 1.5rem;
  }
}
.p-advanced__formItem {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  background-color: white;
  border-radius: 1.5rem;
  padding: 48px 40px;
}
@media print, screen and (max-width: 1023px) {
  .p-advanced__formItem {
    gap: 2rem;
    border-radius: 1rem;
    padding: 32px;
  }
}
@media print, screen and (max-width: 767px) {
  .p-advanced__formItem {
    gap: 1.5rem;
    border-radius: 0.5rem;
    padding: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-advanced__form .c-accordion {
    border: 0;
  }
  .p-advanced__form .c-accordion__header {
    display: none !important;
  }
  .p-advanced__form .c-accordion__content {
    display: block !important;
    padding-block: 0;
  }
}
@media print, screen and (max-width: 767px) {
  .p-advanced__form .c-tab__headers {
    display: none !important;
  }
  .p-advanced__form .c-tab__content {
    display: block !important;
  }
}
.p-advanced__tabContent {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media print, screen and (max-width: 767px) {
  .p-advanced__tabContent {
    gap: 1rem;
  }
  .p-advanced__tabContent .c-tab__content:last-child .c-accordion {
    border-bottom: 1px solid var(--color--gray-b6);
  }
}
.p-advanced__free {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media print, screen and (max-width: 1023px) {
  .p-advanced__free {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
}
.p-advanced__freeInput {
  flex: 1;
  display: flex;
}
.p-advanced__freeInput .c-textField {
  width: 100%;
}
.p-advanced__freeOption {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
}
.p-advanced__submit {
  position: sticky;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .p-advanced__submit #adv_reset {
    width: 15rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-advanced__submit #adv_submit {
    width: 17.5rem;
  }
}

.p-flow {
  --items--gap: 48px;
  --arrow--size: 48px;
  --text--font-size: 0.9375rem;
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .p-flow {
    --items--gap: 32px;
    --arrow--size: 32px;
    --text--font-size: 0.875rem;
  }
}
@media print, screen and (max-width: 567px) {
  .p-flow {
    --text--font-size: 0.875rem;
  }
}
.p-flow__content {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media print, screen and (max-width: 767px) {
  .p-flow__content {
    gap: 1rem;
  }
}
.p-flow__items {
  display: flex;
  align-items: flex-start;
  gap: var(--items--gap);
}
@media print, screen and (max-width: 767px) {
  .p-flow__items {
    flex-direction: column;
  }
}
.p-flow__item {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media print, screen and (max-width: 767px) {
  .p-flow__item {
    padding-top: 1.5rem;
  }
}
.p-flow__itemTitle {
  position: relative;
}
.p-flow__itemTitleNum {
  position: absolute;
  left: 0;
  bottom: -0.125em;
  font-size: 4rem;
  font-weight: bold;
  color: var(--color--primary-light);
  line-height: 1;
  letter-spacing: 0.03em;
  opacity: 0.4;
  z-index: -1;
}
.p-flow__itemTitleText {
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .p-flow__itemImage {
    position: relative;
  }
}
.p-flow__itemImage img {
  display: block;
  width: 100%;
  height: auto;
}
.p-flow__item:not(:last-child) .p-flow__itemImage::after {
  position: absolute;
  right: calc((var(--items--gap) + var(--arrow--size)) / -2);
  top: 50%;
  content: "";
  width: var(--arrow--size);
  aspect-ratio: 1;
  background-image: url("../images/icon/chevron-right_primary-light.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media print, screen and (max-width: 767px) {
  .p-flow__item:not(:last-child) .p-flow__itemImage::after {
    left: 50%;
    right: auto;
    top: auto;
    bottom: calc((var(--items--gap) + var(--arrow--size)) / -2);
    -webkit-transform: translateX(-50%) rotate(90deg);
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-flow__itemText {
  font-size: var(--text--font-size);
}

.p-hero {
  display: flex;
  flex-direction: column;
  height: 540px;
  background-image: url("../images/page/hero_bg_pc.png");
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
}
@media print, screen and (max-width: 767px) {
  .p-hero {
    height: 600px;
    background-image: url("../images/page/hero_bg_sp.png");
    background-size: cover;
  }
}
.p-hero .c-wrapper, .p-hero .c-wrapper__inner {
  height: 100%;
}
.p-hero__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  height: 100%;
}
@media print, screen and (max-width: 767px) {
  .p-hero__content {
    flex-direction: column;
  }
}
.p-hero__copy {
  flex: 1;
  display: flex;
}
@media print, screen and (max-width: 767px) {
  .p-hero__copy {
    flex: auto;
    align-items: center;
    justify-content: center;
  }
}
.p-hero__copy img {
  width: 100%;
  max-width: 432px;
  height: auto;
  -webkit-filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3));
}
@media print, screen and (max-width: 767px) {
  .p-hero__copy img {
    max-width: 218px;
    -webkit-filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.4));
    filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.4));
  }
}
.p-hero__search {
  flex: 1.2;
}
@media print, screen and (max-width: 767px) {
  .p-hero__search {
    flex: 1;
    max-width: var(--bp--xs);
  }
}
.p-hero__searchContent {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  background-color: white;
  border-radius: 2rem;
  padding: 40px 32px;
}
@media print, screen and (max-width: 1023px) {
  .p-hero__searchContent {
    gap: 1rem;
    border-radius: 1rem;
    padding: 32px 24px;
  }
}
@media print, screen and (max-width: 767px) {
  .p-hero__searchContent {
    border-radius: 0.5rem;
    padding: 24px 16px;
  }
}
.p-hero__current {
  display: flex;
  justify-content: center;
}
.p-hero__currentContent {
  border-bottom: 1px solid var(--color--primary);
  font-size: 0.875rem;
  text-align: center;
}
.p-hero__currentContent strong {
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--color--primary);
}
.p-hero__heading {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (max-width: 1279px) {
  .p-hero__heading {
    font-size: 24px;
  }
}
@media print, screen and (max-width: 1023px) {
  .p-hero__heading {
    font-size: 18px;
  }
}
.p-hero__form {
  display: flex;
  align-items: stretch;
  gap: 16px;
}
@media print, screen and (max-width: 1279px) {
  .p-hero__form {
    flex-direction: column;
  }
}
.p-hero__formSelects {
  flex: 2.5;
  display: flex;
  gap: 16px;
}
@media print, screen and (max-width: 1023px) {
  .p-hero__formSelects {
    flex-direction: column;
    gap: 8px;
  }
}
.p-hero__formSelect {
  --icon--image: "";
  flex: 1;
  position: relative;
}
.p-hero__formSelect:before {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  display: inline-block;
  content: "";
  width: 1.25rem;
  height: auto;
  aspect-ratio: 1;
  background-image: var(--icon--image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.p-hero__formSelect--location {
  --icon--image: url("../images/icon/pin-fill_primary.svg");
}
.p-hero__formSelect--job {
  --icon--image: url("../images/icon/person-fill_primary.svg");
}
.p-hero__formSelect .c-select {
  width: 100%;
  height: 100%;
  color: var(--color--primary);
  font-weight: bold;
  padding-left: 2.375rem;
}
.p-hero__formButtons {
  flex: 0.75;
  display: flex;
}
@media print, screen and (max-width: 1023px) {
  .p-hero__formButtons {
    flex-direction: column;
    gap: 8px;
  }
}
.p-hero__form button {
  flex: 1;
  display: flex;
}
.p-hero__advance {
  display: flex;
  justify-content: center;
}
.p-hero__advanceAnchor {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: var(--color--primary);
  font-weight: bold;
  border-bottom: 1px solid transparent;
}
.p-hero__advanceAnchor:hover {
  text-decoration: none;
  border-color: var(--color--primary);
}
.p-hero__advanceAnchor .c-icon {
  width: 1.5rem;
}
/*# sourceMappingURL=style.css.map */