@charset "UTF-8";
/*!
Theme Name: mt-river2026
Theme URI: http://underscores.me/
Author: Heads.Inc
Author URI: -------
Description: mt-river2026 Theme
Version: 1.0.0
License: GNU General Public License v2 or later
/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　直接編集しないように注意してください。a
--------------------------------------------------------------- */
/* 基本設定
============================================================================ */
/* base > color
============================================================================================================ */
/* 基本色一覧*/
/*白*/
/*黒*/
/*灰色*/
/*黄*/
/*赤*/
/*青*/
/*緑*/
/*金*/
/* Mt.River プロジェクトカラー
============================================================================================================ */
/* メインネイビー (見出し・ヘッダ背景) */
/* サブネイビー (タグ文字色 / wave装飾) */
/* wave の中間色 */
/* 薄ブルー (タグ枠線・区切り線) */
/* フッタ淡色 */
/* フッタ背景 */
/* ドロワー内 区切り線 */
/* ゴールド (CTA) */
/* ゴールド暗 */
/* 薄グレー (Service番号背景) */
/* 本文 */
/* header CTA_request 背景 */
/* 下層ページの背景 (親フレーム fill) */
/* フッタ背景 グラデーション上 */
/* フッタ背景 グラデーション下 */
/* フォーム必須バッジ背景 */
/* SP チェックボックス枠線 */
/* 区切り罫線 (完了ページ等) */
/* mixin
============================================================================ */
/* mixin > rem  ($base-font-sizeはbase/_base.scssに)
============================================================================================================ */
/* mixin > mediaqueries (setting/variables.scssに横幅記載あり)
============================================================================================================ */
/* mixin > mixin (mixin 集)
============================================================================================================ */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* mixin > img
============================================================================================================ */
figure {
  display: block;
  line-height: 0;
  font-size: 0;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}

img {
  vertical-align: bottom;
  line-height: 0;
  font-size: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* mixin > display
============================================================================================================ */
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block;
  }
}

.u-sp--inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp--inline {
    display: inline;
  }
}

/* 共通部分
============================================================================ */
/* base > common
============================================================================================================ */
li {
  list-style: none;
}

ul,
ol,
dl,
p {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  /* ress.cssだとunderlineがつくのを阻止 */
  text-decoration: none;
}

select {
  color: black;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1 !important;
  position: relative;
}

table {
  table-layout: fixed;
  /* ress.css用 */
  border-collapse: collapse;
  border-spacing: 0;
}

td input {
  max-width: 100%;
}

i,
em {
  font-style: normal;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

small {
  font-size: 100%;
}

@-ms-viewport {
  width: device-width;
}
html,
body {
  width: 100%;
  color: black;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0em;
  font-weight: 400;
  -webkit-font-feature-settings: "halt" on;
          font-feature-settings: "halt" on;
  position: relative;
  -webkit-print-color-adjust: exact;
  overflow-x: clip;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

:root {
  font-size: 16px;
}
@media screen and (max-width: 1599.98px) {
  :root {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  :root {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    font-size: 16px;
  }
}
@media screen and (max-width: 375px) {
  :root {
    font-size: 4.2666666667vw;
  }
}

body {
  opacity: 0;
  pointer-events: none;
}
body.loaded {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

a {
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  -webkit-transition: 0.6s;
  -webkit-transition-delay: 0.6s;
  transition: 0.6s;
}
@media (any-hover: hover) {
  a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}

#Wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: white;
  min-height: 100vh;
  height: 100%;
  margin: 0 auto;
  overflow: clip;
  padding-top: 64px;
}
@media screen and (max-width: 767px) {
  #Wrapper {
    padding-top: 3rem;
    border: none;
  }
}

#Footer {
  height: 100%;
}

img.object_fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* base > heading
============================================================================================================ */
/* 基本設定 */
h1 {
  font-size: 34px;
  font-size: 2.125rem;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

h2 {
  font-size: 30px;
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

h3 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
}

h5 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
}

h6 {
  font-size: 18px;
  font-size: 1.125rem;
}

/* base > wordpress
============================================================================================================ */
img.size-auto,
img.size-large,
img.size-full,
img.size-medium {
  max-width: 100%;
  height: auto;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 15px;
  margin-top: 4px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 15px;
  margin-top: 4px;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}

.wp-caption {
  background: #f1f1f1;
  border: none;
  border-radius: 0;
  color: #888;
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 20px;
  padding: 4px;
  text-align: center;
}

.wp-caption img {
  margin: 5px;
}

.wp-caption p.wp-caption-text {
  margin: 0 0 4px;
}

.wp-smiley {
  margin: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
  padding: 50px 10px;
  text-align: center;
  font-weight: bold;
  margin: 50px 0;
}

/* base > wordpress-comments
============================================================================================================ */
.comments-area {
  margin: 0 auto 60px;
}

.comments-area > :last-child {
  margin-bottom: 0;
}

.comment-list + .comment-respond {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}

.comment-list + .comment-respond,
.comment-navigation + .comment-respond {
  padding-top: 1.6em;
}

.comments-title,
.comment-reply-title {
  border-top: 1px solid red;
  border-bottom: 1px solid red;
  padding: 12px 6px;
  font-weight: bold;
}

.comments-title {
  margin-bottom: 1.3333em;
}

.comment-list {
  list-style: none;
  margin: 0;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  padding: 1.6em 0;
}

.comment-list .children {
  list-style: none;
  margin: 0;
}

.comment-list .children > li {
  padding-left: 0.8em;
}

.comment-author {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  margin-bottom: 0.4em;
}

.comment-author a:hover {
  border-bottom: 1px solid #707070;
  border-bottom: 1px solid rgba(51, 51, 51, 0.7);
}

.comment-author .avatar {
  float: left;
  height: 24px;
  margin-right: 0.8em;
  width: 24px;
}

.comment-metadata,
.pingback .edit-link {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
}

.comment-metadata a,
.pingback .edit-link a {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
}

.comment-metadata a:hover,
.pingback .edit-link a:hover {
  border-bottom: 1px solid #333;
}

.comment-metadata a:hover,
.comment-metadata a:focus,
.pingback .edit-link a:hover,
.pingback .edit-link a:focus {
  color: #333;
}

.comment-metadata {
  margin-bottom: 1.6em;
}

.comment-metadata .edit-link {
  margin-left: 1em;
}

.pingback .edit-link {
  margin-left: 1em;
}

.pingback .edit-link:before {
  top: 5px;
}

.comment-content ul,
.comment-content ol {
  margin: 0 0 1.6em 1.3333em;
}

.comment-content li > ul,
.comment-content li > ol {
  margin-bottom: 0;
}

.comment-content > :last-child {
  margin-bottom: 0;
}

.comment-list .reply {
  font-size: 12px;
}

.comment-list .reply a {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  display: inline-block;
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-top: 2em;
  padding: 0.4167em 0.8333em;
  text-transform: uppercase;
}

.comment-list .reply a:hover,
.comment-list .reply a:focus {
  border-color: #333;
  color: #333;
  outline: 0;
}

.comment-form {
  padding-top: 1.6em;
}

.comment-form label {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  display: block;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-transform: uppercase;
}

.comment-form #comment,
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url] {
  width: 100%;
  max-width: 100%;
  border-radius: 6px;
  padding: 3px;
  border: 1px solid #ccc;
}

.comment-form input[type=submit] {
  margin: 20px auto;
}

.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 2em;
}

.logged-in-as a:hover {
  border-bottom: 1px solid #333;
}

.no-comments {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-weight: 700;
  padding-top: 1.6em;
}

.comment-navigation + .no-comments {
  border-top: 0;
}

.form-allowed-tags code {
  font-family: monospace;
}

.form-submit {
  margin-bottom: 0;
}

/*.required {
	color: #c0392b;
}*/
.comment-reply-title small {
  font-size: 100%;
}

.comment-reply-title small a {
  border: 0;
  float: right;
  height: 32px;
  overflow: hidden;
  width: 26px;
}

.comment-reply-title small a:before {
  content: "\f405";
  font-size: 32px;
  position: relative;
  top: -3px;
}

.comment-form #wp-comment-cookies-consent {
  margin: 0 10px 0 0;
}

.comment-form .comment-form-cookies-consent label {
  display: inline;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none;
}

