@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* line 46, _settings.scss */
html {
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth; }
  /* line 49, _settings.scss */
  html.preload {
    font-size: 1px !important; }
    /* line 52, _settings.scss */
    html.preload * {
      transition: none !important;
      visibility: hidden;
      max-width: 100%; }
  @media (max-width: 767px) {
    /* line 46, _settings.scss */
    html {
      font-size: calc(var(--vw) / 384); } }
  @media (min-width: 767.1px) and (max-width: 1656px) {
    /* line 46, _settings.scss */
    html {
      font-size: calc(var(--vw) / 1380); } }
  @media (min-width: 1656.1px) {
    /* line 46, _settings.scss */
    html {
      font-size: 1.2px; } }
  @media print {
    /* line 46, _settings.scss */
    html {
      font-size: 0.2mm; } }

/* line 72, _settings.scss */
[id] {
  scroll-margin-top: 80rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 72, _settings.scss */
    [id] {
      scroll-margin-top: 120rem; } }

/* line 80, _settings.scss */
body {
  font-size: 15rem;
  font-weight: 400;
  color: #222222;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  word-break: break-word;
  min-width: 320rem;
  font-family: "IBM Plex Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  margin: 0;
  padding: 60rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 80, _settings.scss */
    body {
      padding-top: 90rem;
      font-size: 16rem; } }
  /* line 101, _settings.scss */
  body.modal_on {
    overflow: hidden; }

/* line 106, _settings.scss */
form {
  margin: 0;
  padding: 0; }

