/* ============================
  common
============================ */
body {
  background-color: #FAFDFF;
  font-family: var(--font-ja);
  font-style: normal;
  letter-spacing: 0;
  overflow-x: hidden;
}
br.sp-br {
  display: none;
}
span.forSP {
  display: none;
}
    @media(max-width:768px){
      br.pc-br {
        display: none;
      }
      span.forSP {
        display: block;
      }
      br.sp-br {
        display: block;
    }
    }


/* ============================
  fonts
============================ */
:root {
  --font-en: "Urbanist", system-ui, -apple-system, sans-serif;
  --font-ja: "Zen Kaku Gothic Antique", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font-Lato: "Lato", sans-serif;
}

.urbanist {
  font-family: var(--font-en);
  font-optical-sizing: auto;
  font-weight: 800;
}

.zen-kaku-gothic-antique {
  font-family: var(--font-ja);
  font-weight: 700;
}

:root {
  --15 : clamp(11.3px, 0.78125vw, 15px);
  --16 : clamp(13px, 0.8333vw, 16px);
  --20 : clamp(15px, 1.041vw, 20px);
  --22 : clamp(16.5px, 1.145vw, 22px);
  --23 : clamp(17.25px, 1.198vw, 23px);
  --24 : clamp(18px, 1.25vw, 24px);
  --26 : clamp(19.5px, 1.25vw, 26px);
  --28 : clamp(21px, 1.458vw, 28px);
  --30 : clamp(22.5px, 1.5625vw, 30px);
  --33 : clamp(24.75px, 1.718vw, 33px);
  --35 : clamp(26.3px, 1.823vw, 35px);
  --38 : clamp(28.5px, 1.98vw, 38px);
  --40 : clamp(30px, 2.083vw, 40px);
  --45 : clamp(33.8px, 2.343vw , 45px);
  --50 : clamp(37.5px, 2.604vw, 50px);
  --60 : clamp(45px, 3.125vw, 60px);
  --80 : clamp(60px, 4.167vw, 80px);
  --125 : clamp(66.5px, 6.51vw, 125px);
  --135 : clamp(72px, 7.031vw, 135px);
}


/* ============================
  radius
============================ */
:root {
  --radius-40: clamp(16px, 2.08vw, 40px);
  --radius-73: clamp(20px, 3.8vw, 73px);
  --radius-50: 50px;
}


/* ============================
  color
============================ */
:root {
  --red: #E60013;
  --blue:#0170C3;
  --d-blue: #004498;
  --bk: #2C2C2C;
  --wh: #FFFFFF;
  --wh-op: rgba(255,255,255,0.37);
  --gr-op: rgba(250,253,255,0.40);
  --light-blue: #FAFDFF;
}

/* ============================
  header
============================ */
header.site-header {
  position: fixed;
  width: 100%;
  background-color: var(--wh);
  z-index: 1000;
  top: 0;
}

.container.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: clamp(88px, 6.09vw, 117px);
}
    @media(max-width:768px){
      .container.header-inner {
        height: 52px;
      }
    }

.header__logo {
  display: block;
  width: clamp(197px, 1.385vw, 266px);
  margin-left: 2.6%;
}
    @media(max-width:768px){
      .header__logo {
        width: 140px;
      }
    }


.header__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

/* PCナビ */
nav.main-nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(26.6px, 2.57vw, 50px);
}

.site-header__item {
  display: flex;
  align-items: center;
  gap: clamp(26.6px, 2.57vw, 50px);
}

/* ============================
  PCヘッダー用ドロワーメニュー
============================ */
/* 親リスト */
.main-nav ul {
  position: relative;
}

/* サブメニュー（初期は非表示） */
.main-nav .sub-menu {
  position: absolute;
  top: 28px;
  left: 0;
  background: var(--wh);
  padding: .5em 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0);
  transition: 0.25s ease;
  z-index: 500;
  display: block;
}

.main-nav .sub-menu li {
  list-style: none;
}

.main-nav .sub-menu a {
  display: block;
  padding: .5em 1.5em .5em .5em;
  color: var(--bk);
  text-decoration: none;
  white-space: nowrap;
  font-size: 14px;
  letter-spacing: 0.05em;
}
    @media(max-width:1440px){
      .main-nav .sub-menu a {
        font-size: 10.5px;
      }
    }

.main-nav .sub-menu a:hover {
  background: #f5f5f5;
}

/* ホバーで表示 */
.main-nav .has-sub:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

    /* スマホでは非表示（768px以下） */
    @media (max-width: 768px) {
      .main-nav .sub-menu {
        display: none;
      }
    }

.arrow-down {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--bk);
  border-bottom: 1px solid var(--bk);
  transform: rotate(45deg);
  margin-left: 10px;
  margin-bottom: .3em;
}

.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-nav li.has-sub {
  position: relative;
}

.main-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  display: none;
  min-width: 220px;
}

.main-nav .sub-menu {
  width: auto;
  min-width: unset;
  padding: 8px 12px;
  white-space: nowrap;
}

.main-nav li.has-sub:hover .sub-menu {
  display: block;
}


/* ============================
   メインナビ ホバー時の「・」表示 + アンダーラインアニメーション
============================ */
/* 親メニュー（私たちについて）のみ適用 */
.main-nav > ul > li > a {
  position: relative;
  padding-left: 0.8em;
  text-decoration: none;
  font-size: clamp(14px, 0.9vw, 21px);
  font-weight: 700;
  letter-spacing: 0;
  color: var(--bk);
}

/* ・の初期状態（透明） */
.main-nav > ul > li > a::before {
  content: "・";
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  color: var(--red);
  transition: opacity 0.3s ease;
}

/* hover で ・ を表示 */
.main-nav > ul > li:hover > a::before {
  opacity: 1;
}

/* アンダーラインの初期状態（第一階層のみ） */
.main-nav > ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: #707070;
  transition: width 0.3s ease;
}

/* hover で左→右へ伸びる */
.main-nav ul > li:hover > a::after {
  width: 100%;
}




/* ============================
  ヘッダーナビ（ボタン類）
============================ */
.cta-buttons {
  display: flex;
  text-align: center;
  gap: 20px;
  margin-right: 20px;
}

/* ボタンラッパー */
.btn-wrapper {
  position: relative;
  display: inline-block;
}
.btn-wrapper {
  width: clamp(160px, 12.66vw, 243px);
  height: clamp(52px, 4.11vw, 79px);
}

    @media(max-width:768px){
      .btn-wrapper {
        width: auto;
      }
    }

.cta-buttons__mail {
  width: clamp(64px, 5.16vw, 99px);
  height: clamp(52px, 4.11vw, 79px);
}

/* メールアイコン画像切り替え */
.cta-buttons__mail a img {
  transition: 0.3s ease; /* なめらかに切り替え */
}

/* ホバー時に画像変更 */
.cta-buttons__mail a:hover img {
  content: url('../images/mail-bk.png'); /* 変えたい画像に差し替え */
}


/* 下に出るメニュー */
.hover-menu {
  position: absolute;
  top: 100%;
  left: 0;
  border-radius: 8px;
  white-space: nowrap;
  z-index: 10;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0); /* 下からスッと上がる */
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0s linear 0.35s;
  width: clamp(180px, 0.89vw, 243px);
  height: clamp(59px, 0.89vw, 79px);
}

/* hover でふわっと表示 */
.btn-wrapper:hover .hover-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}


/* pill ボタン */
.hover-menu .pill {
  background: var(--blue);
  color: var(--wh);
  border: solid 1px var(--blue);
  border-radius: var(--radius-50);
  text-decoration: none;
  font-size: clamp(14px, 0.9vw, 21px);
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  font-weight: 700;
  line-height: 1.2;
  width: clamp(160px, 12.66vw, 243px);
  height: clamp(52px, 4.11vw, 79px);
}
    @media(max-width:768px){
      .hover-menu .pill {
        width: 100%;
        height: 47px;
        /* background: var(--wh);
        color: var(--blue);
        border: solid 1px var(--blue); */
      }
    }


.hover-menu .pill:hover {
  background: var(--wh);
  color: var(--blue);
  border: solid 1px var(--blue);

}


.cta-buttons .btn {
  background: var(--blue);
  border-radius: var(--radius-50);
  color: var(--wh);
  font-size: clamp(14px, 0.9vw, 21px);
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.27;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border: solid 1px var(--blue);
}

.cta-buttons .btn:hover {
  background: var(--wh);
  color: var(--blue);
  border: solid 1px var(--blue);
}

.cta-buttons .btn img {
  width: clamp(27px, 1.875vw ,36px);
  object-fit: contain;
  vertical-align: bottom;
}

.header .cta-buttons {
  margin-top: 40px;
}

.footer .cta-buttons {
  margin-bottom: 60px;
}




/* ============================
  モバイルナビ（右からスライド）
============================ */
.mobile-nav__inner {
  width: 90%;
  margin: 90px auto 0;
}
.mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background: var(--wh);
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.3s ease;
  padding: 0;
  right: -100%;
  z-index: -1;
  overflow-y: scroll;
}

.mobile-nav ul {
  list-style: none;
  margin-top: 6px;
}

.mobile-nav li a {
  text-indent: 1em;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.83;
}

.mobile-nav a {
  color: var(--bk);
  font-size: 18px;
  text-decoration: none;
}

/* 開いた状態 */
.mobile-nav.active {
  right: 0;
}
section.mobile-nav__section {
  margin-top: 30px;
  padding: 0 20px;
}
section.mobile-nav__section p {
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 5px;
}
section.mobile-nav__section h2 {
  text-transform: uppercase;
  margin-bottom: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-weight: 700;
  letter-spacing: 0.03em;
  font-size: 24px;
}
.mobile-nav__btn-area {
  display: flex;
  margin-top: 30px;
  gap: 18px;
}
.mobile-nav a.btn {
  background: var(--blue);
  border-radius: var(--radius-50);
  color: var(--wh);
  font-size: clamp(14px, 0.9vw, 21px);
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.27;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48%;
  height: 100%;
  text-decoration: none;
  border: solid 1px var(--wh);
  text-align: center;
  text-align: center;
  padding: 5px 0;
  max-width: 165px;
}
.mobile-nav__privacy {
  margin-top: 30px;
}

.mobile-nav__privacy a {
  text-align: right;
  display: block;
  font-size: 13px;
  font-weight: 200;
  font-family: var(--font-en);
  color: var(--bk);
}
.mobile-nav__privacy hr {
  border-top: .5px solid #000 ;

}
.mobile-nav__privacy small {
  font-size: 13px;
  text-align: center;
  font-family: var(--font-Lato);
  font-weight: 200;
  color: #000;
  display: block;
}



/* ============================
  ハンバーガー
============================ */ 
.hamburger {
  display: none;
}
    @media(max-width:1024px){
    .site-header__item {
      display: none;
    }

    .hamburger {
      background-color: var(--blue);
      width: 46px;
      height: 46px;
      border-radius: 50%;
      border: none;
      cursor: pointer;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      margin-right: 9px;
    }

    .hamburger span {
      position: absolute;
      width: 18px;
      height: 1.5px;
      background: #fff;
      transition: 0.3s;
    }

    .hamburger span:nth-child(1) { top: 15px; }
    .hamburger span:nth-child(2) { top: 22px; }
    .hamburger span:nth-child(3) { top: 29px; }

    /* ハンバーガー → × アニメーション */
    .hamburger.active span:nth-child(1) {
      top: 22px;
      transform: rotate(40deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      top: 22px;
      transform: rotate(-40deg);
    }
    }


/* ============================
  PC表示時は非表示
============================ */
    @media (min-width: 1025px) {
      .mobile-nav,
      .overlay,
      .hamburger {
        display: none;
      }
    }

    @media (max-width: 768px) {
      .main-nav,
      .header-buttons {
        display: none;
      }
    }


/* ============================
  背景グラデーション
============================ */
.bg1-wrap,
.bg2-wrap,
.bg3-wrap,
.bg4-wrap,
.bg5-wrap,
.bg6-wrap,
.bg7-wrap,
.bg8-wrap,
.bg9-wrap {
  position: relative;
}
.bg1 {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    15deg,
  rgba(250,253,255,1) 0%,
  rgba(255,255,255,0) 20%,
  /* 青の開始 */
  rgba(118,168,208,.67) 40%,
  rgba(118,168,208,.67) 60%,
  rgba(255,255,255,0) 80%,
  rgba(250,253,255,1) 100%
  );
  color: var(--wh);
  text-align: center;
  top: 500px;
}

.bg2 {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    175deg,
  rgba(250,253,255,1) 0%,
  rgba(255,255,255,0) 20%,
  /* 青の開始 */
  rgba(118,168,208,.67) 40%,
  rgba(118,168,208,.67) 60%,
  rgba(255,255,255,0) 80%,
  rgba(250,253,255,1) 100%
  );
  color: var(--wh);
  text-align: center;
}
.bg2.top_recruit-bg {
    top: -460px;
}
    @media(max-width:768px){
      .bg2.top_recruit-bg {
        position: absolute;
        inset: 0;
        z-index: -2;
        background: linear-gradient(175deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 0%, rgba(118, 168, 208, .67) 15%, rgba(118, 168, 208, .67) 60%, rgba(255, 255, 255, 0) 80%, rgba(250, 253, 255, 1) 100%);
        color: var(--wh);
        text-align: center;
        top: -100px;
      }
    }


.bg3 {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 20%, /* 青の開始 */ rgba(118, 168, 208, .67) 40%, rgba(118, 168, 208, .67) 80%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
  color: var(--wh);
  text-align: center;
  top: -260px;
}
    @media(max-width:768px){
      .bg3 {
        top: -700px;
      }
      .thanks-bg3 {
        top: 0;
      }
    }


.bg5 {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
  rgba(250,253,255,1) 0%,
  rgba(255,255,255,0) 20%,
  /* 青の開始 */
    rgba(118,168,208,.67) 40%,
    rgba(118,168,208,.67) 60%,
  rgba(255,255,255,0) 80%,
  rgba(250,253,255,1) 100%
  );
  color: var(--wh);
  text-align: center;
  top: -500px;
}