/* base > editor-content
============================================================================================================ */
.editor-content h1 {
  font-size: 36px;
  font-size: 2.25rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h1 {
    font-size: 25px;
    font-size: 6.6666666667vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h2 {
  font-size: 30px;
  font-size: 1.875rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h2 {
    font-size: 22px;
    font-size: 5.8666666667vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h3 {
  font-size: 28px;
  font-size: 1.75rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h3 {
    font-size: 20px;
    font-size: 5.3333333333vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h4 {
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h4 {
    font-size: 18px;
    font-size: 4.8vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content h5 {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h5 {
    font-size: 16px;
    font-size: 4.2666666667vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content h6 {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h6 {
    font-size: 15px;
    font-size: 4vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content p {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .editor-content p {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.editor-content p strong {
  font-weight: normal;
}
.editor-content table {
  width: 100%;
  border: 1px solid #eee;
}
.editor-content table tr th,
.editor-content table tr td {
  padding: 0.5em;
  border: 1px solid #eee;
}
.editor-content table tr th {
  background: white;
  width: 24%;
  max-width: 240px;
  color: red;
}
.editor-content ul,
.editor-content ul li {
  list-style: disc;
  margin-left: 10px;
}
.editor-content ol,
.editor-content ol li {
  list-style: decimal;
  margin-left: 10px;
}
.editor-content a {
  color: blue;
  text-decoration: underline;
}
.editor-content blockquote {
  background: #eee;
  padding: 20px;
  border-radius: 0 30px 30px 0;
  border-left: 5px solid black;
}
@media screen and (max-width: 767px) {
  .editor-content blockquote {
    padding: 2.6666666667vw;
    border-radius: 0 4vw 4vw 0;
  }
}
.editor-content blockquote cite {
  text-align: right;
  margin-top: 20px;
  display: block;
}
.editor-content pre {
  border: 1px solid #eee;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0.5em;
}

/* layout
============================================================================ */
.common-inner {
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .common-inner {
    max-width: 39rem;
    padding-inline: 0.75rem;
  }
}

.common-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 64px;
  background: #00074b;
  color: white;
}
@media screen and (max-width: 767px) {
  .common-header {
    height: 3rem;
  }
}

.common-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

/*-----------------------------
	ロゴ
------------------------------*/
.common-header__logo {
  padding-left: 1.25rem;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .common-header__logo {
    padding-left: 0.75rem;
  }
}

.common-header__logo a {
  display: inline-block;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
  padding-block: 16px;
}
@media screen and (max-width: 767px) {
  .common-header__logo a {
    padding-block: 0.75rem;
  }
}

.common-header__logo img {
  width: 140px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .common-header__logo img {
    width: 6.25rem;
  }
}

/*-----------------------------
	グローバルナビ (PC のみ)
------------------------------*/
.common-header__nav {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .common-header__nav {
    display: none;
  }
}

.common-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}

.common-header__menu li a {
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  padding-block: 16px;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

/*-----------------------------
	CTA (求人依頼 / キャリア相談)
------------------------------*/
.common-header__ctaWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .common-header__ctaWrap {
    margin-left: auto;
  }
}

.common-header__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 7.75rem;
  height: 64px;
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0em;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .common-header__cta {
    width: 5.5rem;
    height: 3rem;
    font-size: 0.75rem;
  }
}

.common-header__cta--request {
  background: #969696;
}
@media screen and (max-width: 767px) {
  .common-header__cta--request {
    display: none;
  }
}

.common-header__cta--career {
  background: #c5a059;
}

/*-----------------------------
	ハンバーガー (SP のみ)
------------------------------*/
.common-header__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .common-header__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.3125rem;
    width: 2.75rem;
    height: 3rem;
    padding: 0.75rem 0.875rem;
    background: #373c68;
    border: none;
    cursor: pointer;
  }
  .common-header__toggle span {
    display: block;
    width: 1rem;
    height: 0.0625rem;
    background: white;
    border-radius: 0.625rem;
  }
}

.common-drawer {
  display: none;
}
@media screen and (max-width: 767px) {
  .common-drawer {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 2000;
    pointer-events: none;
    visibility: hidden;
    -webkit-transition: visibility 0s linear 0.4s;
    transition: visibility 0s linear 0.4s;
  }
}
.common-drawer.is-open {
  pointer-events: auto;
  visibility: visible;
  -webkit-transition: visibility 0s linear 0s;
  transition: visibility 0s linear 0s;
}

/*-----------------------------
	スクリム (背景の透過黒)
------------------------------*/
.common-drawer__scrim {
  position: absolute;
  inset: 0;
  background: rgba(9, 11, 30, 0.8);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.common-drawer.is-open .common-drawer__scrim {
  opacity: 1;
}

/*-----------------------------
	パネル本体 (右端に貼り付く紺のシート)
------------------------------*/
.common-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 20rem;
  height: 100%;
  background: #373c68;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
.common-drawer.is-open .common-drawer__panel {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.common-drawer__scrollArea {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

/*-----------------------------
	閉じる (×) ボタン
------------------------------*/
.common-drawer__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75rem;
  height: 3rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1;
}

.common-drawer__closeIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.1875rem;
  height: 1.1875rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.common-drawer__closeIcon::before, .common-drawer__closeIcon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: white;
}
.common-drawer__closeIcon::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.common-drawer__closeIcon::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*-----------------------------
	ロゴ
------------------------------*/
.common-drawer__logo {
  padding: 3.75rem 1.25rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0;
}
.common-drawer__logo img {
  width: 10rem;
  height: 2.25rem;
}

/*-----------------------------
	メインナビ (4項目 + 事業内容アコーディオン)
------------------------------*/
.common-drawer__nav {
  padding: 0 1rem;
}

.common-drawer__list {
  border-top: 1px solid #ccd0f0;
}

.common-drawer__item {
  border-bottom: 1px solid #515471;
}

.common-drawer__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1.25rem 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.common-drawer__parentRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.common-drawer__parentLink {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 1.25rem 1rem;
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.common-drawer__parentToggle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  place-items: center;
  padding-inline: 1.25rem 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .common-drawer__parentToggle:hover {
    opacity: 0.8;
  }
}

.common-drawer__parentToggle::after {
  content: "";
  display: block;
  width: 0.8125rem;
  height: 0.5rem;
  background-color: white;
  -webkit-mask: url("img/common/icn_arrow-drawer.svg") no-repeat center/contain;
          mask: url("img/common/icn_arrow-drawer.svg") no-repeat center/contain;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.common-drawer__parentToggle[aria-expanded=true]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/*-----------------------------
	サブナビ (事業内容の展開領域)
------------------------------*/
.common-drawer__sub {
  overflow: hidden;
}

.common-drawer__subInner {
  padding-left: 1.875rem;
  border-bottom: 1px solid #515471;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common-drawer__subInner > * {
  padding-block: 1.125rem;
  border-top: 1px solid #515471;
}

.common-drawer__subHeading {
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.common-drawer__subItemList {
  padding: 0 0 0 0.625rem;
  margin: 1.625rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.common-drawer__subItemList li a {
  display: inline-block;
  color: #ccd0f0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

/*-----------------------------
	下部 CTA (求人依頼 / キャリア相談)
------------------------------*/
.common-drawer__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  padding: 3.75rem 1.25rem;
}

.common-drawer__ctaBtn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  height: 3.3125rem;
  padding: 1rem 0.5rem;
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.common-drawer__ctaBtn--request {
  background: #969696;
}

.common-drawer__ctaBtn--career {
  background: #c5a059;
}

@media screen and (max-width: 767px) {
  body.is-drawer-open {
    overflow: hidden;
  }
}

.common-footer {
  background: -webkit-gradient(linear, left top, left bottom, from(#3a3c51), to(#090a1e));
  background: linear-gradient(180deg, #3a3c51 0%, #090a1e 100%);
  color: white;
  padding-top: 6.25rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .common-footer {
    padding-top: 5rem;
  }
}

.common-footer__inner {
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .common-footer__inner {
    max-width: 37.5rem;
    padding-inline: 0.75rem;
  }
}

/*-----------------------------
	CTA (お問い合わせ)
------------------------------*/
.common-footer__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.5rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .common-footer__cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.25rem;
    padding-bottom: 5rem;
  }
}

.common-footer__ctaHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.common-footer__ctaTextBlock {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.25rem;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaTextBlock {
    gap: 0.375rem;
    padding-left: 1rem;
  }
}

.common-footer__ctaLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: white;
  line-height: 1;
  margin-left: -2.5rem;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaLabel {
    gap: 0.375rem;
    font-size: 0.875rem;
    margin-left: -1rem;
  }
}

.common-footer__ctaLabelIcon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 0;
}
.common-footer__ctaLabelIcon img {
  width: 1.4375rem;
  height: 1.625rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaLabelIcon img {
    width: 0.625rem;
    height: 0.75rem;
  }
}

.common-footer__ctaTtl {
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: white;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaTtl {
    font-size: 1.625rem;
  }
}

/*-----------------------------
	キャリア相談ボタン (背景画像)
------------------------------*/
.common-footer__ctaBtn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  max-width: 35rem;
  min-height: 10rem;
  padding: 2.375rem 2.25rem;
  background-image: url("img/common/bg_btn-career-pc.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: white;
  border-radius: 1rem;
  overflow: hidden;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtn {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "lead icon" "sub  sub";
    row-gap: 1rem;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    width: 100%;
    max-width: clamp(18.75rem, 18.75rem + (100vw - 23.4375rem) * 50 / 393, 21.875rem);
    min-height: 10rem;
    padding: 1.75rem 0.84375rem;
    background-image: url("img/common/bg_btn-career-sp.webp");
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .common-footer__ctaBtnText {
    display: contents;
  }
}

.common-footer__ctaBtnLead {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtnLead {
    grid-area: lead;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}

.common-footer__ctaBtnSub {
  display: block;
  margin-top: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtnSub {
    grid-area: sub;
    margin-top: 0;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }
}

.common-footer__ctaBtnIconWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 5.25rem;
  height: 5.25rem;
  background: #a6813b;
  border-radius: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtnIconWrap {
    grid-area: icon;
    align-self: center;
    width: 4.25rem;
    height: 4.25rem;
  }
}

.common-footer__ctaBtnIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  background: white;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtnIcon {
    width: 3.5rem;
    height: 3.5rem;
  }
}

.common-footer__ctaBtnIcon img {
  width: 2.25rem;
  height: 2.25rem;
}
@media screen and (max-width: 767px) {
  .common-footer__ctaBtnIcon img {
    width: 2rem;
    height: 2rem;
  }
}

/*-----------------------------
	本体 (ロゴ + ナビ)
------------------------------*/
.common-footer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8.125rem;
  padding-block: 4.5rem;
  padding-inline: 1.25rem;
  border-top: 1px solid #ccd0f0;
  border-bottom: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .common-footer__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.75rem;
    padding-block: 3.75rem;
  }
}

.common-footer__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .common-footer__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.common-footer__logo img {
  width: 15rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .common-footer__logo img {
    width: 11.25rem;
  }
}

/*-----------------------------
	ナビ (2カラム: 事業内容 / 右段組)
------------------------------*/
.common-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 4.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 1.25rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .common-footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.75rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 18.75rem;
    margin-inline: auto;
  }
}

.common-footer__navCol--business {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 24.5rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navCol--business {
    max-width: none;
    width: 100%;
  }
}

.common-footer__navRight {
  width: 10.625rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .common-footer__navRight {
    width: 100%;
  }
}

.common-footer__navCol + .common-footer__navCol {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navCol + .common-footer__navCol {
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 767px) {
  .common-footer__navCol {
    width: 100%;
  }
}

.common-footer__navTtl {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  color: white;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .common-footer__navTtl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    white-space: normal;
  }
  .common-footer__navTtl::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 1px;
    background: #ccd0f0;
  }
}
.common-footer__navTtl > a {
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.common-footer__navList {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navList {
    margin-top: 1.5rem;
    gap: 1.5rem;
  }
}

.common-footer__navList--company {
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navList--company {
    gap: 1.5rem;
  }
}

.common-footer__navItem > a {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: white;
  line-height: 1;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

/*-----------------------------
	navSub (キャリア支援配下 2列グリッド)
------------------------------*/
.common-footer__navSub {
  padding-left: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  width: 23.75rem;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navSub {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}

.common-footer__navSubItem {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.common-footer__navSubItem:nth-child(2) {
  width: 10.75rem;
}
@media screen and (max-width: 767px) {
  .common-footer__navSubItem:nth-child(2) {
    width: auto;
  }
}

.common-footer__navSub li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #c5c7d3;
  line-height: 1.4;
  white-space: nowrap;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.common-footer__navSub li a::before {
  content: "";
  display: inline-block;
  width: 0.25rem;
  height: 0.25rem;
  background-color: #ccd0f0;
  -webkit-mask: url("img/common/icn_arrow-xs.svg") no-repeat center/contain;
          mask: url("img/common/icn_arrow-xs.svg") no-repeat center/contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/*-----------------------------
	コピーライト
------------------------------*/
.common-footer__copyright {
  display: block;
  margin-top: 4.5rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #c5c7d3;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .common-footer__copyright {
    margin-top: 2.5rem;
  }
}

/* module
============================================================================ */
/* module > common */
.mod-wave {
  position: absolute;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/415;
  pointer-events: none;
  line-height: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  .mod-wave {
    aspect-ratio: 375/122;
  }
}

.mod-wave--top {
  top: -3.75rem;
  background-image: url("img/common/bg_wave.svg");
  background-position: top center;
}
@media screen and (max-width: 767px) {
  .mod-wave--top {
    top: 3.25rem;
  }
}

.mod-wave--bottom {
  bottom: 0;
  background-image: url("img/common/bg_wave-bottom.svg");
  background-position: bottom center;
}

.mod-page-ttl__textBlock {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .mod-page-ttl__textBlock {
    gap: 0.375rem;
  }
}

.mod-page-ttl__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #00074b;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .mod-page-ttl__sub {
    gap: 0.375rem;
    font-size: 0.875rem;
  }
}
.mod-page-ttl__sub::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.0625rem;
  height: 1.1875rem;
  background: url("img/common/icn_arrow-lg.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .mod-page-ttl__sub::before {
    width: 0.625rem;
    height: 0.75rem;
  }
}

.mod-page-ttl__ttl {
  padding-left: 1.5625rem;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #00074b;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .mod-page-ttl__ttl {
    padding-left: 1rem;
    font-size: 1.625rem;
  }
}

.mod-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  font-family: "Noto Serif JP", serif;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-heading {
    gap: 0.5rem;
    font-size: 1.375rem;
  }
}
.mod-heading::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.25rem;
  height: 1.875rem;
  background: #c5a059;
}
@media screen and (max-width: 767px) {
  .mod-heading::before {
    height: 1.5rem;
  }
}

.mod-heading--white {
  color: white;
}

.mod-btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17.5rem;
  max-width: 100%;
  padding-block: 0.6875rem;
  padding-inline: 0.5rem 0.8125rem;
  background: #c5a059;
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
  text-align: center;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.mod-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.4375rem;
  height: 0.6875rem;
  background-color: currentColor;
  -webkit-mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
}
@media (any-hover: hover) {
  .mod-btn:hover {
    opacity: 0.7;
  }
}

/*-----------------------------
	色バリエーション
------------------------------*/
.mod-btn--gold {
  background: #c5a059;
}

.mod-btn--gray {
  background: #969696;
}

.mod-btn--primary {
  background: #00074b;
}

.mod-btn--outline {
  background: #f8f9fa;
  color: #00074b;
  border: 1px solid #00074b;
}

/*-----------------------------
	矢印の向き / 非活性
------------------------------*/
.mod-btn--prev::after {
  right: auto;
  left: 0.5rem;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.mod-btn:disabled,
.mod-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

@media (any-hover: hover) {
  .mod-btn:disabled:hover,
  .mod-btn.is-disabled:hover {
    opacity: 0.4;
  }
}
.mod-tag {
  display: inline-block;
  padding-block: 0.1875rem 0.25rem;
  padding-inline: 0.5rem;
  background: white;
  border: 1px solid #8b8da3;
  color: #373c68;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .mod-tag {
    padding-inline: 0.25rem;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.mod-tag__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding-block: 0.3125rem 0.375rem;
  padding-inline: 0.5rem;
  background: white;
  border: 1px solid #8b8da3;
  color: #373c68;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .mod-tag__arrow {
    padding-block: 0.4375rem 0.5rem;
    padding-inline: 0.375rem;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
  }
}

.mod-tag__icon {
  position: relative;
  top: 0.03125rem;
  display: inline-block;
  width: 0.375rem;
  height: 0.625rem;
  line-height: 0;
  background-color: currentColor;
  -webkit-mask: url("img/common/icn_arrow-sm.svg") no-repeat center/contain;
          mask: url("img/common/icn_arrow-sm.svg") no-repeat center/contain;
}

.mod-cta {
  position: sticky;
  bottom: 0;
  width: 100%;
  margin-top: auto;
  z-index: 900;
  background: #00074b;
  color: white;
}

.mod-cta__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem;
  max-width: 80rem;
  margin-inline: auto;
  height: 48px;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .mod-cta__inner {
    gap: 1rem;
    height: 2.875rem;
    padding: 0.625rem 0.75rem;
  }
}

.mod-cta__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .mod-cta__lead {
    gap: 0.5rem;
  }
}

.mod-cta__leadSm {
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .mod-cta__leadSm {
    font-size: 0.875rem;
  }
}

.mod-cta__leadLg {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .mod-cta__leadLg {
    font-size: 1.25rem;
  }
}

.mod-cta__divider {
  display: block;
  width: 1px;
  height: 1.625rem;
  background: white;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.mod-cta__btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  width: 10rem;
  padding: 0.375rem 1.5rem 0.375rem 0.5rem;
  background: white;
  color: #00074b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  border: 0.6px solid #00074b;
  border-radius: 0.25rem;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .mod-cta__btn {
    width: auto;
    padding: 0.25rem 1.25rem 0.25rem 0.375rem;
  }
}
.mod-cta__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.3125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: url("img/common/icn_arrow-cta.svg") no-repeat center/contain;
          mask: url("img/common/icn_arrow-cta.svg") no-repeat center/contain;
}

.mod-stepper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .mod-stepper {
    width: 18.875rem;
    max-width: 100%;
    height: 2.25rem;
    margin-inline: auto;
  }
}

