@charset "UTF-8";
/* Base styles */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q::before,
q::after,
blockquote::before,
blockquote::after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

[hidden] {
  display: none !important;
}

input[type=checkbox] {
  display: flex;
  width: 20px;
  height: 20px;
  appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 0;
}

button {
  all: unset;
  box-sizing: border-box;
  display: inline-block;
  cursor: pointer;
  outline: revert;
}

input[type=text] {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  background: none;
  border: none;
}

/*
* 画像パス
*---------------------------- */
/*
* Base Font
* サイト全体の基本フォント
*---------------------------- */
/*
* Base Colors
* 基本色の定義
*---------------------------- */
/* ベースカラー */
/* メインカラー */
/* サブカラー */
/*
* Base Width
* 横幅の定義
*---------------------------- */
/* Base */
/* Container */
/* Padding for left and right */
/* Core content width (without padding) */
/* Wide Content */
/* Main Content */
/* Medium */
/* Narrow */
/*
* Border Radius
*---------------------------- */
/*
* Transition
*---------------------------- */
/* Base */
/* Opacity */
/*
* Font
*---------------------------- */
/* BASE */
/* weight; */
/* 行間 */
/*
* Z-Index
*---------------------------- */
/* ページの基本要素 */
/* 通常コンテンツ */
/* トップへ戻るボタン */
/* モバイルメニューに使用 */
/* ヘッダー・フッター */
/* フローティングボタン */
/* モーダル・ポップアップ */
/* 通知・メッセージ */
/* 最前面要素（ツールチップなど） */
/* 演算用 */
/*
* 計算
*----------------------------- */
/* トラッキングの計算 */
/* 行間の計算 */
/* 要素のパーセント指定 */
/*
* メディアクエリ
*----------------------------- */
/*
* Breakpoints
*---------------------------- */
/* スクロールバーの幅 */
/*
* base
*----------------------------- */
/* 非表示テキスト */
.hdnTxt {
  position: absolute !important;
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  letter-spacing: 0 !important;
  background: none !important;
  border: none !important;
}
.hdnTxt::before, .hdnTxt::after {
  content: none !important;
}

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

/* ページ全体 */
body {
  z-index: 0;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  color: #363636;
  letter-spacing: 0;
  background-color: #fff;
}
body.menu-open {
  height: 100vh;
  overflow: hidden;
}

/* ヘッダーの高さ分のスクロールマージンを設定 */
[id] {
  scroll-margin-top: 100px;
}
@media only screen and (max-width: 1214px) {
  [id] {
    scroll-margin-top: 91px;
  }
}
@media only screen and (max-width: 814px) {
  [id] {
    scroll-margin-top: 70px;
  }
}

/* リンク */
a {
  color: #363636;
  text-decoration: none;
}

/* テキスト */
/* イメージ */
img {
  max-width: 100%;
  height: auto;
}

/* Layout styles */
/*
* ヘッダー & フッター
*----------------------------- */
.l-header {
  position: fixed;
  top: 0;
  z-index: 150;
  width: 100%;
}
@media only screen and (max-width: 1414px) {
  .l-header {
    height: 55px;
    padding: 4px 17px 0;
  }
}

/* フッター */
.l-footer {
  z-index: 100;
}

/*
* 共通
*----------------------------- */
.l-narrowContent, .l-mediumContent, .l-wideContent, .l-content {
  max-width: 100%;
  margin: 0 auto;
}

/* 余白 */
.l-narrowContent, .l-mediumContent, .l-wideContent, .l-content {
  padding-right: 36px;
  padding-left: 36px;
}

/*
* コンテンツレイアウト
*----------------------------- */
.l-container {
  overflow: hidden;
}

.l-main {
  margin-top: 90px;
}
@media only screen and (max-width: 1174px) {
  .l-main {
    margin-top: 81px;
  }
}
@media only screen and (max-width: 814px) {
  .l-main {
    margin-top: 60px;
  }
}

/* トップページ */
/* サブページ */
.l-sub {
  padding-top: 72px;
}
@media only screen and (max-width: 614px) {
  .l-sub {
    padding-top: 33px;
  }
}

/* メインコンテンツ */
.l-content {
  width: 1172px;
}

.l-wideContent {
  width: 1272px;
}

/* 中間コンテンツ */
.l-mediumContent {
  width: 1096px;
}

/* 狭いコンテンツ */
.l-narrowContent {
  width: 1035px;
}

/* 内部パディング */
/* Library styles */
/*
* SWIPER STYLES（トップページ）
*----------------------------- */
.topInterview_inner {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
}
.topInterview .swiper {
  width: 100%;
  margin-bottom: 90px;
  overflow: visible;
}
@media only screen and (max-width: 814px) {
  .topInterview .swiper {
    margin-bottom: 150px;
  }
}
@media only screen and (max-width: 614px) {
  .topInterview .swiper {
    margin-bottom: 99px;
  }
}
.topInterview .swiper-slide {
  transition: 0.3s ease-out;
}
.topInterview .swiper-slide.swiper-slide-active {
  transform: translateY(0);
}
.topInterview .js-interview-swiper.no-transition .swiper-slide {
  transition: none !important;
}
.topInterview .swiper-slide.is-shifted {
  transition: transform 0.3s ease;
  transform: translateY(66px);
}
@media only screen and (max-width: 614px) {
  .topInterview .swiper-slide.is-shifted {
    transform: translateY(28px);
  }
}
.topInterview .swiper-navigation-prev,
.topInterview .swiper-navigation-next {
  position: absolute;
  bottom: 10px;
  z-index: 10;
  width: 34px;
  height: 34px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 814px) {
  .topInterview .swiper-navigation-prev,
  .topInterview .swiper-navigation-next {
    bottom: 120px;
  }
}
@media only screen and (max-width: 614px) {
  .topInterview .swiper-navigation-prev,
  .topInterview .swiper-navigation-next {
    bottom: 74px;
  }
}
.topInterview .swiper-navigation-prev {
  left: 100px;
  background: url("../img/icons/icon_swiper_nav_prev.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 814px) {
  .topInterview .swiper-navigation-prev {
    left: 50%;
    transform: translateX(calc(-50% - 23px));
  }
}
.topInterview .swiper-navigation-prev:hover {
  background: url("../img/icons/icon_swiper_nav_prev_hover.svg") no-repeat center center/contain;
}
.topInterview .swiper-navigation-next {
  left: 146px;
  background: url("../img/icons/icon_swiper_nav_next.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 814px) {
  .topInterview .swiper-navigation-next {
    left: 50%;
    transform: translateX(calc(-50% + 23px));
  }
}
.topInterview .swiper-navigation-next:hover {
  background: url("../img/icons/icon_swiper_nav_next_hover.svg") no-repeat center center/contain;
}

/* Module styles */
/* Common */
/*
* ヘッダー
*----------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #fff;
  /* ロゴエリア */
  /* 右側コンテンツ */
  /* 企業サイトリンク */
  /* ボタンエリア */
  /* 枠線のみのボタン */
  /* 背景色ありのボタン */
  /* グローバルナビ */
}
.header_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 40px 5.41px 41px;
  margin: 0 auto;
}
@media only screen and (max-width: 1174px) {
  .header_inner {
    align-items: center;
    padding: 10px 16px;
  }
}
@media only screen and (max-width: 814px) {
  .header_inner {
    padding: 9px 16px;
  }
}
@media only screen and (max-width: 614px) {
  .header_inner {
    padding: 9px 16px 8.79px 10px;
  }
}
.header_logoArea {
  display: flex;
  align-items: center;
  padding-top: 5px;
}
@media only screen and (max-width: 1174px) {
  .header_logoArea {
    padding-top: 0;
  }
}
.header_logoLink {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: 0.3s ease-out;
}
.header_logoLink:hover {
  opacity: 0.5;
}
.header_logoImg {
  display: inline-block;
  width: 313px;
  height: 44px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 814px) {
  .header_logoImg {
    width: 70%;
    height: auto;
    aspect-ratio: 214/29;
  }
}
@media only screen and (max-width: 614px) {
  .header_logoImg {
    width: 223px;
  }
}
.header_logoLinkTxt {
  padding: 2px 0 0 53px;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 814px) {
  .header_logoLinkTxt {
    padding-top: 1px;
    padding-left: 42px;
    font-size: 11px;
  }
}
.header_right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media only screen and (max-width: 1174px) {
  .header_right {
    display: none;
  }
}
.header_links {
  display: flex;
  align-items: center;
}
.header_link {
  position: relative;
  display: block;
  padding: 3px 18px 0 0;
  margin: 0 22px 0 0;
  font-size: 14px;
  font-weight: 500;
  transition: 0.3s ease-out;
}
.header_link::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 14px;
  height: 14px;
  content: "";
  background: url("../img/icons/icon_circle_arrow_external_01.svg") no-repeat center center;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 2px));
}
.header_link:hover {
  color: #ff9638;
}
.header_link:hover::after {
  background: url("../img/icons/icon_circle_arrow_external_01_accent.svg");
}
.header_btns {
  display: flex;
  gap: 10px;
  padding-top: 1px;
}
.header_btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 138px;
  padding: 1px 19px 2px 40px;
  font-weight: 700;
  border-radius: 17px;
  transition: 0.3s ease-out;
}
.header_btn::before {
  position: absolute;
  top: 50%;
  left: 3px;
  display: block;
  width: 26px;
  height: 26px;
  content: "";
  border-radius: 50%;
  transform: translateY(-50%);
}
.header_btn-outline {
  color: #147de1;
  background-color: #fff;
  border: 1px solid #147de1;
}
.header_btn-outline::before {
  background: url("../img/icons/icon_circle_arrow_external_02.svg") no-repeat center center;
}
.header_btn-outline:hover {
  color: #fff;
  background-color: #ff9638;
  border-color: #ff9638;
}
.header_btn-outline:hover::before {
  background: url("../img/icons/icon_circle_arrow_external_02_accent.svg") no-repeat center center;
}
.header_btn-filled {
  padding-left: 39px;
  color: #fff;
  background-color: #147de1;
}
.header_btn-filled::before {
  left: 4px;
  background: url("../img/icons/icon_circle_document_03.svg") no-repeat center center;
}
.header_btn-filled:hover {
  background-color: #ff9638;
}
.header_btn-filled:hover::before {
  background: url("../img/icons/icon_circle_document_03_accent.svg") no-repeat center center;
}
.header_nav {
  margin-top: 1px;
}
.header_navList {
  display: flex;
  gap: 30px;
}
.header_navItem {
  position: relative;
  min-width: 78px;
}
.header_navItem::after {
  position: absolute;
  bottom: -22px;
  left: 50%;
  width: 100%;
  height: 30px;
  content: "";
  transform: translateX(-50%);
}
.header_navItem:hover .header_subMenuList {
  visibility: visible;
  opacity: 1;
}
.header_navItem > a {
  position: relative;
  display: inline-block;
  display: block;
  width: 100%;
  padding: 5px 0;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  transition: 0.3s ease-out;
}
.header_navItem > a:not([href]) {
  cursor: default;
}
.header_navItem > a:hover {
  color: #149be6;
}
.header_navItem > a:hover::after {
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 6px;
  height: 6px;
  content: "";
  background-color: #149be6;
  border-radius: 50%;
  transform: translateX(-50%);
}
.header_navItem:hover > a {
  color: #149be6;
}
.header_navItem:hover > a::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6px;
  height: 6px;
  content: "";
  background-color: #149be6;
  border-radius: 50%;
  transform: translateX(-50%);
}
.header_subMenuList {
  position: absolute;
  top: 47px;
  left: 50%;
  width: fit-content;
  min-width: 98px;
  overflow: hidden;
  visibility: hidden;
  border-radius: 6px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  opacity: 0;
  transition: 0.3s ease-out;
  transform: translateX(-50%);
}
.header_subMenuItem {
  width: fit-content;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
}
.header_subMenuItem a {
  position: relative;
  display: flex;
  justify-content: flex-start;
  padding: 8px 30px 6px 32px;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  transition: 0.3s ease-out;
}
.header_subMenuItem a::before {
  position: absolute;
  top: 50%;
  left: 23px;
  width: 6px;
  height: 6px;
  pointer-events: none;
  content: "";
  background-color: #aaa;
  border-radius: 50%;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 1px));
}
.header_subMenuItem a:hover {
  color: #149be6;
}
.header_subMenuItem a:hover::before {
  background-color: #149be6;
}
.header_mobileNav {
  position: absolute;
  top: 90px;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100vh;
  padding: 20px 37px 200px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
  background-color: #f2f5f7;
  opacity: 0;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 1174px) {
  .header_mobileNav {
    top: 81px;
  }
}
@media only screen and (max-width: 814px) {
  .header_mobileNav {
    top: 60px;
  }
}
.header_mobileNav.active {
  visibility: visible;
  opacity: 1;
}
.header_mobileNavInner {
  width: 300px;
  margin: 0 auto 19px;
  border-bottom: 1px solid #d9d9d9;
}
.header_mobileNavBox {
  padding-top: 11px;
  border-top: 1px solid #d9d9d9;
}
.header_mobileNavTitle {
  display: block;
  margin-bottom: 2px;
  font-family: "Montserrat", sans-serif;
  font-size: 10px;
  line-height: 1;
}
.header_mobileNavItem {
  position: relative;
  padding-bottom: 4px;
  line-height: 1;
}
.header_mobileNavItem > a {
  display: inline-block;
  width: calc(100% - 60px);
  padding-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
.header_toggleBtn {
  position: absolute;
  top: -21px;
  right: 10px;
  width: 48px;
  height: 48px;
  cursor: pointer;
  /* 横線 */
  /* 縦線 */
  /* active時は縦線を水平に戻す */
}
.header_toggleBtn::before, .header_toggleBtn::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1px;
  content: "";
  background-color: #363636;
  transition: 0.3s ease-out;
  transform: translate(-50%, calc(-50% + 1px));
  transform-origin: center;
}
.header_toggleBtn::before {
  transform: translate(-50%, -50%);
}
.header_toggleBtn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.header_toggleBtn.active::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.header_mobileNavSubList {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}
.header_mobileNavSubList.is-open {
  margin-bottom: 8px;
}
.header_mobileNavSubItem {
  position: relative;
  width: 100%;
  padding-left: 14px;
  line-height: 1;
}
.header_mobileNavSubItem::before {
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 14px;
  line-height: 1;
  content: "ー";
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 0px));
}
.header_mobileNavSubItem a {
  display: inline-block;
  width: calc(100% - 60px);
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 2.1428571429;
}
.header .mod-btn-02 {
  width: 100%;
  min-width: auto;
  min-height: 44px;
  padding: 5px 15px 6px 26px;
  margin-bottom: 14px;
  font-size: 16px;
  border-radius: 22px;
}
.header .mod-btn-02 span {
  padding-right: 7px;
}
.header .mod-btn-02::before {
  left: -12px;
  width: 28px;
  height: 28px;
}
.header .mod-btn-02-document {
  padding-top: 6px;
  padding-bottom: 5px;
  padding-left: 23px;
}
.header .mod-btn-02-document::before {
  top: -1px;
  left: -9px;
}
.header_mobileBtm {
  width: 303px;
  max-width: 100%;
  margin: 0 auto;
}
.header_mobileLinks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 3px 15px;
}
.header_mobileSnsWrap {
  display: flex;
  gap: 1px;
  align-items: center;
  width: fit-content;
  padding-top: 4px;
}
.header_mobileSnsWrapTxt {
  position: relative;
  padding-left: 24px;
  margin-right: 7px;
  font-size: 14px;
  font-weight: 700;
  color: #147de1;
}
.header_mobileSnsWrapTxt::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 14px;
  height: 14px;
  content: "";
  background: url("../img/common/footer_sns_txt_icon.svg") no-repeat center center/contain;
  transform: translateY(-50%);
}
.header_mobileSnsLink {
  cursor: pointer;
  transition: 0.3s ease-out;
}
.header_mobileSnsLink:hover {
  opacity: 0.5;
}
.header_mobileSnsIcon {
  position: relative;
  top: -1px;
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.header_mobileBtnLink {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 129px;
  height: 35px;
  padding-left: 30px;
  overflow: hidden;
  font-size: 15px;
  font-weight: 700;
  color: #0e3b73;
  text-align: center;
  transition: 0.3s ease-out;
}
.header_mobileBtnLink:hover {
  opacity: 0.5;
}
.header_mobileBtnLink img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translate(-50%, calc(-50% - 3px));
}
.header_mobilePrivacyLink {
  position: relative;
  display: block;
  width: fit-content;
  margin: 23px auto 0;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
}
.header_mobilePrivacyLink::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  content: "";
  background-color: #676767;
  transition: 0.3s ease-out;
}
.header_mobilePrivacyLink:hover {
  color: #676767;
}
.header_mobilePrivacyLink:hover::after {
  width: 100%;
}

