@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Rubik&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap");
/* Variables */
:root {
  --main-white: #fff;
  --main-black: #2f2f2f;
  --main-grey: #c4c4c4;
  --primary-color: #0d396f;
  --secondary-color: #0d396f;
  --tertiary-color: #0d396f;
  --bg-color-main: #fff;
  --bg-color-alt: #f8f7f0;
  --text-black: #2f2f2f;
  --text-white: #fff;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
  --font-st: Zen Kaku Gothic Antique, Noto Sans JP, sans-serif;
  --font-rj: Rubik, Zen Kaku Gothic Antique, Noto Sans JP, sans-serif;
}

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

body,
html,
main,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  padding: 0;
  margin: 0;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic Antique", "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 180%;
}

address {
  font-style: normal;
}

section,
article {
  max-width: 100%;
}

a,
button,
.hover-opacity {
  opacity: 1;
  transition: opacity 0.15s ease;
}
a:hover,
button:hover,
.hover-opacity:hover {
  opacity: 0.9;
}

a {
  color: #2f2f2f;
  text-decoration: none;
}

button {
  appearance: none;
  background-color: unset;
  border: unset;
  cursor: pointer;
}

button:disabled {
  opacity: 0.8;
  filter: grayscale(100%);
}

input,
textarea {
  border: unset;
  appearance: none;
  border: 1px solid #2f2f2f;
}

select {
  background-color: #fff;
}

small {
  line-height: 160%;
}

/* Other */
.grecaptcha-badge {
  visibility: hidden;
}

.h1-like,
h1 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 140%;
}

.h2-like,
h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%;
}

.h3-like,
h3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 140%;
}

.h4-like,
h4 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 140%;
}

ul.disc-list {
  list-style-type: disc;
  padding-left: 1em;
}

