@charset "UTF-8";
:root {
  --font-default: "Noto Sans JP", sans-serif;
  --font-base: "Noto Sans JP", sans-serif;
  --font-en: "Poppins", sans-serif;
  --font-montserrat: "Montserrat", sans-serif;
  --font-lato: "Lato", sans-serif;
  --font-quicksand: "Quicksand", sans-serif;
  --font-thin: 100 1em "Noto Sans JP", sans-serif;
  --font-extralight: 200 1em "Noto Sans JP", sans-serif;
  --font-light: 300 1em "Noto Sans JP", sans-serif;
  --font-normal: 400 1em "Noto Sans JP", sans-serif;
  --font-medium: 500 1em "Noto Sans JP", sans-serif;
  --font-semibold: 600 1em "Noto Sans JP", sans-serif;
  --font-bold: 700 1em "Noto Sans JP", sans-serif;
  --font-extrabold: 800 1em "Noto Sans JP", sans-serif;
  --font-black: 900 1em "Noto Sans JP", sans-serif;
  --font-en-thin: 100 1em "Poppins", sans-serif;
  --font-en-extralight: 200 1em "Poppins", sans-serif;
  --font-en-light: 300 1em "Poppins", sans-serif;
  --font-en-normal: 400 1em "Poppins", sans-serif;
  --font-en-medium: 500 1em "Poppins", sans-serif;
  --font-en-semibold: 600 1em "Poppins", sans-serif;
  --font-en-bold: 700 1em "Poppins", sans-serif;
  --font-en-extrabold: 800 1em "Poppins", sans-serif;
  --font-en-black: 900 1em "Poppins", sans-serif;
  --color-default: #2f2f2f;
  --color-text: #2f2f2f;
  --color-link: #1d3994;
  --color-base: #2f2f2f;
  --color-main: #2f2f2f;
  --color-main-100: rgba(47, 47, 47, 0.1);
  --color-main-200: rgba(47, 47, 47, 0.2);
  --color-main-300: rgba(47, 47, 47, 0.3);
  --color-main-400: rgba(47, 47, 47, 0.4);
  --color-main-500: rgba(47, 47, 47, 0.5);
  --color-main-600: rgba(47, 47, 47, 0.6);
  --color-main-700: rgba(47, 47, 47, 0.7);
  --color-main-800: rgba(47, 47, 47, 0.8);
  --color-main-900: rgba(47, 47, 47, 0.9);
  --color-black: #000;
  --color-black-100: rgba(0, 0, 0, 0.1);
  --color-black-200: rgba(0, 0, 0, 0.2);
  --color-black-300: rgba(0, 0, 0, 0.3);
  --color-black-400: rgba(0, 0, 0, 0.4);
  --color-black-500: rgba(0, 0, 0, 0.5);
  --color-black-600: rgba(0, 0, 0, 0.6);
  --color-black-700: rgba(0, 0, 0, 0.7);
  --color-black-800: rgba(0, 0, 0, 0.8);
  --color-black-900: rgba(0, 0, 0, 0.9);
  --color-gray: #999999;
  --color-gray-100: rgba(153, 153, 153, 0.1);
  --color-gray-200: rgba(153, 153, 153, 0.2);
  --color-gray-300: rgba(153, 153, 153, 0.3);
  --color-gray-400: rgba(153, 153, 153, 0.4);
  --color-gray-500: rgba(153, 153, 153, 0.5);
  --color-gray-600: rgba(153, 153, 153, 0.6);
  --color-gray-700: rgba(153, 153, 153, 0.7);
  --color-gray-800: rgba(153, 153, 153, 0.8);
  --color-gray-900: rgba(153, 153, 153, 0.9);
  --color-gray-01: #f7f5f5;
  --color-gray-02: #f5f5f5;
  --color-gray-03: #dcdcdc;
  --color-gray-04: #d2d2d2;
  --color-gray-05: #eeeeee;
  --color-gray-06: #c9c9c9;
  --color-gray-07: #dcdddd;
  --color-red: #F70000;
  --color-red-100: rgba(247, 0, 0, 0.1);
  --color-red-200: rgba(247, 0, 0, 0.2);
  --color-red-300: rgba(247, 0, 0, 0.3);
  --color-red-400: rgba(247, 0, 0, 0.4);
  --color-red-500: rgba(247, 0, 0, 0.5);
  --color-red-600: rgba(247, 0, 0, 0.6);
  --color-red-700: rgba(247, 0, 0, 0.7);
  --color-red-800: rgba(247, 0, 0, 0.8);
  --color-red-900: rgba(247, 0, 0, 0.9);
  --color-paleGrey: #f5f5f0;
  --color-lightYellowGrey: #ddddcc;
  --color-catBlu: #438ff4;
  --color-catGrn: #2eda83;
  --color-catOrn: #ff803b;
  --color-realEstate: #438ff4;
  --color-foreignEmployment: #2eda83;
  --color-hiroshimaForeigners: #ff803b;
  --color-blue: #387efa;
  --color-green: #6ab943;
  --color-yellow: #ffff00;
  --color-lightYellow: #f6f6ef;
  --color-lightYellow-1: #f6f5f0;
  --color-orange: #f39800;
  --color-pink: #ef6eae;
  --color-beige: #F8F0D3;
  --color-gradation-main: linear-gradient(90deg, rgb(175,235,161) 0%, rgb(100,229,179) 100%);
  --transition-fast-duration: 0.3s;
  --transition-fast-timing-function: ease-in-out;
  --transition-normal-duration: 0.6s;
  --transition-normal-timing-function: ease-in-out;
  --transition-slow-duration: 0.9s;
  --transition-slow-timing-function: ease-in-out;
}