.bg4 {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 5%,
      rgba(118, 168, 208, .67) 30%, rgba(118, 168, 208, .67) 70%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
    color: var(--wh);
    text-align: center;
    top: 120px;
}
    @media(max-width:768px){
      .contact .bg4,
      .confirm .bg4,
      .news .bg4,
      .news-post .bg4,
      .privacy-policy .bg4,
      .thanks .bg4 {
        top: 0;
      }
      .about-page .bg4 {
        top: 0;
      }
    }

.bg2-wrap.outline-section {
    position: relative;
}

.outline-section .bg2 {
    top: -300px;
}
    @media(max-width:768px){
      .outline-section .bg2 {
        position: absolute;
        inset: 0;
        z-index: -2;
        background: linear-gradient(175deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 0%, /* 青の開始 */ rgba(118, 168, 208, .67) 40%, rgba(118, 168, 208, .67) 60%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
        color: var(--wh);
        text-align: center;
      }
    }

.bg6 {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(180deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 5%, /* 青の開始 */ rgba(118, 168, 208, .67) 20%, rgba(118, 168, 208, .67) 80%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
    color: var(--wh);
    text-align: center;
    top: -100px;
}

/* Skill Up Seminar */
.bg7 {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(5deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 20%,
  rgba(118, 168, 208, .5) 40%, rgba(118, 168, 208, .5) 60%, rgba(255, 255, 255, 0) 80%, rgba(250, 253, 255, 1) 100%);
  color: var(--wh);
  text-align: center;
}
.bg7.u_seminar-bg {
  top: -700px;
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(5deg, rgba(250, 253, 255, 2) 0%, rgba(255, 255, 255, 0) 20%, rgba(118, 168, 208, .2) 40%, rgba(118, 168, 208, .5) 60%, rgba(255, 255, 255, 0) 80%, rgba(250, 253, 255, .2) 100%);
  color: var(--wh);
  text-align: center;
}

.bg8 {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 5%,
    rgba(118, 168, 208, .67) 30%, rgba(118, 168, 208, .67) 70%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
  color: var(--wh);
  text-align: center;
  top: 0;
}

.bg9 {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(180deg, rgba(250, 253, 255, 1) 0%, rgba(255, 255, 255, 0) 0%, rgba(118, 168, 208, .67) 16%, rgba(118, 168, 208, .67) 70%, rgba(255, 255, 255, 0) 95%, rgba(250, 253, 255, 1) 100%);
  color: var(--wh);
  text-align: center;
  top: 0;
}
    @media(max-width:768px){
      .bg9 {
        top: -100px;
      }
    }

/* ============================
  リンクボタン
============================ */
.btn--link__wrap {
  width: clamp(207px, 14.375vw, 276px);
  aspect-ratio: 276 / 66;
}

.btn--link {
  border: 1px solid var(--blue);
  background-color: transparent;
  color: var(--blue);
  font-size: var(--22);
  text-align: center;
  transition: all 0.3s ease;
  text-decoration: none;
  position: relative;
  font-family: var(--font-ja);
  font-weight: 700;
  display: grid;
  width: 100%;
  height: 100%;
  padding: 0;
  place-content: center;
  border-radius: var(--radius-50);
}

.top__service-text .btn--link {
  border: 1px solid var(--wh);
  background-color: transparent;
  color: var(--wh);
  font-size: var(--22);
  text-align: center;
  transition: all 0.3s ease;
  text-decoration: none;
  position: relative;
  font-family: var(--font-ja);
  font-weight: 700;
  display: grid;
  width: 100%;
  height: 100%;
  padding: 0;
  place-content: center;
  border-radius: var(--radius-50);
  width: clamp(207px, 14.375vw, 276px);
  aspect-ratio: 276 / 66;
  height: auto;
}

.top__service-text .btn--link:hover {
  border: 1px solid var(--blue);
  background-color: var(--wh);
  color: var(--blue);
}

    @media(max-width:768px){
      .btn--link {
        font-size: 14px;
      }
    }

.btn--link::before {
  position: absolute;
  content: "";
  border: solid 1px rgba(0, 0, 0, 0.37);
  width: 100%;
  height: 100%;
  right: -3px;
  top: 1px;
  z-index: 0;
  border-radius: 100px;
  filter: blur(2px);
}
.btn--link:hover {
  background: var(--blue);
  color: var(--wh);
  cursor: pointer;
}

/* ============================
  フッター
============================ */
footer.footer {
  margin-top: 130px;
  padding: 0 5%;
}

.footer__inner {
  max-width: 1720px;
  margin: 0 auto;
}

.footer__navWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4%;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.footer__block h4 {
  font-size: clamp(15px, 1.041vw, 20px);
  margin-bottom: 16px;
  color: var(--bk);
}

.footer__block ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer__block a {
  font-size: clamp(13.5px, 0.9375vw, 18px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-decoration: none;
  color: var(--bk);
  transition: color 0.3s ease;
}

.footer__block a:hover {
  color: var(--blue);
}

.footer__item {
  display: flex;
  justify-content: space-between;
  gap: 7%;
}

.footer .cta-buttons {
  margin: 50px 0 60px auto;
  justify-content: flex-end;
  align-items: center;
}

a.foorter__logo {
  width: 270px;
  display: block;
}

a.foorter__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

.footer small {
  font-size: clamp(13.5px, 0.9375vw, 18px);
  letter-spacing: 0.05em;
  font-weight: 300;
  text-align: center;
  margin: 14px auto 32px;
  font-family: var(--font-Lato);
  display: block;
}

hr.footer__hr {
  border-top: .7px solid #000;
  width: 100%;
}
.footer__pp {
  font-size: clamp(15px, 1.041vw, 20px);
  color: var(--bk);
  letter-spacing: 0.05em;
  font-weight: 300;
  text-decoration: none;
  display: flex;
  justify-content: end;
}
.footer__add h2 {
  margin-top: 40px;
  font-size: clamp(14.38px, 1.406vw ,27px);
  font-weight: 700;
  white-space: nowrap;
}
.footer__add p {
  margin-top: 22px;
  font-size: clamp(13.5px, 0.9375vw, 18px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.77;
}

    @media(max-width:768px){
      footer.footer {
        margin-top: 80px;
      }
      .footer__navWrap {
        flex-direction: column;
      }
      .footer__item {
        flex-direction: column;
      }
      p.foorter__logo img {
        width: 100%;
        object-fit: contain;
        vertical-align: bottom;
      }
      p.foorter__logo {
        width: 290px;
      }
      .footer__add h2 {
        margin-top: 18px;
        font-size: 17px;
      }
      .footer__add p {
        margin-top: 6px;
        font-size: 12px;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1.58;
      }
      .footer__block h4 {
        font-size: 17px;
        margin-bottom: 10px;
        font-weight: 700;
      }
      .footer__block a {
        font-size: 13px;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 2;
      }
      .footer__block {
        margin-top: 40px;
      }
      .footer .cta-buttons {
        flex-direction: column;
        margin: 40px auto;
      }
      .footer .cta-buttons .btn-wrapper {
        width: 100%;
        height: 47px;
      }
      .footer .cta-buttons .cta-buttons__mail {
        width: 100%;
      }
      .footer .cta-buttons .btn img {
        margin-left: 13px;
      }
      .footer .cta-buttons .btn {
        font-size: 18px;
        max-width: 350px;
        margin: 0 auto;
      }
      .footer__pp {
        font-size: 13px;
      }
      hr.footer__hr {
        margin: 11px auto;
      }
      .footer small {
        font-size: 13px;
        margin: 12px auto 19px;
        display: block;
      }
    }


/* ============================
  コンタクトパーツ
============================ */
.bl__contact {
  padding: 260px 5% 0;
}
.bl__contact--inner {
  max-width: 1440px;
  margin: 0 auto 180px;
}
.bl__contact--ttlWrap {
  text-align: center;
  margin-left: -1em;
}
.bl__contact--text {
  text-align: center;
  font-size:  var(--22);
  font-weight: 700;
  line-height: 1.8;
  margin: 50px auto 60px;
}
    @media(max-width:768px){
      .top-page .bl__contact {
        padding: 90px 5% 0;
      }
      .bl__contact {
        padding: 130px 5% 0;
      }
      .bl__contact--text {
        font-size: 13px;
        line-height: 1.53;
        margin: 25px auto;
      }
    }


.bl__contact--card {
  display: flex;
  gap: 2%;
  justify-content: center;
}

.bl__contact--card a {
  flex: 1;
  background: rgba(250, 253, 255, .74); /* 初期 */
  border-radius: var(--radius-40);
  text-decoration: none;
  color: var(--bk);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: background 0.3s ease, color 0.3s ease;
  max-width: 600px;
  width: 30%;
}

/* アイコンはホバー変化なし */
.bl__contact--card a img {
  width: clamp(45px, 3.125vw, 60px);
  margin: 26px auto;
}

/* ホバー時：背景が白に、文字色が濃く */
.bl__contact--card a:hover {
  background: var(--wh);
  color: var(--bk);
}

/* “お問い合わせフォームボタン” のテキスト反転 */
.bl__contact--mail p:last-child {
  font-weight: bold;
  color: var(--blue); /* 初期*/
  background-color: transparent;
  transition: color 0.3s ease;
}

.bl__contact--mail:hover p:last-child {
  color: var(--wh); /* ホバー時：白に反転 */
  background-color: var(--blue);
}
a.bl__contact--tel h3 {
  margin-top: 40px;
  font-weight: 500;
  font-size: var(--33);
}
p.bl__contact--Number {
  font-size: clamp(46px, 3.23vw , 62px);
  font-weight: 900;
  color: var(--blue);
  margin: 0 5%;
}
p.bl__contact--time {
  font-size: clamp(16px, 1.146vw, 22px);
  font-weight: 700;
  color: var(--blue);
  margin: 10px auto 40px;
}
a.bl__contact--mail h3 {
  margin-top: 40px;
  font-weight: 500;
  font-size: var(--33);
}
a.bl__contact--mail p.btn--link {
  width: 60%;
  height: auto;
  font-size: clamp(20.25px, 1.406vw, 27px);
  font-weight: 700;
  max-width: 417px;
  aspect-ratio: 417 / 81;
  margin-bottom: 20px;
}

    @media(max-width:768px){
      .bl__contact--card {
        flex-direction: column;
        gap: 15px;
      }
      
      .bl__contact--card a {
        width: 100%;
        margin: 0 auto;
      }

      a.bl__contact--tel h3 {
        margin-top: 20px;
        font-size: 18px;
      }

      .bl__contact--card a.bl__contact--mail img {
        width: 38px;
        margin: 16px auto;
      }

      .bl__contact--card a.bl__contact--tel img {
        width: 38px;
        margin: 16px auto 4px;
      }

      p.bl__contact--Number {
        font-size: 42px;
      }

      p.bl__contact--time {
        font-size: 13px;
        font-weight: 700;
        color: var(--blue);
        margin: 7px auto 13px;
      }

      a.bl__contact--mail p.btn--link {
        width: 70%;
        font-size: 18px;
      }

      a.bl__contact--mail h3 {
        margin-top: 25px;
        font-weight: 500;
        font-size: 18px;
      }

      a.bl__contact--mail p.btn--link {
        width: 287px;
        height: 43px;
        font-size: 18px;
        max-width: 290px;
        aspect-ratio: 417 / 81;
        margin-bottom: 20px;
      }
    }


/* ============================
   ページ共通タイトル
============================ */
.ttl--L {
  font-size: var(--135);
  text-transform: uppercase;
  margin: 0;
  display: flex;
  position: relative;
  text-align: left;
  color: var(--wh);
  font-family: var(--font-en);
  font-weight: 200;
  letter-spacing: 0.03em;
  align-items: center;
  text-indent: 38px;
}
    @media(max-width:768px){
      h2.ttl--L {
        text-align: center;
        margin: 0;
        font-size: 40px;
        font-weight: 500;
      }
    }


span.ttl--p {
  display: block;
  font-size: var(--30);
  letter-spacing: 0;
  font-weight: 500;
  font-family: var(--font-ja);
}
    @media(max-width:768px){
      span.ttl--p {
        font-size: 13px;
        font-weight: 700;
        text-align: left;
      }
    }

.about-page span.ttl--p {
  display: block;
  font-size: clamp(16px, 1.302vw, 25px);
  letter-spacing: 0;
  font-weight: 500;
  font-family: var(--font-ja);
  color: var(--wh);
  margin-left: 50px;
}
    @media(max-width:768px){
      .about-page span.ttl--p {
        margin-left: 20px;
        font-size: 12px;
      }
    }


.under__mv--ttlWrap .ttl--L,
.bl__contact .ttl--L,
.ttl--L.service {
  font-size: clamp(72px, 7.014vw, 135px);
  text-transform: uppercase;
  margin: 0;
  display: inline-block;
  text-align: left;
  color: var(--wh);
  font-family: var(--font-en);
  font-weight: 600;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  text-indent: 38px;
}
.privacy-policy .ttlWrap .ttl--L {
  font-size: clamp(55px, 4.68vw, 90px);
  white-space: nowrap;
}
.under__mv--ttlWrap {
  margin-left: 5%;
}
span.dot--L {
  display: block;
  width: 12px;
  height: 12px;
  background: var(--red);
  border-radius: 10px;
}

    @media(max-width:768px){
      .ttlWrap .ttl--L, .ttl--L.service {
        font-size: 55px;
      }
      .bl__contact .ttl--L {
        font-size: 40px;
      }
      span.dot--L {
        width: 8px;
        height: 8px;
      }
    }


.u_aboutUs .ttl--L,
.u_service .ttl--L,
.u_recruit .ttl--L,
.bl__contact .ttl--L {
  margin: 0;
  font-weight: 600;
}
.bl__contact .ttl--L {
  font-weight: 200;
  justify-content: center;
}

    @media(max-width:768px){
      .bl__contact .ttl--L {
        gap: 12px;
        margin-left: -12px;
        text-indent: 0;
      }
    }


/* ============================
  TOPページ 共通スタイル
============================ */
h3.top__ttl--M {
  font-size: var(--35);
  margin: 0;
  line-height: 1.7;
  font-weight: 700;
}

p.top__text {
  font-size: var(--22);
  font-weight: 700;
  letter-spacing: 0;
}
    @media(max-width:768px){
      p.top__text {
        font-size: 13px;
        line-height: 1.53;
      }
    }


/* ============================
  TOPページ メインビュー
============================ */
section.top__mv {
  padding: 0;
  margin: 0 0 0 auto;
}

.top__mv--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 7.6%;
  margin-left: 5%;
  width: 95%;
}
    @media(max-width:768px){
      .top__mv--inner {
        flex-direction: column;
      }
    }

.top__mv--ttlWrap {
  width: 45.4%;
}
    @media(max-width:768px){
      .top__mv--ttlWrap {
        width: 100%;
        margin-top: 120px;
      }
    }



/* メインビュー右半分に配置 */
.mainview {
  position: relative;
  width: 47%;
  height: 100vh;
  overflow: hidden;
  margin-left: auto;
  z-index: -1;
  padding-top: 27px;
}
    @media(max-width:768px){
      .mainview {
        width: 100%;
        height: 63vh;
      }
    }


.fade-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius:
    clamp(120px, 24.06vw, 462px)
    0
    0
    clamp(20px, 3.8vw, 73px);
}

/* スライダー本体 */
.fade-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.fade-slider .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
}
    @media(max-width:768px){
      .fade-slider .slide {
        height: auto;
        aspect-ratio: 370 / 509;
      }
    }

/* 表示中の画像 */
.fade-slider .slide.active {
  opacity: 1;
}

/* ============================
  TOPページ＿メインタイトル
============================ */
.top__mv--ttl {
  font-size: clamp(60px, 7.8vw, 150px);
  text-transform: uppercase;
  margin-bottom: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-align: center;
}
    @media(max-width:768px){
      .top__mv--ttl {
        font-size: 62px;
        text-align: left;
      }
    }
    

.top__mv--ttl span {
  color: var(--red);
}
p.top__mv--p {
  text-align: center;
  font-size: clamp(13px, 1.56vw, 30px);
  font-weight: 900;
  color: var(--blue);
  margin-top: 40px;
}
    @media(max-width:768px){
      p.top__mv--p {
        text-align: left;
        font-size: 14px;
        margin-top: 20px;
      }
    }

/* ============================
   TOPページ＿テキスト帯
============================ */
/* メインビューのテキスト帯 */
.marquee {
  width: 100%;
  overflow: hidden;
  padding: 30px 0;
  margin-top: -150px;
  position: relative;
  z-index: -1;
}

.marquee-inner {
  display: flex;
  white-space: nowrap;
  animation: marquee 20s linear infinite;
}

.marquee span {
  font-size: clamp(66.56px, 6.51vw, 125px);
  color: var(--wh-op);
  padding-right: 80px;/* テキスト間の余白 */
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.03em;
}

/* 無限ループ（右→左） */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}