/* line 110, _settings.scss */
input, select, textarea, button {
  font-family: "IBM Plex Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  color: #222222;
  outline: none;
  font-size: 14rem;
  color: #222222; }
  @media screen and (min-width: 767.1px), print {
    /* line 110, _settings.scss */
    input, select, textarea, button {
      font-size: 16rem; } }

/* line 119, _settings.scss */
::placeholder {
  color: #aaa; }

/* line 123, _settings.scss */
[type="checkbox"],
[type="radio"] {
  transform: scale(1.4) translateY(5%);
  margin: 0px 5rem 0 0; }

/* line 128, _settings.scss */
select.placeholder:invalid {
  color: #aaa; }

/* line 129, _settings.scss */
select.placeholder option,
select.placeholder optgroup {
  color: #222222; }

/* line 131, _settings.scss */
select.placeholder > option:first-child {
  color: #D8DBEB; }

/* line 132, _settings.scss */
a {
  color: #000;
  text-decoration: underline;
  transition: color .3s, background .3s,transform .3s,opacity .3s;
  backface-visibility: hidden; }

/* line 138, _settings.scss */
svg {
  transition: fill .3s; }

@media screen and (min-width: 767.1px), print {
  /* line 142, _settings.scss */
  a:hover {
    opacity: .7; } }

/* line 148, _settings.scss */
button {
  cursor: pointer; }

/* line 152, _settings.scss */
.w-100 {
  width: 100rem !important; }

/* line 155, _settings.scss */
.w-150 {
  width: 150rem !important; }

/* line 158, _settings.scss */
.w-200 {
  width: 200rem !important; }

/* line 163, _settings.scss */
.tal {
  text-align: left; }

/* line 164, _settings.scss */
.tar {
  text-align: right; }

/* line 165, _settings.scss */
.tac {
  text-align: center; }

/* line 167, _settings.scss */
.fl {
  float: left; }

/* line 168, _settings.scss */
.fr {
  float: right; }

/* line 171, _settings.scss */
.mt0 {
  margin-top: 0 !important; }

/* line 172, _settings.scss */
.mb0 {
  margin-bottom: 0 !important; }

/* line 175, _settings.scss */
.def_margin {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 175, _settings.scss */
    .def_margin {
      margin-top: 64rem;
      margin-bottom: 64rem; } }

@media screen and (min-width: 767.1px), print {
  /* line 181, _settings.scss */
  .inner {
    width: 1200rem;
    margin: 0 auto; }

  /* line 186, _settings.scss */
  .narrow-width {
    width: 1000rem;
    margin: 0 auto; }

  /* line 191, _settings.scss */
  .full-width {
    margin-left: calc((100vw - var(--scrollbar-width, 0px) - 1200rem) / -2) !important;
    margin-right: calc((100vw - var(--scrollbar-width, 0px) - 1200rem) / -2) !important; }

  /* line 198, _settings.scss */
  .sp_only {
    display: none !important; }

  /* line 201, _settings.scss */
  .pc_tal {
    text-align: left; }

  /* line 202, _settings.scss */
  .pc_tar {
    text-align: right; }

  /* line 203, _settings.scss */
  .pc_tac {
    text-align: center; }

  /* line 205, _settings.scss */
  .pc_fl {
    float: left; }

  /* line 206, _settings.scss */
  .pc_fr {
    float: right; } }
@media screen and (max-width: 767px) {
  /* line 214, _settings.scss */
  .sp_tal {
    text-align: left; }

  /* line 215, _settings.scss */
  .sp_tar {
    text-align: right; }

  /* line 216, _settings.scss */
  .sp_tac {
    text-align: center; }

  /* line 218, _settings.scss */
  .sp_fl {
    float: left; }

  /* line 219, _settings.scss */
  .sp_fr {
    float: right; }

  /* line 221, _settings.scss */
  .inner {
    width: 100%;
    padding: 0 16rem;
    box-sizing: border-box; }

  /* line 227, _settings.scss */
  .full-width {
    margin-left: -16rem !important;
    margin-right: -16rem !important; }

  /* line 233, _settings.scss */
  .pc_only {
    display: none !important; } }
/* line 238, _settings.scss */
#contents {
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 238, _settings.scss */
    #contents {
      margin-bottom: 80rem; } }

/* line 248, _settings.scss */
img.round {
  border-radius: 5rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 248, _settings.scss */
    img.round {
      border-radius: 10rem; } }

/* line 255, _settings.scss */
img.round2 {
  border-radius: 5rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 255, _settings.scss */
    img.round2 {
      border-radius: 5rem; } }

/* line 263, _settings.scss */
img.circle {
  border-radius: 1000rem;
  aspect-ratio: 1;
  object-fit: cover; }

/* line 269, _settings.scss */
img.border {
  border: 1px solid #D8DBEB;
  box-sizing: border-box; }

/* line 274, _settings.scss */
.font-adjust {
  display: inline-block;
  transform: translateY(0.1em); }

@-moz-document url-prefix() {}
/* line 284, _settings.scss */
i:has(svg) {
  line-height: 1px; }

/* line 288, _settings.scss */
input, textarea, select {
  box-sizing: border-box; }

/* line 291, _settings.scss */
svg {
  aspect-ratio: 1; }

/* line 295, _settings.scss */
b, strong {
  font-weight: 600; }

/* line 298, _settings.scss */
em {
  font-style: normal; }

/* line 303, _settings.scss */
.component_label {
  background: #333;
  color: #fff;
  font-style: normal;
  font-size: 9rem;
  display: table;
  padding: 5rem 15rem 4rem;
  margin: 50rem auto 30rem;
  position: relative;
  line-height: 1;
  border-radius: 100rem; }
  /* line 314, _settings.scss */
  .component_label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90vw;
    transform: translate(-50%, -50%);
    border-top: 1px dashed #333;
    height: 0;
    z-index: -1; }

/* line 329, _settings.scss */
.ellipsis {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  line-clamp: 1;
  -webkit-line-clamp: 1; }
  /* line 336, _settings.scss */
  .ellipsis._2line {
    line-clamp: 2;
    -webkit-line-clamp: 2; }
  /* line 340, _settings.scss */
  .ellipsis._3line {
    line-clamp: 3;
    -webkit-line-clamp: 3; }
  /* line 344, _settings.scss */
  .ellipsis._4line {
    line-clamp: 4;
    -webkit-line-clamp: 4; }

/* CSS Document */
/* line 4, _parts.scss */
section,
nav,
header,
footer,
article,
figure {
  margin: 0;
  padding: 0; }

/* line 14, _parts.scss */
p {
  margin: 16rem 0 16rem 0; }
  /* line 16, _parts.scss */
  p:first-child {
    margin-top: 0; }
  /* line 19, _parts.scss */
  p:last-child {
    margin-bottom: 0; }
  /* line 22, _parts.scss */
  p a {
    color: #4761F4; }
  /* line 25, _parts.scss */
  p._small {
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 25, _parts.scss */
      p._small {
        font-size: 14rem; } }
  /* line 32, _parts.scss */
  p._large {
    font-size: 18rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 32, _parts.scss */
      p._large {
        font-size: 24rem; } }

/* line 40, _parts.scss */
figure.image {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 40, _parts.scss */
    figure.image {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 42, _parts.scss */
  figure.image figcaption {
    margin: 8rem 0 0;
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 42, _parts.scss */
      figure.image figcaption {
        font-size: 14rem; } }

/* line 52, _parts.scss */
img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

/* line 61, _parts.scss */
hr {
  margin-top: 32rem;
  margin-bottom: 32rem;
  border: none;
  border-top: 1px solid #D8DBEB; }
  @media screen and (min-width: 767.1px), print {
    /* line 61, _parts.scss */
    hr {
      margin-top: 64rem;
      margin-bottom: 64rem; } }

/* line 67, _parts.scss */
input, button.select {
  font-family: "IBM Plex Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  outline: none;
  box-sizing: border-box; }

/* line 73, _parts.scss */
section {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 73, _parts.scss */
    section {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 75, _parts.scss */
  section:has(.text_kv), section:has(.slides_kv) {
    margin-top: 0; }

/* line 83, _parts.scss */
.entry_body p,
.entry_lead p {
  line-height: 2.25; }

/* 古い余白調整 */
/* line 91, _parts.scss */
.spacer_s {
  margin: 16rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 91, _parts.scss */
    .spacer_s {
      margin: 32rem 0 0; } }

/* line 98, _parts.scss */
.spacer_m {
  margin: 24rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 98, _parts.scss */
    .spacer_m {
      margin: 48rem 0 0; } }

/* line 105, _parts.scss */
.spacer_l {
  margin: 32rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 105, _parts.scss */
    .spacer_l {
      margin: 64rem 0 0; } }

/* line 112, _parts.scss */
.spacer_ll {
  margin: 40rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 112, _parts.scss */
    .spacer_ll {
      margin: 80rem 0 0; } }

/* line 119, _parts.scss */
.spacer_minus {
  margin: 16rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 119, _parts.scss */
    .spacer_minus {
      margin: 32rem 0 0; } }

/* line 126, _parts.scss */
*:has(+ .spacer_none),
*:has(+ .spacer_minus) {
  margin-bottom: 0 !important; }

/* line 130, _parts.scss */
.spacer_none + *,
.spacer_minus + * {
  margin-top: 0 !important; }

/* 古い余白調整ここまで */
/* line 139, _parts.scss */
.margin_change.mg0 {
  height: 0; }
/* line 142, _parts.scss */
.margin_change.mg16 {
  height: 8rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 142, _parts.scss */
    .margin_change.mg16 {
      height: 16rem; } }
/* line 148, _parts.scss */
.margin_change.mg32 {
  height: 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 148, _parts.scss */
    .margin_change.mg32 {
      height: 32rem; } }
/* line 154, _parts.scss */
.margin_change.mg48 {
  height: 24rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 154, _parts.scss */
    .margin_change.mg48 {
      height: 48rem; } }
/* line 160, _parts.scss */
.margin_change.mg64 {
  height: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 160, _parts.scss */
    .margin_change.mg64 {
      height: 64rem; } }
/* line 166, _parts.scss */
.margin_change.mg80 {
  height: 40rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 166, _parts.scss */
    .margin_change.mg80 {
      height: 80rem; } }
/* line 172, _parts.scss */
.margin_change.mg100 {
  height: 50rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 172, _parts.scss */
    .margin_change.mg100 {
      height: 100rem; } }

/* line 180, _parts.scss */
*:has(+ .margin_change) {
  margin-bottom: 0 !important; }

/* line 183, _parts.scss */
.margin_change + * {
  margin-top: 0 !important; }

/*------------------------------------------*/
/* line 192, _parts.scss */
.btns {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  grid-gap: 16rem;
  margin: 16rem 0; }
  @media screen and (max-width: 767px) {
    /* line 192, _parts.scss */
    .btns {
      justify-content: center !important; } }
  @media screen and (min-width: 767.1px), print {
    /* line 192, _parts.scss */
    .btns {
      grid-gap: 32rem;
      margin: 24rem 0; } }
  /* line 205, _parts.scss */
  .btns:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    /* line 192, _parts.scss */
    .btns {
      justify-content: center; } }
  @media screen and (min-width: 767.1px), print {
    /* line 212, _parts.scss */
    .btns._center {
      justify-content: center; }
    /* line 215, _parts.scss */
    .btns._left {
      justify-content: flex-start; }
    /* line 218, _parts.scss */
    .btns._right {
      justify-content: flex-end; } }
  @media screen and (max-width: 767px) {
    /* line 222, _parts.scss */
    .btns._sp_center {
      justify-content: center; } }
  @media screen and (max-width: 767px) {
    /* line 227, _parts.scss */
    .btns._pc_center {
      justify-content: center; } }

/*------------------------------------------*/
/* line 238, _parts.scss */
.btn_primary {
  display: inline-grid;
  justify-content: space-between;
  align-items: center;
  border-radius: 100rem;
  padding: 0 13rem 0 30rem;
  line-height: 1;
  font-size: 14rem;
  text-decoration: none !important;
  grid-gap: 10rem;
  font-weight: 600;
  border: 1px solid #4761F4;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
  grid-template-columns: 1fr 30rem;
  width: 275rem;
  height: 45rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 238, _parts.scss */
    .btn_primary {
      padding: 0 16rem 0 32rem;
      font-size: 16rem;
      min-width: 320rem;
      width: auto;
      height: 60rem;
      grid-gap: 20rem;
      grid-template-columns: 1fr 40rem; } }
  /* line 265, _parts.scss */
  .btn_primary > span {
    position: relative; }
  /* line 268, _parts.scss */
  .btn_primary i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30rem;
    height: 18rem;
    border-radius: 100rem;
    position: relative;
    transition: background .3s; }
    @media screen and (min-width: 767.1px), print {
      /* line 268, _parts.scss */
      .btn_primary i {
        width: 40rem;
        height: 24rem; } }
    /* line 281, _parts.scss */
    .btn_primary i svg {
      width: 10rem;
      height: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 281, _parts.scss */
        .btn_primary i svg {
          width: 14rem;
          height: 14rem; } }
  /* line 290, _parts.scss */
  .btn_primary._bl {
    background: #4761F4;
    color: #fff;
    border-color: #4761F4; }
    /* line 294, _parts.scss */
    .btn_primary._bl i {
      background: #fff; }
      /* line 296, _parts.scss */
      .btn_primary._bl i svg {
        fill: #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 301, _parts.scss */
      a:hover .btn_primary._bl, .btn_primary._bl:hover {
        background: #fff;
        color: #4761F4;
        opacity: 1; }
        /* line 306, _parts.scss */
        a:hover .btn_primary._bl i, .btn_primary._bl:hover i {
          background: #4761F4; }
          /* line 308, _parts.scss */
          a:hover .btn_primary._bl i svg, .btn_primary._bl:hover i svg {
            fill: #fff; } }
  /* line 315, _parts.scss */
  .btn_primary._or {
    position: relative;
    color: #fff;
    background: #FF3C22;
    border: none;
    padding: 0 14rem 0 31rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 315, _parts.scss */
      .btn_primary._or {
        padding: 0 17rem 0 41rem; } }
    /* line 324, _parts.scss */
    .btn_primary._or::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: linear-gradient(90deg, #FFA318 0%, #FF7322 100%);
      opacity: 1;
      transition: opacity .3s;
      border-radius: 100rem; }
    /* line 336, _parts.scss */
    .btn_primary._or i {
      background: #fff; }
      /* line 338, _parts.scss */
      .btn_primary._or i svg {
        fill: #FFA318; }
    @media screen and (min-width: 767.1px), print {
      /* line 343, _parts.scss */
      a:hover .btn_primary._or, .btn_primary._or:hover {
        opacity: 1; }
        /* line 346, _parts.scss */
        a:hover .btn_primary._or::before, .btn_primary._or:hover::before {
          opacity: 0; } }
  /* line 352, _parts.scss */
  .btn_primary._wh {
    background: #fff;
    color: #4761F4;
    border-color: #4761F4; }
    /* line 356, _parts.scss */
    .btn_primary._wh i {
      background: #4761F4; }
      /* line 358, _parts.scss */
      .btn_primary._wh i svg {
        fill: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 363, _parts.scss */
      a:hover .btn_primary._wh, .btn_primary._wh:hover {
        background: #4761F4;
        color: #fff;
        border-color: #fff;
        opacity: 1; }
        /* line 369, _parts.scss */
        a:hover .btn_primary._wh i, .btn_primary._wh:hover i {
          background: #fff; }
          /* line 371, _parts.scss */
          a:hover .btn_primary._wh i svg, .btn_primary._wh:hover i svg {
            fill: #4761F4; } }

/* line 380, _parts.scss */
.btn_secondary {
  display: inline-flex;
  align-items: center;
  border-radius: 100rem;
  padding: 0;
  line-height: 1;
  font-size: 15rem;
  text-decoration: none !important;
  grid-gap: 10rem;
  font-weight: 600;
  box-sizing: border-box; }
  @media screen and (min-width: 767.1px), print {
    /* line 380, _parts.scss */
    .btn_secondary {
      font-size: 16rem; } }
  /* line 394, _parts.scss */
  .btn_secondary i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 38rem;
    height: 23rem;
    border-radius: 100rem;
    transition: background .3s; }
    @media screen and (min-width: 767.1px), print {
      /* line 394, _parts.scss */
      .btn_secondary i {
        width: 40rem;
        height: 24rem; } }
    /* line 406, _parts.scss */
    .btn_secondary i svg {
      width: 10rem;
      height: 10rem; }
  /* line 411, _parts.scss */
  .btn_secondary._bl {
    color: #4761F4; }
    /* line 413, _parts.scss */
    .btn_secondary._bl i {
      background: #4761F4; }
      /* line 415, _parts.scss */
      .btn_secondary._bl i svg {
        fill: #fff; }
  /* line 420, _parts.scss */
  .btn_secondary._or {
    color: #FFA318; }
    /* line 422, _parts.scss */
    .btn_secondary._or i {
      background: #FFA318; }
      /* line 424, _parts.scss */
      .btn_secondary._or i svg {
        fill: #fff; }
  /* line 429, _parts.scss */
  .btn_secondary._wh {
    background: #4761F4;
    color: #fff;
    border: 1px solid #4761F4; }
    /* line 433, _parts.scss */
    .btn_secondary._wh i {
      background: #fff; }
      /* line 435, _parts.scss */
      .btn_secondary._wh i svg {
        fill: #4761F4; }

/* line 443, _parts.scss */
.btn_list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100rem;
  padding: 13rem 30rem;
  box-sizing: border-box;
  width: 100%;
  line-height: 1;
  font-size: 14rem;
  text-decoration: none !important;
  grid-gap: 8rem;
  font-weight: 600;
  border: 1px solid #4761F4;
  color: #4761F4; }
  @media screen and (min-width: 767.1px), print {
    /* line 443, _parts.scss */
    .btn_list {
      height: 60rem;
      font-size: 18rem;
      grid-gap: 10rem; } }
  /* line 464, _parts.scss */
  .btn_list i svg {
    width: 14rem;
    height: 11rem;
    fill: #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 464, _parts.scss */
      .btn_list i svg {
        width: 24rem;
        height: 18rem; } }

/* line 478, _parts.scss */
.btn_small {
  height: 45rem;
  line-height: 1;
  border-radius: 100rem;
  display: grid;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  padding: 0 24rem;
  box-sizing: border-box;
  font-weight: 600;
  color: #fff;
  position: relative;
  overflow: hidden; }
  /* line 492, _parts.scss */
  .btn_small span {
    position: relative; }
  /* line 495, _parts.scss */
  .btn_small._wh {
    color: #4761F4;
    border: 1px solid #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 498, _parts.scss */
      .btn_small._wh:hover {
        background: #4761F4;
        color: #fff;
        opacity: 1; } }
  /* line 506, _parts.scss */
  .btn_small._or {
    background: linear-gradient(90deg, #FFA318 0%, #FF7322 100%); }
    /* line 508, _parts.scss */
    .btn_small._or::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(90deg, #FF7322 0%, #FF3C22 100%);
      opacity: 0;
      transition: .3s; }
    @media screen and (min-width: 767.1px), print {
      /* line 520, _parts.scss */
      .btn_small._or:hover {
        opacity: 1; }
        /* line 523, _parts.scss */
        .btn_small._or:hover::before {
          opacity: 1; } }

/*------------------------------------------*/
/* 背景色 =============================================*/
/* line 537, _parts.scss */
.colorbg {
  margin-top: 48rem;
  margin-bottom: 48rem;
  padding-top: 32rem;
  padding-bottom: 32rem;
  overflow: hidden; }
  @media screen and (min-width: 767.1px), print {
    /* line 537, _parts.scss */
    .colorbg {
      padding-top: 64rem;
      padding-bottom: 64rem;
      margin-top: 88rem;
      margin-bottom: 88rem; } }
  /* line 549, _parts.scss */
  .colorbg._bl {
    background: #E2F4FF; }
  /* line 552, _parts.scss */
  .colorbg .inner > :first-child {
    margin-top: 0; }
  /* line 555, _parts.scss */
  .colorbg .inner > :last-child {
    margin-bottom: 0; }

/* 見出し =============================================*/
/* line 562, _parts.scss */
h1, h2, h3, h4, h5 {
  padding: 0;
  line-height: 1.4;
  color: #4761F4;
  font-weight: 600; }
  /* line 567, _parts.scss */
  h1 .sub, h2 .sub, h3 .sub, h4 .sub, h5 .sub {
    font-size: 65%;
    display: block;
    margin-bottom: 0.2em; }
  /* line 572, _parts.scss */
  .grid h1, .slides h1, .microcopy + h1, .microcopy2 + h1, h1:first-child, .grid h2, .slides h2, .microcopy + h2, .microcopy2 + h2, h2:first-child, .grid h3, .slides h3, .microcopy + h3, .microcopy2 + h3, h3:first-child, .grid h4, .slides h4, .microcopy + h4, .microcopy2 + h4, h4:first-child, .grid h5, .slides h5, .microcopy + h5, .microcopy2 + h5, h5:first-child {
    margin-top: 0; }
  /* line 579, _parts.scss */
  h1 + *, h2 + *, h3 + *, h4 + *, h5 + * {
    margin-top: 0 !important; }

/* line 584, _parts.scss */
h1 {
  font-size: 24rem;
  margin: 2.5em 0 1em; }
  @media screen and (min-width: 767.1px), print {
    /* line 584, _parts.scss */
    h1 {
      font-size: 36rem; } }

/* line 591, _parts.scss */
h2 {
  font-size: 20rem;
  margin: 2.5em 0 1em; }
  @media screen and (min-width: 767.1px), print {
    /* line 591, _parts.scss */
    h2 {
      font-size: 30rem; } }

/* line 598, _parts.scss */
h3 {
  font-size: 20rem;
  margin: 1.5em 0 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 598, _parts.scss */
    h3 {
      font-size: 24rem;
      margin: 2em 0 16rem; } }

/* line 606, _parts.scss */
h4 {
  font-size: 18rem;
  margin: 1.5em 0 1em; }
  @media screen and (min-width: 767.1px), print {
    /* line 606, _parts.scss */
    h4 {
      margin: 2em 0 16rem;
      font-size: 18rem; } }

/* line 614, _parts.scss */
h5 {
  font-size: 18rem;
  margin: 1.5em 0 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 614, _parts.scss */
    h5 {
      margin: 2em 0 16rem;
      font-size: 18rem; } }

/* line 623, _parts.scss */
h3.with_icon {
  display: grid;
  grid-template-columns: 36rem 1fr;
  grid-gap: 10rem;
  align-items: center; }
  @media screen and (max-width: 767px) {
    /* line 623, _parts.scss */
    h3.with_icon {
      font-size: 18rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 623, _parts.scss */
    h3.with_icon {
      grid-template-columns: 42rem 1fr; } }
  /* line 634, _parts.scss */
  h3.with_icon i {
    display: flex;
    aspect-ratio: 1;
    background: #4761F4;
    justify-content: center;
    align-items: center;
    border-radius: 100rem; }
  /* line 642, _parts.scss */
  h3.with_icon svg {
    width: 16rem;
    fill: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 642, _parts.scss */
      h3.with_icon svg {
        width: 20rem; } }

/* line 652, _parts.scss */
.hw_type1 {
  margin: 0 0 20rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 652, _parts.scss */
    .hw_type1 {
      margin: 0 0 32rem; } }
  /* line 657, _parts.scss */
  .hw_type1 .en {
    font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
    font-weight: 600;
    font-size: 12rem;
    display: flex;
    align-items: center;
    grid-gap: 5rem;
    margin: 0 0 0.8em; }
    @media screen and (min-width: 767.1px), print {
      /* line 657, _parts.scss */
      .hw_type1 .en {
        font-size: 18rem; } }
    /* line 668, _parts.scss */
    .hw_type1 .en::before {
      content: "";
      width: 8rem;
      height: 3rem;
      background: #222222;
      border-radius: 100rem;
      display: block; }
      @media screen and (min-width: 767.1px), print {
        /* line 668, _parts.scss */
        .hw_type1 .en::before {
          width: 12rem;
          height: 5rem; } }
  /* line 681, _parts.scss */
  .hw_type1 .ja {
    font-size: 22rem;
    line-height: 1.5;
    color: #4761F4;
    display: block;
    font-weight: 600;
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 681, _parts.scss */
      .hw_type1 .ja {
        font-size: 36rem; } }

/* line 696, _parts.scss */
.hw_type2 {
  font-size: 18rem;
  line-height: 1.5;
  color: #4761F4;
  font-weight: 600;
  margin: 0 0 1em; }
  @media screen and (min-width: 767.1px), print {
    /* line 696, _parts.scss */
    .hw_type2 {
      font-size: 28rem; } }

/* line 707, _parts.scss */
.hw_type3 {
  font-size: 18rem;
  line-height: 1.5;
  color: #222222;
  font-weight: bold;
  margin: 0 0 1em; }
  @media screen and (min-width: 767.1px), print {
    /* line 707, _parts.scss */
    .hw_type3 {
      font-size: 24rem; } }

/* line 720, _parts.scss */
.microcopy {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: flex-end;
  font-weight: 600;
  font-size: 12rem;
  line-height: 1.2;
  grid-gap: 0.7em;
  margin: 0 0 8rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 720, _parts.scss */
    .microcopy {
      font-size: 16rem;
      margin: 0 0 16rem; } }
  /* line 734, _parts.scss */
  .microcopy i {
    display: block; }
    /* line 736, _parts.scss */
    .microcopy i svg {
      aspect-ratio: 19/28;
      width: 12rem;
      stroke: #222; }
      @media screen and (min-width: 767.1px), print {
        /* line 736, _parts.scss */
        .microcopy i svg {
          width: 18rem; } }
    /* line 744, _parts.scss */
    .microcopy i:last-child {
      transform: scaleX(-1); }
  /* line 748, _parts.scss */
  .microcopy .font-adjust {
    transform: none; }

/* line 753, _parts.scss */
.microcopy2 {
  display: table;
  text-align: center;
  font-weight: 600;
  font-size: 15rem;
  line-height: 1.2;
  margin: 0 auto 8rem;
  color: #384695;
  border: 1px solid #384695;
  border-radius: 4rem;
  padding: 2rem 10rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 753, _parts.scss */
    .microcopy2 {
      font-size: 18rem; } }
  /* line 767, _parts.scss */
  .microcopy2 i {
    display: none; }

/* 註釈 =============================================*/
/* line 776, _parts.scss */
ul.notes {
  margin: 16rem 0 0;
  padding: 0;
  font-size: 12rem;
  line-height: 1.6;
  display: grid;
  grid-gap: 5rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 776, _parts.scss */
    ul.notes {
      grid-gap: 8rem;
      font-size: 14rem; }
      /* line 786, _parts.scss */
      ul.notes.center {
        text-align: center; } }
  /* line 790, _parts.scss */
  ul.notes li {
    margin: 0;
    padding: 0 0 0 1em;
    text-indent: -1em;
    list-style: none; }
    /* line 795, _parts.scss */
    ul.notes li::before {
      content: "※";
      display: inline-block;
      width: 1em;
      text-indent: 0; }
  /* line 802, _parts.scss */
  ul.notes a {
    color: #4761F4; }

/* line 807, _parts.scss */
ul.list_dot,
ul.notes_dot {
  margin: 16rem 0 0;
  padding: 0;
  line-height: 1.6;
  display: grid;
  grid-gap: 5rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 807, _parts.scss */
    ul.list_dot,
    ul.notes_dot {
      grid-gap: 8rem; } }
  /* line 817, _parts.scss */
  ul.list_dot li,
  ul.notes_dot li {
    margin: 0;
    padding: 0 0 0 1em;
    list-style: none;
    position: relative; }
    /* line 822, _parts.scss */
    ul.list_dot li::before,
    ul.notes_dot li::before {
      position: absolute;
      top: 0;
      left: 0;
      content: "●";
      display: block;
      font-size: 10rem;
      transform: scale(0.6) translateY(3rem); }
      @media screen and (min-width: 767.1px), print {
        /* line 822, _parts.scss */
        ul.list_dot li::before,
        ul.notes_dot li::before {
          transform: scale(0.6) translateY(4rem); } }
  /* line 835, _parts.scss */
  ul.list_dot a,
  ul.notes_dot a {
    color: #4761F4; }

/* line 840, _parts.scss */
ul.notes_dot {
  font-size: 12rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 840, _parts.scss */
    ul.notes_dot {
      font-size: 14rem; } }

/* line 848, _parts.scss */
ul.text_links {
  margin: 16rem 0 0;
  padding: 0;
  line-height: 1.6;
  display: grid;
  grid-gap: 5rem; }
  /* line 854, _parts.scss */
  ul.text_links li {
    margin: 0;
    padding: 0;
    list-style: none; }
  /* line 859, _parts.scss */
  ul.text_links a {
    display: inline-grid;
    grid-template-columns: 23rem 1fr;
    align-items: flex-start;
    border-radius: 100rem;
    font-size: 13rem;
    text-decoration: none !important;
    grid-gap: 6rem;
    box-sizing: border-box;
    color: #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 859, _parts.scss */
      ul.text_links a {
        font-size: 14rem;
        grid-template-columns: 30rem 1fr; } }
    /* line 873, _parts.scss */
    ul.text_links a i {
      display: flex;
      justify-content: center;
      align-items: center;
      aspect-ratio: 38/23;
      border-radius: 100rem;
      transition: background .3s;
      background: #4761F4;
      transform: translateY(0.2em); }
      /* line 884, _parts.scss */
      ul.text_links a i svg {
        width: 10rem;
        height: 10rem;
        fill: #fff; }

/* ぱんくず =============================================*/
/* line 898, _parts.scss */
.bread {
  margin: 48rem 0 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 898, _parts.scss */
    .bread {
      margin: 96rem 0 24rem; } }
  /* line 903, _parts.scss */
  .bread ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap; }
    /* line 908, _parts.scss */
    .bread ul li {
      margin: 0;
      padding: 0;
      list-style: none;
      font-size: 12rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 908, _parts.scss */
        .bread ul li {
          font-size: 14rem; } }
      /* line 916, _parts.scss */
      .bread ul li::after {
        content: "＞";
        display: inline-block;
        margin: 0 5rem; }
      /* line 921, _parts.scss */
      .bread ul li:last-child {
        cursor: text; }
        /* line 923, _parts.scss */
        .bread ul li:last-child a {
          pointer-events: none; }
      /* line 928, _parts.scss */
      .bread ul li:last-child::after {
        display: none; }
  /* line 933, _parts.scss */
  .bread a {
    text-decoration: none !important; }
    /* line 935, _parts.scss */
    .bread a:hover {
      color: #4761F4;
      opacity: 1; }

/* 表組 =============================================*/
/* line 945, _parts.scss */
.table_wrap2 {
  margin-top: 32rem;
  margin-bottom: 32rem;
  overflow: hidden; }
  @media screen and (min-width: 767.1px), print {
    /* line 945, _parts.scss */
    .table_wrap2 {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (max-width: 767px) {
    /* line 945, _parts.scss */
    .table_wrap2 {
      margin-left: -16rem;
      margin-right: -16rem; } }

/* line 953, _parts.scss */
.table_wrap {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 767.1px), print {
    /* line 953, _parts.scss */
    .table_wrap {
      overflow: visible !important; } }
  @media screen and (max-width: 767px) {
    /* line 953, _parts.scss */
    .table_wrap {
      max-width: 200% !important;
      overflow-x: auto;
      padding: 0 16rem 10rem; }
      /* line 964, _parts.scss */
      .table_wrap .scroll-hint-icon {
        top: 50%;
        transform: translateY(-50%); } }
  /* line 971, _parts.scss */
  .table_wrap table {
    border-collapse: collapse;
    border: 1px solid #D8DBEB;
    width: 100%;
    background: #fff; }
    @media screen and (max-width: 767px) {
      /* line 971, _parts.scss */
      .table_wrap table {
        width: 800rem !important; }
        /* line 978, _parts.scss */
        .table_wrap table:before {
          position: absolute;
          top: 0;
          left: 100%;
          width: 16rem;
          /* padding-right分 */
          height: 1rem;
          content: ''; } }
    /* line 987, _parts.scss */
    .table_wrap table th, .table_wrap table td {
      padding: 5rem 10rem;
      border: 1px solid #D8DBEB; }
    /* line 991, _parts.scss */
    .table_wrap table a {
      color: #4761F4; }

/* アコーディオン =============================================*/
/* line 1001, _parts.scss */
.accordion_head {
  cursor: pointer;
  transition: opacity .3s; }
  @media screen and (min-width: 767.1px), print {
    /* line 1005, _parts.scss */
    .accordion_head:hover {
      opacity: .7; } }
  /* line 1010, _parts.scss */
  .accordion_head.active i svg {
    transform: rotate(180deg); }
  /* line 1014, _parts.scss */
  .accordion_head i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30rem;
    height: 18rem;
    border-radius: 100rem;
    position: relative;
    transition: background .3s;
    background: #4761F4;
    align-self: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 1014, _parts.scss */
      .accordion_head i {
        width: 40rem;
        height: 24rem; } }
    /* line 1029, _parts.scss */
    .accordion_head i svg {
      width: 10rem;
      height: 10rem;
      fill: #fff; }
      @media screen and (min-width: 767.1px), print {
        /* line 1029, _parts.scss */
        .accordion_head i svg {
          width: 14rem;
          height: 14rem; } }

/* line 1041, _parts.scss */
.accordion_body {
  display: none; }

/* お知らせ =============================================*/
/* line 1047, _parts.scss */
.news_list2 {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1047, _parts.scss */
    .news_list2 {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1049, _parts.scss */
  .news_list2 dl {
    margin: 0 0 16rem;
    padding: 0;
    border-top: 1px solid #D8DBEB; }
    @media screen and (min-width: 767.1px), print {
      /* line 1049, _parts.scss */
      .news_list2 dl {
        margin: 0 0 32rem; } }
    /* line 1056, _parts.scss */
    .news_list2 dl > div {
      display: grid;
      align-items: center;
      border-bottom: 1px solid #D8DBEB;
      padding: 16rem 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 1056, _parts.scss */
        .news_list2 dl > div {
          grid-template-columns: 120rem 1fr;
          padding: 20rem;
          grid-gap: 20rem; } }
    /* line 1067, _parts.scss */
    .news_list2 dl dt {
      color: #4761F4;
      margin: 0;
      padding: 0;
      font-weight: 600;
      font-size: 12rem; }
    /* line 1074, _parts.scss */
    .news_list2 dl dd {
      margin: 0;
      padding: 0; }
    /* line 1078, _parts.scss */
    .news_list2 dl a {
      display: grid;
      grid-template-columns: 1fr 38rem;
      text-decoration: none !important;
      align-items: center;
      grid-gap: 16rem;
      line-height: 1.6; }
      @media screen and (min-width: 767.1px), print {
        /* line 1078, _parts.scss */
        .news_list2 dl a {
          grid-template-columns: 1fr 40rem; }
          /* line 1087, _parts.scss */
          .news_list2 dl a:hover {
            color: #4761F4;
            opacity: 1; }
            /* line 1090, _parts.scss */
            .news_list2 dl a:hover i {
              opacity: .7; } }
    /* line 1096, _parts.scss */
    .news_list2 dl i {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 38rem;
      height: 23rem;
      border-radius: 100rem;
      background: #4761F4;
      transition: background .3s, opacity .3s; }
      @media screen and (min-width: 767.1px), print {
        /* line 1096, _parts.scss */
        .news_list2 dl i {
          width: 40rem;
          height: 24rem; } }
      /* line 1109, _parts.scss */
      .news_list2 dl i svg {
        width: 10rem;
        height: 10rem;
        fill: #fff; }

/* タグ表示 =============================================*/
/* line 1121, _parts.scss */
ul.tags {
  margin: 0;
  padding: 0;
  display: flex;
  grid-gap: 5rem;
  flex-wrap: wrap; }
  @media screen and (min-width: 767.1px), print {
    /* line 1121, _parts.scss */
    ul.tags {
      grid-gap: 8rem; } }
  /* line 1130, _parts.scss */
  ul.tags li {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 11rem;
    box-sizing: border-box;
    line-height: 1;
    border-radius: 100rem;
    padding: 0.5em 10rem 0.25em; }
    @media screen and (min-width: 767.1px), print {
      /* line 1130, _parts.scss */
      ul.tags li {
        font-size: 13rem; } }
    /* line 1144, _parts.scss */
    ul.tags li.secondary {
      border: 1px solid #384695;
      color: #384695; }
    /* line 1148, _parts.scss */
    ul.tags li:has(a), ul.tags li:has(em), ul.tags li:has(span) {
      border-radius: 0;
      padding: 0; }
    /* line 1154, _parts.scss */
    ul.tags li a {
      display: block;
      text-decoration: none !important;
      border-radius: 100rem;
      padding: 0.5em 10rem 0.25em;
      background: #384695;
      color: #fff;
      border: 1px solid #384695; }
    /* line 1163, _parts.scss */
    ul.tags li em {
      display: block;
      text-decoration: none !important;
      border-radius: 100rem;
      padding: 0.5em 10rem 0.25em;
      background: #FFA318;
      color: #fff;
      border: 1px solid #FFA318; }
    /* line 1172, _parts.scss */
    ul.tags li span {
      display: block;
      text-decoration: none !important;
      border-radius: 100rem;
      padding: 0.5em 10rem 0.25em;
      border: 1px solid #384695;
      color: #384695; }

/* line 1183, _parts.scss */
ul.tags2 {
  margin: 0;
  padding: 0;
  display: flex;
  grid-gap: 5rem 10rem;
  flex-wrap: wrap; }
  @media screen and (min-width: 767.1px), print {
    /* line 1183, _parts.scss */
    ul.tags2 {
      grid-gap: 8rem 14rem; } }
  /* line 1192, _parts.scss */
  ul.tags2 li {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 11rem;
    box-sizing: border-box;
    line-height: 1;
    color: #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 1192, _parts.scss */
      ul.tags2 li {
        font-size: 13rem; } }
    /* line 1203, _parts.scss */
    ul.tags2 li::before {
      content: "#"; }
  /* line 1207, _parts.scss */
  ul.tags2 a {
    color: #4761F4; }

/* line 1213, _parts.scss */
ul.interview_tag {
  margin: 0;
  padding: 0;
  display: flex;
  grid-gap: 5rem;
  flex-wrap: wrap; }
  @media screen and (min-width: 767.1px), print {
    /* line 1213, _parts.scss */
    ul.interview_tag {
      grid-gap: 8rem; } }
  /* line 1222, _parts.scss */
  ul.interview_tag li {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 11rem;
    box-sizing: border-box;
    line-height: 1;
    border-radius: 100rem;
    padding: 3rem 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1222, _parts.scss */
      ul.interview_tag li {
        font-size: 13rem; } }
    /* line 1234, _parts.scss */
    ul.interview_tag li.job {
      background: #FFA318;
      color: #fff;
      border: 1px solid #FFA318; }
    /* line 1239, _parts.scss */
    ul.interview_tag li.skill {
      border: 1px solid #384695;
      color: #384695; }

/* ページャー =============================================*/
/* line 1249, _parts.scss */
.pager {
  margin-top: 32rem;
  margin-bottom: 32rem;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 6rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1249, _parts.scss */
    .pager {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1249, _parts.scss */
    .pager {
      grid-gap: 10rem; } }
  /* line 1258, _parts.scss */
  .pager a,
  .pager .dot {
    aspect-ratio: 1;
    width: 24rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    text-decoration: none !important;
    border-radius: 100rem;
    box-sizing: border-box;
    padding-top: 0.2em;
    font-size: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1258, _parts.scss */
      .pager a,
      .pager .dot {
        width: 48rem;
        font-size: 18rem; } }
    /* line 1275, _parts.scss */
    .pager a.current,
    .pager .dot.current {
      background: #4761F4;
      border-color: #4761F4;
      color: #fff;
      pointer-events: none; }
  /* line 1284, _parts.scss */
  .pager .prev a,
  .pager .next a {
    border-color: #4761F4;
    text-indent: -999em;
    overflow: hidden;
    position: relative; }
    /* line 1289, _parts.scss */
    .pager .prev a i,
    .pager .next a i {
      text-indent: 0;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    /* line 1297, _parts.scss */
    .pager .prev a svg,
    .pager .next a svg {
      stroke: #4761F4;
      width: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1297, _parts.scss */
        .pager .prev a svg,
        .pager .next a svg {
          width: 14rem; } }
  /* line 1307, _parts.scss */
  .pager .prev svg {
    transform: scaleX(-1); }

/* フォーム =============================================*/
/* line 1316, _parts.scss */
.form_wrap {
  max-width: 860rem;
  margin-top: 32rem;
  margin-bottom: 32rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 767.1px), print {
    /* line 1316, _parts.scss */
    .form_wrap {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1321, _parts.scss */
  .form-finish .form_wrap {
    border-top: 1px solid #D8DBEB;
    padding-top: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1321, _parts.scss */
      .form-finish .form_wrap {
        padding-top: 64rem; } }
  /* line 1328, _parts.scss */
  .form_wrap .privacy_note {
    border: 1px solid #D8DBEB;
    padding: 16rem;
    border-radius: 5rem;
    margin: 32rem 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1328, _parts.scss */
      .form_wrap .privacy_note {
        padding: 24rem;
        width: 560rem;
        margin: 80rem auto 0;
        box-sizing: border-box; } }
    /* line 1339, _parts.scss */
    .form_wrap .privacy_note a {
      color: #4761F4; }
  /* line 1343, _parts.scss */
  .form_wrap button {
    font-weight: 600;
    font-size: 16rem;
    display: grid;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 100rem;
    transition: background .3s,color .3s;
    width: 100%;
    height: 50rem;
    overflow: hidden; }
    @media screen and (min-width: 767.1px), print {
      /* line 1343, _parts.scss */
      .form_wrap button {
        font-size: 18rem;
        height: 60rem;
        width: 320rem; } }
    /* line 1360, _parts.scss */
    .form_wrap button span {
      position: relative; }
    /* line 1363, _parts.scss */
    .form_wrap button.confirm {
      background: #4761F4;
      color: #fff;
      border: 1px solid #4761F4; }
      @media screen and (min-width: 767.1px), print {
        /* line 1369, _parts.scss */
        .form_wrap button.confirm:hover {
          background: #fff;
          color: #4761F4;
          opacity: 1; } }
    /* line 1376, _parts.scss */
    .form_wrap button.back {
      border: 1px solid #4761F4;
      background: #fff;
      color: #4761F4; }
      @media screen and (min-width: 767.1px), print {
        /* line 1381, _parts.scss */
        .form_wrap button.back:hover {
          background: #4761F4;
          color: #fff;
          opacity: 1; } }
    /* line 1388, _parts.scss */
    .form_wrap button.submit, .form_wrap button.download {
      position: relative;
      color: #fff;
      background: #FF3C22;
      border: none; }
      /* line 1395, _parts.scss */
      .form_wrap button.submit::before, .form_wrap button.download::before {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: linear-gradient(90deg, #FFA318 0%, #FF7322 100%);
        opacity: 1;
        transition: opacity .3s; }
      @media screen and (min-width: 767.1px), print {
        /* line 1409, _parts.scss */
        a:hover .form_wrap button.submit::before, .form_wrap button.submit:hover::before, a:hover .form_wrap button.download::before, .form_wrap button.download:hover::before {
          opacity: 0; } }
    /* line 1415, _parts.scss */
    .form_wrap button.download {
      display: inline-flex;
      justify-content: flex-start;
      align-items: center;
      grid-gap: 20rem;
      padding: 0 24rem 0 32rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1415, _parts.scss */
        .form_wrap button.download {
          width: auto; } }
      /* line 1424, _parts.scss */
      .form_wrap button.download i {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30rem;
        height: 18rem;
        border-radius: 100rem;
        position: relative;
        transition: background .3s;
        background: #fff; }
        @media screen and (min-width: 767.1px), print {
          /* line 1424, _parts.scss */
          .form_wrap button.download i {
            width: 40rem;
            height: 24rem; } }
        /* line 1438, _parts.scss */
        .form_wrap button.download i svg {
          width: 10rem;
          height: 10rem;
          fill: #FFA318; }
          @media screen and (min-width: 767.1px), print {
            /* line 1438, _parts.scss */
            .form_wrap button.download i svg {
              width: 14rem;
              height: 14rem; } }

/* line 1453, _parts.scss */
dl.form_list {
  border-top: 1px solid #D8DBEB; }
  /* line 1455, _parts.scss */
  dl.form_list + .btns {
    margin-top: 24rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1455, _parts.scss */
      dl.form_list + .btns {
        margin-top: 40rem; } }
  /* line 1461, _parts.scss */
  dl.form_list > div {
    border-bottom: 1px solid #D8DBEB;
    display: grid;
    padding: 16rem 0 20rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1461, _parts.scss */
      dl.form_list > div {
        grid-template-columns: 220rem 1fr;
        grid-gap: 20rem;
        padding: 20rem 0;
        margin: 0;
        align-items: flex-start; } }
  /* line 1473, _parts.scss */
  dl.form_list dt {
    margin: 0 0 8rem;
    padding: 0;
    display: flex;
    align-items: center;
    grid-gap: 20rem;
    font-weight: 700; }
    @media screen and (min-width: 767.1px), print {
      /* line 1473, _parts.scss */
      dl.form_list dt {
        justify-content: space-between;
        margin: 0; }
        /* line 1483, _parts.scss */
        .form-input dl.form_list dt {
          min-height: 40rem; } }
    /* line 1487, _parts.scss */
    dl.form_list dt .required {
      flex: 0 0 50rem;
      padding: 0.15em 0 0;
      background: #FF3C22;
      font-style: normal;
      font-size: 12rem;
      color: #fff;
      border-radius: 100rem;
      width: 50rem;
      text-align: center;
      display: block; }
      @media screen and (min-width: 767.1px), print {
        /* line 1487, _parts.scss */
        dl.form_list dt .required {
          font-size: 14rem; } }
  /* line 1504, _parts.scss */
  dl.form_list dd {
    margin: 0;
    padding: 0; }
    /* line 1507, _parts.scss */
    dl.form_list dd.input_text {
      min-height: 40rem;
      display: flex;
      align-items: center; }
    /* line 1513, _parts.scss */
    dl.form_list dd:has(.error) .errormessage {
      display: block; }
    /* line 1518, _parts.scss */
    dl.form_list dd:has(.error.errorcheck1) .errormessage1 {
      display: block; }
    /* line 1523, _parts.scss */
    dl.form_list dd:has(.error.errorcheck2) .errormessage2 {
      display: block; }
  /* line 1528, _parts.scss */
  dl.form_list .errormessage {
    display: none;
    color: #ea0000;
    margin: 5rem 0 0;
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 1528, _parts.scss */
      dl.form_list .errormessage {
        font-size: 14rem; } }
  /* line 1538, _parts.scss */
  dl.form_list .errormessage1,
  dl.form_list .errormessage2 {
    display: none; }
  /* line 1543, _parts.scss */
  dl.form_list .select_wrap {
    position: relative;
    display: inline-block; }
    /* line 1546, _parts.scss */
    dl.form_list .select_wrap::after {
      content: "";
      position: absolute;
      background: url("../images/img_select_arrow.svg") no-repeat center center/contain;
      width: 15rem;
      aspect-ratio: 1;
      top: 50%;
      right: 10rem;
      transform: translateY(-50%);
      pointer-events: none; }
    /* line 1557, _parts.scss */
    dl.form_list .select_wrap select {
      padding-right: 32rem; }
  /* line 1562, _parts.scss */
  dl.form_list input[type="text"],
  dl.form_list input[type="email"],
  dl.form_list textarea,
  dl.form_list select {
    background: #EDF8FF;
    appearance: none;
    border: 1px solid #D8DBEB;
    height: 40rem;
    padding: 0 8rem;
    border-radius: 5rem; }
    /* line 1572, _parts.scss */
    dl.form_list input[type="text"].w-full,
    dl.form_list input[type="email"].w-full,
    dl.form_list textarea.w-full,
    dl.form_list select.w-full {
      width: 100%; }
      @media screen and (min-width: 767.1px), print {
        /* line 1572, _parts.scss */
        dl.form_list input[type="text"].w-full,
        dl.form_list input[type="email"].w-full,
        dl.form_list textarea.w-full,
        dl.form_list select.w-full {
          width: 540rem; } }
    /* line 1578, _parts.scss */
    dl.form_list input[type="text"].error,
    dl.form_list input[type="email"].error,
    dl.form_list textarea.error,
    dl.form_list select.error {
      background: #fff0f0;
      border-color: #e84d4d;
      color: #e84d4d; }
      /* line 1582, _parts.scss */
      dl.form_list input[type="text"].error::placeholder,
      dl.form_list input[type="email"].error::placeholder,
      dl.form_list textarea.error::placeholder,
      dl.form_list select.error::placeholder {
        color: #f69696; }
  /* line 1588, _parts.scss */
  dl.form_list fieldset {
    border: none;
    padding: 0; }
  /* line 1593, _parts.scss */
  dl.form_list .radios,
  dl.form_list .checkboxs {
    display: grid;
    grid-gap: 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1593, _parts.scss */
      dl.form_list .radios,
      dl.form_list .checkboxs {
        grid-gap: 0; } }
    /* line 1600, _parts.scss */
    dl.form_list .radios.error,
    dl.form_list .checkboxs.error {
      background: #fff0f0;
      border-radius: 5rem;
      padding: 12rem 8rem 12rem 12rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1600, _parts.scss */
        dl.form_list .radios.error,
        dl.form_list .checkboxs.error {
          padding: 5rem 16rem; } }
  /* line 1611, _parts.scss */
  dl.form_list .option_child {
    display: none; }
  /* line 1614, _parts.scss */
  dl.form_list .option_parent:has(input:checked) + .option_child {
    display: block; }
  /* line 1618, _parts.scss */
  dl.form_list textarea {
    height: 150rem;
    padding: 8rem; }
  /* line 1623, _parts.scss */
  dl.form_list .name {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1623, _parts.scss */
      dl.form_list .name {
        max-width: 540rem;
        grid-gap: 20rem; } }
    /* line 1632, _parts.scss */
    dl.form_list .name input {
      width: 100%; }

/* チェックマークつきリスト =============================================*/
/* line 1644, _parts.scss */
ul.checkmark_list {
  margin: 0;
  padding: 0;
  display: grid;
  grid-gap: 8rem; }
  /* line 1649, _parts.scss */
  ul.checkmark_list li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 14rem 1fr;
    grid-gap: 5rem;
    line-height: 1.4;
    align-items: flex-start; }
    @media screen and (min-width: 767.1px), print {
      /* line 1649, _parts.scss */
      ul.checkmark_list li {
        grid-template-columns: 16rem 1fr; } }
    /* line 1662, _parts.scss */
    ul.checkmark_list li i {
      transform: translateY(15%); }
    /* line 1665, _parts.scss */
    ul.checkmark_list li svg {
      width: 14rem;
      height: 14rem;
      fill: #4761F4; }
      @media screen and (min-width: 767.1px), print {
        /* line 1665, _parts.scss */
        ul.checkmark_list li svg {
          width: 16rem;
          height: 16rem; } }

/* 基本dl =============================================*/
/* line 1682, _parts.scss */
.common_dl {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1682, _parts.scss */
    .common_dl {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1684, _parts.scss */
  .common_dl dl {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1684, _parts.scss */
      .common_dl dl {
        display: table;
        margin: 0 auto; } }
    @media screen and (max-width: 767px) {
      /* line 1691, _parts.scss */
      .common_dl dl > div {
        border-bottom: 1px dashed #D8DBEB;
        margin: 0 0 16rem;
        padding: 0 0 16rem; }
        /* line 1696, _parts.scss */
        .common_dl dl > div:last-child {
          margin: 0;
          padding: 0;
          border: none; } }
    @media screen and (min-width: 767.1px), print {
      /* line 1691, _parts.scss */
      .common_dl dl > div {
        display: table-row; }
        /* line 1705, _parts.scss */
        .common_dl dl > div:last-child dt, .common_dl dl > div:last-child dd {
          padding-bottom: 0; } }
    /* line 1711, _parts.scss */
    .common_dl dl dt {
      font-weight: 600;
      margin: 0;
      padding: 0;
      color: #4761F4; }
      @media screen and (min-width: 767.1px), print {
        /* line 1711, _parts.scss */
        .common_dl dl dt {
          display: table-cell;
          padding-right: 24rem;
          padding-bottom: 24rem; } }
    /* line 1722, _parts.scss */
    .common_dl dl dd {
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 1722, _parts.scss */
        .common_dl dl dd {
          display: table-cell;
          padding-bottom: 24rem; } }
      /* line 1729, _parts.scss */
      .common_dl dl dd a {
        color: #4761F4; }

/* line 1737, _parts.scss */
dl.training_dl {
  margin: 16rem 0;
  padding: 0;
  display: grid;
  grid-gap: 10rem; }
  /* line 1743, _parts.scss */
  dl.training_dl > div {
    display: grid; }
    @media screen and (min-width: 767.1px), print {
      /* line 1743, _parts.scss */
      dl.training_dl > div {
        grid-template-columns: 100rem 1fr;
        grid-gap: 20rem; } }
  /* line 1750, _parts.scss */
  dl.training_dl dt {
    font-weight: 600;
    margin: 0;
    padding: 0; }
  /* line 1755, _parts.scss */
  dl.training_dl dd {
    margin: 0;
    padding: 0; }

/* googlemap =============================================*/
/* line 1765, _parts.scss */
iframe.googlemap {
  aspect-ratio: 4/3;
  max-width: 100%;
  height: auto; }

/* マーカー */
/* line 1776, _parts.scss */
.marker_yellow,
.marker_blue,
.marker_pink,
.marker_orange {
  text-decoration: underline;
  text-decoration-thickness: .6em;
  text-underline-offset: -.2em;
  text-decoration-skip-ink: none; }

/* line 1787, _parts.scss */
.marker_yellow {
  text-decoration-color: #f8ffa2; }

/* line 1788, _parts.scss */
.marker_blue {
  text-decoration-color: #d8ecff; }

/* line 1789, _parts.scss */
.marker_pink {
  text-decoration-color: #ff9eae; }

/* line 1790, _parts.scss */
.marker_orange {
  text-decoration-color: #ffbe5c; }

/* CSS Document */
/* ヘッダー/フッター =============================================*/
/* line 7, _module.scss */
#header {
  position: fixed;
  top: 0;
  left: 0;
  height: 60rem;
  width: 100%;
  background: #fff;
  z-index: 300;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10rem 0 16rem;
  box-sizing: border-box;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05); }
  @media screen and (min-width: 767.1px), print {
    /* line 7, _module.scss */
    #header {
      height: 90rem;
      padding: 0 32rem 0 50rem;
      /*
      .scrolled & {
        height: 90rem;
      }
      .scrollup & {
        height: 156rem;
      }
      */ } }
  @media print {
    /* line 7, _module.scss */
    #header {
      position: relative; } }
  /* line 37, _module.scss */
  #header .logo {
    width: 157rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 37, _module.scss */
      #header .logo {
        width: 200rem;
        /*
        .scrolled & {
          width: 200rem;
        }
        .scrollup & {
          width: 314rem;
        }
        */ } }

/* line 56, _module.scss */
.menu_btn {
  width: 40rem;
  height: 40rem;
  text-align: center;
  background: #4761F4;
  border-radius: 100rem;
  position: relative; }
  /* line 63, _module.scss */
  .menu_btn .burger {
    width: 18rem;
    height: 6rem;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    /* line 71, _module.scss */
    .menu_btn .burger i {
      background: #fff;
      width: 18rem;
      height: 1rem;
      border-radius: 10rem;
      display: block;
      position: absolute;
      transform: translate(-50%, -50%);
      left: 50%;
      transition: all 0.3s; }
      /* line 81, _module.scss */
      .menu_btn .burger i:nth-of-type(1) {
        top: 0; }
      /* line 84, _module.scss */
      .menu_btn .burger i:nth-of-type(2) {
        top: 6rem; }
  /* line 90, _module.scss */
  .menu_btn .label {
    font-size: 12rem;
    font-weight: 300;
    color: #f00;
    white-space: nowrap; }
  /* line 98, _module.scss */
  .menu_btn.active i:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(-135deg);
    top: 50%; }
  /* line 102, _module.scss */
  .menu_btn.active i:nth-of-type(2) {
    transform: translate(-50%, -50%) rotate(135deg);
    top: 50%; }

@media screen and (min-width: 767.1px), print {
  /* line 111, _module.scss */
  #gnavi {
    display: flex;
    align-items: center;
    grid-gap: 20rem; }
    /* line 116, _module.scss */
    #gnavi ul.main {
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: flex-end; }
      /* line 121, _module.scss */
      #gnavi ul.main li {
        margin: 0;
        padding: 0;
        list-style: none; }
        /* line 125, _module.scss */
        #gnavi ul.main li > a {
          text-decoration: none !important;
          font-weight: 600;
          font-size: 14rem;
          display: grid;
          align-items: center;
          height: 90rem;
          padding: 0 10rem; }
          /* line 133, _module.scss */
          #gnavi ul.main li > a i {
            display: none; }
          /* line 136, _module.scss */
          #gnavi ul.main li > a:hover {
            color: #4761F4;
            opacity: 1; }
        /* line 141, _module.scss */
        #gnavi ul.main li:has(.parent) {
          transition: background .3s; }
          /* line 143, _module.scss */
          #gnavi ul.main li:has(.parent):hover {
            background: #E2F4FF; }
            /* line 145, _module.scss */
            #gnavi ul.main li:has(.parent):hover .child {
              opacity: 1;
              pointer-events: all; }
      /* line 152, _module.scss */
      #gnavi ul.main .parent {
        font-weight: 600;
        display: grid;
        grid-gap: 5rem;
        align-items: center;
        font-size: 14rem;
        grid-template-columns: 1fr 11rem;
        height: 90rem;
        padding: 0 10rem;
        pointer-events: none; }
        /* line 163, _module.scss */
        #gnavi ul.main .parent > i svg {
          width: 11rem;
          height: 6rem; }
      /* line 169, _module.scss */
      #gnavi ul.main .child {
        display: block !important;
        opacity: 0;
        transition: opacity .3s,top .3s;
        pointer-events: none;
        position: fixed;
        top: 90rem;
        left: 0;
        right: 0;
        background: #E2F4FF;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05);
        padding: 10rem 0 50rem;
        /*
        .scrolled & {
          top: 90rem;
        }
        .scrollup & {
          top: 156rem;
        }
        */ }
        /* line 189, _module.scss */
        #gnavi ul.main .child .child_inner {
          overflow: hidden;
          width: 1200rem;
          margin: 0 auto;
          position: relative;
          display: flex;
          grid-gap: 40rem; }
        /* line 197, _module.scss */
        #gnavi ul.main .child dl {
          margin: 0;
          padding: 0;
          white-space: nowrap;
          position: relative; }
          /* line 205, _module.scss */
          #gnavi ul.main .child dl::after {
            content: "";
            width: 1px;
            display: block;
            position: absolute;
            right: -20rem;
            top: 40rem;
            bottom: 0;
            background: #D8DBF0; }
          /* line 215, _module.scss */
          #gnavi ul.main .child dl > div {
            margin: 40rem 0 0;
            padding: 0 40rem;
            position: relative;
            z-index: 2; }
          /* line 224, _module.scss */
          #gnavi ul.main .child dl dt {
            margin: 0;
            padding: 0;
            font-weight: bold;
            font-size: 20rem; }
          /* line 230, _module.scss */
          #gnavi ul.main .child dl dd {
            margin: 8rem 0 0;
            padding: 0; }
          /* line 234, _module.scss */
          #gnavi ul.main .child dl a {
            display: inline-flex;
            align-items: center;
            border-radius: 100rem;
            padding: 0;
            line-height: 1;
            text-decoration: none !important;
            grid-gap: 10rem;
            box-sizing: border-box; }
            /* line 243, _module.scss */
            #gnavi ul.main .child dl a:hover {
              color: #4761F4;
              opacity: 1; }
            /* line 247, _module.scss */
            #gnavi ul.main .child dl a i {
              display: flex;
              justify-content: center;
              align-items: center;
              border-radius: 100rem;
              transition: background .3s;
              width: 40rem;
              height: 24rem;
              background: #4761F4; }
              /* line 256, _module.scss */
              #gnavi ul.main .child dl a i svg {
                width: 10rem;
                height: 7rem;
                fill: #fff; }
    /* line 266, _module.scss */
    #gnavi ul.sub {
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: flex-end;
      grid-gap: 8rem; }
      /* line 272, _module.scss */
      #gnavi ul.sub li {
        margin: 0;
        padding: 0;
        list-style: none; }
        /* line 276, _module.scss */
        #gnavi ul.sub li a {
          font-size: 14rem;
          padding: 0 14rem; } }
@media screen and (max-width: 767px) {
  /* line 111, _module.scss */
  #gnavi {
    display: none;
    position: fixed;
    top: 60rem;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
    background: #4761F4;
    color: #fff; }
    /* line 294, _module.scss */
    #gnavi::before {
      content: "";
      background: url("../images/img_bg_effect01/webp") no-repeat left top/contain;
      width: 25%;
      aspect-ratio: 1;
      display: block;
      position: fixed;
      top: 60rem;
      left: 0; }
    /* line 304, _module.scss */
    #gnavi::after {
      content: "";
      background: url("../images/img_bg_effect02/webp") no-repeat bottom right/contain;
      width: 45%;
      aspect-ratio: 1;
      display: block;
      position: fixed;
      bottom: 0;
      right: 0; }
    /* line 314, _module.scss */
    #gnavi ul.main {
      margin: 0;
      padding: 24rem;
      position: relative;
      z-index: 2; }
      /* line 319, _module.scss */
      #gnavi ul.main > li {
        margin: 0;
        padding: 0;
        list-style: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
      /* line 325, _module.scss */
      #gnavi ul.main a,
      #gnavi ul.main .parent {
        color: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-decoration: none !important;
        font-size: 16rem;
        font-weight: 600;
        padding: 24rem 0;
        line-height: 1; }
      /* line 337, _module.scss */
      #gnavi ul.main i {
        width: 33rem;
        height: 20rem;
        background: #fff;
        display: grid;
        justify-content: center;
        align-items: center;
        border-radius: 100rem; }
      /* line 346, _module.scss */
      #gnavi ul.main svg {
        width: 11rem;
        height: 8rem;
        fill: blue; }
      /* line 352, _module.scss */
      #gnavi ul.main .parent.active i svg {
        transform: rotate(180deg); }
      /* line 357, _module.scss */
      #gnavi ul.main .child {
        padding: 0 0 24rem 24rem;
        display: none;
        border-top: 1px solid rgba(255, 255, 255, 0.5); }
        /* line 361, _module.scss */
        #gnavi ul.main .child dl {
          margin: 24rem 0 0 0;
          padding: 0;
          display: grid;
          grid-gap: 24rem; }
          /* line 366, _module.scss */
          #gnavi ul.main .child dl > div {
            border-top: 1px solid rgba(255, 255, 255, 0.5);
            padding-top: 24rem; }
          /* line 370, _module.scss */
          #gnavi ul.main .child dl:first-child {
            margin-top: 0; }
            /* line 372, _module.scss */
            #gnavi ul.main .child dl:first-child > div:first-child {
              border-top: none; }
          /* line 376, _module.scss */
          #gnavi ul.main .child dl dt {
            margin: 0;
            padding: 0;
            font-weight: bold; }
          /* line 381, _module.scss */
          #gnavi ul.main .child dl dd {
            margin: 24rem 0 0;
            padding: 0; }
        /* line 386, _module.scss */
        #gnavi ul.main .child a {
          display: grid;
          grid-template-columns: 1fr 33rem;
          grid-gap: 10rem;
          padding: 0;
          font-size: 14rem;
          font-weight: normal; }
          /* line 393, _module.scss */
          #gnavi ul.main .child a i {
            order: 2;
            background: transparent;
            border: 1px solid #fff;
            box-sizing: border-box; }
            /* line 398, _module.scss */
            #gnavi ul.main .child a i svg {
              fill: #fff; }
    /* line 405, _module.scss */
    #gnavi ul.sub {
      position: relative;
      z-index: 2;
      margin: 0;
      padding: 0 24rem 64rem;
      display: grid;
      grid-gap: 16rem; }
      /* line 412, _module.scss */
      #gnavi ul.sub li {
        margin: 0;
        padding: 0;
        list-style: none; }
      /* line 417, _module.scss */
      #gnavi ul.sub .btn_small._wh {
        color: #fff;
        border-color: #fff; } }

/* line 426, _module.scss */
#footer {
  background: #1E1A36;
  color: #fff; }
  /* line 430, _module.scss */
  #footer a {
    color: #fff;
    text-decoration: none !important; }
  /* line 434, _module.scss */
  #footer .cta {
    background: #4761F4;
    color: #fff;
    padding: 48rem 0 170rem;
    position: relative; }
    @media screen and (min-width: 767.1px), print {
      /* line 434, _module.scss */
      #footer .cta {
        padding: 64rem 0; } }
    /* line 442, _module.scss */
    #footer .cta .inner {
      display: grid;
      grid-gap: 16rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 442, _module.scss */
        #footer .cta .inner {
          grid-template-columns: 1fr 1fr;
          grid-gap: 40rem; } }
    /* line 450, _module.scss */
    #footer .cta a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      border: 1px solid #fff;
      border-radius: 10rem;
      text-align: center;
      height: 155rem;
      box-sizing: border-box;
      padding-top: 5rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 450, _module.scss */
        #footer .cta a {
          height: 250rem; } }
      /* line 463, _module.scss */
      #footer .cta a .label {
        font-size: 22rem;
        font-weight: bold;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        line-height: 1;
        grid-gap: 10rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 463, _module.scss */
          #footer .cta a .label {
            font-size: 28rem; } }
        /* line 474, _module.scss */
        #footer .cta a .label i {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 33rem;
          height: 20rem;
          border-radius: 100rem;
          transition: background .3s;
          background: #fff; }
          /* line 483, _module.scss */
          #footer .cta a .label i svg {
            width: 11rem;
            height: 7.5rem;
            fill: #4761F4; }
        /* line 489, _module.scss */
        #footer .cta a .label .font-adjust {
          transform: translateY(5%); }
      /* line 493, _module.scss */
      #footer .cta a p {
        font-size: 12rem;
        margin: 16rem 0 0; }
        @media screen and (min-width: 767.1px), print {
          /* line 493, _module.scss */
          #footer .cta a p {
            margin: 24rem 0 0; } }
      /* line 500, _module.scss */
      #footer .cta a::after {
        content: "";
        width: 150rem;
        aspect-ratio: 400/420;
        position: absolute;
        bottom: 0;
        display: block;
        background: no-repeat center center / contain; }
        @media screen and (min-width: 767.1px), print {
          /* line 500, _module.scss */
          #footer .cta a::after {
            width: 200rem;
            transition: background .3s; } }
      /* line 514, _module.scss */
      #footer .cta a:first-child::after {
        right: 47%;
        background-image: url("../images/img_cta_male.webp"); }
        @media screen and (min-width: 767.1px), print {
          /* line 514, _module.scss */
          #footer .cta a:first-child::after {
            right: 49%; } }
      /* line 521, _module.scss */
      #footer .cta a:last-child::after {
        left: 47%;
        background-image: url("../images/img_cta_female.webp"); }
        @media screen and (min-width: 767.1px), print {
          /* line 521, _module.scss */
          #footer .cta a:last-child::after {
            left: 49%; } }
      @media screen and (min-width: 767.1px), print {
        /* line 529, _module.scss */
        #footer .cta a:hover {
          opacity: 1;
          background: #4757B3;
          border-color: #4757B3; }
          /* line 533, _module.scss */
          #footer .cta a:hover:first-child::after {
            background-image: url("../images/img_cta_male_hover.webp"); }
          /* line 536, _module.scss */
          #footer .cta a:hover:last-child::after {
            background-image: url("../images/img_cta_female_hover.webp"); } }
  /* line 543, _module.scss */
  #footer .tel {
    text-align: center;
    padding: 48rem 0;
    border-bottom: 1px solid #46435B; }
    @media screen and (min-width: 767.1px), print {
      /* line 543, _module.scss */
      #footer .tel {
        display: flex;
        justify-content: center;
        align-items: center;
        grid-gap: 24rem; } }
    /* line 553, _module.scss */
    #footer .tel p {
      font-weight: 600;
      font-size: 16rem;
      margin: 0;
      line-height: 1.4; }
      @media screen and (min-width: 767.1px), print {
        /* line 553, _module.scss */
        #footer .tel p {
          font-size: 20rem; } }
    /* line 562, _module.scss */
    #footer .tel a {
      color: #4761F4;
      font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
      font-size: 30rem;
      font-weight: 500;
      display: flex;
      justify-content: center;
      align-items: center;
      letter-spacing: 0.05em;
      grid-gap: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 562, _module.scss */
        #footer .tel a {
          font-size: 42rem; } }
      /* line 576, _module.scss */
      #footer .tel a i svg {
        width: 20rem;
        height: 20rem;
        fill: #4761F4; }
        @media screen and (min-width: 767.1px), print {
          /* line 576, _module.scss */
          #footer .tel a i svg {
            width: 30rem;
            height: 30rem; } }
    /* line 587, _module.scss */
    #footer .tel .time {
      display: block;
      font-size: 13rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 587, _module.scss */
        #footer .tel .time {
          font-size: 16rem;
          line-height: 1; } }
  /* line 597, _module.scss */
  #footer .sitemap {
    padding: 48rem 0; }
    /* line 599, _module.scss */
    #footer .sitemap dl {
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      grid-gap: 24rem 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 599, _module.scss */
        #footer .sitemap dl {
          flex-wrap: nowrap; } }
      @media screen and (max-width: 767px) {
        /* line 609, _module.scss */
        #footer .sitemap dl > div {
          width: 100%; }
          /* line 612, _module.scss */
          #footer .sitemap dl > div:nth-of-type(3), #footer .sitemap dl > div:nth-of-type(4) {
            width: 45%; } }
      /* line 618, _module.scss */
      #footer .sitemap dl dt {
        color: #4761F4;
        font-weight: bold;
        font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
        margin: 0 0 8rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 618, _module.scss */
          #footer .sitemap dl dt {
            font-size: 20rem; } }
      /* line 627, _module.scss */
      #footer .sitemap dl dd {
        margin: 0;
        padding: 0; }
      /* line 631, _module.scss */
      #footer .sitemap dl ul {
        margin: 0;
        padding: 0;
        display: grid;
        grid-gap: 5rem; }
        /* line 636, _module.scss */
        #footer .sitemap dl ul li {
          margin: 0;
          padding: 0;
          list-style: none; }
    /* line 643, _module.scss */
    #footer .sitemap a {
      display: grid;
      grid-template-columns: 9rem 1fr;
      grid-gap: 8rem;
      font-size: 12rem;
      align-items: center; }
      @media screen and (min-width: 767.1px), print {
        /* line 643, _module.scss */
        #footer .sitemap a {
          font-size: 13rem; }
          /* line 651, _module.scss */
          #footer .sitemap a:hover {
            color: #4761F4;
            opacity: 1; } }
      /* line 656, _module.scss */
      #footer .sitemap a svg {
        fill: #656278;
        width: 9rem;
        height: 8rem; }
  /* line 665, _module.scss */
  #footer .bottom {
    background: #fff;
    color: #222222;
    padding: 16rem;
    position: relative; }
    @media screen and (min-width: 767.1px), print {
      /* line 665, _module.scss */
      #footer .bottom {
        padding: 40rem; } }
    /* line 673, _module.scss */
    #footer .bottom .logo {
      width: 157rem;
      margin: 0 0 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 673, _module.scss */
        #footer .bottom .logo {
          width: 210rem; } }
    /* line 680, _module.scss */
    #footer .bottom .copyright {
      font-size: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 680, _module.scss */
        #footer .bottom .copyright {
          font-size: 12rem; } }
    /* line 686, _module.scss */
    #footer .bottom .iso {
      position: absolute;
      right: 16rem;
      top: 16rem;
      width: 102rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 686, _module.scss */
        #footer .bottom .iso {
          width: 192rem;
          right: 40rem;
          top: 40rem; } }