/*
* FOOTER
*----------------------------- */
.footer {
  position: relative;
  z-index: 1;
  /* IMAGES */
  /*
  * FOOTER TOP
  *----------------------------- */
  /*
  * NAVIGATION
  *----------------------------- */
}
.footer_bgTop {
  position: absolute;
  top: -92px;
  z-index: 1;
  width: 100%;
  height: 92px;
}
@media only screen and (max-width: 614px) {
  .footer_bgTop {
    top: -23px;
    height: 24px;
  }
}
.footer_imgTop {
  position: absolute;
  top: -160px;
  left: 50%;
  width: 100%;
  max-width: 1400px;
  height: 158px;
  object-fit: cover;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .footer_imgTop {
    top: -56px;
    height: 57px;
  }
}
.footer_smallImgWrap {
  position: absolute;
  top: -115px;
  left: 50%;
  z-index: 2;
  width: 1012px;
  max-width: 100%;
  transform: translateX(-50%);
}
.footer_smallImgWrap img {
  position: absolute;
}
.footer_smallImgWrap img:first-of-type {
  top: 3px;
  left: -30px;
  width: 3.5714285714vw;
  min-width: 35px;
  max-width: 50px;
}
@media only screen and (max-width: 1214px) {
  .footer_smallImgWrap img:first-of-type {
    top: 30px;
    left: 30px;
  }
}
@media only screen and (max-width: 614px) {
  .footer_smallImgWrap img:first-of-type {
    top: 65px;
    left: 27px;
  }
}
.footer_smallImgWrap img:nth-of-type(2) {
  top: -17px;
  left: 26.7%;
  width: 3.2142857143vw;
  min-width: 32px;
  max-width: 45px;
}
@media only screen and (max-width: 614px) {
  .footer_smallImgWrap img:nth-of-type(2) {
    top: 59px;
    left: 31%;
  }
}
.footer_smallImgWrap img:nth-of-type(3) {
  top: 24px;
  right: 25.1%;
  width: 2.0714285714vw;
  min-width: 20px;
  max-width: 29px;
}
@media only screen and (max-width: 614px) {
  .footer_smallImgWrap img:nth-of-type(3) {
    top: 67px;
    right: 38.6%;
  }
}
.footer_smallImgWrap img:nth-of-type(4) {
  top: 24px;
  right: 30px;
  width: 2.9285714286vw;
  min-width: 29px;
  max-width: 41px;
}
@media only screen and (max-width: 614px) {
  .footer_smallImgWrap img:nth-of-type(4) {
    top: 66px;
    right: 41px;
  }
}
.footer_top {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 1237px;
  max-width: 100%;
  padding: 31px 19px 38px 18px;
  margin: 0 auto;
}
@media only screen and (max-width: 1214px) {
  .footer_top {
    flex-direction: column;
    gap: 50px;
    align-items: center;
  }
}
@media only screen and (max-width: 814px) {
  .footer_top {
    gap: 0;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 614px) {
  .footer_top {
    padding-top: 18px;
    padding-bottom: 32px;
  }
}
.footer_info {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 488px;
  padding-top: 37px;
}
.footer_logoLink {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 41px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 814px) {
  .footer_logoLink {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 614px) {
  .footer_logoLink {
    flex-direction: column;
    margin-bottom: 28px;
  }
}
.footer_logoLink:hover .footer_logoImg,
.footer_logoLink:hover .footer_logoLinkTxt {
  opacity: 0.5;
}
.footer_logoLinkWatermark {
  position: absolute;
  top: -39px;
  left: -13px;
  z-index: -1;
  display: inline-block;
  width: 488px;
  height: 121px;
}
@media only screen and (max-width: 614px) {
  .footer_logoLinkWatermark {
    top: 50%;
    left: 50%;
    width: 351px;
    height: 88px;
    transform: translate(-50%, calc(-50% - 1px));
  }
}
.footer_logoLinkTxt {
  display: flex;
  align-items: center;
  height: 77%;
  padding-left: 9px;
  margin: 1px 0 0 23px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  border-left: 1px solid #aaa;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .footer_logoLinkTxt {
    padding: 3px 0 0;
    margin: 0 -2px 0 0;
    font-size: 10px;
    border: none;
    border-top: 1px solid #aaa;
  }
}
.footer_logoImg {
  width: 334px;
  height: 45px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .footer_logoImg {
    width: 260px;
    height: 35px;
    margin-bottom: 12px;
  }
}
.footer_infoTxtWrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-weight: 400;
}
@media only screen and (max-width: 814px) {
  .footer_infoTxtWrap {
    width: fit-content;
    margin: 0 auto 20px;
  }
}
@media only screen and (max-width: 614px) {
  .footer_infoTxtWrap {
    flex-direction: row;
    align-items: center;
    margin-bottom: 18px;
  }
}
.footer_infoTxtWrap > span {
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .footer_infoTxtWrap > span {
    padding-right: 17px;
    font-size: 14px;
  }
}
.footer_infoAddress {
  font-size: 15px;
  line-height: 1.49;
}
@media only screen and (max-width: 614px) {
  .footer_infoAddress {
    padding-left: 6px;
    font-size: 14px;
    border-left: 1px solid #aaa;
  }
}
.footer_infoAddressTop {
  display: flex;
}
@media only screen and (max-width: 614px) {
  .footer_infoAddressTop {
    flex-direction: column;
    margin-bottom: 5px;
    line-height: 1;
  }
}
.footer_infoAddressTop > span {
  margin-right: 7px;
}
@media only screen and (max-width: 614px) {
  .footer_infoAddressTop > span {
    margin-right: 0;
    margin-bottom: 8px;
  }
}
.footer_infoAddressBtm {
  display: flex;
}
@media only screen and (max-width: 614px) {
  .footer_infoAddressBtm {
    flex-direction: column;
  }
}
.footer_telLink {
  margin-right: 19px;
  pointer-events: none;
  cursor: text;
}
@media only screen and (max-width: 614px) {
  .footer_telLink {
    margin-right: 4px;
    margin-bottom: 1px;
    pointer-events: all;
    cursor: pointer;
  }
}
.footer_nav {
  z-index: 2;
  display: flex;
  flex-flow: column wrap;
  gap: 15px 30px;
  width: fit-content;
  min-width: 660px;
  height: 395px;
}
@media only screen and (max-width: 814px) {
  .footer_nav {
    min-width: auto;
    height: auto;
  }
}
.footer_navBox {
  width: 200px;
}
@media only screen and (max-width: 814px) {
  .footer_navBox {
    display: none;
  }
}
@media only screen and (max-width: 1214px) {
  .footer_navBox-showMobile {
    display: block;
  }
}
@media only screen and (max-width: 614px) {
  .footer_navBox-showMobile {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.footer_navTitle {
  display: block;
  padding-bottom: 1px;
  padding-left: 2px;
  margin-bottom: 4px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 400;
  border-bottom: 1px solid #e6e6e6;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5714285714;
}
.footer_navList {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.footer_navItem {
  transition: 0.3s ease-out;
}
.footer_navItem > a {
  padding-left: 2px;
  font-weight: 700;
  transition: 0.3s ease-out;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
.footer_navItem > a[href]:hover {
  opacity: 0.5;
}
.footer_navLink {
  font-weight: 700;
}
.footer_subNavList {
  display: flex;
  flex-direction: column;
  gap: 4.2px;
  align-items: flex-start;
  margin-top: 4px;
}
.footer_subNavItem {
  position: relative;
  line-height: 1;
}
.footer_subNavItem a {
  padding-left: 15px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  transition: 0.3s ease-out;
}
.footer_subNavItem a[href]:hover, .footer_subNavItem:hover a[href], .footer_subNavItem:hover::before {
  opacity: 0.5;
}
.footer_subNavItem::before {
  position: absolute;
  top: 50%;
  left: 0;
  font-weight: 400;
  line-height: 1;
  content: "ー";
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% - 1px));
}
.footer_snsWrap {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 5px 0 19px;
}
@media only screen and (max-width: 814px) {
  .footer_snsWrap {
    justify-content: center;
  }
}
@media only screen and (max-width: 614px) {
  .footer_snsWrap {
    gap: 1px;
    margin-bottom: 21.3px;
  }
}
.footer_snsWrapTxt {
  position: relative;
  padding-left: 24px;
  margin-right: 7px;
  font-size: 14px;
  font-weight: 700;
  color: #147de1;
}
@media only screen and (max-width: 614px) {
  .footer_snsWrapTxt {
    padding-left: 26px;
  }
}
.footer_snsWrapTxt::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 14px;
  height: 14px;
  content: "";
  background: url("../img/common/footer_sns_txt_icon.svg") no-repeat center center/contain;
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .footer_snsWrapTxt::before {
    left: 2px;
    transform: translateY(calc(-50% - 1px));
  }
}
.footer_snsLink {
  transition: 0.3s ease-out;
}
.footer_snsLink:hover {
  opacity: 0.5;
}
.footer_snsIcon {
  position: relative;
  top: -1px;
  display: block;
  width: 31px;
  height: 31px;
}
@media only screen and (max-width: 614px) {
  .footer_snsIcon {
    width: 22px;
    height: 22px;
  }
}
.footer_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 48px;
  padding: 5px 30px 6px 34px;
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 18px;
  font-weight: 700;
  color: #0e3b73;
  text-align: center;
  border: 1px solid #8fd4f5;
  border-radius: 24px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .footer_btn {
    width: 166px;
    height: 44px;
    padding: 6px 22px 6px 34px;
    margin-bottom: 14px;
    font-size: 15px;
  }
}
.footer_btn img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  object-fit: contain;
  transform: translate(-50%, -50%);
}
.footer_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 0;
  height: 100%;
  content: "";
  background-color: #0e3b73;
  transition: 0.3s ease-out;
}
.footer_btn:hover {
  color: #fff;
}
.footer_btn:hover::before {
  width: 100%;
}
.footer_banner {
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .footer_banner {
    width: 166px;
    height: auto;
  }
}
.footer_banner:hover {
  opacity: 0.5;
}

/*
* FOOTER BOTTOM
*----------------------------- */
.footer-btm {
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 20px 36px 24px;
  background-color: #f2f5f7;
}
@media only screen and (max-width: 614px) {
  .footer-btm {
    padding-top: 18px;
    padding-bottom: 93px;
  }
}
.footer-btm_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
  width: 1198px;
  max-width: 100%;
  padding: 0 3px 19px 0;
  margin: 0 auto;
  border-bottom: 1px solid #c6c6c6;
}
@media only screen and (max-width: 1038px) {
  .footer-btm_inner {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 614px) {
  .footer-btm_inner {
    gap: 11px;
    padding-bottom: 36px;
  }
}
.footer-btm_txt {
  display: flex;
  align-items: center;
  padding-top: 1px;
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #0e3b73;
}
@media only screen and (max-width: 614px) {
  .footer-btm_txt {
    margin-right: -4px;
    font-size: 14px;
  }
}
.footer-btm_txt img {
  position: relative;
  top: -1px;
  left: -1px;
  margin-right: 5px;
}
@media only screen and (max-width: 614px) {
  .footer-btm_txt img {
    top: 0;
    left: 0;
    width: 21px;
    height: 22px;
    margin-right: 7px;
  }
}
.footer-btm_banners {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
@media only screen and (max-width: 1038px) {
  .footer-btm_banners {
    justify-content: center;
  }
}
@media only screen and (max-width: 614px) {
  .footer-btm_banners {
    gap: 11px;
    margin-right: -3px;
  }
}
.footer-btm_bannersLink {
  width: 220px;
  height: 65px;
}
.footer-btm_bannersLink img {
  width: 100%;
  height: 100%;
  vertical-align: middle;
  background-color: #fff;
  transition: 0.3s ease-out;
}
.footer-btm_bannersLink:hover img {
  background-color: #b1d8ea;
}
.footer-btm_privacyLink {
  position: relative;
  display: block;
  margin: 0 0 0 auto;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 1038px) {
  .footer-btm_privacyLink {
    margin: 0;
  }
}
@media only screen and (max-width: 614px) {
  .footer-btm_privacyLink {
    margin-top: 7px;
    margin-right: -3px;
  }
}
.footer-btm_privacyLink::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  content: "";
  background-color: #676767;
  transition: 0.3s ease-out;
}
.footer-btm_privacyLink:hover {
  color: #676767;
}
.footer-btm_privacyLink:hover::after {
  width: 100%;
}
.footer-btm_copyright {
  padding-top: 0;
  font-size: 12px;
  font-weight: 300;
  color: #363636;
  text-align: center;
}
@media only screen and (max-width: 614px) {
  .footer-btm_copyright {
    font-size: 10px;
  }
}

/* Text */
/*
* 見出し
*----------------------------- */
/* 01 */
.mod-hl-01 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 195px;
  padding-bottom: 5px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01 {
    height: 188px;
    padding-bottom: 26px;
  }
}
.mod-hl-01:has(.mod-hl-01_smallTitle) {
  padding-bottom: 42px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01:has(.mod-hl-01_smallTitle) {
    padding-bottom: 52px;
  }
}
.mod-hl-01_bgImg {
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
  transform: translateX(-50%);
}
.mod-hl-01_smallImgWrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1012px;
  max-width: 100%;
  transform: translateX(-50%);
}
.mod-hl-01_smallImgWrap img {
  position: absolute;
}
.mod-hl-01_smallImgWrap img:first-of-type {
  bottom: -5px;
  left: 24px;
  width: 2.5vw;
  min-width: 23px;
  max-width: 35px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_smallImgWrap img:first-of-type {
    left: 61px;
  }
}
.mod-hl-01_smallImgWrap img:nth-of-type(2) {
  bottom: -11px;
  left: 23.8%;
  width: 2.3571428571vw;
  min-width: 22px;
  max-width: 33px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_smallImgWrap img:nth-of-type(2) {
    bottom: -7px;
    left: 32.3%;
  }
}
.mod-hl-01_smallImgWrap img:nth-of-type(3) {
  right: 23.5%;
  bottom: -11px;
  width: 2.1878571429vw;
  min-width: 20.27px;
  max-width: 30.63px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_smallImgWrap img:nth-of-type(3) {
    right: 31.6%;
    bottom: -7px;
  }
}
.mod-hl-01_smallImgWrap img:nth-of-type(4) {
  right: 8px;
  bottom: -10px;
  width: 1.5vw;
  min-width: 14px;
  max-width: 21px;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_smallImgWrap img:nth-of-type(4) {
    right: 53px;
    bottom: -4px;
  }
}
.mod-hl-01_smallTitle, .mod-hl-01_title {
  position: relative;
  z-index: 1;
}
.mod-hl-01_smallTitle {
  margin-bottom: 1px;
  font-size: 20px;
  font-weight: 700;
  color: #0e3b73;
  text-align: center;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_smallTitle {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.9;
  }
}
.mod-hl-01_title {
  font-size: 44px;
  font-weight: 700;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.1363636364;
}
@media only screen and (max-width: 614px) {
  .mod-hl-01_title {
    font-size: 30px;
  }
}

.mod-hl-02,
.mod-hl-03,
.mod-hl-04,
.mod-hl-05,
.mod-hl-06 {
  font-weight: 700;
  line-height: 1.4;
}

/* 02 */
.mod-hl-02 {
  position: relative;
  padding-bottom: 9px;
  font-size: 33px;
  font-weight: 700;
  text-align: center;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5151515152;
}
@media only screen and (max-width: 614px) {
  .mod-hl-02 {
    padding-bottom: 13px;
    font-size: 26px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.2692307692;
  }
}
.mod-hl-02::before, .mod-hl-02::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 18px;
  height: 3px;
  content: "";
}
@media only screen and (max-width: 614px) {
  .mod-hl-02::before, .mod-hl-02::after {
    width: 15px;
    height: 2px;
  }
}
.mod-hl-02::before {
  background-color: #3c8bd1;
  transform: translateX(-100%);
}
.mod-hl-02::after {
  background-color: #ffaa5e;
}

/* 03 */
.mod-hl-03 {
  position: relative;
  display: block;
  padding-left: 16px;
  font-size: 20px;
  font-weight: 700;
  color: #0e3b73;
}
@media only screen and (max-width: 614px) {
  .mod-hl-03 {
    padding-left: 14px;
    font-size: 16px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.75;
  }
}
.mod-hl-03::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 31px;
  content: "";
  background-color: #ffaa5d;
  border-radius: 4px;
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-hl-03::before {
    height: 26px;
  }
}

/* 04 */
.mod-hl-04 {
  position: relative;
  padding-left: 22px;
  font-size: 20px;
  font-weight: 700;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5;
}
.mod-hl-04::before {
  position: absolute;
  top: 11px;
  left: 4px;
  width: 10px;
  height: 10px;
  content: "";
  background-color: #147de1;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-hl-04::before {
    top: 9px;
  }
}

/* 05 */
.mod-hl-05 {
  font-size: 18px;
  font-weight: 700;
  color: #147de1;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.6666666667;
}
@media only screen and (max-width: 614px) {
  .mod-hl-05 {
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5555555556;
  }
}

/* 06 */
.mod-hl-06 {
  position: relative;
  padding-left: 16px;
  font-size: 18px;
  font-weight: 700;
  color: #0b3a65;
}
@media only screen and (max-width: 614px) {
  .mod-hl-06 {
    padding-left: 17px;
    font-size: 16px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8;
  }
}
.mod-hl-06::before {
  position: absolute;
  top: 8px;
  left: 0;
  display: inline-block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #147de1;
}
@media only screen and (max-width: 614px) {
  .mod-hl-06::before {
    top: 11px;
  }
}

.mod-hl-iconTitle {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 35px 0 37px;
  font-size: 30px;
  font-weight: 700;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8666666667;
}
@media only screen and (max-width: 614px) {
  .mod-hl-iconTitle {
    font-size: 18px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5555555556;
  }
}
.mod-hl-iconTitle::before {
  position: absolute;
  top: -36px;
  left: 50%;
  display: inline-block;
  width: 41px;
  height: 41px;
  content: "";
  background: url("../img/icons/icon_search_01.svg") no-repeat center center/contain;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-hl-iconTitle::before {
    top: -30px;
    width: 26px;
    height: 26px;
  }
}

/* List */
/*
*  リスト
*---------------------------- */
/*
*  共通
*---------------------------- */
.mod-li-disc,
.mod-li-decimal {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8;
}

/*
*  Module List Disc
*---------------------------- */
.mod-li-disc > li {
  position: relative;
  padding-left: 16px;
}
@media only screen and (max-width: 614px) {
  .mod-li-disc > li {
    margin-bottom: 0;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 2;
  }
}
.mod-li-disc > li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  font-weight: 700;
  content: "・";
}

/*
*  Module List Decimal
*---------------------------- */
.mod-li-decimal {
  padding-left: 22px;
  counter-reset: count 0;
}
.mod-li-decimal > li {
  position: relative;
  margin-bottom: 1.9px;
  letter-spacing: 0.03em;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8;
}
@media only screen and (max-width: 614px) {
  .mod-li-decimal > li {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8;
  }
}
.mod-li-decimal > li::before {
  position: absolute;
  top: 0;
  left: -22px;
  content: counter(count) ".";
  counter-increment: count 1;
}

/*
* メンバーリスト
*----------------------------- */
.mod-memberList {
  width: 100%;
  max-width: 1257px;
  padding: 59px 36px 66px;
  background-color: #fff;
  border-radius: 20px;
}
@media only screen and (max-width: 614px) {
  .mod-memberList {
    padding-top: 35px;
    padding-bottom: 41px;
    border-radius: 10px;
  }
}
.mod-memberList-3col {
  width: 994px;
}
.mod-memberList-3col .mod-memberList_title {
  width: 85.5%;
}
.mod-memberList_inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, 230px);
  gap: 20px 37px;
  justify-content: center;
  width: 100%;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_inner {
    gap: 24px 37px;
  }
}
.mod-memberList_title {
  width: 66.5%;
  padding-bottom: 6px;
  margin: 0 auto 40px;
  font-family: "Montserrat", sans-serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1;
  color: #0e3b73;
  text-align: center;
  border-bottom: 1px solid #d9d9d9;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_title {
    width: 95%;
    margin-bottom: 19px;
    font-size: 20px;
  }
}
.mod-memberList_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mod-memberList_img {
  width: 139px;
  height: 139px;
  margin-bottom: 5px;
  object-fit: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_img {
    margin-bottom: 0;
  }
}
.mod-memberList_info {
  margin-bottom: 1px;
  font-size: 15px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.4666666667;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_info {
    margin-bottom: 4px;
    font-size: 14px;
  }
}
.mod-memberList_name {
  display: flex;
  align-items: center;
  font-size: 22px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_name {
    font-size: 18px;
    line-height: 1;
  }
}
.mod-memberList_name span {
  font-size: 15px;
  font-weight: 500;
}
@media only screen and (max-width: 614px) {
  .mod-memberList_name span {
    padding-left: 1px;
    font-size: 14px;
    line-height: 1;
  }
}

/* Link */
/*
* リンクバナー
*----------------------------- */
/* 01 */
.mod-linkBanner-01 {
  width: 994px;
  max-width: 100%;
  padding: 34px 28px 24px;
  margin: 0 auto;
  text-align: center;
  border: 5px solid #87ceeb;
  border-radius: 15px;
}
@media only screen and (max-width: 614px) {
  .mod-linkBanner-01 {
    padding: 21px 28px 19px;
  }
}
.mod-linkBanner-01_title {
  margin-bottom: 7px;
  font-size: 26px;
  font-weight: 700;
  color: #147de1;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.3846153846;
}
@media only screen and (max-width: 614px) {
  .mod-linkBanner-01_title {
    margin-bottom: 9px;
    font-size: 22px;
  }
}
.mod-linkBanner-01_txt {
  margin-bottom: 12px;
}
@media only screen and (max-width: 614px) {
  .mod-linkBanner-01_txt {
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8125;
  }
}
@media only screen and (max-width: 379px) {
  .mod-linkBanner-01_txt {
    margin-bottom: 15px;
    text-align: left;
  }
}
.mod-linkBanner-01_banner:hover {
  opacity: 0.7;
  transition: 0.3s ease-out;
}