.mod-stepper__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 11.25rem;
  padding-block: 0.4375rem;
  padding-inline: 1rem;
  background: #f8f9fa;
  border: 1px solid #00074b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mod-stepper__step {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 5.25rem;
    height: 2.125rem;
    padding-block: 0;
    padding-inline: 0.5rem;
    font-size: 0.875rem;
  }
}

.mod-stepper__step--active {
  background: #373c68;
  color: white;
}

.mod-stepper__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-inline: 0.75rem;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .mod-stepper__arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 1.5625rem;
    padding-inline: 0;
  }
}

.mod-stepper__arrow img {
  display: block;
  width: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .mod-stepper__arrow img {
    width: auto;
    height: 1rem;
  }
}

.mod-form__inputArea[hidden],
.mod-form__confirmArea[hidden] {
  display: none;
}

/*-----------------------------
	入力項目リスト全体と各行
------------------------------*/
.mod-form__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__list {
    gap: 3rem;
  }
}

.mod-form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .mod-form__row {
    gap: 1rem;
  }
}

.mod-form__row--radio,
.mod-form__row--textarea {
  gap: 1.25rem;
}

.mod-form__row--check {
  gap: 1rem;
}

/*-----------------------------
	ラベル行 (項目名 + 必須/任意バッジ)
------------------------------*/
.mod-form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__label {
    gap: 0.75rem;
  }
}

.mod-form__labelText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-form__labelText {
    font-size: 1rem;
  }
}

.mod-form__label--withNote {
  gap: 1rem;
}

.mod-form__labelMain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__labelMain {
    gap: 0.75rem;
  }
}

.mod-form__labelNote {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333333;
}

.mod-form__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0.25rem 0.40625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  color: white;
}
@media screen and (max-width: 767px) {
  .mod-form__badge {
    padding: 0.25rem;
    font-size: 0.75rem;
  }
}

.mod-form__badge--required {
  background: #970101;
}

.mod-form__badge--optional {
  background: #969696;
}
@media screen and (max-width: 767px) {
  .mod-form__badge--optional {
    background: #8b8da3;
  }
}

/*-----------------------------
	入力欄 (text / email / tel / textarea 共通)
------------------------------*/
.mod-form__field input[type=text],
.mod-form__field input[type=email],
.mod-form__field input[type=tel],
.mod-form__field textarea {
  width: 100%;
  padding: 0.46875rem 0.625rem;
  background: white;
  border: 1px solid #ccd0f0;
  border-radius: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .mod-form__field input[type=text],
  .mod-form__field input[type=email],
  .mod-form__field input[type=tel],
  .mod-form__field textarea {
    padding: 0.5625rem;
    font-size: 0.875rem;
  }
}

.mod-form__field input::-webkit-input-placeholder, .mod-form__field textarea::-webkit-input-placeholder {
  color: #969696;
}

.mod-form__field input::-moz-placeholder, .mod-form__field textarea::-moz-placeholder {
  color: #969696;
}

.mod-form__field input:-ms-input-placeholder, .mod-form__field textarea:-ms-input-placeholder {
  color: #969696;
}

.mod-form__field input::-ms-input-placeholder, .mod-form__field textarea::-ms-input-placeholder {
  color: #969696;
}

.mod-form__field input::placeholder,
.mod-form__field textarea::placeholder {
  color: #969696;
}

.mod-form__field input[type=tel] {
  width: 12.5rem;
  max-width: 100%;
}

.mod-form__row--textarea textarea {
  height: 12.5rem;
  resize: vertical;
}

/*-----------------------------
	担当者名 (姓 / 名 の2フィールド)
------------------------------*/
.mod-form__field--name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .mod-form__field--name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
  }
}

.mod-form__nameCol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .mod-form__nameCol {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.mod-form__nameLabel {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .mod-form__nameLabel {
    padding-top: 0.5625rem;
  }
}

.mod-form__nameCol .wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/*-----------------------------
	ラジオ (お問い合わせ種別)
------------------------------*/
.mod-form__row--radio .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}

.mod-form__row--radio .wpcf7-list-item {
  margin: 0;
}

.mod-form__row--radio .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.mod-form__row--radio input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0;
  background-color: #f8f9fa;
  border: 1px solid #969696;
  border-radius: 100%;
  cursor: pointer;
}

.mod-form__row--radio input[type=radio]:checked {
  background-image: radial-gradient(circle at center, #969696 0, #969696 0.25rem, transparent 0.25rem);
}

.mod-form__row--radio .wpcf7-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-form__row--radio .wpcf7-list-item-label {
    font-size: 0.875rem;
  }
}

/*-----------------------------
	リアルタイムバリデーション抑止 + エラー表示
------------------------------*/
.wpcf7-form:not(.invalid):not(.unaccepted) .mod-form__inputArea .wpcf7-not-valid-tip {
  display: none;
}

.wpcf7-form:not(.invalid):not(.unaccepted) .mod-form__inputArea .wpcf7-not-valid {
  border-color: #ccd0f0;
}

.mod-form__field .wpcf7-form-control-wrap {
  position: relative;
  display: block;
  width: 100%;
}

.mod-form__inputArea .wpcf7-not-valid-tip {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  color: #970101;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .mod-form__inputArea .wpcf7-not-valid-tip {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .mod-form__field--name .wpcf7-not-valid-tip {
    position: static;
    top: auto;
    margin-top: 0.125rem;
  }
}

.mod-form__inputArea .mod-form__groupTip {
  position: static;
  top: auto;
  left: auto;
  display: block;
  width: 100%;
  margin-top: 0;
}

.mod-form__field--birthday .wpcf7-form-control-wrap .wpcf7-not-valid-tip,
.mod-form__field--check .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: none;
}

/*-----------------------------
	送信完了メッセージ (CF7 標準)
------------------------------*/
.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

/*-----------------------------
	送信ボタン配置エリア (ボタン本体は mod-btn)
------------------------------*/
.mod-form__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__submit {
    margin-top: 5rem;
  }
}

.mod-form__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    margin-top: 5rem;
  }
}

/*-----------------------------
	確認エリア (確認値リスト)
------------------------------*/
.mod-form__list--confirm {
  gap: 1.5rem;
}

.mod-form__list--confirm .mod-form__row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .mod-form__list--confirm .mod-form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0.25rem;
  }
}

.mod-form__list--confirm .mod-form__row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.mod-form__list--confirm .mod-form__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10.125rem;
}
@media screen and (max-width: 767px) {
  .mod-form__list--confirm .mod-form__label {
    width: auto;
  }
}

.mod-form__confirmValue {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  white-space: pre-wrap;
  word-break: break-word;
}

.mod-form__confirmValue--split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

.mod-form__confirmValue--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__confirmValue--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.25rem;
  }
}

.mod-form__confirmItem {
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .mod-form__confirmItem {
    width: auto;
  }
}

.mod-form__confirmItem--full {
  width: 100%;
}

/*-----------------------------
	プライバシーポリシー同意チェックボックス
	入力エリア末尾 (送信ボタンの手前)。"プライバシーポリシー" は下線リンク
------------------------------*/
.mod-form__privacy {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__privacy {
    margin-top: 3rem;
  }
}

.mod-form__privacyBox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 0;
}

.mod-form__privacyBox .wpcf7-list-item {
  margin: 0;
}

.mod-form__privacyBox .wpcf7-list-item-label {
  display: none;
}

.mod-form__privacy input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0;
  background: #f8f9fa;
  border: 1px solid #969696;
  border-radius: 0;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .mod-form__privacy input[type=checkbox] {
    border-color: #b0b2c7;
  }
}

.mod-form__privacy input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4L3.6 6.5L9 1' fill='none' stroke='%2300074b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem 0.375rem;
}

.mod-form__privacyText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  color: #00074b;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .mod-form__privacyText {
    font-size: 0.875rem;
  }
}

.mod-form__privacyLink {
  color: #00074b;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .mod-form__privacyLink {
    text-underline-offset: 0.125rem;
  }
}

.mod-form__privacy .wpcf7-form-control-wrap {
  position: static;
}

/*-----------------------------
	セレクト (希望の転職時期 / 生年月日の年)
------------------------------*/
.mod-form__select {
  position: relative;
  display: block;
  width: 12.5rem;
  max-width: 100%;
}

.mod-form__field .mod-form__select {
  width: 12.5rem;
}

.mod-form__field--selectFull .mod-form__select {
  width: 100%;
}

.mod-form__selectNative {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.mod-form__selectToggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
  width: 100%;
  padding: 0.5rem 0.625rem;
  background: white;
  border: 1px solid #ccd0f0;
  cursor: pointer;
  text-align: left;
}

.mod-form__selectCurrent {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .mod-form__selectCurrent {
    font-size: 0.875rem;
  }
}

.mod-form__selectCurrent.is-placeholder {
  color: #969696;
}

.mod-form__selectArrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 0.5rem;
  background-color: #00074b;
  -webkit-mask: url("img/common/icn_chevron-down.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron-down.svg") no-repeat center/contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.js-formSelect.is-open .mod-form__selectArrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.mod-form__selectList {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  width: 100%;
  background: white;
  border: 1px solid #ccd0f0;
  border-top: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
}

.js-formSelect.is-open .mod-form__selectList {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

.mod-form__select--scroll .mod-form__selectList {
  max-height: 13.125rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #8b8da3 #e8e9ed;
}

.mod-form__select--scroll .mod-form__selectList::-webkit-scrollbar {
  width: 4px;
}

.mod-form__select--scroll .mod-form__selectList::-webkit-scrollbar-thumb {
  background: #8b8da3;
}

.mod-form__select--scroll .mod-form__selectList::-webkit-scrollbar-track {
  background: #e8e9ed;
}

.mod-form__selectItem {
  padding: 0.5rem 0.625rem;
  background: white;
  border-bottom: 1px solid #ccd0f0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .mod-form__selectItem {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-form__selectItem:hover {
    background: #f8f9fa;
  }
}

.mod-form__selectItem:last-child {
  border-bottom: none;
}

.wpcf7-form.invalid .mod-form__select:has(.mod-form__selectNative.wpcf7-not-valid) .mod-form__selectToggle,
.wpcf7-form.unaccepted .mod-form__select:has(.mod-form__selectNative.wpcf7-not-valid) .mod-form__selectToggle {
  border-color: #970101;
}

/*-----------------------------
	生年月日
------------------------------*/
.mod-form__field--birthday {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .mod-form__field--birthday {
    gap: 1.5rem;
  }
}

.mod-form__birthMd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-form__birthMd {
    gap: 0.75rem;
  }
}

.mod-form__birthUnit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}

.mod-form__unit {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .mod-form__unit {
    font-size: 0.875rem;
  }
}

.mod-form__field--birthday input[type=text] {
  width: 2.5rem;
}

.mod-form__field--birthday .wpcf7-form-control-wrap {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

.mod-form__birthYear .mod-form__select {
  width: 12.5rem;
}
@media screen and (max-width: 767px) {
  .mod-form__birthYear .mod-form__select {
    width: 10rem;
  }
}

/*-----------------------------
	保有資格 (チェックボックス複数選択)
------------------------------*/
.mod-form__field--check .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  row-gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .mod-form__field--check .wpcf7-checkbox {
    -webkit-column-gap: 1.75rem;
       -moz-column-gap: 1.75rem;
            column-gap: 1.75rem;
    row-gap: 0.875rem;
    padding-inline: 0.5rem;
  }
}

.mod-form__field--check .wpcf7-list-item {
  width: 11.75rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .mod-form__field--check .wpcf7-list-item {
    width: auto;
  }
}

.mod-form__field--check .wpcf7-list-item label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

.mod-form__field--check input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0;
  background: #f8f9fa;
  border: 1px solid #969696;
  border-radius: 0;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .mod-form__field--check input[type=checkbox] {
    border-color: #b0b2c7;
  }
}

.mod-form__field--check input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4L3.6 6.5L9 1' fill='none' stroke='%2300074b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.5rem 0.375rem;
}

.mod-form__field--check .wpcf7-list-item-label::before,
.mod-form__field--check .wpcf7-list-item-label::after {
  content: none;
}

.mod-form__field--check .wpcf7-list-item-label {
  padding-left: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-form__field--check .wpcf7-list-item-label {
    font-size: 0.875rem;
  }
}

.mod-form__mailValue {
  display: none;
}

.mod-form__otherInput {
  margin-top: 1rem;
}

.mod-form__field--selectFull .mod-form__otherInput {
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .mod-form__field--selectFull .mod-form__otherInput {
    margin-top: 1rem;
  }
}