@media screen and (min-width: 576px) {
  .h2-like,
  h2 {
    font-size: 2.4rem;
  }
  .h3-like,
  h3 {
    font-size: 2rem;
  }
  .h4-like,
  h4 {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  /* Setup */
  body {
    font-size: 1.6rem;
    line-height: 200%;
  }
  .h1-like,
  h1 {
    font-size: 3.5rem;
  }
  .h2-like,
  h2 {
    font-size: 3rem;
  }
  .h3-like,
  h3 {
    font-size: 2.4rem;
  }
  .h4-like,
  h4 {
    font-size: 2rem;
  }
}
/* Utility classes */
.hidden {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.top-0 {
  top: 0;
}

.bottom-0 {
  bottom: 0;
}

.right-0 {
  right: 0;
}

.left-0 {
  left: 0;
}

.gap-1 {
  gap: 1rem;
}

.gap-15 {
  gap: 1.5rem;
}

.gap-2 {
  gap: 2rem;
}

.gap-smooth-1-2 {
  gap: clamp(1rem, 2vw, 2rem);
}

.gap-3 {
  gap: 3rem;
}

.gap-4 {
  gap: 4rem;
}

.gap-5 {
  gap: 5rem;
}

.gap-6 {
  gap: 6rem;
}

.gap-st {
  gap: clamp(6rem, 8vw, 10rem);
}

.gap-half {
  gap: clamp(3rem, 4vw, 5rem);
}

.scroll-margin-top-st {
  scroll-margin-top: clamp(6rem, 14vw, 140rem);
}

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

.fx-row {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
}

.fx-row-center {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.fx-row-between {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: start;
}

.fx-row-center-between {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.fx-row-center-start {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
}

.fx-col {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
}

.fx-col-center {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
}

.fx-content-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.self-start {
  align-self: flex-start;
}

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

@media screen and (max-width: 576px) {
  .no-sp {
    display: none !important;
  }
}
@media screen and (min-width: 576px) {
  .sp-only {
    display: none !important;
  }
}
.f-st {
  font-family: "Zen Kaku Gothic Antique", "Noto Sans JP", sans-serif;
}

.f-rj {
  font-family: "Rubik", "Zen Kaku Gothic Antique", "Noto Sans JP", sans-serif;
}

.text-regular {
  font-weight: 400;
}

.text-medium {
  font-weight: 500;
}

.text-bold {
  font-weight: 700;
}

.font-1314 {
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
}

.font-1315 {
  font-size: clamp(1.3rem, 1.1vw, 1.5rem);
}

.font-1416 {
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}

.font-1420 {
  font-size: clamp(1.4rem, 1.33vw, 2rem);
}

.font-1618 {
  font-size: clamp(1.6rem, 1.33vw, 1.8rem);
}

.font-1620 {
  font-size: clamp(1.6rem, 1.33vw, 2rem);
}

.font-2025 {
  font-size: clamp(2rem, 2vw, 2.5rem);
}

.w-full {
  width: 100%;
}

.w-half {
  width: 50%;
}

.p-1 {
  padding: 1rem;
}

.p-st {
  padding: 10rem;
}

.p-half {
  padding: 5rem;
}

.py-st {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.px-st {
  padding-left: 10rem;
  padding-right: 10rem;
}

.pt-st {
  padding-top: 10rem;
}

.pb-st {
  padding-bottom: 10rem;
}

.pl-st {
  padding-left: 10rem;
}

.pr-st {
  padding-right: 10rem;
}

.py-half {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.px-half {
  padding-right: 5rem;
  padding-left: 5rem;
}

.pt-half {
  padding-top: 5rem;
}

.pb-half {
  padding-bottom: 5rem;
}

.pl-half {
  padding-left: 5rem;
}

.pr-half {
  padding-right: 5rem;
}

.py-1 {
  padding: 1rem 0;
}

.px-1 {
  padding: 0 1rem;
}

.pt-1 {
  padding-top: 1rem;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pl-1 {
  padding-left: 1rem;
}

.pr-1 {
  padding-right: 1rem;
}

.py-2 {
  padding: 2rem 0;
}

.px-2 {
  padding: 0 2rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pl-2 {
  padding-left: 2rem;
}

.pr-2 {
  padding-right: 2rem;
}

.my-auto {
  margin: auto 0;
}

.mx-auto {
  margin: 0 auto;
}

.my-st {
  margin: 10rem 0;
}

.mx-st {
  margin: 0 10rem;
}

.mt-st {
  margin-top: 10rem;
}

.mb-st {
  margin-bottom: 10rem;
}

.ml-st {
  margin-left: 10rem;
}

.mr-st {
  margin-right: 10rem;
}

.my-half {
  margin: 5rem 0;
}

.mx-half {
  margin: 0 5rem;
}

.mt-half {
  margin-top: 5rem;
}

.mb-half {
  margin-bottom: 5rem;
}

.ml-half {
  margin-left: 5rem;
}

.mr-half {
  margin-right: 5rem;
}

.my-1 {
  margin: 1rem 0;
}

.mx-1 {
  margin: 0 1rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mb-1 {
  margin-bottom: 1rem;
}

.ml-1 {
  margin-left: 1rem;
}

.mr-1 {
  margin-right: 1rem;
}

.my-2 {
  margin: 2rem 0;
}

.mx-2 {
  margin: 0 2rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.ml-2 {
  margin-left: 2rem;
}

.mr-2 {
  margin-right: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mt-4 {
  margin-top: 4rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.p-lg {
  padding: clamp(6rem, 8vw, 10rem) 2rem;
}

.p-6-smooth {
  padding: clamp(4rem, 5vw, 6rem);
}

.px-6-smooth {
  padding-left: clamp(2.4rem, 5vw, 6rem);
  padding-right: clamp(2.4rem, 5vw, 6rem);
}

.px-lg-smooth {
  padding-left: clamp(1.6rem, 5vw, 10rem);
  padding-right: clamp(1.6rem, 5vw, 10rem);
}

.py-6-smooth {
  padding-top: clamp(4rem, 5vw, 6rem);
  padding-bottom: clamp(4rem, 5vw, 6rem);
}

.pt-7 {
  padding-top: 7rem;
}

.pb-7 {
  padding-bottom: 7rem;
}

.pt-8 {
  padding-top: 8rem;
}

.pb-8 {
  padding-bottom: 8rem;
}

.px-3 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.pt-xl {
  padding-top: clamp(10rem, 12.5vw, 15rem);
}

.pb-xl {
  padding-bottom: clamp(10rem, 12.5vw, 15rem);
}

@media screen and (min-width: 576px) {
  .p-lg {
    padding: clamp(6rem, 8vw, 10rem) clamp(1.6rem, 8vw, 10rem);
  }
  .px-lg-smooth {
    padding-left: clamp(1.6rem, 7vw, 10rem);
    padding-right: clamp(1.6rem, 7vw, 10rem);
  }
}
.bg-accent {
  background-color: #f8f7f0;
}

.bg-accent-blue {
  background-color: #dae8f8;
}

.bg-accent-blue-2 {
  background-color: #f0f6f8;
}

.bg-blue {
  background-color: #0d396f;
}

.bg-yellow {
  background-color: #fabe00;
}

.bg-white {
  background-color: #fff;
}

.text-white {
  color: #fff;
}

.rounded-st {
  border-radius: 2.5rem;
}

.rounded-2,
.rounded-lg {
  border-radius: 2rem;
}

.border-b-st {
  border-bottom: 1px solid #0d396f;
}

.cursor-pointer {
  cursor: pointer;
}

.block-inline {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .rounde-lg {
    border-radius: 5rem;
  }
}
/* Buttons */
.btn__icon {
  vertical-align: middle;
}
.btn__icon svg {
  width: 1em;
  height: 1em;
}

.btn__rm::before {
  content: "▶︎";
  position: relative;
  z-index: 10;
  margin-right: 0.2em;
}

.btn__anim-opac {
  opacity: 1;
}
.btn__anim-opac:hover {
  opacity: 0.6;
}

.btn__anim-bar {
  position: relative;
  width: fit-content;
  padding: 0 0.6em;
}
.btn__anim-bar .anim-inner {
  position: relative;
  z-index: 10;
}
.btn__anim-bar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: var(--primary-color);
  transition: width 0.15s ease-in-out;
}
.btn__anim-bar:hover::after {
  width: 100%;
}

.btn__a-link, .btn__a-label, .btn__a-link:after {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #000;
}
.btn__a-label, .btn__a-link {
  position: relative;
  width: 15.6em;
  height: 2.5em;
  border-radius: 1.5em;
  color: #2f2f2f;
  font-weight: 700;
  text-align: center;
}
.btn__a-link:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 3.75em;
  transform: translate(50%, -50%);
  z-index: 10;
  aspect-ratio: 1/1;
  background-image: url(../../assets/icons/arrow-right-noborder.svg);
  background-size: 1.56em;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  font-size: 1.6rem;
}
.btn__a-label {
  background-image: url(../../assets/icons/arrow-right-noborder.svg);
  background-size: 1.2em;
  background-position: right 1rem center;
  background-repeat: no-repeat;
  font-size: 1.4rem;
}
.btn__no-arrow {
  background-image: unset;
}
.btn__like {
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  font-weight: 700;
}
.btn__like .user-like {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  height: 2.2em;
  width: fit-content;
  padding: 0.1em 0.4em;
  background-color: #fb681a;
  border: 1px solid #fb681a;
  border-radius: 2rem;
  color: #fff;
  transition: 0.1s background-color linear, 0.1s border-color linear, 0.1s color linear;
}
.btn__like[data-status=active] .user-like {
  border: 1px solid currentColor;
  background-color: #fff;
  color: #fb681a;
}

.sublink {
  width: fit-content;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  font-weight: bold;
  text-decoration: underline;
}
.sublink__white {
  color: #fff;
}

/* Layout */
.grid-container {
  width: 100%;
  display: grid;
}

.grid__13,
.grid__14,
.grid__15 {
  grid-template-columns: repeat(1, 1fr);
}

.grid__23,
.grid__24 {
  grid-template-columns: repeat(2, 1fr);
}

#layout-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: clamp(4rem, 5vw, 6rem);
  width: 100%;
  max-width: 100%;
  margin: auto;
  min-height: var(--mheight-layout);
}

/* Sections */
/* Wordpress */
nav li.current_page_item a {
  pointer-events: none;
  opacity: 0.7;
}

/* mypage */
#user-contents .mypage-section {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 4rem;
  width: 100%;
}
#user-contents .border-container {
  padding: 1em;
}
#user-contents .border-container__has-label {
  position: relative;
  margin-top: 2rem;
}
#user-contents .border-container__title {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 4rem;
  position: absolute;
  width: fit-content;
  top: 0;
  left: 1.2em;
  padding: 0.5em 1.5em;
  background-color: #fff;
  border: 2px solid #0c396f;
  border-radius: 2em;
  color: #0c396f;
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 100%;
  transform: translateY(-50%);
}
#user-contents .mypage-tr th,
#user-contents .mypage-tr td {
  padding: 2rem;
  min-width: 12rem;
  border: 1px solid #e0ebed;
}
#user-contents .mypage-tr th {
  white-space: nowrap;
  font-weight: 500;
  font-size: 1.25em;
}
#user-contents .mypage-tr__title {
  background-color: #f6f3f4;
}
#user-contents a.button-add-new, #user-contents a.button-toggle,
#user-contents button.button-add-new,
#user-contents button.button-toggle {
  font-size: clamp(1.6rem, 2vw, 2rem);
  width: fit-content;
  white-space: nowrap;
  padding: 0.2em 1em;
  margin-left: auto;
}
#user-contents a.button-toggle,
#user-contents button.button-toggle {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  border: 1px solid #000;
}
#user-contents a.button-toggle svg,
#user-contents button.button-toggle svg {
  width: 2rem;
  height: 2rem;
}
#user-contents a.button-add-new,
#user-contents button.button-add-new {
  background: #0d396f;
  color: #fff;
}
#user-contents a.button-post,
#user-contents button.button-post {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2em;
  font-size: 2rem;
  text-align: center;
}
#user-contents a.button-delete,
#user-contents button.button-delete {
  background-color: #dc2626;
  color: #fff;
}
#user-contents a.button-danger,
#user-contents button.button-danger {
  white-space: nowrap;
  background-color: #fcd0d0;
  border: 1px solid #dc2626;
  color: #dc2626;
  font-size: 2rem;
  padding: 0 2rem;
}
#user-contents a.button-edit,
#user-contents button.button-edit {
  background-color: #cecece;
  color: #4b4f55;
}
#user-contents a.label-right,
#user-contents button.label-right {
  position: relative;
  padding-right: 2em;
  padding-left: 0.5em;
}
#user-contents a.label-right:after,
#user-contents button.label-right:after {
  position: absolute;
  color: currentColor;
  content: "▶︎";
  font-size: 1em;
  right: 0.5em;
}
#user-contents .label-inactive {
  white-space: nowrap;
  background-color: #e0ebed;
  color: #64738a;
  font-size: 1.4rem;
  padding: 0 2rem;
  height: fit-content;
}
#user-contents .status-label {
  white-space: nowrap;
  padding: 0 2rem;
  border: 1px solid #0303d4;
  font-size: 1.4rem;
  background-color: rgb(233, 233, 244);
  color: #0303d4;
  height: fit-content;
}
#user-contents .label-green {
  background-color: #e8fde2;
  color: #249601;
  border-color: #249601;
}
#user-contents .label-yellow {
  background-color: #faf7d1;
  color: #8e8201;
  border-color: #8e8201;
}
#user-contents .label-gray {
  background-color: #f8f8f8;
  color: #6a6a6a;
  border-color: #6a6a6a;
}
#user-contents section select {
  font-size: 2rem;
}
#user-contents .is-overdue {
  background-color: rgb(244, 224, 224);
}
#user-contents .is-overdue .update-col:after {
  content: "(進捗のご報告お願いします)";
  color: #dc2626;
  font-size: 0.8em;
  font-weight: 600;
  margin-left: 1em;
}
#user-contents .job-card-wrapper,
#user-contents .company-card-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  border: 1px solid grey;
  overflow: hidden;
  height: fit-content;
}
#user-contents .rejection-contents p {
  padding: 0.4rem;
  color: #fb2c36;
}
#user-contents .rejected-label {
  background-color: #f7e0e0;
  color: #dc2626;
  font-size: 2rem;
  text-align: center;
}