/* Large Block */
/*
* RECRUIT ブロック
*----------------------------- */
.mod-recruitBlock {
  position: relative;
  padding-top: 3px;
  padding-bottom: 190px;
  background: transparent linear-gradient(270deg, #baf2ff 0%, #cef9ff 25%, #d8fcff 67%, #edfeff 100%) 0% 0% no-repeat padding-box;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock {
    padding-top: 33px;
    padding-bottom: 78px;
  }
}
.mod-recruitBlock .top-hl-01 {
  margin-bottom: 65px;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock .top-hl-01 {
    margin-bottom: 22px;
  }
}
.mod-recruitBlock_bgTop {
  position: absolute;
  top: -92px;
  width: 100%;
  height: 92px;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_bgTop {
    top: -23px;
    height: 24px;
  }
}
.mod-recruitBlock_mascot {
  position: absolute;
  top: -10.8vw;
  left: 50%;
  width: clamp(140px, 13.2142857143vw, 185px);
  transform: translateX(calc(-50% + min(35vw, 344.5px)));
}
@media only screen and (min-width: 1416px) {
  .mod-recruitBlock_mascot {
    top: -160px;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-recruitBlock_mascot {
    top: -13vw;
  }
}
@media only screen and (max-width: 814px) {
  .mod-recruitBlock_mascot {
    top: -16vw;
  }
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_mascot {
    top: -11vw;
    width: clamp(94px, 13.2142857143vw, 185px);
    transform: translateX(calc(-50% + min(31.5vw, 344.5px)));
  }
}
@media only screen and (max-width: 379px) {
  .mod-recruitBlock_mascot {
    top: -60px;
  }
}
.mod-recruitBlock_inner {
  width: 1066px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto;
}
.mod-recruitBlock_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  justify-content: center;
  margin-bottom: 13px;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_btns {
    gap: 14.3px;
    margin-bottom: 17px;
  }
}
.mod-recruitBlock_link {
  position: relative;
  display: block;
  width: fit-content;
  padding-right: 34px;
  margin: 0 0 0 auto;
  font-size: 15px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_link {
    padding-right: 29px;
  }
}
.mod-recruitBlock_link::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 26px;
  height: 26px;
  content: "";
  background: url("../img/icons/icon_circle_arrow_link_01.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 1px));
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_link::after {
    right: 1px;
    width: 20px;
    height: 20px;
    background: url("../img/icons/icon_circle_arrow_link_01_sp.svg");
  }
}
.mod-recruitBlock_link:hover::after {
  background: url("../img/icons/icon_circle_arrow_link_01_hover.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 614px) {
  .mod-recruitBlock_link:hover::after {
    background: url("../img/icons/icon_circle_arrow_link_01_sp.svg");
  }
}

/* KV */
/*
* KV（キービジュアル）
*----------------------------- */
/* フェードイン */
@keyframes kvFadeIn {
  to {
    opacity: 1;
  }
}
/* 背景をピクセル幅ぶん左へ移動 → 0 に戻って無限ループ */
@keyframes kvScrollLoop {
  from {
    transform: translateX(var(--scroll-start-x));
  }
  to {
    transform: translateX(calc(-1 * var(--kv-bg-width) + var(--scroll-start-x)));
  }
}
/* マスコット上下 */
@keyframes kvBounce {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(30px);
  }
}
.mod-kv {
  /* ===== アニメーション変数 ===== */
  --fade-delay: 0.3s;
  --fade-dur: 1.5s;
  --scroll-dur: 85s; /* 背景が1周する時間 */
  --bounce-dur: 5s;
  --scroll-start-x: -96px; /* スクロール開始位置調整用 */
  /* 背景画像の元サイズ（高さ・幅）を変数化 */
  --kv-bg-height: 466px;
  --kv-bg-width: calc(var(--kv-bg-height) * 4550 / 466);
  position: relative;
  padding-top: 147px;
  padding-bottom: 259px;
  overflow: hidden;
  /* ===== 背景トラック（無限ループ） ===== */
  /* ===== キャッチコピー ===== */
  /* ===== マスコット ===== */
}
@media only screen and (max-width: 814px) {
  .mod-kv {
    padding-top: 139px;
    padding-bottom: 220px;
    /* スクロール開始位置調整用 */
    --scroll-start-x: -100px;
    /* モバイル時の高さを vw で指定し、幅を再計算 */
    --scroll-dur: 65s;
    --kv-bg-height: 72.2vw;
    --kv-bg-width: calc(var(--kv-bg-height) * 4550 / 466);
  }
}
@media only screen and (max-width: 614px) {
  .mod-kv {
    --scroll-dur: 60s;
    padding-bottom: 147px;
  }
}
.mod-kv_inner {
  position: relative;
  height: 466px;
}
@media only screen and (max-width: 814px) {
  .mod-kv_inner {
    height: 72.2vw;
  }
}
.mod-kv_bgTrack {
  position: absolute;
  inset: 0;
  display: flex;
  opacity: 0;
  transform: translateX(var(--scroll-start-x));
  animation: kvFadeIn var(--fade-dur) ease-out var(--fade-delay) forwards, kvScrollLoop var(--scroll-dur) linear calc(var(--fade-delay) + var(--fade-dur)) infinite;
  will-change: transform;
}
.mod-kv_bg {
  flex: 0 0 auto;
  width: var(--kv-bg-width); /* 画像実寸 (×2 枚並べる) */
  max-width: none;
  height: var(--kv-bg-height);
  aspect-ratio: 4550/466;
  object-fit: contain;
}
@media only screen and (max-width: 814px) {
  .mod-kv_bg {
    width: auto;
    height: 72.2vw;
  }
}
.mod-kv_txtWrap {
  position: absolute;
  top: -63px;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 721px;
  opacity: 0;
  transform: translateX(calc(-50% - 172.5px));
  animation: kvFadeIn var(--fade-dur) ease-out var(--fade-delay) forwards;
}
@media only screen and (max-width: 1214px) {
  .mod-kv_txtWrap {
    left: 60px;
    transform: initial;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-kv_txtWrap {
    width: 70%;
  }
}
@media only screen and (max-width: 814px) {
  .mod-kv_txtWrap {
    top: -13vw;
    left: 58px;
    align-items: flex-start;
    width: 56%;
  }
}
@media only screen and (max-width: 614px) {
  .mod-kv_txtWrap {
    top: -18vw;
  }
}
@media only screen and (max-width: 379px) {
  .mod-kv_txtWrap {
    top: -26.5vw;
  }
}
.mod-kv_titlePic {
  width: 100%;
  aspect-ratio: 721/73;
  margin-bottom: 5px;
}
.mod-kv_titleImg {
  display: inline-block;
}
@media only screen and (max-width: 814px) {
  .mod-kv_titleImg {
    height: auto;
  }
}
.mod-kv_subTitle {
  position: relative;
  padding-left: 71px;
  font-size: 15px;
  font-weight: 500;
  color: #0e3b73;
}
@media only screen and (max-width: 1038px) {
  .mod-kv_subTitle {
    margin-top: 0;
  }
}
@media only screen and (max-width: 814px) {
  .mod-kv_subTitle {
    padding-left: 38px;
    margin-top: 1px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-kv_subTitle {
    font-size: 8px;
  }
}
.mod-kv_subTitle::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 60px;
  height: 1px;
  content: "";
  background: #0e3b73;
  transform: translateY(calc(-50% + 2px));
}
@media only screen and (max-width: 814px) {
  .mod-kv_subTitle::before {
    width: 32px;
    transform: translateY(-50%);
  }
}
.mod-kv_mascot {
  position: absolute;
  right: 24.15%;
  bottom: -71px;
  z-index: 10;
  width: 133px;
  height: 133px;
  opacity: 0;
  animation: kvFadeIn var(--fade-dur) ease-out var(--fade-delay) forwards, kvBounce var(--bounce-dur) ease-in-out calc(var(--fade-delay) + var(--fade-dur)) infinite alternate;
}
@media only screen and (max-width: 814px) {
  .mod-kv_mascot {
    right: 9.4%;
    bottom: -67px;
    width: 25.6vw;
  }
}

/* Card */
/*
* カード型コンポーネント
*----------------------------- */
/* 01 */
.mod-card-01 {
  position: relative;
  display: inline-block;
  width: 479px;
  max-width: 100%;
}
.mod-card-01:hover .mod-card-01_img {
  transform: scale(1.14);
}
.mod-card-01:hover .mod-card-01_title::after {
  background: url("../img/icons/icon_mod_card_hover.svg") no-repeat center center/contain;
}
.mod-card-01::before {
  position: absolute;
  top: 6px;
  left: -6px;
  z-index: -1;
  display: block;
  width: 100%;
  aspect-ratio: 479/336;
  content: "";
  background: transparent linear-gradient(55deg, #6eb4ff 0%, var(--unnamed-color-b9e4ff) 34%, #def4ff 77%, var(--unnamed-color-ffffff) 100%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(55deg, #6eb4ff 0%, #b9e4ff 34%, #def4ff 77%, #fff 100%) 0% 0% no-repeat padding-box;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-card-01::before {
    top: 3px;
    left: -3px;
  }
}
.mod-card-01_imgWrap {
  position: relative;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-card-01_imgWrap {
    margin-bottom: 1px;
  }
}
.mod-card-01_img {
  display: block;
  width: 100%;
  border-radius: 11px;
  transition: 0.3s ease-out;
  transform-origin: 42% 57%;
}
.mod-card-01_txtWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 2px 0;
}
@media only screen and (max-width: 614px) {
  .mod-card-01_txtWrap {
    width: calc(100% + 4px);
    padding-top: 0;
    margin-left: -2px;
  }
}
.mod-card-01_title {
  position: relative;
  font-size: 22px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .mod-card-01_title {
    font-size: 18px;
    line-height: 1.55;
  }
}
.mod-card-01_title::after {
  position: absolute;
  top: 50%;
  right: -36px;
  width: 26px;
  height: 26px;
  content: "";
  background: url("../img/icons/icon_mod_card.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 0px));
}
@media only screen and (max-width: 614px) {
  .mod-card-01_title::after {
    right: -26px;
    width: 20px;
    height: 20px;
    background: url("../img/icons/icon_mod_card_sp.svg") no-repeat center center/contain;
  }
}
.mod-card-01_en {
  padding-top: 6px;
  padding-right: 5px;
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  color: #ffaa5d;
}
@media only screen and (max-width: 614px) {
  .mod-card-01_en {
    padding-top: 3px;
    padding-right: 2px;
    font-size: 20px;
  }
}
.mod-card-01_txt {
  flex-shrink: 0;
  max-width: 100%;
  margin-top: 2px;
  font-size: 15px;
  font-weight: 400;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.7333333333;
}
@media only screen and (max-width: 614px) {
  .mod-card-01_txt {
    margin-top: 4px;
    font-size: 12px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.6666666667;
  }
}

/* 02 */
.mod-card-02 {
  position: relative;
  display: inline-block;
  width: 561px;
  max-width: 100%;
  aspect-ratio: 561/423;
  /* グラデーション背景 */
  /* 画像ラッパー */
  /* 画像本体 */
}
@media only screen and (max-width: 614px) {
  .mod-card-02 {
    position: relative;
    left: -13px;
    width: 330px;
  }
}
.mod-card-02:hover .mod-card-02_img {
  transform: skewX(-11deg) translateX(-50%) scale(1.17);
}
.mod-card-02:hover .mod-card-02_more::after {
  background: url("../img/icons/icon_mod_card_hover.svg") no-repeat center center/contain;
}
.mod-card-02::before {
  position: absolute;
  top: 10px;
  left: -8px;
  z-index: -1;
  width: calc(100% - 64px);
  aspect-ratio: 560/423;
  content: "";
  background: linear-gradient(55deg, #6eb4ff 0%, #b9e4ff 34%, #def4ff 77%, #fff 100%);
  border-radius: 20px 20px 25px 15px;
  transform: skewX(11deg);
}
@media only screen and (max-width: 614px) {
  .mod-card-02::before {
    top: 3px;
    left: -2px;
    border-radius: 10px;
  }
}
.mod-card-02_imgWrap {
  position: relative;
  display: inline-block;
  width: calc(100% - 64px);
  aspect-ratio: 561/423;
  padding-top: 67%;
  overflow: hidden;
  border-radius: 20px 18px;
  transform: skewX(11deg);
}
@media only screen and (max-width: 614px) {
  .mod-card-02_imgWrap {
    padding-top: 60%;
    border-radius: 8px;
  }
}
.mod-card-02_img {
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: calc(100% + 70px);
  max-width: none;
  height: 100%;
  object-fit: cover;
  transition: 0.3s ease-out;
  transform: skewX(-11deg) translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-card-02_img {
    object-fit: contain;
  }
}
.mod-card-02_content {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 24px 58px 26px 44px;
  color: #333;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_content {
    position: relative;
    left: -19px;
    padding: 6px 30px 19px 0;
  }
}
.mod-card-02_theme {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0 16px 3px 0;
  margin-right: 13px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1;
  color: #52bbff;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_theme {
    padding-right: 11px;
    margin-right: 12px;
    font-size: 10px;
  }
}
.mod-card-02_theme::after {
  position: absolute;
  top: 2px;
  right: 0;
  width: 1px;
  height: 82%;
  content: "";
  background-color: #707070;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_theme::after {
    top: 0;
    height: 86%;
  }
}
.mod-card-02_themeNum {
  margin-top: -3px;
  font-size: 50px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_themeNum {
    font-size: 42px;
  }
}
.mod-card-02_titleWrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_titleWrap {
    padding-top: 2px;
  }
}
.mod-card-02_title {
  margin-bottom: 4px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_title {
    margin-bottom: 3px;
    font-size: 18px;
  }
}
.mod-card-02_subtitle {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #363636;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_subtitle {
    font-size: 12px;
  }
}
.mod-card-02_more {
  position: relative;
  display: flex;
  flex-grow: 1;
  align-items: flex-end;
  justify-content: flex-end;
  height: 100%;
  padding-right: 33px;
  margin: auto 0 9px;
  font-size: 15px;
  font-weight: 700;
  color: #363636;
}
@media only screen and (max-width: 614px) {
  .mod-card-02_more {
    position: absolute;
    right: 21px;
    bottom: 0;
    height: auto;
  }
}
.mod-card-02_more::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 26px;
  content: "";
  background: url("../img/icons/icon_mod_card.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 1px));
}
@media only screen and (max-width: 614px) {
  .mod-card-02_more::after {
    right: 7px;
    width: 20px;
    height: 20px;
    background: url("../img/icons/icon_mod_card_sp.svg") no-repeat center center/contain;
    transform: translateY(-50%);
  }
}

/* 03 */
.mod-card-03 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mod-card-03:hover .mod-card-03_img {
  transform: scale(1.1);
}
.mod-card-03:hover .mod-card-03_txt::after {
  background: url("../img/icons/icon_mod_card_hover.svg") no-repeat center center/contain;
}
.mod-card-03_imgWrap {
  width: 100%;
  aspect-ratio: 479/278;
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-card-03_imgWrap {
    margin-bottom: 7px;
  }
}
.mod-card-03_img {
  border-radius: 10px;
  transition: 0.3s ease-out;
}
.mod-card-03_txt {
  position: relative;
  display: block;
  width: fit-content;
  padding-right: 40px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 614px) {
  .mod-card-03_txt {
    padding-right: 30px;
    font-size: 15px;
  }
}
.mod-card-03_txt::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 26px;
  content: "";
  background: url("../img/icons/icon_mod_card.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(calc(-50% + 1px));
}
@media only screen and (max-width: 614px) {
  .mod-card-03_txt::after {
    width: 20px;
    height: 20px;
    background: url("../img/icons/icon_mod_card_sp.svg") no-repeat center center/contain;
    transform: translateY(-50%);
  }
}

/* 04 */
.mod-card-04 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  /* グラデーション背景 */
}
.mod-card-04:hover .mod-card-04_img {
  transform: scale(1.29);
}
.mod-card-04:hover .mod-card-04_tag {
  background-color: #0e3b73;
}
.mod-card-04::before {
  position: absolute;
  top: 6px;
  left: 50%;
  z-index: 1;
  display: inline-block;
  width: 275px;
  max-width: 100%;
  aspect-ratio: 1/1;
  content: "";
  background: linear-gradient(55deg, #6eb4ff 0%, #b9e4ff 34%, #def4ff 77%, #fff 100%);
  border-radius: 50%;
  transform: translateX(-50%);
}
.mod-card-04_imgWrap {
  position: relative;
  z-index: 2;
  display: inline-block;
  width: 275px;
  max-width: 100%;
  aspect-ratio: 1/1;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_imgWrap {
    margin-bottom: 13px;
  }
}
.mod-card-04_img {
  width: 100%;
  height: 100%;
  transition: 0.3s ease-out;
  transform-origin: 50% 17%;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_img {
    object-position: top;
  }
}
.mod-card-04_tag {
  display: inline-block;
  min-width: 122px;
  padding: 3.9px 10px;
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background-color: #147de1;
  border-radius: 10px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_tag {
    margin-bottom: 4px;
  }
}
.mod-card-04_title {
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.4545454545;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_title {
    width: calc(100% + 10px);
    max-width: none;
    margin-bottom: 1px;
    font-size: 18px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5;
  }
}
.mod-card-04_info {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  font-weight: 400;
  line-height: 1;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_info {
    font-size: 12px;
  }
}
.mod-card-04_info span {
  padding-right: 20px;
  font-size: 20px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .mod-card-04_info span {
    position: relative;
    top: -1px;
    padding-right: 10px;
    font-size: 16px;
    line-height: 1;
  }
}

/* 05 */
.mod-card-05 {
  min-width: 302px;
  max-width: 100%;
}
.mod-card-05_img {
  aspect-ratio: 326/190;
  margin-bottom: 11px;
  border-radius: 10px;
}
@media only screen and (max-width: 814px) {
  .mod-card-05_img {
    display: block;
    margin: 0 auto 11px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-card-05_img {
    aspect-ratio: 302/190;
    margin-bottom: 13px;
  }
}
.mod-card-05_title {
  margin-bottom: 8px;
  font-size: 23px;
  font-weight: 700;
  color: #0e3b73;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5652173913;
}
@media only screen and (max-width: 614px) {
  .mod-card-05_title {
    margin-bottom: 9px;
    font-size: 18px;
  }
}
.mod-card-05_txt {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-card-05_txt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}

/* 06 */
.mod-card-06 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 36px 38px 32px;
  background-color: #f4f6f7;
  border-radius: 20px;
  box-shadow: 8px 8px 0 #b9e4ff;
}
@media only screen and (max-width: 614px) {
  .mod-card-06 {
    padding: 33px 38px 32px;
    border-radius: 14px;
    box-shadow: 3px 3px 0 #b9e4ff;
  }
}
.mod-card-06_img {
  width: 250px;
  aspect-ratio: 1/1;
  margin-bottom: 2px;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-card-06_img {
    width: 225px;
  }
}
.mod-card-06_tag {
  width: 100%;
  margin-bottom: 1px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #ff9638;
}
@media only screen and (max-width: 614px) {
  .mod-card-06_tag {
    padding-left: 2px;
    margin-bottom: 4px;
    font-size: 14px;
  }
}
.mod-card-06_tag span {
  padding-left: 4px;
  font-size: 28px;
  line-height: 16px;
}
@media only screen and (max-width: 614px) {
  .mod-card-06_tag span {
    font-size: 25px;
  }
}
.mod-card-06_title {
  width: 100%;
  padding-bottom: 5px;
  margin-bottom: 8px;
  font-size: 23px;
  font-weight: 700;
  color: #0e3b73;
  border-bottom: 1px solid #ffaa5d;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5652173913;
}
@media only screen and (max-width: 614px) {
  .mod-card-06_title {
    padding-left: 1px;
    font-size: 18px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5555555556;
  }
}
.mod-card-06_txt {
  font-size: 15px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.7333333333;
}
@media only screen and (max-width: 614px) {
  .mod-card-06_txt {
    padding-left: 1px;
  }
}

/* Button */
/*
* ボタン
*----------------------------- */
/* 01 */
.mod-btn-01 {
  position: relative;
  display: inline-block;
  min-width: 260px;
  min-height: 55px;
  padding: 13px 65px 12px 30px;
  font-size: 15px;
  font-weight: 700;
  color: #0e3b73;
  background-color: #6ecaff;
  border-radius: 100px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-btn-01 {
    min-width: 240px;
    min-height: 44px;
    padding: 8px 20px 9px 30px;
    font-size: 15px;
  }
}
.mod-btn-01::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 34px;
  height: 34px;
  content: "";
  background: url("../img/icons/icon_mod_btn_01.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-btn-01::after {
    width: 30px;
    height: 30px;
    background: url("../img/icons/icon_mod_btn_01_sp.svg") no-repeat center center/contain;
  }
}
.mod-btn-01:hover {
  color: #fff;
  background-color: #0e3b73;
}