.about-page .marquee.blue {
  margin-top: 0;
}
.about-page .marquee.blue span {
  color: rgba(1, 112, 195, .1);
  margin-top: 0;
}


/* ============================
  TOPページ＿ABOUT US
============================ */
section.top__about {
  padding: 0 5% 140px;
  margin-top: 230px;
}
    @media(max-width:768px){
      section.top__about {
        margin-top: 70px;
        padding: 0 5%;
    }


}
.top__about h3.top__ttl--M,
.top__about p.top__text {
  color: var(--bk);
  text-align: left;
}
.top__about h3.top__ttl--M {
  line-height: 1.7;
}
    @media(max-width:768px){
      .top__about h3.top__ttl--M {
        font-size: 23px;
        line-height: 1.5;
        text-align: center;
        margin-top: 25px;
      }
    }

.top__about--textWrap {
  width: 42%;
}
    @media(max-width:768px){
      .top__about--textWrap {
        width: 100%;
      }
    }

.top__about p.top__text {
  line-height: 1.8;
  margin-top: 45px;
}
    @media(max-width:768px){
      .top__about p.top__text {
        line-height: 1.53;
        margin-top: 15px;
        font-size: 13px;
        text-align: center;
      }
    }

.top__about .btn--link__wrap {
  text-align: left;
  margin-top: 68px;
}
    @media(max-width:768px){
      .top__about .btn--link__wrap {
        text-align: center;
        margin: 30px auto 0;
        aspect-ratio: 184 / 35;
        width: 184px;
        height: 35px;
      }
    }



.top__about--inner {
  max-width: 1720px;
  margin: 0 auto;
}

.top__about--item {
  display: flex;
  justify-content: left;
  align-items: center;
  margin: 76px auto 0;
  max-width: 1720px;
  gap: 11%;
}

.top__about--ttlWrap {
  text-align: center;
}

.top__about--img {
  width: 47%;
}
    @media(max-width:768px){
      .top__about--img {
        width: 100%;
      }
    }

.top__about--img img {
  width: 100%;
  border-radius: clamp(20px, 3.8vw, 73px);
  height: auto;
  aspect-ratio: 812 / 544;
}
    @media(max-width:768px){
      .top__about--item {
        flex-direction: column;
        margin: 30px auto 0;
      }
    }

.top__about--inner .ttlWrap .ttl--L {
  justify-content: center;
}
.top__about--inner p.ttl--p {
  margin-left: auto;
  text-align: center;
}
    @media(max-width:768px){
      .top__about--inner .ttlWrap .ttl--L {
        justify-content: center;
        font-size: 40px;
        letter-spacing: 0.03em;
        font-weight: 400;
        gap: 12px;
        margin-left: -12px;
        text-indent: 0;
      }
      .top__about--inner p.ttl--p {
        text-align: center;
        font-size: 13px;
        font-weight: 700;
        margin-left: 0;
      }
    }


/* ============================
  TOPページ＿SERVICE
============================ */
section.top__service {
  margin-top: 100px;
}
.top__service--inner {
  margin-right: 3%;
  border-radius: 0 100px 0 0;
  width: 97%;
  background-image: url(../images/top/top-service@2x.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 160px;
}
.top__service-text {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 5%;
}
.top__service-text .btn--link__wrap {
  display: flex;
  align-items: self-end;
}
.top__service-swiper--bg {
  border-radius: 100px 0 0 0;
  width: 60%;
  height: calc(100% + 60px);
  background: var(--light-blue);
  position: absolute;
  content: "";
  top: -59px;
  right: 0;
  z-index: 1;
}
.top__service--text2 .top__ttl--M {
  color: var(--wh);
  line-height: 1.5;
}
.top__service--text2 p.top__text {
  font-size: var(--22);
  font-weight: 700;
  letter-spacing: 0;
  color: var(--wh);
  margin-top: 30px;
  line-height: 1.8;
}

    @media(max-width:1024px){
      .top__service--inner {
        margin-right: 5%;
        border-radius: 0 20px 0 0;
        width: 95%;
        padding-top: 80px;
      }
      .top__service--text2 .top__ttl--M {
        color: var(--bk);
        line-height: 1.5;
        font-size: 18px;
      }
      .top__service--text2 p.top__text {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0;
        color: var(--bk);
        margin-top: 10px;
        line-height: 1.5;
      }
    }


.top__service--text1 {
  color: var(--wh);
  margin-top: 50px;
}
.top__service--text1 p.top__text {
  font-size: var(--22);
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 30px;
  line-height: 1.8;
}

/* Swiper全体を基準にする */
.top__service-swiper {
  position: relative;
}

/* 矢印ラッパー */
.swiper-arrow-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 160px); /* 両側80px分 */
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none; /* 透過させる */
}

/* 矢印本体だけクリック可能に */
.swiper-button-prev,
.swiper-button-next {
  pointer-events: auto;
}

    @media(max-width:1024px){
      .top__service-text {
        display: block;
        padding: 0 0 0 5%;
      }
      .top__service-swiper {
        flex-direction: column-reverse;
      }
      .top-service__progress {
        display: block;
      }
      .top__service-text h2.ttl--L {
        margin-left: -18px;
        font-size: 40px;
        gap: 12px;
        text-indent: 0;
        justify-content: center;
      }
      .top__service-text p.ttl--p {
        text-align: center;
        font-size: 13px;
        letter-spacing: 0;
        font-weight: 700;
        margin-left: 0;
      }
      .top__service-text h3.top__ttl--M {
        font-size: 23px;
        margin: 0;
        line-height: 1.5;
        font-weight: 700;
        text-align: center;
      }
      .top__service--text1 {
        color: var(--wh);
        margin-top: 30px;
      }
      .top__service--text1 p.top__text {
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0;
        margin-top: 20px;
        line-height: 1.5;
        text-align: center;
      }
      .top__service-text .btn--link__wrap {
        display: flex;
        align-items: self-end;
        margin: 30px auto 0;
      }
      .top__service-swiper--bg {
        border-radius: 20px 0 0 0;
        width: 100%;
        height: calc(100% + 30px);
        top: -30px;
        right: -5%;
        z-index: 1;
      }
    }


/* ============================
  TOPページ＿RECRUIT
============================ */
section.top__recruit {
  padding: 360px 2.5% 1000px;
}
    @media(max-width:768px){
      section.top__recruit {
        padding: 75px 5% 860px;
      }
    }

.top__recruit--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1820px;
  margin: 0 auto;
  gap: 0 5%;
}
.top__recruit h3.top__ttl--M {
  margin: 62px auto 0;
  line-height: 1.7;
  color: var(--bk);
  font-weight: 700;
  text-align: center;
}
    @media(max-width:768px){
      .top__recruit h3.top__ttl--M {
        margin: 23px auto 0;
        line-height: 1.52;
        font-size: 23px;
      }
      .top__recruit--inner {
        display: contents;
      }
      .top__recruit--imgL.forPC {
        display: none;
      }
      .top__service-text .btn--link__wrap {
        width: 184px;
        height: 35px;
      }
      .top__service-text .btn--link {
        height: 100%;
        width: 100%;
        aspect-ratio: 184 / 35;
      }
    }


.top__recruit p.top__text {
  margin: 29px auto 0;
  line-height: 1.8;
  color: var(--bk);
  font-weight: 700;
  text-align: center;
}
.top__recruit .ttl--L {
  margin: 0;
}
    @media(max-width:768px){
      .top__recruit .ttl--L {
        justify-content: center;
        margin: 0;
        font-size: 40px;
        gap: 12px;
        margin-left: -12px;
        text-indent: 0;
    }
    }


.top__recruit .btn--link__wrap {
  margin: 90px auto 0;
}
.top__recruit--imgR {
  width: 27%;
  display: grid;
  gap: 350px;
}
.top__recruit--imgL img,
.top__recruit--imgR img {
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius-40);
}
.top__recruit--imgL {
  max-width: 466px;
  margin: auto auto 250px 0;
  width: 24%;
}
.top__recruit--imgL img {
  aspect-ratio: 466 / 391;
}

.top__recruit--imgR--1 {
  max-width: 476px;
  margin: auto 0 0 auto;
}

.top__recruit--imgR--1 img {
  width: 95%;
  aspect-ratio: 476 / 441;
  margin-left: 5%;
}

.top__recruit--imgR--2 {
  max-width: 375px;
}
.top__recruit--imgR--2 img {
  width: 73%;
  aspect-ratio: 375 / 315;
  margin-right: 27%;
}

.top__recruit--ttlWrap .top__ttl--L {
  margin-left: 0;
}


    @media(max-width:768px){
      .top__recruit .btn--link__wrap {
        margin: 30px auto 50px;
        aspect-ratio: 184 / 35;
        width: 184px;
        height: 35px;
      }
      .top__recruit--imgR {
        width: 100%;
        display: grid;
        gap: 5px;
      }
      .top__recruit--imgR--1 img {
        width: 100%;
        aspect-ratio: 330 / 165;
        margin-right: 5%;
        border-radius: 20px;
        margin-left: 0;
      }
      .top__recruit--imgR--2 img {
        width: 95%;
        aspect-ratio: 330 / 165;
        margin-right: 0;
        border-radius: 20px;
        margin-left: 5%;
      }
      .top__recruit--imgR--1 {
        max-width: 100%;
        margin: 0 10% 0 0;
      }
      .top__recruit--imgR--2 {
        max-width: 100%;
      }
    }


/* ============================
  TOPページ＿NEWS
============================ */
section.top__news {
  padding: 0 5% 30px;
  margin-top: -750px;
  position: relative;
  z-index: 1;
}
.top__news--inner {
  max-width: 1820px;
  margin: 0 auto;
  background-color: #FAFDFF;
  border-radius: var(--radius-73);
  box-shadow: 4px 4px 8px rgba(118,168,208,0.33);
  padding: 100px 5% 160px;
}
.top__news--ttlBtnWrap {
  max-width: 1620px;
  margin: 0 auto;
}
.news__linkWrap {
  display: block;
  /* padding: 40px 2% 30px; 0228修正*/
  border-bottom: 1px solid var(--blue);
  padding: 30px 2% 20px;
}

    @media(max-width:768px){
      .news__linkWrap {
      padding: 18px 0;
      }
      .top__news--inner {
      padding: 75px 5% 85px;
      }
      section.top__news {
      padding: 0 5%;
      }
    }

.news__flex1 {
  display: flex;
  align-items: center;
}
span.news__cat {
  background: var(--blue);
  color: var(--wh);
  border-radius: 30px;
  font-weight: 700;
  padding: 10px 30px;
  font-size: clamp(15px, 1.041vw, 20px);
}
    @media(max-width:768px){
      span.news__cat {
        font-size: 10px;
        padding: 5px 15px;
      }
    }


.news__flex2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 0;
  margin: 10px 0 0;/*0228修正*/
}
.top__news--ttlBtnWrap .btn--link__wrap {
  margin: 0 0 0 auto;
}
.top__news--ttlBtnWrap h2.ttl--L {
  color: var(--bk);
  margin: 0;
}

/* 1段目 */
.news__linkWrap time {
  font-family: var(--font-en);
  font-size: clamp(14.38px, 1.406vw ,27px);
  letter-spacing: 0.03em;
  font-weight: 500;
  color: var(--bk);
  text-decoration: none;
  width: 240px;
}
    @media(max-width:768px){
      .news__linkWrap time {
        font-size: 11px;
        width: 70px;
      }
    }