.mod-form__otherInput[hidden] {
  display: none;
}

/*-----------------------------
	添付ファイル
	自作ボタン (label で native file input をラップし視覚的に隠す)
------------------------------*/
.mod-form__field--file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .mod-form__field--file {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
  }
}

.mod-form__fileBtn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 12.5rem;
  max-width: 100%;
  padding: 0.5rem 0.625rem;
  background: #e8e9ed;
  border: 1px solid #ccd0f0;
  cursor: pointer;
  overflow: hidden;
}

.mod-form__fileBtnText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mod-form__fileBtnText {
    font-size: 0.875rem;
  }
}

.mod-form__fileBtn .wpcf7-form-control-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mod-form__fileBtn input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.mod-form__fileName {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .mod-form__fileName {
    font-size: 0.75rem;
  }
}

.mod-post-list {
  width: 100%;
}

.mod-post-list__item {
  border-bottom: 1px solid #ccd0f0;
}

.mod-post-list__item:first-child .mod-post-list__link {
  padding-top: 0;
}

.mod-post-list__link {
  display: block;
  padding-block: 2.5rem;
  padding-inline: 2.5rem;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media (any-hover: hover) {
  .mod-post-list__link:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 767px) {
  .mod-post-list__link {
    padding-block: 1.5rem;
    padding-inline: 1rem;
  }
}

.mod-post-list__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-post-list__head {
    gap: 0.75rem;
  }
}

.mod-post-list__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}

.mod-post-list__title {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mod-post-list__title {
    margin-top: 0.75rem;
    gap: 0.75rem;
  }
}

.mod-post-list__title::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 1.1875rem;
  background-color: #00074b;
  -webkit-mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .mod-post-list__title::after {
    width: 0.5rem;
    height: 0.8125rem;
    -webkit-mask: url("img/common/icn_chevron-sm.svg") no-repeat center/contain;
            mask: url("img/common/icn_chevron-sm.svg") no-repeat center/contain;
  }
}

.mod-post-list__titleText {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .mod-post-list__titleText {
    font-size: 0.875rem;
    -webkit-line-clamp: 2;
  }
}

.mod-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767px) {
  .mod-pagination--pc {
    display: none;
  }
}

.mod-pagination--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .mod-pagination--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.mod-pagination .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -0.0625rem;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.mod-pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.mod-pagination ul.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
}

.mod-pagination li .page-numbers {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid #00074b;
  border-radius: 100%;
  background: #f8f9fa;
  color: #00074b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.mod-pagination li .page-numbers.current {
  background: #00074b;
  color: white;
}

.mod-pagination li .page-numbers.dots {
  width: auto;
  border: none;
  background: transparent;
  color: #00074b;
}

.mod-pagination li .page-numbers.prev,
.mod-pagination li .page-numbers.next {
  position: relative;
  width: auto;
  height: auto;
  border: none;
  border-radius: 0;
  background: transparent;
}
.mod-pagination li .page-numbers.prev::before,
.mod-pagination li .page-numbers.next::before {
  content: "";
  position: absolute;
  inset: -0.5rem;
}

.mod-pagination li .page-numbers.prev {
  margin-right: 1.75rem;
}

.mod-pagination li .page-numbers.next {
  margin-left: 1.75rem;
}

.mod-pagination__arrow {
  display: block;
  width: 0.75rem;
  height: 1.1875rem;
  background-color: #00074b;
  -webkit-mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
}

.mod-pagination__arrow--prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.mod-case-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 20.75rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .mod-case-card {
    width: 100%;
  }
}

.mod-case-card__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.375rem;
  padding-block: 1rem 1.25rem;
  padding-inline: 0.75rem;
  overflow: hidden;
  border: 1px solid #373c68;
  background: rgba(0, 7, 75, 0.8);
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  text-align: center;
  color: white;
}
@media screen and (max-width: 767px) {
  .mod-case-card__title {
    height: 2.4375rem;
    padding-block: 0.625rem;
    font-size: 1rem;
  }
}

.mod-case-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #373c68;
  border-top: none;
  background: white;
}
@media screen and (max-width: 767px) {
  .mod-case-card__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0.625rem;
    padding-block: 1.125rem 1.625rem;
    padding-inline: 1rem;
  }
}

.mod-case-card__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .mod-case-card__side {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 8rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.mod-case-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .mod-case-card__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.mod-case-card__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 1.4375rem;
  padding-inline: 0.75rem;
  border: 1px solid #00074b;
  border-radius: 0.125rem;
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #00074b;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .mod-case-card__label {
    width: 100%;
    height: 1.1875rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
  }
}

.mod-case-card__label--after {
  background: #00074b;
  color: white;
}
@media screen and (max-width: 767px) {
  .mod-case-card__label--after {
    border-radius: 0.125rem;
  }
}

.mod-case-card__industry {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .mod-case-card__industry {
    font-size: 0.8125rem;
    line-height: 1.4;
    text-align: center;
    margin-block: -0.25rem;
  }
}

.mod-case-card__income {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.3125rem;
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .mod-case-card__income {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-top: 1rem;
    padding-top: 1rem;
    min-height: 3rem;
  }
}

.mod-case-card__num {
  font-family: "Noto Serif JP", serif;
  font-size: 1.625rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  color: #333333;
}

.mod-case-card__income--after .mod-case-card__num {
  font-size: 2rem;
  color: #a6813b;
}

.mod-case-card__unit {
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #333333;
}

.mod-case-card__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1rem;
  height: 0.875rem;
  background-color: #c5a059;
  -webkit-mask: url("img/common/icn_arrow-case.svg") no-repeat center/contain;
          mask: url("img/common/icn_arrow-case.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .mod-case-card__arrow {
    -ms-flex-item-align: center;
        align-self: center;
    width: 0.75rem;
    height: 0.875rem;
    margin-top: 0.625rem;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
}

.mod-hscroll {
  position: relative;
}

.mod-hscroll__list {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.mod-hscroll__list::-webkit-scrollbar {
  display: none;
}

.mod-hscroll__bar {
  display: none;
  height: 0.25rem;
  margin-top: 0.5rem;
  background: #e8e9ed;
}

.mod-hscroll__bar.is-visible {
  display: block;
}

.mod-hscroll__thumb {
  display: block;
  width: 18.75rem;
  height: 100%;
  background: #8b8da3;
}
@media screen and (max-width: 767px) {
  .mod-hscroll__thumb {
    width: 3.75rem;
  }
}

.mod-cta-banner {
  position: relative;
  background: #a6813b;
}

.mod-cta-banner::before {
  content: "";
  position: absolute;
  inset: 0.625rem;
  background: rgba(255, 255, 255, 0.1);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner::before {
    inset: 0.375rem;
  }
}

.mod-cta-banner__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.75rem;
  padding: 3.75rem;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    padding: 2rem 1.5rem;
  }
}

.mod-cta-banner__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.5rem;
  width: 27.5rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__col {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    gap: 1.25rem;
  }
}

.mod-cta-banner__body {
  width: 100%;
}

.mod-cta-banner__ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  color: white;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__ttl {
    font-size: 1.25rem;
  }
}

.mod-cta-banner__text {
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: white;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__text {
    font-size: 0.875rem;
  }
}

.mod-cta-banner__img {
  margin-top: 1rem;
  width: 100%;
  aspect-ratio: 440/176;
  overflow: hidden;
}

.mod-cta-banner__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mod-cta-banner__divider {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  width: 1px;
  background: #f8f9fa;
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__divider {
    -ms-flex-item-align: auto;
        align-self: auto;
    width: 100%;
    height: 1px;
  }
}

.mod-cta-banner__btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17.5rem;
  max-width: 100%;
  height: 2.5rem;
  padding-inline: 1rem;
  background: rgba(161, 161, 161, 0.2);
  color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  border: 1px solid white;
  border-radius: 0.25rem;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media (any-hover: hover) {
  .mod-cta-banner__btn:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 767px) {
  .mod-cta-banner__btn {
    margin-inline: auto;
  }
}
.mod-cta-banner__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.75rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.3125rem;
  height: 0.5rem;
  background-color: currentColor;
  -webkit-mask: url("img/common/icn_chevron-cta.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron-cta.svg") no-repeat center/contain;
}

.mod-cta-banner__btn--assess::after {
  right: 1rem;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask-image: url("img/common/icn_arrow-cta-assess.svg");
          mask-image: url("img/common/icn_arrow-cta-assess.svg");
}

.mod-consultant-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.mod-consultant-card__link {
  display: block;
  height: 100%;
}
@media (any-hover: hover) {
  .mod-consultant-card__link:hover {
    opacity: 1;
  }
  .mod-consultant-card__link:hover .mod-consultant-card__photo {
    opacity: 0.5;
  }
}

.mod-consultant-card__photo {
  width: 100%;
  aspect-ratio: 240/280;
  background: white;
  overflow: hidden;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .mod-consultant-card__photo {
    aspect-ratio: 140/162;
  }
}

.mod-consultant-card__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.mod-consultant-card__name {
  margin-top: 0.75rem;
}

.mod-consultant-card__nameJa {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}

.mod-consultant-card__nameEn {
  display: block;
  margin-top: 0.375rem;
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-consultant-card__nameEn {
    margin-top: 0.125rem;
  }
}

.mod-consultant-card--white .mod-consultant-card__nameJa,
.mod-consultant-card--white .mod-consultant-card__nameEn {
  color: white;
}

@media screen and (max-width: 767px) {
  .mod-consultant-list {
    padding-inline: 0.96875rem;
  }
}

.mod-consultant-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.125rem 5rem;
  width: 55rem;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .mod-consultant-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.25rem 2.5rem;
    width: 100%;
  }
}

.mod-consultant-list__btn {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.mod-voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.625rem;
}
@media screen and (max-width: 767px) {
  .mod-voice {
    gap: 0.75rem;
  }
}

.mod-voice__swiper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  overflow: hidden;
}

.mod-voice__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mod-voice__slide.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: auto;
  padding-block: 1.25rem;
  padding-inline: 1rem;
  background: white;
  border: 1px solid #00074b;
}

.mod-voice__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #00074b;
}

.mod-voice__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 7.5rem;
  margin-top: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .mod-voice__text {
    min-height: 8.75rem;
  }
}

.mod-voice__arrow {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 1.1875rem;
  padding: 0;
  background: url("img/common/icn_chevron-voice.svg") no-repeat center/contain;
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.mod-voice__arrow::before {
  content: "";
  position: absolute;
  inset: -1rem;
}
@media (any-hover: hover) {
  .mod-voice__arrow:hover {
    opacity: 0.6;
  }
}

.mod-voice__arrow--prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.mod-news-filter {
  position: relative;
}
@media screen and (max-width: 767px) {
  .mod-news-filter {
    width: clamp(19.9375rem, 85vw, 25rem);
    max-width: 100%;
    margin-inline: auto;
  }
}

.mod-news-filter__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .mod-news-filter__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100%;
    padding: 0;
    background: #f8f9fa;
    border: 1px solid #8b8da3;
    cursor: pointer;
  }
}

@media screen and (max-width: 767px) {
  .mod-news-filter__current {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-item-align: center;
        align-self: center;
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
    color: #00074b;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.mod-news-filter__arrow {
  display: none;
}
@media screen and (max-width: 767px) {
  .mod-news-filter__arrow {
    display: grid;
    place-items: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 2.125rem;
    border-left: 1px solid #8b8da3;
  }
  .mod-news-filter__arrow::before {
    content: "";
    width: 0.75rem;
    height: 0.5rem;
    background-color: #00074b;
    -webkit-mask: url("img/common/icn_chevron-down.svg") no-repeat center/contain;
            mask: url("img/common/icn_chevron-down.svg") no-repeat center/contain;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}

@media screen and (max-width: 767px) {
  .js-newsFilter.is-open .mod-news-filter__arrow::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

.mod-news-filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
  row-gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .mod-news-filter__list {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0;
    width: 100%;
    max-height: 9.625rem;
    overflow-y: auto;
    background: #f8f9fa;
    border: 1px solid #8b8da3;
    border-top: none;
    scrollbar-width: thin;
    scrollbar-color: #8b8da3 #e8e9ed;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem);
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
    pointer-events: none;
  }
  .mod-news-filter__list::-webkit-scrollbar {
    width: 4px;
  }
  .mod-news-filter__list::-webkit-scrollbar-thumb {
    background: #8b8da3;
  }
  .mod-news-filter__list::-webkit-scrollbar-track {
    background: #e8e9ed;
  }
}

@media screen and (max-width: 767px) {
  .js-newsFilter.is-open .mod-news-filter__list {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
  }
}

.mod-news-filter__item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #8b8da3;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .mod-news-filter__item {
    display: block;
    padding-block: 0.75rem;
    padding-inline: 0.75rem 2rem;
    border-bottom: 1px solid #8b8da3;
    font-weight: 400;
    line-height: 1;
  }
}

.mod-news-filter__item.is-current {
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .mod-news-filter__item.is-current {
    display: none;
  }
}