/* 02 */
.mod-btn-02 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 479px;
  min-height: 92px;
  padding: 9px 15px 9px 32px;
  font-size: 22px;
  font-weight: 700;
  color: #147de1;
  background-color: #fff;
  border: 2px solid #147de1;
  border-radius: 46px;
  transition: 0.3s ease-out;
  /* 枠線のみのボタン（矢印アイコン） */
  /* 背景色ありのボタン（ドキュメントアイコン） */
}
@media only screen and (max-width: 614px) {
  .mod-btn-02 {
    min-width: 302px;
    min-height: auto;
    padding: 5px 15px 6px 27px;
    font-size: 16px;
  }
}
.mod-btn-02:hover {
  color: #fff;
  background-color: #ff9638;
  border-color: #ff9638;
}
.mod-btn-02::before {
  position: relative;
  left: -15px;
  display: block;
  width: 54px;
  height: 54px;
  content: "";
  border-radius: 50%;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-btn-02::before {
    left: -11px;
    width: 28px;
    height: 28px;
  }
}
.mod-btn-02 > span {
  padding-right: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-btn-02 > span {
    padding-right: 7px;
  }
}
.mod-btn-02-external::before {
  background: url("../img/icons/icon_circle_arrow_external_02.png") no-repeat center center/contain;
}
.mod-btn-02-external:hover::before {
  background: url("../img/icons/icon_circle_arrow_external_02_accent.png") no-repeat center center/contain;
}
.mod-btn-02-document::before {
  top: 2px;
  left: -12px;
  background: url("../img/icons/icon_circle_document_03.png") no-repeat center center/contain;
}
@media only screen and (max-width: 614px) {
  .mod-btn-02-document::before {
    top: 0;
    left: -9px;
  }
}
.mod-btn-02-document:hover::before {
  background: url("../img/icons/icon_circle_document_03_accent.png") no-repeat center center/contain;
}
.mod-btn-02-filled {
  padding: 7px 15px 9px 32px;
  color: #fff;
  background-color: #147de1;
  border-color: #147de1;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media only screen and (max-width: 614px) {
  .mod-btn-02-filled {
    padding: 6px 15px 5px 23px;
  }
}
.mod-btn-02-filled:hover {
  background-color: #ff9638;
  border-color: #ff9638;
}

.mod-btn-03 {
  position: relative;
  display: inline-block;
  min-width: 260px;
  min-height: 55px;
  padding: 12px 65px 12px 29px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background-color: #ff9638;
  border: 2px solid #ff9638;
  border-radius: 100px;
  transition: 0.3s ease-out;
  text-align: center;
}
@media only screen and (max-width: 614px) {
  .mod-btn-03 {
    min-width: 260px;
    min-height: 44px;
    padding: 10px 20px 13px 29px;
    font-size: 15px;
  }
}
.mod-btn-03::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 34px;
  height: 34px;
  content: "";
  background: url("../img/icons/icon_circle_arrow_external_03.svg") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-btn-03::after {
    right: 18px;
  }
}
.mod-btn-03:hover {
  color: #ff9638;
  background-color: #fff;
}
.mod-btn-03:hover::after {
  background-image: url("../img/icons/icon_circle_arrow_external_03_accent.svg");
}

/*
* フローティングボタン
* 画面右側に固定表示される募集要項ボタン
* モバイル表示では画面下部に表示
*----------------------------- */
.mod-flowBtn {
  position: fixed;
  top: 293px;
  right: 20px;
  z-index: 80;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 62px;
  min-height: 253px;
  padding-top: 57px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  background-color: #ff9638;
  border: 1px solid transparent;
  border-radius: 31px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  writing-mode: vertical-rl;
  transition: 0.3s ease-out;
  text-orientation: upright;
}
@media only screen and (max-width: 614px) {
  .mod-flowBtn {
    top: auto;
    right: 50%;
    bottom: 20px;
    width: 302px;
    height: 44px;
    min-height: 44px;
    padding: 0 0 0 96px;
    font-size: 16px;
    letter-spacing: 0;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    writing-mode: horizontal-tb;
    transform: translateX(calc(50% - 1px));
    text-orientation: mixed;
  }
}
.mod-flowBtn::before {
  position: absolute;
  top: 9px;
  left: 50%;
  width: 42px;
  height: 42px;
  content: "";
  background: url("../img/common/flow_btn_icon.png") no-repeat center center/contain;
  transition: 0.3s ease-out;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-flowBtn::before {
    top: 50%;
    left: 60px;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 379px) {
  .mod-flowBtn::before {
    background: url("../img/common/flow_btn_icon.svg") no-repeat center center/contain;
  }
}
.mod-flowBtn:hover {
  background-color: #147de1;
}
.mod-flowBtn:hover::before {
  background: url("../img/common/flow_btn_icon_hover.png") no-repeat center center/contain;
}

/*
* ハンバーガーメニューのボタン
*----------------------------- */
.mod-hamburger {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 46.2px;
  height: 46.2px;
  padding: 0;
  cursor: pointer;
  border: 1px solid #aaa;
  border-radius: 50%;
}
@media only screen and (max-width: 1174px) {
  .mod-hamburger {
    display: flex;
    transform: translateY(1px);
  }
}
@media only screen and (max-width: 814px) {
  .mod-hamburger {
    width: 42px;
    height: 42px;
    transform: translateY(0);
  }
}
.mod-hamburger:focus {
  outline: none;
}
.mod-hamburger.active {
  background-color: #149be6;
  border-color: #149be6;
}
.mod-hamburger.active .mod-hamburger_line {
  background-color: #fff;
}
.mod-hamburger.active .mod-hamburger_line:nth-child(1) {
  transform: rotate(45deg);
}
.mod-hamburger.active .mod-hamburger_line:nth-child(2) {
  opacity: 0;
}
.mod-hamburger.active .mod-hamburger_line:nth-child(3) {
  transform: rotate(-45deg);
}
.mod-hamburger_line {
  position: absolute;
  width: 24.2px;
  height: 1px;
  background-color: #aaa;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 814px) {
  .mod-hamburger_line {
    width: 22px;
  }
}
.mod-hamburger_line:nth-child(1) {
  transform: translateY(-6px);
}
.mod-hamburger_line:nth-child(3) {
  transform: translateY(6px);
}

/*
* トップへ戻るボタン
*----------------------------- */
.mod-backTop {
  position: fixed;
  right: 27px;
  bottom: 82px;
  z-index: 50;
  width: 47px;
  height: 47px;
  background: url("../img/common/back_top_icon.svg") no-repeat center center/contain;
  border-radius: 50%;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-backTop {
    right: 17px;
    width: 42px;
    height: 42px;
    transition: unset;
  }
}
@media (hover: hover) and (pointer: fine) {
  .mod-backTop:hover {
    background: url("../img/common/back_top_icon_hover.svg") no-repeat center center/contain;
  }
}

/* Form */
/*
* FORM
*---------------------------- */
.mod-form-01 {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  background-color: #fff;
}
.mod-form-01_inner {
  padding: 0;
}
.mod-form-01_table {
  width: 100%;
  margin-bottom: 99px;
  border-collapse: collapse;
  border: none;
  border-top: 1px solid #888;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_table {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-form-01_table {
    margin-bottom: 1px;
    border-top: 2px solid #888;
  }
}
.mod-form-01_group {
  height: 98px;
  border-bottom: 1px solid #888;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: auto;
  }
}
@media only screen and (max-width: 614px) {
  .mod-form-01_group:last-of-type {
    border-bottom: none;
  }
}
.mod-form-01_label {
  width: 290px;
  min-width: 290px;
  padding: 32px 20px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0e3b73;
  letter-spacing: 0.05em;
  vertical-align: top;
  background-color: #e2f0f4;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_label {
    width: 100%;
    padding: 22px 20px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-form-01_label {
    padding: 12px 10px;
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 2;
  }
}
.mod-form-01_required {
  position: relative;
  top: -2px;
  display: inline-block;
  padding: 3px;
  margin-left: 1px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: #ff6c00;
  border-radius: 3px;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_required {
    top: 0;
    margin-left: 4px;
    background-color: #ff9638;
  }
}
.mod-form-01_input {
  padding: 22px 20px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  vertical-align: top;
  background-color: #fff;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_input {
    width: 100%;
  }
}
@media only screen and (max-width: 614px) {
  .mod-form-01_input {
    padding: 20px 10px;
  }
}
.mod-form-01_input.mod-textarea {
  padding: 0 20px;
}
.mod-form-01_input-nameRow input {
  width: 200px;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_input-nameRow input {
    width: 100%;
  }
}
.mod-form-01_input-companyRow input {
  width: 600px;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_input-companyRow input {
    width: 100%;
  }
}
.mod-form-01_input-emailRow input {
  width: 100%;
}
.mod-form-01_input-emailRow input::placeholder {
  letter-spacing: 0.073em !important;
}
.mod-form-01_input-selectRow {
  display: flex;
  align-items: center;
  padding-top: 23px;
}
@media only screen and (max-width: 379px) {
  .mod-form-01_input-selectRow {
    padding-top: 20px;
  }
}
.mod-form-01_input-selectRow .mod-form-01_selectBox {
  width: 340px;
}
@media only screen and (max-width: 379px) {
  .mod-form-01_input-selectRow .mod-form-01_selectBox {
    width: 100%;
  }
}
.mod-form-01_input-birthdateRow .mod-form-01_selectBox {
  width: 180px;
}
.mod-form-01_input-textareaRow {
  padding-bottom: 14px;
}
.mod-form-01_input-textareaRow .mod-form-01_textarea {
  width: calc(100% - 70px);
}
@media only screen and (max-width: 1214px) {
  .mod-form-01_input-textareaRow .mod-form-01_textarea {
    width: 100%;
  }
}
.mod-form-01_nameGroup {
  display: flex;
  gap: 10px;
}
@media only screen and (max-width: 379px) {
  .mod-form-01_nameGroup {
    flex-direction: column;
  }
}
.mod-form-01_input-01 input {
  max-width: 100%;
  height: 52px;
  padding: 12px 9px;
  font-size: 14px;
  background-color: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 0;
}
@media only screen and (max-width: 1038px) {
  .mod-form-01_input-01 input {
    max-width: 600px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-form-01_input-01 input {
    height: 50px;
  }
}
.mod-form-01_input-01 input::placeholder {
  position: relative;
  top: 2px;
  font-size: 18px;
  font-weight: 500;
  color: #888;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_input-01 input::placeholder {
    top: 0;
    font-size: 15px;
  }
}
.mod-form-01_selectBox {
  position: relative;
}
.mod-form-01_selectBox::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 30px;
  height: 50px;
  pointer-events: none;
  content: "";
  background-image: url("../img/icons/icon_select_box.svg");
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .mod-form-01_selectBox::after {
    width: 18px;
    background: url("../img/icons/icon_select_box_sp.svg") no-repeat center center/contain;
  }
}
.mod-form-01_selectBox select {
  width: 100%;
  padding: 1px 50px 0 19px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: normal;
  font-weight: 400;
  line-height: 47px;
  appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 0;
}
.mod-form-01_selectBox select:focus {
  outline: 2px solid #ff6c00;
  outline-offset: -2px;
}
.mod-form-01_birthdateGroup {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media only screen and (max-width: 814px) {
  .mod-form-01_birthdateGroup {
    flex-direction: column;
    align-items: flex-start;
  }
  .mod-form-01_birthdateGroup .mod-form-01_selectBox {
    width: 100%;
    max-width: 340px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-form-01_birthdateGroup {
    gap: 16px;
  }
}
.mod-form-01_textarea textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 212px;
  padding: 12px 9px 9px;
  font-family: inherit;
  font-size: 14px;
  letter-spacing: 0.05em;
  resize: vertical;
  background-color: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 0;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_textarea textarea {
    min-height: 150px;
  }
}
.mod-form-01_textarea textarea::placeholder {
  font-size: 18px;
  font-weight: 500;
  color: #888;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_textarea textarea::placeholder {
    font-size: 15px;
  }
}
.mod-form-01_privacy {
  position: relative;
  width: 509px;
  max-width: calc(100% - 8px);
  height: 228px;
  padding: 0 20px 15px 33px;
  margin: 0 auto 21px;
  overflow-y: scroll;
  border: 1px solid #808080;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_privacy {
    height: 250px;
  }
}
.mod-form-01_privacy h2 {
  margin: 0.81em 0 1.4em;
  font-size: 18px;
  font-weight: 700;
}
.mod-form-01_privacy h3 {
  margin: 1.75em 0 0.3em;
  font-size: 15px;
  font-weight: 700;
}
.mod-form-01_privacy h3:first-of-type {
  margin-bottom: 0;
}
.mod-form-01_privacy p {
  margin: 1em 0;
  font-size: 15px;
  font-weight: 400;
}
.mod-form-01_privacy p:first-of-type {
  margin-bottom: 27px;
}
.mod-form-01_privacy .margin-none {
  margin: 0;
}
.mod-form-01_privacy .mod-li-decimal {
  font-size: 15px;
  font-weight: 400;
}
.mod-form-01_agreement {
  margin: 20px 30px 44px;
  text-align: center;
}
.mod-form-01_agreement label {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 400;
}
.mod-form-01_agreement input {
  margin-right: 0;
}
.mod-form-01_agreement a {
  color: #ff9638;
  text-decoration: underline;
  text-decoration-color: #ff9638;
}
.mod-form-01_checkbox {
  display: flex;
  justify-content: center;
}
.mod-form-01_checkbox label {
  display: flex;
  align-items: center;
  letter-spacing: 0;
  cursor: pointer;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
.mod-form-01_checkbox input {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}
.mod-form-01_checkbox span {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  margin-right: 6px;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 1px;
}
.mod-form-01_checkbox input:checked + span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  color: #fff;
  content: "✓";
  transform: translate(-50%, -50%);
}
.mod-form-01_checkbox input:checked + span {
  background-color: #ff9638;
}
.mod-form-01_submit {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_submit {
    flex-direction: column;
    max-width: 260px;
    margin: 0 auto;
  }
}
.mod-form-01_submit .backBtn {
  background-color: #a4a4a4;
  border: 2px solid #a4a4a4;
  padding: 12px 29px 12px 65px;
}
@media only screen and (max-width: 614px) {
  .mod-form-01_submit .backBtn {
    padding: 10px 29px 13px 20px;
  }
}
.mod-form-01_submit .backBtn::after {
  background: url(../img/icons/icon_circle_arrow_external_04.svg) no-repeat center center/contain;
  left: 18px;
  right: unset;
}
.mod-form-01_submit .backBtn:hover {
  color: #a4a4a4;
  background-color: #fff;
}
.mod-form-01_submit .backBtn:hover::after {
  background: url(../img/icons/icon_circle_arrow_external_04_hover.svg) no-repeat center center/contain;
}