.news__cat {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

/* 2段目 */
.news__ttl {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.news__arrow {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
  justify-self: end;
}

    /* スマホ：とりあえず全部縦並びにするだけ */
    @media (max-width: 768px) {
      .news__linkWrap {
        grid-template-columns: 1fr; /* 1列 */
        grid-template-rows: auto;
      }

      .news__linkWrap > * {
        grid-column: 1 / -1; /* 全部1列に */
      }

      .news__arrow {
        justify-self: start; /* 必要なら調整 */
      }
      .news__flex2 {
        margin: 13px 0 0;
    }
    }


    @media(max-width:768px){
      .top__news--inner {
        display: flex;
        flex-direction: column;
      }
      .top__news--ttlBtnWrap {
        display: contents;
      }
      .ttlWrap {
        order: 1;
      }
      .bl__news {
        order: 2;
      }
      .top__news--ttlBtnWrap .btn--link__wrap {
        order: 3;
        margin: 30px auto 0;
        aspect-ratio: 184 / 35;
        width: 184px;
        height: 35px;
      }
      .top__news--ttlBtnWrap h2.ttl--L {
        font-size: 40px;
        justify-content: center;
        gap: 12px;
        margin-left: -12px;
        text-indent: 0;
      }
    }


/* ------------------------------
  マウスオーバーアニメーション
------------------------------- */
/* ニュースタイトルのアニメーション */
/* a 全体を hover トリガーにする */
.news__linkWrap {
  transition: all 0.3s ease;
}




/* ニュースタイトルのアニメーション */
.news__ttl {
  position: relative;
  transition: transform 0.3s ease, opacity 0.3s ease;
  margin-left: 240px;
  color: var(--bk);
  font-weight: 700;
  font-size: clamp(16.5px, 1.146vw, 22px);
}
    @media(max-width:768px){
      .news__ttl {
        margin-left: 0;
        font-size: 13px;
        margin-right: 27px;
        line-height: 1.53;
      }
    }


/* hover 時の動き */
a:hover .news__ttl {
  transform: translateX(8px);
  opacity: 0.7;
}

.news__arrow {
  position: relative;
  width: clamp(45px, 3.125vw, 60px);
  height: clamp(45px, 3.125vw, 60px);
}
    @media(max-width:768px){
      .news__arrow {
        width: 26px;
        height: 26px;
        min-width: 26px;
        min-height: 26px;
      }
    }

.news__arrow img {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: contain;
  vertical-align: bottom;
  aspect-ratio: 1 / 1;
}

/* 初期状態：青い矢印だけ表示 */
.arrow-default {
  opacity: 1;
  z-index: 1;
}

.arrow-hover {
  opacity: 0;
  z-index: 2;
}

/* ホバー時：白い矢印に切り替え */
a:hover .arrow-default {
  opacity: 0;
}

a:hover .arrow-hover {
  opacity: 1;
}

.bl__news {
  max-width: 1620px;
  /* margin: 60px auto 0; 0228修正*/
  margin: 40px auto 0;
}
.bl__news a {
  text-decoration: none;
}
.u__news .bl__news {
  margin: 0 auto;
}
    @media(max-width:768px){
      .news .bl__news {
        margin: 45px auto 0;
      }
      .bl__news {
        margin: 20px auto 0;
      }
    }


/* ============================
   下層ページ__共通
============================ */
section.under__mv {
  padding: clamp(88px, 6.09vw, 117px) 0 160px;
}

.u_recruit {
  margin-top: 140px;
}
    @media(max-width:768px){
      .u_recruit {
        margin-top: 0;
      }
    }

/* .news-post section.under__mv {
  padding: clamp(88px, 6.09vw, 117px) 0 84px;
} */
.news-post section.under__mv,
.news section.under__mv {
  padding: clamp(88px, 6.09vw, 117px) 0 30px;
}
/* .news section.under__mv {
  padding: clamp(88px, 6.09vw, 117px) 0 30px;
} */

    @media(max-width:768px){
      .news section.under__mv,
      .news-post section.under__mv,
      .thanks section.under__mv,
      section.under__mv {
        padding: clamp(88px, 6.09vw, 117px) 0 80px;
      }
      .under__mv.u_aboutUs  {
        padding: clamp(88px, 6.09vw, 117px) 0 90px;
      }
    }


.under__mv--inner,
.u_service--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.under__mv--inner {
  margin-top: 75px;
}
.news .under__mv--inner {
  margin-top: 30px;
}
.ttlWrap.top__recruit--ttlWrap .ttl--p {
  margin-left: auto;
  text-align: center;
}
.ttlWrap.top__news--ttlWrap  .ttl--p {
  color: var(--bk);
  margin-left: 50px;
}
.u_service p.under__ttl--h3 {
  margin-left: 50px;
}

    @media(max-width:768px){
      .under__mv--ttlWrap, .u_service--ttlWrap {
        width: 95%;
        margin-left: 5%;
      }
      .under__mv--ttlWrap .ttl--L {
        font-size: 55px;
        font-weight: 500;
        text-indent: 0;
        gap: 12px;
      }
      .under__mv--ttlWrap .ttl--p {
        font-size: 12px;
        font-weight: 700;
      }
      .bl__contactWrap .under__mv--ttlWrap .ttl--L {
        font-size: 40px;
        font-weight: 500;
        text-indent: 12px;
      }
      .ttlWrap.top__news--ttlWrap .ttl--p {
        margin-left: 0;
        text-align: center;
        font-size: 13px;
        font-weight: 700;
      }
      .ttlWrap.top__recruit--ttlWrap .ttl--p {
        margin-left: auto;
        text-align: center;
        font-size: 13px;
        font-weight: 700;
      }
      .u_service p.under__ttl--h3 {
        margin-left: 20px;
        line-height: 1.5;
        margin-top: 24px;
      }
      .about-page .under__mv--inner,
      .contact .under__mv--inner,
      .confirm .under__mv--inner,
      .thanks .under__mv--inner {
        margin-top: 30px;
      }
    }


.under__fv {
  width: 48%;
}
    @media(max-width:768px){
      .under__fv {
      width: 95%;
      margin: 30px 0 0 5%;
      }
      .under__fv--img {
      width: 100%;
      }
      .about-page .under__fv {
        width: 95%;
        margin: 55px 0 0 5%;
      }
    }

.under__mv--ttlWrap p,
.u_service--ttlWrap p {
  margin-top: 1em;
}

.under__fv img {
  width: 100%;
  aspect-ratio: 933 / 485;
  object-fit: cover;
  border-radius:
    clamp(120px, 12.7vw, 243px)
    0
    0
    clamp(20px, 2.1vw, 40px);
}
    @media(max-width:768px){
      .under__fv img {
        aspect-ratio: 369 / 258;
        border-radius: 100px 0 0 20px;
      }
    }

.under__nav--wrap {
  padding: 0 5%;
}
.under__nav {
  display: flex;
  gap: 16px;
  justify-content: end;
  max-width: 1620px;
  margin: 60px auto 0;
}
.under__nav-link {
  position: relative;
  width: clamp(153px, 10.8vw, 205px);
  min-width: 153px;
  aspect-ratio: 205 / 51;
}
li.under__nav-link::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: .8em;
  height: .8em;
  background-image: url(../images/arrow-down-blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.under__nav-link a {
  background: var(--wh);
  border-radius: var(--radius-50);
  color: var(--blue);
  font-size: clamp(12px, 0.8334vw, 16px);
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.27;
  display: flex;
  align-items: center;
  text-decoration: none;
  border: solid 1px var(--wh);
  width: 100%;
  height: 100%;
  justify-content: start;
  text-indent: 2em;
}
.under__nav-link a:hover {
  background: var(--wh);
  color: var(--blue);
  border: solid 1px var(--blue);
}
    @media(max-width:768px){
      .under__mv--inner, .u_service--inner {
        flex-direction: column;
      }
      .under__nav {
        flex-wrap: wrap;
        justify-content: center;
        margin: 25px auto 0;
      }
      .u_service .under__nav-link a,
      .u_recruit .under__nav-link a {
          font-size: 12px;
      }
      li.under__nav-link::after {
        width: 12px;
        height: 12px;
      }
      .under__nav-link {
        height: 35px;
      }
    }


/* 文字数多いボタン */
.u_service .under__nav-link,
.u_recruit .under__nav-link {
  width: auto;
  aspect-ratio: auto;
  height: 50px;
}
.u_service li.under__nav-link::after,
.u_recruit li.under__nav-link::after {
  right: -10px;
}
.u_service .under__nav-link a,
.u_recruit .under__nav-link a {
  padding-right: 30px;
}
.u_service .under__nav,
.u_recruit .under__nav {
  display: flex;
  gap: 48px;
  justify-content: end;
  max-width: 1620px;
  margin: 60px auto 0;
}
.u_service .under__nav--wrap,
.u_recruit .under__nav--wrap {
  padding: 0 calc(5% + 30px);
}

    @media(max-width:768px){
      .u_service .under__nav, .u_recruit .under__nav {
        flex-direction: column;
        gap: 10px;
        margin: 25px 0 0 auto;
      }
      .u_service .under__nav-link,
      .u_recruit .under__nav-link {
        width: 250px;
        margin: 0 0 0 auto;
        height: 35px;
        }
    }
/* ./文字数多いボタン */


.under__ttl {
  font-size: var(--80);
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.15;
  text-transform: capitalize;
  color: var(--bk);
}
    @media(max-width:768px){
      .under__ttl {
        font-size: 40px;
        white-space: nowrap;
        letter-spacing: 0;
      }
    }


.under__ttl--h3 {
  font-size: var(--50);
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 1em;
  line-height: 1.4;
}

.u__jobs--textWrap .under__ttl--h3 {
  margin-top: 60px;
}
    @media(max-width:768px){
      .u__system--textWrap .under__ttl--h3,
      .u__jobs--textWrap .under__ttl--h3{
        margin-top: 26px;
        margin-left: 0;
    }
    }


.under__subTtl {
  display: flex;
  align-items: center;
  font-size: clamp(15px, 1.041vw, 20px);
  font-weight: 500;
  color: var(--bk);
  margin-top: .5em;
}
.under__subTtl .dot {
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 10px;
  line-height: 1;
  display: block;
  margin-right: 20px;
}
span.nav__arrow-down {
  width: 18px;
  height: 26px;
}
span.nav__arrow-down img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

p.ttl--p {
  font-size: var(--30);
  letter-spacing: 0;
  font-weight: 500;
  font-family: var(--font-ja);
  color: var(--wh);
  margin-left: 50px;
}
.bl__contact p.ttl--p {
  margin-left: 0;
  text-align: center;
}
.under__mv--ttlWrap p.ttl--p {
  font-size: var(--23);
}
h3.under__ttl--h3.forSP {
  display: none;
}
h3.under__ttl--h3.forPC {
  display: block;
  margin-top: 1em;
}


    @media(max-width:768px){
      .under__ttl--h3, .u_service--ttlWrap p, .under__mv--ttlWrap p {
        font-size: 23px;
        font-weight: 700;
        margin-left: 20px;
        line-height: 1.5;
        margin-top: 24px;
      }

      .bl__contact p.ttl--p {
        font-size: 13px;
      }

      .u__Philosophy--textWrap .under__ttl--h3 {
        font-size: 21px;
        margin: 25px auto 0 0;
        text-align: left;
      }
      
      h3.under__ttl--h3.forPC {
        display: none;
      }

      h3.under__ttl--h3.forSP {
        display: block;
        text-align: left;
        margin-left: 0;
      }

      .under__mv--ttlWrap p.ttl--p {
        margin-left: 20px;
        font-size: 12px;
      }
    }

.under__text {
  font-size: clamp(15px, 1.041vw, 20px);
  font-weight: 400;
  line-height: 1.8;
  margin-top: 32px;
}
    @media(max-width:768px){
      .under__text {
        font-size: 13px;
        font-weight: 400;
        line-height: 1.53;
        margin-top: 32px;
        font-weight: 400;
      }
    }


/* ================
  service-section
================= */
.u_service {
  padding: 230px 0;
}
.u_service__list {
  display: flex;
  max-width: 1620px;
  margin: 80px auto 0;
  gap: 2%;
  justify-content: space-between;
}
.u_service__item {
  width: 32%;
  border-radius: var(--radius-40);
  box-shadow: 4px 4px 8px rgba(118,168,208,0.33);
  background-color: #FAFDFF;
  border: 1px solid rgba(112,112,112,.31);
}
    @media(max-width:768px){
      .u_service__item {
        width: 100%;
      }
      .u_service__item {
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: row-reverse;
        gap: 0;
        padding: 24px 5% 0;
        width: 90%;
        max-width: 350px;
      }
      .u_service__item--img {
        width: 48px;
        height: auto;
        flex-shrink: 0;
      }
      .u_service__item--h4 {
        flex: 1;
      }
      .u_service__item--p {
        width: 100%;
      }
    }


.u_service__item .btn--link__wrap {
    margin: 0 auto 36px;
}

.u_service__item--h4 {
    margin-top: 30px;
    text-align: center;
    line-height: 1.5;
    font-weight: 500;
    font-size: clamp(18px, 1.718vw, 33px);
}
    @media(max-width:768px){
      .u_service__item--h4 {
        margin: 0;
        text-align: left;
        line-height: 1.66;
        font-weight: 700;
      }
    }


.u_service__item--img {
  display: block;
  margin: 20px auto;
  height: 95px;
  width: auto;
}
    @media(max-width:768px){
      .u_service__item--img {
        margin: auto 20px;
        height: 54.45px;
      }
    }

.u_service__item--p {
  text-align: left;
  line-height: 2.1;
  font-weight: 400;
  font-size: clamp(13.5px, 0.9375vw, 18px);
  width: 80%;
  margin: 0 auto 43px;
}
    @media(max-width:768px){
      .u_service__list {
      flex-direction: column;
      gap: 15px;
      margin: 30px auto 0;
      }
      .u_service__item--p {
      width: 100%;
      line-height: 1.5;
      font-size: 12px;
      margin: 14px auto 30px;
      }
    }

.u_system__description {
  text-align: center;
  font-size: clamp(16.5px, 1.146vw, 22px);
  line-height: 1.8;
  font-weight: 500;
  margin-top: 80px;
}
.u_system {
  margin-bottom: 40px;
}
    @media(max-width:768px){
      .u_system__description {
        font-size: 13px;
        margin-top: 35px;
      }
    }

.u_service__point {
  max-width: 1620px;
  margin: -40px auto 0;
  padding-top: 80px;
}
    @media(max-width:768px){
      .u_service__point {
        margin: -30px auto 0;
        padding-top: 60px;
      }
    }

.u_service__point-body {
  display: flex;
  justify-content: space-between;
  gap: 4%;
}
.u_service__point-ttl,
.u_service__point-label {
  position: relative;
  display: inline-block;
  font-size: clamp(18px, 1.718vw, 33px);
  line-height: 1.57;
  font-weight: 700;
}

h3.u_service__point-ttl {
  display: inline-flex;
  align-items: center;
  gap: 30px;
}
    @media(max-width:768px){
      h3.u_service__point-ttl {
        gap: 10px;
        font-size: 21.5px;
      }
    }

h3.u_service__point-ttl span img {
  width: 100%;
  object-fit: contain;
}
h3.u_service__point-ttl span {
  display: block;
  width: 60px;
}
    @media(max-width:768px){
      h3.u_service__point-ttl span {
        width: 48px;
      }
    }


/* 下線 */
.u_service__point-ttl::after,
.u_service__point-label::after {
  content: "";
  position: absolute;
  left: -1ch;
  right: -1ch;
  height: 17px;
  background-color: #E1EAF5;
  z-index: -1;
}

.u_service__point-ttl::after {
  bottom: .5em;
}
.u_service__point-label::after {
  bottom: 0;
}

.u_service__point-text {
  width: 50%;
  font-size: var(--22);
  line-height: 1.8;
  font-weight: 400;
}
    @media(max-width:768px){
      .u_service__point-text {
        width: 100%;
        line-height: 1.5;
        font-size: 13px;
        margin-top: 6px;
      }
    }


.u_service__point-aside {
  width: 46%;
  border: solid 1px rgba(112,112,112,.31);
  border-radius: var(--radius-40);
  padding: 24px 0 40px;
}
    @media(max-width:768px){
      .u_service__point-aside {
            width: calc(100% - 40px);
            margin-top: 20px;
            padding: 10px 20px 20px;
        }
    }


.u_service__point-list {
  display: grid;
  gap: 17px;
  margin-top: 30px;
}
    @media(max-width:768px){
      .u_service__point-list {
        display: grid;
        gap: 11px;
        margin-top: 14px;
      }
    }

h4.u_service__point-label {
  margin: 0 10%;
  font-size: clamp(18px, 1.718vw, 33px);
  line-height: 1.57;
  font-weight: 700;
}
    @media(max-width:768px){
      h4.u_service__point-label {
        font-size: 23px;
        margin: 0 auto 0 10px;
      }
    }

.u_service__point-item {
  position: relative;
  padding-left: 1.8em;
  margin: 0 10%;
  font-size: var(--22);
  line-height: 1.8;
  font-weight: 400;
}
    @media(max-width:768px){
      .u_service__point-item {
        margin: 0 auto 0 0;
        font-size: 13px;
        line-height: 1.5;
        padding-left: 40px;
      }
    }

.u_service__point-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  transform: translateY(-50%);
  width: 1.136em;
  height: 1.136em;
  background-image: url("../images/about/ico_check.png");
  background-size: contain;
  background-repeat: no-repeat;
}
    @media(max-width:768px){
      .u_service__point-item::before {
        width: 18px;
        height: 18px;
      }
    }


.u_service {
  padding: 230px 0 120px;
}
.u_service__link-list {
  display: flex;
  max-width: 1620px;
  margin: 100px auto 0;
  gap: 2%;
  justify-content: space-between;
  align-items: center;
}
.u_service__link-list p {
  font-size: clamp(16.5px, 1.146vw, 22px);
  line-height: 1.8;
  font-weight: 400;
  max-width: 720px;
  width: 46%;
}
.u_programming .u_service__link-list {
  margin: 90px auto 0;
}
.u_programming .u_service__link-list p {
  width: 39%;
}

.u_programming .btn--link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* アイコン枠 */
.u_programming .btn--link__icon {
  position: relative;
    width: .875em;
  height: .875em;
  display: inline-block;
}

/* 2枚の画像を重ねる */
.u_programming .btn--link__icon img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  object-fit: contain;
  display: block;
}

/* 初期状態 */
.u_programming .btn--link__icon .hover {
  opacity: 0;
}

/* hover時に切り替え */
.u_programming .btn--link:hover .btn--link__icon .normal {
  opacity: 0;
}

.u_programming .btn--link:hover .btn--link__icon .hover {
  opacity: 1;
}


    @media(max-width:768px){
      .u_service__link-list {
        flex-direction: column;
        margin: 35px auto 0;
      }
      .u_service__point-body {
        flex-direction: column;
      }
      .u_service__link-list p {
        text-align: center;
        width: 100%;
        font-size: 13px;
        line-height: 1.6;
      }
      .u_service {
        padding: 116px 0 20px;
      }
      .u_programming .u_service__link-list p {
        width: 100%;
      }
      .u_programming .u_service__link-list {
        margin: 35px auto 0;
      }
    }



/* u_jobs */
.u_jobs {
  margin-top: 170px;
}
.u_jobs__point-aside {
  width: 48%;
  border: solid 1px rgba(112, 112, 112, .31);
  border-radius: var(--radius-40);
  padding: 0 0 40px;
  position: relative;
  box-shadow: 4px 4px 8px rgba(118,168,208,0.33);
}

.u_jobs__point-aside--ttl.forPC {
    display: inline-flex;
    align-items: baseline;
    position: absolute;
    z-index: 0;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    gap: 14px;
    white-space: nowrap;
    padding: 0 8px 14px;
}
.u_jobs__point-aside--ttl.forPC::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 70px;
  background: #FAFDFF;
  z-index: -1;
}
.u_jobs__point-aside--ttl.forPC::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 17px;
  background: rgba(1, 68, 152, .1);
  z-index: 0;
  bottom: 0;
}
.u__jobs__point-wrap.--custom .u_jobs__point-aside--ttl.forPC {
  position: static;
  transform: translateX(0);
  margin: 0 auto 0 calc(5% + 25px);
}