/* module > page */
.page-service {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-service {
    padding-top: 2rem;
    padding-bottom: 10rem;
  }
}

.page-service .common-inner {
  position: relative;
  z-index: 1;
}

/*-----------------------------
	メッセージ (リード + 説明文)
------------------------------*/
.page-service__message {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-service__message {
    margin-top: 5.5rem;
  }
}

.page-service__lead {
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-service__lead {
    font-size: 1.25rem;
  }
}

.page-service__desc {
  margin-top: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-service__desc {
    margin-top: 1.75rem;
    font-size: 0.875rem;
    text-align: left;
  }
}

/*-----------------------------
	サービスカードエリア
------------------------------*/
.page-service__cardArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-service__cardArea {
    margin-top: 3.75rem;
  }
}

.page-service__card {
  position: relative;
  z-index: 1;
  max-width: 70rem;
  margin-inline: auto;
  background: white;
  padding: 2.5rem 2.5rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-service__card {
    padding: 1.25rem 1.25rem 2.5rem;
    border-radius: 0.75rem;
  }
}

.page-service__cardHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .page-service__cardHead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.625rem;
    padding-bottom: 0.875rem;
  }
}

.page-service__cardTtl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-service__cardTtl {
    font-size: 1.375rem;
  }
}

.page-service__cardSub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  padding-right: 0.75rem;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1;
  color: #e8e9ed;
}
@media screen and (max-width: 767px) {
  .page-service__cardSub {
    gap: 0.5rem;
    font-size: 1.75rem;
    padding-right: 0;
  }
}

/*-----------------------------
	カードボディ (テキスト側 + 画像側)
------------------------------*/
.page-service__cardBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .page-service__cardBody {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.page-service__cardLeft {
  width: 32.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .page-service__cardLeft {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.page-service__cardLeft > .page-service__tagList {
  margin-top: 1.75rem;
}
.page-service__cardLeft > .mod-btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-service__cardLeft > .mod-btn {
    margin-inline: auto;
  }
}

.page-service__cardTxt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-service__cardTxt {
    font-size: 0.875rem;
  }
}

.page-service__tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  line-height: 1;
}

.page-service__tagItem {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1;
}

.page-service__cardImg {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .page-service__cardImg {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.page-service__cardImg picture,
.page-service__cardImg img {
  display: block;
  width: 100%;
  height: auto;
}

.page-career-support {
  position: relative;
  background: #f8f9fa;
  padding-block: clamp(1.25rem, calc(100svh - 64px - 48px - 14.5rem) * 40 / 480, 2.5rem) 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-career-support {
    padding-block: 1.5rem 7.5rem;
  }
}

/*-----------------------------
	Hero (page-ttl + 見出し + 強み3円)
------------------------------*/
.page-career-support__hero {
  position: relative;
  padding-bottom: 19.625rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__hero {
    padding-bottom: 11.375rem;
  }
}

.page-career-support__hero .common-inner {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .page-career-support__hero .mod-wave--bottom {
    bottom: 3.75rem;
  }
}

.page-career-support__heroMessage {
  margin-top: clamp(3.5rem, calc(100svh - 64px - 48px - 14.5rem) * 120 / 480, 7.5rem);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-career-support__heroMessage {
    margin-top: 4.5rem;
  }
}

.page-career-support__heroLead {
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-career-support__heroLead {
    font-size: 1.25rem;
  }
}

.page-career-support__strengths {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.5rem;
  margin-top: clamp(1.25rem, calc(100svh - 64px - 48px - 14.5rem) * 40 / 480, 2.5rem);
}
@media screen and (max-width: 767px) {
  .page-career-support__strengths {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.75rem;
  }
}

.page-career-support__strength {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page-career-support__strength:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 2.25rem);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2rem;
  height: 2rem;
  background: url("img/page/career-support/icn_cross.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-career-support__strength:nth-child(2) {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .page-career-support__strength:nth-child(3) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-top: -1.25rem;
  }
  .page-career-support__strength:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: -1.25rem;
  }
  .page-career-support__strength:not(:last-child)::after {
    display: none;
  }
}

.page-career-support__strengthInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(12.5rem, calc(100svh - 64px - 48px - 14.5rem) * 280 / 480, 17.5rem);
  height: clamp(12.5rem, calc(100svh - 64px - 48px - 14.5rem) * 280 / 480, 17.5rem);
  padding: 1rem;
  background: white;
  border: 1px solid #00074b;
  border-radius: 100%;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.1625rem, calc(100svh - 64px - 48px - 14.5rem) * 26 / 480, 1.625rem);
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-career-support__strengthInner {
    width: clamp(9.75rem, 28vw + 3.1875rem, 11.625rem);
    height: auto;
    aspect-ratio: 1;
    font-size: clamp(0.9375rem, 2.6vw + 0.33125rem, 1.125rem);
  }
}

/*-----------------------------
	共通: セクション見出しブロック / リード
------------------------------*/
.page-career-support__lead {
  margin-top: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .page-career-support__lead {
    margin-top: 1.5rem;
    font-size: 0.875rem;
  }
}

/*-----------------------------
	対応専門領域
------------------------------*/
.page-career-support__specialties {
  margin-top: 0;
}

.page-career-support__fieldList {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.75rem 1.625rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__fieldList {
    margin-top: 2.5rem;
    grid-template-columns: repeat(2, clamp(10rem, 20vw + 5.3125rem, 13.75rem));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
  }
}

.page-career-support__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.page-career-support__fieldLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.25rem;
  width: 100%;
  padding: 1.25rem;
  background: white;
  border: 1px solid #00074b;
  color: #00074b;
  text-align: center;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .page-career-support__fieldLink {
    gap: 0.625rem;
    aspect-ratio: 160/148;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-block: 0.75rem 1rem;
    padding-inline: 0.3125rem;
  }
}
@media (any-hover: hover) {
  .page-career-support__fieldLink:hover {
    opacity: 0.5;
  }
}

.page-career-support__fieldName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-career-support__fieldName {
    height: auto;
    min-height: 2.25rem;
    font-size: clamp(0.75rem, 0.667vw + 0.59375rem, 0.875rem);
  }
}

.page-career-support__fieldIcon {
  width: 10rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .page-career-support__fieldIcon {
    width: 66.2%;
  }
}

.page-career-support__fieldSvg {
  display: block;
  width: 100%;
  height: auto;
}

/*-----------------------------
	転職成功事例
------------------------------*/
.page-career-support__case {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__case {
    padding-top: 7.5rem;
  }
}

.page-career-support__caseList {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.875rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__caseList {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    max-width: 20rem;
    margin-inline: auto;
  }
}

/*-----------------------------
	CTA帯 (mod-cta-banner のページ余白のみ)
------------------------------*/
.page-career-support__cta {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__cta {
    padding-top: 7.5rem;
  }
}

/*-----------------------------
	転職支援の流れ
------------------------------*/
.page-career-support__flow {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__flow {
    padding-top: 7.5rem;
  }
}

.page-career-support__flowList {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.1875rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowList {
    margin-top: 2.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.375rem;
  }
}

.page-career-support__flowStep {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  width: 11.4375rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowStep {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    width: 20.3125rem;
    max-width: 100%;
  }
}
.page-career-support__flowStep:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 5.71875rem;
  left: calc(100% + 0.75rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.6875rem;
  height: 1.9375rem;
  background-color: #8b8da3;
  -webkit-mask: url("img/common/icn_step-arrow.svg") no-repeat center/contain;
          mask: url("img/common/icn_step-arrow.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowStep:not(:last-child)::after {
    top: calc(100% + 1.1875rem);
    bottom: auto;
    left: 4.375rem;
    width: 1.375rem;
    height: 1.5rem;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
}

.page-career-support__flowCircle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11.4375rem;
  height: 11.4375rem;
  padding-top: 2rem;
  background: white;
  border: 1px solid #00074b;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowCircle {
    gap: 0.625rem;
    width: 8.75rem;
    height: 8.75rem;
  }
}

.page-career-support__flowNum {
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  color: #8b8da3;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowNum {
    font-size: 1.5rem;
  }
}

.page-career-support__flowTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowTitle {
    font-size: 1rem;
  }
}

.page-career-support__flowDesc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-career-support__flowDesc {
    font-size: 0.875rem;
    text-align: left;
  }
}

/*-----------------------------
	コンサルタント紹介
------------------------------*/
.page-career-support__consultant {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__consultant {
    padding-top: 7.5rem;
  }
}

.page-career-support__consultantBody {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__consultantBody {
    margin-top: 2.5rem;
    max-width: 31.25rem;
    margin-inline: auto;
  }
}

/*-----------------------------
	転職者の声 (mod-voice のページ余白のみ)
------------------------------*/
.page-career-support__voices {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__voices {
    padding-top: 7.5rem;
  }
}

.page-career-support__voices .mod-voice {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__voices .mod-voice {
    margin-top: 3.25rem;
    max-width: 30rem;
    margin-inline: auto;
  }
}

/*-----------------------------
	よくある質問 (アコーディオン)
------------------------------*/
.page-career-support__faq {
  padding-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__faq {
    padding-top: 7.5rem;
  }
}

.page-career-support__faqList {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqList {
    margin-top: 2.5rem;
    gap: 1.5rem;
  }
}

.page-career-support__faqItem {
  background: white;
  border: 1px solid #00074b;
}

.page-career-support__faqQBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  width: 100%;
  padding-block: 1.25rem 1rem;
  padding-inline: 1.25rem;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqQBtn {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.5rem;
    padding-inline: 1rem;
  }
}

.page-career-support__faqGlyph {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.page-career-support__faqGlyph--q {
  width: 1.6875rem;
  height: 2.375rem;
  background: url("img/page/career-support/icn_faq-q.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqGlyph--q {
    width: 1.25rem;
    height: 1.75rem;
  }
}

.page-career-support__faqGlyph--a {
  width: 1.6875rem;
  height: 2.375rem;
  background: url("img/page/career-support/icn_faq-a.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqGlyph--a {
    width: 1.25rem;
    height: 1.75rem;
  }
}

.page-career-support__faqQText {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqQText {
    font-size: 0.875rem;
    text-align: justify;
  }
}

.page-career-support__faqToggle {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.25rem;
}
.page-career-support__faqToggle::before, .page-career-support__faqToggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.875rem;
  height: 1.5px;
  background: #00074b;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-career-support__faqToggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.js-accordion-btn[aria-expanded=true] .page-career-support__faqToggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}

.page-career-support__faqA {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.35s ease;
  transition: grid-template-rows 0.35s ease;
  transition: grid-template-rows 0.35s ease, -ms-grid-rows 0.35s ease;
}

.page-career-support__faqItem.is-open .page-career-support__faqA {
  grid-template-rows: 1fr;
}

.page-career-support__faqAInner {
  overflow: hidden;
  min-height: 0;
}

.page-career-support__faqABody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  padding-block: 1rem 1.25rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqABody {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
    padding-inline: 1rem;
  }
}

.page-career-support__faqAText {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-career-support__faqAText {
    font-size: 0.875rem;
  }
}

.page-about {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-about {
    padding-top: 2rem;
  }
}

.page-about .mod-wave--bottom {
  bottom: -18.125rem;
}
@media screen and (max-width: 767px) {
  .page-about .mod-wave--bottom {
    bottom: -7.5rem;
  }
}

.page-about__hero {
  position: relative;
}

.page-about__hero .common-inner {
  position: relative;
  z-index: 1;
}

/*-----------------------------
	メッセージ (リード + 説明画像)
	縦積みは margin-top、横並びは gap
------------------------------*/
.page-about__message {
  margin-top: 10.0625rem;
}
@media screen and (max-width: 767px) {
  .page-about__message {
    margin-top: 5.625rem;
  }
}

.page-about__lead {
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-about__lead {
    font-size: 1.25rem;
  }
}

.page-about__messageContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 3.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-about__messageContent {
    display: block;
    margin-top: 1.75rem;
  }
}

.page-about__messageText {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .page-about__messageText {
    margin-top: 1.75rem;
  }
}
.page-about__messageText p + p {
  margin-top: 0.75rem;
}
.page-about__messageText p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-about__messageText p {
    font-size: 0.875rem;
  }
}

.page-about__messageImg {
  width: 35rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 560/260;
  line-height: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-about__messageImg {
    width: 100%;
    aspect-ratio: 351/162;
  }
}
.page-about__messageImg picture,
.page-about__messageImg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-about__profile {
  position: relative;
  z-index: 1;
  padding-top: 15rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .page-about__profile {
    padding-top: 11.375rem;
  }
}

.page-about__profileTable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-about__profileTable {
    margin-top: 3.25rem;
  }
}