html:has(body.modal-open) {
  overflow: hidden !important;
}

body.modal-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .sp\:w-auto {
    width: auto;
  }
}
.cpAllContent {
  margin-bottom: 120px;
  font-family: Noto Sans Japanese, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Hiragino Sans, ヒラギノ角ゴシック, メイリオ, Meiryo, sans-serif;
  font-family: Noto Sans JP, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Hiragino Sans, ヒラギノ角ゴシック, メイリオ, Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #0b2a3a;
}
@media (max-width: 1240px) {
  .cpAllContent {
    margin-bottom: 15.3225806452vw;
    font-size: 1.2903225806vw;
  }
}
@media (max-width: 767px) {
  .cpAllContent {
    margin-bottom: 13.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.cpAllContent.comp {
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.cpAllContent.--pickup {
  background: #d9d9d9;
}
.cpAllContent :where(a) {
  all: unset;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.cpAllContent :where(a):hover {
  text-decoration: none;
  opacity: 0.5;
}

.cpAllKv {
  padding-block: min(65px, 6.0185185185vw);
  background: linear-gradient(21deg, rgb(246, 215, 215) 0%, rgb(254, 239, 239) 100%);
}
@media (max-width: 767px) {
  .cpAllKv {
    padding-block: 6.6666666667vw;
  }
}
.cpAllKv__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(55px, 5.0925925926vw);
  max-width: 1080px;
  padding-inline: min(18px, 1.6666666667vw);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .cpAllKv__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
    padding-inline: 0;
  }
}
.cpAllKv__logoCircle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(340px, 31.4814814815vw);
  height: min(340px, 31.4814814815vw);
  padding-bottom: min(10px, 0.9259259259vw);
  border-radius: 50%;
  background: #fff;
}
@media (max-width: 767px) {
  .cpAllKv__logoCircle {
    width: 33.3333333333vw;
    height: 33.3333333333vw;
    padding-bottom: 1.3333333333vw;
  }
}
.cpAllKv__logoCircleImg {
  width: min(290px, 26.8518518519vw);
}
@media (max-width: 767px) {
  .cpAllKv__logoCircleImg {
    width: 28.4vw;
  }
}
.cpAllKv__textSub {
  font: var(--font-medium);
  font-size: min(30px, 2.7777777778vw);
  line-height: min(60px, 5.5555555556vw);
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .cpAllKv__textSub {
    font-size: 5.3333333333vw;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.06em;
  }
}
.cpAllKv__textSub .big {
  font-size: min(40px, 3.7037037037vw);
  text-decoration: underline;
  text-decoration-color: #f6bbbb;
  text-decoration-thickness: 0.15em;
  text-underline-offset: 0.3em;
}
@media (max-width: 767px) {
  .cpAllKv__textSub .big {
    font-size: 6.6666666667vw;
    text-decoration-thickness: 0.13em;
    text-underline-offset: 0.28em;
  }
}
.cpAllKv__textMain {
  margin-top: 0.3em;
  font: var(--font-bold);
  font-size: min(52px, 4.8148148148vw);
  letter-spacing: 0.07em;
}
@media (max-width: 767px) {
  .cpAllKv__textMain {
    font-size: 8.2666666667vw;
    text-align: center;
    letter-spacing: 0.05em;
  }
}

.cpAllList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(50px, 5vw);
  margin-top: 80px;
}
@media (max-width: 767px) {
  .cpAllList {
    gap: 5.3333333333vw;
    margin-top: 10.6666666667vw;
  }
}
.cpAllListItem {
  border-radius: min(10px, 1vw);
  border: 2px solid #cc0000;
  overflow: hidden;
}
@media (max-width: 767px) {
  .cpAllListItem {
    border-radius: 1.3333333333vw;
    border-width: 0.2666666667vw;
  }
}
.cpAllListItem__cpTerm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(14px, 1.4vw);
  padding-block: min(20px, 2vw);
  background: #fbf2db;
}
@media (max-width: 767px) {
  .cpAllListItem__cpTerm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2vw;
    padding-block: 4vw;
  }
}
.cpAllListItem__cpTermLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(120px, 12vw);
  height: min(30px, 3vw);
  padding-bottom: 0.1em;
  border-radius: min(14px, 1.4vw);
  background: #0b2a3a;
  font: var(--font-medium);
  font-size: min(18px, 1.8vw);
  letter-spacing: 0.12em;
  color: #fff;
}
@media (max-width: 767px) {
  .cpAllListItem__cpTermLabel {
    width: 24vw;
    height: 6.6666666667vw;
    border-radius: 3.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.cpAllListItem__cpTermDate {
  font: var(--font-bold);
  font-size: min(20px, 2vw);
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .cpAllListItem__cpTermDate {
    font-size: 4vw;
    letter-spacing: 0.05em;
  }
}
.cpAllListItem__body {
  padding: min(50px, 5vw);
  padding-bottom: min(40px, 4vw);
}
@media (max-width: 767px) {
  .cpAllListItem__body {
    padding: 4vw;
    padding-bottom: 8vw;
  }
}
.cpAllListItem__text {
  font: var(--font-medium);
  font-size: min(24px, 2.4vw);
  text-align: center;
  letter-spacing: 0.1em;
  margin-block: 1em;
}
@media (max-width: 767px) {
  .cpAllListItem__text {
    font-size: 4.5333333333vw;
    line-height: 6.4vw;
    text-align: left;
    letter-spacing: 0.05em;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.cpAllListItem__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(325px, 32.5vw);
  height: min(60px, 6vw);
  border-radius: min(30px, 3vw);
  font: var(--font-bold);
  background: #cc0000;
  letter-spacing: 0.15em;
  color: #fff;
  position: relative;
}
@media (max-width: 767px) {
  .cpAllListItem__button {
    width: 66.6666666667vw;
    height: 13.3333333333vw;
    border-radius: 6.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
.cpAllListItem__button:visited, .cpAllListItem__button:link {
  color: #fff;
}
.cpAllListItem__button:after {
  content: "";
  display: block;
  width: min(24px, 2.4vw);
  height: min(24px, 2.4vw);
  background: url(../img/icon_arrow_circle.png) 50%/cover no-repeat;
  position: absolute;
  top: 50%;
  right: min(20px, 2vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .cpAllListItem__button:after {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    right: 4vw;
  }
}
.cpAllListItem__button.ComoingSoon {
  background: #a0a0a0;
  color: #fff;
  pointer-events: none;
}
.cpAllListItem__button.ComoingSoon:after {
  content: none;
}