@charset "UTF-8";

/* =====================
  Custom properties
===================== */
:root {
  /* ==== フォント ==== */
  --Gothic: 'Local Noto Sans JP', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  --coiny: 'Coiny', system-ui;
  --normal: 500;
  --bold: 700;

  /* ==== サイズ ==== */
  --max: 100 * 1600px;
  --min: 100 * 960px;
  --full: 100 * 1920px;
  --width: 1440;

  @media screen and (max-height: 1000px) {
    --max: 100 * 1440px;
  }
  @media not all and (min-width: 768px) {
    --width: 390;
  }

  /* ==== 色 ==== */
  --color-text-primary: #0f2d5d;
  --color-white: #fff;
  --color-background: #fff;
  --color-accent-blue: #2466ff;
  --color-accent-yellow: #ffcb24;
  --color-accent-green: #00cd55;
  --color-accent-pink: #ff42aa;
  --color-accent-orange: #ff4f2c;
  --color-list-border: #babfc7;
  /*
  --color-link: #0076b1;
  --color-list-border02: #c4cacd; */

  /* ==== 装飾 ==== */
  --border: solid 1rem;
}

/* ==== テキスト選択時の色 ==== */
::selection {
  background: auto;
}

/* ==== フォームのplaceholder 文字色 ==== */
::placeholder {
  color: auto;
}

/* =====================
  hover
===================== */
@media (any-hover: hover) {
  a,
  button {
    transition: opacity 0.3s ease;
    &:hover {
      opacity: 0.8;
    }
  }
}

/* =====================
  fonts
===================== */
@font-face {
  font-family: 'Local Noto Sans JP';
  src: local('Noto Sans JP');
}

/* =====================
  common
===================== */
html {
  font-family: var(--Gothic);
  font-optical-sizing: auto;
  font-weight: var(--normal);
  font-style: normal;
  font-size: clamp(calc(1 / var(--width) * 100 / var(--min)), calc(1 / var(--width) * 100 * 1vw), calc(1 / var(--width) * 100 / var(--max)));
  line-height: 1.8;
  color: var(--color-text-primary);
  background-color: var(--color-background);
  background: url(/recruit/assets/img/common/bg-gray.webp) repeat center / 282px 282px;
  background-attachment: fixed;
  scroll-behavior: smooth;
  width: 100%;
  overflow-x: hidden;
}
body {
  font-size: 16rem;
  min-width: calc(var(--min) / 100);
  &.is-fixed {
    overflow: hidden;
    height: 100%;
  }
}
@media not all and (min-width: 768px) {
  html {
    font-size: calc(1 / var(--width) * 100 * 1vw);
  }
  body {
    font-size: 15rem;
    min-width: auto;
    width: 100%;
    overflow-x: hidden;
  }
  .pc {
    display: none;
  }
}

[id] {
  scroll-margin-top: var(--header-height);
}

/* PC */
@media print, screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

/* svg */
.svg-defs {
  width: 0;
  height: 0;
  display: none;
}

.icon--square {
  aspect-ratio: 1 / 1;
}

/* リスト */
.bracket-number-list {
  & li {
    list-style-type: none;
    counter-increment: cnt;
    display: grid;
    grid-template-columns: auto 1fr;
    &::before {
      content: '（' counter(cnt) '）';
    }
  }
}
.disc-list {
  > li {
    position: relative;
    padding-inline-start: 1em;
    &::before {
      content: '';
      position: absolute;
      left: 0;
      top: calc((1lh - 0.3em) / 2);
      background-color: var(--color-text-primary);
      width: 0.3em;
      height: 0.3em;
      border-radius: 50%;
      z-index: 1;
    }
  }
}

/* =====================
  utility
===================== */
.coiny {
  font-family: var(--coiny);
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  @supports (text-box-trim: trim-both) {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    padding-block: 0.2em;
    display: inline-block;
  }
}
.fwb {
  font-weight: var(--bold);
  letter-spacing: 0.02em;
}
.tac {
  text-align: center;
}
.tal[class] {
  text-align: left;
}