.page-about__profileRow {
  display: grid;
  grid-template-columns: 15rem 1fr;
}
@media screen and (max-width: 767px) {
  .page-about__profileRow {
    grid-template-columns: 5.75rem 1fr;
  }
}
.page-about__profileRow dt,
.page-about__profileRow dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.75rem;
  border: 1px solid #ccd0f0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-about__profileRow dt,
  .page-about__profileRow dd {
    padding: 0.75rem 0.5rem;
    font-size: 0.875rem;
  }
}
.page-about__profileRow dt {
  background: #e8e9ed;
  font-weight: 700;
}
.page-about__profileRow dd {
  background: #f8f9fa;
  font-weight: 400;
  border-left: none;
}
.page-about__profileRow + .page-about__profileRow dt,
.page-about__profileRow + .page-about__profileRow dd {
  border-top: none;
}

.page-about__profileRow dd p {
  margin: 0;
}

.page-about__partners {
  position: relative;
  z-index: 1;
  background: white;
  padding: 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .page-about__partners {
    padding: 3.75rem 0;
  }
}

/*-----------------------------
	ロゴグリッド (6列 / SP 4列)
------------------------------*/
.page-about__partnerList {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 3.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: center;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-about__partnerList {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.125rem;
    margin-top: 3.25rem;
  }
}
.page-about__partnerList img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.page-about__partnerItem {
  width: 100%;
  max-width: 8.875rem;
  aspect-ratio: 142/95;
}
@media screen and (max-width: 767px) {
  .page-about__partnerItem {
    max-width: 3.75rem;
    aspect-ratio: 60/40;
  }
}

.page-about__access {
  position: relative;
  z-index: 1;
  padding-top: 6.25rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .page-about__access {
    padding-bottom: 10rem;
  }
}

.page-about__accessBody {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-about__accessBody {
    margin-top: 3.25rem;
  }
}

.page-about__accessMap {
  width: 100%;
  aspect-ratio: 1120/400;
  line-height: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-about__accessMap {
    aspect-ratio: 351/240;
  }
}
.page-about__accessMap iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-about__accessAddress {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-about__accessAddress {
    margin-top: 2rem;
  }
}
.page-about__accessAddress p + p {
  margin-top: 0.75rem;
}
.page-about__accessAddress p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-about__accessAddress p {
    font-size: 0.875rem;
  }
}

.page-news {
  position: relative;
  background: #f8f9fa;
  padding-block: 2.5rem 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-news {
    padding-block: 2rem 10rem;
  }
}

.page-news .common-inner {
  position: relative;
  z-index: 1;
}

.page-news__content {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-news__content {
    margin-top: 5.5rem;
  }
}

.page-news .mod-post-list {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-news .mod-post-list {
    margin-top: 3.25rem;
  }
}

.page-news .mod-pagination {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-news .mod-pagination {
    margin-top: 3.25rem;
  }
}

.page-news__empty {
  margin-top: 5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-news__empty {
    margin-top: 3.25rem;
    font-size: 0.875rem;
  }
}

.page-single {
  position: relative;
  background: #f8f9fa;
  padding-block: 2.5rem 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-single {
    padding-block: 2rem 10rem;
  }
}

.page-single__inner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-single__inner {
    max-width: 37.5rem;
    padding-inline: 1rem;
  }
}

.page-single__content {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-single__content {
    margin-top: 5.5rem;
  }
}

/*-----------------------------
	2カラム本体 (article_block)
	SP: 1カラム (サイドバー非表示)
------------------------------*/
.page-single__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-single__body {
    display: block;
  }
}

.page-single__main {
  width: 48.75rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .page-single__main {
    width: 100%;
  }
}

.page-single__side {
  width: 20rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .page-single__side {
    display: none;
  }
}

/*-----------------------------
	記事ヘッダー (日付+タグ / タイトル / 区切り線)
------------------------------*/
.page-single__head {
  border-bottom: 1px solid #ccd0f0;
  padding-bottom: 1rem;
}

.page-single__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .page-single__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
  }
}

.page-single__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}

.page-single__title {
  margin-top: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
@media screen and (max-width: 767px) {
  .page-single__title {
    font-size: 1.25rem;
  }
}

/*-----------------------------
	本文 (Gutenberg / .single-content)
------------------------------*/
.single-content {
  margin-top: 3.75rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
}

.single-content > * {
  margin-top: 3.75rem;
}

.single-content > :first-child {
  margin-top: 0;
}

.single-content h2,
.single-content h3,
.single-content h4,
.single-content h5,
.single-content h6 {
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}

.single-content h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content h2 {
    font-size: 1.125rem;
  }
}

.single-content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content h3 {
    font-size: 1rem;
  }
}

.single-content h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content h4 {
    font-size: 0.875rem;
    font-weight: 700;
  }
}

.single-content p {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content p {
    font-size: 0.875rem;
  }
}

.single-content strong {
  font-weight: 700;
}

.single-content ol {
  list-style: decimal;
  padding-left: 1.5rem;
}

.single-content ol > li {
  list-style-type: decimal;
}

.single-content ul {
  padding-left: 0;
}

.single-content ul > li {
  position: relative;
  padding-left: 0.75rem;
}

.single-content ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #333333;
}

.single-content li {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content li {
    font-size: 0.875rem;
  }
}

.single-content li + li {
  margin-top: 0.875rem;
}

.single-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

.single-content figure {
  margin: 0;
}

.single-content > figure {
  margin-top: 3.75rem;
}

.single-content > figure:first-child {
  margin-top: 0;
}

.single-content .wp-block-image.size-large img {
  width: 47.25rem;
  max-width: 100%;
  aspect-ratio: 756/460;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .single-content .wp-block-image.size-large img {
    width: 100%;
    aspect-ratio: 343/214;
  }
}

.single-content figcaption {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.6;
  color: #8b8da3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single-content figcaption {
    font-size: 0.6875rem;
  }
}

.single-content .wp-block-media-text {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .single-content .wp-block-media-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.single-content .wp-block-media-text__media img {
  width: 22.875rem;
  max-width: 100%;
  aspect-ratio: 366/320;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin-right: auto;
  margin-left: 0.75rem;
}
@media screen and (max-width: 767px) {
  .single-content .wp-block-media-text__media img {
    width: 100%;
    aspect-ratio: 343/300;
    margin-inline: 0;
  }
}

.single-content .wp-block-media-text__content {
  padding: 0;
}

.single-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 1;
}

.single-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  grid-column: 2;
}

.single-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media img {
  margin-left: auto;
  margin-right: 0.75rem;
}
@media screen and (max-width: 767px) {
  .single-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media img {
    margin-inline: 0;
  }
}

.single-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
}

.single-content th,
.single-content td {
  padding: 0.75rem;
  border: 1px solid #ccd0f0;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .single-content th,
  .single-content td {
    padding: 0.5rem;
    font-size: 0.75rem;
  }
}

.single-content td {
  background: #f8f9fa;
  font-weight: 400;
  color: #333333;
}

.single-content th,
.single-content td:first-child {
  width: 15rem;
  background: #e8e9ed;
  font-weight: 700;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content th,
  .single-content td:first-child {
    width: 7.5rem;
  }
}

.single-content blockquote {
  padding: 1.25rem 1.5rem;
  background: white;
  border-left: 0.25rem solid #373c68;
  font-size: 1rem;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single-content blockquote {
    padding: 1rem;
    font-size: 0.875rem;
  }
}

.single-content a {
  color: #00074b;
  text-decoration: underline;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

/*-----------------------------
	この記事をシェアする
------------------------------*/
.page-single__share {
  margin-top: 3.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .page-single__share {
    margin-top: 3.75rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.125rem;
  }
}

.page-single__shareLabel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-single__shareLabel {
    font-size: 1rem;
  }
}

.page-single__shareList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}

.page-single__shareLink {
  display: block;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.page-single__shareLink img {
  width: 2.5rem;
  height: 2.5rem;
  display: block;
}

/*-----------------------------
	サイドバー (カテゴリー / 最新記事) ※PCのみ
------------------------------*/
.page-single__sideBlock {
  background: white;
}

.page-single__sideBlock + .page-single__sideBlock {
  margin-top: 0.75rem;
}

.page-single__sideTtl {
  padding: 0.5rem 0.75rem;
  background: #373c68;
  color: white;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.page-single__catList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1rem;
}

.page-single__catLink {
  display: inline-block;
  padding: 0.25rem;
  background: white;
  border: 1px solid #8b8da3;
  color: #373c68;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.page-single__recentList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
}

.page-single__recentItem {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #ccd0f0;
}

.page-single__recentLink {
  display: block;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}

.page-single__recentHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0.625rem;
}

.page-single__recentDate {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #373c68;
}

.page-single__recentTitle {
  margin-top: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #333333;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-single__side .mod-tag {
  padding-inline: 0.25rem;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*-----------------------------
	区切り線 (本体 → ページャー)
------------------------------*/
.page-single__divider {
  margin-top: 5rem;
  border: none;
  border-top: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .page-single__divider {
    margin-top: 3.75rem;
  }
}

/*-----------------------------
	ページャー (前の記事 | 一覧へ戻る | 次の記事)
------------------------------*/
.page-single__pager {
  margin-top: 5rem;
  max-width: 70rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .page-single__pager {
    margin-top: 3.75rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 5rem;
  }
}

.page-single__pagerLink {
  display: block;
  width: 16.25rem;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
@media screen and (max-width: 767px) {
  .page-single__pagerLink {
    width: 10rem;
  }
}

.page-single__pagerLink--next {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .page-single__pagerLink--next {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media screen and (max-width: 767px) {
  .page-single__pagerLink--prev {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media screen and (max-width: 767px) {
  .page-single__pagerBtn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-inline: auto;
  }
}

.page-single__pagerLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-single__pagerLabel {
    gap: 0.5rem;
    font-size: 0.875rem;
  }
}

.page-single__pagerArrow {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 1.1875rem;
  background-color: #00074b;
  -webkit-mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
          mask: url("img/common/icn_chevron.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-single__pagerArrow {
    width: 0.5rem;
    height: 0.8125rem;
  }
}

.page-single__pagerArrow--prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.page-single__pagerTitle {
  margin-top: 0.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #00074b;
  padding-left: 1.75rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .page-single__pagerTitle {
    font-size: 0.875rem;
    padding-left: 0;
  }
}

.page-single__pagerLink--next .page-single__pagerTitle {
  padding-left: 0;
  padding-right: 1.75rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .page-single__pagerLink--next .page-single__pagerTitle {
    padding-right: 0;
  }
}

.page-single__pagerLink--next .page-single__pagerLabel {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.page-single__pagerLink.is-empty {
  pointer-events: none;
}

.page-consultant {
  position: relative;
  background: #f8f9fa;
  padding-block: 2.5rem 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-consultant {
    padding-block: 2rem 10rem;
  }
}

.page-consultant .common-inner {
  position: relative;
  z-index: 1;
}

.page-consultant__content {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-consultant__content {
    margin-top: 5.5rem;
  }
}

/*-----------------------------
	導入メッセージ (中央寄せ)
------------------------------*/
.page-consultant__message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.page-consultant__lead {
  margin-block: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-consultant__lead {
    font-size: 1.25rem;
  }
}

.page-consultant__text {
  margin-top: 1.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-consultant__text {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    text-align: left;
  }
}

/*-----------------------------
	カード一覧 (PC3列grid / SP1列)
------------------------------*/
.page-consultant__list {
  margin-top: 3.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.875rem;
}
@media screen and (max-width: 767px) {
  .page-consultant__list {
    max-width: 31.25rem;
    margin-inline: auto;
    margin-top: 2.5rem;
    padding-inline: 0.84375rem;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.page-consultant__empty {
  margin-top: 3.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-consultant__empty {
    margin-top: 2.5rem;
    font-size: 0.875rem;
  }
}

.page-consultant__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.25rem 1.25rem 2rem;
  background: white;
}
@media screen and (max-width: 767px) {
  .page-consultant__card {
    padding: 1rem 1rem 1.5rem;
  }
}

.page-consultant__photo {
  width: 12.5rem;
  max-width: 100%;
  aspect-ratio: 200/234;
  overflow: hidden;
  background: white;
}

.page-consultant__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-consultant__name {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .page-consultant__name {
    margin-top: 1rem;
  }
}

.page-consultant__nameJa {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  color: #00074b;
}

.page-consultant__nameEn {
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  color: #00074b;
}

.page-consultant__body {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-consultant__body {
    margin-top: 1rem;
  }
}

.page-consultant__profile {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
@media screen and (max-width: 767px) {
  .page-consultant__profile {
    -webkit-line-clamp: 4;
  }
}

.page-consultant__body .mod-btn {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .page-consultant__body .mod-btn {
    margin-top: 1.25rem;
  }
}

.page-consultant-single {
  position: relative;
  background: #f8f9fa;
  overflow: hidden;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single {
    padding-top: 2rem;
    padding-bottom: 5rem;
  }
}

.page-consultant-single__band {
  position: relative;
  padding-bottom: 18.75rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__band {
    padding-bottom: 12.5rem;
  }
}

.page-consultant-single .common-inner {
  position: relative;
  z-index: 1;
}

.page-consultant-single .mod-wave--bottom {
  bottom: -2.8125rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single .mod-wave--bottom {
    bottom: 2.8125rem;
  }
}

/*-----------------------------
	hero (白カード)
------------------------------*/
.page-consultant-single__hero {
  margin-top: 7.5rem;
  padding: 2.5rem;
  background: white;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__hero {
    margin-top: 5.625rem;
    padding: 2rem 1.25rem 2.5rem;
    border-radius: 0.75rem;
  }
}

.page-consultant-single__heroHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccd0f0;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__heroHead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.25rem;
    padding-bottom: 0.75rem;
  }
}

.page-consultant-single__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}

.page-consultant-single__nameJa {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__nameJa {
    font-size: 1.5rem;
  }
}

.page-consultant-single__nameEn {
  font-family: "Noto Serif JP", serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__nameEn {
    font-size: 0.75rem;
  }
}

.page-consultant-single__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}

.page-consultant-single__heroBody {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__heroBody {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
  }
}

.page-consultant-single__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 12.5rem;
  aspect-ratio: 200/232;
  overflow: hidden;
}

.page-consultant-single__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-consultant-single__lead {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__lead {
    font-size: 0.875rem;
  }
}

.page-consultant-single__heroBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__heroBtn {
    margin-top: 2.5rem;
  }
}

/*-----------------------------
	職歴・経歴 (行数可変・左タイムライン線)
------------------------------*/
.page-consultant-single__history {
  margin-top: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 11.125rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__history {
    margin-top: 5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.25rem;
  }
}

.page-consultant-single__history .mod-heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.page-consultant-single__historyBody {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.page-consultant-single__timeline {
  position: absolute;
  top: 0.75rem;
  bottom: -2rem;
  left: 0.25rem;
  width: 0.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(35, 62, 105, 0.2)), color-stop(48%, rgba(126, 142, 167, 0.72)), to(rgb(35, 62, 105)));
  background: linear-gradient(180deg, rgba(35, 62, 105, 0.2) 0%, rgba(126, 142, 167, 0.72) 48%, rgb(35, 62, 105) 100%);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__timeline {
    left: 0.3125rem;
    width: 0.25rem;
    bottom: -1.875rem;
  }
}