/* スライドショー =============================================*/
/* line 709, _module.scss */
ul.slick-dots {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 10rem;
  font-size: 1px;
  position: absolute;
  bottom: -30rem;
  left: 50%;
  transform: translateX(-50%); }
  /* line 721, _module.scss */
  ul.slick-dots li {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    line-height: 1px; }
    /* line 727, _module.scss */
    ul.slick-dots li::before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 11rem;
      aspect-ratio: 1;
      background: #CBD5E3;
      border-radius: 100rem; }
    /* line 739, _module.scss */
    ul.slick-dots li.slick-active::before {
      background: #FFA318; }
  /* line 743, _module.scss */
  ul.slick-dots button {
    opacity: 0;
    width: 11rem;
    aspect-ratio: 1;
    padding: 0;
    border: none;
    appearance: none;
    line-height: 1px; }

/* line 757, _module.scss */
.slick-arrow {
  width: 26rem;
  aspect-ratio: 1;
  box-sizing: border-box;
  background: #fff;
  border-radius: 100rem;
  display: grid;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  z-index: 10;
  border: none;
  appearance: none;
  cursor: pointer;
  border: 1px solid #4761F4; }
  @media screen and (min-width: 767.1px), print {
    /* line 757, _module.scss */
    .slick-arrow {
      width: 40rem;
      transition: opacity .3s; }
      /* line 776, _module.scss */
      .slick-arrow:hover {
        opacity: .7; } }
  @media screen and (max-width: 767px) {
    /* line 780, _module.scss */
    .slick-arrow.custom-prev {
      transform: scaleX(-1) translateY(-50%);
      left: 4rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 780, _module.scss */
    .slick-arrow.custom-prev {
      transform: scaleX(-1) translate(580rem, -50%);
      right: 50%; } }
  @media screen and (max-width: 767px) {
    /* line 790, _module.scss */
    .slick-arrow.custom-next {
      transform: translateY(-50%);
      right: 4rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 790, _module.scss */
    .slick-arrow.custom-next {
      transform: translate(580rem, -50%);
      left: 50%; } }
  /* line 800, _module.scss */
  .slick-arrow svg {
    fill: #4761F4;
    width: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 800, _module.scss */
      .slick-arrow svg {
        width: 16rem; } }

/* line 813, _module.scss */
.custom-arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 10rem;
  margin: 24rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 813, _module.scss */
    .custom-arrows {
      margin-top: 64rem;
      grid-gap: 16rem; } }
  /* line 823, _module.scss */
  .custom-arrows .slick-arrow {
    position: static;
    width: 50rem;
    height: 30rem;
    box-sizing: border-box;
    border: 1px solid #fff;
    border-radius: 100rem;
    display: grid;
    justify-content: center;
    align-items: center;
    background: transparent;
    transform: none; }
    @media screen and (min-width: 767.1px), print {
      /* line 823, _module.scss */
      .custom-arrows .slick-arrow {
        width: 75rem;
        height: 45rem;
        transition: opacity .3s; }
        /* line 839, _module.scss */
        .custom-arrows .slick-arrow:hover {
          opacity: .7; } }
    /* line 843, _module.scss */
    .custom-arrows .slick-arrow.custom-prev {
      transform: scaleX(-1); }
    /* line 846, _module.scss */
    .custom-arrows .slick-arrow svg {
      fill: #fff;
      width: 16rem;
      height: 8rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 846, _module.scss */
        .custom-arrows .slick-arrow svg {
          width: 24rem;
          height: 9rem; } }

/*--KV_slide----------------------------------------*/
/* line 861, _module.scss */
.slides_kv {
  position: relative;
  z-index: 2;
  margin-bottom: 32rem;
  background: #4761F4; }
  @media screen and (min-width: 767.1px), print {
    /* line 861, _module.scss */
    .slides_kv {
      margin-bottom: 64rem; } }
  /* line 869, _module.scss */
  .slides_kv h1 {
    margin: 0;
    padding: 0; }
  /* line 874, _module.scss */
  .slides_kv .slides .slide {
    position: relative; }
    @media screen and (min-width: 767.1px), print {
      /* line 876, _module.scss */
      .slides_kv .slides .slide img {
        width: 1200rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 881, _module.scss */
      .slides_kv .slides .slide::after {
        content: "";
        background: rgba(0, 54, 111, 0.5);
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: 1s;
        pointer-events: none; } }
    /* line 897, _module.scss */
    .slides_kv .slides .slide.slick-active::after, .slides_kv .slides .slide.is-active-next::after {
      opacity: 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 905, _module.scss */
    .slides_kv a:hover {
      opacity: .7; } }

/*--bnr_slide----------------------------------------*/
/* line 914, _module.scss */
.slides_bnrs {
  position: relative;
  z-index: 2;
  margin: 32rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 914, _module.scss */
    .slides_bnrs {
      margin: 64rem 0; }
      /* line 920, _module.scss */
      .slides_kv + .slides_bnrs {
        margin-top: 32rem; } }
  /* line 924, _module.scss */
  .slides_bnrs._dots {
    margin-bottom: 48rem;
    padding-bottom: 30rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 924, _module.scss */
      .slides_bnrs._dots {
        margin-bottom: 94rem; } }
  /* line 932, _module.scss */
  .slides_bnrs .slides .slide {
    padding: 0 3rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 932, _module.scss */
      .slides_bnrs .slides .slide {
        padding: 0 5rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 939, _module.scss */
    .slides_bnrs .slides img {
      width: 394rem; } }

/*--slide_type1----------------------------------------*/
/* line 948, _module.scss */
.full-width:has(> .slides_type1) {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 948, _module.scss */
    .full-width:has(> .slides_type1) {
      margin-top: 64rem;
      margin-bottom: 64rem; } }

/* line 951, _module.scss */
.def_margin .full-width:has(> .slides_type1) {
  margin-top: 0;
  margin-bottom: 0; }

/* line 956, _module.scss */
.slides_type1 {
  position: relative;
  z-index: 2;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 956, _module.scss */
    .slides_type1 {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 960, _module.scss */
  .slides_type1:first-child {
    margin-top: 0; }
  /* line 963, _module.scss */
  .slides_type1:last-child {
    margin-bottom: 0; }
  /* line 966, _module.scss */
  .slides_type1 .slick-track {
    display: flex;
    align-items: stretch; }
  /* line 971, _module.scss */
  .slides_type1._dots {
    padding-bottom: 30rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 975, _module.scss */
    .slides_type1 .slides:has(.slide .document_slide_card) {
      margin-top: -20rem; } }
  /* line 980, _module.scss */
  .slides_type1 .slides .slide {
    float: none;
    height: auto;
    padding: 0 16rem;
    box-sizing: border-box; }
    @media screen and (min-width: 767.1px), print {
      /* line 980, _module.scss */
      .slides_type1 .slides .slide {
        width: 414rem;
        padding: 0 21rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 989, _module.scss */
      .slides_type1 .slides .slide:has(.document_slide_card) {
        padding: 20rem 20rem 6rem !important; } }
  /* line 996, _module.scss */
  .slides_type1 .slides .slide_inner {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    box-sizing: border-box; }
  /* line 1005, _module.scss */
  .slides_type1:not(._border) .slick-arrow {
    top: 125rem; }
  /* line 1009, _module.scss */
  .slides_type1 .slide_inner > figure:first-child,
  .slides_type1 .slide_inner > a > figure:first-child {
    margin: 0 0 16rem !important; }
    @media screen and (min-width: 767.1px), print {
      /* line 1009, _module.scss */
      .slides_type1 .slide_inner > figure:first-child,
      .slides_type1 .slide_inner > a > figure:first-child {
        margin: 0 0 20rem !important; } }
  /* line 1016, _module.scss */
  .slides_type1 img {
    aspect-ratio: 3/2;
    object-fit: cover; }
  /* line 1021, _module.scss */
  .slides_type1._border .slide_inner {
    border: 1px solid #D8DBEB;
    padding: 25rem;
    border-radius: 6rem;
    background: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 1021, _module.scss */
      .slides_type1._border .slide_inner {
        padding: 30rem;
        border-radius: 10rem; } }
  /* line 1031, _module.scss */
  .slides_type1._border .slide_inner > figure:first-child,
  .slides_type1._border .slide_inner > a > figure:first-child {
    margin: -25rem -25rem 25rem !important; }
    @media screen and (min-width: 767.1px), print {
      /* line 1031, _module.scss */
      .slides_type1._border .slide_inner > figure:first-child,
      .slides_type1._border .slide_inner > a > figure:first-child {
        margin: -30rem -30rem 30rem !important; } }
    /* line 1037, _module.scss */
    .slides_type1._border .slide_inner > figure:first-child img,
    .slides_type1._border .slide_inner > a > figure:first-child img {
      border-radius: 0; }
  /* line 1043, _module.scss */
  .slides_type1 a {
    text-decoration: none !important; }
  /* line 1046, _module.scss */
  .slides_type1 .btns {
    margin-top: auto; }
    @media screen and (min-width: 767.1px), print {
      /* line 1048, _module.scss */
      .slides_type1 .btns .btn_primary {
        width: auto;
        min-width: 240rem; } }
  /* line 1059, _module.scss */
  .slides_type1 h3 {
    margin: 0 0 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1059, _module.scss */
      .slides_type1 h3 {
        margin: 0 0 10rem; } }
    /* line 1064, _module.scss */
    .slides_type1 h3:has(+ .tags) {
      margin: 0 0 16rem; }
    /* line 1067, _module.scss */
    .slides_type1 h3.small {
      font-size: 15rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1067, _module.scss */
        .slides_type1 h3.small {
          font-size: 18rem; } }
    /* line 1073, _module.scss */
    .slides_type1 h3.company {
      font-size: 13rem;
      color: #222222;
      font-weight: normal; }
      @media screen and (min-width: 767.1px), print {
        /* line 1073, _module.scss */
        .slides_type1 h3.company {
          font-size: 16rem; } }
  /* line 1083, _module.scss */
  .slides_type1 .title {
    font-size: 18rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 12rem;
    color: #4761F4; }
    @media screen and (min-width: 767.1px), print {
      /* line 1083, _module.scss */
      .slides_type1 .title {
        font-size: 20rem;
        margin: 0 0 16rem; } }
  /* line 1094, _module.scss */
  .slides_type1 p {
    margin: 0 0 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1094, _module.scss */
      .slides_type1 p {
        margin: 0 0 24rem; } }
    /* line 1100, _module.scss */
    .slides_type1 p.excerpt {
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      line-clamp: 3;
      -webkit-line-clamp: 3;
      display: -webkit-box; }

/* line 1112, _module.scss */
.document_slide_card {
  display: flex;
  flex-direction: column;
  border: 1px solid #D8DBEB;
  box-sizing: border-box;
  border-radius: 10rem;
  height: 100%; }
  @media screen and (min-width: 767.1px), print {
    /* line 1121, _module.scss */
    .document_slide_card:not(.nohover):hover figure img {
      transform: translateY(-6rem) rotate(-6deg); } }
  /* line 1126, _module.scss */
  .document_slide_card figure {
    padding: 24rem 24rem 0;
    position: relative; }
    /* line 1131, _module.scss */
    .document_slide_card figure::before {
      content: "";
      display: block;
      position: absolute;
      top: 24rem;
      left: 24rem;
      width: calc(100% - 48rem);
      height: calc(100% - 24rem);
      box-sizing: border-box;
      border: 10rem solid #94B9E3;
      border-radius: 5rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1131, _module.scss */
        .document_slide_card figure::before {
          border-radius: 10rem; } }
    /* line 1146, _module.scss */
    .document_slide_card figure img {
      position: relative;
      transition: .3s;
      transform-origin: -30rem bottom;
      aspect-ratio: auto; }
  /* line 1154, _module.scss */
  .document_slide_card .title {
    padding: 16rem 24rem 0;
    font-size: 16rem;
    font-weight: bold;
    color: #4761F4;
    margin: 0 0 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1154, _module.scss */
      .document_slide_card .title {
        font-size: 20rem;
        padding-top: 20rem; } }
  /* line 1165, _module.scss */
  .document_slide_card dl {
    padding: 0 24rem 24rem;
    margin: 0;
    font-size: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1165, _module.scss */
      .document_slide_card dl {
        font-size: 14rem; } }
    /* line 1172, _module.scss */
    .document_slide_card dl dt {
      margin: 0;
      padding: 0;
      font-weight: bold; }
    /* line 1177, _module.scss */
    .document_slide_card dl dd {
      margin: 3rem 0 0;
      padding: 0;
      display: grid;
      grid-template-columns: 14rem 1fr;
      grid-gap: 5rem;
      line-height: 1.4;
      align-items: center; }
      /* line 1185, _module.scss */
      .document_slide_card dl dd svg {
        width: 14rem;
        height: 14rem;
        fill: #4761F4; }
  /* line 1192, _module.scss */
  .document_slide_card .btns {
    margin-top: auto;
    padding: 0 24rem 24rem; }
    /* line 1195, _module.scss */
    .document_slide_card .btns a {
      width: 100% !important; }

/*--search_box----------------------------------------*/
/* line 1207, _module.scss */
.search_input {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1207, _module.scss */
    .search_input {
      margin-top: 64rem;
      margin-bottom: 64rem; } }

/* line 1211, _module.scss */
.search_box {
  display: grid;
  grid-template-columns: 1fr 112rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1211, _module.scss */
    .search_box {
      grid-template-columns: 1fr 180rem;
      max-width: 600rem;
      margin: 0 auto; } }
  /* line 1224, _module.scss */
  .search_box input[type="text"] {
    height: 45rem;
    padding: 2rem 16rem 0;
    border: none;
    border-radius: 100rem 0 0 100rem;
    background: #E3F4FF;
    box-shadow: inset 0px 1.35099px 2.70199px rgba(0, 0, 0, 0.1);
    width: 100%; }
    @media screen and (min-width: 767.1px), print {
      /* line 1224, _module.scss */
      .search_box input[type="text"] {
        height: 60rem;
        padding: 4rem 32rem 0;
        font-size: 18rem; } }
    /* line 1237, _module.scss */
    .colorbg .search_box input[type="text"] {
      background: #fff; }
  /* line 1241, _module.scss */
  .search_box button {
    height: 45rem;
    background: #4761F4;
    color: #fff;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 5rem;
    border: none;
    border-radius: 0 100rem 100rem 0;
    appearance: none;
    font-size: 14rem;
    font-weight: 600; }
    @media screen and (min-width: 767.1px), print {
      /* line 1241, _module.scss */
      .search_box button {
        grid-gap: 10rem;
        height: 60rem;
        font-size: 20rem;
        transition: opacity .3s; }
        /* line 1260, _module.scss */
        .search_box button:hover {
          opacity: .7; } }
    /* line 1264, _module.scss */
    .search_box button svg {
      width: 14rem;
      fill: #fff; }
      @media screen and (min-width: 767.1px), print {
        /* line 1264, _module.scss */
        .search_box button svg {
          width: 24rem; } }

/*--閲覧履歴----------------------------------------*/
/* line 1277, _module.scss */
.history_box {
  border: 1px solid #D8DBF0;
  border-radius: 10rem;
  padding: 20rem 16rem;
  margin-top: 24rem;
  margin-bottom: 48rem;
  position: relative;
  background: #fff; }
  @media screen and (min-width: 767.1px), print {
    /* line 1277, _module.scss */
    .history_box {
      padding: 32rem;
      padding: 32rem; } }
  /* line 1289, _module.scss */
  .history_box h3 {
    font-size: 18rem;
    font-weight: bold;
    color: #1EBB52;
    display: grid;
    align-items: center;
    grid-template-columns: 18rem 1fr;
    grid-gap: 5rem;
    line-height: 1; }
    /* line 1298, _module.scss */
    .history_box h3 svg {
      width: 18rem;
      height: 18rem;
      fill: #1EBB52; }
  /* line 1304, _module.scss */
  .history_box ul {
    margin: 16rem 0 0;
    padding: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1304, _module.scss */
      .history_box ul {
        margin-top: 24rem; } }
    /* line 1310, _module.scss */
    .history_box ul li {
      margin: 8rem 0 0;
      padding: 0;
      list-style: none; }
      /* line 1314, _module.scss */
      .history_box ul li:first-child {
        margin-top: 0; }
      /* line 1317, _module.scss */
      .history_box ul li span {
        display: grid;
        grid-template-columns: 3rem 1fr;
        grid-gap: 10rem;
        align-items: flex-start;
        line-height: 1.5;
        font-size: 13rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 1317, _module.scss */
          .history_box ul li span {
            font-size: 16rem; } }
        /* line 1327, _module.scss */
        .history_box ul li span::before {
          content: "●";
          display: block;
          font-size: 10rem;
          transform: scale(0.6) translateY(4rem); }
          @media screen and (min-width: 767.1px), print {
            /* line 1327, _module.scss */
            .history_box ul li span::before {
              transform: scale(0.6) translateY(6rem); } }
      /* line 1337, _module.scss */
      .history_box ul li:nth-of-type(n + 4) {
        display: none; }
    /* line 1341, _module.scss */
    .history_box ul a {
      color: #4761F4;
      text-decoration: none !important; }
  /* line 1346, _module.scss */
  .history_box .more {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 5rem;
    font-size: 11rem;
    border: 1px solid #ccc;
    border-radius: 100rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    background: #fff;
    padding: 4rem 24rem;
    width: 100rem; }
    /* line 1362, _module.scss */
    .history_box .more > span,
    .history_box .more i {
      transition: opacity .3s; }
    @media screen and (min-width: 767.1px), print {
      /* line 1368, _module.scss */
      .history_box .more:hover > span,
      .history_box .more:hover i {
        opacity: .7; } }
    /* line 1374, _module.scss */
    .history_box .more .close_text {
      display: none; }
    /* line 1377, _module.scss */
    .history_box .more i {
      display: block;
      font-size: 1px; }
    /* line 1381, _module.scss */
    .history_box .more svg {
      width: 8rem; }
    /* line 1385, _module.scss */
    .history_box .more.close i {
      transform: rotate(180deg); }
    /* line 1388, _module.scss */
    .history_box .more.close .open_text {
      display: none; }
    /* line 1391, _module.scss */
    .history_box .more.close .close_text {
      display: block; }

/*--modal----------------------------------------*/
/* line 1402, _module.scss */
#modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: opacity .3s;
  z-index: 2500;
  opacity: 0;
  pointer-events: none; }
  /* line 1412, _module.scss */
  #modal.active {
    pointer-events: all;
    opacity: 1; }
  /* line 1416, _module.scss */
  #modal .modal_bg {
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%; }
  /* line 1424, _module.scss */
  #modal .modal_inner {
    padding: 10vw 5vw;
    overflow: hidden;
    max-height: 100%;
    width: 100%;
    box-sizing: border-box; }
    @media screen and (min-width: 767.1px), print {
      /* line 1424, _module.scss */
      #modal .modal_inner {
        padding: 50rem 30rem; } }
  /* line 1434, _module.scss */
  #modal .modal_close {
    overflow: hidden;
    position: absolute;
    cursor: pointer;
    transform: rotate(45deg);
    line-height: 1;
    z-index: 100; }
    @media screen and (max-width: 767px) {
      /* line 1434, _module.scss */
      #modal .modal_close {
        color: #fff;
        font-size: 30rem;
        bottom: -35rem;
        right: 0rem;
        font-size: 20rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 1434, _module.scss */
      #modal .modal_close {
        background: linear-gradient(45deg, #25a4d9 0%, #1921a1 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        top: 15rem;
        right: 15rem;
        font-size: 30rem; } }
  /* line 1457, _module.scss */
  #modal .modal_frame {
    width: 100%;
    max-width: 1000rem;
    max-height: 100%;
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
    background: #fff;
    display: none; }
    /* line 1466, _module.scss */
    #modal .modal_frame.active {
      display: block; }

/*------------------------------------------*/
/* line 1476, _module.scss */
.text_kv {
  background: linear-gradient(90deg, #4761F4 0%, #1531CC 100%);
  position: relative;
  color: #fff;
  padding: 16rem 0;
  margin-bottom: 24rem;
  min-height: 160rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden; }
  @media screen and (min-width: 767.1px), print {
    /* line 1476, _module.scss */
    .text_kv {
      margin-bottom: 64rem;
      padding: 24rem 0;
      min-height: 250rem; } }
  /* line 1494, _module.scss */
  .text_kv::before {
    content: "";
    background: url("../images/img_bg_effect01.webp") no-repeat left top/contain;
    width: 25%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1494, _module.scss */
      .text_kv::before {
        width: 250rem; } }
  /* line 1507, _module.scss */
  .text_kv::after {
    content: "";
    background: url("../images/img_bg_effect02.webp") no-repeat bottom right/contain;
    width: 45%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    bottom: -20rem;
    right: -70rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1507, _module.scss */
      .text_kv::after {
        width: 350rem;
        bottom: 0;
        right: 0; } }
  /* line 1522, _module.scss */
  .text_kv h1 {
    margin: 0;
    color: #fff;
    text-align: center; }

/* グリッド =============================================*/
/* line 1537, _module.scss */
.grid {
  display: grid;
  grid-gap: 32rem;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1537, _module.scss */
    .grid {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (max-width: 767px) {
    /* line 1543, _module.scss */
    .grid._2col._border .col {
      padding: 25rem; }
      /* line 1545, _module.scss */
      .grid._2col._border .col figure:first-child {
        margin: -25rem -25rem 25rem !important; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1541, _module.scss */
    .grid._2col {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 60rem; }
      /* line 1553, _module.scss */
      .grid._2col._border .col {
        padding: 30rem; }
        /* line 1555, _module.scss */
        .grid._2col._border .col figure:first-child {
          margin: -30rem -30rem 25rem !important; }
      /* line 1559, _module.scss */
      .grid._2col h3 {
        margin-bottom: 16rem; } }
  @media screen and (max-width: 767px) {
    /* line 1566, _module.scss */
    .grid._3col._border .col {
      padding: 25rem; }
      /* line 1568, _module.scss */
      .grid._3col._border .col figure:first-child {
        margin: -25rem -25rem 25rem !important; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1564, _module.scss */
    .grid._3col {
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 60rem 42rem; }
      /* line 1577, _module.scss */
      .grid._3col._border {
        grid-gap: 42rem; }
        /* line 1579, _module.scss */
        .grid._3col._border .col {
          padding: 30rem; }
          /* line 1581, _module.scss */
          .grid._3col._border .col figure:first-child {
            margin: -30rem -30rem 30rem !important; }
      /* line 1586, _module.scss */
      .grid._3col h3 {
        font-size: 18rem; }
      /* line 1589, _module.scss */
      .grid._3col .btn_primary {
        height: 45rem;
        min-width: 180rem !important;
        font-size: 15rem; } }
  @media screen and (max-width: 767px) {
    /* line 1598, _module.scss */
    .grid._4col .col {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      border-top: 1px solid #D8DBEB;
      padding-top: 16rem; }
      /* line 1606, _module.scss */
      .grid._4col .col > a {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap; }
      /* line 1613, _module.scss */
      .grid._4col .col h3 {
        text-align: left !important;
        margin: 0 0 -5rem; }
      /* line 1618, _module.scss */
      .grid._4col .col:has(figure) h3 {
        width: 60%;
        order: 1;
        box-sizing: border-box;
        padding-right: 16rem; }
      /* line 1624, _module.scss */
      .grid._4col .col:has(figure) figure {
        width: 40%;
        order: 2;
        margin: 0; }
        /* line 1628, _module.scss */
        .grid._4col .col:has(figure) figure img {
          border-radius: 5rem !important; }
      /* line 1634, _module.scss */
      .grid._4col .col > p, .grid._4col .col > a > p,
      .grid._4col .col .text {
        width: 100%;
        order: 3;
        border-top: 1px dotted #D8DBEB;
        padding-top: 16rem;
        margin-top: 16rem !important;
        margin-bottom: 16rem !important; }
        /* line 1643, _module.scss */
        .grid._4col .col > p + .btns, .grid._4col .col > a > p + .btns,
        .grid._4col .col .text + .btns {
          border: none;
          padding: 0;
          margin-top: 0 !important; }
        /* line 1648, _module.scss */
        .grid._4col .col > p:last-child, .grid._4col .col > a > p:last-child,
        .grid._4col .col .text:last-child {
          margin-bottom: 0 !important; }
      /* line 1652, _module.scss */
      .grid._4col .col .btns {
        width: 100%;
        order: 3;
        border-top: 1px dotted #D8DBEB;
        padding-top: 16rem;
        margin-top: 16rem !important; }
    /* line 1660, _module.scss */
    .grid._4col._border .col {
      padding: 16rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1596, _module.scss */
    .grid._4col {
      grid-template-columns: repeat(4, 1fr);
      grid-gap: 50rem 30rem; }
      /* line 1668, _module.scss */
      .grid._4col._border {
        grid-gap: 30rem; }
        /* line 1670, _module.scss */
        .grid._4col._border .col {
          padding: 25rem;
          border-radius: 5rem; }
          /* line 1673, _module.scss */
          .grid._4col._border .col figure:first-child {
            margin: -25rem -25rem 25rem !important; } }
  /* line 1679, _module.scss */
  .grid._4col h3 {
    font-size: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1679, _module.scss */
      .grid._4col h3 {
        font-size: 18rem; } }
  /* line 1685, _module.scss */
  .grid._4col p {
    line-height: 1.6; }
  /* line 1688, _module.scss */
  .grid._4col img.round {
    border-radius: 5rem; }
  /* line 1691, _module.scss */
  .grid._4col .btn_primary {
    height: 45rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1691, _module.scss */
      .grid._4col .btn_primary {
        min-width: 180rem !important; } }
  @media screen and (max-width: 767px) {
    /* line 1698, _module.scss */
    .grid._5col {
      width: 190rem;
      margin-left: auto;
      margin-right: auto; }
      /* line 1705, _module.scss */
      .grid._5col._border .col {
        padding: 10rem; }
        /* line 1707, _module.scss */
        .grid._5col._border .col figure:first-child {
          margin: -10rem -10rem 15rem !important; }
      /* line 1713, _module.scss */
      .grid._5col .col .btn_primary {
        width: auto; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1698, _module.scss */
    .grid._5col {
      grid-template-columns: repeat(5, 1fr);
      grid-gap: 40rem 20rem;
      justify-content: center; }
      /* line 1722, _module.scss */
      .grid._5col .col {
        box-sizing: border-box; }
        /* line 1724, _module.scss */
        .grid._5col .col .btn_primary {
          min-width: 100%; }
      /* line 1728, _module.scss */
      .grid._5col._border {
        grid-gap: 20rem; }
        /* line 1730, _module.scss */
        .grid._5col._border .col {
          padding: 15rem;
          border-radius: 5rem; }
          /* line 1733, _module.scss */
          .grid._5col._border .col figure:first-child {
            margin: -15rem -15rem 15rem !important; } }
  /* line 1740, _module.scss */
  .grid._5col h3 {
    font-size: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1740, _module.scss */
      .grid._5col h3 {
        font-size: 18rem; } }
  /* line 1746, _module.scss */
  .grid._5col figure {
    margin-bottom: 16rem; }
  /* line 1749, _module.scss */
  .grid._5col img.round {
    border-radius: 5rem; }
  /* line 1752, _module.scss */
  .grid._5col p {
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 1752, _module.scss */
      .grid._5col p {
        font-size: 14rem; } }
  /* line 1759, _module.scss */
  .grid._5col .btn_primary {
    height: 45rem;
    font-size: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1759, _module.scss */
      .grid._5col .btn_primary {
        font-size: 14rem; } }
  @media screen and (max-width: 767px) {
    /* line 1767, _module.scss */
    .grid._5_circlecol {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 24rem 0; }
      /* line 1771, _module.scss */
      .grid._5_circlecol img {
        width: 120rem; }
      /* line 1774, _module.scss */
      .grid._5_circlecol h3 {
        padding: 0 10rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1767, _module.scss */
    .grid._5_circlecol {
      display: flex;
      flex-wrap: wrap;
      grid-gap: 20rem; }
      /* line 1782, _module.scss */
      .grid._5_circlecol img {
        width: 150rem; }
      /* line 1785, _module.scss */
      .grid._5_circlecol .col {
        width: 224rem; } }
  /* line 1790, _module.scss */
  .grid._5_circlecol h3 {
    font-size: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1790, _module.scss */
      .grid._5_circlecol h3 {
        font-size: 18rem; } }
  /* line 1796, _module.scss */
  .grid._5_circlecol figure {
    margin-bottom: 16rem; }
    /* line 1798, _module.scss */
    .grid._5_circlecol figure img {
      aspect-ratio: 1;
      border-radius: 100rem;
      object-fit: cover; }
  /* line 1804, _module.scss */
  .grid._5_circlecol p {
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 1804, _module.scss */
      .grid._5_circlecol p {
        font-size: 14rem; } }
  /* line 1811, _module.scss */
  .grid._5_circlecol .btn_primary {
    height: 45rem; }
  /* line 1817, _module.scss */
  .grid._border .col {
    border: 1px solid #D8DBEB;
    border-radius: 5rem;
    overflow: hidden;
    background: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 1817, _module.scss */
      .grid._border .col {
        border-radius: 10rem; } }
  /* line 1828, _module.scss */
  .grid._border figure:first-child img {
    border-radius: 0; }
  /* line 1833, _module.scss */
  .grid .col {
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 767.1px), print {
      /* line 1833, _module.scss */
      .grid .col {
        order: 2; } }
    /* line 1840, _module.scss */
    .grid .col :first-child {
      margin-top: 0 !important; }
    /* line 1843, _module.scss */
    .grid .col :last-child {
      margin-bottom: 0 !important; }
    @media screen and (min-width: 767.1px), print {
      /* line 1847, _module.scss */
      .grid .col._pc_left {
        order: 1; }
      /* line 1853, _module.scss */
      .grid .col._pc_right {
        order: 3; } }
    /* line 1861, _module.scss */
    .grid .col > a {
      text-decoration: none; }
    /* line 1865, _module.scss */
    .grid .col > .btns {
      margin-top: auto !important; }
    @media screen and (min-width: 767.1px), print {
      /* line 1868, _module.scss */
      .grid .col .btn_primary {
        width: auto;
        min-width: 240rem; } }
  /* line 1879, _module.scss */
  .grid figure {
    margin: 0 0 24rem;
    text-align: center; }
    /* line 1882, _module.scss */
    .grid figure:last-child {
      margin: 0; }
    /* line 1885, _module.scss */
    .grid figure img {
      width: 100%; }
  /* line 1889, _module.scss */
  .grid h3 {
    margin-bottom: 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1889, _module.scss */
      .grid h3 {
        margin-bottom: 10rem; } }
  /* line 1897, _module.scss */
  .grid:has(._pc_left) h3, .grid:has(._pc_right) h3 {
    margin-bottom: 16rem; }
  /* line 1902, _module.scss */
  .grid p {
    line-height: 1.6;
    margin: 0 0 16rem; }
  /* line 1906, _module.scss */
  .grid div.text ul:not(.tags),
  .grid ul.text:not(.tags) {
    margin: 0 0 0 1.2em;
    padding: 0; }
    /* line 1910, _module.scss */
    .grid div.text ul:not(.tags) li,
    .grid ul.text:not(.tags) li {
      margin: 0;
      padding: 0; }
  /* line 1915, _module.scss */
  .grid .text:has(+ .btns),
  .grid ul.tags:has(+ .btns) {
    margin-bottom: 24rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1915, _module.scss */
      .grid .text:has(+ .btns),
      .grid ul.tags:has(+ .btns) {
        margin-bottom: 32rem; } }

/* 動画 =============================================*/
/* line 1926, _module.scss */
.video {
  margin-top: 32rem;
  margin-bottom: 32rem;
  text-align: center;
  margin: 0 auto;
  max-width: 100%; }
  @media screen and (min-width: 767.1px), print {
    /* line 1926, _module.scss */
    .video {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1931, _module.scss */
  .video video {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto; }
  /* line 1936, _module.scss */
  .video iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto; }

/* カード（小） =============================================*/
/* line 1945, _module.scss */
.cards_s {
  margin-top: 32rem;
  margin-bottom: 32rem;
  width: 285rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 767.1px), print {
    /* line 1945, _module.scss */
    .cards_s {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1945, _module.scss */
    .cards_s {
      width: auto; } }
  /* line 1953, _module.scss */
  .cards_s ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1953, _module.scss */
      .cards_s ul {
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 16rem; } }
    /* line 1962, _module.scss */
    .cards_s ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
      /* line 1966, _module.scss */
      .cards_s ul li > a, .cards_s ul li > span {
        display: grid;
        grid-template-columns: 1fr 12rem;
        align-items: center;
        grid-gap: 10rem;
        border: 1px solid #D8DBEB;
        border-radius: 5rem;
        padding: 10rem;
        height: 100%;
        min-height: 60rem;
        box-sizing: border-box;
        background: #fff; }
        @media screen and (min-width: 767.1px), print {
          /* line 1966, _module.scss */
          .cards_s ul li > a, .cards_s ul li > span {
            grid-template-columns: 1fr 15rem;
            min-height: 80rem; } }
        /* line 1983, _module.scss */
        .cards_s ul li > a:has(figure), .cards_s ul li > span:has(figure) {
          grid-template-columns: 20rem 1fr 12rem; }
          @media screen and (min-width: 767.1px), print {
            /* line 1983, _module.scss */
            .cards_s ul li > a:has(figure), .cards_s ul li > span:has(figure) {
              grid-template-columns: 32rem 1fr 15rem; } }
      /* line 1990, _module.scss */
      .cards_s ul li > span {
        grid-template-columns: 1fr; }
        /* line 1992, _module.scss */
        .cards_s ul li > span:has(figure) {
          grid-template-columns: 20rem 1fr; }
          @media screen and (min-width: 767.1px), print {
            /* line 1992, _module.scss */
            .cards_s ul li > span:has(figure) {
              grid-template-columns: 32rem 1fr; } }
        /* line 1998, _module.scss */
        .cards_s ul li > span > i {
          display: none; }
  @media screen and (min-width: 767.1px), print {
    /* line 2005, _module.scss */
    .cards_s._2col ul {
      grid-template-columns: repeat(2, 1fr); } }
  /* line 2013, _module.scss */
  .cards_s figure {
    line-height: 1px; }
    /* line 2015, _module.scss */
    .cards_s figure img {
      aspect-ratio: 1;
      object-fit: cover; }
  /* line 2020, _module.scss */
  .cards_s h3 {
    font-size: 13rem;
    margin: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 2020, _module.scss */
      .cards_s h3 {
        font-size: 16rem; } }
  /* line 2027, _module.scss */
  .cards_s svg {
    width: 12rem;
    fill: #4761F4; }

/* カード（大） =============================================*/
/* line 2036, _module.scss */
.cards_l {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2036, _module.scss */
    .cards_l {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 2038, _module.scss */
  .cards_l > ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2038, _module.scss */
      .cards_l > ul {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 16rem; } }
    /* line 2047, _module.scss */
    .cards_l > ul > li {
      margin: 0;
      padding: 0;
      list-style: none; }
      /* line 2051, _module.scss */
      .cards_l > ul > li > a, .cards_l > ul > li > span {
        display: grid;
        align-items: center;
        border: 1px solid #D8DBEB;
        border-radius: 5rem;
        padding: 10rem;
        text-decoration: none !important;
        height: 100%;
        box-sizing: border-box;
        background: #fff; }
        @media screen and (min-width: 767.1px), print {
          /* line 2062, _module.scss */
          .cards_l > ul > li > a > .text, .cards_l > ul > li > span > .text {
            padding: 10rem; } }
        /* line 2067, _module.scss */
        .cards_l > ul > li > a:has(figure), .cards_l > ul > li > span:has(figure) {
          grid-template-columns: 98rem 1fr;
          grid-gap: 10rem; }
          @media screen and (min-width: 767.1px), print {
            /* line 2067, _module.scss */
            .cards_l > ul > li > a:has(figure), .cards_l > ul > li > span:has(figure) {
              grid-template-columns: 150rem 1fr;
              grid-gap: 20rem; } }
          @media screen and (min-width: 767.1px), print {
            /* line 2074, _module.scss */
            .cards_l > ul > li > a:has(figure) > .text, .cards_l > ul > li > span:has(figure) > .text {
              padding-left: 0; } }
    /* line 2082, _module.scss */
    .cards_l > ul ul {
      margin: 0 0 0 1.2em;
      padding: 0;
      font-size: 12rem;
      line-height: 1.6; }
      @media screen and (min-width: 767.1px), print {
        /* line 2082, _module.scss */
        .cards_l > ul ul {
          font-size: 14rem; } }
      /* line 2090, _module.scss */
      .cards_l > ul ul li {
        margin: 0;
        padding: 0;
        list-style: disc; }
  /* line 2097, _module.scss */
  .cards_l figure {
    line-height: 1px; }
    /* line 2099, _module.scss */
    .cards_l figure img {
      aspect-ratio: 1;
      object-fit: cover; }
  /* line 2104, _module.scss */
  .cards_l h3 {
    font-size: 13rem;
    margin: 0;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 2104, _module.scss */
      .cards_l h3 {
        font-size: 16rem; } }
    /* line 2112, _module.scss */
    .cards_l h3:has(+ ul), .cards_l h3:has(+ p) {
      margin: 0 0 8rem; }
  /* line 2117, _module.scss */
  .cards_l p {
    font-size: 12rem;
    line-height: 1.6;
    margin: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 2117, _module.scss */
      .cards_l p {
        font-size: 14rem; } }

/* フキダシ =============================================*/
/* line 2129, _module.scss */
.talk {
  display: grid;
  grid-gap: 16rem;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2129, _module.scss */
    .talk {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 2129, _module.scss */
    .talk {
      padding: 0 100rem;
      grid-gap: 24rem; } }
  /* line 2138, _module.scss */
  .talk:has(> .line:nth-child(1):last-child) .line .text {
    width: auto; }
  /* line 2142, _module.scss */
  .talk .line {
    position: relative; }
    /* line 2144, _module.scss */
    .talk .line .text {
      position: relative;
      box-sizing: border-box; }
      @media screen and (min-width: 767.1px), print {
        /* line 2144, _module.scss */
        .talk .line .text {
          width: 600rem; } }
      /* line 2150, _module.scss */
      .talk .line .text::before {
        content: "";
        background: url(../images/img_fukidashi.svg) no-repeat center center/contain;
        width: 16rem;
        height: 13rem;
        position: absolute;
        top: 44rem;
        display: block; }
        @media screen and (min-width: 767.1px), print {
          /* line 2150, _module.scss */
          .talk .line .text::before {
            top: 70rem;
            width: 28rem;
            height: 20rem; } }
      /* line 2164, _module.scss */
      .talk .line .text h3 {
        color: #fff;
        background: #384695;
        font-weight: 600;
        border-radius: 5rem;
        padding: 4rem 10rem;
        font-size: 12rem;
        margin: 0 10rem;
        display: table;
        position: relative; }
        @media screen and (min-width: 767.1px), print {
          /* line 2164, _module.scss */
          .talk .line .text h3 {
            font-size: 16rem;
            padding: 6rem 10rem;
            margin: 0 30rem; } }
        /* line 2179, _module.scss */
        .talk .line .text h3 + .message {
          padding: 22rem 10rem 10rem;
          margin-top: -12rem !important; }
          @media screen and (min-width: 767.1px), print {
            /* line 2179, _module.scss */
            .talk .line .text h3 + .message {
              padding: 33rem 30rem 20rem;
              margin-top: -18rem !important; } }
      /* line 2188, _module.scss */
      .talk .line .text .message {
        background: #E2F4FF;
        border-radius: 5rem;
        padding: 10rem 10rem 10rem;
        min-height: 50rem;
        display: flex;
        align-items: center; }
        @media screen and (min-width: 767.1px), print {
          /* line 2188, _module.scss */
          .talk .line .text .message {
            padding: 20rem 30rem 20rem;
            min-height: 70rem; } }
      /* line 2201, _module.scss */
      .talk .line .text p {
        font-size: 12rem;
        line-height: 1.6; }
        @media screen and (min-width: 767.1px), print {
          /* line 2201, _module.scss */
          .talk .line .text p {
            font-size: 16rem; } }
    /* line 2209, _module.scss */
    .talk .line figure {
      position: absolute;
      top: 12rem;
      width: 60rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2209, _module.scss */
        .talk .line figure {
          width: 140rem;
          top: 0; } }
      /* line 2217, _module.scss */
      .talk .line figure img {
        border-radius: 100rem;
        aspect-ratio: 1;
        border: 2rem solid #D9D9D9;
        object-fit: cover;
        box-sizing: border-box; }
        @media screen and (min-width: 767.1px), print {
          /* line 2217, _module.scss */
          .talk .line figure img {
            border-width: 3rem; } }
    /* line 2228, _module.scss */
    .talk .line._left {
      padding-left: 80rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2228, _module.scss */
        .talk .line._left {
          padding-left: 164rem; } }
      /* line 2233, _module.scss */
      .talk .line._left figure {
        left: 0; }
      /* line 2237, _module.scss */
      .talk .line._left .text::before {
        left: -12rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 2237, _module.scss */
          .talk .line._left .text::before {
            left: -22rem; } }
    /* line 2245, _module.scss */
    .talk .line._right {
      padding-right: 80rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2245, _module.scss */
        .talk .line._right {
          padding-right: 164rem; } }
      /* line 2250, _module.scss */
      .talk .line._right figure {
        right: 0; }
      /* line 2253, _module.scss */
      .talk .line._right .text {
        margin-left: auto; }
        /* line 2255, _module.scss */
        .talk .line._right .text::before {
          right: -12rem;
          transform: scaleX(-1); }
          @media screen and (min-width: 767.1px), print {
            /* line 2255, _module.scss */
            .talk .line._right .text::before {
              right: -22rem; } }

/* CVエリア =============================================*/
/* line 2269, _module.scss */
.cv_area {
  background: linear-gradient(264.13deg, #A4D6FF 0%, #E2F4FF 63.47%);
  position: relative;
  text-align: center;
  overflow: hidden;
  padding: 48rem 24rem;
  margin: 48rem -16rem;
  box-sizing: border-box; }
  @media screen and (min-width: 767.1px), print {
    /* line 2269, _module.scss */
    .cv_area {
      border-radius: 20px;
      padding: 64rem;
      margin: 64rem auto;
      max-width: 1000rem; } }
  /* line 2283, _module.scss */
  .cv_area::before, .cv_area::after {
    content: "";
    background: url("../images/img_cv_bg.svg") no-repeat center center/contain;
    aspect-ratio: 287/328;
    display: block;
    width: 172rem;
    position: absolute;
    z-index: 1; }
    @media screen and (min-width: 767.1px), print {
      /* line 2283, _module.scss */
      .cv_area::before, .cv_area::after {
        width: 287rem; } }
  /* line 2296, _module.scss */
  .cv_area::before {
    bottom: 0;
    right: 0; }
  /* line 2300, _module.scss */
  .cv_area::after {
    transform: rotate(180deg);
    top: 0;
    left: 0; }
  /* line 2305, _module.scss */
  .cv_area * {
    position: relative;
    z-index: 2; }
  /* line 2309, _module.scss */
  .cv_area .small {
    font-size: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2309, _module.scss */
      .cv_area .small {
        font-size: 14rem; } }
  /* line 2316, _module.scss */
  .cv_area h2 {
    margin-bottom: 0.5em; }

/* フローティングバナー =============================================*/
/* line 2325, _module.scss */
.float_bnr {
  position: fixed;
  bottom: 20rem;
  right: 0;
  z-index: 10; }
  /* line 2331, _module.scss */
  .float_bnr .close {
    cursor: pointer;
    position: absolute;
    top: -40rem;
    right: 10rem;
    width: 30rem;
    height: 30rem;
    background: url("../images/img_close.svg") no-repeat center center/contain; }
  /* line 2341, _module.scss */
  .float_bnr a {
    display: block;
    transition: filter .3s; }
    /* line 2344, _module.scss */
    .float_bnr a:hover {
      filter: brightness(1.1);
      opacity: 1; }

/* フロー =============================================*/
/* line 2355, _module.scss */
.flow {
  display: grid;
  margin-top: 32rem;
  margin-bottom: 32rem;
  border-top: 1px solid #D8DBEB; }
  @media screen and (min-width: 767.1px), print {
    /* line 2355, _module.scss */
    .flow {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 2360, _module.scss */
  .flow .line {
    padding: 24rem 0;
    display: grid;
    border-bottom: 1px solid #D8DBEB;
    grid-gap: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2360, _module.scss */
      .flow .line {
        padding: 32rem 0; } }
    @media screen and (min-width: 767.1px), print {
      /* line 2368, _module.scss */
      .flow .line:has(figure) {
        grid-template-columns: 240rem 1fr;
        grid-gap: 32rem;
        align-items: center; } }
    /* line 2375, _module.scss */
    .flow .line figure {
      text-align: center;
      align-self: flex-start; }
      @media screen and (max-width: 767px) {
        /* line 2378, _module.scss */
        .flow .line figure img {
          width: 185rem; } }
    /* line 2385, _module.scss */
    .flow .line h3:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 2384, _module.scss */
      .flow .line h3 {
        font-size: 18rem; } }
    /* line 2392, _module.scss */
    .flow .line p {
      font-size: 13rem;
      line-height: 1.6; }
      @media screen and (min-width: 767.1px), print {
        /* line 2392, _module.scss */
        .flow .line p {
          font-size: 14rem; } }
    /* line 2399, _module.scss */
    .flow .line ul {
      font-size: 13rem;
      line-height: 1.6;
      padding: 0 0 0 1.5em;
      margin: 0;
      display: grid;
      grid-gap: 0.5em; }
      @media screen and (min-width: 767.1px), print {
        /* line 2399, _module.scss */
        .flow .line ul {
          font-size: 14rem; } }
      /* line 2409, _module.scss */
      .flow .line ul li {
        margin: 0;
        padding: 0; }

/* クロスセル =============================================*/
/* line 2420, _module.scss */
.crosssell {
  box-shadow: 0px 4px 15px rgba(204, 204, 204, 0.3);
  background: #fff;
  border: 2rem solid #FFA318;
  border-radius: 10rem;
  position: relative;
  padding: 20rem 20rem 32rem;
  margin-top: 32rem;
  margin-bottom: 32rem;
  box-sizing: border-box; }
  @media screen and (min-width: 767.1px), print {
    /* line 2420, _module.scss */
    .crosssell {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 2420, _module.scss */
    .crosssell {
      border-radius: 20rem;
      padding: 48rem;
      border-width: 4rem;
      box-shadow: 0px 8px 30px rgba(204, 204, 204, 0.3); } }
  /* line 2437, _module.scss */
  .crosssell .microcopy {
    background: #fff;
    padding: 0 20rem;
    background: #fff;
    position: absolute;
    top: -3rem;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFA318;
    white-space: nowrap; }
    @media screen and (min-width: 767.1px), print {
      /* line 2437, _module.scss */
      .crosssell .microcopy {
        font-size: 20rem;
        top: 0; } }
  /* line 2452, _module.scss */
  .crosssell h3 {
    font-size: 20rem;
    color: #222222;
    text-align: center;
    font-weight: 700;
    margin: 0 0 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2452, _module.scss */
      .crosssell h3 {
        font-size: 28rem;
        margin: -16rem 0 -24rem;
        width: 100%; } }
  /* line 2464, _module.scss */
  .crosssell .flex {
    margin: 0;
    display: grid; }
    @media screen and (max-width: 767px) {
      /* line 2468, _module.scss */
      .crosssell .flex .col1 {
        margin: 0 0 20rem; }
      /* line 2473, _module.scss */
      .crosssell .flex .btn_box {
        width: 100%; } }
    @media screen and (min-width: 767.1px), print {
      /* line 2464, _module.scss */
      .crosssell .flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        grid-gap: 48rem; }
        /* line 2482, _module.scss */
        .crosssell .flex .col1,
        .crosssell .flex .col2 {
          width: calc(50% - 24rem); } }
  @media screen and (max-width: 767px) {
    /* line 2489, _module.scss */
    .crosssell .btn_primary {
      width: 100%; } }

/* FAQ =============================================*/
/* line 2500, _module.scss */
.faq_list {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2500, _module.scss */
    .faq_list {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 2502, _module.scss */
  .faq_list dl {
    margin: 0;
    padding: 0;
    border-top: 1px solid #D8DBEB;
    line-height: 1.6; }
    /* line 2507, _module.scss */
    .faq_list dl > div {
      border-bottom: 1px solid #D8DBEB; }
    /* line 2510, _module.scss */
    .faq_list dl dt {
      margin: 0;
      padding: 16rem 0;
      display: grid;
      grid-template-columns: 15rem 1fr 30rem;
      grid-gap: 10rem;
      align-items: center; }
      @media screen and (min-width: 767.1px), print {
        /* line 2510, _module.scss */
        .faq_list dl dt {
          padding: 24rem;
          grid-gap: 20rem;
          grid-template-columns: 20rem 1fr 40rem; } }
      /* line 2522, _module.scss */
      .faq_list dl dt::before {
        content: "Q";
        font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
        color: #4761F4;
        font-size: 15rem;
        font-weight: 700;
        display: block;
        align-self: flex-start;
        line-height: 1.5; }
        @media screen and (min-width: 767.1px), print {
          /* line 2522, _module.scss */
          .faq_list dl dt::before {
            font-size: 20rem;
            line-height: 1; } }
    /* line 2537, _module.scss */
    .faq_list dl dd {
      margin: 0;
      padding: 0 0 16rem;
      display: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 2537, _module.scss */
        .faq_list dl dd {
          padding: 0 24rem 24rem; } }
      /* line 2545, _module.scss */
      .faq_list dl dd .answer {
        display: grid;
        grid-template-columns: 15rem 1fr;
        grid-gap: 10rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 2545, _module.scss */
          .faq_list dl dd .answer {
            grid-gap: 20rem;
            grid-template-columns: 20rem 1fr; } }
        /* line 2553, _module.scss */
        .faq_list dl dd .answer::before {
          content: "A";
          font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
          color: #FFA318;
          font-size: 15rem;
          font-weight: 700;
          align-self: flex-start;
          line-height: 1.5; }
          @media screen and (min-width: 767.1px), print {
            /* line 2553, _module.scss */
            .faq_list dl dd .answer::before {
              font-size: 20rem;
              line-height: 1; } }
      /* line 2567, _module.scss */
      .faq_list dl dd a {
        color: #4761F4; }

/* 研修引用 =============================================*/
/* line 2578, _module.scss */
.training_quotation {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2578, _module.scss */
    .training_quotation {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 2580, _module.scss */
  .training_quotation .training_quotation_list {
    margin: 0;
    padding: 0;
    border-top: 1px solid #D8DBEB;
    line-height: 1.6; }
    /* line 2585, _module.scss */
    .training_quotation .training_quotation_list > div {
      border-bottom: 1px solid #D8DBEB; }
    /* line 2588, _module.scss */
    .training_quotation .training_quotation_list h3 {
      margin: 0;
      padding: 16rem 0;
      display: grid;
      grid-template-columns: 1fr 30rem;
      grid-gap: 10rem;
      align-items: center;
      font-weight: 600;
      font-size: 15rem;
      color: #222222; }
      @media screen and (min-width: 767.1px), print {
        /* line 2588, _module.scss */
        .training_quotation .training_quotation_list h3 {
          padding: 24rem;
          grid-gap: 20rem;
          font-size: 16rem;
          grid-template-columns: 1fr 40rem; } }
    /* line 2605, _module.scss */
    .training_quotation .training_quotation_list .accordion_body {
      margin: 0;
      padding: 0 0 16rem;
      display: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 2605, _module.scss */
        .training_quotation .training_quotation_list .accordion_body {
          padding: 0 24rem 24rem; } }
      /* line 2612, _module.scss */
      .training_quotation .training_quotation_list .accordion_body .grid {
        display: grid;
        margin: 0;
        grid-gap: 16rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 2612, _module.scss */
          .training_quotation .training_quotation_list .accordion_body .grid {
            grid-template-columns: 1fr 240rem;
            grid-gap: 32rem; }
            /* line 2619, _module.scss */
            .training_quotation .training_quotation_list .accordion_body .grid figure {
              order: 2; }
            /* line 2622, _module.scss */
            .training_quotation .training_quotation_list .accordion_body .grid .text {
              order: 1; } }
      /* line 2627, _module.scss */
      .training_quotation .training_quotation_list .accordion_body figure {
        margin: 0; }
      /* line 2630, _module.scss */
      .training_quotation .training_quotation_list .accordion_body ul.tags {
        margin: 0 0 16rem;
        padding: 0;
        display: flex;
        grid-gap: 5rem;
        flex-wrap: wrap; }
        @media screen and (min-width: 767.1px), print {
          /* line 2630, _module.scss */
          .training_quotation .training_quotation_list .accordion_body ul.tags {
            grid-gap: 8rem; } }
        /* line 2639, _module.scss */
        .training_quotation .training_quotation_list .accordion_body ul.tags li {
          margin: 0;
          padding: 0;
          list-style: none;
          font-size: 11rem;
          box-sizing: border-box;
          border-radius: 100rem;
          padding: 0.5em 16rem 0.3em;
          line-height: 1;
          border: 1px solid #384695;
          color: #384695; }
          @media screen and (min-width: 767.1px), print {
            /* line 2639, _module.scss */
            .training_quotation .training_quotation_list .accordion_body ul.tags li {
              font-size: 13rem; } }

/* 研修上位ページ下部にあるパーツ =============================================*/
/* line 2664, _module.scss */
.other_training {
  border: 1px solid #D8DBEB;
  border-radius: 10rem;
  position: relative;
  margin: 48rem 0 32rem;
  padding: 24rem 16rem 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2664, _module.scss */
    .other_training {
      margin: 80rem 0 64rem;
      padding: 48rem 32rem 32rem; } }
  /* line 2674, _module.scss */
  .other_training h2 {
    background: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    display: inline-grid;
    grid-template-columns: 18rem 1fr;
    font-size: 18rem;
    font-weight: 600;
    transform: translate(-50%, -50%);
    grid-gap: 10rem;
    align-items: center;
    padding: 0 20rem;
    margin: 0;
    white-space: nowrap; }
    @media screen and (min-width: 767.1px), print {
      /* line 2674, _module.scss */
      .other_training h2 {
        font-size: 24rem;
        grid-template-columns: 24rem 1fr; } }
    /* line 2693, _module.scss */
    .other_training h2 svg {
      width: 18rem;
      fill: #4761F4; }
      @media screen and (min-width: 767.1px), print {
        /* line 2693, _module.scss */
        .other_training h2 svg {
          width: 24rem; } }
  /* line 2701, _module.scss */
  .other_training .boxs {
    display: grid; }
    @media screen and (min-width: 767.1px), print {
      /* line 2701, _module.scss */
      .other_training .boxs {
        margin: 0;
        grid-template-columns: 1.8fr 1fr 1fr; } }
    @media screen and (max-width: 767px) {
      /* line 2709, _module.scss */
      .other_training .boxs .col:first-child {
        margin-top: -16rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 2707, _module.scss */
      .other_training .boxs .col {
        border-left: 1px solid #D8DBEB;
        padding: 0 0 0 40rem; }
        /* line 2716, _module.scss */
        .other_training .boxs .col:first-child {
          padding: 0;
          border: none; } }
  /* line 2723, _module.scss */
  .other_training h3 {
    color: #4761F4;
    display: grid;
    grid-template-columns: 20rem 1fr;
    grid-gap: 6rem;
    font-size: 16rem;
    margin: 24rem 0 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2723, _module.scss */
      .other_training h3 {
        margin: 24rem 0 10rem;
        font-size: 18rem; }
        /* line 2733, _module.scss */
        .other_training h3:first-child {
          margin-top: 0; } }
    /* line 2738, _module.scss */
    .other_training h3 svg {
      fill: #4761F4;
      width: 20rem; }
  /* line 2743, _module.scss */
  .other_training dl {
    margin: 0;
    padding: 0; }
    /* line 2746, _module.scss */
    .other_training dl:last-child {
      margin: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 2749, _module.scss */
      .other_training dl.double {
        column-count: 2; } }
    /* line 2754, _module.scss */
    .other_training dl > div {
      break-inside: avoid;
      margin: 10rem 0 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 2754, _module.scss */
        .other_training dl > div {
          margin: 24rem 0 0; } }
      /* line 2760, _module.scss */
      .other_training dl > div:first-child {
        margin-top: 0; }
    /* line 2764, _module.scss */
    .other_training dl dt {
      margin: 0;
      padding: 0;
      font-weight: 600;
      font-size: 14rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2764, _module.scss */
        .other_training dl dt {
          font-size: 16rem; } }
    /* line 2773, _module.scss */
    .other_training dl dd {
      margin: 0;
      padding: 0; }
  /* line 2778, _module.scss */
  .other_training ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: 2rem; }
    /* line 2783, _module.scss */
    .other_training ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
    /* line 2788, _module.scss */
    .other_training ul a {
      display: grid;
      grid-template-columns: 9rem 1fr;
      grid-gap: 8rem;
      font-size: 12rem;
      align-items: center;
      text-decoration: none !important; }
      @media screen and (min-width: 767.1px), print {
        /* line 2788, _module.scss */
        .other_training ul a {
          font-size: 13rem; }
          /* line 2797, _module.scss */
          .other_training ul a:hover {
            color: #4761F4;
            opacity: 1; } }
      /* line 2802, _module.scss */
      .other_training ul a svg {
        fill: #656278;
        width: 9rem;
        height: 8rem; }

/* 導入企業ロゴ =============================================*/
/* line 2814, _module.scss */
.implementing_logos {
  margin-top: 32rem;
  margin-bottom: 32rem;
  text-align: center; }
  @media screen and (min-width: 767.1px), print {
    /* line 2814, _module.scss */
    .implementing_logos {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 2817, _module.scss */
  .implementing_logos ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 10rem 20rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2817, _module.scss */
      .implementing_logos ul {
        grid-gap: 20rem 40rem; } }
    /* line 2827, _module.scss */
    .implementing_logos ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
    /* line 2832, _module.scss */
    .implementing_logos ul img {
      height: 30rem !important;
      width: auto !important; }
      @media screen and (min-width: 767.1px), print {
        /* line 2832, _module.scss */
        .implementing_logos ul img {
          height: 45rem !important; } }
  /* line 2840, _module.scss */
  .implementing_logos p {
    font-size: 12rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2840, _module.scss */
      .implementing_logos p {
        font-size: 14rem; } }

/* 事例一覧 =============================================*/
/* line 2853, _module.scss */
.case_sort {
  background: #E2F4FF;
  border: 1px solid #D8DBEB;
  border-radius: 5rem;
  overflow: hidden;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2853, _module.scss */
    .case_sort {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 2853, _module.scss */
    .case_sort {
      border-radius: 10rem; } }
  /* line 2862, _module.scss */
  .case_sort .accordion_head {
    display: flex;
    justify-content: space-between;
    padding: 20rem;
    font-size: 15rem;
    font-weight: 600; }
    @media screen and (min-width: 767.1px), print {
      /* line 2862, _module.scss */
      .case_sort .accordion_head {
        padding: 20rem 32rem;
        font-size: 18rem; } }
  /* line 2873, _module.scss */
  .case_sort .accordion_body {
    border-top: 1px solid #D8DBEB;
    padding: 20rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2873, _module.scss */
      .case_sort .accordion_body {
        padding: 32rem; } }
    /* line 2879, _module.scss */
    .case_sort .accordion_body dl {
      margin: 0;
      padding: 0;
      display: grid;
      grid-gap: 24rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2879, _module.scss */
        .case_sort .accordion_body dl {
          grid-gap: 32rem; } }
      /* line 2887, _module.scss */
      .case_sort .accordion_body dl > div {
        display: grid;
        grid-gap: 10rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 2887, _module.scss */
          .case_sort .accordion_body dl > div {
            grid-template-columns: 100rem 1fr;
            align-items: flex-start; } }
      /* line 2895, _module.scss */
      .case_sort .accordion_body dl dt {
        margin: 0;
        padding: 0;
        font-weight: 600;
        line-height: 1.6; }
      /* line 2901, _module.scss */
      .case_sort .accordion_body dl dd {
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        grid-gap: 6rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 2901, _module.scss */
          .case_sort .accordion_body dl dd {
            grid-gap: 10rem; } }
        /* line 2910, _module.scss */
        .case_sort .accordion_body dl dd label {
          cursor: pointer;
          background: #fff;
          border-radius: 100rem;
          border: 1px solid #D8DBEB;
          display: grid;
          grid-template-columns: 18rem 1fr;
          align-items: center;
          grid-gap: 5rem;
          padding: 6rem 15rem 6rem 9rem;
          position: relative;
          line-height: 1;
          font-size: 12rem; }
          @media screen and (min-width: 767.1px), print {
            /* line 2910, _module.scss */
            .case_sort .accordion_body dl dd label {
              font-size: 16rem;
              padding: 9rem 15rem 9rem 9rem; } }
          /* line 2927, _module.scss */
          .case_sort .accordion_body dl dd label input {
            position: absolute;
            top: 0;
            left: 0;
            opacity: 0;
            z-index: 0;
            pointer-events: none; }
          /* line 2935, _module.scss */
          .case_sort .accordion_body dl dd label i {
            background: #D8DBEB;
            border-radius: 100rem;
            overflow: hidden;
            display: block; }
          /* line 2941, _module.scss */
          .case_sort .accordion_body dl dd label svg {
            width: 18rem;
            fill: #D8DBEB; }
          /* line 2945, _module.scss */
          .case_sort .accordion_body dl dd label:has(:checked) {
            border-color: #4761F4;
            color: #4761F4; }
            /* line 2948, _module.scss */
            .case_sort .accordion_body dl dd label:has(:checked) i {
              background: #fff; }
            /* line 2951, _module.scss */
            .case_sort .accordion_body dl dd label:has(:checked) svg {
              fill: #4761F4; }
  /* line 2960, _module.scss */
  .case_sort .btns {
    justify-content: center;
    align-items: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 2960, _module.scss */
      .case_sort .btns {
        justify-content: flex-end; } }
    /* line 2966, _module.scss */
    .case_sort .btns button {
      border: none;
      appearance: none;
      font-size: 16rem; }
    /* line 2971, _module.scss */
    .case_sort .btns a {
      background: none;
      color: #4761F4; }
      /* line 2974, _module.scss */
      .case_sort .btns a span {
        text-decoration: underline; }
        @media screen and (min-width: 767.1px), print {
          /* line 2977, _module.scss */
          .case_sort .btns a span:hover {
            text-decoration: none; } }
    /* line 2983, _module.scss */
    .case_sort .btns [type="submit"] {
      display: flex;
      justify-content: center;
      align-items: center;
      background: #4761F4;
      border-radius: 100rem;
      color: #fff;
      width: 180rem;
      height: 45rem;
      font-weight: 600;
      grid-gap: 10rem;
      border: 1px solid #4761F4;
      box-sizing: border-box;
      transition: background .3s,color .3s; }
      @media screen and (min-width: 767.1px), print {
        /* line 2983, _module.scss */
        .case_sort .btns [type="submit"] {
          height: 60rem;
          width: 240rem; } }
      /* line 3001, _module.scss */
      .case_sort .btns [type="submit"] i {
        line-height: 1px; }
      /* line 3005, _module.scss */
      .case_sort .btns [type="submit"] svg {
        fill: #fff;
        width: 20rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 3010, _module.scss */
        .case_sort .btns [type="submit"]:hover {
          background: #fff;
          color: #4761F4; }
          /* line 3013, _module.scss */
          .case_sort .btns [type="submit"]:hover svg {
            fill: #4761F4; } }

/* line 3023, _module.scss */
.case_list .col {
  position: relative; }
/* line 3026, _module.scss */
.case_list .new {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  background: #FFA318;
  font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
  font-weight: 600;
  padding: 0 10rem;
  font-style: normal;
  border-radius: 0 0 5rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 3026, _module.scss */
    .case_list .new {
      border-radius: 0 0 10rem 0; } }
/* line 3041, _module.scss */
.case_list .category {
  font-size: 12rem;
  margin: 0 0 0.3em; }
  @media screen and (min-width: 767.1px), print {
    /* line 3041, _module.scss */
    .case_list .category {
      font-size: 14rem; } }
/* line 3048, _module.scss */
.case_list img {
  aspect-ratio: 3/2;
  object-fit: cover; }
/* line 3052, _module.scss */
.case_list h2 {
  font-size: 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 3052, _module.scss */
    .case_list h2 {
      font-size: 20rem; } }
/* line 3058, _module.scss */
.case_list p {
  font-weight: 600; }

/* CSS Document */
/*------------------------------------------*/
/* line 8, _contents.scss */
.ex-clone {
  float: left; }

/*------------------------------------------*/
/* line 14, _contents.scss */
#top_about {
  margin: 0;
  padding: 0 0 48rem;
  background: linear-gradient(247.77deg, #B6DEFF 5.25%, #FFFFFF 51.46%); }
  @media screen and (min-width: 767.1px), print {
    /* line 14, _contents.scss */
    #top_about {
      background: linear-gradient(217.77deg, #B6DEFF 5.25%, #FFFFFF 51.46%);
      padding: 0 0 120rem; } }
  /* line 23, _contents.scss */
  #top_about .lead {
    position: relative;
    padding: 350rem 0 48rem;
    margin: -350rem 0 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 23, _contents.scss */
      #top_about .lead {
        background: none;
        padding-bottom: 100rem; } }
    /* line 31, _contents.scss */
    #top_about .lead::before {
      content: "";
      background: url(../images/img_top_about_effect_sp.webp) no-repeat center top/contain;
      aspect-ratio: 750/672;
      display: block;
      width: 100%;
      position: absolute;
      bottom: 32rem;
      left: 0;
      z-index: 1;
      pointer-events: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 31, _contents.scss */
        #top_about .lead::before {
          background: url("../images/img_top_about_effect_pc.webp") no-repeat center center/100% 100%;
          aspect-ratio: auto;
          height: calc(100% - 250rem); } }
    /* line 49, _contents.scss */
    #top_about .lead .inner {
      position: relative;
      z-index: 3; }
      @media screen and (min-width: 767.1px), print {
        /* line 49, _contents.scss */
        #top_about .lead .inner {
          display: grid;
          grid-template-columns: 1fr 680rem;
          align-items: flex-end; }
          /* line 57, _contents.scss */
          #top_about .lead .inner figure img {
            width: 767rem;
            max-width: 767rem; } }
  /* line 65, _contents.scss */
  #top_about .grid {
    margin: 0;
    grid-gap: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 65, _contents.scss */
      #top_about .grid {
        grid-gap: 100rem; } }

/*------------------------------------------*/
/* line 78, _contents.scss */
#top_results {
  background: linear-gradient(220deg, #A4D6FF 0%, #E2F4FF 70%);
  margin: 0;
  padding: 48rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 78, _contents.scss */
    #top_results {
      padding: 64rem 0 80rem; } }
  /* line 85, _contents.scss */
  #top_results h2 {
    margin: 0;
    padding: 0;
    color: #4761F4;
    font-size: 22rem;
    line-height: 1.5;
    text-align: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 85, _contents.scss */
      #top_results h2 {
        font-size: 36rem; } }
    /* line 95, _contents.scss */
    #top_results h2 em {
      font-size: 24rem;
      color: #FF5E81;
      font-style: normal; }
      @media screen and (min-width: 767.1px), print {
        /* line 95, _contents.scss */
        #top_results h2 em {
          font-size: 48rem; } }
  /* line 104, _contents.scss */
  #top_results .lead {
    position: relative; }
    @media screen and (min-width: 767.1px), print {
      /* line 104, _contents.scss */
      #top_results .lead {
        text-align: center; } }
  /* line 111, _contents.scss */
  #top_results figure {
    overflow: hidden;
    margin-top: -30rem;
    text-align: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 111, _contents.scss */
      #top_results figure {
        margin-top: -130rem; } }
    /* line 118, _contents.scss */
    #top_results figure .fig1 {
      margin: 0 -40rem 16rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 118, _contents.scss */
        #top_results figure .fig1 {
          margin: 0 0 48rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 125, _contents.scss */
      #top_results figure .fig2 img {
        width: 750rem; } }
  /* line 132, _contents.scss */
  #top_results .logos {
    display: grid;
    grid-gap: 5rem;
    overflow: hidden;
    margin: 28rem 0 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 132, _contents.scss */
      #top_results .logos {
        grid-gap: 10rem; } }
    /* line 140, _contents.scss */
    #top_results .logos .loop {
      white-space: nowrap; }
      /* line 142, _contents.scss */
      #top_results .logos .loop img {
        width: 1050rem;
        max-width: 1050rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 142, _contents.scss */
          #top_results .logos .loop img {
            width: 2100rem;
            max-width: 2100rem; } }
      /* line 150, _contents.scss */
      #top_results .logos .loop._left {
        animation: 30s linear infinite loop_l; }
      /* line 153, _contents.scss */
      #top_results .logos .loop._right {
        animation: 30s linear infinite loop_r; }

@keyframes loop_l {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-1050rem); } }
@keyframes loop_r {
  from {
    transform: translateX(-1050rem); }
  to {
    transform: translateX(0); } }
/*------------------------------------------*/
/* line 180, _contents.scss */
#top_case {
  background: #4761F4;
  position: relative;
  color: #fff;
  margin: 0;
  padding: 48rem 0 64rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 180, _contents.scss */
    #top_case {
      padding: 80rem 0; } }
  /* line 189, _contents.scss */
  #top_case::before {
    content: "";
    background: url("../images/img_bg_effect01.webp") no-repeat left top/contain;
    width: 25%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  /* line 199, _contents.scss */
  #top_case::after {
    content: "";
    background: url("../images/img_bg_effect02.webp") no-repeat bottom right/contain;
    width: 45%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0; }
  /* line 209, _contents.scss */
  #top_case .inner {
    position: relative; }
  /* line 212, _contents.scss */
  #top_case .hw_type1 {
    text-align: center; }
    /* line 214, _contents.scss */
    #top_case .hw_type1 .en {
      justify-content: center;
      color: #222222; }
    /* line 218, _contents.scss */
    #top_case .hw_type1 .ja {
      color: #fff; }
  @media screen and (min-width: 767.1px), print {
    /* line 222, _contents.scss */
    #top_case .lead {
      text-align: center;
      margin: 0 0 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 228, _contents.scss */
    #top_case .slides_type1 {
      margin-top: -32rem;
      margin-bottom: 0; } }
  /* line 234, _contents.scss */
  #top_case .slide {
    padding: 24rem 8rem 1px; }
    @media screen and (min-width: 767.1px), print {
      /* line 234, _contents.scss */
      #top_case .slide {
        width: 380rem;
        padding: 24rem 30rem 1px; } }
    /* line 240, _contents.scss */
    #top_case .slide a {
      text-decoration: none;
      color: #fff;
      display: block; }
    /* line 246, _contents.scss */
    #top_case .slide figure img {
      border-radius: 10rem;
      box-shadow: 0px 0px 16.6667px 4.16667px rgba(17, 43, 188, 0.5); }
    /* line 251, _contents.scss */
    #top_case .slide .company,
    #top_case .slide .title {
      color: #fff; }
    /* line 257, _contents.scss */
    #top_case .slide ul.tags li span {
      border-color: #A7E1FF;
      color: #fff; }
  /* line 265, _contents.scss */
  #top_case .btns {
    text-align: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 265, _contents.scss */
      #top_case .btns {
        position: absolute;
        bottom: -5rem;
        right: 0;
        z-index: 2; } }

/*------------------------------------------*/
/* line 278, _contents.scss */
#top_search {
  margin: 0;
  padding: 48rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 278, _contents.scss */
    #top_search {
      padding: 120rem 0 0;
      position: relative;
      z-index: 2; } }
  @media screen and (min-width: 767.1px), print {
    /* line 286, _contents.scss */
    #top_search .search_wrap {
      display: grid;
      margin: 0 0 25rem;
      justify-content: flex-start;
      grid-template-columns: 600rem 270rem;
      grid-gap: 40rem; } }
  /* line 296, _contents.scss */
  #top_search .search_box {
    margin: 0 0 24rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 296, _contents.scss */
      #top_search .search_box {
        margin: 0 0 40rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 304, _contents.scss */
    #top_search .btn_list {
      padding: 0; } }
  /* line 311, _contents.scss */
  #top_search .services {
    margin: 48rem 0 48rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 311, _contents.scss */
      #top_search .services {
        margin: 0 0 120rem; } }
    /* line 316, _contents.scss */
    #top_search .services ul {
      margin: 0;
      padding: 0;
      display: grid;
      grid-gap: 36rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 316, _contents.scss */
        #top_search .services ul {
          grid-template-columns: repeat(3, 1fr);
          grid-gap: 60rem; } }
      /* line 325, _contents.scss */
      #top_search .services ul li {
        margin: 0;
        padding: 0;
        list-style: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 330, _contents.scss */
        #top_search .services ul .hw_type2 {
          font-size: 20rem; } }
      /* line 335, _contents.scss */
      #top_search .services ul figure {
        margin: 0 0 16rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 335, _contents.scss */
          #top_search .services ul figure {
            margin: 0 0 24rem; } }
        /* line 340, _contents.scss */
        #top_search .services ul figure img {
          border-radius: 10rem; }
      /* line 344, _contents.scss */
      #top_search .services ul p {
        margin: -8rem 0 12rem; }
  /* line 350, _contents.scss */
  #top_search .category {
    background: #4761F4;
    color: #fff;
    padding: 48rem 16rem;
    margin: 0 -16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 350, _contents.scss */
      #top_search .category {
        margin: 0 -64rem 0;
        padding: 80rem 64rem;
        border-radius: 10rem; } }
    /* line 360, _contents.scss */
    #top_search .category h3 {
      font-weight: bold;
      font-size: 18rem;
      margin: 0 0 16rem;
      color: #fff; }
      @media screen and (min-width: 767.1px), print {
        /* line 360, _contents.scss */
        #top_search .category h3 {
          font-size: 24rem; } }
    /* line 369, _contents.scss */
    #top_search .category ul {
      margin: 0;
      padding: 0;
      display: grid;
      grid-gap: 16rem;
      grid-template-columns: repeat(2, 1fr); }
      @media screen and (min-width: 767.1px), print {
        /* line 369, _contents.scss */
        #top_search .category ul {
          grid-template-columns: repeat(4, 1fr); } }
      /* line 378, _contents.scss */
      #top_search .category ul + h3 {
        margin-top: 48rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 378, _contents.scss */
          #top_search .category ul + h3 {
            margin-top: 64rem; } }
      /* line 384, _contents.scss */
      #top_search .category ul li {
        margin: 0;
        padding: 0;
        list-style: none; }
      /* line 389, _contents.scss */
      #top_search .category ul a {
        color: #fff;
        text-decoration: none;
        display: grid;
        align-items: center;
        line-height: 1.4;
        grid-template-columns: 20rem 1fr 14rem;
        grid-gap: 8rem;
        height: 60rem;
        box-sizing: border-box;
        border: 1px solid #fff;
        border-radius: 5rem;
        padding: 0 14rem 0 16rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 389, _contents.scss */
          #top_search .category ul a {
            height: 80rem; } }
        /* line 405, _contents.scss */
        #top_search .category ul a i {
          font-size: 1px; }
        /* line 408, _contents.scss */
        #top_search .category ul a svg {
          width: 14rem;
          height: 9rem;
          fill: #fff; }
        /* line 413, _contents.scss */
        #top_search .category ul a .svg-icon_cate {
          width: 20rem;
          height: 20rem; }
        /* line 417, _contents.scss */
        #top_search .category ul a h4 {
          margin: 0;
          font-weight: 600;
          font-size: 13rem;
          color: #fff;
          transition: color .3s; }
          @media screen and (min-width: 767.1px), print {
            /* line 417, _contents.scss */
            #top_search .category ul a h4 {
              font-size: 16rem; } }
        @media screen and (min-width: 767.1px), print {
          /* line 427, _contents.scss */
          #top_search .category ul a:hover {
            background: #fff;
            color: #4761F4;
            opacity: 1; }
            /* line 432, _contents.scss */
            #top_search .category ul a:hover h4 {
              color: #4761F4; }
            /* line 435, _contents.scss */
            #top_search .category ul a:hover svg {
              fill: #4761F4; } }