/* Small */
@media screen and (min-width: 576px) {
  .grid__13,
  .grid__14,
  .grid__15 {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Medium */
@media screen and (max-width: 768px) {
  #layout-wrapper.inverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 768px) {
  .grid__13,
  .grid__14 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid__23 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid__24 {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* Large */
@media screen and (min-width: 992px) {
  .grid__14 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid__15 {
    grid-template-columns: repeat(5, 1fr);
  }
}
/* XL */
/* XXL */
.splide {
  width: 100%;
}

.deco {
  display: none;
  pointer-events: none;
  position: absolute;
  z-index: 100;
}

.spacer {
  display: block;
  height: 1px;
  background-color: #2f2f2f;
}
.spacer__long {
  width: 2.5rem;
}

.title-offset {
  position: relative;
}
.title-offset .h2-group {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.maintenance-notice {
  padding: 1.2rem 2rem;
  background-color: #fff5c9;
  border: 2px solid #fabe00;
  border-radius: 1rem;
  font-size: clamp(1.4rem, 1.2vw, 1.6rem);
  font-weight: 600;
  color: #2f2f2f;
}
.maintenance-notice p {
  margin: 0;
}

.mypage-controls {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  min-width: clamp(18rem, 25vw, 25rem);
  min-height: clamp(4rem, 5vw, 5rem);
  padding: 0.5rem 1rem;
  appearance: none;
  border: unset;
  border-radius: 1rem;
  background: unset;
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 100%;
}
.mypage-controls__primary {
  color: #fff;
  background-color: #0c396f;
}
.mypage-controls__secondary {
  color: #fff;
  background-color: #fb681a;
}
.mypage-controls__tertiary {
  background-color: #fff;
  border: 2px solid #0c396f;
  color: #0c396f;
}

a.btn__toggle,
button.btn__toggle {
  padding: 0.5rem 1em;
  color: #2f2f2f;
  background-color: #fff;
  border-radius: 1em;
  font-size: clamp(1.6rem, 1.33vw, 2rem);
  font-weight: 700;
  line-height: 100%;
  text-align: center;
}
a.btn__toggle__small,
button.btn__toggle__small {
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  padding: 0.75em 2em;
  border-radius: 2rem;
}
a.btn__toggle-submit,
button.btn__toggle-submit {
  background-color: #fb681a;
  color: #fff;
}
a.btn__toggle.is-active,
button.btn__toggle.is-active {
  background-color: #0d396f;
  color: #fff;
  pointer-events: none;
}

.card {
  position: relative;
}
.card .img-container,
.card .img-container img {
  width: 100%;
}
.card .new-flag {
  position: absolute;
  z-index: 10;
  width: clamp(5rem, 5vw, 8rem);
}
.card .new-flag svg {
  width: 100%;
  aspect-ratio: 1/1;
}
.card__large {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 3rem;
  width: 100%;
  padding: 3rem clamp(2rem, 3vw, 3rem);
  background-color: #fff;
  border-radius: 2rem;
  font-weight: 700;
}
.card__large .img-container img {
  aspect-ratio: 3/2;
  border-radius: 2rem;
  object-fit: cover;
}
.card__large .text-container {
  width: 100%;
}
.card__large .text-container .btn {
  margin: auto auto 0;
}
.card__large .meta-info span {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 1rem;
  flex: 1;
}
.card__large .meta-info span dt {
  min-width: 5em;
}
.card__pickup {
  padding: 3rem 1.5rem 0;
}
.card__pickup img {
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 2rem;
}
.card__pickup .new-flag {
  top: 0;
  right: 0;
}
.card-img {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 2rem;
  padding-bottom: 2rem;
  align-self: stretch;
  background-color: #fff;
  color: #2f2f2f;
}
.card-img .annotation {
  color: #0d396f;
  font-size: clamp(1.4rem, 2vw, 1.5rem);
  font-weight: 500;
}
.card-img .img-container img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
.card-img .new-flag {
  top: 0;
  right: 0;
  transform: translate(12.5%, -25%);
}
.card-img .text,
.card-img .meta-info,
.card-img .features {
  padding: 0 1rem;
  width: 100%;
}
.card-img .meta-info,
.card-img .meta-info .table-row,
.card-img .features {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 0.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
}
.card-img .meta-info .table-row {
  width: 100%;
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
  font-weight: 400;
  align-items: center;
}
.card-img .meta-info dt {
  font-weight: 700;
}
.card-img .meta-info dd {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 1rem 0.5rem;
  flex-wrap: wrap;
}
.card-img .meta-info dd span {
  line-height: 100%;
}
.card-img .text {
  font-weight: 700;
}
.card__post {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 2rem;
  width: 100%;
  align-self: stretch;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}
.card__post .img-container,
.card__post .img-container img,
.card__post .meta-row,
.card__post .text-container {
  width: 100%;
}
.card__post .img-container img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.card__post .text-container {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 1rem;
}
.card__post .meta-row {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 2em;
  flex-wrap: wrap;
}

.meta-table {
  padding: 0 1rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
}
.meta-table span {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 1rem;
  flex: 1;
}
.meta-table span dt {
  min-width: 5em;
}
.meta-table .table-row {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 0.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
  font-weight: 400;
  align-items: center;
}
.meta-table dt {
  font-weight: 700;
}
.meta-table dd {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 1rem 0.5rem;
  flex-wrap: wrap;
}

.container__st {
  width: 89.7%;
  max-width: 100rem;
}
.container__xs {
  width: 89.7%;
  max-width: 64rem;
}
.container__sm {
  width: 89.7%;
  max-width: 80rem;
}
.container__lg {
  width: 89.7%;
  max-width: 120rem;
}
.container__lg2 {
  width: 89.7%;
  max-width: 124rem;
}
.container__xl {
  width: 89.7%;
  max-width: 140rem;
}
.container__full {
  width: 100%;
  max-width: 100%;
}
.container__full-st {
  width: 100%;
  max-width: 100rem;
}
.container__center {
  align-self: center;
}
.container__left {
  align-self: flex-start;
}
.container__right {
  align-self: flex-end;
}

.border-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 1em 2em;
  background-color: #fff;
  border: 2px solid #0d396f;
  border-radius: 2.5rem;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}
.border-container__speech::before, .border-container__speech::after {
  content: "";
  position: absolute;
  display: block;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  bottom: 0;
  width: 3rem;
  height: 2.6rem;
}
.border-container__speech:before {
  z-index: 1;
  background-color: #0d396f;
  transform: translateY(100%);
}
.border-container__speech:after {
  transform: translateY(calc(100% - 3px));
  z-index: 10;
  background-color: #fff;
}

.dropdown {
  position: relative;
}
.dropdown__title {
  width: 100%;
  padding-bottom: 0.1em;
  border-bottom: 1px solid currentColor;
  opacity: 0.6;
  text-align: center;
}
.dropdown__title h4 {
  font-size: 0.8em;
}
.dropdown__toggle {
  height: fit-content;
}
.dropdown__content {
  position: absolute;
  bottom: -5px;
  right: 0;
  transform: translateY(100%);
  padding: 1rem 2rem;
  background: #fff;
  border: 1px solid #000;
  min-width: 12em;
}
.dropdown__content ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 1.5rem;
}
.dropdown__content li {
  opacity: 1;
  transition: opacity 0.15s ease;
}
.dropdown__content li:hover {
  opacity: 0.9;
}
.dropdown__content li a {
  color: #2f2f2f;
  font-weight: 700;
  white-space: nowrap;
}

.h1-group,
.h2-group__white {
  color: #2f2f2f;
  background-color: #fff;
  border: 2px solid #0d396f;
}
.h1-group span.subtitle,
.h2-group__white span.subtitle {
  color: #0d396f;
}

.h1-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  height: fit-content;
  min-height: 8rem;
  border-left: unset;
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}
.h1-group p.subtitle {
  color: #0d396f;
  font-weight: 500;
}
.h1-group svg {
  width: 8.5em;
  margin-bottom: 0.5rem;
}
.h1-group h1 {
  line-height: 110%;
}

.h2-group svg {
  width: 8.5em;
}
.h2-group__blue {
  color: #fff;
  background-color: #0d396f;
}
.h2-group__label, .h2-group__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 2rem;
  min-height: 10rem;
}
.h2-group__wrapper {
  padding: 1rem 2rem;
  gap: 2rem 3rem;
}
.h2-group__wrapper p.side-text {
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  line-height: 200%;
}
.h2-group__label {
  min-width: clamp(23rem, 50vw, 46rem);
  padding: 0 1em;
}
.h2-group__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.h2-group__inner span,
.h2-group__inner h2 {
  line-height: 110%;
}
.h2-group__inner span.subtitle {
  font-size: 1.6rem;
}
.h2-group__inner h2 {
  white-space: nowrap;
}
.h2-group__simple {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: clamp(2rem, 2vw, 2.5rem);
}
.h2-group__simple h2 {
  color: #0d396f;
  font-size: 1em;
  line-height: 140%;
}
.h2-group__simple .wave-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 100%;
}
.h2-group__simple svg {
  width: 100%;
}