/* Others */
/*
* FAQ
*----------------------------- */
.mod-faq {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
  /* ─ 質問ボタン ─ */
  /* Q 番号 */
  /* ＋／− アイコン */
  /* ─ 回答 ─ */
}
.mod-faq_item + .mod-faq_item {
  margin-top: 13.3px;
}
@media only screen and (max-width: 614px) {
  .mod-faq_item + .mod-faq_item {
    margin-top: 10.7px;
  }
}
.mod-faq_question {
  all: unset;
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 80px;
  padding: 33px 60px 33px 119px;
  font-size: 18px;
  font-weight: 700;
  color: #0e3b73;
  cursor: pointer;
  background: #e2f0f4;
  border-radius: 10px;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-faq_question {
    padding: 13px 60px 12px 74px;
    font-size: 17px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.6470588235;
  }
}
.mod-faq_question.is-opened, .mod-faq_question[aria-expanded=true] {
  background: #6ecaff;
  border-radius: 10px 10px 0 0;
}
.mod-faq_question.is-opened .mod-faq_qNumber, .mod-faq_question[aria-expanded=true] .mod-faq_qNumber {
  background: #fff;
}
.mod-faq_qNumber {
  position: absolute;
  top: 50%;
  left: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding-top: 1px;
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #0e3b73;
  background: #6ecaff;
  border-radius: 50%;
  transform: translateY(calc(-50% + 1px));
}
@media only screen and (max-width: 614px) {
  .mod-faq_qNumber {
    left: 20px;
    width: 35px;
    height: 35px;
    font-size: 15px;
    transform: translateY(-50%);
  }
}
.mod-faq_icon::before, .mod-faq_icon::after {
  position: absolute;
  top: 50%;
  right: 35px;
  width: 15px;
  height: 2px;
  content: "";
  background: #0e3b73;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .mod-faq_icon::before, .mod-faq_icon::after {
    right: 21px;
    width: 12px;
  }
}
.mod-faq_icon::before {
  transform: translateY(-50%) rotate(0deg);
}
.mod-faq_icon::after {
  transform: translateY(-50%) rotate(90deg);
}
.mod-faq_question.is-opened .mod-faq_icon::after, .mod-faq_question[aria-expanded=true] .mod-faq_icon::after {
  transform: translateY(-50%) rotate(0deg);
}
.mod-faq_answer {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 80px;
  padding: 20px 27px 20px 117px;
  font-weight: 500;
  background: #e2f0f4;
  border-radius: 0 0 10px 10px;
}
@media only screen and (max-width: 614px) {
  .mod-faq_answer {
    padding: 18px 15px 16px 82px;
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.mod-faq_answer a {
  position: relative;
  color: #147de1;
}
.mod-faq_answer a::after {
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #147de1;
  transform: translateX(-50%);
}
.mod-faq_aNumber {
  position: absolute;
  top: 25px;
  left: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding-top: 1px;
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  background: #6ecaff;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-faq_aNumber {
    top: 50%;
    left: 20px;
    width: 35px;
    height: 35px;
    font-size: 15px;
    transform: translateY(-50%);
  }
}

/*
* Q&A
*----------------------------- */
.mod-qa {
  display: flex;
  flex-direction: column;
  gap: 50.5px;
}
@media only screen and (max-width: 614px) {
  .mod-qa {
    gap: 21.7px;
  }
}
.mod-qa_imgWrap {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
}
.mod-qa_img {
  display: inline-block;
  width: 120px;
  height: 120px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media only screen and (max-width: 814px) {
  .mod-qa_img {
    width: 90px;
    height: 90px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-qa_img {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-qa_img {
    width: 56px;
    height: 56px;
  }
}
.mod-qa_imgTxt {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .mod-qa_imgTxt {
    position: relative;
    top: -3px;
    font-size: 14px;
    font-weight: 500;
  }
}
.mod-qa_question, .mod-qa_answer {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 614px) {
  .mod-qa_question, .mod-qa_answer {
    gap: 20px;
  }
}
.mod-qa_question .mod-qa_img {
  padding: 10px;
  background-color: #f5e674;
}
@media only screen and (max-width: 614px) {
  .mod-qa_question .mod-qa_img {
    padding: 5px;
  }
}
.mod-qa_questionBubble, .mod-qa_answerBubble {
  position: relative;
  display: flex;
  flex-shrink: 1;
  align-items: flex-start;
  width: 815px;
  max-width: 100%;
  background-color: #fff;
  border-radius: 40px;
}
@media only screen and (max-width: 1214px) {
  .mod-qa_questionBubble, .mod-qa_answerBubble {
    width: 80%;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-qa_questionBubble, .mod-qa_answerBubble {
    width: 79%;
  }
}
@media only screen and (max-width: 814px) {
  .mod-qa_questionBubble, .mod-qa_answerBubble {
    width: 76%;
    border-radius: 14px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionBubble, .mod-qa_answerBubble {
    width: 77.2%;
  }
}
.mod-qa_questionBubble {
  gap: 13px;
  padding: 45px 42px 44px;
}
@media only screen and (max-width: 814px) {
  .mod-qa_questionBubble {
    padding: 30px 29px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionBubble {
    gap: 7px;
    align-items: center;
    padding: 15px 16px 17px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-qa_questionBubble {
    padding: 15px 16px 17px 47px;
  }
}
.mod-qa_questionBubble::before {
  position: absolute;
  top: 43px;
  left: -35px;
  width: 35px;
  height: 34px;
  content: "";
  background: url("../img/common/speech_bubble_corner_left.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionBubble::before {
    top: 19px;
    left: -15px;
    width: 15px;
    height: 15px;
  }
}
.mod-qa_answerBubble {
  gap: 16px;
  padding: 41px 42px;
}
@media only screen and (max-width: 814px) {
  .mod-qa_answerBubble {
    padding: 30px 29px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-qa_answerBubble {
    gap: 7px;
    padding: 20px 16px 19px;
  }
}
.mod-qa_answerBubble::after {
  position: absolute;
  top: 53px;
  right: -35px;
  width: 35px;
  height: 34px;
  content: "";
  background: url("../img/common/speech_bubble_corner_right.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 614px) {
  .mod-qa_answerBubble::after {
    top: 19px;
    right: -15px;
    width: 15px;
    height: 15px;
  }
}
.mod-qa_questionLabel, .mod-qa_answerLabel {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-family: "Montserrat", sans-serif;
  font-size: 30px;
  font-weight: 700;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionLabel, .mod-qa_answerLabel {
    width: 24px;
    height: 24px;
    font-size: 14px;
  }
}
.mod-qa_questionLabel {
  position: relative;
  top: -1px;
  color: #e87a18;
  background-color: #ffeb55;
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionLabel {
    margin-top: 1px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-qa_questionLabel {
    position: absolute;
    top: 15px;
    left: 16px;
  }
}
.mod-qa_answerLabel {
  margin-top: 3px;
  color: #147de1;
  background-color: #b9e4ff;
}
@media only screen and (max-width: 614px) {
  .mod-qa_answerLabel {
    margin-top: 2px;
  }
}
.mod-qa_questionTxt {
  padding-top: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #0e3b73;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5;
}
@media only screen and (max-width: 614px) {
  .mod-qa_questionTxt {
    padding-top: 0;
    font-size: 16px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5625;
  }
}
.mod-qa_answerTxt {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-qa_answerTxt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}

/*
* フロー
*----------------------------- */
/* Flow */
.mod-flow_item {
  position: relative;
  display: flex;
  gap: 0 23px;
  padding: 21px 22px 44px;
  margin-bottom: 21.5px;
  background-color: #e2f0f4;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-flow_item {
    gap: 0 15px;
    padding: 26px 18px 41px 10px;
    margin-bottom: 23px;
  }
}
.mod-flow_item:last-child {
  margin-bottom: 0;
}
.mod-flow_item:last-child::after {
  display: none;
}
.mod-flow_item::before {
  position: absolute;
  top: 75px;
  left: 57px;
  z-index: 1;
  width: 3px;
  height: 40%;
  content: "";
  background-color: #147de1;
}
@media only screen and (max-width: 614px) {
  .mod-flow_item::before {
    left: 40px;
    height: calc(100% - 100px);
  }
}
.mod-flow_item::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  content: "";
  border-top: 21px solid #e2f0f4;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  transform: translateX(-50%);
}
.mod-flow_item-short {
  gap: 0 21px;
  align-items: center;
  padding: 21px 22px 16px;
}
@media only screen and (max-width: 614px) {
  .mod-flow_item-short {
    gap: 0 15px;
    padding: 13px 10px 19px;
  }
}
.mod-flow_item-short::before {
  display: none;
}
.mod-flow_item-short .mod-flow_txtWrap {
  padding-top: 11px;
}
@media only screen and (max-width: 614px) {
  .mod-flow_item-short .mod-flow_txtWrap {
    padding-top: 14px;
  }
}
.mod-flow_step {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 73px;
  height: 73px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background-color: #147de1;
  border-radius: 50%;
}
@media only screen and (max-width: 614px) {
  .mod-flow_step {
    width: 63.15px;
    height: 63.15px;
  }
}
.mod-flow_stepTxt {
  position: relative;
  z-index: 2;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .mod-flow_stepTxt {
    font-size: 12px;
  }
}
.mod-flow_stepNum {
  position: relative;
  z-index: 2;
  font-size: 30px;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .mod-flow_stepNum {
    font-size: 25px;
  }
}
.mod-flow_txtWrap {
  padding-top: 7px;
}
@media only screen and (max-width: 614px) {
  .mod-flow_txtWrap {
    padding-top: 5px;
  }
}
.mod-flow_title {
  margin-bottom: 11px;
  font-size: 26px;
  font-weight: 700;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.3846153846;
}
@media only screen and (max-width: 614px) {
  .mod-flow_title {
    margin-bottom: 13px;
    font-size: 22px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.4;
  }
}
.mod-flow_txt {
  font-size: 16px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8125;
}
@media only screen and (max-width: 614px) {
  .mod-flow_txt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8666666667;
  }
}

/*
* Discussion
*----------------------------- */
.mod-discussion {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media only screen and (max-width: 614px) {
  .mod-discussion {
    gap: 23px;
  }
}
.mod-discussion_item {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 1214px) {
  .mod-discussion_item {
    gap: 45px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-discussion_item {
    gap: 22px;
  }
}
.mod-discussion_imgWrap {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
}
.mod-discussion_img {
  display: inline-block;
  width: 139px;
  height: 139px;
  object-fit: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 814px) {
  .mod-discussion_img {
    width: 90px;
    height: 90px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-discussion_img {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-discussion_img {
    width: 56px;
    height: 56px;
  }
}
.mod-discussion_imgTxt {
  margin-top: 1px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .mod-discussion_imgTxt {
    margin-top: -3px;
    font-size: 14px;
  }
}
.mod-discussion_leftBubble, .mod-discussion_rightBubble {
  position: relative;
  display: flex;
  flex-shrink: 0;
  gap: 35px;
  align-items: center;
  width: 788px;
  max-width: 100%;
  min-height: 140px;
  padding: 23px 48px;
  background-color: #fff;
  border-radius: 40px;
}
@media only screen and (max-width: 1214px) {
  .mod-discussion_leftBubble, .mod-discussion_rightBubble {
    flex-grow: 1;
    flex-shrink: 1;
    width: auto;
  }
}
@media only screen and (max-width: 814px) {
  .mod-discussion_leftBubble, .mod-discussion_rightBubble {
    border-radius: 14px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-discussion_leftBubble, .mod-discussion_rightBubble {
    min-height: 69px;
    padding: 22px 25px 22px 29px;
  }
}
.mod-discussion_leftBubble::before {
  position: absolute;
  top: 50%;
  left: -35px;
  width: 35px;
  height: 34px;
  content: "";
  background: url("../img/common/speech_bubble_corner_left.svg") no-repeat center center/contain;
  transform: translateY(-118%);
}
@media only screen and (max-width: 614px) {
  .mod-discussion_leftBubble::before {
    top: 39px;
    left: -15px;
    width: 15px;
    height: 15px;
  }
}
.mod-discussion_rightBubble::after {
  position: absolute;
  top: 50%;
  right: -35px;
  width: 35px;
  height: 34px;
  content: "";
  background: url("../img/common/speech_bubble_corner_right.svg") no-repeat center center/contain;
  transform: translateY(-118%);
}
@media only screen and (max-width: 614px) {
  .mod-discussion_rightBubble::after {
    top: 39px;
    right: -15px;
    width: 15px;
    height: 15px;
  }
}
.mod-discussion_txt {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-discussion_txt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.mod-discussion_centerImgPic {
  position: relative;
  z-index: 1;
  display: block;
  width: 788px;
  max-width: 100%;
  aspect-ratio: 788/360;
  margin: 53px auto;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-discussion_centerImgPic {
    left: 3px;
    width: 88.1%;
    height: auto;
    aspect-ratio: 302/138;
    margin: 0 auto;
  }
}
.mod-discussion_centerImgPic::before {
  position: absolute;
  top: 10px;
  left: -10px;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #b9e4ff;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-discussion_centerImgPic::before {
    top: 4px;
    left: -4px;
    aspect-ratio: 302/138;
  }
}
.mod-discussion_centerImgPic img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}

/*
* SCHEDULE
*----------------------------- */
.mod-schedule-01 {
  position: relative;
  display: flex;
  gap: 26px;
  align-items: flex-start;
  padding: 30px 50px;
  background-color: #fff;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01 {
    gap: 20px;
    padding: 30px 20px 9px;
  }
}
.mod-schedule-01-expand {
  padding-bottom: 22.3px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01-expand {
    padding-bottom: 22px;
  }
}
.mod-schedule-01-expand::before {
  position: absolute;
  top: 86px;
  left: 79px;
  display: inline-block;
  width: 3px;
  height: 99px;
  content: "";
  background-color: #ff9638;
}
@media only screen and (max-width: 1038px) {
  .mod-schedule-01-expand::before {
    height: 65.5%;
  }
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01-expand::before {
    top: 75px;
    left: 43px;
    width: 2px;
    height: calc(100% - 75px - 29px);
  }
}
.mod-schedule-01-expand .mod-schedule-01_head {
  padding-top: 8px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01-expand .mod-schedule-01_head {
    padding-top: 0;
  }
}
.mod-schedule-01::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-color: #fff transparent transparent;
  border-style: solid;
  border-width: 20px 20px 0;
  transform: translateX(-50%);
}
.mod-schedule-01:last-of-type::after {
  display: none;
}
.mod-schedule-01_clockImg {
  width: 60px;
  height: 60px;
  object-fit: contain;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_clockImg {
    width: 48px;
    height: 48px;
  }
}
.mod-schedule-01_content {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (max-width: 1038px) {
  .mod-schedule-01_content {
    flex-direction: column;
  }
}
.mod-schedule-01_txtWrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 451px;
  max-width: 100%;
  margin-right: 16px;
}
@media only screen and (max-width: 1038px) {
  .mod-schedule-01_txtWrap {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_txtWrap {
    margin-bottom: 17px;
  }
}
.mod-schedule-01_head {
  display: flex;
  align-items: center;
  padding-top: 14px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_head {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0;
  }
}
.mod-schedule-01_time {
  flex-shrink: 0;
  width: 96px;
  padding: 7px 0 5px;
  margin-right: 14px;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #ff9638;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_time {
    width: 90px;
    padding: 5px 0 3px;
    margin-bottom: 4px;
    font-size: 17px;
  }
}
.mod-schedule-01_title {
  position: relative;
  top: -1px;
  font-size: 26px;
  font-weight: 700;
  color: #0e3b73;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.3846153846;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_title {
    font-size: 21px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7142857143;
  }
}
.mod-schedule-01_title-spaced {
  letter-spacing: 0.11em;
}
.mod-schedule-01_txt {
  width: 100%;
  padding-top: 9px;
  margin-top: 9px;
  font-size: 15px;
  border-top: 1px solid #ff9638;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.7333333333;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_txt {
    padding-top: 7px;
    margin-top: 4px;
  }
}
.mod-schedule-01_img {
  width: 315px;
  height: 154px;
  object-fit: cover;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-schedule-01_img {
    width: 226px;
    height: 115px;
  }
}

/*
*  TABLE
*---------------------------- */
/* 01 */
.mod-table-01 {
  width: 100%;
  border-top: 1px solid #707070;
}
@media only screen and (max-width: 1038px) {
  .mod-table-01 {
    width: 100%;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-table-01 table,
  .mod-table-01 tr {
    display: block;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-table-01 tr {
    display: flex;
    flex-direction: column;
  }
}
.mod-table-01 th,
.mod-table-01 td {
  padding-top: 26px;
  padding-bottom: 27.3px;
  border-bottom: 1px solid #707070;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8;
}
@media only screen and (max-width: 614px) {
  .mod-table-01 th,
  .mod-table-01 td {
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 2;
  }
}
.mod-table-01 th {
  width: 330px;
  max-width: 100%;
  padding-right: 28px;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 1038px) {
  .mod-table-01 th {
    width: 100%;
    padding-left: 10px;
    border-bottom: none;
  }
}
@media only screen and (max-width: 614px) {
  .mod-table-01 th {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.mod-table-01 td {
  padding-right: 10px;
  padding-left: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
  background-color: #fff;
}
@media only screen and (max-width: 614px) {
  .mod-table-01 td {
    padding-top: 24px;
    padding-bottom: 23px;
    padding-left: 10px;
  }
}
.mod-table-01 td .boxWrap {
  display: flex;
  gap: 32px;
}
@media only screen and (max-width: 1038px) {
  .mod-table-01 td .boxWrap {
    flex-wrap: wrap;
  }
}
.mod-table-01 td .box {
  width: 376px;
  max-width: 100%;
  padding: 20px 31px 11px;
  margin-top: 15px;
  background-color: #f2faff;
}
@media only screen and (max-width: 614px) {
  .mod-table-01 td .box {
    width: 100%;
    padding: 20px 12px 11px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8;
  }
}
.mod-table-01 td .box span {
  display: block;
  margin-bottom: 5px;
}

/*
*  Breadcrumbs
*---------------------------- */
.mod-breadcrumbs {
  padding: 28px 100px 0;
  margin-bottom: 58px;
}
@media only screen and (max-width: 1214px) {
  .mod-breadcrumbs {
    padding: 28px 0 0 16px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-breadcrumbs {
    padding: 20px 0 5px 16px;
    margin-bottom: 44px;
  }
}
.mod-breadcrumbs_list {
  font-size: 14px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8;
}
.mod-breadcrumbs_list > * + *::before {
  width: fit-content;
  margin: 0 4px 0 2px;
  font-size: 14px;
  font-weight: 500;
  color: #147de1;
  content: ">";
}
@media only screen and (max-width: 614px) {
  .mod-breadcrumbs_list > * + *::before {
    margin-right: 2px;
  }
}
.mod-breadcrumbs_item {
  display: inline;
}
.mod-breadcrumbs_link {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  transition: 0.3s ease-out;
}
.mod-breadcrumbs_link span {
  font-size: 14px;
  letter-spacing: 0;
}
.mod-breadcrumbs_link[href]:hover {
  color: #147de1;
}

/*
* フレックスコンテナ
*----------------------------- */
/* 01 */
.mod-flexColumn-01 {
  display: flex;
  gap: 25px;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 1038px) {
  .mod-flexColumn-01 {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-01 {
    gap: 20px;
  }
}
.mod-flexColumn-01_txtWrap {
  flex-shrink: 0;
  width: 582px;
  max-width: 100%;
  padding-top: 1px;
}
@media only screen and (max-width: 1214px) {
  .mod-flexColumn-01_txtWrap {
    width: 60%;
  }
}
@media only screen and (max-width: 1038px) {
  .mod-flexColumn-01_txtWrap {
    order: 2;
    width: 80%;
  }
}
@media only screen and (max-width: 814px) {
  .mod-flexColumn-01_txtWrap {
    width: 100%;
  }
}
.mod-flexColumn-01_imgWrap {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 1038px) {
  .mod-flexColumn-01_imgWrap {
    order: 1;
  }
}
.mod-flexColumn-01_imgWrap img {
  display: block;
  width: 100%;
}
.mod-flexColumn-01_title {
  margin-bottom: 16px;
  font-size: 29px;
  font-weight: 700;
  color: #0e3b73;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5862068966;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-01_title {
    margin-bottom: 12px;
    font-size: 20px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5;
  }
}
.mod-flexColumn-01 p {
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-01 p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}

/* 02 */
.mod-flexColumn-02 {
  display: flex;
  gap: 20px 67px;
  align-items: flex-start;
  justify-content: flex-end;
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1038px) {
  .mod-flexColumn-02 {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-02 {
    gap: 10px;
  }
}
.mod-flexColumn-02_txtWrap {
  display: flex;
  flex-direction: column;
  gap: 23px;
  width: 654px;
  max-width: 100%;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-02_txtWrap {
    gap: 2px;
  }
}
.mod-flexColumn-02_txtWrap p {
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-02_txtWrap p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.mod-flexColumn-02_txtWrap span {
  display: block;
  font-size: 18px;
  font-weight: 700;
  text-align: right;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-02_txtWrap span {
    padding-right: 9px;
    font-size: 16px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 2.25;
  }
}
.mod-flexColumn-02_imgWrap {
  width: 376px;
  max-width: 100%;
  height: 529px;
  padding-top: 3px;
  object-fit: cover;
}
@media only screen and (max-width: 614px) {
  .mod-flexColumn-02_imgWrap {
    height: auto;
  }
}

/* 03（3列） */
/*
* フレックスコンテナ（GRID）
*----------------------------- */
.mod-cardGrid-01,
.mod-cardGrid-02,
.mod-cardGrid-03,
.mod-cardGrid-04,
.mod-cardGrid-05 {
  max-width: 100%;
}

/* 01（３列） */
.mod-cardGrid-01 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 326px), 326px));
  gap: 44px;
  justify-content: center;
}
@media only screen and (max-width: 614px) {
  .mod-cardGrid-01 {
    gap: 27px;
  }
}

/* 02（3列） */
.mod-cardGrid-02 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 326px), 326px));
  gap: 49px 44px;
  justify-content: center;
}
@media only screen and (max-width: 614px) {
  .mod-cardGrid-02 {
    gap: 15px;
  }
}

/* 03（3列） */
.mod-cardGrid-03 {
  display: grid;
  grid-template-columns: repeat(auto-fit, 275px);
  gap: 95px 85px;
  justify-content: center;
}
@media only screen and (max-width: 814px) {
  .mod-cardGrid-03 {
    gap: 50px 85px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-cardGrid-03 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 223px), 223px));
    gap: 29.5px 85px;
  }
}

/* 04（2列） */
.mod-cardGrid-04 {
  position: relative;
  left: 3px;
  display: grid;
  grid-template-columns: repeat(auto-fit, 479px);
  gap: 60px 102px;
  justify-content: center;
}
@media only screen and (max-width: 1038px) {
  .mod-cardGrid-04 {
    left: auto;
  }
}
@media only screen and (max-width: 614px) {
  .mod-cardGrid-04 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 479px), 479px));
    gap: 25px 102px;
  }
}