/*------------------------------------------*/
/* line 448, _contents.scss */
#top_seminar-video {
  background: linear-gradient(220deg, #A4D6FF 0%, #E2F4FF 70%);
  padding: 48rem 0;
  margin: 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 448, _contents.scss */
    #top_seminar-video {
      margin: -64rem 0 0;
      padding: 184rem 0 120rem; } }

/*------------------------------------------*/
/* line 460, _contents.scss */
#top_seminar {
  margin: 0; }
  /* line 462, _contents.scss */
  #top_seminar ul {
    margin: 24rem 0;
    padding: 0;
    display: grid;
    grid-gap: 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 462, _contents.scss */
      #top_seminar ul {
        grid-template-columns: 1fr 1fr;
        grid-gap: 16rem 20rem;
        margin: 32rem 0 40rem; } }
    /* line 472, _contents.scss */
    #top_seminar ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
    /* line 477, _contents.scss */
    #top_seminar ul a {
      text-decoration: none;
      display: grid;
      grid-template-columns: 150rem 1fr;
      background: #fff;
      padding: 8rem;
      border-radius: 5rem;
      grid-gap: 10rem;
      align-items: flex-start;
      font-size: 9.5rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 477, _contents.scss */
        #top_seminar ul a {
          font-size: 12rem;
          height: 100%;
          border-radius: 10rem;
          box-sizing: border-box;
          grid-template-columns: 260rem 1fr;
          grid-gap: 16rem;
          padding: 13rem; } }
    /* line 498, _contents.scss */
    #top_seminar ul img {
      width: 100%;
      height: 75rem;
      object-fit: cover; }
      @media screen and (min-width: 767.1px), print {
        /* line 498, _contents.scss */
        #top_seminar ul img {
          height: 130rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 506, _contents.scss */
      #top_seminar ul .text {
        align-self: center; } }
    /* line 511, _contents.scss */
    #top_seminar ul em {
      color: #fff;
      border-radius: 100rem;
      display: inline-block;
      padding: 0.25em 10rem 0;
      margin: 0 0 5rem;
      font-style: normal; }
      /* line 518, _contents.scss */
      #top_seminar ul em.online {
        background: #4761F4; }
      /* line 521, _contents.scss */
      #top_seminar ul em.inperson {
        background: #2BA69F; }
    /* line 525, _contents.scss */
    #top_seminar ul h4 {
      font-size: 12rem;
      font-weight: bold;
      margin: 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 525, _contents.scss */
        #top_seminar ul h4 {
          font-size: 16rem;
          margin: 8rem 0; } }
  @media screen and (min-width: 767.1px), print {
    /* line 536, _contents.scss */
    #top_seminar .btns {
      text-align: center; } }