.label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 2em;
  width: fit-content;
  min-width: 27rem;
  padding: 0 1em;
  border-radius: 2rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 100%;
}
.label__small {
  min-width: 7.5em;
  height: 1.875em;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}
.label__primary {
  color: #fff;
  background-color: #0d396f;
}
.label__black {
  color: #fff;
  background-color: #2f2f2f;
}

.link-label {
  display: inline-block;
  padding: 0.2rem 0.4rem;
  width: fit-content;
  border: 1px solid #000;
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
  font-weight: 400;
  line-height: 100%;
  text-align: center;
}
.link-label__blue {
  border-color: #0d396f;
  background-color: #fff;
  font-weight: 700;
  padding: 0.3em 1em;
}

.toggle-btns {
  padding-left: clamp(1.6rem, 3.6vw, 4rem);
  z-index: 10;
}
.toggle-btns .btn-toggle {
  width: 9rem;
  height: 2.5rem;
  background-color: #fff;
  border: 1px solid #0d396f;
  border-radius: 2px;
  color: #0d396f;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  text-align: center;
}
.toggle-btns .btn-toggle.is-active {
  background-color: #0d396f;
  color: #fff;
  pointer-events: none;
}
.toggle-btns .btn-toggle.btn-toggle__large {
  width: 10em;
  height: 2em;
  font-size: clamp(1.6rem, 1.33vw, 1.8rem);
  font-weight: 700;
}
.toggle-btns.no-transform {
  transform: unset;
}