/* 05（2列・中央寄せ） */
.mod-cardGrid-05 {
  display: grid;
  grid-template-columns: repeat(auto-fit, 561px);
  gap: 60px 50px;
  justify-content: center;
}
@media only screen and (max-width: 614px) {
  .mod-cardGrid-05 {
    grid-template-columns: repeat(auto-fit, 330px);
  }
}

/*
* インタビュー詳細 プロフィール
*----------------------------- */
/* 01 */
.mod-profile-01 {
  padding-top: 36px;
  padding-bottom: 82px;
}
@media only screen and (max-width: 814px) {
  .mod-profile-01 {
    padding-bottom: 70px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-profile-01 {
    padding-top: 15px;
    padding-bottom: 46px;
  }
}
.mod-profile-01_inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 1066px;
  max-width: 100%;
  padding-right: 58px;
  padding-left: 36px;
  margin: 0 auto;
}
@media only screen and (max-width: 814px) {
  .mod-profile-01_inner {
    flex-direction: column-reverse;
    align-items: center;
    padding-right: 36px;
  }
}
.mod-profile-01_txtWrap {
  width: 465px;
  max-width: 100%;
  padding-top: 76px;
}
@media only screen and (max-width: 814px) {
  .mod-profile-01_txtWrap {
    width: fit-content;
    padding-top: 30px;
  }
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_txtWrap {
    padding-top: 16px;
  }
}
@media only screen and (max-width: 379px) {
  .mod-profile-01_txtWrap {
    width: 100%;
  }
}
.mod-profile-01_title {
  margin-bottom: 30px;
  font-size: 29px;
  font-weight: 700;
  color: #0e3b73;
  word-break: break-all;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5862068966;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_title {
    margin-bottom: 12px;
    font-size: 20px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5;
  }
}
.mod-profile-01_nameWrap {
  margin-bottom: 12px;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_nameWrap {
    margin-bottom: 4px;
  }
}
.mod-profile-01_tag {
  display: inline-block;
  min-width: 122px;
  padding: 10px 10px 12px;
  margin-right: 10px;
  font-size: 18px;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #147de1;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_tag {
    min-width: 83px;
    padding: 7px 10px 9px;
    margin-right: 7px;
    font-size: 15px;
    border-radius: 6px;
  }
}
.mod-profile-01_name {
  position: relative;
  top: 2px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_name {
    font-size: 20px;
  }
}
.mod-profile-01_infoTxt {
  font-size: 15px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8666666667;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_infoTxt {
    font-size: 13px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.6153846154;
  }
}
.mod-profile-01_imgWrap {
  position: relative;
  flex-shrink: 0;
  width: 373.6px;
  max-width: 100%;
  aspect-ratio: 1/1;
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_imgWrap {
    width: 71%;
  }
}
.mod-profile-01_imgWrap::before {
  position: absolute;
  top: -28px;
  left: 50%;
  z-index: -1;
  display: inline-block;
  width: 449px;
  height: 361px;
  content: "";
  background: url("../img/sub/interview/profile_bg.svg") no-repeat center center/contain;
  transform: translateX(calc(-50% + 10px));
}
@media only screen and (max-width: 614px) {
  .mod-profile-01_imgWrap::before {
    top: -17px;
    width: 155%;
    height: 93%;
    background: url("../img/sub/interview/profile_bg_sp.svg") no-repeat center center/contain;
    transform: translateX(calc(-50% + 0px));
  }
}
.mod-profile-01_imgWrap::after {
  position: absolute;
  top: 6px;
  z-index: -1;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  content: "";
  background: transparent linear-gradient(55deg, #6eb4ff 0%, var(--unnamed-color-b9e4ff) 34%, #def4ff 77%, var(--unnamed-color-ffffff) 100%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(55deg, #6eb4ff 0%, #b9e4ff 34%, #def4ff 77%, #fff 100%) 0% 0% no-repeat padding-box;
  border-radius: 50%;
}
.mod-profile-01_img {
  display: inline-block;
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}

/* Category styles */
/*
* トップページ
*----------------------------- */
.top .mod-btn-01 {
  display: block;
  width: 260px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .top .mod-btn-01 {
    width: 240px;
  }
}

.top-hl-01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 左寄せ */
}
.top-hl-01_en {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 1px;
  padding-left: 27px;
  margin-bottom: -1px;
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  color: #0e3b73;
}
@media only screen and (max-width: 614px) {
  .top-hl-01_en {
    padding-left: 22px;
    margin-bottom: 1px;
    font-size: 14px;
  }
}
.top-hl-01_en::before {
  position: absolute;
  top: 50%;
  left: -2px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  background: url("../img/icons/icon_top_hl_01.svg") no-repeat center center/contain;
  transform: translateY(-50%);
}
@media only screen and (max-width: 614px) {
  .top-hl-01_en::before {
    left: 0;
    width: 14px;
    height: 14px;
  }
}
.top-hl-01_ja {
  font-size: 40px;
  font-weight: 700;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.25;
}
@media only screen and (max-width: 614px) {
  .top-hl-01_ja {
    font-size: 24px;
  }
}
.top-hl-01-left {
  align-items: flex-start;
}