/*------------------------------------------*/
/* line 545, _contents.scss */
#top_video {
  margin: 32rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 545, _contents.scss */
    #top_video {
      margin: 48rem 0 0; } }
  /* line 550, _contents.scss */
  #top_video ul {
    margin: 24rem 0;
    padding: 0;
    display: grid;
    grid-gap: 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 550, _contents.scss */
      #top_video ul {
        grid-template-columns: 1fr 1fr;
        grid-gap: 16rem 20rem;
        margin: 32rem 0 40rem; } }
    /* line 560, _contents.scss */
    #top_video ul li {
      margin: 0;
      padding: 0;
      list-style: none; }
    /* line 565, _contents.scss */
    #top_video ul a {
      text-decoration: none;
      display: grid;
      grid-template-columns: 150rem 1fr;
      background: #fff;
      padding: 8rem;
      border-radius: 5rem;
      grid-gap: 10rem;
      align-items: center;
      font-size: 9.5rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 565, _contents.scss */
        #top_video ul a {
          font-size: 12rem;
          height: 100%;
          border-radius: 10rem;
          box-sizing: border-box;
          grid-template-columns: 260rem 1fr;
          grid-gap: 16rem;
          padding: 13rem; } }
    /* line 586, _contents.scss */
    #top_video ul img {
      width: 100%;
      height: 75rem;
      object-fit: cover; }
      @media screen and (min-width: 767.1px), print {
        /* line 586, _contents.scss */
        #top_video ul img {
          height: 130rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 594, _contents.scss */
      #top_video ul .text {
        align-self: center; } }
    /* line 599, _contents.scss */
    #top_video ul h4 {
      font-size: 12rem;
      font-weight: bold;
      margin: 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 599, _contents.scss */
        #top_video ul h4 {
          font-size: 16rem;
          margin: 0 0 8rem 0; } }
    /* line 608, _contents.scss */
    #top_video ul p {
      margin: 0;
      overflow: hidden;
      display: -webkit-box;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      line-clamp: 2;
      -webkit-line-clamp: 2; }
  @media screen and (min-width: 767.1px), print {
    /* line 618, _contents.scss */
    #top_video .btns {
      text-align: center; } }