.page-consultant-single__historyItem {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.625rem;
}
.page-consultant-single__historyItem + .page-consultant-single__historyItem {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__historyItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}

.page-consultant-single__year {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 9.25rem;
  padding-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__year {
    gap: 1.25rem;
    width: auto;
    padding-top: 0;
  }
}

.page-consultant-single__dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 100%;
  background: #00074b;
  position: relative;
  z-index: 1;
}

.page-consultant-single__yearText {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #00074b;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__yearText {
    font-size: 1rem;
  }
}

.page-consultant-single__yearDash {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.75rem;
  height: 0.125rem;
  background: #00074b;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__yearDash {
    width: 0.625rem;
  }
}

.page-consultant-single__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__desc {
    font-size: 0.875rem;
    padding-left: 2.125rem;
  }
}

/*-----------------------------
	その他のコンサルタント
------------------------------*/
.page-consultant-single__othersInner {
  max-width: 80rem;
  margin-inline: auto;
}

.page-consultant-single__othersTtl {
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__othersTtl {
    padding-inline: 0.75rem;
  }
}

.page-consultant-single__othersScroll {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__othersScroll {
    margin-top: 3.25rem;
  }
}

.page-consultant-single__othersList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__othersList {
    padding-inline: 0.75rem;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    scroll-padding-left: 0.75rem;
  }
}

.page-consultant-single__othersCard {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem 0.5rem 0.75rem;
  background: white;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__othersCard {
    scroll-snap-align: start;
  }
}

.page-consultant-single__othersPhoto {
  width: 10.875rem;
  aspect-ratio: 174/202;
  overflow: hidden;
}

.page-consultant-single__othersPhoto img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-consultant-single__othersName {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.page-consultant-single__othersNameJa {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  color: #00074b;
}

.page-consultant-single__othersNameEn {
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  color: #00074b;
}

.page-consultant-single__othersBtn {
  margin-top: 1.25rem;
  width: 10.875rem;
  height: 1.9375rem;
  padding-block: 0;
  font-size: 0.875rem;
}

.page-consultant-single__othersBar {
  margin-top: 1rem;
  margin-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .page-consultant-single__othersBar {
    margin-top: 0.5rem;
    margin-inline: 0;
  }
}

.page-industry-single {
  position: relative;
  background: #f8f9fa;
  overflow: hidden;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single {
    padding-top: 2rem;
    padding-bottom: 5rem;
  }
}

.page-industry-single .common-inner {
  position: relative;
  z-index: 1;
}

.page-industry-single__content {
  padding-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__content {
    padding-top: 5.5rem;
  }
}

.page-industry-single__tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__tagList {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 1rem;
  }
}

.page-industry-single__tagItem {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
@media screen and (max-width: 767px) {
  .page-industry-single__tagItem {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.page-industry-single__tagItem--current .mod-tag__arrow {
  background: #8b8da3;
  color: white;
}

.page-industry-single__overview {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overview {
    margin-top: 3.75rem;
  }
}

.page-industry-single__overviewTtl {
  margin-block: 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccd0f0;
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overviewTtl {
    padding-bottom: 0.875rem;
    font-size: 1.375rem;
  }
}

.page-industry-single__overviewBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overviewBody {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.page-industry-single__overviewText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 35rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overviewText {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    padding-inline: 0.5rem;
  }
}

.page-industry-single__overviewText p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: justify;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overviewText p {
    font-size: 0.875rem;
  }
}

.page-industry-single__overviewText p + p {
  margin-top: 1.5rem;
}

.page-industry-single__overviewImg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32.5rem;
  max-width: 100%;
  aspect-ratio: 520/240;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-industry-single__overviewImg {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    aspect-ratio: 351/162;
  }
}

.page-industry-single__overviewImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-industry-single__case {
  padding-top: 12.5rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__case {
    padding-top: 7.5rem;
  }
}

.page-industry-single__caseHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__caseHead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 1.5rem;
  }
}

.page-industry-single__caseLead {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: justify;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-industry-single__caseLead {
    font-size: 0.875rem;
    padding-inline: 0.96875rem;
  }
}

.page-industry-single__caseList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.875rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__caseList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    max-width: 20rem;
    margin-top: 2.5rem;
    margin-inline: auto;
  }
}

.page-industry-single__column {
  padding-block: 6.25rem;
  background: white;
}
@media screen and (max-width: 767px) {
  .page-industry-single__column {
    padding-block: 3.75rem;
  }
}

.page-industry-single__column .mod-post-list {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__column .mod-post-list {
    margin-top: 3.25rem;
  }
}

.page-industry-single__column .mod-post-list__link {
  padding-block: 1.75rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__column .mod-post-list__link {
    padding-block: 1.5rem;
  }
}

.page-industry-single__columnBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-industry-single__columnBtn {
    margin-top: 3.25rem;
  }
}

.page-contact {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-contact {
    padding-top: 2rem;
    padding-bottom: 10rem;
  }
}

.page-contact .common-inner {
  position: relative;
  z-index: 1;
}

.page-contact__inner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .page-contact__inner {
    max-width: 37.5rem;
    padding-inline: 1.25rem;
  }
}

/*-----------------------------
	intro (リード + ステッパー)
------------------------------*/
.page-contact__intro {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-contact__intro {
    margin-top: 5.5rem;
  }
}

.page-contact__intro[hidden] {
  display: none;
}

.page-contact__lead {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-contact__lead {
    font-size: 1.125rem;
  }
}

.page-contact__desc {
  color: #333333;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.8px;
  margin-top: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-contact__desc {
    font-size: 0.875rem;
  }
}

/*-----------------------------
	ステッパー
------------------------------*/
.page-contact__intro .mod-stepper {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-contact__intro .mod-stepper {
    margin-top: 3.75rem;
  }
}

/*-----------------------------
	フォーム (CF7 ショートコードの配置)
------------------------------*/
.page-contact__form {
  max-width: 50rem;
  margin-top: 3.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .page-contact__form {
    max-width: 37.5rem;
  }
}

.page-contact__form .wpcf7,
.page-contact__form .wpcf7-form {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .page-contact__form .mod-form__confirmArea {
    max-width: 18.875rem;
    margin-inline: auto;
  }
}

.page-career-contact {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-career-contact {
    padding-top: 2rem;
    padding-bottom: 10rem;
  }
}

.page-career-contact .common-inner {
  position: relative;
  z-index: 1;
}

.page-career-contact__inner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .page-career-contact__inner {
    max-width: 37.5rem;
    padding-inline: 1.25rem;
  }
}

/*-----------------------------
	intro (リード + ステッパー)
------------------------------*/
.page-career-contact__intro {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-career-contact__intro {
    margin-top: 5.5rem;
  }
}

.page-career-contact__intro[hidden] {
  display: none;
}

.page-career-contact__lead {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-career-contact__lead {
    font-size: 1.125rem;
  }
}

.page-career-contact__desc {
  color: #333333;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.8px;
  margin-top: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-career-contact__desc {
    font-size: 0.875rem;
  }
}

/*-----------------------------
	ステッパー
------------------------------*/
.page-career-contact__intro .mod-stepper {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-career-contact__intro .mod-stepper {
    margin-top: 3.75rem;
  }
}

/*-----------------------------
	フォーム (CF7 ショートコードの配置)
------------------------------*/
.page-career-contact__form {
  max-width: 50rem;
  margin-top: 3.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .page-career-contact__form {
    max-width: 37.5rem;
  }
}

.page-career-contact__form .wpcf7,
.page-career-contact__form .wpcf7-form {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .page-career-contact__form .mod-form__confirmArea {
    max-width: 31.25rem;
    margin-inline: auto;
  }
}

.page-thanks {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-thanks {
    padding-top: 2rem;
    padding-bottom: 10rem;
  }
}

.page-thanks .common-inner {
  position: relative;
  z-index: 1;
}

.page-thanks__inner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .page-thanks__inner {
    max-width: 37.5rem;
    padding-inline: 1.25rem;
  }
}

/*-----------------------------
	リード見出し
------------------------------*/
.page-thanks__lead {
  margin-top: 8.25rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-thanks__lead {
    margin-top: 5.5rem;
    font-size: 1.125rem;
  }
}

/*-----------------------------
	thanks_view (ステッパー + 本文) 幅800中央
------------------------------*/
.page-thanks__view {
  max-width: 50rem;
  margin-top: 5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .page-thanks__view {
    margin-top: 3.75rem;
  }
}

.page-thanks__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .page-thanks__info {
    gap: 2rem;
  }
}

/*-----------------------------
	本文テキスト / 区切り線
------------------------------*/
.page-thanks__text,
.page-thanks__list {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-thanks__text,
  .page-thanks__list {
    font-size: 0.875rem;
  }
}

.page-thanks__line {
  width: 100%;
  height: 0;
  margin: 0;
  border: none;
  border-top: 1px solid #dfdfe2;
}

/*-----------------------------
	info-block (見出し + 本文)
------------------------------*/
.page-thanks__heading + .page-thanks__text,
.page-thanks__heading + .page-thanks__blockBody {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .page-thanks__heading + .page-thanks__text,
  .page-thanks__heading + .page-thanks__blockBody {
    margin-top: 1rem;
  }
}

.page-thanks__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-thanks__heading {
    font-size: 1rem;
  }
}

.page-thanks__item {
  position: relative;
  padding-left: 1.125rem;
}

.page-thanks__item::before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0.25rem;
  width: 0.3125rem;
  height: 0.3125rem;
  background: #333333;
  border-radius: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.page-thanks__text--note {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .page-thanks__text--note {
    margin-top: 1.5625rem;
  }
}

.page-privacy {
  position: relative;
  background: #f8f9fa;
  padding-top: 2.5rem;
  padding-bottom: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-privacy {
    padding-top: 2rem;
    padding-bottom: 10rem;
  }
}

.page-privacy .common-inner {
  position: relative;
  z-index: 1;
}

.page-privacy__inner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .page-privacy__inner {
    max-width: 37.5rem;
    padding-inline: 1.25rem;
  }
}

.page-privacy__content {
  margin-top: 8.25rem;
}
@media screen and (max-width: 767px) {
  .page-privacy__content {
    margin-top: 5.5rem;
  }
}

/*-----------------------------
	section（見出し + 本文）。区切り線は各 section の border-bottom で表現
------------------------------*/
.page-privacy__section:not(:last-child) {
  padding-bottom: 3.25rem;
  border-bottom: 1px solid #dfdfe2;
}
@media screen and (max-width: 767px) {
  .page-privacy__section:not(:last-child) {
    padding-bottom: 2.5rem;
  }
}

.page-privacy__section + .page-privacy__section {
  margin-top: 3.25rem;
}
@media screen and (max-width: 767px) {
  .page-privacy__section + .page-privacy__section {
    margin-top: 2.5rem;
  }
}

.page-privacy__ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-privacy__ttl {
    font-size: 1.125rem;
  }
}

.page-privacy__text,
.page-privacy__note {
  margin-top: 1.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-privacy__text,
  .page-privacy__note {
    margin-top: 1.25rem;
    font-size: 0.875rem;
  }
}

/*-----------------------------
	箇条書きリスト
------------------------------*/
.page-privacy__list {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .page-privacy__list {
    font-size: 0.875rem;
  }
}

