@charset "UTF-8";
:root, *::before, *::after {
  --color-01: #333;
  --color-02: #f5f5f5;
  --color-03: #dee6ed;
  --color-04: #008bd5;
  --color-05: #0566db;
  --color-06: #002a66;
  --color-07: #0069DE;
  --pd-01: 40px;
  --pd-02: 80px;
  --width-01: calc(1000px + (var(--pd-01) * 2));
  --z-menubtn: 13;
  --z-menubg: 12;
  --z-overlay: 11;
  --z-spmenu: 10;
  --height-header: 60px;
  --outline: 2px solid #ccc;
  --box-shadow-01: 0 0 10px rgba(0,0,0, .2);
  --box-shadow-02: 0 0 10px rgba(225, 159, 32, 0.4);
  --transition: 0.2s;
}
@media screen and (max-width: 767px) {
  :root, *::before, *::after {
    --pd-01: 20px;
    --pd-02: 40px;
  }
}
/* リセット
============================================================*/
/*! A Modern CSS Reset https://github.com/hankchizljaw/modern-css-reset*/
*, *::before, *::after {
  box-sizing: border-box;
}
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
  margin: 0;
}
ul, ol {
  margin: 0;
  padding: 0;
}
ul {
  list-style: none;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
/* デフォルト
============================================================*/
body {
  color: var(--color-01);
  line-height: 1;
  font-family: メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 150%;
}
ol {
  padding: 0 0 0 1.25em;
}
@media screen and (max-width: 767px) {
  ol {
    padding: 0 0 0 1.5em;
  }
}
a {
  text-decoration: none;
  word-break: break-all;
  color: var(--color-04);
  transition: opacity var(--transition) linear, color var(--transition) linear, border var(--transition) linear, background var(--transition) linear, box-shadow var(--transition) linear, text-shadow var(--transition) linear;
}
a:focus:not(:focus-visible) {
  outline: 0;
}
a:focus-visible {
  outline: var(--outline);
}
a img {
  transition: opacity var(--transition) linear;
}
.type-pc a:hover img, .type-mobile a:active img {
  opacity: 0.8;
}
a::before, a::after {
  transition: var(--transition) linear;
}
img {
  max-width: 100%;
  height: auto;
}
/* レイアウト
============================================================*/
.l-wrapper {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
@media screen and (max-width: 768px) {
  .l-wrapper {
    font-size: 16px;
  }
}
/* メインエリア
----------------------------------------*/
.l-main {
  width: 100%;
  line-height: 180%;
}
/* ヘッダー
----------------------------------------*/
.l-header {
  position: sticky;
  z-index: var(--z-spmenu);
  top: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  transition: background var(--transition) linear, box-shadow var(--transition) linear;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.l-header.is-scroll:not(.is-active) {
  box-shadow: 0 8px 8px -4px rgba(184, 184, 184, 0.3);
}
.l-header.is-active {
  background: #fff;
}
.header-inner {
  display: flex;
  align-items: center;
  height: var(--height-header);
}
@media screen and (max-width: 767px) {
  .header-inner {
    display: flex;
    align-items: center;
    min-width: 320px;
  }
}
.logo-header-link {
  display: block;
}
@media screen and (min-width: 768px) {
  .nav-global {
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .nav-global {
    position: fixed;
    z-index: var(--z-menubg);
    right: 0;
    width: 100%;
    transition: all 0.3s;
    display: none;
    top: var(--height-header);
    padding: 0 0 20px;
    box-shadow: 0 8px 8px -4px rgba(184, 184, 184, 0.3);
    background: linear-gradient(180deg, #fff 0%, #fff 97%, rgba(184, 184, 184, 0.3) 100%);
  }
}
.menu-global-link-spot {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .menu-global-link-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 38px;
    padding: 0 10px;
    border-radius: 5px;
    background: var(--color-04);
    color: #fff;
  }
  .type-pc .menu-global-link-contact:hover, .type-mobile .menu-global-link-contact:active {
    opacity: 0.8;
  }
  .type-pc .menu-global-link-contact:hover::before, .type-mobile .menu-global-link-contact:active::before {
    transform: translate(2px, -3px);
  }
  .menu-global-link-contact::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 6px 0 0;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M16.1%20260.2c-22.6%2012.9-20.5%2047.3%203.6%2057.3L160%20376V479.3c0%2018.1%2014.6%2032.7%2032.7%2032.7c9.7%200%2018.9-4.3%2025.1-11.8l62-74.3%20123.9%2051.6c18.9%207.9%2040.8-4.5%2043.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448%20256zm52.1%2025.5L409.7%2090.6%20190.1%20336l1.2%201L68.2%20285.7zM403.3%20425.4L236.7%20355.9%20450.8%20116.6%20403.3%20425.4z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: contain;
    content: "";
    transform: translateY(-1px);
  }
}
.menu-global {
  display: flex;
}
@media screen and (min-width: 768px) {
  .menu-global {
    gap: 0 30px;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .menu-global {
    gap: 10px;
    flex-direction: column;
    width: 100%;
    max-width: 300px;
    margin: 20px auto 0;
  }
}
@media screen and (min-width: 768px) {
  .menu-global-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 10px;
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .menu-global-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 5px 10px;
    border-radius: 5px;
  }
}
.menu-global-link:not(.type-contact) {
  color: inherit;
}
.type-pc .menu-global-link:not(.type-contact):hover, .type-mobile .menu-global-link:not(.type-contact):active {
  color: var(--color-04);
}
@media screen and (max-width: 767px) {
  .menu-global-link:not(.type-contact) {
    border: 1px solid;
  }
}
.menu-global-link.type-contact {
  background: var(--color-04);
  color: #fff;
}
.type-pc .menu-global-link.type-contact:hover, .type-mobile .menu-global-link.type-contact:active {
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  .menu-global-link.type-contact {
    width: 140px;
  }
}
.type-pc .menu-global-link.type-contact:hover::before, .type-mobile .menu-global-link.type-contact:active::before {
  transform: translate(2px, -3px);
}
.menu-global-link.type-contact::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 6px 0 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M16.1%20260.2c-22.6%2012.9-20.5%2047.3%203.6%2057.3L160%20376V479.3c0%2018.1%2014.6%2032.7%2032.7%2032.7c9.7%200%2018.9-4.3%2025.1-11.8l62-74.3%20123.9%2051.6c18.9%207.9%2040.8-4.5%2043.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448%20256zm52.1%2025.5L409.7%2090.6%20190.1%20336l1.2%201L68.2%20285.7zM403.3%20425.4L236.7%20355.9%20450.8%20116.6%20403.3%20425.4z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
  transform: translateY(-1px);
}
/*--- メニュー開閉ボタン -------------------*/
.btn-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .btn-menu {
    display: flex;
    position: relative;
    width: 38px;
    height: 38px;
    margin-left: 10px;
    border-radius: 2px;
    background: #fff;
    color: #333;
    transition: background var(--transition) linear, color var(--transition) linear;
  }
  .type-pc .btn-menu:hover, .type-mobile .btn-menu:active {
    cursor: pointer;
  }
}
.btn-menu::after {
  position: absolute;
  bottom: -0.5em;
  left: 0;
  width: 38px;
  text-align: center;
  font-size: 10px;
  content: "MENU";
}
.btn-menu.is-active::after {
  content: "CLOSE";
}
/*--- ハンバーガーライン -------------------*/
.type-pc .btn-menu:not(.is-active):hover .btn-menu-line-top, .type-mobile .btn-menu:not(.is-active):active .btn-menu-line-top {
  top: 13px;
}
.type-pc .btn-menu:not(.is-active):hover .btn-menu-line-bottom, .type-mobile .btn-menu:not(.is-active):active .btn-menu-line-bottom {
  top: 23px;
}
.btn-menu.is-active .btn-menu-line-top {
  top: 48%;
  transform: translateY(0) scale(0);
}
.btn-menu.is-active .btn-menu-line-middle::before {
  transform: rotate(45deg);
}
.btn-menu.is-active .btn-menu-line-middle::after {
  transform: rotate(-45deg);
}
.btn-menu.is-active .btn-menu-line-bottom {
  top: 48%;
  transform: translateY(0) scale(0);
}
.btn-menu-line {
  display: block;
  position: absolute;
  left: 9px;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #333;
  transition: var(--transition) linear;
}
.btn-menu-line-top {
  top: 12px;
  transform: scale(1);
}
.btn-menu-line-middle {
  top: 18px;
  background: none;
}
.btn-menu-line-middle::before, .btn-menu-line-middle::after {
  display: block;
  position: absolute;
  width: 20px;
  height: 2px;
  background: #333;
  content: "";
  transition: var(--transition) linear;
  transform: rotate(0);
}
.btn-menu-line-bottom {
  top: 24px;
  transform: scale(1);
}
/* フッター
----------------------------------------*/
.l-footer {
  width: 100%;
  max-width: var(--width-01);
  margin: 0 auto;
  margin-top: auto;
  padding: 40px var(--pd-01);
  border-image-source: linear-gradient(#002a66, #002a66);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 100vw;
  background: #002a66;
}
.menu-footer {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .menu-footer {
    flex-direction: column;
  }
}
.menu-footer-link {
  color: #fff;
  transition: text-shadow var(--transition) linear;
}
.type-pc .menu-footer-link:hover, .type-mobile .menu-footer-link:active {
  text-shadow: 0 0 5px #fff;
}
.footer-corporate {
  display: flex;
  gap: 24px;
  align-items: center;
  margin: 30px 0 0;
  padding: 20px 0 0;
  border-top: 2px solid #8094b2;
}
@media screen and (max-width: 767px) {
  .footer-corporate {
    flex-direction: column;
  }
}
.footer-corporate-link {
  color: #fff;
  font-size: 16px;
  transition: text-shadow var(--transition) linear;
}
.type-pc .footer-corporate-link:hover, .type-mobile .footer-corporate-link:active {
  text-shadow: 0 0 3px #fff;
}
.footer-corporate-link::after {
  margin: 0 0 0 2px;
}
/* コンテンツエリア共通
============================================================*/
.type-pc :where([target="_blank"]):hover::after, .type-mobile :where([target="_blank"]):active::after {
  transform: rotate(-45deg) translate(3px, 0);
}
:where([target="_blank"])::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 0 0 2px;
  content: "→";
  transition: transform var(--transition) linear;
  transform: rotate(-45deg) translate(0, 0);
  transform-origin: center;
}
.cmn-width {
  width: 100%;
  max-width: var(--width-01);
  margin: 0 auto;
  padding: 0 var(--pd-01);
}
.cmn-padding {
  padding-block: var(--pd-02);
}
:where(.l-main) h2 {
  font-size: 30px;
  letter-spacing: 2px;
}
:where(.l-main) h2[data-en]::before {
  display: block;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 1px;
  text-shadow: none;
  content: attr(data-en);
}
:where(.l-main) :is(h2, h3, h4, h5) {
  font-weight: normal;
  text-shadow: 0 0 1px;
}
:where(.l-main) ul:where(:not(.list-reset)) li {
  position: relative;
  padding: 0 0 0 1em;
}
:where(.l-main) ul:where(:not(.list-reset)) li::before {
  position: absolute;
  top: 0.5em;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--color-03);
  content: "";
}
.breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .breadcrumb-list {
    flex-wrap: nowrap;
    overflow-x: scroll;
    white-space: nowrap;
    scrollbar-width: thin;
    scrollbar-color: #666 #ccc;
  }
  .breadcrumb-list::-webkit-scrollbar {
    height: 2px;
  }
  .breadcrumb-list::-webkit-scrollbar-thumb {
    background: #666;
  }
  .breadcrumb-list::-webkit-scrollbar-track {
    background: #ccc;
  }
}
.breadcrumb-list li {
  padding: 0;
  font-size: 12px;
}
.breadcrumb-list li::before {
  display: none;
}
.breadcrumb-list li:nth-of-type(n+2) {
  margin-left: 2em;
}
.breadcrumb-list li:nth-of-type(n+2)::before {
  display: inline-block;
  top: 22%;
  left: -1.5em;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23333333%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
}
.breadcrumb-list a {
  color: inherit;
}
.cmn-table {
  width: 100%;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .cmn-table tr {
    display: grid;
    grid-template-columns: 193px auto;
  }
  .cmn-table tr:first-of-type th {
    border-top: 1px solid var(--color-04);
  }
  .cmn-table tr:first-of-type td {
    border-top: 1px solid var(--color-01);
  }
  .cmn-table th {
    border-bottom: 1px solid var(--color-04);
  }
  .cmn-table td {
    border-bottom: 1px solid var(--color-01);
  }
}
.cmn-table :is(th, td) {
  padding: 1em 2em;
}
@media screen and (max-width: 767px) {
  .cmn-table :is(th, td) {
    display: block;
    padding: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .cmn-table tr + tr {
    display: block;
    margin-top: 20px;
  }
}
.cmn-table th {
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .cmn-table th {
    border-left: 1px solid var(--color-04);
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .cmn-table td {
    border-left: 1px solid var(--color-01);
  }
}
.bg-blue {
  border-image-source: linear-gradient(var(--color-05), var(--color-05));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 100vw;
  background: var(--color-05);
  color: #fff;
}
.bg-gray {
  border-image-source: linear-gradient(var(--color-03), var(--color-03));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 100vw;
  background: var(--color-03);
}
.bg-white {
  padding: 80px var(--pd-01);
  border-radius: 10px;
  box-shadow: var(--box-shadow-01);
  background: #fff;
  color: var(--color-01);
}
@media screen and (max-width: 767px) {
  .bg-white {
    margin-inline: -10px;
    padding-block: 25px;
  }
}
/*! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc.*/
.cmn-btn-link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 57px;
  border-radius: 15px;
  box-shadow: var(--box-shadow-01);
  background: #e19f20;
  color: #fff;
  font-size: 18px;
}
@media screen and (max-width: 1023px) {
  .cmn-btn-link {
    font-size: 16px;
  }
}
.type-pc .cmn-btn-link:hover {
  opacity: 0.8;
}
.type-pc .cmn-btn-link:hover::after {
  transform: translate(2px, 0);
}
.cmn-btn-link::after {
  display: inline-block;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 20px;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M438.6%20278.6c12.5-12.5%2012.5-32.8%200-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L370.7%20256%20233.4%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200l160-160zm-352%20160l160-160c12.5-12.5%2012.5-32.8%200-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L178.7%20256%2041.4%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 1023px) {
  .cmn-btn-link::after {
    position: static;
    margin: 0 0 0 4px;
  }
}
.interview-card-ttl {
  font-size: 25px;
  line-height: 150%;
}
.interview-card-ttl .s-color-point-01 {
  font-size: 32px;
}
.interview-card {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
  margin: 40px 0 0;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .interview-card {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .interview-card {
    grid-template-columns: auto;
    max-width: 320px;
    margin-inline: auto;
  }
}
.interview-card-item {
  position: relative;
  border-radius: 10px;
  box-shadow: var(--box-shadow-01);
  background: #fff;
  transition: var(--transition) linear;
}
.type-pc .interview-card-item:hover {
  opacity: 0.8;
  box-shadow: var(--box-shadow-02);
}
.interview-card-detail {
  padding: 20px;
}
.interview-card-logo {
  overflow: hidden;
  aspect-ratio: 1/0.28;
  text-align: center;
}
.interview-card-logo img {
  transform: translateY(-20%);
}
.interview-card-txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
.interview-card-category {
  display: flex;
  gap: 5px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .interview-card-category {
    font-size: 14px;
  }
}
.interview-card-category li {
  display: grid;
  place-content: center;
  height: 26px;
  padding: 0 15px;
}
.interview-card-category li.type-info {
  background: #dee6ed;
}
.interview-card-category li.type-saml {
  background: #c1e9f8;
}
.interview-card-category li::before {
  display: none;
}
.interview-card-more {
  margin-top: 1em;
  text-align: right;
}
.interview-card-more-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 3px 10px;
  border-radius: 5px;
  background: var(--color-04);
  color: #fff;
  font-size: 12px;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .interview-card-more-link {
    height: 28px;
    font-size: 14px;
  }
}
.type-pc .interview-card-more-link:hover::after {
  transform: translate(2px, 0);
}
.interview-card-more-link::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
}
.interview-card-more-link::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  content: "";
  pointer-events: auto;
}
.to-contact-contents {
  display: grid;
  gap: 80px;
  align-items: center;
  grid-template-columns: auto min(44%, 438px);
  padding-block: 40px;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .to-contact-contents {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .to-contact-contents {
    gap: 20px;
    place-items: center;
    grid-template-columns: auto;
  }
}
.to-contact-ttl-sub {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .to-contact-ttl-sub {
    font-size: 16px;
  }
}
.to-contact-ttl-main {
  margin: 20px 0 0;
  font-size: 25px;
  line-height: 150%;
}
/* トップページ
============================================================*/
.sec-intro {
  position: relative;
  padding: 80px 0 0;
  background: #fff;
  background: url("../img/top/bg_intro.png") no-repeat center bottom 100px, linear-gradient(0deg, #e6e6e6 0%, #fff 100%);
  background-size: 200% auto;
}
@media screen and (max-width: 767px) {
  .sec-intro {
    padding: 20px 0 0;
  }
}
.intro-detail {
  display: grid;
  gap: 40px;
  grid-template-columns: min(52%, 520px) auto;
}
@media screen and (max-width: 768px) {
  .intro-detail {
    grid-template-columns: 1fr;
  }
}
.intro-ttl-sub {
  font-size: 18px;
}
.intro-ttl-main {
  margin-top: 1rem;
  font-size: 28px;
}
.intro-detail-link {
  display: flex;
  justify-content: center;
  margin: 65px 0 0;
}
.intro-detail-img {
  position: relative;
  z-index: 2;
  margin: 50px 0 0;
}
.bg-waves {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .bg-waves {
    border-bottom: 100px solid var(--color-05);
  }
}
.waves {
  position: relative;
  width: 100%;
  height: max(15vh, 200px);
  margin-bottom: -10px; /*Fix for safari gap*/
}
.parallax > use {
  animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax > use:nth-child(1) {
  animation-duration: 7s;
  animation-delay: -2s;
}
.parallax > use:nth-child(2) {
  animation-duration: 10s;
  animation-delay: -3s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
@media (max-width: 768px) {
  .waves {
    height: 80px;
  }
}
/* 導入済企業様
----------------------------------------*/
.top-customer-slider {
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 200px;
  margin: 24px 0 0;
  border-radius: 10px;
  box-shadow: 0 0 10px #004f8c;
  background: #fff;
}
.type-pc .slide-paused:hover .top-customer-slider-block {
  animation-play-state: paused;
}
.top-customer-slider-block {
  display: flex;
  gap: 10px;
  animation: loop-slide 200s infinite linear 0.1s both;
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.top-customer-slider-item {
  width: 300px;
}
.top-customer-detail {
  margin: 1rem 0 0;
  text-align: right;
}
.top-customer-link {
  color: #fff;
}
.type-pc .top-customer-link:hover, .type-mobile .top-customer-link:active {
  text-shadow: 0 0 5px #fff;
}
.type-pc .top-customer-link:hover::after, .type-mobile .top-customer-link:active::after {
  transform: translate(2px, 2px);
}
.top-customer-link::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 0 0 5px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
  transform: translateY(2px);
}
/* AI-Qの特徴
----------------------------------------*/
.sec-benefit {
  padding-top: var(--pd-02);
}
.sec-benefit-child {
  padding-block: var(--pd-02);
}
@media screen and (min-width: 768px) {
  .sec-benefit-child {
    padding-left: 80px;
  }
}
.sec-benefit-child:first-of-type {
  padding-top: 40px;
}
.benefit-child-head {
  position: relative;
}
.ttl-benefit-primary-sub {
  position: absolute;
  top: -5px;
  left: -80px;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  background: linear-gradient(-180deg, var(--color-04) 0%, var(--color-07) 100%);
  -webkit-background-clip: text;
  color: var(--color-07);
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .ttl-benefit-primary-sub {
    left: 0;
  }
}
.ttl-benefit-primary-num {
  display: block;
  font-size: 36px;
  padding: 5px 0;
}
.ttl-benefit-primary-main {
  display: flex;
  align-items: center;
  min-height: 3em;
  font-size: 20px;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .ttl-benefit-primary-main {
    padding: 0 0 0 60px;
  }
}
.ttl-benefit-secondary {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 80px 0 0;
  padding: 5px 1em;
  border-radius: 2px;
  background: var(--color-07);
  background: linear-gradient(-90deg, var(--color-04) 0%, var(--color-07) 100%);
  color: #fff;
  font-size: 18px;
}
.benefit-child-body {
  margin: 20px 0 0;
}
.benefit-child-body a[target="_blank"]::after {
  margin: 0 5px 0 0;
}
.benefit-child-txt {
  max-width: 620px;
}
.benefit-enterprise-card {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
  margin: 20px 0 0;
}
@media screen and (max-width: 767px) {
  .benefit-enterprise-card {
    place-items: center;
    grid-template-columns: repeat(1, 1fr);
  }
}
.benefit-enterprise-card-item {
  overflow: hidden;
  max-width: 300px;
  border-radius: 10px;
  box-shadow: var(--box-shadow-01);
  background: #fff;
}
.benefit-enterprise-card-item-thumb {
  display: grid;
  place-content: center;
  height: 200px;
  background: var(--color-07);
  background: linear-gradient(135deg, var(--color-04) 0%, var(--color-07) 100%);
}
.benefit-enterprise-card-item-detail {
  padding: 16px 20px;
}
.benefit-support-graph {
  display: grid;
  place-content: center;
  margin: 40px 0 0;
  padding: 40px 10px;
  border-radius: 10px;
  box-shadow: var(--box-shadow-01);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .benefit-support-graph {
    padding: 15px 10px;
  }
}
.benefit-support-before-after {
  display: grid;
  gap: 40px;
  grid-template-columns: auto 38px auto;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .benefit-support-before-after {
    gap: 20px;
    grid-template-columns: auto;
  }
}
.benefit-support-before-after-ttl {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 1em;
  background: #fff;
  font-weight: bold;
}
.benefit-support-arrow::before {
  display: inline-block;
  width: 38px;
  height: 26px;
  margin: 48px 0 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23333333%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") repeat-x center center;
  background-size: auto 26px;
  content: "";
}
@media screen and (max-width: 767px) {
  .benefit-support-arrow::before {
    margin: 0;
    transform: rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .benefit-support-arrow {
    text-align: center;
  }
}
.benefit-preset-intro {
  display: grid;
  gap: 40px;
  grid-template-columns: 215px auto;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .benefit-preset-intro {
    grid-template-columns: auto;
  }
}
.ttl-benefit-tertiary {
  margin: 40px 0 0;
  font-size: 18px;
}
.benefit-preset-list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 20px 0 0;
}
.benefit-preset-list + .benefit-preset-list {
  margin: 10px 0 0;
}
.benefit-preset-item {
  display: grid;
  place-content: center;
  height: 30px;
  padding: 0 1em;
  border-radius: 10px;
  background: #fff;
}
.benefit-preset-item::before {
  display: none;
}
.sec-benefit-ui {
  margin: 80px 0 0;
}
@media screen and (max-width: 767px) {
  .sec-benefit-ui {
    margin: 40px 0 0;
  }
  .sec-benefit-ui + .sec-benefit-ui {
    margin: 80px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .sec-benefit-ui + .sec-benefit-ui {
    margin: 20px 0 0;
  }
}
.sec-benefit-ui.type-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: auto min(54%, 480px);
}
@media screen and (max-width: 1023px) {
  .sec-benefit-ui.type-grid {
    grid-template-columns: auto;
  }
}
.benefit-ui-img {
  position: relative;
}
.benefit-ui-ballon {
  position: absolute;
  background: var(--color-04);
  border-radius: 10px;
  color: #fff;
  width: 250px;
  height: 60px;
  display: grid;
  place-content: center;
  text-align: center;
  line-height: 150%;
  box-shadow: 0 0 2px #666;
}
@media screen and (max-width: 767px) {
  .benefit-ui-ballon {
    font-size: 14px;
    width: 230px;
  }
}
.benefit-ui-ballon::before {
  content: "";
  background: var(--color-04);
  position: absolute;
  width: 25px;
  height: 15px;
  bottom: -14px;
}
.benefit-ui-ballon.type-01 {
  top: 9.25%;
  left: 36.25%;
}
@media screen and (max-width: 767px) {
  .benefit-ui-ballon.type-01 {
    left: 30%;
    top: -5%;
  }
}
.benefit-ui-ballon.type-01::before {
  -webkit-clip-path: polygon(100% 0, 40% 0, 0 100%);
  clip-path: polygon(100% 0, 40% 0, 0 100%);
  left: 10.5%;
}
.benefit-ui-ballon.type-02 {
  left: -13%;
  bottom: 21%;
}
@media screen and (max-width: 767px) {
  .benefit-ui-ballon.type-02 {
    bottom: -34px;
    left: -2%;
  }
}
.benefit-ui-ballon.type-02::before {
  -webkit-clip-path: polygon(60% 0, 0 0, 100% 100%);
  clip-path: polygon(60% 0, 0 0, 100% 100%);
  right: 10.5%;
}
@media screen and (max-width: 767px) {
  .benefit-ui-ballon.type-02::before {
    -webkit-clip-path: polygon(100% 0, 0 100%, 60% 100%);
    clip-path: polygon(100% 0, 0 100%, 60% 100%);
    top: -14px;
    right: 45%;
  }
}
/* 利用シーン
----------------------------------------*/
.sec-top-case {
  background: url("../img/top/bg_top_case.png") no-repeat center bottom, var(--color-05);
  background-size: contain;
  color: #fff;
}
.top-case-card {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .top-case-card {
    grid-template-columns: auto;
    max-width: 350px;
  }
}
.top-case-card-item {
  display: grid;
  gap: 10px;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: min(40%, 158px) auto;
  padding: 20px 40px;
  border-radius: 10px;
  box-shadow: 0 0 18px #004f92;
  background: #fff;
  color: var(--color-01);
}
@media screen and (max-width: 1023px) {
  .top-case-card-item {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-case-card-item {
    grid-template-rows: auto;
    grid-template-columns: auto;
  }
}
@media screen and (min-width: 768px) {
  .top-case-card-ttl {
    grid-area: 1/1/2/3;
  }
  .top-case-card-img {
    grid-area: 2/1/3/2;
  }
  .top-case-card-detail {
    align-self: center;
    grid-area: 2/2/3/3;
  }
}
.top-case-card-ttl {
  font-size: 20px;
  text-shadow: 0 0 1px;
}
@media screen and (max-width: 767px) {
  .top-case-card-img {
    text-align: center;
  }
}
/* 機能概要
----------------------------------------*/
.sec-top-service-child {
  display: grid;
  gap: 80px;
  margin: var(--pd-02) 0 0;
}
@media screen and (min-width: 768px) {
  .sec-top-service-child:nth-of-type(odd) {
    grid-template-columns: auto min(40%, 440px);
  }
  .sec-top-service-child:nth-of-type(even) {
    grid-template-columns: min(40%, 440px) auto;
  }
  .sec-top-service-child:nth-of-type(even) .top-service-child-detail {
    order: 2;
  }
  .sec-top-service-child:nth-of-type(even) .top-service-child-img {
    order: 1;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .sec-top-service-child {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec-top-service-child {
    gap: 20px;
    grid-template-columns: auto;
  }
}
.top-service-child-head {
  display: flex;
  gap: 20px;
  align-items: center;
}
.top-service-child-ttl-sub {
  position: relative;
  font-size: 30px;
  line-height: 120%;
  font-weight: bold;
  display: inline-block;
  background: linear-gradient(-180deg, var(--color-04) 0%, var(--color-07) 100%);
  -webkit-background-clip: text;
  color: var(--color-07);
  -webkit-text-fill-color: transparent;
}
.top-service-child-ttl-sub::before, .top-service-child-ttl-sub::after {
  position: absolute;
  bottom: -10px;
  height: 1px;
  content: "";
}
.top-service-child-ttl-sub::before {
  left: 0;
  width: 100%;
  background: var(--color-04);
}
.top-service-child-ttl-sub::after {
  left: 50%;
  width: 50%;
  background: var(--color-01);
}
.top-service-child-ttl-main {
  font-size: 20px;
}
.top-service-child-body {
  margin: 40px 0 0;
}
.top-service-list li {
  padding-left: 30px;
}
.top-service-list li::before {
  top: 4px;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20style%3D%22fill%3A%23008bd5%3B%22%20d%3D%22M256%20512c141.4%200%20256-114.6%20256-256S397.4%200%20256%200S0%20114.6%200%20256S114.6%20512%20256%20512zM369%20209L241%20337c-9.4%209.4-24.6%209.4-33.9%200l-64-64c-9.4-9.4-9.4-24.6%200-33.9s24.6-9.4%2033.9%200l47%2047L335%20175c9.4-9.4%2024.6-9.4%2033.9%200s9.4%2024.6%200%2033.9z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
}
.top-service-txt {
  margin-left: 30px;
}
/* チャットボットAI-Qの導入事例
----------------------------------------*/
/* セミナー情報
----------------------------------------*/
.top-seminar-banner {
  display: grid;
  grid-template-columns: auto 310px;
  position: relative;
  max-width: 750px;
  height: 215px;
  margin: 40px auto 0;
  border-radius: 10px;
  box-shadow: var(--box-shadow-01);
  background: #fff;
  transition: opacity var(--transition) linear, box-shadow var(--transition) linear;
}
@media screen and (max-width: 767px) {
  .top-seminar-banner {
    grid-template-columns: auto 120px;
    max-width: 320px;
    height: 83px;
  }
}
.type-pc .top-seminar-banner:hover, .type-mobile .top-seminar-banner:active {
  opacity: 0.8;
  box-shadow: var(--box-shadow-02);
}
.top-seminar-banner-body {
  align-self: center;
  text-align: center;
}
.top-seminar-banner-ttl {
  margin: 0 0 20px;
  font-size: 34px;
  line-height: 120%;
  letter-spacing: 1px;
  text-shadow: 0 0 1px;
}
@media screen and (max-width: 767px) {
  .top-seminar-banner-ttl {
    position: absolute;
    top: 10px;
    left: 20px;
    margin: 0;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .top-seminar-banner-link-more {
    margin: 25px 0 0;
  }
}
.top-seminar-banner-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 2px 1em;
  border: 1px solid;
  border-radius: 5px;
  color: var(--color-01);
  font-size: 12px;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .top-seminar-banner-link {
    font-size: 14px;
  }
}
.type-pc .top-seminar-banner-link:hover::after, .type-mobile .top-seminar-banner-link:active::after {
  transform: translate(2px, 0);
}
.top-seminar-banner-link::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23333333%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
  transform: translateY(0);
}
.top-seminar-banner-link::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  content: "";
  pointer-events: auto;
}
.top-seminar-banner-img {
  position: relative;
}
.img-bottom0 {
  position: absolute;
  bottom: 0;
}
/* チャットボットとは
============================================================*/
.sec-about {
  padding-block: 40px var(--pd-02);
}
.about-body {
  display: grid;
  gap: 20px;
  align-items: center;
  grid-template-columns: auto min(43%, 430px);
}
@media screen and (max-width: 767px) {
  .about-body {
    grid-template-columns: auto;
  }
}
.sec-category-child {
  display: grid;
  margin: 40px 0 0;
}
@media screen and (min-width: 768px) {
  .sec-category-child {
    gap: 40px;
  }
  .sec-category-child:nth-of-type(odd) {
    grid-template-columns: auto min(40%, 398px);
  }
  .sec-category-child:nth-of-type(even) {
    grid-template-columns: min(40%, 398px) auto;
  }
  .sec-category-child:nth-of-type(even) .category-child-body {
    order: 2;
  }
  .sec-category-child:nth-of-type(even) .category-child-img {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .sec-category-child {
    gap: 20px;
  }
}
.sec-category-child + .sec-category-child {
  margin: 60px 0 0;
}
.category-child-ttl {
  display: flex;
  align-items: center;
  height: 80px;
  padding: 0 40px;
  border: 1px solid;
  border-radius: 40px;
}
.category-child-ttl-sub {
  font-size: 38px;
}
.category-child-ttl-main {
  margin-left: 10px;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .category-child-img {
    justify-self: center;
  }
}
.sec-challenges-child {
  display: grid;
  gap: 80px;
  grid-template-columns: auto min(30%, 240px);
  margin: 60px 0 0;
  padding: 0 0 0 80px;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .sec-challenges-child {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec-challenges-child {
    gap: 20px;
    grid-template-columns: auto;
    padding: 0;
  }
}
.challenges-child-ttl {
  display: flex;
  align-items: center;
  position: relative;
}
.challenges-child-ttl-sub {
  padding: 5px 0;
  font-size: 38px;
  font-weight: bold;
  display: inline-block;
  background: linear-gradient(-45deg, #0566d1 0%, #0566ff 100%);
  -webkit-background-clip: text;
  color: #0566ff;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) {
  .challenges-child-ttl-sub {
    position: absolute;
    left: -70px;
  }
}
.challenges-child-ttl-main {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .challenges-child-ttl-main {
    margin: 0 0 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .challenges-child-img {
    justify-self: center;
  }
}
.task-contents {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .task-contents {
    margin-top: 30px;
  }
}
.sec-task-child {
  display: grid;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .sec-task-child {
    grid-template-columns: auto min(30%, 240px);
  }
}
@media screen and (max-width: 767px) {
  .sec-task-child {
    gap: 20px;
    grid-template-columns: auto;
  }
}
.sec-task-child + .sec-task-child {
  margin: 40px 0 0;
}
.task-child-ttl {
  position: relative;
  color: var(--color-04);
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .task-child-ttl::before {
    top: calc(50% - 20px);
    left: -60px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .task-child-ttl {
    padding: 0 0 0 40px;
  }
  .task-child-ttl::before {
    top: calc(50% - 15px);
    left: 0;
    width: 30px;
    height: 30px;
  }
}
.task-child-ttl::before {
  position: absolute;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20style%3D%22fill%3A%23008bd5%3B%22%20d%3D%22M256%20512c141.4%200%20256-114.6%20256-256S397.4%200%20256%200S0%20114.6%200%20256S114.6%20512%20256%20512zM369%20209L241%20337c-9.4%209.4-24.6%209.4-33.9%200l-64-64c-9.4-9.4-9.4-24.6%200-33.9s24.6-9.4%2033.9%200l47%2047L335%20175c9.4-9.4%2024.6-9.4%2033.9%200s9.4%2024.6%200%2033.9z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
}
@media screen and (min-width: 768px) {
  .task-child-detail {
    padding: 0 0 0 60px;
  }
}
@media screen and (max-width: 767px) {
  .task-child-img {
    justify-self: center;
  }
}
.interview-customer-ttl-num {
  display: inline-block;
  margin: 0 2px;
  font-size: 50px;
  font-weight: bold;
}
.interview-customer {
  display: grid;
  gap: 10px 50px;
  grid-template-columns: repeat(3, 1fr);
  margin: 60px 0 0;
}
@media screen and (max-width: 767px) {
  .interview-customer {
    gap: 10px 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.interview-article-head {
  padding-block: 30px;
  background: url("../img/interview/article/bg_interview_article.png") no-repeat top center;
  background-size: cover;
}
.interview-article-grid {
  align-items: center;
  color: #fff;
}
.interview-article-ttl {
  display: flex;
  flex-direction: column;
  font-weight: normal;
}
.interview-article-ttl-sub {
  font-size: 25px;
}
@media screen and (max-width: 767px) {
  .interview-article-ttl-sub {
    font-size: 18px;
  }
}
.interview-article-ttl-main {
  font-size: 30px;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .interview-article-ttl-main {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .interview-article-logo {
    text-align: center;
  }
}
.interview-article-child {
  margin: 40px 0 0;
}
.interview-article-child.type-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .interview-article-child.type-grid {
    grid-template-columns: auto;
  }
}
.interview-article-child:not(.type-grid) {
  max-width: 600px;
}
.interview-article-child-ttl {
  font-size: 20px;
}
.interview-article-child-item .interview-article-child-ttl {
  position: relative;
}
.interview-article-child-item .interview-article-child-ttl::before, .interview-article-child-item .interview-article-child-ttl::after {
  position: absolute;
  bottom: -5px;
  height: 1px;
  content: "";
}
.interview-article-child-item .interview-article-child-ttl::before {
  left: 0;
  width: 36px;
  background: var(--color-04);
}
.interview-article-child-item .interview-article-child-ttl::after {
  left: 18px;
  width: 18px;
  background: var(--color-01);
}
.interview-article-table {
  margin: 15px 0 0;
}
@media screen and (max-width: 767px) {
  .interview-article-table {
    margin: 10px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-saml {
    padding-top: 60px;
  }
}
/* お問い合わせ・確認・完了画面
============================================================*/
.thanks-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 20px;
  border-radius: 5px;
  background: var(--color-04);
  color: #fff;
}
.type-pc .thanks-link:hover, .type-mobile .thanks-link:active {
  opacity: 0.8;
}
.type-pc .thanks-link:hover::before, .type-mobile .thanks-link:active::before {
  transform: translate(-2px, -1px) rotate(180deg);
}
.thanks-link::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20512%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%3B%22%20d%3D%22M246.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-160%20160c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L178.7%20256%2041.4%20118.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l160%20160z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  content: "";
  transform: translateY(-1px) rotate(180deg);
}
/* お問い合わせフォーム
============================================================*/
.aform-content, .aform-content *::before, .aform-content *::after {
  --input-height-pc: 32px;
  --input-height-mb: 40px;
  --input-pd: 5px;
  --input-color-bd: #ccc;
  --input-color-bg: #fff;
  --check-color-mark: #35a7e4;
  --check-color-label: var(--color-03);
  --point-color: #cb628d;
  --error-color: var(--point-color);
  --error-color-bg: #fff4f8;
  --scroll-thumb-color: #666;
  --scroll-track-color: #ccc;
}
/* 入力部品 -------------------*/
form {
  margin: 0;
}
input:is([type="text"], [type="tel"], [type="email"], [type="password"]) {
  min-height: var(--input-height-pc);
  padding: 0 var(--input-pd);
}
.type-mobile input:is([type="text"], [type="tel"], [type="email"], [type="password"]) {
  min-height: var(--input-height-mb);
}
:is(input:is([type="text"], [type="tel"], [type="email"], [type="password"]), textarea, select) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid var(--input-color-bd);
  border-radius: 2px;
  background-color: var(--input-color-bg);
  color: inherit;
  font-size: 16px;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
:is(input:is([type="text"], [type="tel"], [type="email"], [type="password"]), textarea, select):-webkit-autofill {
  box-shadow: 0 0 0 1000px var(--input-color-bg) inset;
}
:is(input:is([type="text"], [type="tel"], [type="email"], [type="password"], [type="submit"], [type="reset"], [type="button"]), textarea, select, button):focus:not(:focus-visible) {
  outline: 0;
}
:is(input:is([type="text"], [type="tel"], [type="email"], [type="password"], [type="submit"], [type="reset"], [type="button"]), textarea, select, button):focus-visible {
  outline: var(--outline);
}
textarea {
  display: block;
  padding: var(--input-pd);
  line-height: 150%;
}
:is(textarea, .privacy-policy) {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb-color) var(--scroll-track-color);
  border-radius: 2px;
}
:is(textarea, .privacy-policy)::-webkit-scrollbar {
  width: 6px;
}
:is(textarea, .privacy-policy)::-webkit-scrollbar-thumb {
  background: var(--scroll-thumb-color);
}
:is(textarea, .privacy-policy)::-webkit-scrollbar-track {
  background: var(--scroll-track-color);
}
select {
  min-height: var(--input-height-pc);
  padding: 0 25px 0 var(--input-pd);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20style%3D%22fill%3A%23838383%22%20d%3D%22M137.4%20374.6c12.5%2012.5%2032.8%2012.5%2045.3%200l128-128c9.2-9.2%2011.9-22.9%206.9-34.9S301%20191.9%20288%20191.9L32%20192c-12.9%200-24.6%207.8-29.6%2019.8s-2.2%2025.7%206.9%2034.9l128%20128z%22%2F%3E%3C%2Fsvg%3E");
  background-position: right 10px center;
  background-size: 8px auto;
  background-repeat: no-repeat;
}
.type-mobile select {
  min-height: var(--input-height-mb);
  background-size: 10px auto;
}
@-moz-document url-prefix() {
  select {
    padding-top: 3px;
  }
}
input:is([type="radio"], [type="checkbox"]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}
input:is([type="submit"], [type="reset"], [type="button"]), button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 16px;
  font-family: inherit;
  transition: var(--transition) linear;
  -webkit-tap-highlight-color: transparent;
}
:is(input:is([type="submit"], [type="reset"], [type="button"]), button, select):not([disabled]) {
  cursor: pointer;
}
/*--- aform レイアウト -------------------*/
.aform {
  max-width: 780px;
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .aform {
    margin-top: 40px;
  }
}
.aform-header {
  display: none;
}
.aform-content dl {
  display: grid;
}
.aform-content dt {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .aform-content dt .aform-label {
    display: flex;
    align-items: center;
  }
}
.aform-content li {
  padding: 0;
}
.aform-content li::before {
  display: none;
}
form[name^="aform-form-"] .h-adr {
  display: block;
}
form[name^="aform-form-"] :is(dl, .h-adr) + :is(dl, .h-adr) {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  form[name^="aform-form-"] :is(dl, .h-adr) + :is(dl, .h-adr) {
    margin: 20px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .aform-content dl:where(:not(.aform-error-list)) {
    grid-template-columns: 15em auto;
  }
  form[name^="aform-form-"] dd {
    padding: 0 0 0 20px;
  }
}
/*--- フォーム項目欄 -------------------*/
.aform-required {
  padding: 3px 4px;
  border-radius: 2px;
  background: var(--point-color);
  color: #fff;
  font-size: 12px;
  line-height: 100%;
  font-weight: normal;
}
@-moz-document url-prefix() {
  .aform-required {
    padding-bottom: 3px;
  }
}
@media screen and (min-width: 768px) {
  form[name^="aform-form-"] .aform-label {
    display: block;
    position: relative;
    padding: 0 35px 0 0;
  }
  .aform-required {
    position: absolute;
    top: 4px;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .aform-required {
    margin: 0 0 0 5px;
  }
}
/*--- フォーム入力欄 -------------------*/
:is(.aform-name-ul, .aform-kana-ul) label, .aform-input-example, .aform-twice-note {
  display: block;
  color: #666;
  line-height: 150%;
}
.dl_mail .aform-twice-note {
  margin: 10px 0 0;
}
/* お名前・かな */
:is(.aform-name-ul, .aform-kana-ul) {
  display: flex;
  justify-content: space-between;
}
:is(.aform-name-ul, .aform-kana-ul) li {
  width: calc(50% - 3px);
}
/* チェックボックス・ラジオボタン */
:is(.aform-checkbox-ul, .aform-radio-ul) li {
  border: 1px dotted var(--check-color-label);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 9px 8px 7px 28px;
  line-height: 120%;
  cursor: pointer;
  transition: background var(--transition) linear;
  -webkit-tap-highlight-color: transparent;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label {
  padding: 13px 8px 11px 28px;
}
.type-pc :is(.aform-checkbox-ul, .aform-radio-ul) label:hover, .type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label:active {
  background: var(--color-02);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label::before {
  display: block;
  position: absolute;
  top: 0.625em;
  left: var(--input-pd);
  width: 1em;
  height: 1em;
  border: 1px solid var(--input-color-bd);
  background: #fff;
  content: "";
  transition: border var(--transition) linear, background var(--transition) linear;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label::before {
  top: calc(0.625em + 4px);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label::after {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0.8125em;
  content: "";
  transition: transform var(--transition) linear, opacity var(--transition) linear;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label::after {
  top: calc(0.8125em + 4px);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input[type="text"].aform-field-option-text {
  position: absolute;
  top: 2px;
  left: 5.5em;
  width: calc(100% - 6em);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]) {
  opacity: 0;
  position: absolute;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]) + label + input {
  opacity: 0;
  transition: 0.2s;
  pointer-events: none;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):focus-visible + label {
  border: var(--outline);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):focus-visible + label::before {
  border: var(--outline);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):checked + label {
  background: #eef9ff;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):checked + label + input {
  opacity: 1;
  pointer-events: all;
}
/* チェックボックス */
.aform-checkbox-ul label::before {
  border-radius: 2px;
}
.aform-checkbox-ul label::after {
  left: 0.625em;
  width: 5px;
  height: 0.5em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
}
.aform-checkbox-ul input[type="checkbox"]:checked + label::before {
  border-color: var(--check-color-mark);
  background: var(--check-color-mark);
}
.aform-checkbox-ul input[type="checkbox"]:checked + label::after {
  opacity: 1;
  transform: rotate(45deg) scale3d(1, 1, 1);
}
/* ラジオボタン */
.aform-radio-ul label::before {
  border-radius: 50%;
}
.aform-radio-ul label::after {
  left: 8px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--check-color-mark);
  transform: scale3d(0.3, 0.3, 1);
}
.aform-radio-ul input[type="radio"]:checked + label::after {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
/* 縦並び */
.aform-vertical-ul {
  display: flex;
  flex-direction: column;
}
.aform-vertical-ul li:nth-of-type(n+2) {
  border-top: none;
}
/* 横並び */
@media screen and (min-width: 768px) {
  .aform-horizontal-ul {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    grid-auto-flow: column;
  }
  .aform-horizontal-ul li label {
    border: none;
  }
  .aform-horizontal-ul li:not(:nth-of-type(5n+1)) {
    border-top: none;
  }
  .aform-horizontal-ul li:nth-of-type(n+6) {
    border-left: none;
  }
}
@media screen and (max-width: 767px) {
  .aform-horizontal-ul {
    display: flex;
    flex-direction: column;
  }
  .aform-horizontal-ul li:nth-of-type(n+2) {
    border-top: none;
  }
}
/*--- 個人情報取扱について -------------------*/
.privacy-policy {
  overflow-y: scroll;
  height: 150px;
  padding: 20px;
  background: var(--color-02);
  line-height: 150%;
  -webkit-overflow-scrolling: auto;
  font-size: 14px;
}
.privacy-policy:focus:not(:focus-visible) {
  outline: 0;
}
.privacy-policy:focus-visible {
  outline: var(--outline);
}
@media screen and (max-width: 767px) {
  .privacy-policy {
    padding: 10px;
  }
}
form[name^="aform-form-"] .hidden01 {
  margin: 40px 0 20px;
}
/* 送信ボタン
----------------------------------------*/
.aform-button-area {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 50px 0 0;
}
@media screen and (max-width: 767px) {
  .aform-button-area {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.aform-button-area input:is([type="submit"], [type="button"]) {
  width: 100%;
  max-width: 280px;
  height: 52px;
  border-radius: 10px;
  font-size: 18px;
  font-family: inherit;
  transition: opacity var(--transition) linear, color var(--transition) linear, border var(--transition) linear, background var(--transition) linear;
}
.aform-button-area input[type="submit"] {
  background: var(--color-04);
  color: #fff;
}
.type-pc .aform-button-area input[type="submit"]:hover, .type-mobile .aform-button-area input[type="submit"]:active {
  background: #35a7e4;
}
.aform-button-area input[type="button"] {
  border: 1px solid var(--color-04);
  background: #fff;
  color: var(--color-04);
}
.type-pc .aform-button-area input[type="button"]:hover, .type-mobile .aform-button-area input[type="button"]:active {
  background: #dbf3ff;
}
/* 確認ページ
----------------------------------------*/
form[name="aform-confirm-form"] :is(.hidden01, .aform-required) {
  display: none;
}
form[name="aform-confirm-form"] dl {
  padding: 5px 20px;
  border-right: 1px solid var(--color-03);
  border-left: 1px solid var(--color-03);
}
form[name="aform-confirm-form"] dl:first-of-type {
  border-top: 1px solid var(--color-03);
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
form[name="aform-confirm-form"] dl:nth-of-type(odd) {
  background: var(--color-02);
}
form[name="aform-confirm-form"] dl:last-of-type {
  border-bottom: 1px solid var(--color-03);
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
form[name="aform-confirm-form"] dl + p {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  form[name="aform-confirm-form"] dl {
    padding: 10px;
    line-height: 150%;
  }
  form[name="aform-confirm-form"] .aform-label::before {
    content: "【";
  }
  form[name="aform-confirm-form"] .aform-label::after {
    content: "】";
  }
  form[name="aform-confirm-form"] dt {
    margin-left: -0.5em;
  }
}
/*--- reCAPTCHA認証 -------------------*/
.grecaptcha-badge {
  z-index: var(--z-grecaptcha);
}
@media screen and (min-width: 768px) {
  .grecaptcha-badge {
    bottom: 110px !important;
  }
}
@media screen and (max-width: 767px) {
  .grecaptcha-badge {
    bottom: 80px !important;
  }
}
/*--- エラー -------------------*/
.aform-input.error, .aform-input.error + label, .validate-option-text.error {
  border: 1px solid var(--error-color);
  background-color: var(--error-color-bg);
}
.aform-error {
  margin: 3px 0 0;
}
.validation-advice {
  display: block;
  color: var(--error-color);
  line-height: 150%;
}
/* 送信エラーページ
----------------------------------------*/
.aform-error-list {
  display: block;
  margin: 0 0 40px;
}
.aform-error-list dt {
  margin: 0 0 1em;
  color: var(--point-color);
}
.aform-error-list dd {
  position: relative;
  padding: 0 0 0 1.25em;
}
.aform-error-list dd::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
/* 汎用スタイル
============================================================*/
.type-pc .s-link-hover:hover {
  text-decoration: underline;
}
/*--- 表示/非表示 -------------------*/
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
.tb-only {
  display: none;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .tb-only {
    display: unset;
  }
}
/*--- 余白 -------------------*/
.m-t05em {
  margin-top: 0.5em;
}
.m-t1em {
  margin-top: 1em;
}
.m-t2em {
  margin-top: 2em;
}
.m-t0 {
  margin-top: 0;
}
.m-t20 {
  margin-top: 20px;
}
.m-t40 {
  margin-top: 40px;
}
/*--- 文字 -------------------*/
.s-color-point-01 {
  color: var(--color-04);
}
.set-center {
  text-align: center;
}
.set-left {
  text-align: left;
}
.set-right {
  text-align: right;
}