/*------------------------------------------*/
/* line 627, _contents.scss */
#top_document {
  background: #222222;
  position: relative;
  color: #fff;
  padding: 48rem 0 64rem;
  margin: 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 627, _contents.scss */
    #top_document {
      padding: 120rem 0; } }
  /* line 636, _contents.scss */
  #top_document::before {
    content: "";
    background: url("../images/img_bg_effect01.webp") no-repeat left top/contain;
    width: 25%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  /* line 646, _contents.scss */
  #top_document::after {
    content: "";
    background: url("../images/img_bg_effect02.webp") no-repeat bottom right/contain;
    width: 45%;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0; }
  /* line 656, _contents.scss */
  #top_document .inner {
    position: relative; }
  /* line 659, _contents.scss */
  #top_document .hw_type1 {
    text-align: center; }
    /* line 661, _contents.scss */
    #top_document .hw_type1 .en {
      justify-content: center;
      color: #4761F4; }
      /* line 664, _contents.scss */
      #top_document .hw_type1 .en::before {
        background: #4761F4; }
    /* line 668, _contents.scss */
    #top_document .hw_type1 .ja {
      color: #fff; }
  @media screen and (min-width: 767.1px), print {
    /* line 672, _contents.scss */
    #top_document .lead {
      text-align: center;
      margin-bottom: 40rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 679, _contents.scss */
    #top_document .slides_type1 {
      margin-bottom: 0;
      margin-top: 44rem; } }
  /* line 684, _contents.scss */
  #top_document .slides_type1 .slide {
    padding: 0 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 684, _contents.scss */
      #top_document .slides_type1 .slide {
        padding: 20rem 10rem 10rem !important; } }
  /* line 690, _contents.scss */
  #top_document .slides_type1 .document_slide_card {
    border: none; }
  /* line 693, _contents.scss */
  #top_document .slides_type1 h3 {
    border-top: 1px solid #D8DBEB;
    margin-top: 24rem; }
  /* line 697, _contents.scss */
  #top_document .slides_type1 a {
    display: block;
    background: #fff;
    border-radius: 16rem;
    text-decoration: none;
    height: 100%;
    box-sizing: border-box; }
    @media screen and (min-width: 767.1px), print {
      /* line 705, _contents.scss */
      #top_document .slides_type1 a:hover {
        transform: translateY(6rem);
        background: rgba(255, 255, 255, 0.9);
        opacity: 1; } }
  /* line 713, _contents.scss */
  #top_document .btns {
    text-align: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 713, _contents.scss */
      #top_document .btns {
        position: absolute;
        bottom: -5rem;
        right: 0;
        z-index: 2; } }

/*------------------------------------------*/
/* line 726, _contents.scss */
#top_blog-news {
  margin: 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 726, _contents.scss */
    #top_blog-news {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-gap: 100rem; } }

/*------------------------------------------*/
/* line 737, _contents.scss */
#top_blog {
  margin: 0;
  padding: 48rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 737, _contents.scss */
    #top_blog {
      padding: 100rem 0; } }
  /* line 743, _contents.scss */
  #top_blog .blog_list {
    margin: 0 0 32rem;
    padding: 0;
    display: grid;
    grid-gap: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 743, _contents.scss */
      #top_blog .blog_list {
        grid-gap: 24rem;
        margin: 0 0 40rem; } }
    /* line 752, _contents.scss */
    #top_blog .blog_list li {
      margin: 0;
      padding: 0;
      list-style: none; }
    /* line 757, _contents.scss */
    #top_blog .blog_list a {
      display: grid;
      grid-template-columns: 150rem 1fr;
      grid-gap: 16rem;
      text-decoration: none;
      font-size: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 757, _contents.scss */
        #top_blog .blog_list a {
          grid-template-columns: 156rem 1fr;
          grid-gap: 24rem;
          font-size: 12rem; } }
    /* line 769, _contents.scss */
    #top_blog .blog_list .text {
      align-self: center; }
    /* line 772, _contents.scss */
    #top_blog .blog_list h4 {
      font-size: 12rem;
      font-weight: bold;
      margin: 5rem 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 772, _contents.scss */
        #top_blog .blog_list h4 {
          font-size: 16rem; } }
    /* line 781, _contents.scss */
    #top_blog .blog_list .tags {
      display: flex;
      grid-gap: 0 8rem;
      margin: 0;
      padding: 0;
      color: #4761F4;
      flex-wrap: wrap;
      line-height: 1.4; }
    /* line 791, _contents.scss */
    #top_blog .blog_list figure img {
      box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
      border-radius: 5px; }

/*------------------------------------------*/
/* line 803, _contents.scss */
#top_news {
  margin: 0;
  padding: 0 0 48rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 803, _contents.scss */
    #top_news {
      padding: 100rem 0; } }
  /* line 809, _contents.scss */
  #top_news .news_list {
    margin: -16rem 0 32rem;
    padding: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 809, _contents.scss */
      #top_news .news_list {
        margin: -20rem 0 40rem; } }
    /* line 815, _contents.scss */
    #top_news .news_list > div {
      border-bottom: 1px solid #D8DBF0;
      padding: 16rem 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 815, _contents.scss */
        #top_news .news_list > div {
          display: grid;
          grid-template-columns: 120rem 1fr;
          padding: 20rem 0; } }
    /* line 825, _contents.scss */
    #top_news .news_list dt {
      margin: 0 0 4rem;
      padding: 0;
      color: #4761F4;
      font-size: 10rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 825, _contents.scss */
        #top_news .news_list dt {
          margin: 0;
          font-size: 12rem; } }
    /* line 835, _contents.scss */
    #top_news .news_list dd {
      margin: 0;
      padding: 0;
      font-size: 12rem;
      line-height: 1.5; }
      @media screen and (min-width: 767.1px), print {
        /* line 835, _contents.scss */
        #top_news .news_list dd {
          font-size: 14rem; } }
      /* line 843, _contents.scss */
      #top_news .news_list dd h4 {
        margin: 0;
        font-weight: 400;
        font-size: 12rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 843, _contents.scss */
          #top_news .news_list dd h4 {
            font-size: 14rem; } }
    /* line 852, _contents.scss */
    #top_news .news_list a {
      text-decoration: none; }
      /* line 854, _contents.scss */
      #top_news .news_list a:hover {
        color: #4761F4;
        opacity: 1; }