.quick-search {
  width: 100%;
  overflow: hidden;
}
.quick-search .toggle-btns {
  transform: translateY(50%);
}
.quick-search .toggle-btns,
.quick-search form {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  position: relative;
}
.quick-search form {
  height: fit-content;
  z-index: 1;
  padding: 2rem clamp(2rem, 4vw, 5.4rem);
  background-color: #fb681a;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}
.quick-search h3,
.quick-search select,
.quick-search button[type=submit] {
  line-height: 100%;
}
.quick-search h3,
.quick-search button[type=submit] {
  color: #fff;
  white-space: nowrap;
}
.quick-search select,
.quick-search button[type=submit] {
  min-height: 4.5rem;
  padding: 0.75em 1em;
  border-radius: 1rem;
}
.quick-search h3 .f-rj {
  font-size: 1.4rem;
}
.quick-search button[type=submit] {
  background-color: #2f2f2f;
  font-weight: 700;
  text-align: center;
}
.quick-search select {
  max-width: 18rem;
}

.form-container {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: clamp(2.4rem, 4vw, 5rem);
}
.form-container .toggle-btns {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  row-gap: 2rem;
  flex-wrap: wrap;
  width: 100%;
}

.search-form-st {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 2rem;
}
.search-form-st .date-range-wrapper {
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
.search-form-st .input-group,
.search-form-st .btn-group,
.search-form-st .wave-title,
.search-form-st .wrapper {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}
.search-form-st .input-group_checkbox,
.search-form-st .input-group_select,
.search-form-st .input-group_text {
  flex-direction: column;
  row-gap: 1.5rem;
}
.search-form-st .btn-group {
  margin-bottom: 0.5rem;
}
.search-form-st select,
.search-form-st input,
.search-form-st label {
  min-height: 4rem;
  padding: 0.6rem 1rem;
  background-color: #fff;
  border: unset;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
}
.search-form-st input[type=checkbox] {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
}
.search-form-st .input-group [type=checkbox]:checked + label {
  background-color: #0d396f;
  color: #fff;
}
.search-form-st input[type=search] {
  width: 100%;
  max-width: 40rem;
}
.search-form-st input[type=date] {
  min-width: 12rem;
}
.search-form-st select {
  padding-right: 2.2rem;
  appearance: unset;
  min-width: 25rem;
  background-image: url(../../assets/icons/triangle-d.svg);
  background-position: center right 1.5rem;
  background-size: 1.4rem;
  background-repeat: no-repeat;
}
.search-form-st label {
  display: block;
  text-align: center;
}
.search-form-st .wave-title {
  font-weight: 700;
}
.search-form-st .wave-title svg {
  width: 7em;
}

.results-counter h3 {
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 700;
}

.post-list-area,
.post-list-area .post-row {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 2.5rem;
  width: 100%;
}

.post-list-area .post-row {
  row-gap: 1rem;
}
.post-list-area .post-row time {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #000;
}
.post-list-area .post-row h4,
.post-list-area .post-row span.cat {
  font-weight: 700;
}
.post-list-area .post-row span.cat {
  padding: 0.25em;
  min-height: 3rem;
  min-width: 12rem;
  background-color: #0d396f;
  border-radius: 1em;
  color: #fff;
  line-height: 100%;
  text-align: center;
}

.info-table {
  flex: 1;
  width: 100%;
}
.info-table__simple, .info-table__classic {
  color: #2f2f2f;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  font-weight: 500;
}
.info-table__simple .table-row, .info-table__classic .table-row {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0 clamp(1rem, 2.5vw, 3rem);
}
.info-table__simple a, .info-table__classic a {
  color: currentColor;
}
.info-table__simple dt, .info-table__classic dt {
  font-size: 1.6rem;
}
.info-table__simple {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 1em;
}
.info-table__simple .table-row {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0.5rem clamp(1rem, 2vw, 2rem);
  width: 100%;
  padding-bottom: 1em;
  border-bottom: 1px solid #000;
}
.info-table__classic .table-row {
  gap: 0;
}
.info-table__classic dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  font-weight: 700;
}
.info-table__classic dd {
  padding: 0 0 2rem 0;
}
.info-table__yellow dt {
  background-color: #fff5c9;
}
.info-table__white dt {
  background-color: #fff;
}

@media screen and (min-width: 576px) {
  .h1-group {
    min-height: 11rem;
  }
  .card__large {
    flex-direction: row;
    align-items: flex-start;
  }
  .card__large .text-container,
  .card__large .img-container {
    width: 50%;
    max-width: 45rem;
  }
  .card-img .meta-info,
  .card-img .features {
    padding: 0 1.5rem;
  }
  .card-img .meta-info .table-row {
    column-gap: 2rem;
    row-gap: 0.5rem;
  }
  .h1-group {
    border-top-right-radius: 5rem;
    border-bottom-right-radius: 5rem;
  }
  .h2-group__wrapper {
    flex-direction: row;
    padding: 1rem 2rem 1rem 4rem;
    border-radius: 5rem;
  }
  .h2-group__wrapper.wrapper-small-pad {
    padding: 1rem 1rem 1rem 3rem;
    column-gap: 2rem;
  }
  .h2-group__label {
    border-radius: 5rem;
  }
  .post-list-area .post-row {
    flex-direction: row;
    border-bottom: 1px solid #000;
    padding-bottom: 3.5rem;
  }
  .post-list-area .post-row time {
    width: fit-content;
    border-bottom: unset;
  }
  .form-container .toggle-btns {
    justify-content: flex-start;
  }
  .info-table__classic .table-row, .info-table__simple .table-row {
    flex-direction: row;
  }
  .info-table__classic .table-row dt, .info-table__simple .table-row dt {
    width: 20%;
  }
  .info-table__classic .table-row dd, .info-table__simple .table-row dd {
    width: 80%;
  }
  .info-table__classic {
    border-top: 1px solid #707070;
  }
  .info-table__classic .table-row {
    border-bottom: 1px solid #707070;
  }
  .info-table__classic .table-row dd {
    padding: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .quick-search form {
    margin: 2rem auto;
    align-items: flex-start;
  }
  .quick-search .term-row {
    flex-direction: column;
    justify-content: flex-start;
  }
  .quick-search .term-row svg {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .quick-search {
    position: absolute;
    bottom: 3rem;
    right: 0;
    width: 52%;
    max-width: 86rem;
  }
  .quick-search select,
  .quick-search button[type=submit] {
    min-height: 3rem;
    padding: 0.5em;
  }
  .quick-search form {
    border-top-left-radius: 3rem;
    border-bottom-left-radius: 3rem;
    padding: 2rem 1rem 2rem 2rem;
  }
  .quick-search h3 {
    font-size: 2rem;
  }
  .quick-search h3 .f-rj {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1400px) {
  .quick-search .term-row {
    margin: auto 1rem;
  }
  .quick-search select,
  .quick-search button[type=submit] {
    min-height: 4.5rem;
    padding: 0.75em 1em;
  }
  .quick-search select {
    width: 20rem;
    max-width: 20rem;
  }
  .quick-search form {
    padding: 2rem clamp(2rem, 3vw, 5.4rem);
  }
  .quick-search h3 {
    font-size: 2.4rem;
  }
}
#result-counter h3 {
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 700;
}
#result-counter h3 .highlight {
  font-size: 1.4em;
}

.breadcrumbs {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
  grid-row: 1/2;
  grid-column: 2/3;
  margin-bottom: 2rem;
  color: #0d396f;
}
.breadcrumbs a {
  color: #0d396f;
  text-decoration: underline;
}

nav.page-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 2rem 2.5rem;
  flex-wrap: wrap;
}
nav.page-nav .page-nav__link {
  background-color: #fff;
  background-image: url(../../assets/icons/triangle-d.svg);
  background-position: right 1.25em center;
  background-repeat: no-repeat;
  background-size: 1em;
  border-radius: 1.5em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  padding: 0.5em 3em 0.5em 1.25em;
}

section#page-landing {
  width: 100%;
  padding-top: clamp(10rem, 15vw, 15rem);
  display: grid;
  grid-template-columns: 1fr clamp(10rem, 89.7%, 120rem) 1fr;
  grid-template-rows: auto 11rem auto;
}
section#page-landing .breadcrumbs,
section#page-landing .h1-group,
section#page-landing .excerpt {
  position: relative;
  z-index: 10;
}
section#page-landing .h1-group {
  grid-row: 2/3;
  grid-column: 1/4;
  padding: 0 2em 0 calc((100vw - clamp(10rem, 89.7%, 120rem)) / 2);
  width: fit-content;
  min-width: 28rem;
  max-width: 90%;
}
section#page-landing .excerpt {
  grid-row: 3/4;
  grid-column: 2/3;
  width: 80%;
  max-width: 46.4rem;
  margin: 3rem 0 auto;
  font-size: clamp(1.6rem, 1.33vw, 1.8rem);
  font-weight: 700;
}
section#page-landing .banner img,
section#page-landing .banner picture {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
section#page-landing .banner {
  position: relative;
  z-index: 1;
  grid-row: 2/4;
  grid-column: 2/3;
  height: clamp(28rem, 44vw, 44rem);
  width: 100%;
  padding-top: 5.5rem;
  overflow: hidden;
}
section#page-landing .banner img {
  border-radius: 2rem;
}
section#page-landing .banner.has-excerpt {
  padding-left: clamp(4rem, 7vw, 10rem);
}
section#contact {
  padding: 8rem 0 9rem;
}
section#contact .contact-group {
  width: 100%;
}
section#contact .content-card {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
  padding: 2rem;
  min-height: clamp(24rem, 33vw, 30rem);
  align-self: stretch;
  border-radius: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
}
section#contact .content-card h4 {
  width: 100%;
  max-width: 40rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid currentColor;
  font-size: clamp(2rem, 2vw, 2.5rem);
  text-align: center;
}
section#contact .content-card .meta {
  width: 100%;
  max-width: 33rem;
}
section#contact .content-card .contact-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 5rem;
  margin-top: 0.5rem;
  background-color: #fff;
  border-radius: 1rem;
  color: #2f2f2f;
  text-align: center;
}
section#contact .content-card .contact-link__highlight {
  font-size: clamp(2rem, 2vw, 2.5rem);
}
section#contact .content-card__contact {
  background-color: #0d396f;
  color: #fff;
}
section#contact .content-card__line {
  background-color: #fff;
  border: 0.3rem solid #03c755;
  color: #2f2f2f;
}
section#contact .content-card__line h4 {
  color: #03c755;
}
section#contact .content-card__line p {
  font-weight: 400;
}
section#contact .inner-row {
  width: 100%;
  gap: 3.5rem;
  margin: auto;
}
section#contact .line-link {
  width: 9rem;
  min-width: 9rem;
}
section#contact .qa-contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem 3.4rem;
  width: 100%;
  min-height: 4.8em;
  background-color: #083d08;
  border-radius: 2rem;
  color: #fff;
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 700;
}
section#contact .qa-contents .highlight {
  font-size: 2.8em;
}
section#contact .qa-contents .highlight .reduce {
  font-size: 64.2%;
}
section#pagination-container .navigation,
section#pagination-container .nav-links {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: clamp(1rem, 2vw, 2rem);
}
section#pagination-container .page-numbers {
  font-size: 2rem;
  font-weight: 700;
  line-height: 110%;
}
section#pagination-container .current {
  border-bottom: 1px solid #2f2f2f;
  pointer-events: none;
  padding: 0 0.1rem;
}
section#pagination-container .next,
section#pagination-container .prev {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 3em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #000;
  background-color: #fff;
}
section#pagination-container .next svg,
section#pagination-container .prev svg {
  width: 1.25em;
}
section#pagination-container .next {
  margin-left: clamp(2rem, 4vw, 4rem);
}
section#pagination-container .prev {
  margin-right: clamp(2rem, 4vw, 4rem);
}