span.u_jobs__point-aside--icon {
  display: block;
  width: clamp(38px, 2.864vw, 55px);
  min-width: 38px;
}
span.u_jobs__point-aside--icon img {
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
  margin-bottom: -2px;
  margin-top: auto;
}
.u_jobs__point-aside--ttl.forPC h4 {
  font-size: clamp(20px, 1.718vw, 33px);
  font-weight: 700;
}
.u_jobs__point-aside--ttl.forPC p {
  font-size: clamp(14px, 1.145vw, 22px);
  font-weight: 700;
}
.u_jobs__point-aside--ttl.forPC span.line {
  display: block;
  content: "";
  width: var(--22);
  height: 1px;
  background: #A8A8A8;
  margin-bottom: 8px;
  margin-top: auto;
}

    @media(max-width:768px){
      .u_jobs__point-aside--ttl.forPC {
        display: none;
      }
      .u_jobs__point-aside {
        width: 100%;
      }
      .u_jobs {
        margin-top: 60px;
      }
      .u_jobs__point-aside::before {
        content: "";
        position: absolute;
        background-size: contain;
        background-repeat: no-repeat;
        top: -40px;
        left: 50%;
        width: 80%;
        height: 80%;
        max-width: 310px;
        transform: translateX(-50%);
      }
      .u_jobs__point-aside.ttlImg-01::before {
        background-image: url(../images/about/jobs_ttl-sp01.png);
      }
      .u_jobs__point-aside.ttlImg-02::before {
        background-image: url(../images/about/jobs_ttl-sp02.png);
      }
      .u_jobs__point-aside.ttlImg-03::before {
        background-image: url(../images/about/jobs_ttl-sp03.png);
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
      }
    }

.u_jobs__point-aside h4 img {
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.u__jobs__point-wrap.--custom .u_jobs__point-aside h4 {
  max-width: 443px;
  width: 76%;
  margin: 0 auto;
  top: -66px;
}

.u__jobs__point-wrap {
  display: flex;
  max-width: 1620px;
  margin: 108px auto 0;
  gap: 4%;
  justify-content: space-between;
}

h4.u_jobs__point-label {
  font-size: clamp(18px, 1.718vw, 33px);
  line-height: 1.57;
  font-weight: 700;
  position: absolute;
  display: inline-block;
  z-index: 1;
  top: -42px;
  left: 2em;
}

/* キャリアアップ × 研修 */
.u__jobs__point-wrap.--custom {
  display: block;
  margin: 70px auto 0 0;
  width: 48%;
}
.u__jobs__point-wrap.--custom p {
  margin: 20px auto 0 calc(5% + 25px);
  font-size: clamp(16.5px, 1.146vw, 22px);
  line-height: 1.8;
  font-weight: 400;
  white-space: nowrap;
}


    @media(max-width:768px){
      .u__jobs__point-wrap.--custom {
        display: block;
        margin: 60px auto 0 0;
        width: 100%;
      }
      .u__jobs__point-wrap.--custom p {
        margin: 0 auto;
        font-size: 13px;
        white-space: normal;
        padding: 30px 5% 0;
      }
    }

.u__jobs__point-wrap.--custom .u_jobs__point-aside {
  width: 100%;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
    @media(max-width:768px){
      .u__jobs__point-wrap.--custom .u_jobs__point-aside {
        width: 100%;
      }
    }


.u__jobs__point-wrap.--custom h4.u_jobs__point-label {
    top: -75px;
}

.u_sales__ttlWrap-line {
    margin-top: 170px;
    padding-top: 60px;
}

.u_sales__ttlWrap-line hr {
    margin: 8px;
}

.step {
    max-width: 1620px;
    margin: -40px auto 0;
}
    @media(max-width:768px){
      .step {
        margin: 0 auto;
      }
    }
/* ./キャリアアップ × 研修 */



h4.u_jobs__point-label img {
  width: 55px;
  vertical-align: bottom;
  margin-right: 14px;
}
sub.u_jobs__point-subLabel--L {
  font-size: 22px;
}
span.u_jobs__point-subLabel--S {
  font-size: 18px;
}
span.u_jobs__point-subLabel--hr {
  display: inline-block;
  width: 24px;
  border-top: solid 1px #A8A8A8;
  margin: 6px 10px 6px;
}
sub.u_jobs__point-subLabel--L {
  margin-right: .5em;
}
.u_jobs__point-list {
  display: grid;
  gap: 17px;
  justify-content: center;
  margin: 50px 5% 0;
}
.u_jobs__point-item {
  position: relative;
  padding-left: 1.8em;
  font-size: clamp(16.5px, 1.146vw, 22px);
  line-height: 1.8;
  font-weight: 400;
}
    @media(max-width:768px){
      .u_jobs__point-item {
        margin: 0 auto;
        font-size: 13px;
        width: 100%;
      }
      .u_jobs__point-list {
        gap: 12px;
        margin: 75px 5% 0;
      }
    }
    @media(max-width:768px){
      .u_sales__ttlWrap-line {
        margin-top: 80px;
        padding-top: 60px;
      }
    }


.u_jobs__point-ttl::after, .u_jobs__point-label::after {
  content: "";
  position: absolute;
  left: -1ch;
  right: -1ch;
  bottom: -3px;
  height: 17px;
  background-color: #E1EAF5;
  z-index: -1;
}
.u_jobs__point-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  transform: translateY(-50%);
  width: 1.136em;
  height: 1.136em;
  background-image: url(../images/about/ico_check.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.u_jobs__ill img {
  width: 100%;
  object-fit: contain;
}
.u_jobs__ill {
  max-width: 1620px;
  margin: 80px auto 0;
}

    @media(max-width:1024px){
      .u__jobs__point-wrap {
        flex-direction: column;
        margin: 70px auto 0;
        gap: 60px;
      }
      .u_jobs__point-aside {
        width: 100%;
        max-width: 789px;
        margin: 0 auto;
      }
      .u_jobs__ill {
        margin: 30px auto 0;
      }
    }

.link-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2%;
  width: 52%;
}
.u_programming .link-list {
  width: 57%;
}
    @media(max-width:768px){
      .u_programming .link-list {
        width: 100%;
    }
    }

/* 3枚 */
.link-list__item {
  text-align: center;
  width: 32%;
  border: solid 1px rgba(112, 112, 112, .31);
  border-radius: 20px;
  padding: 27px 0;
}
li.link-list__item:nth-child(3) {
  border: solid 4px var(--blue);
}
    @media(max-width:768px){
      .link-list__item {
        width: 100%;
      }
    }

/* 2枚 */
.--two .link-list__item {
  width: 49%;
}
    @media(max-width:768px){
      .--two .link-list__item {
        width: 100%;
      }
    }


.--two li.link-list__item .btn--link__wrap {
  max-width: 213px;
}
/* ./2枚 */


li.link-list__item h5 {
  font-size: var(--24);
  font-weight: 700;
}
li.link-list__item .btn--link__wrap {
  margin: 0 auto;
  width: 72%;
}
li.link-list__item .btn--link__wrap a {
  font-size: var(--16);
  font-weight: 700;
}
li.link-list__item img {
  display: block;
  width: var(--60);
  margin: 14px auto 19px;
}
.u_programming li.link-list__item .btn--link__wrap {
  margin: 0 auto;
  width: 80%;
}

    @media(max-width:768px){
      .link-list {
        flex-direction: column;
        width: 100%;
        margin-top: 30px;
        gap: 15px;
      }
      .u_service__link-list li.link-list__item .btn--link__wrap a {
        font-size: 18px;
      }
      .u_service__link-list .--two li.link-list__item .btn--link__wrap,
      .u_service__link-list li.link-list__item .btn--link__wrap {
        max-width: 260px;
        aspect-ratio: 212 / 43;
        height: 43px;
      }
    }


/* ============================
  下層ページ_news
============================ */
section.u__news {
  padding: 0 5%;
}
.u__news--inner,
.u__news--select {
  max-width: 1620px;
  margin: 0 auto;
}
.u__news--select h5 {
  font-family: var(--font-en);
  font-size: clamp(16.5px, 1.146vw, 22px);
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: capitalize;
  color: var(--bk);
  text-align: left;
}
.select-cat select {
  border: solid 1px var(--blue);
  border-radius: 5px;
  padding: 16px 35px 16px;
  color: var(--bk);
  font-size: clamp(16.5px, 1.146vw, 22px);
  font-weight: 700;
  background-color: transparent;
}


/* 通常選択時 */
.select-cat select.is-selected {
  color: var(--bk);
}

.select-cat {
  position: relative;
  display: inline-block;
  margin-top: 10px;
}

/* 標準矢印を消す */
.select-cat select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2.5em; /* ▼分の余白 */
}

/* ▼ を自作 */
.select-cat::after {
  content: "▼";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: clamp(16px, 1.5625vw, 30px);
  color: var(--blue);
  font-family: var(--font-en);
}
    @media(max-width:768px){
      .select-cat::after {
      right: 12px;
      }
      .select-cat select {
      padding: 10px 40px 10px 13px;
      font-size: 13px;
      }
    }


.u__news--select {
  text-align: right;
  display: inline-block;
}
.u__news--selectWrap {
  text-align: right;
  padding: 0 5%;
  max-width: 1620px;
  margin: 0 auto;
}
    @media(max-width:768px){
      .u__news--selectWrap {
        text-align: left;
      }
    }


/* ページネーション */
nav.pagination {
  margin-top: 124px;
}
ul.pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 43px;
}
li.pagination__item {
  background-color: var(--wh);
  border: solid 1px var(--blue);
  width: 61px;
  height: 61px;
  border-radius: 40px;
  display: grid;
  place-content: center;
}
    @media(max-width:768px){
      li.pagination__item {
        width: 30px;
        height: 30px;
      }
      nav.pagination {
      margin-top: 66px;
      }
      ul.pagination__list {
          gap: 30px;
      }
    }


