@charset "UTF-8";

*:where(:not(iframe, canvas, img, video, svg, svg *, symbol *)) {
  all: unset;
  display: revert
}

*, *:before, *:after {
  box-sizing: border-box
}

a, button {
  cursor: revert
}

b {
  font-weight: 600
}

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

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover
}

table {
  border-collapse: collapse
}

textarea {
  white-space: revert
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert
}

::-moz-placeholder {
  color: unset
}

::placeholder {
  color: unset
}

:where([hidden]) {
  display: none
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space
}

:where([draggable=true]) {
  -webkit-user-drag: element
}

h1, h2, h3, h4, h5, h6 {
  margin: 0
}

:root {
  --clr-body-bk: #292929;
  --clr-body-bk-2: #000;
  --clr-primary-body-bk-2: #191919;
  --clr-primary-body-bk-3: #1e1e1e;
  --clr-primary-body-bk-4: #1f1f1f;
  --clr-primary-body-bk-5: #181818;
  --clr-text-gray: #6b6d6f;
  --clr-shadow-blue: #16345c;
  --clr-bg-gray: #eceff4;
  --clr-bg-gray-pale: #f4f5f8;
  --clr-grayscale: #6e7380;
  --clr-bg-natural: #f7f6ea;
  --clr-bg: #fff;
  --clr-interview-bg: #c2ebe3;
  --clr-primary-deep-blue: #163066;
  --clr-primary-body-bk: #2e3136;
  --clr-focus-lime: #e8ff36;
  --clr-focus-mint: #d0fff3;
  --clr-support-shadow-blue: #66cdb8;
  --clr-support-shadow-orange: #ffa648;
  --clr-support-shadow-pink: #f08ba8;
  --clr-tealgreen: #228477;
  --clr-y-orcher: #c28515;
  --clr-dull-rose: #cd5360;
  --clr-y-orcher-150: #eddab9;
  --clr-dull-rose-150: #f0cbcf;
  --clr-tealgreen-hovered: #1a6359;
  --clr-y-orcher-hovered: #855703;
  --clr-dull-rose-hovered: #a4424d;
  --clr-tealgreen-hover: #1a6359;
  --clr-y-orcher-hover: #916410;
  --clr-dull-rose-hover: #9a3e48;
  --clr-section-bg: #f7f6ea;
  --clr-link-blue: #0650cb;
  --clr-gy-04: #ced1d9;
  --fs-sm: .75em;
  --fs-md: 1em;
  --fs-lg: 1.5em;
  --ff-default: sans-serif;
  --ff-en: sans-serif;
  --ff-ja: sans-serif
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px
}

@media (max-width: 1440px) {
  html {
    scroll-padding-top: 6.25vw
  }
}

@media (max-width: 1024px) {
  html {
    scroll-padding-top: 5.5989583333vw
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 11.4666666667vw
  }
}

body {
  font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Noto Sans JP, system-ui, sans-serif;
  color: var(--clr-primary-body-bk);
  background-color: var(--clr-bg);
  color: var(--clr-text);
  line-height: 1.6
}

body.-overflow-hidden, body.-overflow-hidden .main {
  overflow-y: hidden
}

*:focus {
  outline: 2px solid var(--clr-focus-lime)
}

a {
  text-decoration: none;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain
}

.caution {
  padding-top: 100px
}

.only-pc {
  display: block
}

@media (max-width: 1024px) {
  .only-pc {
    display: none
  }
}

.only-tb {
  display: none
}

@media (max-width: 1024px) {
  .only-tb {
    display: block
  }
}

.only-sp {
  display: none
}

@media (max-width: 767px) {
  .only-sp {
    display: block
  }
}

.container {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto
}

@media (max-width: 1440px) {
  .container {
    max-width: 84.7222222222vw
  }
}

@media (max-width: 1024px) {
  .container {
    max-width: 100%
  }
}

.container.-mw-1440 {
  max-width: 1440px
}

@media (max-width: 1440px) {
  .container.-mw-1440 {
    max-width: 100vw
  }
}

@media (max-width: 1024px) {
  .container.-mw-1440 {
    max-width: 100%
  }
}

.container.-mw-1360 {
  max-width: 1360px
}

@media (max-width: 1440px) {
  .container.-mw-1360 {
    max-width: 94.4444444444vw
  }
}

@media (max-width: 1024px) {
  .container.-mw-1360 {
    max-width: 100%;
    padding: 0 2.6041666667vw
  }
}