@media screen and (min-width: 576px) {
  section#page-landing .h1-group {
    min-width: calc((100vw - clamp(10rem, 89.7%, 120rem)) / 2 + 39rem);
  }
  section#page-landing .banner img {
    border-radius: 5rem;
  }
}
@media screen and (min-width: 768px) {
  section#contact .contact-group {
    flex-direction: row;
  }
  section#contact .content-card__line {
    border-width: 0.5rem;
  }
  section#contact .qa-contents {
    flex-direction: row;
  }
}
article.es-landing,
section.es-landing {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr clamp(10rem, 89.7%, 140rem) 1fr;
  grid-template-rows: auto auto auto;
  row-gap: 2rem;
  max-width: 120rem;
}
article.es-landing .text-container,
article.es-landing .img-main-container,
article.es-landing .img-sub-container,
section.es-landing .text-container,
section.es-landing .img-main-container,
section.es-landing .img-sub-container {
  grid-column: 2/3;
}
article.es-landing .text-container,
article.es-landing .introduction,
article.es-landing .title-container,
section.es-landing .text-container,
section.es-landing .introduction,
section.es-landing .title-container {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 1rem;
  width: 100%;
}
article.es-landing .text-container,
section.es-landing .text-container {
  grid-row: 1/2;
}
article.es-landing .breadcrumbs,
section.es-landing .breadcrumbs {
  color: #2f2f2f;
}
article.es-landing .breadcrumbs a,
section.es-landing .breadcrumbs a {
  color: #2f2f2f;
}
article.es-landing .title-container,
section.es-landing .title-container {
  width: 100%;
}
article.es-landing .title-container h1,
section.es-landing .title-container h1 {
  font-size: clamp(2rem, 2vw, 2.5rem);
}
article.es-landing .title-container svg,
section.es-landing .title-container svg {
  width: 100%;
}
article.es-landing .title-row,
section.es-landing .title-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 2rem;
  flex-wrap: wrap;
  width: 100%;
}
article.es-landing .feature-list,
section.es-landing .feature-list {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
}
article.es-landing .img-main-container,
section.es-landing .img-main-container {
  grid-row: 2/3;
}
article.es-landing .img-main-container img,
section.es-landing .img-main-container img {
  object-fit: contain;
  object-position: top right;
  height: 100%;
  width: 100%;
}