li.pagination__item a,
li.pagination__item.is-current span {
  letter-spacing: 0.03em;
  font-weight: 500;
  font-size: 30px;
  font-family: var(--font-en);
}

    @media(max-width:768px){
      li.pagination__item a,
      li.pagination__item.is-current span {
        font-size: 14px;
      }
    }

li.pagination__item a {
  color: var(--bk);
  text-decoration: none;
}
li.pagination__item.is-current {
  background-color: var(--blue);
  border: solid 1px var(--blue);
}
li.pagination__item.is-current span {
  color: var(--wh);
}


/* ============================
  下層ページ_news-post
============================ */
section.u__newsPost {
  /* margin-top: 140px; 0220修正*/
  margin-top: 60px;
  padding: 0 5%;
}
.u__newsPost--inner {
  max-width: 1126px;
  margin: 0 auto;
}
.u__newsPost--catWrap {
  display: flex;
  align-items: center;
}
.u__newsPost--catWrap time {
  font-size: clamp(14.38px, 1.406vw ,27px);
  font-weight: 500;
  color: var(--bk);
  margin-right: 34px;
  font-family: var(--font-en);
  letter-spacing: 0.03em;
}
h2.u__newsPost__ttl {
  font-size: clamp(16px, 1.5625vw, 30px);
  margin-top: 40px;
  line-height: 1.77;
}
    @media(max-width:768px){
      h2.u__newsPost__ttl {
        font-size: 15px;
      }
      section.u__newsPost {
        margin-top: 0;
      }
    }


.u__newsPost--contents hr {
  margin: 33px 0 54px;
  border-top: solid 1px var(--blue);
  width: 100%;
}
.u__newsPost--contents p {
  font-size: clamp(16.5px, 1.146vw, 22px);
  line-height: 1.8;
  font-weight: 400;
  color: var(--bk);
  margin-top: 54px;
}
    @media(max-width:768px){
      .u__newsPost--contents hr {
      margin: 16px 0 16px;
      }
      .u__newsPost--contents p {
        font-size: 12px;
        line-height: 1.5;
        margin-top: 20px;
      }
    }


.u__newsPost .btn--link__wrap {
  margin: 110px auto 136px;
}
    @media(max-width:768px){
      .u__newsPost .btn--link__wrap {
        margin: 45px auto 10px;
        width: 184px;
        height: 35px;
      }
    }


.u__newsPost--contents img {
  width: 80%;
  object-fit: contain;
  vertical-align: bottom;
  display: block;
  margin: 0 auto;
  height: auto;
  aspect-ratio: 850 / 413;
  object-fit: contain;
}
.u__newsPost__thumbnail img {
    aspect-ratio: 850 / 413;
    object-fit: contain;
}
    @media(max-width:768px){
      .u__newsPost__thumbnail img {
        aspect-ratio: 350 / 206;
    }
    }


/* ============================
   下層ページ__about-us
============================ */
.u_aboutUs p.under__ttl--h3 {
  margin-left: 50px;
}
    @media(max-width:768px){
      .u_aboutUs p.under__ttl--h3 {
        margin-left: 20px;
        line-height: 1.5;
        margin-top: 24px;
      }
    }

/* section-message */
section.u_message {
  padding: 0 5%;
}
.u__message--item {
  display: flex;
  max-width: 1620px;
  margin: 46px auto 70px;
  justify-content: space-between;
}
.u__message--inner {
  max-width: 1620px;
  margin: 0 auto;
}
.u__message--img img {
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius-40);
}
.u__message--img {
  max-width: 700px;
  width: 44%;
}
    @media(max-width:768px){
      .u__message--img {
        width: 100%;
      }
      .u__message--img img {
        border-radius: 20px;
        aspect-ratio: 295 / 226;
      }
    }

.u__message--textWrap {
  max-width: 754px;
  width: 47%;
}
    @media(max-width:768px){
      .u__message--textWrap {
        max-width: 100%;
        width: 100%;
      }
    }


.u__message--name {
  font-size: clamp(21px, 1.458vw, 28px);
  font-weight: 500;
  margin-top: 28px;
  text-align: right;
}
.u__message--name span {
  font-size: clamp(16.5px, 1.146vw, 22px);
  font-weight: 400;
  margin-right: 0.85em;
}
    @media(max-width:768px){
      .u__message--item {
        flex-direction: column;
        margin: 26px auto;
      }
      .u__message--name {
        font-size: 18px;
        margin-top: 13px;
      }
      .u__message--name span {
        font-size: 13px;
        margin-right: 20px;
      }
    }


/* section-blood */
.u__blood--inner {
  max-width: 1620px;
  margin: 0 auto;
}
.u__blood--item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.u__blood--textWrap {
  width: 56%;
}
  @media(max-width:768px){
      .u__blood--textWrap {
        width: 100%;
    }
  }

.u__blood--img {
  width: 44%;
  max-width: 720px;
  box-shadow: 4px 4px 8px rgba(118, 168, 208, .33);
  border-radius: var(--radius-40);
  margin-top: calc(36px + var(--50));
}
    @media(max-width:768px){
      .u__blood--img {
        width: 90%;
        margin-top: 26px;
        padding: 0 5%;
      }
    }


.u__blood--img img {
  margin: 33px auto 43px;
  width: 64%;
  display: block;
}
    @media(max-width:768px){
      .u__blood--img img {
      width: 100%;
      }
      .u__blood--item {
      flex-direction: column-reverse;
      }
    }
/* section-Philosophy */



/* section-outline */
section#u_outline {
  margin-top: 110px;
  padding-bottom: 200px;
  padding-top: 120px;
}
.u__outline--inner .under__ttlWrap {
  max-width: 1620px;
  margin: 0 auto;
}
.u__outline--inner {
  max-width: 1620px;
  margin: 0 auto;
}

  @media(max-width:768px){
    section#u_outline {
      margin-top: 35px;
      padding-bottom: 100px;
      padding-top: 60px;
    }
  }

.company {
  margin-top: 70px;
}
    @media(max-width:768px){
      .company {
        padding: 0;
        margin-top: 26px;
      }
    }


.company__inner {
  max-width: 1620px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
}

.company__list {
  width: 100%;
}

.company__row {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #fff;
  position: relative;
}
.company__row:after {
  position: absolute;
  content: "";
  height: 1.5px;
  width: 114px;
  background: #fff;
  bottom: -1px;
}
    @media(max-width:768px){
      .company__row:after {
        height: 1px;
        width: 90%;
        bottom: 0;
      }
      .company__row:last-of-type:after {
        content: none;
      }
    }

.company__row dt {
  width: 180px;
  font-weight: 700;
  color: var(--bk);
  font-size: clamp(16.5px, 1.146vw, 22px);
}

.company__row dd {
  margin: 0;
  line-height: 1.8;
  font-weight: 400;
  color: var(--bk);
  font-size: clamp(16.5px, 1.146vw, 22px);
}

a.googleMap-link {
  width: clamp(98px, 6.6vw, 126px);
  display: block;
  margin: 0 0 0 auto;
}
a.googleMap-link img {
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}

.company-map {
  width: 100%;
  aspect-ratio: 490 / 308;
  margin-top: 20px;
}

.company-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
    @media(max-width:768px){
      .company__row dd {
        font-size: 14px;
      }
      .company-map {
        margin-top: 14px;
      }
      .company__col:nth-child(1) .company__row:nth-child(2) {
        border-bottom: none;
        position: static;
        padding: 20px 0 0;
      }
    }

/* =====================
  SP（1カラム）
===================== */
    @media (max-width: 768px) {
      .company__inner {
        grid-template-columns: 1fr;
        gap: 0;
      }
      .company__row {
        flex-direction: column;
        position: static;
      }
      .company__row dt {
        width: 100%;
        margin-bottom: 6px;
        font-size: 14px;
      }
      .company__row:nth-child(3) {
        padding: 0 0 20px;
      }
      .company__col:nth-child(2) .company__row:nth-child(3) {
        padding: 20px 0;
      }
    }

.u__message,
.u__blood,
.u__Philosophy,
.u__outline,
.u_system,
.u_seminar,
.u_programming,
.u__recruit,
.u_jobs,
.u_sales,
.u_guideline {
  padding: 0 8%;
}
    @media(max-width:768px){
      .u__message, .u__blood, .u__Philosophy, .u__outline, .u_system, .u_seminar, .u_programming, .u__recruit, .u_jobs, .u_sales, .u_guideline {
      padding: 0 5%;
      }
    }

.u__history {
  padding: 0 3%;
}


/* 共通パーツ */
.u__Philosophy--inner,
.u__system--inner,
.u__seminar--inner,
.u__programming--inner,
.u__recruit--inner,
.u__jobs--inner,
.u__sales--inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1620px;
  margin: 0 auto;
  gap: 6%;
}
.u__jobs--inner,
.u__sales--inner {
  align-items: flex-start;
  margin-top: 70px;
}

section#u_system {
  padding: 110px 8% 0;
}

    @media(max-width:768px){
      .u__recruit--inner,
      .u__jobs--inner,
      .u__sales--inner {
        flex-direction: column;
      }

      .u__sales--inner {
        margin-top: 0;
      }

      /* SP用 */
      .u__Philosophy--inner,
      .u__system--inner,
      .u__seminar--inner,
      .u__programming--inner {
        display: grid;
        grid-template-areas:
        "ttl"
        "img"
        "h3"
        "text";
        gap: 0;
        justify-content: center;
      }

      .u__Philosophy--textWrap,
      .u__system--textWrap,
      .u__jobs--textWrap {
        display: contents;
      }

      .under__ttlWrap {
        grid-area: ttl;
      }

      .u__Philosophy--img,
      .u__system--img,
      .u__seminar--img,
      .u__programming--img {
        grid-area: img;
      }

      .u__blood--textWrap h3.under__ttl--h3 {
        grid-area: h3;
        margin: 25px auto 0;
        font-size: 21px;
      }

      .u__message--textWrap h3.under__ttl--h3 {
        margin: 24px auto 0 0;
      }

      .under__text {
        grid-area: text;
        margin-top: 15px;
        letter-spacing: 0;
      }

      .u__jobs--textWrap .under__text {
        margin-top: 15px;
        letter-spacing: 0;
        font-size: 13px;
      }

      section#u_system {
        padding: 60px 8% 0;
      }
    }


    @media(max-width:768px){
      .u__jobs--inner {
        margin-top: 26px;
      }
    }

.u__system--img,
.u__seminar--img,
.u__programming--img,
.u__jobs--img,
.u__sales--img {
  max-width: 654px;
  width: 47%;
}
    @media(max-width:768px){
      .u__system--img, .u__seminar--img, .u__programming--img, .u__jobs--img, .u__sales--img {
        margin: 26px auto 0;
        max-width: 768px;
        width: 100%;
      }
      .u__jobs--img {
        margin: 0;
      }
    }


.u__Philosophy--img img,
.u__system--img img,
.u__seminar--img img,
.u__programming--img img,
.u__jobs--img img,
.u__sales--img img {
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
  border-radius: var(--radius-40);
}
.u__system--textWrap,
.u__seminar--textWrap,
.u__programming--textWrap,
.u__jobs--textWrap,
.u__sales--textWrap {
  max-width: 800px;
  width: 47%;
}
    @media(max-width:768px){
      .u__system--textWrap, .u__seminar--textWrap, .u__programming--textWrap, .u__jobs--textWrap, .u__sales--textWrap {
        max-width: 800px;
        width: 100%;
      }
      .u__sales--textWrap .under__ttl--h3 {
        margin-left: 0;
      }
      .u__jobs--textWrap .under__ttl--h3,
      .u__sales--textWrap .under__ttl--h3 {
        margin-top: 25px;
        font-size: 22px;
      }
    }


/* ポップアップ */
.modal__item-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 20px;
}
    @media(max-width:768px){
      .modal__item-wrap {
        flex-direction: column;
        gap: 12px;
      }
    }


.modal__item {
  background-color: var(--light-blue);
  box-shadow: 4px 4px 8px rgba(118,168,208,0.33);
  border-radius: 20px;
  border: solid 1px rgba(112, 112, 112, .31);
  width: 100%;
  max-width: 744px;
  position: relative;
}
    @media(max-width:768px){
      .modal__item {
        width: 100%;
        position: relative;
      }
    }

.modal__list li {
  font-size: var(--22);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.77;
}
    @media(max-width:1024px){
      .modal__list li {
        font-size: clamp(12px, 1.172vw, 14px);
      }
    }
        @media(max-width:768px){
          .modal__list li {
            font-size: 12px;
            letter-spacing: 0;
            line-height: 1.5;
        }
        }

.modal__list li::before {
  content: "・";
  color: var(--blue);
  font-weight: 700;
}
.modal__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 8px 24px;
  list-style: none;
  padding: 0;
  margin: 30px 9% 90px;
}
    @media(max-width:768px){
      .modal__list {
        gap: 0 4%;
        margin: 15px 5% 25px;
      }
    }