@media (max-width: 767px) {
  .container.-mw-1360 {
    padding: 0 5.3333333333vw
  }
}

@media (max-width: 1024px) {
  .container.-mw-1360.-sp-px-0 {
    padding: 0
  }
}

@media (max-width: 767px) {
  .container.-mw-1360.-sp-px-0 {
    padding: 0
  }
}

.container.-mw-1160 {
  max-width: 1160px
}

@media (max-width: 1440px) {
  .container.-mw-1160 {
    max-width: 80.5555555556vw
  }
}

@media (max-width: 1024px) {
  .container.-mw-1160 {
    max-width: 100%
  }
}

@media (max-width: 767px) {
  .container.-mw-1160 {
    max-width: 100%
  }
}

.container.-breadcrumb {
  max-width: calc(100% - 200px);
  margin-top: 8px
}

@media (max-width: 1440px) {
  .container.-breadcrumb {
    max-width: calc(100% - 13.8888888889vw);
    margin-top: .5555555556vw
  }
}

@media (max-width: 1024px) {
  .container.-breadcrumb {
    max-width: 100%;
    padding: 0 2.6041666667vw;
    margin-top: 3.6458333333vw
  }
}

@media (max-width: 767px) {
  .container.-breadcrumb {
    padding: 0 5.3333333333vw;
    margin-top: 7.4666666667vw
  }
}

@media (max-width: 1024px) {
  .container.-sp-px-20 {
    padding: 0 2.6041666667vw
  }
}

@media (max-width: 767px) {
  .container.-sp-px-20 {
    padding: 0 5.3333333333vw
  }
}

.main {
  padding-top: 90px;
  padding-bottom: 80px
}

@media (max-width: 1440px) {
  .main {
    padding-top: 6.25vw;
    padding-bottom: 5.5555555556vw
  }
}

@media (max-width: 1024px) {
  .main {
    padding-top: 7.8125vw;
    padding-bottom: 8.3333333333vw
  }
}

@media (max-width: 767px) {
  .main {
    padding-top: 16vw;
    padding-bottom: 17.0666666667vw
  }
}

.main.-top {
  padding-top: 0
}

.ul-widget-main-window {
  z-index: 10 !important
}

@keyframes scale {
  0% {
    transform: scale(0)
  }

  50% {
    transform: scale(1.2)
  }

  to {
    transform: scale(1)
  }
}

.only-print {
  display: none
}

@media print {
  .only-print {
    display: block
  }

  .only-print.-logo {
    max-width: 20%
  }

  .only-print.-copyright {
    font-size: 12px
  }
}

@media print {
  body {
    background: #fff !important;
    color: #000
  }

  * {
    color: #000 !important;
    background: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    gap: 0 !important;
    margin: 0 !important;
    min-width: unset !important;
    border-color: #000 !important
  }

  h1, h2, h3, h4, h5, h6 {
    background: inherit !important;
    font-size: initial !important
  }

  .logo, .title, .content, .copyright {
    display: block !important
  }

  nav, header, footer, .global-nav, .local-nav, .navigation {
    display: none !important
  }

  h1, h2, h3, h4, h5, h6 {
    page-break-before: auto
  }

  @page {
    margin: 20mm
  }
}

.footer {
  font-family: Hiragino Sans;
  background: var(--clr-bg);
  position: relative;
  margin-top: auto
}

.footer:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -10;
  background: transparent;
  transition: background .3s
}

.footer.-hamburger-active:before {
  background: #21212180;
  z-index: 10
}

.footer__upper {
  border-top: 1px solid var(--clr-primary-deep-blue);
  padding: 2.7777777778vw 7.6388888889vw 2.2222222222vw
}

@media (max-width: 1024px) {
  .footer__upper {
    padding: 5.2083333333vw 3.6458333333vw 4.1666666667vw
  }
}

@media (max-width: 767px) {
  .footer__upper {
    padding: 10.6666666667vw 7.4666666667vw 8.5333333333vw
  }
}

.footer__upper-inner {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 8.3333333333vw
}

@media (max-width: 1024px) {
  .footer__upper-inner {
    gap: 5.2083333333vw;
    align-items: flex-start;
    flex-direction: column
  }
}

@media (max-width: 767px) {
  .footer__upper-inner {
    gap: 10.6666666667vw
  }
}