.faq-section .toggle-btns {
  padding: 0;
}

.qa-group .question {
  position: relative;
  padding: 1rem 4rem 1rem 0;
}
.qa-group .question:after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.5em;
  aspect-ratio: 1/1;
  background: url(../../assets/icons/icon-plus.svg) center no-repeat;
  background-size: contain;
  pointer-events: none;
  opacity: 0.6;
}
.qa-group .question:after:hover {
  opacity: 0.4;
}
.qa-group .answer {
  padding: clamp(2.5rem, 4vw, 5rem);
}
.qa-group .answer a {
  color: #0d396f !important;
  text-decoration: underline !important;
}
.qa-group[aria-expanded=true] .question:after {
  background: url(../../assets/icons/icon-minus.svg) center no-repeat;
  background-size: contain;
}

@media screen and (min-width: 992px) {
  article.es-landing,
  section.es-landing {
    grid-template-columns: 1fr calc(clamp(10rem, 89.7%, 140rem) / 2) calc(clamp(10rem, 89.7%, 140rem) / 2) 1fr;
    grid-template-rows: auto 12rem;
  }
  article.es-landing .text-container,
  article.es-landing .img-sub-container,
  section.es-landing .text-container,
  section.es-landing .img-sub-container {
    grid-column: 2/3;
    padding-right: clamp(2rem, 4vw, 6rem);
  }
  article.es-landing .text-container,
  section.es-landing .text-container {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  article.es-landing .img-main-container,
  section.es-landing .img-main-container {
    grid-column: 3/5;
    grid-row: 1/3;
  }
  .faq-section .qa-section {
    padding: 5rem;
  }
  .qa-group .question {
    padding: 1rem;
  }
}
/* Header */
header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 2.4rem;
  position: fixed;
  top: 0;
  left: 0;
  height: fit-content;
  width: 100%;
  padding: 1rem;
  z-index: 1001;
  font-size: clamp(1.4rem, 1.33vw, 2rem);
  font-weight: 700;
}
header a#menu-logo, header a#header-logo {
  display: block;
  width: 16rem;
}
header nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}
header #toggle-menu-overlay,
header #user-toggle,
header #language-toggle {
  position: relative;
  z-index: 101;
}
header #user-toggle .dropdown {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header #user-toggle .user-label {
  display: inline-block;
  padding: 0.4em 0.4em;
  background-color: #fb681a;
  border-radius: 2.5rem;
  color: #f8f7f0;
  line-height: 100%;
  white-space: nowrap;
}
header #user-toggle .user-label__logged-in {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url(../../assets/icons/user.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 60%;
  padding: 0 !important;
  font-size: 2em;
  width: 5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
header .menu-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.1rem;
  width: 5rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #2f2f2f;
  border-radius: 50%;
  color: #2f2f2f;
  font-family: "Rubik", "Zen Kaku Gothic Antique", "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  text-transform: uppercase;
}
header #menu-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  row-gap: clamp(3rem, 5vw, 6rem);
  padding: clamp(8rem, 12vh, 12rem) 2rem 4rem;
  width: 90%;
  height: 100%;
  background-color: #f8f7f0;
  border-left: 2px solid #fff;
  overflow-y: scroll;
}
header #menu-wrapper .main-menu,
header #menu-wrapper .submenu,
header #menu-wrapper .meta-menu {
  grid-template-columns: 1/2;
}
header #menu-wrapper .main-menu ul,
header #menu-wrapper .submenu ul,
header #menu-wrapper .meta-menu ul {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
}
header #menu-wrapper .main-menu ul li,
header #menu-wrapper .submenu ul li,
header #menu-wrapper .meta-menu ul li {
  line-height: 100%;
}
header #menu-wrapper .main-menu {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: clamp(2rem, 4vw, 4.5rem);
  grid-row: 1/2;
}
header #menu-wrapper .main-menu ul {
  font-size: clamp(1.6rem, 1.33vw, 2rem);
  gap: 1.5rem;
}
header #menu-wrapper .main-menu ul li a {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  color: #2f2f2f;
  text-decoration: underline;
}
header #menu-wrapper .main-menu ul li a:after {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 2em;
  background: url(../../assets/icons/arrow-right.svg) center no-repeat;
  background-repeat: no-repeat;
  border-radius: 50%;
  border: 1px solid #000;
}
header #menu-wrapper .submenu {
  grid-row: 2/3;
}
header #menu-wrapper .submenu ul {
  gap: 2rem;
  font-size: clamp(1.6rem, 1.33vw, 1.8rem);
}
header #menu-wrapper .meta-menu {
  grid-row: 3/4;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
}
header #menu-wrapper .meta-menu ul {
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  font-size: clamp(1.4rem, 1.15vw, 1.6rem);
  gap: 2.25em;
}
header #menu-wrapper .meta-menu .menu-meta-menu-container {
  width: 100%;
}
header #menu-wrapper .meta-menu .menu-item-gtranslate {
  margin-left: auto;
  display: block;
  height: 3.6rem;
  width: 18.3rem;
}
header #menu-wrapper .meta-menu .gt_switcher {
  overflow: visible;
}
header #menu-wrapper .meta-menu .gt_switcher .gt_option {
  position: absolute;
  top: 0;
  transform: translateY(-100%);
}
header #menu-wrapper .meta-menu .gt_switcher .gt_option a {
  font-size: 1.6rem;
}
header #menu-wrapper .meta-menu .gt_switcher .gt_selected {
  background: unset;
}
header #menu-wrapper .meta-menu .gt_switcher .gt_selected a {
  padding: 0.5rem 1rem;
}
header.scrolled {
  min-height: 7rem;
  background: rgba(248, 247, 240, 0.8);
}
header.scrolled a#header-logo {
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: auto;
  opacity: 1;
}

nav.side-nav {
  position: absolute;
  right: 0;
  top: 16rem;
  z-index: 1000;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 125%;
}
nav.side-nav ul li a {
  padding: 4em 1.25em 4em 2.75em;
  text-orientation: upright;
  writing-mode: vertical-lr;
  background-image: url(../../assets/icons/circle-blue.svg);
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  color: #fff;
}
nav.side-nav ul li:nth-child(even) {
  margin-top: -1.5em;
}
nav.side-nav ul li:nth-child(even) a {
  background-image: url(../../assets/icons/circle-green.svg);
}