.page-privacy__item {
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.page-privacy__item::before {
  content: "•";
  display: inline-block;
  width: 1.4em;
  text-align: center;
  text-indent: 0;
}

.page-404 {
  position: relative;
  background: #f8f9fa;
  padding-block: 5rem 7.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-404 {
    padding-block: 5rem 5rem;
  }
}

.page-404 .common-inner {
  position: relative;
  z-index: 1;
}

.page-404__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .page-404__content {
    max-width: 37.5rem;
    margin-inline: auto;
  }
}

.page-404__errorContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.page-404__errorTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.page-404__num {
  font-family: "Noto Serif JP", serif;
  font-size: 9.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-404__num {
    font-size: 6.25rem;
  }
}

.page-404__sub {
  margin-top: 2.5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .page-404__sub {
    margin-top: 1.25rem;
    font-size: 2rem;
  }
}

.page-404__msg {
  margin-top: 3.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-404__msg {
    font-size: 0.875rem;
  }
}

.page-404__content .mod-btn {
  margin-top: 3.75rem;
}

/* module > top (front-page) */
body.home #Wrapper {
  background: #f8f9fa;
}

.top-fv {
  overflow: hidden;
}

.top-fv__body {
  position: relative;
  min-height: min(36.5rem, 100svh - 64px - 48px - 5rem);
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .top-fv__body {
    min-height: min(31.625rem, 100svh - 48px - 46px - 4rem);
  }
}

.top-fv__catch {
  position: relative;
  z-index: 2;
  width: 42.3125rem;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
}

.top-fv__sub {
  color: #00074b;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-fv__sub {
    font-size: 1rem;
    letter-spacing: 0.07em;
  }
}

.top-fv__title {
  margin-top: 1rem;
  color: #00074b;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top-fv__title {
    margin-top: 0.75rem;
  }
}

.top-fv__titleLine1,
.top-fv__titleLine2 {
  display: block;
}

.top-fv__titleLine1 {
  font-size: 3.25rem;
}
@media screen and (max-width: 767px) {
  .top-fv__titleLine1 {
    font-size: 1.75rem;
  }
}

.top-fv__titleLine2 {
  font-size: 4.25rem;
}
@media screen and (max-width: 767px) {
  .top-fv__titleLine2 {
    font-size: 2.0625rem;
    margin-top: 0.25rem;
  }
}

.top-fv__scenery {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 20.625rem;
  z-index: 1;
  overflow: hidden;
  line-height: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-fv__scenery {
    height: min(13.75rem, 100% - 13.75rem);
  }
}

.top-fv__mt,
.top-fv__waveCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-fv__mt {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom center;
     object-position: bottom center;
}
@media screen and (max-width: 767px) {
  .top-fv__mt {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center top;
       object-position: center top;
  }
}

.top-fv__waveCanvas {
  display: block;
}

.top-fv__scroll {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  color: white;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-fv__scroll {
    bottom: 1.25rem;
  }
}

.top-fv__scrollIcon {
  position: relative;
  width: 1.25rem;
  height: 2rem;
  border: 1px solid white;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .top-fv__scrollIcon {
    width: 0.9375rem;
    height: 1.5rem;
    border-width: 0.046875rem;
    border-radius: 0.46875rem;
  }
}

.top-fv__scrollIcon::before {
  content: "";
  position: absolute;
  top: 0.3125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 100%;
  background: white;
}
@media screen and (max-width: 767px) {
  .top-fv__scrollIcon::before {
    top: 0.1875rem;
    width: 0.28125rem;
    height: 0.28125rem;
  }
}

.top-fv__scrollText {
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .top-fv__scrollText {
    font-size: 0.625rem;
  }
}

.top-fv__cta {
  position: absolute;
  right: 0;
  bottom: 2rem;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-fv__cta {
    top: 13.75rem;
    bottom: initial;
  }
}

.top-fv__ctaBtn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 22.125rem;
  height: 5.375rem;
  max-width: 100%;
  padding: 0.75rem;
  background: #c5a059;
  color: white;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-fv__ctaBtn {
    width: auto;
    height: auto;
    padding: 0.375rem;
  }
}

.top-fv__ctaInner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.25rem;
  padding: 1.25rem 0.75rem 1.375rem 1.25rem;
  border: 1px solid white;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .top-fv__ctaInner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem 0.5rem 1rem;
  }
}

.top-fv__ctaText {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-fv__ctaText {
    font-size: 0.875rem;
  }
}

.top-fv__ctaArrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.4375rem;
  height: 0.8125rem;
  background: url("img/top/icn_chevron-fv.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .top-fv__ctaArrow {
    width: 0.3125rem;
    height: 0.6875rem;
    background-image: url("img/top/icn_chevron-fv-sp.svg");
  }
}

.top-fv__logos {
  margin-top: 1.5rem;
  overflow: hidden;
}

.top-fv__logoTrack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: topFvMarquee 24s linear infinite;
          animation: topFvMarquee 24s linear infinite;
}

.top-fv__logoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  padding-inline: 1rem;
  line-height: 1;
}

.top-fv__logoItem {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.25rem;
  height: 3.5rem;
}
@media screen and (max-width: 767px) {
  .top-fv__logoItem {
    width: 3.75rem;
    height: 2.5rem;
  }
}

.top-fv__logoItem img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@-webkit-keyframes topFvMarquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}

@keyframes topFvMarquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
.top-heading__eyebrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .top-heading__eyebrow {
    gap: 0.375rem;
    font-size: 0.875rem;
  }
}

.top-heading__eyebrow::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.375rem;
  height: 1.625rem;
  background: url("img/common/icn_heading-arrow.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .top-heading__eyebrow::before {
    width: 0.625rem;
    height: 0.75rem;
  }
}

.top-heading__ttl {
  margin-top: 0.625rem;
  padding-left: 2.5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #00074b;
}
@media screen and (max-width: 767px) {
  .top-heading__ttl {
    padding-left: 1rem;
    font-size: 1.625rem;
  }
}

.top-gradient .top-heading__eyebrow,
.top-gradient .top-heading__ttl {
  color: white;
}

.top-gradient .top-heading__eyebrow::before {
  background-image: url("img/common/icn_heading-arrow-white.svg");
}

.top-support {
  padding-top: 11.25rem;
}
@media screen and (max-width: 767px) {
  .top-support {
    padding-top: 5.625rem;
  }
}

.top-support__card {
  margin-top: 3.75rem;
  padding-block: 2.5rem 3.75rem;
  padding-inline: 2.5rem;
  background: white;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-support__card {
    margin-top: 2rem;
    padding-block: 1.5rem 2rem;
    padding-inline: 1rem;
  }
}

.top-support__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-support__intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
  }
}

.top-support__introText {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.top-support__introText p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .top-support__introText p {
    font-size: 0.875rem;
  }
}

.top-support__introText p + p {
  margin-top: 0.75rem;
}

.top-support__introPhoto {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28.75rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .top-support__introPhoto {
    width: 100%;
  }
}

.top-support__introPhoto img {
  display: block;
  width: 100%;
  height: 16.25rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top-support__introPhoto img {
    height: auto;
    aspect-ratio: 460/260;
  }
}

.top-support__fields {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .top-support__fields {
    margin-top: 5rem;
  }
}

.top-support__lead {
  margin-top: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .top-support__lead {
    font-size: 0.875rem;
  }
}

.top-support__fieldList {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #e8e9ed;
  border: 1px solid #e8e9ed;
}
@media screen and (max-width: 767px) {
  .top-support__fieldList {
    margin-top: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

.top-support__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.top-support__fieldLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  width: 100%;
  padding-block: 1.25rem 2rem;
  padding-inline: 0.5rem;
  background: #f8f9fa;
  color: #00074b;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-support__fieldLink {
    gap: 0.625rem;
    padding-block: 0.625rem;
    padding-inline: 0.5rem;
  }
}
@media (any-hover: hover) {
  .top-support__fieldLink:hover {
    opacity: 0.5;
  }
}

.top-support__fieldName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 3.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #00074b;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-support__fieldName {
    min-height: 2.25rem;
    font-size: clamp(0.75rem, 0.667vw + 0.59375rem, 0.875rem);
  }
}

.top-support__fieldIcon {
  width: 10rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .top-support__fieldIcon {
    width: 63.4%;
  }
}

.top-support__fieldSvg {
  display: block;
  width: 100%;
  height: auto;
}

.top-support__btn {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-gradient {
  position: relative;
  padding-block: 20.9375rem 6.25rem;
  background: linear-gradient(307deg, rgba(35, 62, 105, 0.64) 0%, rgba(126, 142, 167, 0.64) 52%, rgba(35, 62, 105, 0.64) 99.63%);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-gradient {
    padding-block: 11.25rem 6.25rem;
  }
}

.top-gradient__wave {
  position: absolute;
  top: -5rem;
  left: 0;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1280/415;
  background: url("img/top/bg_wave-top.svg") no-repeat top center/100% auto;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-gradient__wave {
    top: 0;
  }
}

.top-gradient > section {
  position: relative;
  z-index: 1;
}

.top-gradient .mod-btn {
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.top-consultant__lead {
  margin-top: 2rem;
  padding-left: 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: white;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .top-consultant__lead {
    margin-top: 1.25rem;
    padding-left: 0;
    font-size: 1rem;
  }
}

.top-consultant__list {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-consultant__list {
    margin-top: 2.5rem;
  }
}

.top-case {
  padding-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .top-case {
    padding-top: 7.5rem;
  }
}

@media screen and (min-width: 1025px) {
  .top-case .common-inner {
    padding-inline: 7.5rem;
  }
}

.top-case .mod-case-card {
  width: 100%;
  min-width: 0;
}

.top-case__list {
  margin-top: 3.75rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-case__list {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 20rem;
    margin-inline: auto;
  }
}

.top-case__btn {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-cta {
  padding-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .top-cta {
    padding-top: 5rem;
  }
}

.top-voices {
  padding-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .top-voices {
    padding-top: 7.5rem;
  }
}

.top-voices .mod-voice {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-voices .mod-voice {
    margin-top: 2.5rem;
    max-width: 30rem;
    margin-inline: auto;
  }
}

.top-news {
  padding-block: 6.25rem;
  background: white;
}
@media screen and (max-width: 767px) {
  .top-news {
    padding-block: 5rem;
  }
}

.top-news .mod-news-filter {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-news .mod-news-filter {
    margin-top: 2rem;
  }
}

.top-news__list {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .top-news__list {
    margin-top: 2.5rem;
  }
}

.top-news__btn {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-news__btn {
    margin-top: 3.25rem;
  }
}

.top-company {
  padding-block: 6.25rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .top-company {
    padding-block: 5rem 9.375rem;
  }
}

.top-company__content {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-company__content {
    margin-top: 3.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 2.5rem;
    padding-left: 0;
  }
}

.top-company__body {
  width: 32.5rem;
  max-width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .top-company__body {
    width: 100%;
  }
}

.top-company__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .top-company__lead {
    font-size: 0.875rem;
  }
}

.top-company__btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-company__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.top-company__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32.5rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .top-company__photo {
    width: 100%;
  }
}

.top-company__photo img {
  display: block;
  width: 100%;
  height: 12.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top-company__photo img {
    height: auto;
    aspect-ratio: 520/200;
  }
}

html:not(.is-loading-skip) body.home {
  opacity: 1;
  pointer-events: auto;
}

html.is-loading,
body.is-loading {
  overflow: hidden;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

.top-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f8f9fa;
  -webkit-transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
  transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
}
@media (scripting: none) {
  .top-loading {
    display: none;
  }
}

.top-loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.top-loading__text {
  position: relative;
  overflow: hidden;
  width: 42.3125rem;
  max-width: 100%;
  margin-inline: auto;
  opacity: 0;
  color: #00074b;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.36;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .top-loading__text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-inline: 0.75rem;
  }
}

.top-loading__wipe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 200%;
  background: -webkit-gradient(linear, left top, right top, from(#f8f9fa), color-stop(78%, #f8f9fa), to(rgba(248, 249, 250, 0)));
  background: linear-gradient(to right, #f8f9fa 0%, #f8f9fa 78%, rgba(248, 249, 250, 0) 100%);
  pointer-events: none;
}

.top-loading__line {
  display: block;
}

.top-loading__line--1 {
  font-size: 3.25rem;
}
@media screen and (max-width: 767px) {
  .top-loading__line--1 {
    font-size: 1.75rem;
  }
}

.top-loading__line--2 {
  font-size: 4.25rem;
}
@media screen and (max-width: 767px) {
  .top-loading__line--2 {
    font-size: 2.0625rem;
  }
}

.is-loading-skip .top-loading {
  display: none;
}

.is-fv-pre .top-fv__mt,
.is-fv-pre .top-fv__waveCanvas,
.is-fv-pre .top-fv__cta,
.is-fv-pre .mod-cta,
.is-fv-pre .top-fv__scroll {
  opacity: 0;
  visibility: hidden;
}/*# sourceMappingURL=style.css.map */