.footer__upper-left {
  display: flex;
  flex-direction: column;
  gap: 1.1111111111vw;
  width: 18.1944444444vw
}

@media (max-width: 1024px) {
  .footer__upper-left {
    gap: 2.0833333333vw;
    width: 34.1145833333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-left {
    gap: 4.2666666667vw;
    width: 69.8666666667vw
  }
}

.footer__upper-left img {
  max-width: 14.3055555556vw
}

@media (max-width: 1024px) {
  .footer__upper-left img {
    max-width: 26.8229166667vw
  }
}

@media (max-width: 767px) {
  .footer__upper-left img {
    max-width: 54.9333333333vw
  }
}

.footer__upper-left-bottom {
  display: flex;
  flex-direction: column;
  color: var(--clr-primary-body-bk);
  font-weight: 600;
  line-height: 165%;
  gap: .2777777778vw;
  font-size: 1.25vw;
  letter-spacing: .025vw
}

@media (max-width: 1024px) {
  .footer__upper-left-bottom {
    font-size: 2.34375vw;
    gap: .5208333333vw;
    letter-spacing: .046875vw
  }
}

@media (max-width: 767px) {
  .footer__upper-left-bottom {
    font-size: 4.8vw;
    gap: 1.0666666667vw;
    letter-spacing: .096vw
  }
}

.footer__upper-left-bottom span {
  font-weight: 300;
  line-height: 150%;
  font-size: .9027777778vw;
  letter-spacing: .0180555556vw
}

@media (max-width: 1024px) {
  .footer__upper-left-bottom span {
    font-size: 1.6927083333vw;
    letter-spacing: .0338541667vw
  }
}

@media (max-width: 767px) {
  .footer__upper-left-bottom span {
    font-size: 3.4666666667vw;
    letter-spacing: .0693333333vw
  }
}

.footer__upper-right {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1.6666666667vw;
  max-width: 54.5833333333vw
}

@media (max-width: 1024px) {
  .footer__upper-right {
    gap: 3.125vw;
    max-width: 100%
  }
}

@media (max-width: 767px) {
  .footer__upper-right {
    gap: 4.2666666667vw
  }
}

.footer__upper-right-list-1 a, .footer__upper-right-list-2 a, .footer__upper-right-list-3 a {
  max-width: -moz-max-content;
  max-width: max-content;
  white-space: nowrap
}

.footer__upper-right-list-1 a img, .footer__upper-right-list-2 a img, .footer__upper-right-list-3 a img {
  position: relative;
  transition: transform .3s
}

.footer__upper-right-list-1 a:hover .footer__upper-right-btn-chara:after, .footer__upper-right-list-2 a:hover .footer__upper-right-btn-chara:after, .footer__upper-right-list-3 a:hover .footer__upper-right-btn-chara:after {
  opacity: 1
}

@media (max-width: 1024px) {
  .footer__upper-right-list-1 a:hover .footer__upper-right-btn-chara:after, .footer__upper-right-list-2 a:hover .footer__upper-right-btn-chara:after, .footer__upper-right-list-3 a:hover .footer__upper-right-btn-chara:after {
    opacity: 0
  }
}

.footer__upper-right-list-1 a:hover span img, .footer__upper-right-list-2 a:hover span img, .footer__upper-right-list-3 a:hover span img {
  transform: translate(.2777777778vw)
}

@media (max-width: 1024px) {
  .footer__upper-right-list-1 a:hover span img, .footer__upper-right-list-2 a:hover span img, .footer__upper-right-list-3 a:hover span img {
    transform: unset
  }
}

.footer__upper-right-list-1 {
  align-items: center;
  display: grid;
  grid-template-columns: 11.6666666667vw 14.1666666667vw 13.0555555556vw;
  gap: 2.2222222222vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-1 {
    gap: 4.1666666667vw;
    grid-template-columns: 21.875vw 26.3020833333vw 24.7395833333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-1 {
    gap: 3.2vw;
    grid-template-columns: repeat(1, 1fr)
  }
}

.footer__upper-right-btn-chara {
  position: relative
}

.footer__upper-right-btn-chara:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  opacity: 0;
  background: var(--clr-primary-deep-blue);
  transition: all .3s;
  height: .15vw
}

@media (max-width: 1024px) {
  .footer__upper-right-btn-chara:after {
    content: unset
  }
}

.footer__upper-right-btn-inner-1 {
  display: flex;
  align-items: flex-start;
  flex-direction: column
}

.footer__upper-right-btn-inner-1 small {
  color: var(--clr-primary-body-bk-3);
  font-weight: 400;
  line-height: 150%;
  font-size: .8333333333vw;
  letter-spacing: .0333333333vw
}

@media (max-width: 1024px) {
  .footer__upper-right-btn-inner-1 small {
    font-size: 1.5625vw;
    letter-spacing: .0625vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-btn-inner-1 small {
    font-size: 3.2vw;
    letter-spacing: .128vw
  }
}

.footer__upper-right-btn-inner-1 span {
  color: var(--clr-primary-body-bk);
  font-weight: 600;
  line-height: 165%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.25vw;
  gap: .5555555556vw;
  letter-spacing: .025vw
}

@media (max-width: 1024px) {
  .footer__upper-right-btn-inner-1 span {
    font-size: 2.34375vw;
    gap: 1.0416666667vw;
    letter-spacing: .046875vw;
    white-space: nowrap
  }
}

@media (max-width: 767px) {
  .footer__upper-right-btn-inner-1 span {
    font-size: 4.8vw;
    gap: 2.1333333333vw;
    letter-spacing: .096vw
  }
}

.footer__upper-right-btn-inner-1 span img {
  max-width: 1.3888888889vw
}

@media (max-width: 1024px) {
  .footer__upper-right-btn-inner-1 span img {
    max-width: 2.6041666667vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-btn-inner-1 span img {
    max-width: 5.3333333333vw
  }
}

.footer__upper-right-list-2 {
  gap: 32px;
  align-items: center;
  display: grid;
  grid-template-columns: 11.6666666667vw 14.1666666667vw 11.7361111111vw 10.4861111111vw;
  gap: 2.2222222222vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2 {
    gap: 4.1666666667vw
  }
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2.-tb-upper {
    grid-template-columns: 21.875vw 26.3020833333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2.-tb-upper {
    grid-template-columns: repeat(1, 1fr)
  }
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2.-tb-bottom {
    grid-template-columns: 22.0052083333vw 19.6614583333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2.-tb-bottom {
    grid-template-columns: repeat(1, 1fr)
  }
}

.footer__upper-right-list-2 span {
  color: var(--clr-primary-body-bk);
  font-weight: 600;
  line-height: 165%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.1111111111vw;
  letter-spacing: .0222222222vw;
  gap: .5555555556vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2 span {
    font-size: 2.0833333333vw;
    letter-spacing: .0416666667vw;
    gap: 1.0416666667vw;
    white-space: nowrap
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2 span {
    font-size: 4.2666666667vw;
    letter-spacing: .0853333333vw;
    gap: 2.1333333333vw
  }
}

.footer__upper-right-list-2 span.-fw-400, .footer__upper-right-list-2 span.-fw-400 * {
  font-feature-settings: "pwid" on;
  font-weight: 400;
  line-height: 150%;
  font-size: 1.0416666667vw;
  letter-spacing: .0208333333vw;
  gap: .2777777778vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2 span.-fw-400, .footer__upper-right-list-2 span.-fw-400 * {
    font-size: 1.953125vw;
    letter-spacing: .0390625vw;
    gap: .5208333333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2 span.-fw-400, .footer__upper-right-list-2 span.-fw-400 * {
    font-size: 4vw;
    letter-spacing: .08vw;
    gap: 1.0666666667vw
  }
}

.footer__upper-right-list-2 span.-fw-400 img, .footer__upper-right-list-2 span.-fw-400 * img {
  max-width: 1.1111111111vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2 span.-fw-400 img, .footer__upper-right-list-2 span.-fw-400 * img {
    max-width: 2.0833333333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2 span.-fw-400 img, .footer__upper-right-list-2 span.-fw-400 * img {
    max-width: 4.2666666667vw
  }
}

.footer__upper-right-list-2 span img {
  max-width: 1.25vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2 span img {
    max-width: 2.34375vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-2 span img {
    max-width: 4.8vw
  }
}

.footer__upper-right-list-2.-pc {
  display: grid
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2.-pc {
    display: none
  }
}

.footer__upper-right-list-2.-tb {
  display: none
}

@media (max-width: 1024px) {
  .footer__upper-right-list-2.-tb {
    display: grid
  }
}

.footer__upper-right-list-3 {
  align-items: center;
  display: grid;
  grid-template-columns: 11.6666666667vw 14.1666666667vw 14.9305555556vw;
  gap: 2.2222222222vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-3 {
    gap: 4.1666666667vw;
    flex-direction: column;
    align-items: flex-start;
    grid-template-columns: 21.875vw 26.5625vw 27.9947916667vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-3 {
    gap: 3.2vw;
    grid-template-columns: repeat(1, 1fr)
  }
}

.footer__upper-right-list-3 span {
  font-feature-settings: "pwid" on;
  font-weight: 400;
  line-height: 150%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .9722222222vw;
  letter-spacing: .0194444444vw;
  gap: .2777777778vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-3 span {
    font-size: 1.8229166667vw;
    letter-spacing: .0364583333vw;
    gap: .5208333333vw;
    white-space: nowrap
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-3 span {
    font-size: 3.7333333333vw;
    letter-spacing: .0746666667vw;
    gap: 1.0666666667vw
  }
}

.footer__upper-right-list-3 span img {
  max-width: 1.1111111111vw
}

@media (max-width: 1024px) {
  .footer__upper-right-list-3 span img {
    max-width: 2.0833333333vw
  }
}

@media (max-width: 767px) {
  .footer__upper-right-list-3 span img {
    max-width: 4.2666666667vw
  }
}

.footer__bottom {
  background-color: var(--clr-bg-gray);
  padding: 1.6666666667vw 7.6388888889vw
}

@media (max-width: 1024px) {
  .footer__bottom {
    padding: 3.125vw 3.6458333333vw
  }
}

@media (max-width: 767px) {
  .footer__bottom {
    padding: 6.4vw 7.4666666667vw
  }
}

.footer__bottom-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-left: 26.1805555556vw;
  gap: 1.3888888889vw
}

@media (max-width: 1024px) {
  .footer__bottom-inner {
    padding-left: 0;
    gap: 2.6041666667vw
  }
}

@media (max-width: 767px) {
  .footer__bottom-inner {
    gap: 5.3333333333vw
  }
}

.footer__bottom-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.2222222222vw
}

@media (max-width: 1024px) {
  .footer__bottom-list {
    gap: 1.5625vw 4.1666666667vw
  }
}

@media (max-width: 767px) {
  .footer__bottom-list {
    gap: 3.2vw 8.5333333333vw
  }
}

.footer__bottom-list a {
  color: var(--clr-primary-body-bk)
}

.footer__bottom-list a span {
  font-weight: 400;
  line-height: 160%;
  position: relative;
  font-size: .9027777778vw;
  letter-spacing: .0180555556vw
}

@media (max-width: 1024px) {
  .footer__bottom-list a span {
    font-size: 1.6927083333vw;
    letter-spacing: .0338541667vw
  }
}

@media (max-width: 767px) {
  .footer__bottom-list a span {
    font-size: 3.4666666667vw;
    letter-spacing: .0693333333vw
  }
}

.footer__bottom-list a span:after {
  content: "";
  position: absolute;
  height: 1px;
  width: 100%;
  left: 0;
  bottom: 0;
  opacity: 1;
  background: var(--clr-primary-body-bk);
  transition: all .3s
}

.footer__bottom-list a:hover span:after {
  height: 1.56px;
  transform: translateY(1px)
}

@media (max-width: 1024px) {
  .footer__bottom-list a:hover span:after {
    height: 1px;
    transform: unset
  }
}

.footer__bottom-copyright {
  color: var(--clr-text-gray);
  font-weight: 400;
  line-height: 150%;
  font-size: .8333333333vw;
  letter-spacing: .0166666667vw
}

@media (max-width: 1024px) {
  .footer__bottom-copyright {
    font-size: 1.5625vw;
    letter-spacing: .03125vw;
    line-height: 125%
  }
}

@media (max-width: 767px) {
  .footer__bottom-copyright {
    font-size: 3.2vw;
    letter-spacing: .064vw
  }
}

.footer__to-top {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  padding: 15px 12px;
  background: var(--clr-primary-deep-blue);
  border: 1px solid var(--clr-primary-deep-blue);
  color: #fff;
  cursor: pointer;
  text-align: center;
  transition: background .3s
}

@media (max-width: 1440px) {
  .footer__to-top {
    width: 3.4722222222vw;
    padding: 1.0416666667vw .8333333333vw
  }
}

@media (max-width: 1024px) {
  .footer__to-top {
    width: 6.5104166667vw;
    padding: 1.953125vw 1.5625vw
  }
}

@media (max-width: 767px) {
  .footer__to-top {
    width: 13.3333333333vw;
    padding: 4vw 3.2vw
  }
}

@media (min-width: 1025px) {
  .footer__to-top:hover {
    background: var(--clr-focus-mint)
  }

  .footer__to-top:hover svg path {
    stroke: var(--clr-primary-deep-blue)
  }
}

.footer__to-top-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.footer__to-top-inner svg {
  display: block;
  width: 25px
}

@media (max-width: 1440px) {
  .footer__to-top-inner svg {
    width: 1.7361111111vw
  }
}

@media (max-width: 1024px) {
  .footer__to-top-inner svg {
    width: 3.2552083333vw
  }
}

@media (max-width: 767px) {
  .footer__to-top-inner svg {
    width: 6.6666666667vw
  }
}

.footer__to-top-inner svg path {
  transition: stroke .3s
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  background: transparent;
  padding: 22px 40px;
  z-index: 100;
  width: 100%;
  transition: background .3s
}

@media (max-width: 1440px) {
  .header {
    padding: 1.5277777778vw 2.7777777778vw
  }
}

@media (max-width: 1024px) {
  .header {
    padding: 2.0833333333vw 3.125vw
  }
}

@media (max-width: 767px) {
  .header {
    padding: 3.2vw 4.2666666667vw
  }
}

.header:has(.header__hamburger.-is-active), .header.-scrolled, .header.-lower {
  background: var(--clr-bg) !important
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative
}

@media (max-width: 1024px) {
  .header__inner {
    gap: 2.6041666667vw
  }
}

@media (max-width: 767px) {
  .header__inner {
    gap: 0
  }
}

@media (max-width: 1024px) {
  .header__left {
    width: 100%
  }
}

.header__logo {
  display: flex;
  gap: 24px;
  align-items: center
}

@media (max-width: 1440px) {
  .header__logo {
    gap: 1.6666666667vw
  }
}

@media (max-width: 1024px) {
  .header__logo {
    gap: 1.5625vw;
    justify-content: space-between
  }
}

@media (max-width: 767px) {
  .header__logo {
    gap: 2.1333333333vw;
    align-items: flex-start;
    flex-direction: column
  }
}

.header__logo-mhlw {
  max-width: 101px
}

@media (max-width: 1440px) {
  .header__logo-mhlw {
    max-width: 7.6388888889vw
  }
}

@media (max-width: 1024px) {
  .header__logo-mhlw {
    max-width: 14.3229166667vw
  }
}

@media (max-width: 767px) {
  .header__logo-mhlw {
    max-width: 18.9333333333vw
  }
}

.header__logo-support {
  max-width: 260px
}

@media (max-width: 1440px) {
  .header__logo-support {
    max-width: 18.0555555556vw
  }
}

@media (max-width: 1024px) {
  .header__logo-support {
    max-width: 28.125vw
  }
}

@media (max-width: 767px) {
  .header__logo-support {
    max-width: 46.1333333333vw
  }
}

.header__right {
  display: flex;
  gap: 28px;
  align-items: center
}

@media (max-width: 1440px) {
  .header__right {
    gap: 1.9444444444vw
  }
}

@media (max-width: 1024px) {
  .header__right {
    gap: unset
  }
}

.header__search.btn {
  display: flex;
  padding: 10px 16px 10px 12px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  transition: color .3s, background .3s
}

@media (max-width: 1440px) {
  .header__search.btn {
    padding: .6944444444vw 1.1111111111vw .6944444444vw .8333333333vw;
    gap: .2777777778vw
  }
}

@media (max-width: 1024px) {
  .header__search.btn {
    display: none !important
  }
}

.header__search.btn:before {
  content: unset
}

.header__search:hover {
  color: var(--clr-bg);
  background: var(--clr-primary-deep-blue)
}

.header__search:hover .header__search-icon * {
  fill: var(--clr-bg)
}

.header__search-icon {
  max-width: 26px
}

@media (max-width: 1440px) {
  .header__search-icon {
    max-width: 1.8055555556vw
  }
}

.header__search-icon * {
  transition: fill .3s
}

.layout {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column
}

.layout__main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative
}

.layout__main:has(.site__main) {
  min-height: 50vh
}

.layout__main:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -10;
  background: transparent;
  transition: background .3s
}

.layout__main.-hamburger-active:before {
  background: #21212180;
  z-index: 10
}