@media screen and (min-width: 576px) {
  header {
    min-height: 13rem;
    padding: 1rem 2rem;
  }
  header a#menu-logo, header a#header-logo {
    width: clamp(12rem, 20vw, 31.6rem);
  }
  header nav {
    gap: clamp(2rem, 2vw, 2.8rem);
  }
  header #user-toggle .user-label {
    padding: 0.6em 1em;
  }
  header #user-toggle .user-label__logged-in {
    width: 7rem;
  }
  header .menu-btn {
    width: fit-content;
    padding: 1rem;
    font-size: 1.6rem;
    min-width: 7rem;
  }
  header #menu-wrapper {
    max-width: 50vw;
    padding: clamp(4rem, 15vh, 16rem) 10rem clamp(4rem, 7vh, 8rem);
  }
  header #menu-wrapper .main-menu ul {
    gap: 1.25em;
  }
  header.scrolled {
    transition: all 0.2s linear;
  }
  header.scrolled .menu-btn {
    font-size: 1.4rem;
    width: 5rem;
    min-width: 5rem;
  }
  header.scrolled #user-toggle .user-label__logged-in {
    transition: all 0.2s linear;
    width: 5rem;
    min-width: 5rem;
  }
  header.scrolled a.header-logo {
    transition: all 0.2s linear;
    width: clamp(8rem, 12vw, 20rem);
  }
  nav.side-nav {
    top: 16rem;
    font-size: clamp(1.4rem, 2vw, 1.6rem);
  }
  nav.side-nav ul li a {
    padding: 4em 1.25em 4em 2.75em;
  }
  nav.side-nav ul li:nth-child(even) {
    margin-top: -3em;
  }
}
@media screen and (min-width: 576px) and (max-height: 800px) {
  header #menu-wrapper {
    padding: 6rem 10rem 4rem;
  }
}
footer {
  padding: 9rem 0 2rem;
  gap: 7rem;
}
footer nav,
footer .content-container {
  flex: 1;
}
footer .content-container {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: start;
  gap: 4rem;
}
footer nav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: start;
  gap: 2rem;
  max-width: 41.3rem;
}
footer .access-info {
  max-width: 34rem;
  font-weight: 700;
}
footer a.logo {
  display: block;
  max-width: 31.6rem;
}
footer a {
  color: #2f2f2f;
}

.footer-copy {
  font-size: clamp(1.3rem, 1.1vw, 1.5rem);
}

@media screen and (max-width: 768px) {
  footer nav ul {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  footer .content-container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
/* Main menu */
#main-menu .menu ul {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 2rem;
  width: 100%;
}

#main-menu .menu ul li {
  width: 100%;
}

.company-job-contact-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 2rem;
  width: 100%;
}

section.contact-section {
  padding: 6rem 0 10rem;
}
section.contact-section .wpcf7,
section.contact-section form {
  width: 100%;
  max-width: 80rem;
}
section.contact-section h5 {
  font-size: clamp(1.6rem, 1.33vw, 2rem);
  margin-bottom: 0.5em;
}
section.contact-section .input-group {
  width: 100%;
}
section.contact-section .input-group__privacy {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  margin: 3rem 0 0 0;
}
section.contact-section .input-group__privacy a {
  text-decoration: underline;
}
section.contact-section .input-group input[type=submit] {
  width: 15.125em;
  height: 2.5em;
  margin-top: 4rem;
  appearance: none;
  background-color: #0d396f;
  border: unset;
  border-radius: 1.5em;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
section.contact-section .input-group input[type=submit]:disabled {
  background-color: #c4c4c4;
  opacity: 0.6;
}
section.contact-section textarea,
section.contact-section input[type=tel],
section.contact-section input[type=email],
section.contact-section input[type=url],
section.contact-section input[type=text] {
  border: unset;
  background-color: #dae8f8;
  width: 100%;
  min-height: 6rem;
  padding: 0.5rem 1rem;
}
section.contact-section textarea:focus,
section.contact-section input[type=tel]:focus,
section.contact-section input[type=email]:focus,
section.contact-section input[type=url]:focus,
section.contact-section input[type=text]:focus {
  background-color: #fff;
  outline: 1px solid #fb681a;
}
section.contact-section textarea {
  min-height: 25rem;
}
section.contact-section input[type=file] {
  position: absolute;
  border: unset;
  background-color: #dae8f8;
  padding: 0.5rem 1rem 0.5rem 3em;
}
section.contact-section input[type=file]:before {
  content: "";
  display: block;
  width: 2em;
  aspect-ratio: 1/1;
  pointer-events: none;
  position: absolute;
  left: 0.5em;
  top: 0.5rem;
  background: url(../../assets/icons/icon-upload.svg) center no-repeat;
  background-size: contain;
}
section.contact-section input[type=file]:focus {
  background-color: #fff;
  outline: 1px solid #fb681a;
}
section.contact-section .wpcf7-list-item {
  margin-left: 0;
}
section.contact-section .wpcf7-radio {
  flex-wrap: wrap;
}
section.contact-section .wpcf7-file {
  padding: 0.2em 1em;
  background-color: #dae8f8;
  border: unset;
}
section.contact-section .wpcf7-acceptance {
  font-weight: 700;
}
section.contact-section .wpcf7-form-control {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 2rem;
}
section.contact-section input[type=radio],
section.contact-section input[type=checkbox] {
  position: absolute;
  left: -9999px;
}
section.contact-section input[type=radio] + .wpcf7-list-item-label,
section.contact-section input[type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  padding-left: 3rem;
}
section.contact-section input[type=radio] + .wpcf7-list-item-label::before,
section.contact-section input[type=checkbox] + .wpcf7-list-item-label::before,
section.contact-section input[type=radio] + .wpcf7-list-item-label::after,
section.contact-section input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}
section.contact-section input[type=radio] + .wpcf7-list-item-label::before,
section.contact-section input[type=radio] + .wpcf7-list-item-label::after {
  border-radius: 50%;
}
section.contact-section input[type=radio] + .wpcf7-list-item-label::before,
section.contact-section input[type=checkbox] + .wpcf7-list-item-label::before {
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid #000;
}
section.contact-section [type=radio] + .wpcf7-list-item-label::after,
section.contact-section [type=checkbox] + .wpcf7-list-item-label::after {
  top: 0.5rem;
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  background: #0d396f;
  transition: all 0.2s;
}
section.contact-section [type=radio]:not(:checked) + .wpcf7-list-item-label::after,
section.contact-section [type=checkbox]:not(:checked) + .wpcf7-list-item-label::after {
  opacity: 0;
  transform: scale(0.01);
}
section.contact-section [type=radio]:checked + .wpcf7-list-item-label::after,
section.contact-section [type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: scale(1);
}

/*# sourceMappingURL=global.css.map */