/*------------------------------------------*/
/* line 867, _contents.scss */
.casestudy_head {
  overflow: hidden;
  background: #E2F4FF;
  border-radius: 5rem;
  position: relative;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 867, _contents.scss */
    .casestudy_head {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 867, _contents.scss */
    .casestudy_head {
      border-radius: 10rem;
      display: grid;
      grid-template-columns: 660rem 1fr;
      align-items: center;
      min-height: 440rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 880, _contents.scss */
    .casestudy_head::before {
      content: "";
      background: url("../images/img_casestudy_headbg.webp") no-repeat center center/100% 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2; } }
  /* line 895, _contents.scss */
  .casestudy_head figure {
    position: relative;
    z-index: 1;
    align-self: stretch; }
    /* line 899, _contents.scss */
    .casestudy_head figure figcaption {
      color: #fff;
      position: absolute;
      bottom: 10rem;
      left: 10rem;
      font-size: 12rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 899, _contents.scss */
        .casestudy_head figure figcaption {
          font-size: 14rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 909, _contents.scss */
      .casestudy_head figure img {
        object-fit: cover;
        height: 100%; } }
  /* line 916, _contents.scss */
  .casestudy_head .text {
    margin: 24rem 16rem;
    position: relative;
    z-index: 3;
    overflow: hidden;
    font-size: 12rem;
    line-height: 1.6; }
    @media screen and (min-width: 767.1px), print {
      /* line 916, _contents.scss */
      .casestudy_head .text {
        font-size: 14rem;
        margin: 20rem 50rem; } }
  /* line 929, _contents.scss */
  .casestudy_head dl {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: 8rem; }
    /* line 934, _contents.scss */
    .casestudy_head dl > div {
      display: grid;
      grid-template-columns: 6em 1fr;
      grid-gap: 10rem;
      align-items: flex-start; }
    /* line 940, _contents.scss */
    .casestudy_head dl dt {
      margin: 0;
      padding: 0.15em 0 0;
      background: #fff;
      border-radius: 100rem;
      text-align: center;
      font-weight: bold; }
    /* line 948, _contents.scss */
    .casestudy_head dl dd {
      margin: 0;
      padding: 0.15em 0 0; }
  /* line 953, _contents.scss */
  .casestudy_head em {
    position: relative;
    margin: 24rem auto 8rem;
    padding: 0 16rem;
    font-weight: bold;
    font-style: normal;
    display: table; }
    @media screen and (min-width: 767.1px), print {
      /* line 953, _contents.scss */
      .casestudy_head em {
        margin: 32rem auto 16rem; } }
    /* line 964, _contents.scss */
    .casestudy_head em::after, .casestudy_head em::before {
      content: "";
      height: 1px;
      position: absolute;
      top: 50%;
      width: 500rem;
      background: #222222; }
    /* line 973, _contents.scss */
    .casestudy_head em::before {
      right: 100%; }
    /* line 976, _contents.scss */
    .casestudy_head em::after {
      left: 100%; }

/*------------------------------------------*/
/* line 985, _contents.scss */
.search_results_list {
  margin-top: 32rem;
  margin-bottom: 32rem;
  display: grid;
  grid-gap: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 985, _contents.scss */
    .search_results_list {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 989, _contents.scss */
  .search_results_list article {
    border: 1px solid #D8DBEB;
    border-radius: 5rem;
    overflow: hidden;
    position: relative;
    padding: 56rem 16rem 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 989, _contents.scss */
      .search_results_list article {
        border-radius: 10rem;
        padding: 70rem 40rem 40rem; } }
    /* line 999, _contents.scss */
    .search_results_list article .label {
      color: #fff;
      font-style: normal;
      font-weight: 600;
      width: 130rem;
      height: 40rem;
      display: grid;
      justify-content: center;
      align-items: center;
      border-bottom-right-radius: 5rem;
      position: absolute;
      top: 0;
      left: 0;
      font-size: 13rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 999, _contents.scss */
        .search_results_list article .label {
          border-bottom-right-radius: 10rem;
          font-size: 18rem;
          width: 208rem;
          height: 45rem; } }
      /* line 1019, _contents.scss */
      .search_results_list article .label.single {
        background: #384695; }
      /* line 1022, _contents.scss */
      .search_results_list article .label.package {
        background: #2BA69F; }
    /* line 1026, _contents.scss */
    .search_results_list article .time {
      position: absolute;
      top: 10rem;
      left: 145rem;
      font-size: 12rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1026, _contents.scss */
        .search_results_list article .time {
          top: 12rem;
          left: 238rem;
          font-size: 14rem; } }
    /* line 1037, _contents.scss */
    .search_results_list article h3 {
      padding: 0 0 0.7em;
      margin: 0 0 20rem;
      border-bottom: 1px solid #D8DBEB;
      font-size: 16rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1037, _contents.scss */
        .search_results_list article h3 {
          font-size: 20rem; } }
      /* line 1045, _contents.scss */
      .search_results_list article h3 a {
        display: inline-grid;
        grid-template-columns: 30rem 1fr;
        align-items: flex-start;
        border-radius: 100rem;
        line-height: 1.4;
        text-decoration: none;
        grid-gap: 8rem;
        font-weight: 600;
        box-sizing: border-box;
        color: #4761F4; }
        @media screen and (min-width: 767.1px), print {
          /* line 1045, _contents.scss */
          .search_results_list article h3 a {
            grid-template-columns: 40rem 1fr;
            grid-gap: 10rem; } }
      /* line 1061, _contents.scss */
      .search_results_list article h3 i {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30rem;
        height: 21rem;
        border-radius: 100rem;
        transition: background .3s;
        background: #4761F4;
        transform: translateY(6%); }
        @media screen and (min-width: 767.1px), print {
          /* line 1061, _contents.scss */
          .search_results_list article h3 i {
            width: 40rem;
            height: 24rem; } }
        /* line 1075, _contents.scss */
        .search_results_list article h3 i svg {
          width: 10rem;
          height: 10rem;
          fill: #fff; }
          @media screen and (min-width: 767.1px), print {
            /* line 1075, _contents.scss */
            .search_results_list article h3 i svg {
              width: 12rem; } }
    /* line 1086, _contents.scss */
    .search_results_list article dl {
      margin: 0;
      padding: 0;
      display: grid;
      grid-gap: 16rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1091, _contents.scss */
        .search_results_list article dl > div {
          display: grid;
          grid-template-columns: 168rem 1fr;
          grid-gap: 20rem; } }
      /* line 1098, _contents.scss */
      .search_results_list article dl dt {
        background: url("../images/img_label_arrow.svg") no-repeat center center/contain;
        width: 130rem;
        aspect-ratio: 168/36;
        display: grid;
        justify-content: center;
        align-items: center;
        font-size: 12rem;
        box-sizing: border-box;
        padding: 0.15em 10rem 0 0; }
        @media screen and (min-width: 767.1px), print {
          /* line 1098, _contents.scss */
          .search_results_list article dl dt {
            width: 168rem;
            font-size: 14rem; } }
      /* line 1113, _contents.scss */
      .search_results_list article dl dd {
        margin: 0;
        padding: 8rem 0 0; }

/*------------------------------------------*/
/* line 1126, _contents.scss */
.training_cta {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1126, _contents.scss */
    .training_cta {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1128, _contents.scss */
  .training_cta .frame {
    border: 1px solid #D8DBEB;
    border-radius: 10rem;
    position: relative;
    margin: 10rem 0 0;
    display: grid;
    align-items: center;
    justify-content: center;
    padding: 16rem 0;
    grid-gap: 12rem;
    background: #fff;
    box-shadow: 0px 8px 15px rgba(204, 204, 204, 0.3); }
    @media screen and (min-width: 767.1px), print {
      /* line 1128, _contents.scss */
      .training_cta .frame {
        border-radius: 15rem;
        padding: 0;
        width: 860rem;
        height: 120rem;
        margin: 14rem auto 0;
        display: flex;
        grid-gap: 24rem; } }
    /* line 1150, _contents.scss */
    .training_cta .frame::before, .training_cta .frame::after {
      content: "";
      position: absolute;
      bottom: 0;
      aspect-ratio: 1; }
    /* line 1157, _contents.scss */
    .training_cta .frame::before {
      background: url("../images/img_cta_male_hover.webp") no-repeat right bottom/contain;
      right: 5rem;
      width: 90rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1157, _contents.scss */
        .training_cta .frame::before {
          right: 20rem;
          width: 146rem; } }
    /* line 1166, _contents.scss */
    .training_cta .frame::after {
      background: url("../images/img_cta_female_hover.webp") no-repeat left bottom/contain;
      left: 10rem;
      width: 100rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1166, _contents.scss */
        .training_cta .frame::after {
          left: 20rem;
          width: 165rem; } }
    /* line 1176, _contents.scss */
    .training_cta .frame h2 {
      margin: 0;
      font-size: 18rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1176, _contents.scss */
        .training_cta .frame h2 {
          font-size: 24rem; } }
    /* line 1183, _contents.scss */
    .training_cta .frame .btn_primary {
      height: 45rem;
      width: 180rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1183, _contents.scss */
        .training_cta .frame .btn_primary {
          min-width: 220rem;
          width: 220rem; } }

/* line 1194, _contents.scss */
.training_section {
  box-shadow: 0px 8px 30px rgba(204, 204, 204, 0.3);
  border-radius: 10px;
  background: #F0F7FC;
  position: relative;
  margin-top: 100rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1194, _contents.scss */
    .training_section {
      border-radius: 20rem;
      margin-top: 170rem; } }
  /* line 1206, _contents.scss */
  .training_section .training_section_tabs {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    width: 100%;
    box-sizing: border-box;
    padding: 0 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1206, _contents.scss */
      .training_section .training_section_tabs {
        padding: 0 60rem; } }
    /* line 1217, _contents.scss */
    .training_section .training_section_tabs .grid {
      grid-template-columns: 1fr 1fr;
      grid-gap: 10rem;
      margin: 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 1217, _contents.scss */
        .training_section .training_section_tabs .grid {
          grid-gap: 40rem; } }
    /* line 1225, _contents.scss */
    .training_section .training_section_tabs .tab {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 50rem;
      border-radius: 5rem 5rem 0 0;
      font-size: 14rem;
      grid-gap: 10rem;
      font-weight: 600;
      position: relative;
      overflow: hidden;
      background: #BFD7E6;
      text-decoration: none;
      color: #787FA8;
      cursor: pointer;
      transition: filter .3s; }
      @media screen and (min-width: 767.1px), print {
        /* line 1225, _contents.scss */
        .training_section .training_section_tabs .tab {
          height: 90rem;
          border-radius: 10rem 10rem 0 0;
          font-size: 24rem; } }
      /* line 1246, _contents.scss */
      .training_section .training_section_tabs .tab svg {
        fill: #787FA8;
        width: 16rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 1246, _contents.scss */
          .training_section .training_section_tabs .tab svg {
            width: 30rem; } }
      @media screen and (min-width: 767.1px), print {
        /* line 1253, _contents.scss */
        .training_section .training_section_tabs .tab:hover {
          filter: brightness(1.05); } }
    /* line 1260, _contents.scss */
    .training_section .training_section_tabs .active {
      background: #fff;
      cursor: default; }
      /* line 1263, _contents.scss */
      .training_section .training_section_tabs .active::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 1263, _contents.scss */
          .training_section .training_section_tabs .active::before {
            height: 6rem; } }
    /* line 1276, _contents.scss */
    .training_section .training_section_tabs .tab_single.active {
      color: #384695; }
      /* line 1278, _contents.scss */
      .training_section .training_section_tabs .tab_single.active::before {
        background: #384695; }
      /* line 1281, _contents.scss */
      .training_section .training_section_tabs .tab_single.active svg {
        fill: #384695; }
    /* line 1285, _contents.scss */
    .training_section .training_section_tabs .tab_package.active {
      color: #2BA69F; }
      /* line 1287, _contents.scss */
      .training_section .training_section_tabs .tab_package.active::before {
        background: #2BA69F; }
      /* line 1290, _contents.scss */
      .training_section .training_section_tabs .tab_package.active svg {
        fill: #2BA69F; }
  /* line 1296, _contents.scss */
  .training_section .training_section_tab {
    display: none; }
    /* line 1298, _contents.scss */
    .training_section .training_section_tab.active {
      display: block; }
  /* line 1303, _contents.scss */
  .training_section .training_section_header {
    background: #fff;
    padding: 24rem 16rem;
    border-radius: 10rem 10rem  0 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1303, _contents.scss */
      .training_section .training_section_header {
        padding: 60rem;
        border-radius: 20rem 20rem  0 0; } }
    /* line 1311, _contents.scss */
    .training_section .training_section_header .anchor {
      display: grid;
      grid-gap: 8rem 6rem;
      grid-template-columns: repeat(2, 1fr); }
      @media screen and (min-width: 767.1px), print {
        /* line 1311, _contents.scss */
        .training_section .training_section_header .anchor {
          grid-template-columns: repeat(4, 1fr);
          grid-gap: 20rem;
          margin: 32rem 40rem 0; } }
      /* line 1320, _contents.scss */
      .training_section .training_section_header .anchor a {
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #4761F4;
        color: #4761F4;
        font-weight: 500;
        text-decoration: none;
        border-radius: 100rem;
        height: 40rem;
        grid-gap: 3rem;
        font-size: 12rem;
        line-height: 1.2;
        padding: 0 8rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 1320, _contents.scss */
          .training_section .training_section_header .anchor a {
            font-size: 16rem;
            height: 45rem;
            grid-gap: 8rem; } }
        /* line 1339, _contents.scss */
        .training_section .training_section_header .anchor a svg {
          width: 8rem;
          fill: #4761F4; }
  /* line 1347, _contents.scss */
  .training_section .training_section_body {
    padding: 0 16rem 24rem;
    border-radius: 0 0 20rem 20rem; }
    @media screen and (max-width: 767px) {
      /* line 1351, _contents.scss */
      .training_section .training_section_body .slides_type1 {
        margin-left: -16rem;
        margin-right: -16rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 1347, _contents.scss */
      .training_section .training_section_body {
        padding: 0 60rem 60rem; }
        /* line 1358, _contents.scss */
        .training_section .training_section_body .slides_type1 .slides .slide {
          width: 366rem;
          padding: 10rem; }
        /* line 1362, _contents.scss */
        .training_section .training_section_body .slick-arrow.custom-next {
          transform: translate(520rem, -50%); }
        /* line 1365, _contents.scss */
        .training_section .training_section_body .slick-arrow.custom-prev {
          transform: scaleX(-1) translate(520rem, -50%); } }
    /* line 1369, _contents.scss */
    .training_section .training_section_body > *:last-child {
      margin-bottom: 4rem; }

/*------------------------------------------*/
/* line 1380, _contents.scss */
.training_single_kv,
.training_package_kv {
  background: no-repeat center center / cover;
  display: grid;
  justify-content: center;
  align-items: center;
  margin: -32rem -16rem 48rem;
  padding: 20rem 16rem;
  box-sizing: border-box;
  grid-gap: 24rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1380, _contents.scss */
    .training_single_kv,
    .training_package_kv {
      min-height: 364rem;
      border-radius: 10rem;
      margin: -32rem 0 80rem;
      padding: 40rem 32rem; } }
  /* line 1396, _contents.scss */
  .training_single_kv h1,
  .training_package_kv h1 {
    text-align: center;
    color: #fff;
    margin: auto 0 0; }
  /* line 1401, _contents.scss */
  .training_single_kv .btns,
  .training_package_kv .btns {
    margin: 0 0 auto; }

/* line 1406, _contents.scss */
.training_single_kv {
  background-image: url("../images/img_training_single_kv_bg.webp"); }

/* line 1409, _contents.scss */
.training_package_kv {
  background-image: url("../images/img_training_package_kv_bg.webp"); }

/*------------------------------------------*/
/*------------------------------------------*/
/* line 1418, _contents.scss */
.training_package_anchor {
  background: #E2F4FF;
  border-radius: 5rem;
  border: 1px solid #D8DBEB;
  padding: 16rem;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1418, _contents.scss */
    .training_package_anchor {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1418, _contents.scss */
    .training_package_anchor {
      border-radius: 10rem;
      padding: 32rem; } }
  /* line 1428, _contents.scss */
  .training_package_anchor h3 {
    margin: 0 0 0.5em; }
  /* line 1432, _contents.scss */
  .training_package_anchor ul.text_links a {
    font-size: 14rem;
    color: #222222; }
    @media screen and (min-width: 767.1px), print {
      /* line 1432, _contents.scss */
      .training_package_anchor ul.text_links a {
        font-size: 16rem; } }

/* line 1443, _contents.scss */
.training_package_list h4 a {
  color: #4761F4;
  text-decoration: none; }
/* line 1447, _contents.scss */
.training_package_list dl {
  width: 100%;
  border-bottom: 1px solid #D8DBEB;
  margin: 0 0 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1447, _contents.scss */
    .training_package_list dl {
      display: table;
      border-collapse: collapse;
      border: 1px solid #D8DBEB;
      margin: 0 0 48rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1457, _contents.scss */
    .training_package_list dl > div {
      display: table-row; } }
  /* line 1462, _contents.scss */
  .training_package_list dl dt {
    padding: 6rem 10rem;
    border: 1px solid #D8DBEB;
    background: #E2F4FF;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      /* line 1462, _contents.scss */
      .training_package_list dl dt {
        border-bottom: none;
        font-size: 14rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 1462, _contents.scss */
      .training_package_list dl dt {
        display: table-cell;
        width: 160rem;
        padding: 10rem 16rem; } }
  /* line 1477, _contents.scss */
  .training_package_list dl dd {
    margin: 0;
    padding: 10rem;
    border: 1px solid #D8DBEB; }
    @media screen and (max-width: 767px) {
      /* line 1477, _contents.scss */
      .training_package_list dl dd {
        border-bottom: none;
        font-size: 12rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 1477, _contents.scss */
      .training_package_list dl dd {
        display: table-cell;
        padding: 10rem 16rem; } }
  /* line 1490, _contents.scss */
  .training_package_list dl ul.list_dot {
    margin: 0; }

/*------------------------------------------*/
/* line 1499, _contents.scss */
.blog_grid {
  display: grid;
  grid-gap: 16rem;
  padding: 24rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 1499, _contents.scss */
    .blog_grid {
      grid-template-columns: 860rem 290rem;
      justify-content: space-between;
      padding: 80rem 0 0;
      align-items: flex-start;
      grid-gap: 0; } }
  /* line 1511, _contents.scss */
  .blog_grid + .colorbg {
    display: none; }
    /* line 1513, _contents.scss */
    .blog_grid + .colorbg:has(h2) {
      display: block; }
  /* line 1518, _contents.scss */
  .blog_grid .mainarea {
    padding: 20rem 0 0; }
  /* line 1524, _contents.scss */
  .blog_grid .sidearea {
    display: grid;
    grid-gap: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1524, _contents.scss */
      .blog_grid .sidearea {
        grid-gap: 40rem; } }
    /* line 1530, _contents.scss */
    .blog_grid .sidearea section {
      margin: 0;
      padding: 0; }
    /* line 1534, _contents.scss */
    .blog_grid .sidearea h2 {
      display: grid;
      grid-template-columns: 40rem 1fr;
      font-weight: 600;
      font-size: 18rem;
      padding: 0 0 10rem;
      color: #222222;
      position: relative; }
      /* line 1543, _contents.scss */
      .blog_grid .sidearea h2::before, .blog_grid .sidearea h2::after {
        content: "";
        height: 2px;
        position: absolute;
        bottom: 0;
        left: 0; }
      /* line 1551, _contents.scss */
      .blog_grid .sidearea h2::before {
        background: #D8DBEB;
        width: 100%; }
      /* line 1555, _contents.scss */
      .blog_grid .sidearea h2::after {
        background: #4761F4;
        width: 100%;
        width: 40rem; }
      /* line 1560, _contents.scss */
      .blog_grid .sidearea h2 i {
        text-align: center;
        display: block;
        line-height: 1px; }
      /* line 1565, _contents.scss */
      .blog_grid .sidearea h2 svg {
        fill: #4761F4;
        width: 20rem; }

/* line 1574, _contents.scss */
ul.blog_articles {
  padding: 0;
  display: grid;
  margin-top: 32rem;
  margin-bottom: 32rem;
  grid-gap: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1574, _contents.scss */
    ul.blog_articles {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1579, _contents.scss */
  ul.blog_articles li {
    margin: 0;
    padding: 0;
    list-style: none; }
  /* line 1584, _contents.scss */
  ul.blog_articles a {
    display: grid;
    text-decoration: none;
    grid-gap: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1584, _contents.scss */
      ul.blog_articles a {
        grid-template-columns: 287rem 1fr;
        grid-gap: 24rem; } }
  /* line 1593, _contents.scss */
  ul.blog_articles h2 {
    margin: 0 0 8rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1593, _contents.scss */
      ul.blog_articles h2 {
        font-size: 20rem;
        margin: 0 0 16rem; } }
  /* line 1602, _contents.scss */
  ul.blog_articles p {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3; }

/* line 1614, _contents.scss */
.blog_cta h2 {
  display: grid;
  grid-gap: 16rem;
  color: #222222;
  font-size: 16rem;
  font-weight: 400;
  line-height: 1.8;
  align-items: center; }
  @media screen and (min-width: 767.1px), print {
    /* line 1614, _contents.scss */
    .blog_cta h2 {
      grid-template-columns: 262rem 1fr;
      grid-gap: 32rem; } }
  @media screen and (max-width: 767px) {
    /* line 1626, _contents.scss */
    .blog_cta h2 img {
      width: 200rem; } }
/* line 1633, _contents.scss */
.blog_cta figure img {
  width: 100%; }
@media screen and (max-width: 767px) {
  /* line 1638, _contents.scss */
  .blog_cta .btn_box {
    width: 100%; }
    /* line 1641, _contents.scss */
    .blog_cta .btn_box a {
      width: 100%;
      border-radius: 5rem; } }

/* line 1650, _contents.scss */
.blog_article {
  margin: 0;
  padding: 0; }
  /* line 1653, _contents.scss */
  .blog_article header {
    margin: 0;
    padding: 0; }
    /* line 1656, _contents.scss */
    .blog_article header h1 {
      margin: 0 0 10rem; }
    /* line 1660, _contents.scss */
    .blog_article header .date time {
      display: inline-block;
      font-style: normal; }
  /* line 1667, _contents.scss */
  .blog_article .eyecatch {
    margin-top: 32rem;
    margin-bottom: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1667, _contents.scss */
      .blog_article .eyecatch {
        margin-top: 64rem;
        margin-bottom: 64rem; } }
  /* line 1673, _contents.scss */
  .blog_article .entry_body {
    margin-top: 32rem;
    margin-bottom: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1673, _contents.scss */
      .blog_article .entry_body {
        margin-top: 64rem;
        margin-bottom: 64rem; } }
    /* line 1677, _contents.scss */
    .blog_article .entry_body h2 {
      position: relative;
      padding: 0 0 0.3em; }
      /* line 1680, _contents.scss */
      .blog_article .entry_body h2::before, .blog_article .entry_body h2::after {
        content: "";
        display: block;
        height: 2px;
        position: absolute;
        left: 0;
        bottom: 0; }
      /* line 1689, _contents.scss */
      .blog_article .entry_body h2::before {
        width: 100%;
        background: #D8DBEB; }
      /* line 1693, _contents.scss */
      .blog_article .entry_body h2::after {
        background: #4761F4;
        width: 80rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 1693, _contents.scss */
          .blog_article .entry_body h2::after {
            width: 120rem; } }

/* line 1704, _contents.scss */
.entry_index {
  border: 1px solid #D8DBEB;
  background: #E2F4FF;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1704, _contents.scss */
    .entry_index {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 1708, _contents.scss */
  .entry_index h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16rem;
    color: #222222;
    grid-gap: 10rem;
    padding: 10rem 0;
    border-bottom: 1px solid #D8DBEB;
    margin: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 1708, _contents.scss */
      .entry_index h2 {
        font-size: 18rem;
        padding: 16rem 0; } }
    /* line 1723, _contents.scss */
    .entry_index h2 i svg {
      width: 16rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1723, _contents.scss */
        .entry_index h2 i svg {
          width: 20rem; } }
  /* line 1731, _contents.scss */
  .entry_index ul.text_links {
    padding: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1731, _contents.scss */
      .entry_index ul.text_links {
        padding: 40rem; } }
    /* line 1736, _contents.scss */
    .entry_index ul.text_links a {
      color: #222222; }

/* line 1744, _contents.scss */
.recommend_training {
  margin-top: 32rem;
  margin-bottom: 32rem;
  border: 1px solid #D8DBEB;
  padding: 24rem 16rem 16rem;
  position: relative;
  margin-top: 42rem;
  display: none; }
  @media screen and (min-width: 767.1px), print {
    /* line 1744, _contents.scss */
    .recommend_training {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1744, _contents.scss */
    .recommend_training {
      padding: 40rem;
      margin-top: 84rem; } }
  /* line 1755, _contents.scss */
  .recommend_training:has(ul li) {
    display: block; }
  /* line 1758, _contents.scss */
  .recommend_training h2 {
    font-size: 18rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap; }
    @media screen and (min-width: 767.1px), print {
      /* line 1758, _contents.scss */
      .recommend_training h2 {
        font-size: 24rem; } }
    /* line 1768, _contents.scss */
    .recommend_training h2 span {
      display: table;
      background: #fff;
      padding: 0 24rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 1768, _contents.scss */
        .recommend_training h2 span {
          padding: 0 32rem; } }
  /* line 1777, _contents.scss */
  .recommend_training ul {
    margin: 0;
    padding: 0;
    line-height: 1.6; }
    /* line 1781, _contents.scss */
    .recommend_training ul li {
      border-bottom: 1px solid #D8DBEB;
      margin: 0;
      padding: 16rem 0;
      list-style: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 1781, _contents.scss */
        .recommend_training ul li {
          padding: 32rem 0; } }
      /* line 1789, _contents.scss */
      .recommend_training ul li:first-child {
        padding-top: 0; }
      /* line 1792, _contents.scss */
      .recommend_training ul li:last-child {
        border: none;
        padding-bottom: 0; }
      /* line 1797, _contents.scss */
      .recommend_training ul li figure img {
        border-radius: 5rem;
        border: 1px solid #D8DBEB; }
      /* line 1802, _contents.scss */
      .recommend_training ul li a {
        display: grid;
        grid-template-columns: 80rem 1fr 30rem;
        grid-gap: 10rem;
        align-items: center; }
        @media screen and (min-width: 767.1px), print {
          /* line 1802, _contents.scss */
          .recommend_training ul li a {
            grid-gap: 20rem;
            font-size: 18rem;
            grid-template-columns: 180rem 1fr 40rem; } }
      /* line 1813, _contents.scss */
      .recommend_training ul li h3 {
        margin: 0;
        color: #222222;
        font-size: 15rem;
        font-weight: 400; }
        @media screen and (min-width: 767.1px), print {
          /* line 1813, _contents.scss */
          .recommend_training ul li h3 {
            font-size: 18rem; } }
      /* line 1822, _contents.scss */
      .recommend_training ul li .tag-info {
        display: none; }
      /* line 1825, _contents.scss */
      .recommend_training ul li i {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30rem;
        height: 18rem;
        border-radius: 100rem;
        position: relative;
        transition: background .3s;
        background: #4761F4;
        align-self: center; }
        @media screen and (min-width: 767.1px), print {
          /* line 1825, _contents.scss */
          .recommend_training ul li i {
            width: 40rem;
            height: 24rem; } }
        /* line 1840, _contents.scss */
        .recommend_training ul li i svg {
          width: 10rem;
          height: 10rem;
          fill: #fff; }
          @media screen and (min-width: 767.1px), print {
            /* line 1840, _contents.scss */
            .recommend_training ul li i svg {
              width: 14rem;
              height: 14rem; } }

/* line 1856, _contents.scss */
.related_service {
  border-radius: 10rem;
  border: 1px solid #D8DBEB;
  padding: 16rem;
  margin-top: 32rem;
  margin-bottom: 32rem;
  border-radius: 5rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1856, _contents.scss */
    .related_service {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1856, _contents.scss */
    .related_service {
      padding: 40rem;
      border-radius: 10rem; } }
  /* line 1866, _contents.scss */
  .related_service h2 {
    font-size: 18rem;
    margin: 0 0 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1866, _contents.scss */
      .related_service h2 {
        font-size: 24rem;
        margin: 0 0 16rem; } }
  /* line 1874, _contents.scss */
  .related_service p {
    line-height: 1.6; }
  /* line 1877, _contents.scss */
  .related_service .cv_area {
    margin: 16rem 0 16rem 0;
    padding: 16rem;
    border-radius: 5rem;
    text-align: left;
    display: grid;
    grid-gap: 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1877, _contents.scss */
      .related_service .cv_area {
        grid-template-columns: 360rem 1fr;
        grid-gap: 24rem;
        align-items: center;
        padding: 32rem;
        margin: 24rem 0 16rem 0; } }
    /* line 1892, _contents.scss */
    .related_service .cv_area figure img {
      border-radius: 5rem;
      filter: drop-shadow(0px 8px 8px rgba(0, 0, 0, 0.1)); }
    /* line 1897, _contents.scss */
    .related_service .cv_area h3 {
      color: #222222;
      font-size: 16rem;
      margin: 0 0 4rem; }
    /* line 1902, _contents.scss */
    .related_service .cv_area ul.list_dot {
      grid-gap: 0; }

/* line 1908, _contents.scss */
.blog_writer {
  display: grid;
  border-radius: 5rem;
  background: #E2F4FF;
  position: relative;
  padding: 16rem;
  border: 1px solid #D8DBEB;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 1908, _contents.scss */
    .blog_writer {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 1908, _contents.scss */
    .blog_writer {
      border-radius: 10rem;
      grid-template-columns: 100rem 1fr;
      padding: 32rem;
      grid-gap: 16rem; } }
  /* line 1922, _contents.scss */
  .blog_writer figure {
    margin: 0 0 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 1922, _contents.scss */
      .blog_writer figure {
        margin: 0; } }
    /* line 1927, _contents.scss */
    .blog_writer figure img {
      width: 120rem;
      aspect-ratio: 1;
      border-radius: 100rem;
      border: 3rem solid #D8DBEB;
      box-sizing: border-box;
      object-fit: cover;
      margin: 0 auto;
      display: block; }
      @media screen and (min-width: 767.1px), print {
        /* line 1927, _contents.scss */
        .blog_writer figure img {
          width: 100%; } }
  /* line 1941, _contents.scss */
  .blog_writer .text {
    position: relative; }
  /* line 1944, _contents.scss */
  .blog_writer h3 {
    margin: 0 0 10rem;
    font-size: 16rem;
    text-align: center; }
    @media screen and (min-width: 767.1px), print {
      /* line 1944, _contents.scss */
      .blog_writer h3 {
        font-size: 18rem;
        margin: 0 0 12rem;
        text-align: left; } }
  /* line 1954, _contents.scss */
  .blog_writer p {
    margin: 0;
    line-height: 1.5; }
  /* line 1958, _contents.scss */
  .blog_writer .link {
    margin: 16rem 0 0;
    text-align: right; }
    @media screen and (min-width: 767.1px), print {
      /* line 1958, _contents.scss */
      .blog_writer .link {
        margin: 0;
        position: absolute;
        top: -4rem;
        right: 0; } }
    /* line 1967, _contents.scss */
    .blog_writer .link a {
      font-weight: 400; }
      @media screen and (min-width: 767.1px), print {
        /* line 1967, _contents.scss */
        .blog_writer .link a {
          grid-template-columns: 30rem 1fr; }
          /* line 1971, _contents.scss */
          .blog_writer .link a i {
            width: 30rem;
            height: 18rem; } }

/* line 1982, _contents.scss */
.blogside_btns {
  display: grid;
  grid-gap: 16rem; }

/* line 1986, _contents.scss */
.blogside_btn {
  display: grid;
  align-items: center;
  border: 1px solid #4761F4;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 5rem;
  text-decoration: none;
  line-height: 1.2;
  padding: 20rem 16rem; }
  /* line 1996, _contents.scss */
  .blogside_btn i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30rem;
    height: 18rem;
    border-radius: 100rem;
    position: relative;
    transition: background .3s; }
    /* line 2005, _contents.scss */
    .blogside_btn i svg {
      width: 10rem;
      height: 10rem; }
  /* line 2010, _contents.scss */
  .blogside_btn._wh {
    background: #fff;
    color: #4761F4;
    border-color: #4761F4;
    font-size: 16rem;
    font-weight: 600;
    grid-template-columns: 40rem 1fr 30rem; }
    /* line 2017, _contents.scss */
    .blogside_btn._wh figure {
      line-height: 1px; }
      /* line 2019, _contents.scss */
      .blogside_btn._wh figure svg {
        width: 27rem;
        height: 21rem;
        fill: #4761F4; }
    /* line 2026, _contents.scss */
    .blogside_btn._wh i {
      background: #4761F4; }
      /* line 2028, _contents.scss */
      .blogside_btn._wh i svg {
        fill: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 2033, _contents.scss */
      a:hover .blogside_btn._wh, .blogside_btn._wh:hover {
        background: #4761F4;
        color: #fff;
        border-color: #fff;
        opacity: 1; }
        /* line 2041, _contents.scss */
        a:hover .blogside_btn._wh figure svg, .blogside_btn._wh:hover figure svg {
          fill: #fff; }
        /* line 2045, _contents.scss */
        a:hover .blogside_btn._wh i, .blogside_btn._wh:hover i {
          background: #fff; }
          /* line 2047, _contents.scss */
          a:hover .blogside_btn._wh i svg, .blogside_btn._wh:hover i svg {
            fill: #4761F4; } }
  /* line 2054, _contents.scss */
  .blogside_btn._or {
    position: relative;
    color: #fff;
    background: #FF3C22;
    border: none;
    font-size: 20rem;
    font-weight: 600;
    grid-template-columns: 74rem 1fr 30rem; }
    /* line 2062, _contents.scss */
    .blogside_btn._or small {
      font-size: 16rem; }
    /* line 2065, _contents.scss */
    .blogside_btn._or figure {
      position: relative;
      padding-right: 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2054, _contents.scss */
      .blogside_btn._or {
        grid-template-columns: 74rem 1fr 30rem; } }
    /* line 2072, _contents.scss */
    .blogside_btn._or::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: linear-gradient(90deg, #FFA318 0%, #FF7322 100%);
      opacity: 1;
      transition: opacity .3s; }
    /* line 2083, _contents.scss */
    .blogside_btn._or i {
      background: #fff; }
      /* line 2085, _contents.scss */
      .blogside_btn._or i svg {
        fill: #FFA318; }
    @media screen and (min-width: 767.1px), print {
      /* line 2090, _contents.scss */
      a:hover .blogside_btn._or, .blogside_btn._or:hover {
        opacity: 1; }
        /* line 2093, _contents.scss */
        a:hover .blogside_btn._or::before, .blogside_btn._or:hover::before {
          opacity: 0; } }

/* line 2102, _contents.scss */
ol.blogside_ranking {
  margin: 0;
  padding: 0; }
  /* line 2105, _contents.scss */
  ol.blogside_ranking li {
    margin: 0 0 10rem;
    padding: 0 0 10rem;
    list-style: none;
    border-bottom: 1px dashed #D8DBEB;
    font-size: 14rem;
    line-height: 1.6; }
    /* line 2112, _contents.scss */
    ol.blogside_ranking li a::before {
      aspect-ratio: 1;
      border-radius: 100rem;
      font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
      font-weight: 500;
      display: grid;
      justify-content: center;
      align-items: center;
      font-size: 16rem;
      width: 28rem; }
    /* line 2123, _contents.scss */
    ol.blogside_ranking li:nth-of-type(1) a::before {
      content: "1";
      color: #fff;
      background: #DBB400; }
    /* line 2128, _contents.scss */
    ol.blogside_ranking li:nth-of-type(2) a::before {
      content: "2";
      color: #fff;
      background: #98B6B6; }
    /* line 2133, _contents.scss */
    ol.blogside_ranking li:nth-of-type(3) a::before {
      content: "3";
      color: #fff;
      background: #C08D5E; }
    /* line 2138, _contents.scss */
    ol.blogside_ranking li:nth-of-type(4) a::before {
      content: "4";
      color: #888;
      border: 1px solid #D8DBEB; }
    /* line 2143, _contents.scss */
    ol.blogside_ranking li:nth-of-type(5) a::before {
      content: "5";
      color: #888;
      border: 1px solid #D8DBEB; }
  /* line 2149, _contents.scss */
  ol.blogside_ranking a {
    text-decoration: none;
    display: grid;
    grid-template-columns: 28rem 1fr;
    grid-gap: 16rem; }
  /* line 2155, _contents.scss */
  ol.blogside_ranking figcaption {
    margin-top: 8rem; }

/* line 2160, _contents.scss */
ol.blogside_ranking2 {
  margin: 0 0 16rem;
  padding: 0; }
  /* line 2163, _contents.scss */
  ol.blogside_ranking2 li {
    margin: 0 0 10rem;
    padding: 0 0 10rem;
    list-style: none;
    border-bottom: 1px dashed #D8DBEB;
    font-size: 14rem;
    line-height: 1.6; }
    /* line 2170, _contents.scss */
    ol.blogside_ranking2 li figure::before {
      aspect-ratio: 1;
      border-radius: 100rem;
      font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
      font-weight: 500;
      display: grid;
      justify-content: center;
      align-items: center;
      font-size: 16rem;
      width: 28rem; }
    /* line 2181, _contents.scss */
    ol.blogside_ranking2 li:nth-of-type(1) figure::before {
      content: "1";
      color: #fff;
      background: #DBB400; }
    /* line 2186, _contents.scss */
    ol.blogside_ranking2 li:nth-of-type(2) figure::before {
      content: "2";
      color: #fff;
      background: #98B6B6; }
    /* line 2191, _contents.scss */
    ol.blogside_ranking2 li:nth-of-type(3) figure::before {
      content: "3";
      color: #fff;
      background: #C08D5E; }
  /* line 2198, _contents.scss */
  ol.blogside_ranking2 a {
    text-decoration: none; }
  /* line 2201, _contents.scss */
  ol.blogside_ranking2 figure {
    display: grid;
    grid-template-columns: 28rem 1fr;
    grid-gap: 16rem;
    align-items: center; }
  /* line 2207, _contents.scss */
  ol.blogside_ranking2 p {
    margin: 8rem 0 0 44rem; }

/* line 2212, _contents.scss */
ul.blogside_tags {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 8rem;
  margin: 0;
  padding: 0; }
  /* line 2218, _contents.scss */
  ul.blogside_tags li {
    margin: 0;
    padding: 0;
    list-style: none; }
  /* line 2223, _contents.scss */
  ul.blogside_tags a {
    display: block;
    border-radius: 100rem;
    border: 1px solid #4761F4;
    background: #E2F4FF;
    text-decoration: none;
    padding: 0 10rem; }

/*------------------------------------------*/
/* line 2237, _contents.scss */
.news_article {
  margin: 32rem auto 48rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2237, _contents.scss */
    .news_article {
      margin: 80rem auto 100rem; } }
  /* line 2242, _contents.scss */
  .news_article header {
    margin-top: 32rem;
    margin-bottom: 32rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2242, _contents.scss */
      .news_article header {
        margin-top: 64rem;
        margin-bottom: 64rem; } }
    /* line 2244, _contents.scss */
    .news_article header h1 {
      margin: 0 0 10rem; }
    /* line 2247, _contents.scss */
    .news_article header time {
      display: block;
      text-align: right; }

/*------------------------------------------*/
/* line 2258, _contents.scss */
#contents.toppage .full-width:has(.slides_bnrs),
#contents.toppage .full-width.slides_kv {
  margin-left: 0 !important;
  margin-right: 0 !important; }

/*------------------------------------------*/
/* line 2270, _contents.scss */
.seminar_list .schedule {
  font-size: 10rem;
  margin: 0 0 8rem;
  line-height: 1.5; }
  @media screen and (min-width: 767.1px), print {
    /* line 2270, _contents.scss */
    .seminar_list .schedule {
      font-size: 12rem; } }
/* line 2278, _contents.scss */
.seminar_list h2 {
  font-size: 16rem;
  margin: 0 0 8rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2278, _contents.scss */
    .seminar_list h2 {
      font-size: 20rem; } }
/* line 2285, _contents.scss */
.seminar_list .type {
  color: #fff;
  border-radius: 100rem;
  display: inline-block;
  padding: 0.25em 10rem 0;
  margin: 0 0 5rem;
  font-style: normal; }
  /* line 2292, _contents.scss */
  .seminar_list .type.online {
    background: #4761F4; }
  /* line 2295, _contents.scss */
  .seminar_list .type.inperson {
    background: #2BA69F; }

/*------------------------------------------*/
/* line 2305, _contents.scss */
.document_list h2 {
  font-size: 16rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2305, _contents.scss */
    .document_list h2 {
      font-size: 20rem; } }
/* line 2312, _contents.scss */
.document_list dl {
  padding: 0 0 24rem;
  margin: 0;
  font-size: 12rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 2312, _contents.scss */
    .document_list dl {
      font-size: 14rem; } }
  /* line 2319, _contents.scss */
  .document_list dl dt {
    margin: 0;
    padding: 0;
    font-weight: bold; }
  /* line 2324, _contents.scss */
  .document_list dl dd {
    margin: 3rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 14rem 1fr;
    grid-gap: 5rem;
    line-height: 1.4;
    align-items: center; }
    /* line 2332, _contents.scss */
    .document_list dl dd svg {
      width: 14rem;
      height: 14rem;
      fill: #4761F4; }

/*------------------------------------------*/
/* line 2345, _contents.scss */
#tis-engineer-training_search {
  padding: 32rem 24rem;
  margin: -32rem 0 32rem;
  background: linear-gradient(114.5deg, #0066C5 18.6%, #76ACDE 87.3%); }
  @media screen and (min-width: 767.1px), print {
    /* line 2345, _contents.scss */
    #tis-engineer-training_search {
      padding: 32rem 0;
      margin: -64rem 0 64rem; } }
  /* line 2353, _contents.scss */
  #tis-engineer-training_search .hidden {
    display: none; }
  /* line 2356, _contents.scss */
  #tis-engineer-training_search .hidden2 {
    display: none !important; }
  /* line 2360, _contents.scss */
  #tis-engineer-training_search.searched .select_wrap {
    pointer-events: none; }
    /* line 2362, _contents.scss */
    #tis-engineer-training_search.searched .select_wrap::after {
      display: none; }
  /* line 2366, _contents.scss */
  #tis-engineer-training_search.searched #step-search {
    display: none; }
  /* line 2369, _contents.scss */
  #tis-engineer-training_search.searched .result_label {
    display: block !important; }
  /* line 2373, _contents.scss */
  #tis-engineer-training_search #step-schedule.hidden,
  #tis-engineer-training_search #step-person.hidden {
    display: block;
    opacity: .5;
    pointer-events: none; }
  /* line 2379, _contents.scss */
  #tis-engineer-training_search #step-search.hidden {
    display: block;
    opacity: .5;
    pointer-events: none;
    filter: grayscale(1); }
  /* line 2385, _contents.scss */
  #tis-engineer-training_search h2 small {
    font-size: 70%; }
  /* line 2388, _contents.scss */
  #tis-engineer-training_search .frame {
    background: #fff;
    border-radius: 8rem;
    padding: 24rem 16rem 16rem;
    max-width: 820rem;
    margin: 0 auto;
    box-sizing: border-box; }
    @media screen and (min-width: 767.1px), print {
      /* line 2388, _contents.scss */
      #tis-engineer-training_search .frame {
        border-radius: 16rem;
        padding: 48rem 143rem; } }
  /* line 2400, _contents.scss */
  #tis-engineer-training_search .time {
    background-color: #0066c5;
    padding: 5rem 0 6rem;
    border-radius: 100rem;
    width: 160rem;
    margin: 0;
    text-align: center;
    position: relative;
    z-index: 2;
    color: #fff;
    margin: 0 auto;
    font-size: 14rem;
    font-weight: 700;
    display: block;
    line-height: 1; }
    @media screen and (min-width: 767.1px), print {
      /* line 2400, _contents.scss */
      #tis-engineer-training_search .time {
        width: 220rem;
        font-size: 24rem;
        padding: 5rem 0 8rem; } }
    /* line 2420, _contents.scss */
    #tis-engineer-training_search .time::before {
      content: '';
      height: 0;
      left: calc(50% - 12px);
      position: absolute;
      bottom: -8px;
      width: 0;
      border-top: 12rem solid  #0066c5;
      border-left: 12rem solid transparent;
      border-right: 12rem solid transparent; }
    /* line 2431, _contents.scss */
    #tis-engineer-training_search .time span {
      font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
      font-size: 20rem;
      transform: translateY(4%);
      margin-right: 0.1em;
      display: inline-block; }
      @media screen and (min-width: 767.1px), print {
        /* line 2431, _contents.scss */
        #tis-engineer-training_search .time span {
          font-size: 32rem; } }
  /* line 2442, _contents.scss */
  #tis-engineer-training_search h2 {
    text-align: center;
    margin: 20rem 0 20rem;
    color: #222222;
    font-weight: 900; }
  /* line 2449, _contents.scss */
  #tis-engineer-training_search .select_wrap {
    position: relative;
    margin: 0 0 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2449, _contents.scss */
      #tis-engineer-training_search .select_wrap {
        margin: 0 0 24rem; } }
    /* line 2455, _contents.scss */
    #tis-engineer-training_search .select_wrap::after {
      background: url(../images/select-arrow.webp) no-repeat center center/contain;
      content: '';
      width: 18rem;
      aspect-ratio: 1;
      display: block;
      right: 16rem;
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      pointer-events: none; }
      @media screen and (min-width: 767.1px), print {
        /* line 2455, _contents.scss */
        #tis-engineer-training_search .select_wrap::after {
          width: 26rem;
          right: 25rem; } }
  /* line 2473, _contents.scss */
  #tis-engineer-training_search select {
    background-color: #fff;
    border-radius: 10rem;
    border: #0066c5 solid 2rem;
    width: 100%;
    padding: 11rem 30rem 7rem 16rem;
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.74;
    letter-spacing: .02em;
    color: #0066c5;
    box-shadow: 2rem 2rem 10rem 0rem rgba(0, 102, 197, 0.12);
    appearance: none;
    transition: opacity .3s; }
    @media screen and (min-width: 767.1px), print {
      /* line 2473, _contents.scss */
      #tis-engineer-training_search select {
        font-size: 24rem;
        padding: 21rem 40rem 17rem 33rem;
        border-radius: 20rem;
        box-shadow: 4rem 4rem 20rem 0rem rgba(0, 102, 197, 0.12); } }
  /* line 2494, _contents.scss */
  #tis-engineer-training_search #step-search,
  #tis-engineer-training_search #search-reset-btn {
    text-align: center;
    margin: 24rem 0; }
  /* line 2499, _contents.scss */
  #tis-engineer-training_search #result {
    display: grid;
    grid-gap: 48rem; }
    /* line 2502, _contents.scss */
    #tis-engineer-training_search #result h3 {
      margin-top: 24rem; }
  /* line 2506, _contents.scss */
  #tis-engineer-training_search .result_label {
    text-align: center;
    padding: 8rem 0 16rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2506, _contents.scss */
      #tis-engineer-training_search .result_label {
        padding: 24rem 0 24rem; } }
    /* line 2512, _contents.scss */
    #tis-engineer-training_search .result_label img {
      width: 100%;
      max-width: 496rem; }
  /* line 2517, _contents.scss */
  #tis-engineer-training_search button.btn_primary {
    display: inline-flex;
    justify-content: center;
    padding: 0;
    box-shadow: 1.79926rem 1.79926rem 13.3272rem rgba(0, 0, 0, 0.2);
    grid-gap: 10rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2517, _contents.scss */
      #tis-engineer-training_search button.btn_primary {
        box-shadow: 2.79926rem 2.79926rem 23.3272rem rgba(0, 0, 0, 0.2); } }
    /* line 2527, _contents.scss */
    #tis-engineer-training_search button.btn_primary i {
      background: none;
      margin: 0;
      padding: 0;
      width: 20rem; }
    /* line 2533, _contents.scss */
    #tis-engineer-training_search button.btn_primary svg {
      fill: #fff;
      width: 20rem; }
  /* line 2538, _contents.scss */
  #tis-engineer-training_search button.btn_primary._bl {
    transition: background .3s; }
    /* line 2540, _contents.scss */
    #tis-engineer-training_search button.btn_primary._bl svg {
      fill: #fff;
      width: 20rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 2546, _contents.scss */
      #tis-engineer-training_search button.btn_primary._bl:hover svg {
        fill: #4761F4; } }
  /* line 2552, _contents.scss */
  #tis-engineer-training_search .career {
    text-align: center; }
    /* line 2554, _contents.scss */
    #tis-engineer-training_search .career a {
      color: #4761F4;
      text-decoration: none;
      font-size: 13rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 2554, _contents.scss */
        #tis-engineer-training_search .career a {
          font-size: 16rem; } }

/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/* CSS Document */
/*------------------------------------------*/
/* line 6, _htmlparts.scss */
.bukacho_level_block {
  padding: 0 0 0 23rem;
  border-left: 4rem solid #4761F4;
  position: relative;
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 6, _htmlparts.scss */
    .bukacho_level_block {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 6, _htmlparts.scss */
    .bukacho_level_block {
      padding: 0 0 0 53rem; } }
  /* line 14, _htmlparts.scss */
  .bukacho_level_block::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 3rem;
    left: -2rem;
    border-right: 4rem solid #4761F4;
    border-bottom: 4rem solid #4761F4;
    transform: translateX(-50%) rotate(45deg);
    display: block;
    width: 16rem;
    aspect-ratio: 1; }
    @media screen and (min-width: 767.1px), print {
      /* line 14, _htmlparts.scss */
      .bukacho_level_block::after {
        width: 32rem; } }
  /* line 30, _htmlparts.scss */
  .bukacho_level_block ol {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: 10rem; }
    /* line 35, _htmlparts.scss */
    .bukacho_level_block ol > li {
      margin: 0;
      padding: 0;
      list-style: none;
      border-radius: 5rem; }
      /* line 40, _htmlparts.scss */
      .bukacho_level_block ol > li:has(.sub) h4 {
        border-radius: 5rem 5rem 0 0;
        border-bottom: none; }
      /* line 44, _htmlparts.scss */
      .bukacho_level_block ol > li:last-child h4 em {
        font-size: 16rem;
        padding: 7rem 0 3rem; }
    /* line 49, _htmlparts.scss */
    .bukacho_level_block ol h4 {
      background: #E2F4FF;
      padding: 12rem 16rem;
      display: block;
      align-items: center;
      border-radius: 5rem;
      margin: 0;
      color: #222222;
      border: 2rem solid #4761F4;
      position: relative;
      font-weight: 600; }
      @media screen and (min-width: 767.1px), print {
        /* line 49, _htmlparts.scss */
        .bukacho_level_block ol h4 {
          grid-template-columns: 120rem 1fr;
          grid-gap: 32rem;
          display: grid; } }
      /* line 65, _htmlparts.scss */
      .bukacho_level_block ol h4::before {
        content: "";
        width: 23rem;
        height: 1px;
        background: #4761F4;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateX(-100%);
        display: block; }
        @media screen and (min-width: 767.1px), print {
          /* line 65, _htmlparts.scss */
          .bukacho_level_block ol h4::before {
            width: 53rem; } }
      /* line 79, _htmlparts.scss */
      .bukacho_level_block ol h4::after {
        content: "";
        display: block;
        width: 10rem;
        aspect-ratio: 1;
        background: #fff;
        border: 2rem solid #4761F4;
        position: absolute;
        top: 50%;
        left: -27rem;
        border-radius: 100rem;
        transform: translate(-50%, -50%); }
        @media screen and (min-width: 767.1px), print {
          /* line 79, _htmlparts.scss */
          .bukacho_level_block ol h4::after {
            left: -55rem; } }
      /* line 95, _htmlparts.scss */
      .bukacho_level_block ol h4 em {
        background: #fff;
        border: 1px solid #4761F4;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100rem;
        font-style: normal;
        color: #4761F4;
        font-size: 12rem;
        padding: 5rem 0 3rem;
        margin: 0 0 8rem;
        grid-gap: 8rem;
        width: 100rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 95, _htmlparts.scss */
          .bukacho_level_block ol h4 em {
            font-size: 14rem;
            width: 120rem;
            margin: 0; } }
        /* line 114, _htmlparts.scss */
        .bukacho_level_block ol h4 em span {
          font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
          font-size: 16rem; }
          @media screen and (min-width: 767.1px), print {
            /* line 114, _htmlparts.scss */
            .bukacho_level_block ol h4 em span {
              font-size: 20rem; } }
    /* line 123, _htmlparts.scss */
    .bukacho_level_block ol .sub {
      border: 2rem solid #4761F4;
      border-top: none;
      padding: 16rem;
      border-radius: 0 0 5rem 5rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 123, _htmlparts.scss */
        .bukacho_level_block ol .sub {
          padding: 32rem; } }
      /* line 131, _htmlparts.scss */
      .bukacho_level_block ol .sub .frame {
        background: #EFEFEF;
        border-radius: 5rem;
        padding: 16rem 90rem 16rem 16rem;
        font-weight: 600;
        position: relative; }
        @media screen and (min-width: 767.1px), print {
          /* line 131, _htmlparts.scss */
          .bukacho_level_block ol .sub .frame {
            padding: 32rem 48rem; } }
        /* line 141, _htmlparts.scss */
        .bukacho_level_block ol .sub .frame figure {
          position: absolute; }
          @media screen and (max-width: 767px) {
            /* line 141, _htmlparts.scss */
            .bukacho_level_block ol .sub .frame figure {
              bottom: 10rem;
              width: 110rem;
              right: -26rem; } }
          @media screen and (min-width: 767.1px), print {
            /* line 141, _htmlparts.scss */
            .bukacho_level_block ol .sub .frame figure {
              top: 50%;
              transform: translateY(-50%);
              right: 48rem;
              width: 108rem; } }

/*------------------------------------------*/
/* line 165, _htmlparts.scss */
.worrie_block {
  background: #E2F4FF;
  margin-top: 32rem;
  margin-bottom: 32rem;
  position: relative;
  padding: 32rem 0 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 165, _htmlparts.scss */
    .worrie_block {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 165, _htmlparts.scss */
    .worrie_block {
      padding: 64rem 0 0; } }
  /* line 173, _htmlparts.scss */
  .worrie_block::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: calc((100vw - var(--scrollbar-width)) / 2) solid #fff;
    border-right: calc((100vw - var(--scrollbar-width)) / 2) solid #fff;
    border-top: 40rem solid transparent;
    margin: 32rem 0 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 173, _htmlparts.scss */
      .worrie_block::after {
        margin: 56rem 0 0;
        border-top-width: 64rem; } }
  /* line 187, _htmlparts.scss */
  .worrie_block ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: stretch;
    grid-gap: 24rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 187, _htmlparts.scss */
      .worrie_block ul {
        grid-gap: 48rem 64rem; } }
    /* line 199, _htmlparts.scss */
    .worrie_block ul li {
      margin: 0;
      padding: 16rem 16rem 16rem 16rem;
      list-style: none;
      width: 300rem;
      background: #fff;
      position: relative;
      display: flex;
      align-items: center;
      box-sizing: border-box;
      border: 3rem solid #D8DBEB;
      border-radius: 10rem;
      font-weight: 600;
      line-height: 1.6;
      min-height: 90rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 199, _htmlparts.scss */
        .worrie_block ul li {
          width: 320rem;
          min-height: 120rem; } }
      /* line 218, _htmlparts.scss */
      .worrie_block ul li mark {
        background: none;
        color: #FFA318;
        font-style: normal; }
    /* line 224, _htmlparts.scss */
    .worrie_block ul figure {
      width: 65rem;
      position: absolute;
      bottom: -16rem;
      right: -30rem; }
    /* line 230, _htmlparts.scss */
    .worrie_block ul h3 {
      font-size: 16rem;
      margin: 0 0 8rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 230, _htmlparts.scss */
        .worrie_block ul h3 {
          font-size: 16rem; } }
    @media screen and (min-width: 767.1px), print {
      /* line 237, _htmlparts.scss */
      .worrie_block ul li:has(h3) {
        align-items: flex-start;
        font-size: 14rem; } }

/*------------------------------------------*/
/*------------------------------------------*/
/* line 261, _htmlparts.scss */
.training_price {
  margin-top: 32rem;
  margin-bottom: 32rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 261, _htmlparts.scss */
    .training_price {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  /* line 264, _htmlparts.scss */
  .training_price dl.price {
    margin: 0;
    padding: 0; }
    /* line 267, _htmlparts.scss */
    .training_price dl.price > div {
      display: grid;
      align-items: center;
      border-top: 1px solid #D8DBEB;
      margin: 16rem 0 0;
      padding: 16rem 0 0;
      grid-gap: 16rem;
      grid-template-columns: 110rem 1fr; }
      @media screen and (min-width: 767.1px), print {
        /* line 267, _htmlparts.scss */
        .training_price dl.price > div {
          grid-template-columns: 192rem 1fr;
          grid-gap: 32rem;
          margin: 32rem 0 0;
          padding: 32rem 0 0; } }
      /* line 281, _htmlparts.scss */
      .training_price dl.price > div:first-child {
        border: none;
        padding: 0;
        margin: 0; }
    @media screen and (min-width: 767.1px), print {
      /* line 287, _htmlparts.scss */
      .training_price dl.price._same > div {
        padding-left: 64rem; } }
    /* line 293, _htmlparts.scss */
    .training_price dl.price dt {
      background: url("data:image/svg+xml,%3Csvg%20width%3D%22191%22%20height%3D%2254%22%20viewBox%3D%220%200%20191%2054%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0%205C0%202.23858%202.23858%200%205%200H167.624C169.128%200%20170.551%200.676299%20171.501%201.84164L189.427%2023.8416C190.925%2025.6806%20190.925%2028.3194%20189.427%2030.1584L171.501%2052.1584C170.551%2053.3237%20169.128%2054%20167.624%2054H5C2.23858%2054%200%2051.7614%200%2049V5Z%22%20fill%3D%22%23EEEEEE%22/%3E%3C/svg%3E") no-repeat;
      background-size: contain;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 600;
      margin: 0;
      padding: 0 6rem 0 0;
      box-sizing: border-box;
      line-height: 1;
      width: 110rem;
      font-size: 14rem;
      aspect-ratio: 192/54; }
      @media screen and (min-width: 767.1px), print {
        /* line 293, _htmlparts.scss */
        .training_price dl.price dt {
          width: 192rem;
          height: 54rem;
          font-size: 24rem; } }
    /* line 314, _htmlparts.scss */
    .training_price dl.price dd {
      margin: 0;
      padding: 0;
      line-height: 1;
      color: #FFA318;
      font-weight: 600;
      font-size: 17rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 314, _htmlparts.scss */
        .training_price dl.price dd {
          font-size: 36rem; } }
      /* line 324, _htmlparts.scss */
      .training_price dl.price dd em {
        font-family: "Montserrat", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
        font-weight: 700;
        font-size: 38rem; }
        @media screen and (min-width: 767.1px), print {
          /* line 324, _htmlparts.scss */
          .training_price dl.price dd em {
            font-size: 90rem; } }
  /* line 334, _htmlparts.scss */
  .training_price ul.checkmark_list {
    border-top: 1px solid #D8DBEB;
    margin: 16rem 0 0;
    padding: 16rem 0 0;
    font-weight: 600; }
    @media screen and (min-width: 767.1px), print {
      /* line 334, _htmlparts.scss */
      .training_price ul.checkmark_list {
        margin: 32rem 0 0;
        padding: 32rem 32rem 0;
        font-size: 18rem;
        display: grid;
        grid-template-columns: 8fr 10fr;
        grid-gap: 8rem 24rem; } }
  /* line 351, _htmlparts.scss */
  .training_price .price_box {
    border: 4rem solid #D8DBEB;
    background: #FFFFFF;
    box-shadow: 0 8rem 30rem rgba(204, 204, 204, 0.3);
    border-radius: 10rem;
    padding: 24rem 16rem 24rem;
    margin: 24rem auto;
    max-width: 860rem;
    box-sizing: border-box; }
    @media screen and (min-width: 767.1px), print {
      /* line 351, _htmlparts.scss */
      .training_price .price_box {
        margin: 24rem auto;
        padding: 48rem 64rem;
        border-radius: 20rem; } }
    /* line 365, _htmlparts.scss */
    .training_price .price_box .attenrion {
      background: #FFA318;
      border-radius: 100rem;
      display: table;
      padding: 3rem 24rem;
      color: #fff;
      font-size: 14rem;
      margin: -8rem auto 16rem;
      font-weight: 600; }
      @media screen and (min-width: 767.1px), print {
        /* line 365, _htmlparts.scss */
        .training_price .price_box .attenrion {
          font-size: 18rem;
          margin: -16rem auto 16rem; } }
  /* line 383, _htmlparts.scss */
  .training_price .price_box_careersupport {
    border: 4rem solid #31BFB7;
    background: #FFFFFF;
    box-shadow: 0 8rem 30rem rgba(204, 204, 204, 0.3);
    border-radius: 10rem;
    padding: 24rem 16rem 24rem;
    margin: 24rem auto;
    max-width: 860rem;
    box-sizing: border-box;
    position: relative; }
    @media screen and (min-width: 767.1px), print {
      /* line 383, _htmlparts.scss */
      .training_price .price_box_careersupport {
        margin: 24rem auto;
        padding: 32rem 64rem 48rem;
        border-radius: 20rem; } }
    /* line 398, _htmlparts.scss */
    .training_price .price_box_careersupport .recommend {
      position: absolute;
      top: -24rem;
      left: -16rem;
      width: 64rem; }
      @media screen and (min-width: 767.1px), print {
        /* line 398, _htmlparts.scss */
        .training_price .price_box_careersupport .recommend {
          width: 100rem;
          top: -32rem;
          left: -32rem; } }
    /* line 409, _htmlparts.scss */
    .training_price .price_box_careersupport .logo {
      width: 180rem;
      margin: 0 auto; }
      @media screen and (min-width: 767.1px), print {
        /* line 409, _htmlparts.scss */
        .training_price .price_box_careersupport .logo {
          width: 209rem; } }
    /* line 418, _htmlparts.scss */
    .training_price .price_box_careersupport dl.price dd {
      color: #31BFB7; }
    /* line 422, _htmlparts.scss */
    .training_price .price_box_careersupport p {
      text-align: center;
      font-weight: 600; }
    /* line 426, _htmlparts.scss */
    .training_price .price_box_careersupport .set {
      position: relative;
      margin: 16rem 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 426, _htmlparts.scss */
        .training_price .price_box_careersupport .set {
          margin: 24rem 0 16rem; } }
      /* line 432, _htmlparts.scss */
      .training_price .price_box_careersupport .set::before {
        content: "";
        width: 100%;
        position: absolute;
        top: 50%;
        height: 1px;
        background: #D8DBEB; }
      /* line 440, _htmlparts.scss */
      .training_price .price_box_careersupport .set em {
        background: #31BFB7;
        position: relative;
        border-radius: 100rem;
        display: table;
        padding: 3rem 24rem;
        color: #fff;
        font-size: 14rem;
        margin: 0 auto;
        font-weight: 600; }
        @media screen and (min-width: 767.1px), print {
          /* line 440, _htmlparts.scss */
          .training_price .price_box_careersupport .set em {
            font-size: 18rem; } }
  /* line 458, _htmlparts.scss */
  .training_price .price_box_plus {
    width: 40rem;
    height: 40rem;
    position: relative;
    margin: 24rem auto; }
    /* line 463, _htmlparts.scss */
    .training_price .price_box_plus::before, .training_price .price_box_plus::after {
      content: "";
      width: 100%;
      height: 5rem;
      background: #888;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%; }
    /* line 474, _htmlparts.scss */
    .training_price .price_box_plus::before {
      transform: translate(-50%, -50%); }
    /* line 477, _htmlparts.scss */
    .training_price .price_box_plus::after {
      transform: translate(-50%, -50%) rotate(90deg); }

/*------------------------------------------*/
/* line 486, _htmlparts.scss */
.awssb_block1 {
  margin-top: 32rem;
  margin-bottom: 32rem;
  border: 4rem solid #FFA318;
  border-radius: 10rem;
  padding: 24rem 0; }
  @media screen and (min-width: 767.1px), print {
    /* line 486, _htmlparts.scss */
    .awssb_block1 {
      margin-top: 64rem;
      margin-bottom: 64rem; } }
  @media screen and (min-width: 767.1px), print {
    /* line 486, _htmlparts.scss */
    .awssb_block1 {
      padding: 32rem 0;
      border-radius: 20rem; } }
  /* line 495, _htmlparts.scss */
  .awssb_block1 dl {
    margin: 0 -5rem;
    padding: 0 21rem;
    background: #fff; }
    @media screen and (min-width: 767.1px), print {
      /* line 495, _htmlparts.scss */
      .awssb_block1 dl {
        padding: 0 45rem; } }
    /* line 502, _htmlparts.scss */
    .awssb_block1 dl > div {
      display: grid;
      align-items: stretch;
      border-top: 2rem dashed #FFA318;
      margin: 24rem 0 0;
      padding: 24rem 0 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 502, _htmlparts.scss */
        .awssb_block1 dl > div {
          grid-template-columns: 290rem 1fr; } }
      /* line 512, _htmlparts.scss */
      .awssb_block1 dl > div:first-child {
        margin: 0;
        padding: 0;
        border: none; }
    /* line 518, _htmlparts.scss */
    .awssb_block1 dl dt {
      display: flex;
      align-items: center;
      position: relative;
      font-weight: 600;
      font-size: 18rem;
      line-height: 1.5;
      margin: 0; }
      @media screen and (max-width: 767px) {
        /* line 518, _htmlparts.scss */
        .awssb_block1 dl dt {
          border-bottom: 1px solid #D8DBEB;
          padding: 0 0 16rem 0; } }
      @media screen and (min-width: 767.1px), print {
        /* line 518, _htmlparts.scss */
        .awssb_block1 dl dt {
          padding: 24rem;
          border-right: 1px solid #D8DBEB; } }
      /* line 534, _htmlparts.scss */
      .awssb_block1 dl dt::before, .awssb_block1 dl dt::after {
        content: "";
        display: block;
        border-top: 7rem solid transparent;
        border-bottom: 7rem solid transparent;
        border-left: 9rem solid #FFA318;
        position: absolute;
        width: 0;
        height: 0; }
        @media screen and (max-width: 767px) {
          /* line 534, _htmlparts.scss */
          .awssb_block1 dl dt::before, .awssb_block1 dl dt::after {
            left: 50%;
            bottom: -8rem;
            transform: translateX(-50%) rotate(90deg); } }
        @media screen and (min-width: 767.1px), print {
          /* line 534, _htmlparts.scss */
          .awssb_block1 dl dt::before, .awssb_block1 dl dt::after {
            right: -12rem;
            top: 50%;
            transform: translateY(-50%);
            border-top-width: 15rem;
            border-bottom-width: 15rem;
            border-left-width: 19rem; } }
      /* line 558, _htmlparts.scss */
      .awssb_block1 dl dt::before {
        border-left-color: #fff;
        height: 20rem; }
        @media screen and (max-width: 767px) {
          /* line 558, _htmlparts.scss */
          .awssb_block1 dl dt::before {
            transform: translate(-50%, 25%) rotate(90deg); } }
    /* line 566, _htmlparts.scss */
    .awssb_block1 dl dd {
      align-self: center;
      margin: 0;
      padding: 16rem 0 0; }
      @media screen and (min-width: 767.1px), print {
        /* line 566, _htmlparts.scss */
        .awssb_block1 dl dd {
          padding: 0 0 0 32rem; } }
      /* line 573, _htmlparts.scss */
      .awssb_block1 dl dd ul {
        margin: 0;
        padding: 0;
        display: flex;
        grid-gap: 8rem;
        flex-wrap: wrap; }
        /* line 579, _htmlparts.scss */
        .awssb_block1 dl dd ul li {
          margin: 0;
          padding: 0;
          list-style: none;
          background: #EDEDED;
          font-size: 14rem;
          font-weight: 600;
          border-radius: 100rem;
          padding: 3rem 16rem; }

/* line 595, _htmlparts.scss */
.awssb_block2 {
  display: grid;
  align-items: stretch;
  border: 1px solid #D8DBEB;
  border-radius: 10rem;
  padding: 16rem 16rem 24rem; }
  @media screen and (min-width: 767.1px), print {
    /* line 595, _htmlparts.scss */
    .awssb_block2 {
      padding: 48rem;
      grid-template-columns: 1fr 1fr; } }
  /* line 606, _htmlparts.scss */
  .awssb_block2 .before {
    position: relative; }
    @media screen and (max-width: 767px) {
      /* line 606, _htmlparts.scss */
      .awssb_block2 .before {
        padding-bottom: 24rem;
        margin-bottom: 24rem;
        border-bottom: 1px solid #D8DBEB; } }
    @media screen and (min-width: 767.1px), print {
      /* line 606, _htmlparts.scss */
      .awssb_block2 .before {
        padding-right: 48rem;
        border-right: 1px solid #D8DBEB; } }
    /* line 617, _htmlparts.scss */
    .awssb_block2 .before::before, .awssb_block2 .before::after {
      content: "";
      display: block;
      border-top: 7rem solid transparent;
      border-bottom: 7rem solid transparent;
      border-left: 9rem solid #888;
      position: absolute;
      width: 0;
      height: 0; }
      @media screen and (max-width: 767px) {
        /* line 617, _htmlparts.scss */
        .awssb_block2 .before::before, .awssb_block2 .before::after {
          left: 50%;
          bottom: -8rem;
          transform: translateX(-50%) rotate(90deg); } }
      @media screen and (min-width: 767.1px), print {
        /* line 617, _htmlparts.scss */
        .awssb_block2 .before::before, .awssb_block2 .before::after {
          right: -12rem;
          top: 50%;
          transform: translateY(-50%);
          border-top-width: 15rem;
          border-bottom-width: 15rem;
          border-left-width: 19rem; } }
    /* line 641, _htmlparts.scss */
    .awssb_block2 .before::before {
      border-left-color: #fff;
      height: 20rem; }
      @media screen and (max-width: 767px) {
        /* line 641, _htmlparts.scss */
        .awssb_block2 .before::before {
          transform: translate(-50%, 25%) rotate(90deg); } }
    /* line 648, _htmlparts.scss */
    .awssb_block2 .before h4 {
      background: #888; }
      /* line 650, _htmlparts.scss */
      .awssb_block2 .before h4::after {
        border-top-color: #888; }
    /* line 655, _htmlparts.scss */
    .awssb_block2 .before .checkmark_list svg {
      fill: #888; }
  @media screen and (min-width: 767.1px), print {
    /* line 660, _htmlparts.scss */
    .awssb_block2 .after {
      padding-left: 48rem; } }
  /* line 664, _htmlparts.scss */
  .awssb_block2 .after h4 {
    background: #FFA318; }
    /* line 666, _htmlparts.scss */
    .awssb_block2 .after h4::after {
      border-top-color: #FFA318; }
  /* line 670, _htmlparts.scss */
  .awssb_block2 .after .microcopy {
    color: #FFA318;
    font-size: 24rem; }
    /* line 673, _htmlparts.scss */
    .awssb_block2 .after .microcopy svg {
      stroke: #FFA318; }
  /* line 678, _htmlparts.scss */
  .awssb_block2 .after .checkmark_list svg {
    fill: #FFA318; }
  /* line 683, _htmlparts.scss */
  .awssb_block2 h4 {
    position: relative;
    color: #fff;
    font-size: 17rem;
    border-radius: 100rem;
    text-align: center;
    padding: 8rem;
    margin: 0 0 24rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 683, _htmlparts.scss */
      .awssb_block2 h4 {
        font-size: 20rem; } }
    /* line 694, _htmlparts.scss */
    .awssb_block2 h4::after {
      content: "";
      border-top: 13rem solid #fff;
      border-left: 9rem solid transparent;
      border-right: 9rem solid transparent;
      position: absolute;
      bottom: -10rem;
      left: 50%;
      transform: translateX(-50%); }
  /* line 705, _htmlparts.scss */
  .awssb_block2 p {
    text-align: center;
    font-weight: 600;
    font-size: 15rem; }
    @media screen and (min-width: 767.1px), print {
      /* line 705, _htmlparts.scss */
      .awssb_block2 p {
        font-size: 18rem; } }

/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/

/*# sourceMappingURL=common.css.map */