/*
* MESSAGE - メッセージ
*----------------------------- */
.topMessage {
  position: relative;
  padding-top: 31px;
  padding-bottom: 30px;
  margin-bottom: 100px;
  background: transparent linear-gradient(270deg, #baf2ff 0%, #cef9ff 25%, #d8fcff 67%, #edfeff 100%) 0% 0% no-repeat padding-box;
  /* IMAGES */
  /* TEXT */
}
@media only screen and (max-width: 1038px) {
  .topMessage {
    padding-top: 18%;
  }
}
@media only screen and (max-width: 814px) {
  .topMessage {
    padding-top: 28%;
  }
}
@media only screen and (max-width: 614px) {
  .topMessage {
    padding-bottom: 11px;
    margin-bottom: 91px;
  }
}
.topMessage_imgTop {
  position: absolute;
  top: -162px;
  left: 50%;
  z-index: 1;
  width: 100%;
  max-width: 1400px;
  height: 162px;
  object-fit: cover;
  object-position: top center;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .topMessage_imgTop {
    top: -76px;
    width: 100%;
    min-width: 375px;
    max-width: 500px;
    height: 76px;
  }
}
.topMessage_bgTop {
  position: absolute;
  top: -92px;
  z-index: 2;
  width: 100%;
  height: 92px;
}
@media only screen and (max-width: 614px) {
  .topMessage_bgTop {
    top: -23px;
    height: 24px;
  }
}
.topMessage_smallImgWrap {
  position: absolute;
  top: -59px;
  left: 50%;
  z-index: 3;
  width: 1012px;
  max-width: 100%;
  transform: translateX(-50%);
}
.topMessage_smallImgWrap img {
  position: absolute;
}
.topMessage_smallImgWrap img:first-of-type {
  top: 3px;
  left: -8px;
  width: 3.5714285714vw;
  min-width: 36px;
  max-width: 50px;
}
@media only screen and (max-width: 1214px) {
  .topMessage_smallImgWrap img:first-of-type {
    top: 30px;
    left: 30px;
  }
}
@media only screen and (max-width: 614px) {
  .topMessage_smallImgWrap img:first-of-type {
    top: 6px;
  }
}
.topMessage_smallImgWrap img:nth-of-type(2) {
  top: -17px;
  left: 28.9%;
  width: 3.2142857143vw;
  min-width: 33px;
  max-width: 45px;
}
@media only screen and (max-width: 614px) {
  .topMessage_smallImgWrap img:nth-of-type(2) {
    top: 0%;
    left: 31.3%;
  }
}
.topMessage_smallImgWrap img:nth-of-type(3) {
  top: 24px;
  right: 22.9%;
  width: 2.0714285714vw;
  min-width: 21px;
  max-width: 29px;
}
@media only screen and (max-width: 614px) {
  .topMessage_smallImgWrap img:nth-of-type(3) {
    top: 8px;
    right: 38%;
  }
}
.topMessage_smallImgWrap img:nth-of-type(4) {
  top: 24px;
  right: 8px;
  width: 2.9285714286vw;
  min-width: 30px;
  max-width: 41px;
}
@media only screen and (max-width: 614px) {
  .topMessage_smallImgWrap img:nth-of-type(4) {
    top: 7px;
    right: 38px;
  }
}
.topMessage_imgLeft, .topMessage_imgRight {
  position: absolute;
  left: 50%;
  width: clamp(120px, 17.1428571429vw, 240px);
  height: auto;
}
@media only screen and (max-width: 1038px) {
  .topMessage_imgLeft, .topMessage_imgRight {
    width: clamp(100px, 26.6666666667vw, 170px);
  }
}
.topMessage_imgLeft {
  top: 191px;
  transform: translateX(calc(-50% - min(39vw, 480px)));
}
@media only screen and (max-width: 1038px) {
  .topMessage_imgLeft {
    top: 0;
    transform: translateX(calc(-50% - min(20vw, 800px)));
  }
}
@media only screen and (max-width: 814px) {
  .topMessage_imgLeft {
    top: 18px;
  }
}
@media only screen and (max-width: 614px) {
  .topMessage_imgLeft {
    left: 46px;
    transform: initial;
  }
}
.topMessage_imgRight {
  top: 307px;
  transform: translateX(calc(-50% + min(39vw, 480px)));
}
@media only screen and (max-width: 1038px) {
  .topMessage_imgRight {
    top: 26px;
    transform: translateX(calc(-50% + min(20vw, 800px)));
  }
}
@media only screen and (max-width: 814px) {
  .topMessage_imgRight {
    top: 44px;
  }
}
@media only screen and (max-width: 614px) {
  .topMessage_imgRight {
    right: 47px;
    left: auto;
    transform: initial;
  }
}
.topMessage_imgBtm {
  display: block;
  width: 85.714%;
  min-width: 360px;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .topMessage_imgBtm {
    position: relative;
    left: -1px;
  }
}
.topMessage_bgBtm {
  position: absolute;
  bottom: -92px;
  left: 50%;
  width: 100%;
  height: 92px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .topMessage_bgBtm {
    bottom: -24px;
    height: 24px;
  }
}
.topMessage_mascot {
  position: absolute;
  bottom: -95px;
  left: 50%;
  width: clamp(80px, 13.214%, 185px);
  max-width: 185px;
  transform: translateX(calc(-50% - min(35vw, 349.5px)));
  transform-origin: center;
}
@media only screen and (max-width: 614px) {
  .topMessage_mascot {
    bottom: -30px;
    transform: translateX(calc(-50% - min(35vw, 108px)));
  }
}
@media only screen and (max-width: 379px) {
  .topMessage_mascot {
    bottom: -43px;
  }
}
.topMessage_inner {
  z-index: 4;
  width: 654px;
  max-width: 100%;
  padding: 40px 36px 71px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .topMessage_inner {
    padding: 28px 36px 49px 37px;
  }
}
.topMessage_txt {
  margin-bottom: 47px;
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .topMessage_txt {
    margin-bottom: 27px;
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.topMessage .top-hl-01 {
  margin-bottom: 25px;
}
@media only screen and (max-width: 614px) {
  .topMessage .top-hl-01 {
    margin-bottom: 10px;
  }
}

/*
* WORK - 仕事内容
*----------------------------- */
.topWork {
  width: 1138px;
  max-width: 100%;
  padding: 141px 36px 151px;
  margin: 0 auto;
}
@media only screen and (max-width: 1038px) {
  .topWork {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 614px) {
  .topWork {
    padding: 0 36px 72px 37px;
  }
}
.topWork_titleWrap {
  display: flex;
  gap: 10px 51px;
  align-items: flex-end;
  width: 858px;
  max-width: 100%;
  margin: 0 auto 79px;
}
@media only screen and (max-width: 1038px) {
  .topWork_titleWrap {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 614px) {
  .topWork_titleWrap {
    gap: 8px 0;
    margin-bottom: 27px;
  }
}
.topWork_titleWrap .top-hl-01 {
  position: relative;
  top: -1px;
  flex-shrink: 0;
}
@media only screen and (max-width: 614px) {
  .topWork_titleWrap .top-hl-01 {
    left: 3px;
  }
}
.topWork_titleWrap p {
  padding-top: 1px;
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .topWork_titleWrap p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.topWork_cardList {
  display: flex;
  flex-wrap: wrap;
  gap: 55px 108px;
  justify-content: center;
}
@media only screen and (max-width: 614px) {
  .topWork_cardList {
    gap: 25px;
    padding: 0 1px 0 2px;
  }
}

/*
* INTERVIEW - 社員インタビュー
*----------------------------- */
.topInterview {
  position: relative;
  padding-top: 10px;
  padding-bottom: 30px;
  background: transparent linear-gradient(270deg, #baf2ff 0%, #cef9ff 25%, #d8fcff 67%, #edfeff 100%) 0% 0% no-repeat padding-box;
}
@media only screen and (max-width: 614px) {
  .topInterview {
    padding-top: 32px;
    padding-bottom: 46px;
  }
}
.topInterview .top-hl-01 {
  margin-bottom: 41px;
}
@media only screen and (max-width: 614px) {
  .topInterview .top-hl-01 {
    margin-bottom: 29px;
  }
}
.topInterview_bgTop {
  position: absolute;
  top: -92px;
  width: 100%;
  height: 92px;
}
@media only screen and (max-width: 614px) {
  .topInterview_bgTop {
    top: -24px;
    height: 24px;
  }
}
.topInterview_bgBtm {
  position: absolute;
  bottom: -92px;
  left: 50%;
  width: 100%;
  height: 92px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .topInterview_bgBtm {
    bottom: -24px;
    height: 24px;
  }
}

/*
* CROSS TALK - 座談会
*----------------------------- */
.topCrossTalk {
  position: relative;
  padding-top: 188px;
  padding-bottom: 230px;
}
@media only screen and (max-width: 814px) {
  .topCrossTalk {
    padding-top: 198px;
  }
}
@media only screen and (max-width: 614px) {
  .topCrossTalk {
    padding-top: 102px;
    padding-bottom: 99px;
  }
}
.topCrossTalk_titleWrap {
  display: flex;
  align-items: flex-end;
  width: 1065px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto 75.5px;
}
@media only screen and (max-width: 614px) {
  .topCrossTalk_titleWrap {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 37px;
    margin-bottom: 27px;
  }
}
.topCrossTalk_title {
  flex-shrink: 0;
  margin-right: 47px;
}
@media only screen and (max-width: 614px) {
  .topCrossTalk_title {
    margin-bottom: 10px;
  }
}
.topCrossTalk_txt {
  margin-right: 55px;
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 1038px) {
  .topCrossTalk_txt {
    margin-right: 0;
  }
}
@media only screen and (max-width: 614px) {
  .topCrossTalk_txt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.topCrossTalk_img {
  position: relative;
  bottom: -17px;
}
@media only screen and (max-width: 1038px) {
  .topCrossTalk_img {
    position: absolute;
    top: 70px;
    right: 70px;
    bottom: auto;
  }
}
@media only screen and (max-width: 814px) {
  .topCrossTalk_img {
    top: 60px;
  }
}
@media only screen and (max-width: 614px) {
  .topCrossTalk_img {
    top: 80px;
    right: 86px;
    width: 150px;
  }
}
@media only screen and (max-width: 379px) {
  .topCrossTalk_img {
    right: auto;
    left: 139px;
  }
}
.topCrossTalk_cardList {
  position: relative;
  left: 50px;
  display: flex;
  gap: 0 50px;
  justify-content: center;
  padding-right: 9px;
  margin: 0 auto;
}
@media only screen and (max-width: 1214px) {
  .topCrossTalk_cardList {
    flex-direction: column;
    gap: 27px;
    align-items: center;
  }
}
.topCrossTalk .mod-card-02:nth-of-type(2) {
  position: relative;
  top: 57px;
}
@media only screen and (max-width: 614px) {
  .topCrossTalk .mod-card-02:nth-of-type(2) {
    top: 0;
  }
}
.topCrossTalk .mod-card-02:nth-of-type(2) .mod-card-02_content {
  padding-left: 39px;
}
@media only screen and (max-width: 614px) {
  .topCrossTalk .mod-card-02:nth-of-type(2) .mod-card-02_content {
    padding-left: 0;
  }
}
.topCrossTalk .mod-card-02:nth-of-type(2) .mod-card-02_theme {
  padding-right: 10px;
  margin-right: 14px;
}
@media only screen and (max-width: 614px) {
  .topCrossTalk .mod-card-02:nth-of-type(2) .mod-card-02_theme {
    padding-right: 8px;
    margin-right: 12px;
    margin-left: -5px;
  }
}

/*
* WORK ENVIRONMENTS - 働く環境
*----------------------------- */
.topWorkEnvironments {
  position: relative;
  padding-top: 8px;
  padding-bottom: 30px;
  background: transparent linear-gradient(270deg, #baf2ff 0%, #cef9ff 25%, #d8fcff 67%, #edfeff 100%) 0% 0% no-repeat padding-box;
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments {
    padding-top: 32px;
    padding-bottom: 48px;
  }
}
.topWorkEnvironments_bgTop {
  position: absolute;
  top: -92px;
  width: 100%;
  height: 92px;
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_bgTop {
    top: -24px;
    height: 24px;
  }
}
.topWorkEnvironments_bgBtm {
  position: absolute;
  bottom: -92px;
  left: 50%;
  width: 100%;
  height: 92px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_bgBtm {
    bottom: -24px;
    height: 24px;
  }
}
.topWorkEnvironments_titleWrap {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  width: 932px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto 43px;
}
@media only screen and (max-width: 1038px) {
  .topWorkEnvironments_titleWrap {
    flex-direction: column-reverse;
    align-items: center;
  }
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_titleWrap {
    padding-right: 35px;
    padding-left: 37px;
    margin-bottom: 17px;
    margin-left: -2px;
  }
}
@media only screen and (max-width: 1038px) {
  .topWorkEnvironments_txtWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.topWorkEnvironments_title {
  position: relative;
  left: 1.5px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 1038px) {
  .topWorkEnvironments_title {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_title {
    margin-bottom: 10px;
  }
}
.topWorkEnvironments_txt {
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_txt {
    padding-left: 3px;
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.topWorkEnvironments_img {
  margin-bottom: 6px;
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_img {
    position: absolute;
    top: -50px;
    left: 50%;
    width: 119px;
    transform: translateX(-50%);
  }
}
.topWorkEnvironments_cardList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  width: 932px;
  max-width: 100%;
  padding: 0% 36px;
  margin: 0 auto 50px;
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_cardList {
    gap: 19.8px;
    margin-bottom: 29px;
  }
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_cardList img {
    border-radius: 10px;
  }
}
.topWorkEnvironments_mascot {
  position: absolute;
  right: 50%;
  bottom: -141px;
  z-index: 1;
  width: clamp(130px, 13.2142857143vw, 185px);
  max-width: 185px;
  transform: translateX(calc(50% + min(35vw, 430.5px)));
}
@media only screen and (max-width: 1038px) {
  .topWorkEnvironments_mascot {
    bottom: -100px;
  }
}
@media only screen and (max-width: 614px) {
  .topWorkEnvironments_mascot {
    display: none;
  }
}

/*
* TRAINING - 研修・福利厚生
*----------------------------- */
.topTraining {
  position: relative;
  padding: 201px 0 99px;
}
@media only screen and (max-width: 614px) {
  .topTraining {
    padding-top: 108px;
    padding-bottom: 70px;
  }
}
.topTraining::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 85.7%;
  height: 1px;
  content: "";
  background-color: #c6c6c6;
  transform: translateX(-50%);
}
@media only screen and (max-width: 614px) {
  .topTraining::after {
    width: 92%;
  }
}
.topTraining_titleWrap {
  position: relative;
  left: -14px;
  display: flex;
  gap: 70px;
  align-items: flex-end;
  justify-content: space-between;
  width: 905px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto 43px;
}
@media only screen and (max-width: 1038px) {
  .topTraining_titleWrap {
    left: 0;
  }
}
@media only screen and (max-width: 614px) {
  .topTraining_titleWrap {
    padding-left: 37px;
    margin-bottom: 27px;
  }
}
.topTraining_title {
  position: relative;
  left: 2px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 614px) {
  .topTraining_title {
    left: 0;
    margin-bottom: 11px;
  }
}
.topTraining_txt {
  font-weight: 500;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .topTraining_txt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.topTraining_img {
  margin-bottom: 3px;
}
@media only screen and (max-width: 1038px) {
  .topTraining_img {
    position: absolute;
    top: -100px;
    right: 20px;
  }
}
@media only screen and (max-width: 814px) {
  .topTraining_img {
    top: -12.5vw;
    width: 28.5333333333vw;
  }
}
@media only screen and (max-width: 614px) {
  .topTraining_img {
    top: -15.6vw;
    right: 34px;
  }
}
@media only screen and (max-width: 379px) {
  .topTraining_img {
    top: -10.6vw;
  }
}
.topTraining_cardList {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  justify-content: center;
  padding: 0 36px;
}
@media only screen and (max-width: 614px) {
  .topTraining_cardList {
    gap: 28px;
  }
}
.topTraining_cardList .mod-card-03:first-of-type .mod-card-03_txt {
  padding-right: 32px;
  letter-spacing: 0.43em;
}
@media only screen and (max-width: 614px) {
  .topTraining_cardList .mod-card-03:first-of-type .mod-card-03_txt {
    padding-right: 24px;
  }
}

/*
* FAQ - よくある質問
*----------------------------- */
.topFaq {
  padding: 103px 0 121px;
}
@media only screen and (max-width: 614px) {
  .topFaq {
    padding-top: 25px;
    padding-bottom: 70px;
  }
}
.topFaq .top-hl-01 {
  position: relative;
  left: 1px;
  margin-bottom: 54px;
}
@media only screen and (max-width: 614px) {
  .topFaq .top-hl-01 {
    margin-bottom: 32px;
  }
}
.topFaq_inner {
  position: relative;
  left: -1px;
  width: 1066px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .topFaq_inner {
    left: auto;
    padding: 0 15px 0 16px;
  }
}
.topFaq .mod-faq {
  margin-bottom: 37px;
}
@media only screen and (max-width: 614px) {
  .topFaq .mod-faq {
    margin-bottom: 30px;
  }
}

/*
* INSTAGRAM - インスタグラム
*----------------------------- */
.topInstagram {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 78px;
  padding-bottom: 224px;
}
@media only screen and (max-width: 614px) {
  .topInstagram {
    padding-top: 49px;
    padding-bottom: 94px;
  }
}
.topInstagram .top-hl-01 {
  margin-bottom: 53px;
}
@media only screen and (max-width: 614px) {
  .topInstagram .top-hl-01 {
    margin-bottom: 25px;
  }
}
.topInstagram_bg {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px 30px 0 0;
  transform: translateX(-50%);
}
.topInstagram_imgList {
  display: flex;
  justify-content: center;
  width: 1272px;
  max-width: 100%;
  padding: 0 36px;
}
@media only screen and (max-width: 1214px) {
  .topInstagram_imgList {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 614px) {
  .topInstagram_imgList {
    padding: 0 15px 0 16px;
  }
}
.topInstagram_imgItem {
  display: inline-block;
  width: 14.2857142857vw;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media only screen and (max-width: 1038px) {
  .topInstagram_imgItem {
    width: 30%;
  }
}
@media only screen and (max-width: 614px) {
  .topInstagram_imgItem {
    width: 45%;
  }
}
@media only screen and (max-width: 379px) {
  .topInstagram_imgItem {
    width: 50%;
  }
}
.topInstagram_imgLink {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.topInstagram_imgLink:hover {
  opacity: 0.7;
  transition: 0.3s ease-out;
}
@media only screen and (max-width: 614px) {
  .topInstagram_imgLink {
    width: 100%;
  }
}
.topInstagram_img {
  display: inline-block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
}

/*
* 下層ページ
* ・WaveBox
*----------------------------- */
.sub {
  /* セクション（関連する社員のインタビューを見る） */
  /* セクション（他の職種も見る） */
  /* セクション（他の座談会も見る） */
}
.sub_centerTxt {
  width: 654px;
  max-width: calc(100% - 72px);
  margin: 0 auto;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .sub_centerTxt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.sub .mod-recruitBlock {
  margin-top: 289px;
}
@media only screen and (max-width: 1038px) {
  .sub .mod-recruitBlock {
    margin-top: 200px;
  }
}
@media only screen and (max-width: 614px) {
  .sub .mod-recruitBlock {
    margin-top: 92px;
  }
}
.sub_otherInterview {
  padding: 121px 36px 109px;
}
@media only screen and (max-width: 614px) {
  .sub_otherInterview {
    padding: 56px 36px 47px;
  }
}
.sub_otherInterview .mod-cardGrid-03 {
  width: 995px;
  margin: 0 auto;
}
.sub_otherInterview .mod-hl-iconTitle {
  margin-bottom: 40px;
}
@media only screen and (max-width: 614px) {
  .sub_otherInterview .mod-hl-iconTitle {
    margin-bottom: 27px;
  }
}
.sub_otherJob {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 1200px;
  max-width: calc(100% - 72px);
  padding: 100px 36px 52px;
  margin: 0 auto;
  border-top: 1px solid #c6c6c6;
}
@media only screen and (max-width: 614px) {
  .sub_otherJob {
    padding: 51px 2px 40px;
  }
}
.sub_otherJob .mod-hl-iconTitle {
  margin-bottom: 40px;
}
@media only screen and (max-width: 614px) {
  .sub_otherJob .mod-hl-iconTitle {
    margin-bottom: 31px;
  }
}
.sub_otherJob .mod-cardGrid-04 {
  width: 1066px;
}
@media only screen and (max-width: 614px) {
  .sub_otherJob .mod-cardGrid-04 {
    position: relative;
    left: 2px;
  }
}
.sub_otherJob .mod-card-01 {
  width: 100%;
}
.sub_otherJob .mod-card-01_txt {
  padding-right: 3px;
}
.sub_otherCrosstalk {
  padding-top: 213px;
  padding-bottom: 1px;
  margin-bottom: -21px;
}
@media only screen and (max-width: 614px) {
  .sub_otherCrosstalk {
    padding-top: 80px;
  }
}
.sub_otherCrosstalk .mod-hl-iconTitle {
  margin-bottom: 41px;
}
@media only screen and (max-width: 614px) {
  .sub_otherCrosstalk .mod-hl-iconTitle {
    margin-bottom: 29px;
  }
}
.sub_otherCrosstalk .mod-cardGrid-05 {
  position: relative;
  left: 34px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .sub_otherCrosstalk .mod-cardGrid-05 {
    left: 46px;
  }
}

/* 波線画像付きのボックス */
.sub-waveBox {
  position: relative;
  padding: 0 36px;
  margin: 92px 0;
  background-color: #e6f6ff;
}
@media only screen and (max-width: 814px) {
  .sub-waveBox {
    margin: 24px 0;
  }
}
.sub-waveBox::before, .sub-waveBox::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  width: 100%;
  height: 92px;
  content: "";
}
@media only screen and (max-width: 814px) {
  .sub-waveBox::before, .sub-waveBox::after {
    height: 24px;
  }
}
.sub-waveBox::before {
  top: -92px;
  left: 0;
  background: url("../img/sub/wave_box_before.png") no-repeat bottom center/100% 100%;
}
@media only screen and (max-width: 814px) {
  .sub-waveBox::before {
    top: -24px;
  }
}
.sub-waveBox::after {
  bottom: -92px;
  left: 0;
  background: url("../img/sub/wave_box_after.png") no-repeat bottom center/100% 100%;
}
@media only screen and (max-width: 814px) {
  .sub-waveBox::after {
    bottom: -24px;
  }
}
.sub-waveBox_inner {
  width: 1066px;
  max-width: 100%;
  padding: 17px 0 26px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .sub-waveBox_inner {
    padding-top: 22px;
  }
}
.sub-waveBox_title {
  margin-bottom: 48px;
}
@media only screen and (max-width: 614px) {
  .sub-waveBox_title {
    margin-bottom: 30px;
  }
}
.sub-waveBox-narrow .sub-waveBox_inner {
  width: 994px;
}

/*
* 下層ページ（メッセージ）
*----------------------------- */
.subMessage .mod-hl-02 {
  margin-bottom: 33px;
}
@media only screen and (max-width: 614px) {
  .subMessage .mod-hl-02 {
    margin-bottom: 15px;
  }
}
.subMessage_bgBox {
  width: 1200px;
  max-width: 100%;
  padding: 83px 103px 80px;
  margin: 0 auto 128px;
  background-color: #e6f6ff;
  border-radius: 20px;
}
@media only screen and (max-width: 1038px) {
  .subMessage_bgBox {
    padding: 83px 36px 61px;
    margin-top: 100px;
  }
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox {
    margin-top: 41px;
    margin-bottom: 82px;
    border-radius: 10px;
  }
}
.subMessage_bgBox .mod-hl-03 {
  margin-bottom: 11px;
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-hl-03 {
    margin-bottom: 7px;
  }
}
.subMessage_bgBox .mod-flexColumn-01 {
  margin-bottom: 95px;
}
@media only screen and (max-width: 1038px) {
  .subMessage_bgBox .mod-flexColumn-01 {
    margin-bottom: 70px;
  }
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-flexColumn-01 {
    margin-bottom: 27px;
  }
}
.subMessage_bgBox .mod-flexColumn-01:first-of-type {
  margin-bottom: 70px;
}
@media only screen and (max-width: 1038px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type {
    position: relative;
    top: -120px;
    margin-bottom: -50px;
  }
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type {
    top: -116px;
    margin-bottom: -89px;
  }
}
.subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_txtWrap {
  width: 618px;
  padding-top: 0;
}
@media only screen and (max-width: 1214px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_txtWrap {
    width: 60%;
  }
}
@media only screen and (max-width: 1038px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_txtWrap {
    width: 80%;
  }
}
@media only screen and (max-width: 814px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_txtWrap {
    width: 100%;
  }
}
.subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_title {
  margin-bottom: 18px;
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_title {
    margin-bottom: 12px;
  }
}
.subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_imgWrap {
  position: relative;
  top: -28px;
  right: -5px;
  width: 308px;
  height: 386px;
}
.subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0% 50%;
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-flexColumn-01:first-of-type .mod-flexColumn-01_imgWrap {
    top: 0;
    right: 1px;
    width: 57.3%;
    height: auto;
  }
}
.subMessage_bgBox .mod-flexColumn-01:nth-of-type(3) {
  margin-bottom: 28px;
}
@media only screen and (max-width: 614px) {
  .subMessage_bgBox .mod-flexColumn-01:nth-of-type(3) {
    margin-bottom: 13px;
  }
}
.subMessage_sign {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.subMessage_sign span {
  padding-bottom: 3px;
  margin-right: 18px;
  font-size: 15px;
}
@media only screen and (max-width: 614px) {
  .subMessage_sign span {
    padding-bottom: 1px;
    margin-right: 11px;
    font-size: 12px;
  }
}
@media only screen and (max-width: 614px) {
  .subMessage_sign img {
    width: 119px;
    height: 28px;
  }
}
.subMessage .mod-flexColumn-02 {
  max-width: calc(100% - 72px);
  margin-top: -2px;
}

/*
* 下層ページ（職種紹介）
*----------------------------- */
.subJob_titleSection {
  margin-bottom: 171px;
}
@media only screen and (max-width: 814px) {
  .subJob_titleSection {
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 614px) {
  .subJob_titleSection {
    margin-bottom: 71px;
  }
}
.subJob_titleSection .mod-hl-02 {
  margin-bottom: 19px;
}
@media only screen and (max-width: 614px) {
  .subJob_titleSection .mod-hl-02 {
    margin-bottom: 15px;
  }
}
.subJob_taskSection {
  width: 1138px;
  max-width: 100%;
  padding: 93px 36px 118px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subJob_taskSection {
    padding-top: 62px;
    padding-bottom: 60px;
  }
}
.subJob_taskSection .mod-hl-02 {
  margin-bottom: 48px;
}
@media only screen and (max-width: 614px) {
  .subJob_taskSection .mod-hl-02 {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 614px) {
  .subJob_scheduleSection .sub-waveBox {
    padding: 0 16px;
  }
}
.subJob_scheduleSection .sub-waveBox_inner {
  width: 994px;
  max-width: 100%;
  padding: 31px 0 7px !important;
}
@media only screen and (max-width: 614px) {
  .subJob_scheduleSection .sub-waveBox_inner {
    padding-top: 22px !important;
  }
}
@media only screen and (max-width: 614px) {
  .subJob_scheduleSection .mod-hl-02 {
    margin-bottom: 20px;
  }
}
.subJob .mod-cardGrid-02 .mod-card-06_title {
  white-space: nowrap;
}
@media only screen and (max-width: 1214px) {
  .subJob .mod-cardGrid-02 .mod-card-06_title {
    white-space: wrap;
  }
}
.subJob .mod-schedule-01 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 614px) {
  .subJob .mod-schedule-01 {
    margin-bottom: 23.8px;
  }
}
@media only screen and (max-width: 614px) {
  .subJob .mod-schedule-01:last-of-type {
    margin-bottom: 17px;
  }
}
.subJob .mod-recruitBlock {
  margin-top: 235px;
}
@media only screen and (max-width: 614px) {
  .subJob .mod-recruitBlock {
    margin-top: 56px;
  }
}
.subJob .sub-waveBox_inner {
  padding-bottom: 92px;
}
@media only screen and (max-width: 614px) {
  .subJob .sub-waveBox_inner {
    padding-bottom: 24px;
  }
}

.subJobTop .mod-hl-02 {
  margin-bottom: 19px;
}
@media only screen and (max-width: 614px) {
  .subJobTop .mod-hl-02 {
    margin-bottom: 15px;
  }
}
.subJobTop_titleSection {
  margin-bottom: 72px;
}
@media only screen and (max-width: 614px) {
  .subJobTop_titleSection {
    margin-bottom: 47px;
  }
}
.subJobTop_cardList {
  display: grid;
  grid-template-columns: repeat(auto-fit, 479px);
  gap: 54px 108px;
  justify-content: center;
  width: 1138px;
  max-width: 100%;
  padding: 0 36px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subJobTop_cardList {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 479px), 1fr));
    gap: 25.5px;
    padding-left: 40px;
  }
}
.subJobTop_cardList .mod-card-01 {
  width: 100%;
}
.subJobTop .mod-recruitBlock {
  margin-top: 247px;
}
@media only screen and (max-width: 614px) {
  .subJobTop .mod-recruitBlock {
    margin-top: 115px;
  }
}

/*
* 下層ページ（インタビュー）
*----------------------------- */
.subInterview_titleSection {
  margin-bottom: 75px;
}
@media only screen and (max-width: 614px) {
  .subInterview_titleSection {
    margin-bottom: 50px;
  }
}
.subInterview_interviewSection {
  padding-top: 121px;
  padding-bottom: 109px;
}
.subInterview_interviewSection .mod-cardGrid-03 {
  width: 995px;
  margin: 0 auto;
}
.subInterview_qa .sub-waveBox {
  padding: 30px 16px 21px;
}
@media only screen and (max-width: 614px) {
  .subInterview_qa .sub-waveBox {
    padding: 9px 16px 0;
  }
}
@media only screen and (max-width: 614px) {
  .subInterview_qa .sub-waveBox_inner {
    padding-bottom: 22px;
  }
}
.subInterview .mod-qa {
  width: 994px;
  max-width: 100%;
  margin: 0 auto;
}
.subInterview .mod-hl-iconTitle {
  margin-bottom: 52px;
}
@media only screen and (max-width: 614px) {
  .subInterview .mod-hl-iconTitle {
    margin-bottom: 28px;
  }
}
.subInterview .mod-recruitBlock {
  margin-top: 175px;
}
@media only screen and (max-width: 614px) {
  .subInterview .mod-recruitBlock {
    margin-top: 50px;
  }
}

/*
* インタビュートップ
*----------------------------- */
.subInterviewTop_cardGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 275px);
  gap: 95px 85px;
  justify-content: center;
  width: 1095px;
  max-width: 100%;
  padding: 0 50px;
  margin: 0 auto;
}
@media only screen and (max-width: 1038px) {
  .subInterviewTop_cardGrid {
    gap: 37.5px 85px;
  }
}
@media only screen and (max-width: 614px) {
  .subInterviewTop_cardGrid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 275px), 275px));
  }
  .subInterviewTop_cardGrid .mod-card-04_tag {
    margin-bottom: 8px;
  }
  .subInterviewTop_cardGrid .mod-card-04_title {
    margin-bottom: 10px;
    font-size: 22px !important;
  }
  .subInterviewTop_cardGrid .mod-card-04_info {
    gap: 10px;
    font-size: 16px;
  }
  .subInterviewTop_cardGrid .mod-card-04_info span {
    font-size: 20px;
  }
}
.subInterviewTop .mod-breadcrumbs {
  margin-bottom: 100px;
}
@media only screen and (max-width: 614px) {
  .subInterviewTop .mod-breadcrumbs {
    margin-bottom: 44px;
  }
}
.subInterviewTop .mod-recruitBlock {
  margin-top: 220px;
}
@media only screen and (max-width: 614px) {
  .subInterviewTop .mod-recruitBlock {
    margin-top: 90px;
  }
}

/*
* 下層ページ（座談会）
*----------------------------- */
.subCrosstalk_content {
  position: relative;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .mod-breadcrumbs {
    margin-bottom: 42px;
  }
}
.subCrosstalk .mod-memberList {
  position: relative;
  top: -237px;
  left: 50%;
  z-index: 10;
  margin-bottom: -136px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 1214px) {
  .subCrosstalk .mod-memberList {
    max-width: calc(100% - 32px);
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .mod-memberList {
    top: -62px;
    max-width: calc(100% - 40px);
  }
}
.subCrosstalk .sub-waveBox {
  z-index: 1;
  margin-bottom: 0;
}
@media only screen and (max-width: 1214px) {
  .subCrosstalk .sub-waveBox {
    padding-right: 16px;
    padding-left: 16px;
  }
}
.subCrosstalk .sub-waveBox_inner {
  padding: 0 0 41px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .sub-waveBox_inner {
    padding-top: 116px;
    padding-bottom: 27px;
  }
}
.subCrosstalk .sub-waveBox_inner section {
  margin-bottom: 58px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .sub-waveBox_inner section {
    margin-bottom: 64px;
  }
}
.subCrosstalk .sub-waveBox_inner section:last-of-type {
  margin-bottom: 0;
}
.subCrosstalk .sub-waveBox_inner .mod-hl-02 {
  margin-bottom: 42px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .sub-waveBox_inner .mod-hl-02 {
    margin-bottom: 30px;
  }
}
.subCrosstalk .mod-discussion {
  width: 990px;
  max-width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk .mod-recruitBlock {
    margin-top: 108px;
  }
}

/*
* 座談会 ヘッダー
*----------------------------- */
.subCrosstalk-head {
  padding: 39px 36px 118px;
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head {
    padding-top: 20px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.subCrosstalk-head_inner {
  width: 1067px;
  max-width: 100%;
  padding-bottom: 80px;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_inner {
    padding-bottom: 59px;
  }
}
.subCrosstalk-head_column {
  display: flex;
  gap: 8.6vw;
  align-items: center;
  justify-content: space-between;
  width: 1105px;
  max-width: none;
  padding-right: 67px;
  padding-left: 9px;
  margin: 0 auto 57px;
}
@media only screen and (max-width: 1214px) {
  .subCrosstalk-head_column {
    gap: 30px;
    max-width: 100%;
    padding-right: 40px;
  }
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head_column {
    flex-direction: column-reverse;
    padding-right: 0;
    padding-left: 10px;
    transform: unset;
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_column {
    gap: 14px;
    padding-left: 0;
    margin-bottom: 23px;
  }
}
.subCrosstalk-head_txtWrap {
  flex-shrink: 0;
  padding-top: 8px;
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head_txtWrap {
    width: 100%;
  }
}
.subCrosstalk-head_theme {
  margin-bottom: 14px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1;
  color: #3caef0;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_theme {
    padding-left: 1px;
    margin-bottom: 2px;
    font-size: 11px;
  }
}
.subCrosstalk-head_theme span {
  position: relative;
  top: 2px;
  padding-left: 4.5px;
  font-size: 32px;
  font-weight: 700;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_theme span {
    top: 1px;
    font-size: 22px;
  }
}
.subCrosstalk-head_smallTitle, .subCrosstalk-head_title {
  font-weight: 700;
  color: #0e3b73;
}
.subCrosstalk-head_smallTitle {
  font-size: 20px;
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.5;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_smallTitle {
    font-size: 16px;
  }
}
.subCrosstalk-head_title {
  font-size: 29px;
  line-height: 1.4;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_title {
    font-size: 20px;
    line-height: 1.4;
  }
}
.subCrosstalk-head_imgWrap {
  position: relative;
  width: 618px;
  height: 267px;
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head_imgWrap {
    width: 88.5%;
    height: auto;
    aspect-ratio: 272/164;
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_imgWrap {
    left: 1px;
    width: 90%;
  }
}
.subCrosstalk-head_imgWrap::before {
  position: absolute;
  top: 8px;
  left: -8px;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: transparent linear-gradient(55deg, #6eb4ff 0%, var(--unnamed-color-b9e4ff) 34%, #def4ff 77%, var(--unnamed-color-ffffff) 100%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(55deg, #6eb4ff 0%, #b9e4ff 34%, #def4ff 77%, #fff 100%) 0% 0% no-repeat padding-box;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_imgWrap::before {
    top: 4px;
    left: -4px;
  }
}
.subCrosstalk-head_imgPic {
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_imgPic {
    height: auto;
    aspect-ratio: 272/164;
  }
}
.subCrosstalk-head_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.subCrosstalk-head_bgLeft, .subCrosstalk-head_bgRight {
  position: absolute;
  z-index: -1;
  display: inline-block;
}
.subCrosstalk-head_bgLeft {
  top: 0;
  left: 0;
  width: 56px;
  height: 55px;
  transform: translate(-160%, 73%);
}
@media only screen and (max-width: 1214px) {
  .subCrosstalk-head_bgLeft {
    width: 9.07%;
    height: auto;
  }
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head_bgLeft {
    left: 12px;
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_bgLeft {
    top: 6px;
    left: 6px;
    width: 25px;
    height: 25px;
  }
}
.subCrosstalk-head_bgRight {
  right: 0;
  bottom: 0;
  width: 97.37px;
  height: 96.84px;
  transform: translate(69%, -23%);
}
@media only screen and (max-width: 1214px) {
  .subCrosstalk-head_bgRight {
    width: 15.75%;
    height: auto;
  }
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_bgRight {
    right: -1px;
    bottom: -3px;
    width: 42px;
    height: 42px;
  }
}
.subCrosstalk-head_about {
  padding-left: 16px;
}
@media only screen and (max-width: 814px) {
  .subCrosstalk-head_about {
    padding-left: 0;
  }
}
.subCrosstalk-head_about p {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_about p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.subCrosstalk-head_about p span {
  padding-left: 3px;
}
.subCrosstalk-head_aboutTitle {
  margin-bottom: 15px;
}
@media only screen and (max-width: 614px) {
  .subCrosstalk-head_aboutTitle {
    margin-bottom: 8px;
    margin-left: 2px;
  }
}

/*
* 下層ページ（数字で見る和幸電通）
*----------------------------- */
.subInfograph_inner {
  padding: 39px 16px 0;
}
@media only screen and (max-width: 614px) {
  .subInfograph_inner {
    padding-top: 0;
  }
}
.subInfograph_inner section {
  margin-bottom: 97px;
}
@media only screen and (max-width: 614px) {
  .subInfograph_inner section {
    margin-bottom: 43px;
  }
}
@media only screen and (max-width: 614px) {
  .subInfograph_inner section:nth-of-type(5) .subInfograph_cardGrid {
    gap: 9px;
  }
}
.subInfograph .mod-hl-02 {
  margin-bottom: 18px;
}
@media only screen and (max-width: 614px) {
  .subInfograph .mod-hl-02 {
    margin-bottom: 8px;
  }
}
.subInfograph_centerTxt {
  margin-bottom: 27px;
  font-size: 15px;
  text-align: center;
}
@media only screen and (max-width: 614px) {
  .subInfograph_centerTxt {
    margin-bottom: 17px;
    font-size: 14px;
  }
}
.subInfograph_cardGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 479px);
  gap: 48px 36px;
  justify-content: center;
  max-width: 100%;
}
@media only screen and (max-width: 614px) {
  .subInfograph_cardGrid {
    grid-template-columns: repeat(auto-fit, 100%);
    gap: 23px;
  }
}
.subInfograph_cardGrid img {
  width: 100%;
  height: auto;
  margin-bottom: 3px;
}
@media only screen and (max-width: 614px) {
  .subInfograph_cardGrid img {
    margin-bottom: 2px;
  }
}
.subInfograph_cardGrid p {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.875;
}
@media only screen and (max-width: 614px) {
  .subInfograph_cardGrid p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.7333333333;
  }
}
.subInfograph .mod-recruitBlock {
  margin-top: 282px;
}
@media only screen and (max-width: 614px) {
  .subInfograph .mod-recruitBlock {
    margin-top: 91px;
  }
}

/*
* 下層ページ（福利厚生）
*----------------------------- */
.subWelfare_inner {
  width: 1172px;
  max-width: 100%;
  padding: 23px 36px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subWelfare_inner {
    padding-top: 0;
  }
}
.subWelfare_inner section {
  margin-bottom: 97px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_inner section {
    margin-bottom: 59px;
  }
}
.subWelfare .mod-hl-02 {
  margin-bottom: 75px;
}
@media only screen and (max-width: 614px) {
  .subWelfare .mod-hl-02 {
    margin-bottom: 54px;
  }
}
.subWelfare .mod-hl-03 {
  margin-bottom: 39px;
}
@media only screen and (max-width: 614px) {
  .subWelfare .mod-hl-03 {
    margin-bottom: 29px;
    font-size: 18px;
  }
}
.subWelfare_cardGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 326px);
  gap: 57px 60px;
  justify-content: center;
  max-width: 100%;
}
@media only screen and (max-width: 614px) {
  .subWelfare_cardGrid {
    grid-template-columns: repeat(auto-fit, 100%);
    gap: 34px;
  }
}
.subWelfare_cardGrid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 326/190;
  margin-bottom: 24px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_cardGrid img {
    aspect-ratio: 302/190;
    margin-bottom: 14px;
  }
}
.subWelfare_cardGrid p {
  /* フォントサイズとXDサイズからline-heightを計算 */
  line-height: 1.8125;
}
@media only screen and (max-width: 614px) {
  .subWelfare_cardGrid p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8666666667;
  }
}
.subWelfare_cardTitle {
  margin-bottom: 14px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_cardTitle {
    margin-bottom: 8px;
    font-size: 18px;
  }
}
.subWelfare_cardSubTitle {
  margin: 10px 0 4px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_cardSubTitle {
    margin: 7px 0 4px;
  }
}
.subWelfare_txtContent {
  margin-top: 70px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_txtContent {
    margin-top: 54px;
  }
}
.subWelfare_txtContent .mod-hl-04 {
  margin-top: 17.5px;
  margin-bottom: 13px;
}
@media only screen and (max-width: 614px) {
  .subWelfare_txtContent .mod-hl-04 {
    margin-top: 29px;
    font-size: 18px;
  }
}
@media only screen and (max-width: 614px) {
  .subWelfare_txtContent p {
    margin-bottom: 34px;
    font-size: 16px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8125;
  }
}
.subWelfare .mod-recruitBlock {
  margin-top: 250px;
}
@media only screen and (max-width: 614px) {
  .subWelfare .mod-recruitBlock {
    margin-top: 130px;
  }
}

/*
* 下層ページ（新卒採用）
*----------------------------- */
.subNewGraduate_inner {
  width: 1132px;
  max-width: 100%;
  padding: 45px 16px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subNewGraduate_inner {
    padding-top: 0;
  }
}
.subNewGraduate_inner section {
  margin-bottom: 97px;
}
@media only screen and (max-width: 614px) {
  .subNewGraduate_inner section {
    margin-bottom: 42px;
  }
}
@media only screen and (max-width: 614px) {
  .subNewGraduate .mod-breadcrumbs {
    margin-bottom: 36px;
  }
}
.subNewGraduate .mod-hl-02 {
  margin-bottom: 75px;
}
@media only screen and (max-width: 614px) {
  .subNewGraduate .mod-hl-02 {
    margin-bottom: 50px;
  }
}
.subNewGraduate .mod-flow {
  width: 994px;
  max-width: 100%;
  margin: 0 auto 32px;
}
@media only screen and (max-width: 614px) {
  .subNewGraduate .mod-flow {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 614px) {
  .subNewGraduate .mod-flow_item:nth-of-type(2), .subNewGraduate .mod-flow_item:nth-of-type(3), .subNewGraduate .mod-flow_item:nth-of-type(4), .subNewGraduate .mod-flow_item:nth-of-type(5), .subNewGraduate .mod-flow_item:nth-of-type(6) {
    padding-bottom: 40.1px;
  }
}
.subNewGraduate .mod-recruitBlock {
  margin-top: 224px;
}
@media only screen and (max-width: 614px) {
  .subNewGraduate .mod-recruitBlock {
    margin-top: 140px;
  }
}

/*
* 下層ページ（中途採用）
*----------------------------- */
.subMidCareer_inner {
  width: 1132px;
  max-width: 100%;
  padding: 45px 16px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subMidCareer_inner {
    padding-top: 0;
  }
}
.subMidCareer_inner section {
  margin-bottom: 97px;
}
@media only screen and (max-width: 614px) {
  .subMidCareer_inner section {
    margin-bottom: 74px;
  }
}
.subMidCareer .mod-hl-02 {
  margin-bottom: 75px;
}
@media only screen and (max-width: 614px) {
  .subMidCareer .mod-hl-02 {
    margin-bottom: 50px;
  }
}
.subMidCareer .mod-flow {
  width: 994px;
  max-width: 100%;
  margin: 0 auto 32px;
}
.subMidCareer .mod-li-disc {
  display: flex;
  gap: 0 17px;
}
.subMidCareer .mod-recruitBlock {
  margin-top: 247px;
}
@media only screen and (max-width: 614px) {
  .subMidCareer .mod-recruitBlock {
    margin-top: 140px;
  }
}

/*
* 下層ページ（プライバシーポリシー）
*----------------------------- */
.subPrivacyPolicy_inner {
  width: 1172px;
  max-width: 100%;
  padding: 23px 36px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy_inner {
    padding-top: 0;
  }
}
.subPrivacyPolicy_title {
  margin-bottom: 33px;
  font-size: 29px;
  font-weight: 700;
  color: #0e3b73;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy_title {
    padding-left: 7px;
    margin-bottom: 20px;
    font-size: 20px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.5;
  }
}
.subPrivacyPolicy_rightTxt {
  text-align: right;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy_rightTxt {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8;
  }
}
.subPrivacyPolicy_info {
  margin-top: 30px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy_info {
    margin-top: 29px;
  }
}
.subPrivacyPolicy_info a {
  color: #0b3a65;
  text-decoration: underline;
  text-decoration-color: #0b3a65;
}
.subPrivacyPolicy_info a[href^=tel] {
  margin-right: 8px;
  color: #363636;
  text-decoration: none;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy p {
    font-size: 15px;
    /* フォントサイズとXDサイズからline-heightを計算 */
    line-height: 1.8;
  }
}
.subPrivacyPolicy .mod-hl-02 {
  margin-bottom: 70px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy .mod-hl-02 {
    margin-bottom: 54px;
  }
}
.subPrivacyPolicy .mod-hl-06 {
  margin: 22px 0 10px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy .mod-hl-06 {
    margin: 18.5px 0 6px;
  }
}
.subPrivacyPolicy .mod-li-decimal {
  margin: 11px 0;
}
.subPrivacyPolicy .marginBtm-sm {
  margin-bottom: 16px;
}
.subPrivacyPolicy .marginBtm-md {
  margin-bottom: 19px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy .marginBtm-md {
    margin-bottom: 10px;
  }
}
.subPrivacyPolicy .marginBtm-lg {
  margin-bottom: 30px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy .marginBtm-lg {
    margin-bottom: 19px;
  }
}
.subPrivacyPolicy .mod-recruitBlock {
  margin-top: 249px;
}
@media only screen and (max-width: 614px) {
  .subPrivacyPolicy .mod-recruitBlock {
    margin-top: 116px;
  }
}

/*
* 下層ページ（エントリー）
*----------------------------- */
.subEntry_inner {
  width: 1132px;
  max-width: 100%;
  padding: 43px 16px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subEntry_inner {
    padding-top: 0;
  }
}
.subEntry_inner section {
  margin-bottom: 97px;
}
.subEntry_inner .mod-form-01_privacy section {
  margin-bottom: 0;
}
.subEntry .mod-hl-02 {
  margin-bottom: 19px;
}
@media only screen and (max-width: 614px) {
  .subEntry .mod-hl-02 {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 614px) {
  .subEntry .sub_centerTxt {
    max-width: calc(100% - 40px);
  }
}
.subEntry .mod-faq {
  width: 994px;
  margin: 0 auto 32px;
}
.subEntry .mod-form-01 {
  margin-top: 72px;
}
@media only screen and (max-width: 614px) {
  .subEntry .mod-form-01 {
    margin-top: 46px;
  }
}
.subEntry .mod-recruitBlock {
  margin-top: 252px;
}
@media only screen and (max-width: 614px) {
  .subEntry .mod-recruitBlock {
    margin-top: 112px;
  }
}
.subEntry .auth {
  margin: 28px auto 48px auto;
  text-align: center;
  font-weight: 400;
}
.subEntry .auth img {
  width: 210px;
  margin: 0 auto 5px auto;
  display: block;
}
.subEntry .auth input {
  width: 220px;
  border: 1px solid #B3B3B3;
  padding: 9px;
  margin-bottom: 5px;
}

/*
* 下層ページ（よくある質問）
*----------------------------- */
.subFaq_inner {
  width: 1132px;
  max-width: 100%;
  padding: 25px 16px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 614px) {
  .subFaq_inner {
    padding-top: 0;
  }
}
.subFaq_inner section {
  margin-bottom: 97px;
}
.subFaq .mod-hl-02 {
  margin-bottom: 75px;
}
@media only screen and (max-width: 614px) {
  .subFaq .mod-hl-02 {
    margin-bottom: 50px;
  }
}
.subFaq .mod-faq {
  width: 994px;
  max-width: 100%;
  margin: 0 auto 32px;
}
@media only screen and (max-width: 614px) {
  .subFaq .mod-faq .mod-faq_item {
    margin-top: 16.3px;
  }
  .subFaq .mod-faq .mod-faq_answer {
    padding-right: 10px;
    padding-left: 75px;
  }
}
.subFaq .mod-recruitBlock {
  margin-top: 252px;
}
@media only screen and (max-width: 614px) {
  .subFaq .mod-recruitBlock {
    margin-top: 130px;
  }
}

/* State styles */
/* Theme styles */
/* Utility styles */
/*
*  display：
*---------------------------- */
.db-pc {
  display: none !important;
}
@media only screen and (max-width: 1214px) {
  .db-pc {
    display: block !important;
  }
}

.db-tab {
  display: none !important;
}
@media only screen and (max-width: 1038px) {
  .db-tab {
    display: block !important;
  }
}

.db-mob {
  display: none !important;
}
@media only screen and (max-width: 814px) {
  .db-mob {
    display: block !important;
  }
}

.db-sp {
  display: none !important;
}
@media only screen and (max-width: 614px) {
  .db-sp {
    display: block !important;
  }
}

.db-small {
  display: none !important;
}
@media only screen and (max-width: 379px) {
  .db-small {
    display: block !important;
  }
}

@media only screen and (max-width: 1214px) {
  .dn-pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1038px) {
  .dn-tab {
    display: none !important;
  }
}

@media only screen and (max-width: 814px) {
  .dn-mob {
    display: none !important;
  }
}

@media only screen and (max-width: 614px) {
  .dn-sp {
    display: none !important;
  }
}

@media only screen and (max-width: 379px) {
  .dn-small {
    display: none !important;
  }
}

/*
*  改行
*---------------------------- */
.db-br-tab {
  display: none;
}
@media only screen and (max-width: 1038px) {
  .db-br-tab {
    display: block !important;
  }
}

.db-br-mob {
  display: none;
}
@media only screen and (max-width: 814px) {
  .db-br-mob {
    display: block !important;
  }
}

.db-br-sp {
  display: none;
}
@media only screen and (max-width: 614px) {
  .db-br-sp {
    display: block !important;
  }
}

.db-br-small {
  display: none;
}
@media only screen and (max-width: 379px) {
  .db-br-small {
    display: block !important;
  }
}

@media only screen and (max-width: 1038px) {
  .dn-br-tab {
    display: none !important;
  }
}

@media only screen and (max-width: 814px) {
  .dn-br-mob {
    display: none !important;
  }
}

@media only screen and (max-width: 614px) {
  .dn-br-sp {
    display: none !important;
  }
}

@media only screen and (max-width: 379px) {
  .dn-br-small {
    display: none !important;
  }
}

/*
*  アニメーション
*---------------------------- */
.fadeUp {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(40px);
  will-change: opacity, transform;
}

.fadeUp.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 {
  transition-delay: 0.1s;
}

.delay-2 {
  transition-delay: 0.2s;
}

.delay-3 {
  transition-delay: 0.3s;
}

.delay-4 {
  transition-delay: 0.4s;
}