.modal__item:nth-child(4) .modal__list {
  grid-template-rows: repeat(3, auto); /* ←3個で折り返す */
}

h3.modal__ttl {
  position: relative;
  display: inline-block;
  font-size: var(--50);
  letter-spacing: 0.03em;
  text-decoration-line: underline;
  text-decoration-thickness: 0.62em;
  text-decoration-color: rgba(1, 68, 152, 0.18);
  text-underline-offset: -0.3em;
  color: var(--blue);
  margin-top: .7em;
  margin-left: 9%;
}

h3.modal__ttl::after {
  content: "";
  position: absolute;
  left: -1ch;
  right: -1ch;
  bottom: 0.2em;
  height: 1em;
  background: rgba(1, 68, 152, 0.18);
  z-index: -1;
}
    @media(max-width:768px){
      h3.modal__ttl {
        margin-top: 17px;
        font-size: 18px;
      }
    }


.modal__icon {
  max-width: 108px;
  width: 14.5%;
  position: absolute;
  right: 40px;
  bottom: 26px;
  margin: 0;
}
    @media(max-width:768px){
      .modal__icon {
        width: 148px;
        margin: 0;
        position: absolute;
        z-index: 1;
        bottom: 14px;
        right: 16px;
      }
    }

.modal__icon img {
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
  opacity: 0.5;
}
.modal .under__ttlWrap {
  display: flex;
  align-items: center;
  gap: 21px;
  margin-left: 5%;
  margin-top: 10px;
}
hr.modal__hr {
  border-top: solid 1px var(--bk);
  width: 72px;
}
.modal .under__subTtl {
  font-size: 14px;
  margin-top: 0;
}
  @media(max-width:768px){
    .modal .under__subTtl .dot {
      width: 8px;
      height: 8px;
      margin-right: 9px;
    }
    .modal .under__ttlWrap {
      margin-left: 0;
      margin-top: 30px;
    }
    hr.modal__hr {
      width: 18px;
    }
    .modal .under__subTtl {
      font-size: 13px;
    }
  }


.u__Philosophy--img {
  width: 40%;
  max-width: 654px;
}
    @media(max-width:768px){
      .u__Philosophy--img {
        width: 100%;
        margin-top: 26px;
      }
    }

.u__Philosophy--textWrap {
  max-width: 800px;
  width: 50%;
}
    @media(max-width:768px){
      .u__Philosophy--textWrap {
        width: 100%;
      }
    }


section#u_blood {
  margin-top: 70px;
}
.u_Philosophy {
  margin-top: 165px;
}
.u_programming {
  margin-top: 140px;
  padding-top: 110px;
}
    @media(max-width:768px){
      .u_programming {
        margin-top: 35px;
        padding-top: 60px;
      }
    }


.u__history--inner {
  max-width: 1620px;
  margin: 0 auto 0 0;
}

section#u_Philosophy {
  margin-top: 45px;
  padding-top: 120px;
}
.u__recruit--imgWrap {
  max-width: 665px;
  display: grid;
  gap: 53px;
  width: 41%;
}
    @media(max-width:768px){
      .u__recruit--imgWrap {
        max-width: auto;
        gap: 53px;
        width: 100%;
        margin-top: 26px;
      }
    }

.u__recruit--img01 {
  margin-left: 16%;
  width: 84%;
  display: block;
}
      @media(max-width:768px){
        .u__recruit--img01 {
          width: 84%;
          display: none;
        }
      }

.u__recruit--img01 img {
  border-radius: var(--radius-40);
}
.u__recruit--img01 img,
.u__recruit--img02 img {
  width: 100%;
  object-fit: contain;
}
.u__recruit--textWrap {
  max-width: 832px;
  width: 51%;
}
    @media(max-width:768px){
      .u__recruit--textWrap {
        width: 100%;
      }
      .u__recruit--textWrap h3.under__ttl--h3 {
        margin: 0;
      }
      .u__recruit--textWrap p.under__text {
        font-weight: 700;
      }
      section#u_Philosophy {
        margin-top: 35px;
        padding-top: 60px;
      }
    }

section#u_guideline {
  margin-top: 180px;
  padding-top: 120px;
}
    @media(max-width:768px){
      section#u_guideline {
        margin-top: 35px;
        padding-top: 60px;
      }
    }


/* Skill Up Seminar */
section#u_seminar {
  margin-top: 210px;
  padding-top: 120px;
  margin-bottom: 20px;
}
    @media(max-width:768px){
      section#u_seminar {
        margin-top: 35px;
        padding-top: 60px;
        margin-bottom: 20px;
      }
    }


/* JOBS タイトル レイアウト */
.u_jobs__ttlWrap-line {
  max-width: 1620px;
  margin: 0 auto;
}
.under__ttlFlex-line {
  display: flex;
  gap: 6%;
  align-items: end;
}
.u_jobs {
  padding: 110px 8% 0;
  margin: 60px;
}

    @media(max-width:768px){
      .under__ttlFlex-line {
        flex-direction: column;
      }
      .u_jobs {
        padding: 60px 8% 0;
        margin: 0;
      }
    }

    @media(max-width:1024px){
      h4.under__ttl-line--right .sp-br {
        display: block;
      }
    }

h2.under__ttl-line {
  width: 47%;
  font-size: var(--80);
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: capitalize;
}
    @media(max-width:768px){
      h2.under__ttl-line {
        width: 100%;
      }
    }


h4.under__ttl-line--right {
  width: 47%;
  font-size: clamp(24px, 2.343vw, 45px);
  font-family: var(--font-en);
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: capitalize;
  white-space: nowrap;
  line-height: 1;
}
p.under__subTtl-line.forSP {
  display: none;
}

    @media(max-width:768px){
      h4.under__ttl-line--right {
        width: 100%;
        font-size: 40px;
        margin-top: 10px;
      }
      p.under__subTtl-line.forSP {
      display: block;
      font-size: 13px;
      font-weight: 700;
      }
    }


p.under__subTtl-line {
  width: 47%;
  display: flex;
  align-items: center;
  font-size: var(--20);
  font-weight: 500;
}
    @media(max-width:768px){
      p.under__subTtl-line {
        width: 100%;
    }
    }


p.under__subTtl-line .dot {
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 10px;
  line-height: 1;
  display: inline-block;
  margin-right: 20px;
  padding: 0;
}
p.under__subTtl-line--right {
  width: 45%;
}
    @media(max-width:768px){
      p.under__subTtl-line--right {
        width: 100%;
        font-size: 13px;
        font-weight: 700;
      }
      p.under__subTtl-line.forPC {
        display: none;
      }
      p.under__subTtl-line .dot {
        width: 8px;
        height: 8px;
        margin-right: 18px;
        margin-left: 6px;
      }
    }

.u_jobs__ttlWrap-line hr {
  border-top: solid 1px #A8A8A8;
  margin: 8px 0 8px auto;
  width: calc(100% - 10em);
}
    @media(max-width:768px){
      .u_jobs__ttlWrap-line hr {
        border-top: solid 1px #A8A8A8;
        margin: 5px auto;
        width: 100%;
      }
    }

/* section-interview */
.u_interview {
  max-width: 1720px;
  margin: 60px auto 0;
  padding: clamp(88px, 6.09vw, 117px) 5% 0;
}
.u_interview .under__ttlWrap {
  text-align: center;
}
.u_interview .under__subTtl {
  justify-content: center;
}
.u__interview-text {
  font-size: var(--38);
  text-align: center;
  line-height: 1.37;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--bk);
  margin: 43px auto;
}
    @media(max-width:768px){
      .u_interview {
        margin: 35px auto 0;
        padding: 60px 5%;
      }

      .u__interview-text {
        font-size: 18px;
        margin: 30px auto 0;
        line-height: 1.66;
      }
    }

/* 共通 */
.talk {
  display: flex;
  align-items: flex-start;
  gap: 4%;
  max-width: 1720px;
  margin: 0 auto 48px;
}
.talk__icon {
  width: clamp(137px, 9.5vw, 183px);
}
.talk__icon img {
  text-align: center;
  width: 100%;
  height: auto;
  border: solid 1px;
  border-radius: 150px;
  display: grid;
  place-content: center;
  padding: 20px;
}
.talk--q .talk__icon img {
  background: #F5FAFE;
  border: solid 1px var(--blue);
}
.talk--a .talk__icon img {
  background: #E1EDF9;
  border: solid 2px var(--blue);
}

.talk__icon span {
  display: block;
  margin-top: 8px;
  font-size: var(--24);
  color: #0b5ed7;
  text-align: center;
}

/* 吹き出し */
.talk__bubble {
  position: relative;
  padding: 24px 28px;
  border-radius: 16px;
  line-height: 1.8;
  background: #ffffff;
  border: 3px solid #0d6efd;
  width: 63%;
}

/* Q */
.talk--q .talk__bubble {
  background: #F5FAFE;
  border: .7px solid var(--blue);
}

.talk--q .talk__bubble::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 24px;
  border-width: 8px 12px 8px 0;
  border-style: solid;
  border-color: transparent var(--blue) transparent transparent;
}

/* A */
.talk--a {
  justify-content: flex-end;
}

.talk--a .talk__bubble {
  background: #E1EDF9;
  border: 2.7px solid var(--blue);
}

.talk--a .talk__bubble::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 25px;
  border-width: 8px 0 8px 13px;
  border-style: solid;
  border-color: transparent transparent transparent var(--blue);
}

    /* section-interview - SP*/
    @media (max-width: 768px) {
      .talk {
        flex-direction: column;
        align-items: flex-start;
      }

      .talk--a {
        align-items: flex-start;
      }

      .talk__bubble {
        max-width: 100%;
      }

      .talk__bubble::before,
      .talk__bubble::after {
        display: none;
      }
    }


/* 外側（フチ） */
.bubble--right::before {
  content: "";
  position: absolute;
  top: 19px;
  right: -19px;
  border-width: 14px 0 14px 23px;
  border-style: solid;
  border-color: transparent transparent transparent #0d6efd;
}

/* 内側（中身） */
.bubble--right::after {
  content: "";
  position: absolute;
  top: 34px;
  right: -22px;
  border-width: 12px 0 12px 24px;
  border-style: solid;
  border-color: transparent transparent transparent #ffffff;
}

/* ============
    Guideline
  ============= */
.u_guideline--ttlFlex {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
    @media(max-width:1024px){
      .u_guideline--ttlFlex {
        align-items: self-start;
        flex-direction: column;
    }
    }


/* 矢印なし */
.u_guideline li.under__nav-link::after {
  position: static;
  content: none;
}
.u_guideline--inner {
  max-width: 1620px;
  margin: 0 auto;
}

/* 0228非表示
.u_guideline__btn {
  display: flex;
  gap: 40px;
}
    @media(max-width:1024px){
      .u_guideline__btn {
        margin-top: 24px;
        gap: 11px;
      }
    } */

.guideline__item {
  max-width: 1620px;
  margin: 100px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
}
.guideline__list {
  width: 100%;
}
.guideline__col {
  width: 46%;
}
    @media(max-width:1024px){
      .guideline__col {
        width: 100%;
      }
    }


.guideline__row {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #fff;
  position: relative;
}
.guideline__row:after {
  position: absolute;
  content: "";
  height: 1.5px;
  width: 114px;
  background: #fff;
  bottom: -1px;
}
    @media(max-width:768px){
      .guideline__row:after {
        content: none;
      }
    }


.guideline__row dt {
  /* width: 180px; 0309修正*/
  width: 140px;
  font-weight: 700;
  color: var(--bk);
  font-size: clamp(16.5px, 1.146vw, 22px);
}
.guideline__row dd {
  margin: 0;
  line-height: 1.8;
  font-weight: 400;
  color: var(--bk);
  font-size: clamp(16.5px, 1.146vw, 22px);
}

    @media(max-width:1024px){
      .u_guideline--ttlFlex {
        justify-content: space-between;
        flex-direction: column;
        align-items: flex-start;
      }
      .u_guideline__btn {
        gap: 17px 10px;
        flex-wrap: wrap;
      }
      .u_guideline__btn .btn--link__wrap {
        width: 170px;
        aspect-ratio: 276 / 66;
        height: 35px;
      }
      .guideline__row {
        display: block;
      }
      .guideline__row dd {
        margin: 10px 0 0 0;
        line-height: 1.5;
        font-size: 14px;
      }
    }



/* ============
    about page__Q&A
  ============= */
.qa {
  width: 100%;
  margin-bottom: 40px;
}
    @media(max-width:1100px){
      .qa {
        display: grid;
        gap: 20px;
        margin: 50px auto 0;
      }
      .qa:nth-child(2) {
        gap: 37px;
      }
    }

/* 1行：中央基準の3カラム */
.qa__row {
  display: grid;
  grid-template-columns: 1fr 60% 1fr; /* アイコン | 吹き出し | アイコン */
  justify-content: center;               /* 全体を画面中央へ */
  align-items: center;
  margin-top:-50px;
}

/* 左右切り替え用 */
.qa__row--left .qa__icon {
  grid-column: 1;
  margin: 60px 60px 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
    @media(max-width:1100px){
      .qa__row--left .qa__icon {
        display: flex;
        flex-direction: row;
      }
    }

.qa__row--left .qa__bubble {
  grid-column: 2;
}

.qa__row--right .qa__bubble {
  grid-column: 2;
}

.qa__row--right .qa__icon {
  grid-column: 3;
  margin-left: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
    @media(max-width:1100px){
      .qa__row--right .qa__icon {
        display: flex;
        flex-direction: row-reverse;
      }
    }


/* アイコン */
.qa__icon {
  width: 180px;
}
.qa__icon span {
  display: block;
  margin: 0 auto;
  text-align: center;
  color: var(--blue);
  letter-spacing: 0.03em;
  font-weight: 500;
  margin-top: 14px;
}
.qa__row.qa__row--right .qa__icon span {
  color: var(--red);
}
.qa__row.qa__row--left .qa__icon span {
  font-family: var(--font-en);
}
.qa__icon img {
  width: clamp(40px, 7.1vw, 138px);
  height: auto;
  border-radius: 150px;
  padding: 20px;
}
    @media(max-width:1100px){
      .qa__icon img {
        width: 37px;
        padding: 7px;
      }
    }

.qa__row--right .qa__icon img {
  background-color: #f6cbcf;
  border: solid 2px var(--red);
}
.qa__row--left .qa__icon img {
  background-color: #F5FAFE;
  border: solid 1px var(--blue);
}



/* 吹き出し */
.qa__bubble {
  padding: 32px;
  border-radius: 12px;
  position: relative;
  font-size: var(--22);
  line-height: 1.8;
  font-weight: 700;
}
.qa__row.qa__row--left .qa__bubble {
  font-size: var(--24);
}

.qa__row--right .qa__bubble {
  background-color: #faf6f8;
  border: solid 2px #ef7a84;
}


.qa__row--left .qa__bubble {
  background: #F5FAFE;
  border: solid 1px var(--blue);
}


 /* 外側（線） */
.qa__row--left .qa__bubble::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 22px;
  border-width: 8px 23px 8px 0;
  border-style: solid;
  border-color: transparent var(--blue) transparent transparent;
}

/* 内側（背景） */
.qa__row--left .qa__bubble::after {
  content: "";
  position: absolute;
  left: -20px;
  top: 23px;
  border-width: 7px 21px 7px 0;
  border-style: solid;
  border-color: transparent #F5FAFE transparent transparent;
}

/* 右しっぽ */
.qa__row--right .qa__bubble::before {
    content: "";
    position: absolute;
    right: -24px;
    top: 22px;
    border-width: 9px 0 9px 24px;
    border-style: solid;
    border-color: transparent transparent transparent #ef7a84;
}

.qa__row--right .qa__bubble::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 24px;
    border-width: 7px 0 7px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #faf6f8;
}

    @media(max-width:1100px){
      .qa__row {
        position: relative;
        display: block;
        margin: 0;
      }
      .qa__bubble {
        padding: 10px 0;
        font-size: 12px;
        width: 85%;
        margin: 0 auto;
      }
      .qa__row--left .qa__icon {
        position: absolute;
        margin: 0;
        top: -30px;
        left: 0;
        z-index: 1;
      }
      .qa__row--right .qa__icon {
        position: absolute;
        grid-column: auto;
        margin: 0;
        top: -30px;
        right: 0;
        z-index: 1;
      }
      .qa__bubble p {
        margin: 0 10%;
      }
      .qa__row--right .qa__bubble::after,
      .qa__row--right .qa__bubble::before,
      .qa__row--left .qa__bubble::after,
      .qa__row--left .qa__bubble::before {
      content: none;
      }
      .qa__icon span {
        margin-top: 10px;
      }

      /* いったん全部消す */
      .u_interview .qa .qa__row .qa__icon span {
        display: none;
      }

      /* 最初の INTERVIEWER だけ表示 */
      .u_interview .qa:nth-child(2) .qa__row .qa__icon span {
        display: block;
      }
      .u_interview .qa:nth-child(2) .qa__row.qa__row--right .qa__icon span {
        margin: 0 10px 19px auto;
        font-size: 12px;
      }
      .u_interview .qa:nth-child(2) .qa__row.qa__row--left .qa__icon span {
        margin: 0 auto 12px 10px;
        font-size: 12px;
      }
      .qa__row.qa__row--left .qa__bubble {
        font-size: 12px;
      }
    }


/* ============
    contact
  ============= */
  /* FAQ */
section#u_faq {
  padding: 0 5%;
  margin-top: 30px;
}
.u__faq--inner {
  margin: 0 auto;
  max-width: 1620px;
}




/* ============
    page_privacy policy,
    form_privacy policy
  ============= */
.privacy {
  padding: 70px 5%;
  font-size: 16px;
  font-weight: 400;
}
.privacy__inner {
  max-width: 1620px;
  margin: 0 auto;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--bk);
}
.privacy-policy .under__mv--ttlWrap .ttl--L {
  font-size: 50px;
}
    
    @media(max-width:768px){
      .privacy-policy .under__mv--ttlWrap .ttl--L {
        font-size: 40px;
        font-weight: 500;
        text-indent: 12px;
      }
      .privacy {
        padding: 0 5%;
        font-size: 16px;
        font-weight: 400;
      }
    }

/* ページネーションカスタマイズ
============================== */
/* prev / next / dots は丸にしない */
.pagination .prev,
.pagination .next,
.pagination .dots {
  width: auto;
  height: auto;
  border: none;
  border-radius: 0;
}
.pagination .dots {
  width: auto;
  height: auto;
  border: none;
  border-radius: 0;
  font-size: 18px;
  color: #333;
  pointer-events: none;
}

.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 20px;
}

/* 🔵 数字だけ丸くする */
.pagination .page-numbers:not(.prev):not(.next):not(.dots) {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid var(--blue);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--30);
  text-decoration: none;
  color: var(--bk);
  transition: 0.3s;
  font-family: var(--font-en);
  background-color: #fff;
}

/* current */
.pagination .page-numbers.current {
  background-color: var(--blue) !important;
  color: #fff !important;
}


/* hover */
.pagination a.page-numbers:hover {
  background-color: var(--blue);
  color: #fff;
}

/* … は普通に文字として表示 */
.pagination .dots {
  border: none;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* prev / next は非表示（使わないなら） */
.pagination .prev,
.pagination .next {
  display: none;
}


    @media(max-width:768px){
      .pagination .page-numbers:not(.prev):not(.next):not(.dots) {
        width: 30px;
        height: 30px;
        border: 1px solid var(--blue);
        font-size: 14px;
      }
    }

/* 0228修正 */
.cta-buttons__mail.btn-wrapper .hover-menu {
    left: auto;
    right: 0;
}
.cta-buttons__mail.btn-wrapper .hover-menu .pill {
    width: clamp(141px, 9.843vw, 189px);
    height: auto;
    padding: 14px 0;
    margin: 6px 0 0 auto;
}
    @media(max-width:768px){
      .cta-buttons__mail.btn-wrapper .hover-menu {
        left: 0;
        right: auto;
      }
      .cta-buttons__mail.btn-wrapper .hover-menu .pill {
        margin: 6px auto 0 0;
      }
      /* .mobile-nav__section:first-of-type .jp {
        font-weight: 800;
      } */
    }

.guideline__row__entry {
    background-color: #fff;
    text-align: center;
    border: solid 1px rgba(112, 112, 112, .31);
    border-radius: 20px;
    padding: 27px 0;
    border: solid 4px var(--blue);
    width: max-content;
    margin-top: 30px;
}
    @media(max-width:768px){
      .guideline__row__entry {
        width: auto;
    }
    }
.guideline__row__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 50px 13px;
    gap: 10px;
}
.guideline__entry-link--span {
  font-weight: 700;
  font-size: var(--24);
}
img.guideline__entry-link--icon {
    width: 46px;
}
a.btn--link.guideline__entry-link {
    width: 230px;
    height: 50px;
    margin: 0 auto;
    font-size: var(--16);
    border: 1px solid var(--blue);
    background-color: transparent;
    color: var(--blue);
    text-align: center;
    transition: all 0.3s ease;
    text-decoration: none;
    position: relative;
    font-weight: 700;
    display: grid;
    padding: 0;
    border-radius: var(--radius-50);
}
a.btn--link.guideline__entry-link:hover {
    background: var(--blue);
    color: var(--wh);
    cursor: pointer;
}
    @media(max-width:768px){
      a.btn--link.guideline__entry-link {
        max-width: 260px;
        aspect-ratio: 212 / 43;
        height: 43px;
        font-size: 18px;
    }
    }

.main-nav li.has-sub:first-of-type a {
    letter-spacing: -0.02em;
}

/* history 0327仕様変更*/
.timeline {
  position: relative;
  padding-left: 40px;
  border-left: 1px solid #A8A8A8;
  width: 60%;
  padding-top: 60px;
}

.timeline-item {
  position: relative;
  margin-bottom: 70px;
  display: flex;
  align-items: center;
}

.timeline-item::before {
  content: "";
  position: absolute;
  left: -3em;
  top: 50%;
  width: 1em;
  height: 1em;
  background-color: var(--blue);
  border-radius: 50%;
  transform: translateY(-50%);
}
.timeline-date {
  font-size: var(--40);
  font-weight: bold;
  color: #4B4B36;
  display: inline-block;
  width: 22%;
  font-family: var(--font-en);
  letter-spacing: 0.05em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.timeline-content {
  display: inline-block;
  color: #4B4B36;
  font-size: var(--26);
  font-weight: 500;
}
.u__history--box {
    display: flex;
}
.u__history--inner {
    max-width: 600px;
}
    @media(max-width:1024px){
      .u__history--box {
      flex-direction: column;
      }
      .timeline {
      width: calc(100% - .5em);
      margin-left: .5em;
      padding-top: 30px;
      margin-top: 30px;
      }
      .timeline-date {
      font-size: 24px;
      }
      .timeline-content {
      font-size: 14px;
      line-height: 1.5;
      }
      .timeline-item {
      margin-bottom: 40px;
      gap: 1em;
      }
      .timeline-item::before {
      top: 12px;
      }
    }
    @media(max-width:768px){
      .timeline-item {
        flex-direction: column;
        align-items: flex-start;
    }
    .timeline {
        width: auto;
    }
    .timeline .sp-br {
        display: none;
    }
    }
    @media(max-width:425px){
      .timeline .sp-br {
        display: block;
    }
    }

/* 0406__ver9 */
.u_service__pdca-chart {
    margin-top: 50px;
    margin-bottom: 90px;
}
.u_service__pdca-chart img {
  width: 100%;
  object-fit: contain;
}
.u_service__point-text {
    width: 100%;
    font-size: var(--22);
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0;
}
ul.u_service__target-list {
    display: grid;
    row-gap: 1em;
    font-size: var(--22);
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0;
}
ul.u_service__target-list .title {
  font-weight: 700;
  line-height: 1.8;
}
.u_service__point-aside {
    display: inline-block;
    height: min-content;
}

/* スクロール追従 */
/* 2カラム */
.u_service__point-body {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* 左（長い方） */
.u_service__point-left {
  flex: 1;
} 

/* 右（追従させる） */
.u_service__point-right {
  position: sticky;
  top: clamp(88px, 6.09vw, 117px); /* ← ヘッダー + 余白20px */
  align-self: flex-start;
  width: 46%;
}
.u_service__point-aside {
  width: 100%;
}
.u_service__point {
    max-width: 1620px;
    margin: 70px auto 0;
    padding-top: 0;
}
div#communication {
    margin-top: 140px;
}
.u_service__point-ttlWrap {
  width: max-content;
}
.u_service__point-ttlWrap img {
  display: block;
  width: 4em;
  margin: 36px auto 30px;
}
.u_service__point-left strong {
    font-weight: 500;
    font-size: clamp(18px, 1.718vw, 33px);
    line-height: 1.57;
    letter-spacing: 0;
    margin-top: 40px;
    display: block;
}

ul.u_service__workShop-list {
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0;
  list-style: none;
  padding-left: 0;
  margin-top: 14px;
  font-size: var(--22);
}

ul.u_service__workShop-list li {
  position: relative;
  padding-left: 16px;
}

ul.u_service__workShop-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background-color: var(--blue);
  border-radius: 50%;
}
h3.u_service__point-ttl.no-icon {
    margin-bottom: 40px;
}
.u_service__point-ttl.no-icon::after {
    bottom: 0;
}
    @media(max-width:768px){
      .u_service__pdca-chart {
      margin-top: 25px;
      margin-bottom: 45px;
      }
      .u_service__point {
      margin: 40px auto 0;
      }
      .u_service__point-ttlWrap img {
      display: block;
      width: 4em;
      margin: 18px auto 15px 5.5em;
      }
      .u_service__point-right {
      position: static;
      width: 100%;
      }
      .u_service__point-aside {
      width: auto;
      }
      ul.u_service__workShop-list {
      padding-left: 6.5px;
      font-size: 13px;
      line-height: 1.5;
      margin-top: 7px;
      }
      ul.u_service__workShop-list li {
      padding-left: 10px;
      }
      .u_service__point-text {
      font-size: 13px;
      line-height: 1.5;
      }
      ul.u_service__target-list {
      font-size: 13px;
      line-height: 1.5;
      }
      .u_service__point-body {
      gap: 20px;
      }
      .u_service__point-left strong {
      margin-top: 20px;
      }
      div#communication {
        margin-top: 40px;
      }
      h3.u_service__point-ttl.no-icon {
        margin-bottom: 20px;
      }
      .u_service__point-ttlWrap {
      margin: 0 auto;
      width: 100%;
      }
    }

/* 0407__ver11 */
.timeline {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}
.timeline-item:last-child {
  margin-bottom: 0;
}
.timeline-item {
  margin-bottom: 50px;
}
.u__history--timelineBorder {
  border: solid .6px #707070;
  border-radius: 20px;
}
.u__history--timelineWrap {
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(10em + 250px);
  padding: 0 60px 0 100px;
  margin: 60px 40px 60px 0;
}
.u__history--timelineWrap::-webkit-scrollbar {
  width: 15px;
}
.u__history--timelineWrap::-webkit-scrollbar-track {
  background: #fff;
  border:solid .6px #707070;
  border-radius: 0;
}
.u__history--timelineWrap::-webkit-scrollbar-thumb {
  background: var(--blue);
  border:solid .6px var(--blue);
  border-radius: 0;
}
.u__history--timelineWrap::-webkit-scrollbar-thumb:hover {
  background: var(--blue);
}

    @media(max-width:1300px){
      .u__history--box {
      flex-direction: column;
      }
      .u__history--timelineWrap {
      padding: 0 30px 0 50px;
      margin: 30px 20px 30px 0;
      height: calc(5em + 350px);
      }
      .u__history--timelineBorder {
      margin-top: 30px;
      }
    }

        @media(max-width:1024px){
          .u__history--timelineWrap {
          height: calc(5em + 250px);
          }
        }

@media(max-width:768px){
.timeline-content .sp-br {
display: none;
}
.u__history--timelineWrap {
height: calc(10em + 350px);
}
.timeline {
width: auto;
}
}

                @media(max-width:425px){
                  .timeline-item {
                  margin-bottom: 30px;
                  gap: .5em;
                  }
                  .u__history--timelineWrap {
                  padding: 0 20px 0 30px;
                  }
                }

.u_service__point-ttlWrap img {
width: 4em;
}