﻿@charset "utf-8";
/* CSS Document */
/*=================================
基本設定
==================================*/
body {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  overflow-x: hidden;
}
/* Chrome / Safari / Edge */ ::-webkit-scrollbar {
  display: none;
}
/* Firefox */
html, body {
  scrollbar-width: none; /* ← Firefox用 */
}
img {
  width: 100%;
  height: auto;
}
/* スクロール自体は可能（マウスホイール・タッチ操作OK） */
.global-menu__grid a, .footer__link a {
  transition: opacity 0.25s ease; /* アニメーション */
}
.global-menu__grid a:hover, .footer__link a:hover {
  opacity: 0.6;
}

#ourservice{
  scroll-margin-top: 80px;
}
/*=================================
レスポンシブ基本設定
==================================*/
/*=================================
その他切替設定
==================================*/
@media screen and (max-width:600px) {
  .company-page--fv--title--pc {
    display: none !important;
  }
  .br_sp{
    display: none !important;
  }
	
	.nav-pc{
		display: none;
	}
	
	.pc{
		display: none!important;
	}
}
@media screen and (min-width:601px) and (max-width:1024px) {
  .company-page--fv--title--pc {
    display: none !important;
  }
  .br_sp {
    display: none !important;
  }
	
	.nav-sp{
		display: none;
	}
	
	.br_pc{
		display: none;
	}
	
	.sp{
		display: none!important;
	}
}
@media screen and (min-width:1025px) {
  .company-page--fv--title--sp {
    display: none !important;
  }
	
	.nav-sp{
		display: none;
	}
	
	.br_pc{
		display: none;
	}
	
	.sp{
		display: none!important;
	}
}
/*=================================
SP設定
==================================*/
@media screen and (max-width:600px) {
  .max-width {
    max-width: 345px;
    margin: 0 auto;
  }
  .section--title h2 {
    /*font-size: 70px;*/
	  font-size: 30px;
    display: flex;
    flex-direction: column;
    font-weight: bold;
    letter-spacing: 5px;
  }
  .section--title h2 span {
    font-size: 18px;
    letter-spacing: 0;
  }
  article {
    padding-top: 100px;
  }
  article .section--title h2 {
    color: #DC164D;
  }
  #fv {
    /*height: 100vh;*/
    position: relative;
  }
  .fv__top, .fv__bottom {
    background-color: #DC164D;
  }
  .fv__logo {
    background-color: #000000;
  }
  .fv__top--text h2 {
    display: inline-flex;
    flex-direction: column;
    font-size: 20px;
    margin: 70px 0 20px;
	  font-weight: 700;
	  color: #FFFFFF;
  }
  .fv__top--text h2 span {
    background-color: #FFFFFF;
    color: #DC164D;
    padding: 5px;
  }
  .fv__logo--inner h1 {
    padding: 37px 0 27px;
  }
  .fv__logo--inner img {
    /*width: 870px;
    height: 253px;*/
    object-fit: cover;
  }
  .fv__bottom--text h3 {
    font-size: 34px;
    padding: 40px 0 20px;
    font-family: Arial, Helvetica, "sans-serif";
  }
  .fv__bottom--text p {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .fv__bottom--SNS {
    display: flex;
    padding-bottom: 53px;
  }
  .fv__bottom--circle {
    background-color: #FFFFFF;
    font-size: 14px;
    padding: 23px;
    width: 92px;
    height: 92px;
    border: solid 1px #000000;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
  }
  .fv__bottom--card {
    display: inline-flex;
    gap: 20px;
    align-items: flex-start;
    background-color: #000000;
    padding: 10px 20px;
    padding-left: 74px;
    height: 92px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    transform: translateX(-42px);
  }
  .fv__bottom--card span {
    background-color: #FFFFFF;
    padding: 2px 8px;
    font-size: 12px;
  }
  .fv__bottom--link {
    display: flex;
    margin-top: 15px;
    gap: 15px;
  }
  .text-animation__wrap {
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transform: translateX(270px);
    display: none;
  }
  .rotating-text {
    width: 868px;
    height: 868px;
    display: block;
  }
  .spin {
    transform-origin: 434px 434px;
    animation: rotateCircle 35s linear infinite;
  }
  @keyframes rotateCircle {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .company-top__wrapper {
    padding: 110px 0 100px;
    color: #FFFFFF;
    background-color: #000000;
  }
  .company-top__title {
    display: flex;
    align-items: center;
    gap: 147px;
  }
  .company-top__title h2 {
    font-size: 30px;
    flex-shrink: 0;
  }
  .company-top__title h2 span {
    font-size: 45px;
    line-height: 1.2;
	  font-weight: 700;
  }
  .company-span--red {
    background-color: #DC164D;
    color: #000000;
    height: 65px;
    display: inline-block;
  }
  .company-span--white {
    color: #DC164D;
    background-color: #FFFFFF;
    height: 65px;
    display: inline-block;
    margin-top: 15px;
  }
  .company-top__title--en {
    font-size: 10px;
    color: #DC164D;
    display: none;
  }
  .company-top-p--large {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .company-top__lead {
    margin-top: 62px;
    font-weight: 600;
    line-height: 3;
    font-size: 14px;
  }
  .company-top__lead span {
    color: #000000;
    line-height: 1.5;
    background-color: transparent;
    /*background-color: #FFFFFF;*/
  }
  .company-top__link {
    margin-top: 30px;
    text-align: right;
  }
  .company-top__link a {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: #DC164D;
  }
  .company-top__link img {
    width: 28px;
    height: 28px;
    background-color: #5D3A8B;
    padding: 5px;
  }
  .section-bg__horizon {
    width: 100%;
    height: 120px;
    background-image: url('../img/section-bg__horizon.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #ourservice {
    background-color: #DC164D;
    color: #000;
    overflow-x: hidden;
    overflow-y: visible;
  }
  .section--title.section--title--vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    /*padding: 80px 24px 40px;*/
    width: 50px;
    /*gap: 140px;*/
    margin-top: 40px;
  }
  .section--title--vertical .vertical-alphabet {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: center;
    white-space: nowrap;
    color: #fff;
    font-weight: 800;
    font-size: 32px;
    letter-spacing: 0.2em;
  }
  .section--title--vertical .vertical-japanese {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 14px;
    letter-spacing: 0.2em;
    color: #000;
    transform: translateY(-40px)
  }
  .ourservice__inner {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: stretch;
  }
  .ourservice__contentbox {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    border-left: solid 1px #000000;
  }
  .ourservice__lead {
    font-size: 16px;
    line-height: 1.8;
    padding: 29px 10px;
  }
  .ourservice__list {
    position: relative;
  }
  .ourservice__list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc((100vw + 100%) / 2);
    border-top: 2px solid #000;
  }
  .ourservice__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 20px;
    text-decoration: none;
    color: #000;
    z-index: 0;
    /*padding-left: 50px;*/
  }
  .ourservice__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc((100vw + 100%) / 2);
    border-bottom: 2px solid #000;
  }
  .ourservice__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #fff;
    transition: width 0.35s ease;
    z-index: -1;
  }
  .ourservice__item:hover::before {
    width: calc((100vw + 100%) / 2);
  }
  .ourservice__arrow {
    display: inline-flex;
    margin-right: 25px;
  }
  .ourservice__arrow img {
    display: block;
    width: 32px;
    height: auto;
    transition: transform 0.25s ease;
  }
  .ourservice__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  .ourservice__item-text {
    display: flex;
    flex-direction: column;
  }
  .ourservice__item-ja {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 4px;
  }
  .ourservice__item-en {
    font-size: 6px;
    letter-spacing: 1px;
  }
  /* ==============================
   NEWS（PCデザイン）
============================== */
  .news__wrapper .section--title h2 {
    color: #DC164D;
    margin-bottom: 30px;
  }
  .news__wrapper .section--title span {
    color: #000000;
  }
  .news__inner {
    margin: 100px 0;
  }
  .news__content--item {
    border-bottom: solid 1px #DC164D;
  }
  .news__content--item a {
    display: flex;
    gap: 90px;
    padding: 30px 0;
    justify-content: flex-start;
    text-decoration: none;
    cursor: pointer;
  }
  .news__title-text {
    width: 560px;
  }
  .news__title {
    font-weight: bold;
  }
  .news__text {
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
      max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
  }
  .news__content--item.is-open .news__text {
    margin-top: 38px;
    max-height: 500px;
    opacity: 1;
    line-height: 1.8;
  }
  .news__arrow img {
    display: block;
    transition: transform 0.3s ease;
  }
  .news__content--item.is-open .news__arrow img {
    transform: rotate(180deg);
  }
  .news__inner {
    margin: 60px 0;
  }
  .news__content--item {
    position: relative; /* 矢印固定のための基準 */
  }
  .news__content--item a {
    flex-direction: column; /* 横並び → 縦並び */
    align-items: flex-start;
    gap: 12px;
    padding: 20px 40px 24px 0; /* 右上矢印ぶん右側に余白 */
  }
  .news--time {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
  }
  .news__title-text {
    width: 100%; /* スマホは横幅いっぱい */
  }
  .news__title {
    font-size: 18px;
    line-height: 1.6;
  }
  .news__text {
    font-size: 14px;
  }
  .news__content--item.is-open .news__text {
    margin-top: 16px; /* PCより控えめ */
  }
  .news__arrow {
    position: absolute;
    top: 20px;
    right: 0;
  }
  .news__arrow img {
    width: 18px;
    height: auto;
  }
  #recruit {
  background-color: #DC164D;
}

/* 外側：赤フレーム */
.recruit__wrapper {
  position: relative;
  background: #DC164D;

  /* 赤フレームの内側余白（＝白カードまでの距離） */
  padding: 20px;
}

/* 内側：白カード */
.recruit__inner {
  background: #fff;
  position: relative;
  z-index: 1; /* 文字枠より下にしない */
}

/* 文字枠（赤フレーム上に絶対配置） */
.recruit__border {
  position: absolute;
  inset: 0;          /* top/right/bottom/left 0 */
  z-index: 2;
  pointer-events: none;
}

/* バーの太さを統一 */
:root {
  --recruit-bar: 55px; /* ← 画像の太さに合わせる。必要なら 46〜56で微調整 */
}

/* SVG共通 */
.recruit__border-line {
  position: absolute;
  display: block;
  overflow: hidden; /* はみ出し抑制 */
}

/* 上下：赤フレームの内側に収める */
.recruit__border-line--top {
  top: -20px;
  left: 0;
  width: 100%;
  height: var(--recruit-bar);
}

.recruit__border-line--bottom {
  bottom: -16px;
  left: 0;
  width: 100%;
  height: var(--recruit-bar);
}

/* 左右：赤フレームの内側に収める */
.recruit__border-line--left {
  top: 20px;
  left: -19px;
  width: var(--recruit-bar);
  height: 94%;
}

.recruit__border-line--right {
  top: 18px;
  right: -16px;
  width: var(--recruit-bar);
  height: 94%;
}

/* テキスト共通（フォントは40px固定） */
.recruit__border-text,
.recruit__border-text-vertical {
  fill: #000;
  font-size: 40px;     /* ← 絶対条件 */
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* 横（上下） */
.recruit__border-text {
  animation: recruit-marquee 20s linear infinite;
}

.recruit__border-text--reverse {
  animation-direction: reverse;
}

/* 縦（左右） */
.recruit__border-text-vertical {
  writing-mode: vertical-rl;
  animation: recruit-vertical 20s linear infinite;
}

.recruit__border-text-vertical--reverse {
  animation-direction: reverse;
}

/* アニメ（tspanを3回並べている前提） */
@keyframes recruit-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-33.333%); }
}

@keyframes recruit-vertical {
  from { transform: translateY(0); }
  to   { transform: translateY(-33.333%); }
}
  .recruit__inner {
    position: relative;
    z-index: 1; /* 枠より上に表示 */
    background-image: url("../img/recruit--bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px 10px;
  }
  .recruit__inner .section--title h2 span {
    color: #DC164D;
  }
  .recruit__title {
    margin: 20px 0;
  }
  .recruit__title h3 span {
    display: block;
    color: #DC164D;
    font-size: 24px;
    font-weight: bold;
  }
  .recruit__subtext p {
    line-height: 2;
  }
  .recruit__morebtn img {
    width: 30px;
    height: 30px;
    padding: 8px;
    background-color: #5D3A8B;
  }
  .recruit__morebtn a {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 20px;
  }
  .recruit__morebtn--text {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: bold
  }
  .recruit__morebtn--text span {
    font-size: 12px;
    font-weight: bold;
  }
  .recruit-viewmore-text--jp {
    font-weight: normal !important;
  }
  .contact__wrapper {
    position: relative;
    overflow: hidden;
    background-color: #000000;
  }
  .contact__wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.6s ease;
    transform: translateX(0);
    z-index: 0;
  }
  .contact__wrapper:hover::before {
    transform: translateX(100%);
  }
  .contact__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 40px 0;
  }
  .contact__inner a {
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 4px;
    transition: color 0.6s ease;
  }
  .contact__wrapper:hover .contact__inner a {
    color: #000000;
  }
  .footer__inner {
    margin: 30px 0;
  }
  .footer__logo img {
    width: 175px;
    height: 51px;
    object-fit: cover;
  }
  .footer__link a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .footer__link a img {
    width: 23px;
    height: 23px;
    object-fit: cover;
  }
  .footer__link ul {
    display: flex;
    column-gap: 50px;
    row-gap: 20px;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  .footer__sns {
    display: flex;
    gap: 15px;
    max-width: 700px;
    justify-content: flex-end;
    margin: 0 auto;
  }
  .footer__sns img {
    width: 30px;
    height: 30px;
    object-fit: cover;
  }
  .footer__copy-sns {
    text-align: center;
  }
  .company-page--fv--title h3 {
    display: flex;
    flex-direction: column;
    font-size: 26px;
    font-weight: bold;
    align-items: flex-start;
    color: #5D3A8B;
    text-align: left;
  }
  .company-page--fv--title {
    height: 100px;
    background-image: url("../img/company--bg.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
  }
  .company-page--fv__text {
    margin-top: 50px;
    margin-bottom: 74px;
    line-height: 2;
  }
  .profile__wrapper {
    background-color: #5D3A8B;
    padding: 80px 0 100px;
  }
  .profile__inner {
    color: #FFFFFF;
  }
  .profile__inner .section--title h2 {
    color: #FFFFFF;
  }
  /* ========== 上段：会社情報テーブル ========== */
  .profilebox {
    /*margin-top: -120px;
    display: flex;*/
    justify-content: flex-end;
    max-width: 960px;
  }
  .profilebox__table {
    width: 100%;
    max-width: 325px;
    border-collapse: collapse;
    line-height: 1.6;
  }
  .profilebox__table th, .profilebox__table td {
    padding: 30px 0 6px;
    vertical-align: top;
  }
  .profilebox__table th {
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    padding-right: 50px;
	  font-size: 14px;
  }
  .profilebox__label, .profilebox__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    border-bottom: solid 1px #FFFFFF;
  }
  .profilebox__sns-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #FFFFFF;
    text-decoration: none;
    border-bottom: solid 1px #FFFFFF;
    padding-bottom: 4px;
  }
  .profilebox__sns-link img {
    width: 30px;
    height: 30px;
    display: block;
  }
  /* ========== 下段：主要取引先 ========== */
  .profile--main {
    margin-top: 80px;
    max-width: 960px;
    /*display: flex;
    gap: 60px;*/
  }
  .profile-main__caption {
    margin-bottom: 24px;
    flex: 0 0 183px;
  }
  .profile-main__title {
    font-weight: 700;
    letter-spacing: 0.15em;
    /*text-align: right;*/
  }
  .profile-main__note {
    margin-top: 4px;
    font-size: 12px;
    /*text-align: right;*/
  }
  .profile-main__clients {
    display: flex;
    gap: 40px;
	  flex-direction: column;
  }
	
	.many{
		margin-top: 10px;
		font-size: 12px;
	}
	
  .profile-main__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 325px;
  }
  .profile-main__list li {
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    margin-top: 12px;
  }
  #groupcompany .section--title h2 {
    color: #FFFFFF;
  }
  .groupcompany__wrapper {
    background-color: #DC164D;
    padding: 80px 0 150px;
  }
  .groupcompany__inner {
    color: #FFFFFF;
  }
  .groupcompany__contentbox {
    margin-top: 40px;
  }
  /* ========== ホールディングカンパニー：画像部分 ========== */
  .groupcomapny__holdings--image {
    margin-top: 40px;
    /*text-align: center;
    display: flex;*/
    max-width: 725px;
    gap: 35px;
  }
  .holdings-image__label {
    display: inline-block;
    margin-bottom: 24px;
    flex: 0 0 240px;
  }
  .holdings-image__label span {
    display: inline-block;
    padding: 6px 20px;
    font-size: 14px;
    letter-spacing: 0.15em;
    background-color: #192B3D;
    color: #FFFFFF;
    font-weight: bold;
  }
  .holdings-image__logo {
    margin: 0 auto;
    max-width: 520px;
    padding: 80px 40px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .holdings-image__logo img {
    width: 70%;
    height: auto;
    display: block;
  }
  /* ========== ホールディングカンパニー：情報テーブル ========== */
  .groupcompany__holdings--info {
    margin-top: 60px;
    max-width: 345px;
  }
  .holdings-info__table {
    width: 100%;
    /*max-width: 700px;*/
    margin: 0 auto;
    border-collapse: collapse;
    line-height: 1.7;
  }
  .holdings-info__table th, .holdings-info__table td {
    vertical-align: top;
    padding: 30px 0 6px;
  }
  .holdings-info__table th {
    /*width: 120px;*/
    padding-right: 30px;
    font-weight: 700;
    white-space: nowrap;
    text-align: left;
  }
  .holdings-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__table td {
    /*min-width: 500px;*/
  }
  .holdings-info__cols {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 40px;
  }
  .holdings-info__col {
    min-width: 200px;
  }
  .holdings-info__col-title {
    font-weight: 700;
    margin-bottom: 4px;
  }
  .holdings-info__col-text {
    line-height: 1.7;
  }
  .holdings-info__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .holdings-info__link img {
    width: 10px;
    height: 10px;
    display: block;
  }
  .holdings-info__badge {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #FFFFFF;
    margin-bottom: 8px;
    background-color: #FFFFFF;
    color: #DC164D;
  }
  .holdings-info__text {
    line-height: 1.7;
    margin-bottom: 6px;
  }
  .holdings-info__text--last {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
  }
  .holdings-info__text--last img {
    width: 10px;
    height: 10px;
  }
  .groupcompany__holdings--partner {
    padding-top: 60px;
    max-width: 860px;
    /*transform: translateX(123px);*/
  }
  .holdings-partner {
    display: flex;
    flex-direction: column;
    padding-bottom: 24px;
    gap: 30px;
  }
  .holdings-partner__head {
    flex-shrink: 0;
  }
  .holdings-partner__head-label {
    display: inline-block;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    padding-bottom: 6px;
    border-bottom: 2px solid #fff;
  }
  .holdings-partner__lists {
    flex: 1;
    display: flex;
	  flex-direction: column;
    /*gap: 50px;*/
    padding-bottom: 30px;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-partner__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 332px;
	  display: grid;
	  grid-template-columns: repeat(2,1fr);
	  grid-column-gap: 10px;
  }
  .holdings-partner__list li {
    padding: 2px 0;
	  font-size: 14px;
  }
  .groupcompany__others--item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-top: 80px;
    justify-content: flex-end;
    flex-direction: column;
  }
  .groupcompany__others--item > img {
    display: block;
    /*width: 320px;*/
    height: auto;
    background-color: #FFFFFF;
  }
  .groupcompany__others--table {
    /*flex: 0 0 445px;*/
  }
  .others-info__table {
    width: 100%;
    border-collapse: collapse;
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.8;
  }
  .others-info__table th, .others-info__table td {
    padding: 6px 0;
    vertical-align: top;
  }
  .others-info__table th {
    /*width: 90px;*/
    text-align: left;
    white-space: nowrap;
    padding-right: 30px;
  }
  .others-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-weight: 700;
  }
  .others-info__label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
  }
  .others-info__value::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__address, .others-info__business {
    margin: 0;
  }
  .others-info__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .others-info__link img {
    width: 14px;
    height: auto;
  }
  .others-info__row--address td, .others-info__row--business td {
    padding-top: 14px;
  }
  .others-info__row--web td {
    padding-top: 10px;
  }
  .groupcompany__others {
    display: flex;
    flex-direction: column;
    gap: 90px;
	  max-width: 300px;
	  margin: 0 auto;
  }
  .groupcompany__others--item {
    position: relative;
  }
  .groupcompany__others--item::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -100px;
    width: 50px;
    height: 4px;
    background-color: #FFFFFF;
  }
  .groupcompany__others .groupcompany__others--item:last-child::after {
    content: none !important;
  }
  .company-map__content iframe {
    width: 100%;
    height: 350px;
  }
	
	#out-sourcing .service-page__content{
		background-color: #DC164D;
	}
	
  /* article 全体 */
  .service-page {
    background-color: #000;
    color: #fff;
    padding-top: 0;
  }
  /* 左右 2 カラムのラッパー（＝#wrapper 相当） */
  .service-page__split {
    position: relative; /* sticky の基準 */
   /*  display: flex; 左右並び */
    flex-wrap: wrap;
  }
  /* 左側：固定エリア（＝#fixed-area 相当） */
  .service-page__media {
    position: -webkit-sticky; /* Safari 用 */
    /*position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;*/
    overflow: hidden;
    background-color: #000000;
  }
  /* 画像／動画を全面に敷く */
  .service-page__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 180px;
    box-sizing: border-box;
  }
  .service-page__media-inner img, .service-page__media-inner video {
    width: 100%;
    /*height: calc(100vh - 250px);*/
    object-fit: contain;
    display: block;
	  object-position: center bottom;
  }
  /* 左上のタイトルを画像の上に乗せる */
  .service-page__media--title {
    position: absolute;
    z-index: 2;
    /*left: 140px;*/
    top: 70px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .service-page__title {
    font-size: 30px;
    font-weight: bold;
    /*margin-bottom: 16px;*/
    background-color: #5D3A8B;
    padding: 5px;
    display: inline-block;
  }
  .service-page__subheading {
    font-size: 10px;
    letter-spacing: 0.15em;
    margin-bottom: 16px;
    text-transform: uppercase;
    color: #DC164D;
    font-weight: bold;
  }
  /* 右側：流れていくコンテンツ（＝#container 相当） */
  .service-page__content {
    /*width: 50%;*
    background-color: #e2005a; /* ピンクエリアはお好みで */
  }
  /* 中身。もう max-height / overflow は付けない！ */
  .service-page__content-inner {
    padding: 15px 18px;
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 auto;
  }
  /* リード文 */
  .service-page__lead {
    margin-bottom: 160px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
  }
  .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #000000;
    border-radius: 0;
  }
  .service-page__lead p {
    font-weight: bold;
	  letter-spacing: 0.13rem;
	  line-height: 1.6;
  }
  .service-page__lead--en {
    font-size: 12px !important;
    color: #5D3A8B;
    font-weight: normal !important;
  }
  /* セクション */
  .service-page__section {
    padding: 20px 24px 50px;
    border-bottom: solid 1px #FFFFFF;
  }
  .service-page__section:not(:first-child) {
    margin-top: 50px;
  }
  .service-page__section-title {
    position: relative;
    color: #ffffff;
    margin: 0;
    padding: 24px 0 30px;
    font-weight: 700;
  }
  .service-page__section-title-num {
    position: absolute;
    left: 20px;
    top: 33%;
    transform: translate(-50%, -50%);
    font-size: 80px;
    opacity: 0.2;
    pointer-events: none;
  }
  .service-page__section-title-text {
    position: relative;
    font-size: 24px;
    z-index: 1;
  }
  .service-page__list {
    list-style: disc;
    padding-left: 1.4em;
    line-height: 1.8;
  }
  .service-page__list--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  /* ⑥ フッターの裏に隠れていく動き
   → article が画面外にスクロールアウトするときに
      sticky な左カラムごと上に持ち上がるので、
      背景がフッターの後ろに隠れていくように見える */
  #game-dev .service-page__title {
    color: #5D3A8B;
    background-color: #FFFFFF;
  }
  #game-dev .service-page__content {
    background-color: #5D3A8B;
  }
  #game-dev .service-page__subheading, #game-dev .service-page__lead--en {
    color: #FFFFFF;
  }
  #game-dev .service-page__lead::after {
    background-color: #FFFFFF;
  }
  #game-dev .service-page__section {
    border-bottom: none;
  }
  .game-list__item .game-card:not(:first-child) {
    margin-top: 45px;
  }
  /* ① 全体カード */
  /* カード全体を相対配置にする（重要） */
  .game-list__item .game-card {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    border: 2px solid #ffffff;
    background-color: #7a3ca5;
  }
  /* 右上に固定するサムネイル */
  .game-list__item .game-card__thumb-fixed {
    position: absolute;
    top: -20px; /* 位置は好みに合わせて調整 */
    right: -35px; /* 位置は好みに合わせて調整 */
    width: 90px; /* キレイに見えるサイズに調整 */
    background-color: #ffffff;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 10;
  }
  .game-list__item .game-card__thumb-fixed img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* ② 上部のピンク帯タイトル */
  .game-list__item .game-card__header {
    background-color: #DC164D; /* ピンク帯の色 */
    padding: 8px 70px 8px 32px;
    height: 60px;
	  display: flex;
	  align-items: center;
  }
  .game-list__item .game-card__title {
    margin: 0;
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.08em;
    /*display: flex;
  align-items: baseline;
  gap: 8px;*/
    max-width: 250px;
  }
  .game-list__item .game-card__title-main {
    /*font-size: 24px;*/
  }
  .game-list__item .game-card__title-sub {
    /*font-size: 16px;*/
  }
  /* ③ 本文エリア（左テキスト＋右画像） */
  .game-list__item .game-card__body {
    display: flex;
    gap: 40px;
    padding: 32px;
    box-sizing: border-box;
  }
  /* 左コンテンツ */
  .game-list__item .game-card__content {
    flex: 1;
    color: #ffffff;
  }
  .game-card__genre-badges {
    display: flex;
    gap: 15px; /* ←バッジの間隔 */
    margin-bottom: 16px;
  }
  /* ジャンルバッジ */
  .game-list__item .game-card__genre-badge {
    display: inline-block;
    padding: 6px 13px;
    border-radius: 999px;
    background-color: #000000;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 16px;
  }
  /* 説明文 */
  .game-list__item .game-card__description {
    margin: 0 0 28px;
    line-height: 1.8;
    font-size: 14px;
  }
  /* ストアボタン */
  .game-list__item .game-card__stores {
    display: flex;
    gap: 24px;
  }
  .game-list__item .game-card__store img {
    display: block;
    /*height: 52px;  バッジ画像の高さはお好みで */
    width: auto;
  }
  /* 右側サムネイル */
  .game-list__item .game-card__thumb {
    width: 170px; /* 画像サイズに合わせて調整 */
    flex-shrink: 0;
    background-color: #ffffff;
    padding: 8px;
    box-sizing: border-box;
  }
  .game-list__item .game-card__thumb img {
    display: block;
    width: 100%;
    height: auto;
  }
  /* NEWバッジの見た目 */
  .game-card__new-badge {
    position: absolute;
    top: -24px;
    left: -22px;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 4px 8px;
    z-index: 20;
    border-bottom-right-radius: 4px;
  }
  /* NEWを付けたカード限定の調整（念のため） */
  .game-card.is-new {
    position: relative;
  }
  #engineering .service-page__title {
    background-color: #DC164D;
    color: #FFFFFF;
  }
  #engineering .service-page__subheading {
    color: #FFFFFF;
  }
  #engineering .service-page__content {
    background-color: #FFFFFF;
    color: #000000;
  }
  #engineering .service-page__lead--en {
    color: #DC164D;
  }
  #engineering .service-page__section-title-num {
    color: #DC164D;
  }
  #engineering .service-page__section-title-text {
    color: #000000;
  }
  #engineering .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #5D3A8B;
    border-radius: 0;
  }
  #engineering .service-page__section {
    border-bottom: solid 1px #5D3A8B;
  }
  #dx-support .service-page__title {
    background-color: #DC164D;
    color: #000000;
  }
  #dx-support .service-page__subheading {
    color: #FFFFFF;
  }
  #dx-support .service-page__content {
    background-color: #000000;
  }
  #dx-support .service-page__lead--en {
    color: #DC164D;
  }
  #dx-support .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #FFFFFF;
    border-radius: 0;
  }
  #dx-support .service-page__section {
    border-bottom: none;
  }
	
	#in-sourcing .service-page__title{
		background-color: #727171;
	}
	
	#in-sourcing .service-page__content{
		background-color: #727171;
	}
	
	#in-sourcing .service-page__lead--en{
		color: #DC164D;
	}
	
	#in-sourcing .service-page__lead::after{
		display: none;
	}
  #recruit--page {
    /*background-color: #000000;*/
    padding-top: 0;
  }
  .recruit-page--fv__wrapper {
    padding-top: 100px;
  }
  .recruit-page--fv__wrapper {
    background-color: #000000;
  }
  #recruit-page--fv .section--title h2 {
    color: #FFFFFF;
    padding-bottom: 50px;
  }
  #recruit-page--message {
    width: 100%;
    background-image: url("../img/recruit-page--bg.png");
    background-repeat: no-repeat;
    background-position: center; /* 中央配置 */
  }
  .recruit--message__label {
    display: inline-block;
    color: #FFFFFF;
    background-color: #000000;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .recruit-page--message__inner {
    padding: 30px 0;
  }
  .recruit--message__title h3 {
    font-size: 38px;
    font-weight: bold;
    color: #FFFFFF;
  }
  .recruit--message__title h3 span {
    display: inline-block;
    background-color: #DC164D;
    margin-bottom: 10px;
  }
  .recruit--message__sub {
    font-size: 22px;
    color: #5D3A8B;
    font-weight: bold;
    margin: 20px 0 30px;
  }
	
	.recruit--message__text p{
		letter-spacing: 0.13rem;
		line-height: 1.6;
	}
  .recruit--message__text p:last-child {
    margin-top: 50px;
  }
  .recruit--message__link {
    display: flex;
    justify-content: flex-end;
  }
  .recruit--message__link .recruit__morebtn--text span {
    color: #DC164D;
  }
  .recruit--line__bg {
    width: 100%;
  }
  .recruit--double-circle__wrapper {
    margin-top: -2px;
  }
  .recruit--double-circle__inner {
    display: flex;
	  flex-direction: column;
	  gap: 30px;
  }
  .recruit--circle__title {
    font-size: 28px;
	  text-align: center;
	  font-weight: 700;
  }
	
	.recruit--circle__text p{
		font-size: 14px;
		/*letter-spacing: 0.13rem;*/
		line-height: 1.6;
	}
  .recruit--circle {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    justify-content: center;
    width: 345px;
    height: 345px;
  }
  .recruit--circle__white__wrapper .recruit--circle__title {
    color: #DC164D;
  }
  .recruit--circle__white__wrapper .recruit--circle--content {
    border: solid 5px #DC164D;
    padding: 56px;
    border-radius: 50%;
  }
  .recruit--circle__red__wrapper .recruit--circle--content {
    border: solid 5px #5D3A8B;
    padding: 49px;
    border-radius: 50%;
  }
  .recruit--circle__white__wrapper {
    /*padding-right: 25px;*/
  }
  .recruit--circle__red__wrapper {
    background-color: #DC164D;
    /*padding-left: 25px;*/
    position: relative;
    z-index: 1;
  }
	
	.recruit--circle__red__wrapper .recruit--circle--content{
		margin-bottom: 15px;
	}
	
  .recruit--circle__red__wrapper::after {
    content: "";
    position: absolute;
    /*left: 300px;*/
    bottom: 0;
    width: 110%;
    height: 365px;
    background-color: #DC164D;
    z-index: -1;
	  overflow-x: hidden;
  }
  .recruit--circle__red__wrapper .recruit--circle__title, .recruit--circle__red__wrapper .recruit--circle__text {
    color: #FFFFFF;
	  
  }
  .recruit--circle--content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    /*min-height: 345px;*/
  }
  #recruit--benefits {
    background-color: #5D3A8B;
  }
  .recruit--benefits__wrapper {
    padding: 80px 0;
  }
  #recruit--benefits .section--title h2 {
    color: #FFFFFF;
  }
  .recruit--benefits__contentbox--text {
    margin: 50px 0;
  }
  .recruit--benefits__contentbox--text p {
    color: #FFFFFF;
    padding-left: 30px;
    border-left: solid 15px #DC164D;
	  letter-spacing: 0.13rem;
	  line-height: 1.6;
  }
  .recruit--benefits--item {
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    border-right: solid 1px #FFFFFF;
    max-width: 310px;
    min-height: 500px;
    padding-right: 30px;
    box-sizing: border-box;
  }
  .recruit--benefits--item img {
    width: 150px;
    height: 120px;
    object-fit: contain;
  }
  .recruit--benefits--item__text {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .recruit--benefits--item__lead {
    font-size: 14px;
  }
  .recruit--benefits--item__fukidashi1, .recruit--benefits--item__fukidashi2 {
    color: #5D3A8B;
  }
  .recruit--benefits--item__fukidashi1 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-right.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  .recruit--benefits--item__fukidashi2 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-left.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  /* 横スクロール */
  .recruit--benefits--slider {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth; /* なめらかスクロール（ドット移動用） */
  }
  /* 横並び */
  .recruit--benefits--slidebox {
    display: flex;
    gap: 40px;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
  }
  .recruit--benefits--slidebox .recruit--benefits--item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    box-sizing: border-box;
  }
  /* ドット */
  .recruit--benefits--dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 25px;
  }
  .recruit--benefits--dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    cursor: pointer;
  }
  .recruit--benefits--dots button.is-active {
    background: #DC164D;
    border-color: #DC164D;
  }
  #benefitsContent {
    background-color: #DC164D;
  }
  .benefitsC__inner {
    padding: 70px 0 140px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .benefitsC__inner .section--title {
    /*flex: 0 0 500px;*/
	  margin-bottom: 20px;
  }
  .benefitsC__inner h2 span {
    font-size: 32px;
    color: #FFFFFF;
  }
  .section--title__lead {
    margin-top: 20px;
    display: inline-block;
    color: #FFFFFF;
  }
  .benefitsC__contentbox {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
  }
  .benefitsC__item {
    background-color: #FFFFFF;
    padding: 15px 20px;
    max-width: 250px;
    border-radius: 30px
  }
  .benefitsC__item--title {
    text-align: center;
  }
  .benefitsC__item--title span {
    color: #DC164D;
    font-weight: bold;
  }
  .benefitsC__item p {
    margin-top: 5px;
    font-size: 12px;
    color: #DC164D;
  }
  #checkpoint {
    background-color: #000000;
  }
  .checkpoint__inner {
    color: #FFFFFF;
    padding: 40px 0 70px;
    display: flex;
    gap: 20px;
  }
  .checkpoint__item {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
	.checkpoint__item p{
		letter-spacing: 0.13rem;
		line-height: 1.6;
	}
  .checkpoint--title__wrap {
    font-weight: bold;
    /*flex: 0 0 430px;*/
  }
  .checkpoint--title__wrap p span {
    color: #DC164D;
    display: inline-block;
    margin-left: 10px;
  }
  .checkpoint__content--title {
    display: flex;
    flex-direction: column;
    font-size: 24px;
    border-left: solid 10px #DC164D;
    padding-left: 20px;
    margin-top: 10px;
  }
  #checkpoint .section--title.section--title--vertical {
    margin-top: 100px;
    justify-content: flex-start;
  }
  .checkpoint__item:not(:first-child) {
    margin-top: 30px;
  }
  #comfortable {
    background-color: #DC164D;
  }
  .comfortable__title--lead {
    font-size: 12px !important;
    font-weight: normal;
    color: #FFFFFF;
  }
  .comfortable__inner {
    padding: 100px 0;
  }
  .section--title--comfortable {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
    gap: 10px;
  }
  .section--title--comfortable span {
    display: inline;
    font-size: 32px !important;
    background-color: #FFFFFF;
    color: #5D3A8B;
  }
  .comfortable__text p {
    color: #FFFFFF;
	  letter-spacing: 0.13rem;
	  line-height: 1.6;
  }
  .comfortable__text span {
    background-color: #5D3A8B;
    color: #FFFFFF;
  }
  .comfortable__contentbox {
    margin-top: 30px;
  }
  .comfortable__text:not(:first-child) {
    margin-top: 20px;
  }
  #guidelines {
    background-color: #000000;
  }
  #guidelines .section--title h2 {
    color: #FFFFFF;
    padding-top: 50px;
	  padding-bottom: 25px;
	  line-height: 1.2;
  }
  #recruitcontent {
    background-color: #DC164D;
  }
  .recruitcontentlink__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 0;
    text-decoration: none;
    color: #000;
    z-index: 0;
    /*padding-left: 50px;*/
    justify-content: space-between;
  }
  .recruitcontentlink__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  #recruit-job {
    background-color: #DC164D;
  }
  #recruit-job .section--title h2 {
    color: #000000;
  }
  .recruit-job__wrapper {
    padding-bottom: 150px;
  }
  .recruit-job__lead {
    font-size: 20px;
    font-weight: bold;
    color: #FFFFFF;
    margin: 50px 0 30px;
  }
  .recruit-job__contentbox {
    background-color: #FFFFFF;
    padding: 50px 10px;
    border-bottom: solid 1px #000000;
  }
  .recruit-job__item--label {
    background-color: #5D3A8B;
    color: #FFFFFF;
    display: inline;
    padding: 5px;
  }
  .recruit-job__item--lead {
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0 20px;
    letter-spacing: 1.6px;
  }
  .recruit-job__item--text {
    margin: 20px 0 50px;
	  letter-spacing: 0.13rem;
	  line-height: 1.6;
  }
  .recruit-job__grid {
    display: flex;
	  flex-direction: column;
	  gap: 10px;
  }
  .recruit-job__grid--item {
    background-color: #000000;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px;
  }
  .recruit-job__grid--title {
    font-weight: bold;
    text-align: center;
  }
  .recruit-job__grid--text {
    margin-top: 15px;
    font-size: 14px;
  }
  .recruit-job__subtext {
    font-size: 20px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__project--example {
    margin: 50px 0;
  }
  .recruit-job__subtext--title {
    margin-bottom: 10px;
    font-weight: bold;
  }
  .recruit-job__subtext--item:not(:first-child) {
    margin-top: 20px;
  }
  .recruit-job__pill {
    border: solid 1px #DC164D;
    padding: 10px 15px;
    border-radius: 15px;
    display: inline-block;
    font-weight: normal;
    font-size: 16px !important;
    margin-right: 5px;
    margin-top: 10px;
  }
  /* ==============================
   雇用形態
============================== */
  .recruit-job__employment {
    display: flex;
    align-items: center;
    margin: 30px 0 40px;
    gap: 20px;
  }
  .recruit-job__employment-label {
    background-color: #000;
    color: #fff;
    padding: 8px 20px;
    font-weight: bold;
    display: inline-block;
  }
  .recruit-job__employment-text {
    font-size: 16px;
    font-weight: bold;
  }
  /* ==============================
   ポテンシャル採用
============================== */
  .recruit-job__potential {
    margin-bottom: 20px;
	  /*border-bottom: solid 1px #000000;*/
	  padding-bottom: 10px;
  }
  .recruit-job__potential-title {
    font-size: 20px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 10px;
  }
  .recruit-job__potential-text {
    font-size: 16px;
  }
  /* ==============================
   このような経験のある方は～
============================== */
  .recruit-job__experience-block {
    display: flex;
    gap: 40px;
    margin-top: 20px;
    flex-direction: column;
  }
  .recruit-job__exp-left {
    /*width: 25%;*/
  }
  .recruit-job__exp-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__exp-divider {
    width: 330px;
	  height: 1px;
    background-color: #000000;
  }
  .recruit-job__exp-right {
    flex: 1;
  }
  .recruit-job__exp-list {
    margin: 0;
  }
  .recruit-job__exp-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
  }
  .recruit-job__exp-label {
    background-color: #000;
    color: #fff;
    padding: 8px 10px;
    font-weight: bold;
    min-width: 64px;
    text-align: center;
    margin-right: 15px;
  }
  .recruit-job__exp-text {
    margin: 6px 0 0;
    line-height: 1.8;
  }
  .recruit-job__note {
    display: block;
    margin-top: 4px;
    font-size: 14px;
  }
  /* ==============================
   こんな方にピッタリ！
============================== */
  .recruit-job__fit-block {
    display: flex;
	  flex-direction: column;
    gap: 10px;
    margin-top: 40px;
  }
  .recruit-job__fit-left {
    /*width: 25%;*/
	  border-bottom: solid 1px #000000;
	  padding-bottom: 10px;
  }
  .recruit-job__fit-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__fit-divider {
    width: 1px;
    background-color: #999;
  }
  .recruit-job__fit-right {
    flex: 1;
  }
  /* リストのスタイル */
  .recruit-job__fit-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__fit-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 12px;
    line-height: 1.8;
  }
  /* 「・」風の中黒 */
  .recruit-job__fit-list li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
  }
  .recruit-job__backborn {
    font-size: 16px;
    font-weight: normal;
    margin-top: 15px;
  }
  /* ==============================
   勤務地：説明テキスト
   ※中央の短い棒はafterで生成
============================== */
  .recruit-job__work-desc {
    margin-bottom: 60px;
    padding-bottom: 40px;
    position: relative;
  }
  .recruit-job__work-desc p {
    line-height: 1.9;
    margin-bottom: 8px;
	  margin-top: 30px;
  }
  .recruit-job__work-desc::after {
    content: "";
    position: absolute;
    left: 0;
    margin: 0 auto;
    bottom: 0;
    width: 80px; /* 棒の長さ */
    height: 1px; /* 棒の太さ */
    background-color: #000;
  }
  /* ==============================
   勤務地：住所ブロック
============================== */
  .recruit-job__work-address {
    line-height: 1.9;
  }
  .recruit-job__zip {
    margin-bottom: 16px;
  }
  /* ==============================
   勤務時間
============================== */
  .recruit-job__time-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
  }
  .recruit-job__time-detail {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .recruit-job__time-note p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 6px;
  }
  /* ==============================
   給与：タイトル部分
============================== */
  .recruit-job__salary-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
    line-height: 1.7;
  }
  .recruit-job__salary-note {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1.8;
  }
  .recruit-job__salary-subtitle {
    margin: 25px 0 5px;
    font-weight: bold;
    font-size: 16px;
  }
  /* ==============================
   年収例
============================== */
  .recruit-job__annual-income {
    margin: 40px 0;
  }
  .recruit-job__annual-title {
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__annual-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__annual-list li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   区切り線（after擬似要素）
============================== */
  .recruit-job__divider {
    width: 100%;
    height: 30px;
    position: relative;
    margin: 20px 0 40px;
  }
  .recruit-job__divider::after {
    content: "";
    position: absolute;
    left: 0;
    width: 80px;
    height: 1px;
    background-color: #000;
    top: 50%;
    transform: translateY(-50%);
  }
  /* ==============================
   年収アップ実績
============================== */
  .recruit-job__up-title {
    font-size: 20px;
    color: #5D3A8B;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__up-item {
    font-size: 16px;
    margin-bottom: 8px;
  }
  /* ==============================
   試用期間
============================== */
  .recruit-job__trial-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .recruit-job__trial-text {
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   休日・休暇 共通
============================== */
  .recruit-job__holiday {
    /* ここは必要なら個別調整用に */
  }
  /* 見出しラベル ＋ 白いピル2つ */
  .recruit-job__section-head {
    margin-bottom: 30px;
  }
  .recruit-job__section-label {
    display: inline-block;
    padding: 8px 20px;
    background-color: #5D3A8B; /* 紫 */
    color: #fff;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    /*margin-top: 20px;*/
  }
  .recruit-job__chip {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    border: 2px solid #DC164D; /* 赤枠 */
    font-size: 16px;
    font-weight: bold;
    background-color: #fff;
  }
  /* 本文エリア */
  .recruit-job__holiday-body {
    margin-top: 10px;
  }
  .recruit-job__holiday-lead {
    font-size: 18px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__holiday-list {
    list-style: disc;
    margin: 0;
    padding-left: 1.4em;
    line-height: 1.9;
  }
  .recruit-job__holiday-list li + li {
    margin-top: 4px;
  }
  /* 「今後 週休3日制〜」 */
  .recruit-job__holiday-future {
    margin-top: 30px;
    font-size: 18px;
    font-weight: bold;
    color: #DC164D;
  }
  /* ==============================
   福利厚生：テキストブロック
============================== */
  .recruit-job__welfare-main {
    margin-top: 40px;
  }
  .recruit-job__welfare-lead {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .recruit-job__welfare-sublead {
    margin-top: 20px;
    line-height: 1.8;
  }
  /* 今年度導入の例／昨年の例 行 */
  .recruit-job__welfare-row {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
  }
  .recruit-job__welfare-label {
    position: relative;
    font-weight: bold;
    min-width: 190px;
    padding-right: 40px;
  }
  /* 左テキストと右テキストの間の縦線（短い棒） */
  .recruit-job__welfare-label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 120%;
    /*transform: translateY(-50%);*/
    width: 40px;
    height: 1px;
    background-color: #999999;
  }
  .recruit-job__welfare-text {
    flex: 1;
    line-height: 1.8;
  }
  /* ==============================
   事業内容
============================== */
  .recruit-job__business {
    margin-top: 30px;
  }
  .recruit-job__business-lead {
    font-size: 22px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__business-list {
    list-style: disc;
    padding-left: 1.5em;
    margin: 0 0 20px;
    line-height: 2;
  }
  .recruit-job__business-list li {
    margin-bottom: 4px;
  }
  .recruit-job__business-note {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 10px;
  }
  /* ==============================
   自社ゲーム紹介スライダー
============================== */
  .game-slider {
    margin: 40px auto 0;
    width: 255px;
    max-width: 100%;
  }
  .game-slider__inner {
    position: relative;
  }
  .game-slider__viewport {
    overflow: hidden;
  }
  .game-slider__track {
    display: flex;
    transition: transform 0.4s ease;
  }
  .game-slider__slide {
    flex: 0 0 100%;
    text-align: center;
  }
  .game-slider__slide img {
    width: 100%;
    height: auto;
    display: block;
  }
  .game-slider__caption {
    margin-top: 10px;
    font-size: 14px;
    text-align: left;
  }
  /* 矢印ボタン */
  .game-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 2;
  }
  .game-slider__arrow img {
    width: 12px;
	  height: 12px;
    display: block;
  }
  /* 左矢印は画像を反転させて使用 */
  .game-slider__arrow--prev {
    left: -26px;
  }
  .game-slider__arrow--prev img {
    transform: scaleX(-1);
  }
  /* 右矢印（画像そのまま） */
  .game-slider__arrow--next {
    right: -50px;
  }
  /* ドットナビ */
  .game-slider__dots {
    margin-top: 15px;
    text-align: center;
  }
  .game-slider__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background-color: #ccc;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
  }
  .game-slider__dot.is-active {
    background-color: #DC164D; /* メインカラーに合わせて変更OK */
  }
  /* ==============================
   APPLY FOR リンク
============================== */
  .apply-link {
    width: 100%;
  }
  .apply-link a {
    display: block;
    width: 100%;
    background-color: #5D3A8B;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    position: relative;
  }
  /* 横並びレイアウト */
  .apply-link__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 23px 10px;
    position: relative;
  }
  /* 英語 / 日本語 */
  .apply-link__text {
    display: flex;
    flex-direction: column;
  }
  .apply-link__en {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .apply-link__jp {
    font-size: 12px;
    font-weight: bold;
  }
  /* 矢印 */
  .apply-link__arrow img {
    width: 25px;
    height: auto;
    display: block;
    transition: transform 0.25s ease; /* ★ アニメーション */
  }
  /* hover 時に矢印のみ右へ動く */
  .apply-link a:hover .apply-link__arrow img {
    transform: translateX(5px); /* ★ 右に 5px */
  }
  #apply {
    background-color: #DC164D;
  }
  #apply .section--title h2 {
    color: #000000;
  }
  .apply__wrapper {
    padding-bottom: 60px;
  }
  .apply--lead {
    color: #000000;
    margin-top: 50px;
  }
  .apply--lead p:not(:first-child) {
    margin-top: 20px;
  }
  #company--info {
    background-color: #DC164D;
  }
  #company--info .section--title h2 {
    color: #000000;
  }
  .company--info__contentbox {
    background-color: #FFFFFF;
    margin-top: 60px;
  }
  .company--info__inner {
    padding-bottom: 150px;
  }
  .company--info__padding {
    padding: 30px 10px;
  }
  .security--text2 {
    margin: 30px 0;
  }
  .security--textlist {
    margin-top: 20px;
  }
  .security-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.2em;
  }
  .security-num {
    width: 2em; /* ← 番号の幅を固定して縦を完全に揃える */
    flex-shrink: 0;
  }
  .security-text {
    line-height: 1.8;
  }
  .security--name {
    margin-top: 50px;
    text-align: right;
  }
  .policy--list {
    margin-top: 10px;
  }
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.8em;
  }
  .policy-num {
    width: 2em; /* ← 番号の位置を固定して縦をそろえる */
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  .policy--list--head {
    font-size: 20px;
    font-weight: bold;
    margin-top: 50px;
  }
  .policy--list--head p {
    font-size: 16px !important;
    font-weight: normal !important;
    margin-bottom: 30px;
    margin-top: 30px;
  }
  /* 大項目 */
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
  }
  .policy-num {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  /* 小項目（入れ子） */
  .policy-sublist {
    margin-top: 0.6em;
    margin-left: 2em;
  }
  .policy-subitem {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.4em;
  }
  .policy-subnum {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-subtext {
    line-height: 1.8;
  }
}
/*=================================
TAB設定
==================================*/
@media screen and (min-width:601px) and (max-width:1024px) {
  .max-width {
    max-width: 700px;
    margin: 0 auto;
  }
  .section--title h2 {
    font-size: 70px;
    display: flex;
    flex-direction: column;
    font-weight: bold;
    letter-spacing: 5px;
  }
  .section--title h2 span {
    font-size: 18px;
    letter-spacing: 0;
  }
  article {
    padding-top: 100px;
  }
  article .section--title h2 {
    color: #DC164D;
  }
  #fv {
    /*height: 100vh;*/
    position: relative;
  }
  .fv__top, .fv__bottom {
    background-color: #DC164D;
  }
  .fv__logo {
    background-color: #000000;
  }
  .fv__top--text h2 {
    display: inline-flex;
    flex-direction: column;
    font-size: 50px;
    margin: 100px 0 20px;
	  font-weight: 700;
	  color: #FFFFFF;
  }
  .fv__top--text h2 span {
    background-color: #FFFFFF;
    color: #DC164D;
    padding: 5px;
  }
  .fv__logo--inner h1 {
    padding: 37px 0 27px;
  }
  .fv__logo--inner img {
    /*width: 870px;
    height: 253px;*/
    object-fit: cover;
  }
  .fv__bottom--text h3 {
    font-size: 34px;
    padding: 40px 0 20px;
    font-family: Arial, Helvetica, "sans-serif";
  }
  .fv__bottom--text p {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .fv__bottom--SNS {
    display: flex;
    padding-bottom: 53px;
  }
  .fv__bottom--circle {
    background-color: #FFFFFF;
    font-size: 18px;
    padding: 30px;
    width: 120px;
    height: 120px;
    border: solid 1px #000000;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
  }
  .fv__bottom--card {
    display: inline-flex;
    gap: 80px;
    align-items: center;
    background-color: #000000;
    padding: 13px 50px 13px 80px;
    height: 120px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    transform: translateX(-60px);
  }
  .fv__bottom--card span {
    background-color: #FFFFFF;
    padding: 2px 8px;
    font-size: 12px;
  }
  .fv__bottom--link {
    display: flex;
    margin-top: 15px;
    gap: 15px;
  }
  .text-animation__wrap {
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transform: translateX(400px);
  }
  .rotating-text {
    width: 868px;
    height: 868px;
    display: block;
  }
  .spin {
    transform-origin: 434px 434px;
    animation: rotateCircle 35s linear infinite;
  }
  @keyframes rotateCircle {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .company-top__wrapper {
    padding: 110px 0 100px;
    color: #FFFFFF;
    background-color: #000000;
  }
  .company-top__title {
    display: flex;
    align-items: center;
    gap: 147px;
  }
  .company-top__title h2 {
    font-size: 46px;
    flex-shrink: 0;
  }
  .company-top__title h2 span {
    font-size: 72px;
    line-height: 1.5;
	  font-weight: 700;
  }
  .company-span--red {
    background-color: #DC164D;
    color: #000000;
    height: 105px;
    display: inline-block;
  }
  .company-span--white {
    color: #DC164D;
    background-color: #FFFFFF;
    height: 105px;
    display: inline-block;
    margin-top: 15px;
  }
  .company-top__title--en {
    font-size: 10px;
    color: #DC164D;
  }
  .company-top-p--large {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .company-top__lead {
    margin-top: 62px;
    font-weight: 600;
    line-height: 3;
  }
  .company-top__lead span {
    color: #000000;
    line-height: 1.5;
    background-color: transparent;
    /*background-color: #FFFFFF;*/
  }
  .company-top__link {
    margin-top: 30px;
    text-align: right;
  }
  .company-top__link a {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: #DC164D;
  }
  .company-top__link img {
    width: 28px;
    height: 28px;
    background-color: #5D3A8B;
    padding: 5px;
  }
  .section-bg__horizon {
    width: 100%;
    height: 300px;
    background-image: url('../img/section-bg__horizon.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #ourservice {
    background-color: #DC164D;
    color: #000;
    overflow-x: hidden;
    overflow-y: visible;
  }
  .section--title.section--title--vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    padding: 80px 24px 40px;
    width: 50px;
    gap: 140px;
    margin-top: 140px;
  }
  .section--title--vertical .vertical-alphabet {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: center;
    white-space: nowrap;
    color: #fff;
    font-weight: 800;
    font-size: 48px;
    letter-spacing: 0.2em;
  }
  .section--title--vertical .vertical-japanese {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 14px;
    letter-spacing: 0.2em;
    color: #000;
  }
  .ourservice__inner {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: stretch;
  }
  .ourservice__contentbox {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    border-left: solid 1px #000000;
  }
  .ourservice__lead {
    font-size: 16px;
    line-height: 1.8;
    padding: 50px;
  }
  .ourservice__list {
    position: relative;
  }
  .ourservice__list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc((100vw + 100%) / 2);
    border-top: 2px solid #000;
  }
  .ourservice__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 30px 0;
    text-decoration: none;
    color: #000;
    z-index: 0;
    padding-left: 50px;
  }
  .ourservice__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc((100vw + 100%) / 2);
    border-bottom: 2px solid #000;
  }
  .ourservice__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #fff;
    transition: width 0.35s ease;
    z-index: -1;
  }
  .ourservice__item:hover::before {
    width: calc((100vw + 100%) / 2);
  }
  .ourservice__arrow {
    display: inline-flex;
    margin-right: 25px;
  }
  .ourservice__arrow img {
    display: block;
    width: 32px;
    height: auto;
    transition: transform 0.25s ease;
  }
  .ourservice__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  .ourservice__item-text {
    display: flex;
    flex-direction: column;
  }
  .ourservice__item-ja {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 4px;
  }
  .ourservice__item-en {
    font-size: 12px;
    letter-spacing: 1px;
  }
  .news__wrapper .section--title h2 {
    color: #DC164D;
    margin-bottom: 30px;
  }
  .news__wrapper .section--title span {
    color: #000000;
  }
  .news__inner {
    margin: 100px 0;
  }
  .news__content--item {
    border-bottom: solid 1px #DC164D;
  }
  .news__content--item a {
    display: flex;
    gap: 90px;
    padding: 30px 0;
    justify-content: flex-start;
    text-decoration: none;
    cursor: pointer;
  }
  .news__title-text {
    width: 560px;
  }
  .news__title {
    font-weight: bold;
  }
  .news__text {
    /* 元の margin-top: 38px; は一旦リセット */
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
      max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
  }
  .news__content--item.is-open .news__text {
    margin-top: 38px;
    max-height: 500px;
    opacity: 1;
    line-height: 1.8;
  }
  .news__arrow img {
    display: block;
    transition: transform 0.3s ease;
  }
  .news__content--item.is-open .news__arrow img {
    transform: rotate(180deg);
  }
  #recruit {
    background-color: #DC164D;
  }
  .recruit__wrapper {
    position: relative;
    padding: 70px 80px;
  }
  .recruit__border {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    pointer-events: none;
    z-index: 0;
  }
  .recruit__border-line {
    position: absolute;
    width: 100%;
    height: 40px;
  }
  .recruit__border-line--top {
    top: -15px;
    left: 40px;
    width: calc(100% - 80px);
    height: 80px;
  }
  .recruit__border-line--bottom {
    bottom: -15px;
    left: 40px;
    width: calc(100% - 80px);
    height: 80px;
  }
  .recruit__border-line--left {
    left: -5px;
    top: 40px;
    height: calc(100% - 80px);
    width: 80px;
  }
  .recruit__border-line--right {
    right: -5px;
    top: 40px;
    height: calc(100% - 80px);
    width: 80px;
  }
  .recruit__border-text {
    fill: #000;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateX(0);
    animation: recruit-marquee 20s linear infinite;
  }
  .recruit__border-text--reverse {
    animation-direction: reverse;
  }
  .recruit__border-text-vertical {
    fill: #000;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: translateY(0);
    animation: recruit-vertical 20s linear infinite;
  }
  .recruit__border-text-vertical--reverse {
    animation-direction: reverse;
  }
  @keyframes recruit-marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  @keyframes recruit-vertical {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(-50%);
    }
  }
  .recruit__inner {
    position: relative;
    z-index: 1; /* 枠より上に表示 */
    background-image: url("../img/recruit--bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 40px;
  }
  .recruit__inner .section--title h2 span {
    color: #DC164D;
  }
  .recruit__title {
    margin: 50px 0;
  }
  .recruit__title h3 span {
    display: block;
    color: #DC164D;
    font-size: 50px;
    font-weight: bold;
  }
  .recruit__subtext p {
    line-height: 3;
  }
  .recruit__morebtn img {
    width: 30px;
    height: 30px;
    padding: 8px;
    background-color: #5D3A8B;
  }
  .recruit__morebtn a {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 48px;
  }
  .recruit__morebtn--text {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: bold
  }
  .recruit__morebtn--text span {
    font-size: 12px;
    font-weight: bold;
  }
  .recruit-viewmore-text--jp {
    font-weight: normal !important;
  }
  .contact__wrapper {
    position: relative;
    overflow: hidden;
    background-color: #000000;
  }
  .contact__wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.6s ease;
    transform: translateX(0);
    z-index: 0;
  }
  .contact__wrapper:hover::before {
    transform: translateX(100%);
  }
  .contact__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 40px 0;
  }
  .contact__inner a {
    color: #ffffff;
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 4px;
    transition: color 0.6s ease;
  }
  .contact__wrapper:hover .contact__inner a {
    color: #000000;
  }
  .footer__inner {
    margin: 30px 0;
  }
  .footer__logo img {
    width: 303px;
    height: 88px;
    object-fit: cover;
  }
  .footer__link a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .footer__link a img {
    width: 23px;
    height: 23px;
    object-fit: cover;
  }
  .footer__link ul {
    display: flex;
    column-gap: 50px;
    row-gap: 20px;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  .footer__sns {
    display: flex;
    gap: 15px;
    max-width: 700px;
    justify-content: flex-end;
    margin: 0 auto;
  }
  .footer__sns img {
    width: 30px;
    height: 30px;
    object-fit: cover;
  }
  .footer__copy-sns {
    text-align: center;
  }
  .company-page--fv--title h3 {
    display: flex;
    flex-direction: column;
    font-size: 80px;
    font-weight: bold;
    align-items: flex-start;
    color: #5D3A8B;
    text-align: left;
  }
  .company-page--fv--title {
    height: 305px;
    background-image: url("../img/company--bg.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
  }
  .company-page--fv__text {
    margin-top: 50px;
    margin-bottom: 74px;
    line-height: 2;
  }
  .profile__wrapper {
    background-color: #5D3A8B;
    padding: 80px 0 100px;
  }
  .profile__inner {
    color: #FFFFFF;
  }
  .profile__inner .section--title h2 {
    color: #FFFFFF;
  }
  /* ========== 上段：会社情報テーブル ========== */
  .profilebox {
    /*margin-top: -120px;
    display: flex;*/
    justify-content: flex-end;
    max-width: 960px;
  }
  .profilebox__table {
    width: 100%;
    max-width: 520px;
    border-collapse: collapse;
    line-height: 1.6;
  }
  .profilebox__table th, .profilebox__table td {
    padding: 30px 0 6px;
    vertical-align: top;
  }
  .profilebox__table th {
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    padding-right: 80px;
  }
  .profilebox__label, .profilebox__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    border-bottom: solid 1px #FFFFFF;
  }
  .profilebox__sns-link {
    display: inline-flex;
    align-items: center;
    gap: 30px;
    color: #FFFFFF;
    text-decoration: none;
    border-bottom: solid 1px #FFFFFF;
    padding-bottom: 4px;
  }
  .profilebox__sns-link img {
    width: 30px;
    height: 30px;
    display: block;
  }
  /* ========== 下段：主要取引先 ========== */
  .profile--main {
    margin-top: 80px;
    max-width: 960px;
    /*display: flex;
    gap: 60px;*/
  }
  .profile-main__caption {
    margin-bottom: 24px;
    flex: 0 0 183px;
  }
  .profile-main__title {
    font-weight: 700;
    letter-spacing: 0.15em;
    /*text-align: right;*/
  }
  .profile-main__note {
    margin-top: 4px;
    font-size: 12px;
    /*text-align: right;*/
  }
  .profile-main__clients {
    display: flex;
    gap: 40px;
  }
	
	.many{
		margin-top: 10px;
		font-size: 12px;
	}
	
  .profile-main__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 325px;
  }
  .profile-main__list li {
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    margin-top: 12px;
  }
  #groupcompany .section--title h2 {
    color: #FFFFFF;
  }
  .groupcompany__wrapper {
    background-color: #DC164D;
    padding: 80px 0 150px;
  }
  .groupcompany__inner {
    color: #FFFFFF;
  }
  .groupcompany__contentbox {
    margin-top: 40px;
  }
  /* ========== ホールディングカンパニー：画像部分 ========== */
  .groupcomapny__holdings--image {
    margin-top: 40px;
    /*text-align: center;
    display: flex;*/
    max-width: 725px;
    gap: 35px;
  }
  .holdings-image__label {
    display: inline-block;
    margin-bottom: 24px;
    flex: 0 0 240px;
  }
  .holdings-image__label span {
    display: inline-block;
    padding: 6px 20px;
    font-size: 14px;
    letter-spacing: 0.15em;
    background-color: #192B3D;
    color: #FFFFFF;
    font-weight: bold;
  }
  .holdings-image__logo {
    margin: 0 auto;
    max-width: 520px;
    padding: 80px 40px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .holdings-image__logo img {
    width: 70%;
    height: auto;
    display: block;
  }
  /* ========== ホールディングカンパニー：情報テーブル ========== */
  .groupcompany__holdings--info {
    margin-top: 60px;
    max-width: 810px;
  }
  .holdings-info__table {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    border-collapse: collapse;
    line-height: 1.7;
  }
  .holdings-info__table th, .holdings-info__table td {
    vertical-align: top;
    padding: 30px 0 6px;
  }
  .holdings-info__table th {
    width: 120px;
    padding-right: 65px;
    font-weight: 700;
    white-space: nowrap;
    text-align: right;
  }
  .holdings-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__table td {
    min-width: 500px;
  }
  .holdings-info__cols {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 40px;
  }
  .holdings-info__col {
    min-width: 200px;
  }
  .holdings-info__col-title {
    font-weight: 700;
    margin-bottom: 4px;
  }
  .holdings-info__col-text {
    line-height: 1.7;
  }
  .holdings-info__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .holdings-info__link img {
    width: 10px;
    height: 10px;
    display: block;
  }
  .holdings-info__badge {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #FFFFFF;
    margin-bottom: 8px;
    background-color: #FFFFFF;
    color: #DC164D;
  }
  .holdings-info__text {
    line-height: 1.7;
    margin-bottom: 6px;
  }
  .holdings-info__text--last {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
  }
  .holdings-info__text--last img {
    width: 10px;
    height: 10px;
  }
  .groupcompany__holdings--partner {
    padding-top: 60px;
    max-width: 860px;
    /*transform: translateX(123px);*/
  }
  .holdings-partner {
    display: flex;
    flex-direction: column;
    padding-bottom: 24px;
    gap: 80px;
  }
  .holdings-partner__head {
    flex-shrink: 0;
  }
  .holdings-partner__head-label {
    display: inline-block;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    padding-bottom: 6px;
    border-bottom: 2px solid #fff;
  }
  .holdings-partner__lists {
    flex: 1;
    display: flex;
    gap: 50px;
    padding-bottom: 30px;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-partner__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 332px;
  }
  .holdings-partner__list li {
    padding: 2px 0;
  }
  .groupcompany__others--item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-top: 80px;
    justify-content: flex-end;
    flex-direction: column;
  }
  .groupcompany__others--item > img {
    display: block;
    /*width: 320px;*/
    height: auto;
    background-color: #FFFFFF;
  }
  .groupcompany__others--table {
    /*flex: 0 0 445px;*/
  }
  .others-info__table {
    width: 100%;
    border-collapse: collapse;
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.8;
  }
  .others-info__table th, .others-info__table td {
    padding: 6px 0;
    vertical-align: top;
  }
  .others-info__table th {
    width: 90px;
    text-align: left;
    white-space: nowrap;
    padding-right: 80px;
  }
  .others-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-weight: 700;
  }
  .others-info__label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
  }
  .others-info__value::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__address, .others-info__business {
    margin: 0;
  }
  .others-info__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .others-info__link img {
    width: 14px;
    height: auto;
  }
  .others-info__row--address td, .others-info__row--business td {
    padding-top: 14px;
  }
  .others-info__row--web td {
    padding-top: 10px;
  }
  .groupcompany__others {
    display: flex;
    flex-direction: column;
    gap: 200px;
  }
  .groupcompany__others--item {
    position: relative;
  }
  .groupcompany__others--item::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -100px;
    width: 50px;
    height: 4px;
    background-color: #FFFFFF;
  }
  .groupcompany__others .groupcompany__others--item:last-child::after {
    content: none !important;
  }
  .company-map__content iframe {
    width: 100%;
    height: 350px;
  }
  /* article 全体 */
  .service-page {
    background-color: #000;
    color: #fff;
    padding-top: 0;
  }
  /* 左右 2 カラムのラッパー（＝#wrapper 相当） */
  .service-page__split {
    position: relative; /* sticky の基準 */
    display: flex; /* 左右並び */
    flex-wrap: wrap;
  }
  /* 左側：固定エリア（＝#fixed-area 相当） */
  .service-page__media {
    position: -webkit-sticky; /* Safari 用 */
    position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;
    overflow: hidden;
    background-color: #000000;
  }
  /* 画像／動画を全面に敷く */
  .service-page__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 250px;
    box-sizing: border-box;
  }
  .service-page__media-inner img, .service-page__media-inner video {
    width: 100%;
    height: calc(100vh - 250px);
    object-fit: cover;
    display: block;
	  object-position: center bottom;
  }
  /* 左上のタイトルを画像の上に乗せる */
  .service-page__media--title {
    position: absolute;
    z-index: 2;
    left: 140px;
    top: 100px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .service-page__title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 16px;
    background-color: #5D3A8B;
    padding: 5px;
    display: inline-block;
  }
  .service-page__subheading {
    font-size: 14px;
    letter-spacing: 0.15em;
    margin-bottom: 16px;
    text-transform: uppercase;
    color: #DC164D;
    font-weight: bold;
  }
  /* 右側：流れていくコンテンツ（＝#container 相当） */
  .service-page__content {
    width: 50%;
    background-color: #e2005a; /* ピンクエリアはお好みで */
  }
  /* 中身。もう max-height / overflow は付けない！ */
  .service-page__content-inner {
    padding: 80px 40px;
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 auto;
  }
  /* リード文 */
  .service-page__lead {
    margin-bottom: 160px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
  }
  .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #000000;
    border-radius: 0;
  }
  .service-page__lead p {
    font-size: 20px;
    font-weight: bold;
  }
  .service-page__lead--en {
    font-size: 12px !important;
    color: #5D3A8B;
    font-weight: normal !important;
  }
  /* セクション */
  .service-page__section {
    padding: 20px 24px 50px;
    border-bottom: solid 1px #FFFFFF;
  }
  .service-page__section:not(:first-child) {
    margin-top: 100px;
  }
  .service-page__section-title {
    position: relative;
    color: #ffffff;
    margin: 0;
    padding: 24px 0 30px;
    font-weight: 700;
  }
  .service-page__section-title-num {
    position: absolute;
    left: 0;
    top: 33%;
    transform: translate(-50%, -50%);
    font-size: 80px;
    opacity: 0.2;
    pointer-events: none;
  }
  .service-page__section-title-text {
    position: relative;
    font-size: 24px;
    z-index: 1;
  }
  .service-page__list {
    list-style: disc;
    padding-left: 1.4em;
    line-height: 1.8;
  }
  .service-page__list--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  /* ⑥ フッターの裏に隠れていく動き
   → article が画面外にスクロールアウトするときに
      sticky な左カラムごと上に持ち上がるので、
      背景がフッターの後ろに隠れていくように見える */
  #game-dev .service-page__title {
    color: #5D3A8B;
    background-color: #FFFFFF;
  }
  #game-dev .service-page__content {
    background-color: #5D3A8B;
  }
  #game-dev .service-page__subheading, #game-dev .service-page__lead--en {
    color: #FFFFFF;
  }
  #game-dev .service-page__lead::after {
    background-color: #FFFFFF;
  }
  #game-dev .service-page__section {
    border-bottom: none;
  }
  .game-list__item .game-card:not(:first-child) {
    margin-top: 45px;
  }
  /* ① 全体カード */
  /* カード全体を相対配置にする（重要） */
  .game-list__item .game-card {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    border: 2px solid #ffffff;
    background-color: #7a3ca5;
  }
  /* 右上に固定するサムネイル */
  .game-list__item .game-card__thumb-fixed {
    position: absolute;
    top: -20px; /* 位置は好みに合わせて調整 */
    right: -35px; /* 位置は好みに合わせて調整 */
    width: 100px; /* キレイに見えるサイズに調整 */
    background-color: #ffffff;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 10;
  }
  .game-list__item .game-card__thumb-fixed img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* ② 上部のピンク帯タイトル */
  .game-list__item .game-card__header {
    background-color: #e51e6b; /* ピンク帯の色 */
    padding: 16px 70px 16px 32px;
    height: 100px;
  }
  .game-list__item .game-card__title {
    margin: 0;
    color: #ffffff;
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    /*display: flex;
  align-items: baseline;
  gap: 8px;*/
    max-width: 250px;
  }
  .game-list__item .game-card__title-main {
    /*font-size: 24px;*/
  }
  .game-list__item .game-card__title-sub {
    /*font-size: 16px;*/
  }
  /* ③ 本文エリア（左テキスト＋右画像） */
  .game-list__item .game-card__body {
    display: flex;
    gap: 40px;
    padding: 32px;
    box-sizing: border-box;
  }
  /* 左コンテンツ */
  .game-list__item .game-card__content {
    flex: 1;
    color: #ffffff;
  }
  .game-card__genre-badges {
    display: flex;
    gap: 15px; /* ←バッジの間隔 */
    margin-bottom: 16px;
  }
  /* ジャンルバッジ */
  .game-list__item .game-card__genre-badge {
    display: inline-block;
    padding: 6px 13px;
    border-radius: 999px;
    background-color: #000000;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 16px;
  }
  /* 説明文 */
  .game-list__item .game-card__description {
    margin: 0 0 28px;
    line-height: 1.8;
    font-size: 14px;
  }
  /* ストアボタン */
  .game-list__item .game-card__stores {
    display: flex;
    gap: 24px;
  }
  .game-list__item .game-card__store img {
    display: block;
    /*height: 52px;  バッジ画像の高さはお好みで */
    width: auto;
  }
  /* 右側サムネイル */
  .game-list__item .game-card__thumb {
    width: 170px; /* 画像サイズに合わせて調整 */
    flex-shrink: 0;
    background-color: #ffffff;
    padding: 8px;
    box-sizing: border-box;
  }
  .game-list__item .game-card__thumb img {
    display: block;
    width: 100%;
    height: auto;
  }
  /* NEWバッジの見た目 */
  .game-card__new-badge {
    position: absolute;
    top: -15px;
    left: 0;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 4px 8px;
    z-index: 20;
    border-bottom-right-radius: 4px;
  }
  /* NEWを付けたカード限定の調整（念のため） */
  .game-card.is-new {
    position: relative;
  }
  #engineering .service-page__title {
    background-color: #DC164D;
    color: #FFFFFF;
  }
  #engineering .service-page__subheading {
    color: #FFFFFF;
  }
  #engineering .service-page__content {
    background-color: #FFFFFF;
    color: #000000;
  }
  #engineering .service-page__lead--en {
    color: #DC164D;
  }
  #engineering .service-page__section-title-num {
    color: #DC164D;
  }
  #engineering .service-page__section-title-text {
    color: #000000;
  }
  #engineering .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #5D3A8B;
    border-radius: 0;
  }
  #engineering .service-page__section {
    border-bottom: solid 1px #5D3A8B;
  }
  #dx-support .service-page__title {
    background-color: #DC164D;
    color: #000000;
  }
  #dx-support .service-page__subheading {
    color: #FFFFFF;
  }
  #dx-support .service-page__content {
    background-color: #000000;
  }
  #dx-support .service-page__lead--en {
    color: #DC164D;
  }
  #dx-support .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #FFFFFF;
    border-radius: 0;
  }
  #dx-support .service-page__section {
    border-bottom: none;
  }
	
	#in-sourcing .service-page__title{
		background-color: #727171;
	}
	
	#in-sourcing .service-page__content{
		background-color: #727171;
	}
	
	#insourcing .service-page__lead--en{
		color: #DC164D;
	}
	
	#in-sourcing .service-page__lead::after{
		display: none;
	}
  #recruit--page {
    /*background-color: #000000;*/
    padding-top: 0;
  }
  .recruit-page--fv__wrapper {
    padding-top: 100px;
  }
  .recruit-page--fv__wrapper {
    background-color: #000000;
  }
  #recruit-page--fv .section--title h2 {
    color: #FFFFFF;
    padding-bottom: 50px;
  }
  #recruit-page--message {
    width: 100%;
    background-image: url("../img/recruit-page--bg.png");
    background-repeat: no-repeat;
    background-position: center; /* 中央配置 */
  }
  .recruit--message__label {
    display: inline-block;
    color: #FFFFFF;
    background-color: #000000;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .recruit-page--message__inner {
    padding: 30px 0;
  }
  .recruit--message__title h3 {
    font-size: 70px;
    font-weight: bold;
    color: #FFFFFF;
  }
  .recruit--message__title h3 span {
    display: inline-block;
    background-color: #DC164D;
    margin-bottom: 10px;
  }
  .recruit--message__sub {
    font-size: 35px;
    color: #5D3A8B;
    font-weight: bold;
    margin: 40px 0 30px;
  }
  .recruit--message__text p:last-child {
    margin-top: 50px;
  }
  .recruit--message__link {
    display: flex;
    justify-content: flex-end;
  }
  .recruit--message__link .recruit__morebtn--text span {
    color: #DC164D;
  }
  .recruit--line__bg {
    width: 100%;
  }
  .recruit--double-circle__wrapper {
    margin-top: -2px;
  }
  .recruit--double-circle__inner {
    display: flex;
  }
  .recruit--circle__title {
    font-size: 40px;
	  font-weight: 700;
  }
  .recruit--circle {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    justify-content: center;
    width: 550px;
    height: 550px;
  }
  .recruit--circle__white__wrapper .recruit--circle__title {
    color: #DC164D;
  }
  .recruit--circle__white__wrapper .recruit--circle--content {
    border: solid 5px #DC164D;
    padding: 30px;
    border-radius: 50%;
  }
  .recruit--circle__red__wrapper .recruit--circle--content {
    border: solid 5px #5D3A8B;
    padding: 30px;
    border-radius: 50%;
  }
  .recruit--circle__white__wrapper {
    padding-right: 25px;
  }
  .recruit--circle__red__wrapper {
    background-color: #DC164D;
    padding-left: 25px;
    position: relative;
    z-index: 1;
  }
  .recruit--circle__red__wrapper::after {
    content: "";
    position: absolute;
    left: 300px;
    bottom: 0; /* 下に伸ばすならここ */
    width: 100%;
    height: 550px;
    background-color: #DC164D;
    z-index: -1; /* 背景として後ろに配置 */
  }
  .recruit--circle__red__wrapper .recruit--circle__title, .recruit--circle__red__wrapper .recruit--circle__text {
    color: #FFFFFF;
  }
  .recruit--circle--content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    min-height: 500px;
  }
  #recruit--benefits {
    background-color: #5D3A8B;
  }
  .recruit--benefits__wrapper {
    padding: 80px 0;
  }
  #recruit--benefits .section--title h2 {
    color: #FFFFFF;
  }
  .recruit--benefits__contentbox--text {
    margin: 50px 0;
  }
  .recruit--benefits__contentbox--text p {
    color: #FFFFFF;
    padding-left: 30px;
    border-left: solid 15px #DC164D;
  }
  .recruit--benefits--item {
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    border-right: solid 1px #FFFFFF;
    max-width: 310px;
    min-height: 500px;
    padding-right: 30px;
    box-sizing: border-box;
  }
  .recruit--benefits--item img {
    width: 150px;
    height: 120px;
    object-fit: contain;
  }
  .recruit--benefits--item__text {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .recruit--benefits--item__lead {
    font-size: 14px;
  }
  .recruit--benefits--item__fukidashi1, .recruit--benefits--item__fukidashi2 {
    color: #5D3A8B;
  }
  .recruit--benefits--item__fukidashi1 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-right.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  .recruit--benefits--item__fukidashi2 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-left.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  /* 横スクロール */
  .recruit--benefits--slider {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth; /* なめらかスクロール（ドット移動用） */
  }
  /* 横並び */
  .recruit--benefits--slidebox {
    display: flex;
    gap: 40px;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
  }
  .recruit--benefits--slidebox .recruit--benefits--item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    box-sizing: border-box;
  }
  /* ドット */
  .recruit--benefits--dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 25px;
  }
  .recruit--benefits--dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    cursor: pointer;
  }
  .recruit--benefits--dots button.is-active {
    background: #DC164D;
    border-color: #DC164D;
  }
  #benefitsContent {
    background-color: #DC164D;
  }
  .benefitsC__inner {
    padding: 70px 0 140px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .benefitsC__inner .section--title {
    flex: 0 0 500px;
  }
  .benefitsC__inner h2 span {
    font-size: 70px;
    color: #FFFFFF;
  }
  .section--title__lead {
    margin-top: 30px;
    display: inline-block;
    color: #FFFFFF;
  }
  .benefitsC__contentbox {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
  }
  .benefitsC__item {
    background-color: #FFFFFF;
    padding: 15px 20px;
    max-width: 250px;
    border-radius: 30px
  }
  .benefitsC__item--title {
    text-align: center;
  }
  .benefitsC__item--title span {
    color: #DC164D;
    font-weight: bold;
  }
  .benefitsC__item p {
    margin-top: 10px;
    font-size: 12px;
    color: #DC164D;
  }
  #checkpoint {
    background-color: #000000;
  }
  .checkpoint__inner {
    color: #FFFFFF;
    padding: 40px 0 70px;
    display: flex;
    gap: 100px;
  }
  .checkpoint__item {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .checkpoint--title__wrap {
    font-weight: bold;
    /*flex: 0 0 430px;*/
  }
  .checkpoint--title__wrap p span {
    color: #DC164D;
    display: inline-block;
    margin-left: 10px;
  }
  .checkpoint__content--title {
    display: flex;
    flex-direction: column;
    font-size: 46px;
    border-left: solid 10px #DC164D;
    padding-left: 40px;
    margin-top: 10px;
  }
  #checkpoint .section--title.section--title--vertical {
    margin-top: 100px;
    justify-content: flex-start;
  }
  .checkpoint__item:not(:first-child) {
    margin-top: 70px;
  }
  #comfortable {
    background-color: #DC164D;
  }
  .comfortable__title--lead {
    font-size: 12px !important;
    font-weight: normal;
    color: #FFFFFF;
  }
  .comfortable__inner {
    padding: 100px 0;
  }
  .section--title--comfortable {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
    gap: 10px;
  }
  .section--title--comfortable span {
    display: inline;
    font-size: 50px !important;
    background-color: #FFFFFF;
    color: #5D3A8B;
  }
  .comfortable__text p {
    color: #FFFFFF;
  }
  .comfortable__text span {
    background-color: #5D3A8B;
    color: #FFFFFF;
  }
  .comfortable__contentbox {
    margin-top: 30px;
  }
  .comfortable__text:not(:first-child) {
    margin-top: 20px;
  }
  #guidelines {
    background-color: #000000;
  }
  #guidelines .section--title h2 {
    color: #FFFFFF;
    padding-bottom: 50px;
  }
  #recruitcontent {
    background-color: #DC164D;
  }
  .recruitcontentlink__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 30px 0;
    text-decoration: none;
    color: #000;
    z-index: 0;
    padding-left: 50px;
    justify-content: space-between;
  }
  .recruitcontentlink__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  #recruit-job {
    background-color: #DC164D;
  }
  #recruit-job .section--title h2 {
    color: #000000;
  }
  .recruit-job__wrapper {
    padding-bottom: 150px;
  }
  .recruit-job__lead {
    font-size: 28px;
    font-weight: bold;
    color: #FFFFFF;
    margin: 50px 0 30px;
  }
  .recruit-job__contentbox {
    background-color: #FFFFFF;
    padding: 50px 30px;
    border-bottom: solid 1px #000000;
  }
  .recruit-job__item--label {
    background-color: #5D3A8B;
    color: #FFFFFF;
    display: inline;
    padding: 5px;
  }
  .recruit-job__item--lead {
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0 20px;
    letter-spacing: 1.6px;
  }
  .recruit-job__item--text {
    margin: 20px 0 50px;
  }
  .recruit-job__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
    column-gap: 20px;
  }
  .recruit-job__grid--item {
    background-color: #000000;
    color: #FFFFFF;
    width: 317px;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px;
  }
  .recruit-job__grid--title {
    font-weight: bold;
    text-align: center;
  }
  .recruit-job__grid--text {
    margin-top: 15px;
    font-size: 14px;
  }
  .recruit-job__subtext {
    font-size: 20px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__project--example {
    margin: 50px 0;
  }
  .recruit-job__subtext--title {
    margin-bottom: 20px;
    font-weight: bold;
  }
  .recruit-job__subtext--item:not(:first-child) {
    margin-top: 20px;
  }
  .recruit-job__pill {
    border: solid 1px #DC164D;
    padding: 10px 15px;
    border-radius: 15px;
    display: inline-block;
    font-weight: normal;
    font-size: 16px !important;
    margin-right: 15px;
    margin-top: 15px;
  }
  /* ==============================
   雇用形態
============================== */
  .recruit-job__employment {
    display: flex;
    align-items: center;
    margin: 30px 0 40px;
    gap: 20px;
  }
  .recruit-job__employment-label {
    background-color: #000;
    color: #fff;
    padding: 8px 20px;
    font-weight: bold;
    display: inline-block;
  }
  .recruit-job__employment-text {
    font-size: 16px;
    font-weight: bold;
  }
  /* ==============================
   ポテンシャル採用
============================== */
  .recruit-job__potential {
    margin-bottom: 50px;
  }
  .recruit-job__potential-title {
    font-size: 24px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 10px;
  }
  .recruit-job__potential-text {
    font-size: 16px;
  }
  /* ==============================
   このような経験のある方は～
============================== */
  .recruit-job__experience-block {
    display: flex;
    gap: 40px;
    margin-top: 40px;
    align-items: stretch;
  }
  .recruit-job__exp-left {
    width: 25%;
  }
  .recruit-job__exp-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__exp-divider {
    width: 1px;
    background-color: #999;
  }
  .recruit-job__exp-right {
    flex: 1;
  }
  .recruit-job__exp-list {
    margin: 0;
  }
  .recruit-job__exp-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
  }
  .recruit-job__exp-label {
    background-color: #000;
    color: #fff;
    padding: 8px 10px;
    font-weight: bold;
    min-width: 64px;
    text-align: center;
    margin-right: 15px;
  }
  .recruit-job__exp-text {
    margin: 6px 0 0;
    line-height: 1.8;
  }
  .recruit-job__note {
    display: block;
    margin-top: 4px;
    font-size: 14px;
  }
  /* ==============================
   こんな方にピッタリ！
============================== */
  .recruit-job__fit-block {
    display: flex;
    gap: 40px;
    margin-top: 40px;
  }
  .recruit-job__fit-left {
    width: 25%;
  }
  .recruit-job__fit-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__fit-divider {
    width: 1px;
    background-color: #999;
  }
  .recruit-job__fit-right {
    flex: 1;
  }
  /* リストのスタイル */
  .recruit-job__fit-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__fit-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 12px;
    line-height: 1.8;
  }
  /* 「・」風の中黒 */
  .recruit-job__fit-list li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
  }
  .recruit-job__backborn {
    font-size: 16px;
    font-weight: normal;
    margin-top: 15px;
  }
  /* ==============================
   勤務地：説明テキスト
   ※中央の短い棒はafterで生成
============================== */
  .recruit-job__work-desc {
    margin-bottom: 60px;
    padding-bottom: 40px;
    position: relative;
  }
  .recruit-job__work-desc p {
    line-height: 1.9;
    margin-bottom: 8px;
  }
  .recruit-job__work-desc::after {
    content: "";
    position: absolute;
    left: 0;
    margin: 0 auto;
    bottom: 0;
    width: 80px; /* 棒の長さ */
    height: 1px; /* 棒の太さ */
    background-color: #000;
  }
  /* ==============================
   勤務地：住所ブロック
============================== */
  .recruit-job__work-address {
    line-height: 1.9;
  }
  .recruit-job__zip {
    margin-bottom: 16px;
  }
  /* ==============================
   勤務時間
============================== */
  .recruit-job__time-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
  }
  .recruit-job__time-detail {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .recruit-job__time-note p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 6px;
  }
  /* ==============================
   給与：タイトル部分
============================== */
  .recruit-job__salary-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
    line-height: 1.7;
  }
  .recruit-job__salary-note {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1.8;
  }
  .recruit-job__salary-subtitle {
    margin: 25px 0 5px;
    font-weight: bold;
    font-size: 16px;
  }
  /* ==============================
   年収例
============================== */
  .recruit-job__annual-income {
    margin: 40px 0;
  }
  .recruit-job__annual-title {
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__annual-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__annual-list li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   区切り線（after擬似要素）
============================== */
  .recruit-job__divider {
    width: 100%;
    height: 30px;
    position: relative;
    margin: 20px 0 40px;
  }
  .recruit-job__divider::after {
    content: "";
    position: absolute;
    left: 0;
    width: 80px;
    height: 1px;
    background-color: #000;
    top: 50%;
    transform: translateY(-50%);
  }
  /* ==============================
   年収アップ実績
============================== */
  .recruit-job__up-title {
    font-size: 20px;
    color: #5D3A8B;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__up-item {
    font-size: 16px;
    margin-bottom: 8px;
  }
  /* ==============================
   試用期間
============================== */
  .recruit-job__trial-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .recruit-job__trial-text {
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   休日・休暇 共通
============================== */
  .recruit-job__holiday {
    /* ここは必要なら個別調整用に */
  }
  /* 見出しラベル ＋ 白いピル2つ */
  .recruit-job__section-head {
    margin-bottom: 30px;
  }
  .recruit-job__section-label {
    display: inline-block;
    padding: 8px 20px;
    background-color: #5D3A8B; /* 紫 */
    color: #fff;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .recruit-job__chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
  }
  .recruit-job__chip {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    border: 2px solid #DC164D; /* 赤枠 */
    font-size: 16px;
    font-weight: bold;
    background-color: #fff;
  }
  /* 本文エリア */
  .recruit-job__holiday-body {
    margin-top: 10px;
  }
  .recruit-job__holiday-lead {
    font-size: 18px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__holiday-list {
    list-style: disc;
    margin: 0;
    padding-left: 1.4em;
    line-height: 1.9;
  }
  .recruit-job__holiday-list li + li {
    margin-top: 4px;
  }
  /* 「今後 週休3日制〜」 */
  .recruit-job__holiday-future {
    margin-top: 30px;
    font-size: 18px;
    font-weight: bold;
    color: #DC164D;
  }
  /* ==============================
   福利厚生：テキストブロック
============================== */
  .recruit-job__welfare-main {
    margin-top: 40px;
  }
  .recruit-job__welfare-lead {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .recruit-job__welfare-sublead {
    margin-top: 40px;
    line-height: 1.8;
  }
  /* 今年度導入の例／昨年の例 行 */
  .recruit-job__welfare-row {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-top: 30px;
  }
  .recruit-job__welfare-label {
    position: relative;
    font-weight: bold;
    min-width: 190px;
    padding-right: 40px;
  }
  /* 左テキストと右テキストの間の縦線（短い棒） */
  .recruit-job__welfare-label::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background-color: #999999;
  }
  .recruit-job__welfare-text {
    flex: 1;
    line-height: 1.8;
  }
  /* ==============================
   事業内容
============================== */
  .recruit-job__business {
    margin-top: 30px;
  }
  .recruit-job__business-lead {
    font-size: 22px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__business-list {
    list-style: disc;
    padding-left: 1.5em;
    margin: 0 0 20px;
    line-height: 2;
  }
  .recruit-job__business-list li {
    margin-bottom: 4px;
  }
  .recruit-job__business-note {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 10px;
  }
  /* ==============================
   自社ゲーム紹介スライダー
============================== */
  .game-slider {
    margin: 40px auto 0;
    width: 580px;
    max-width: 100%;
  }
  .game-slider__inner {
    position: relative;
  }
  .game-slider__viewport {
    overflow: hidden;
  }
  .game-slider__track {
    display: flex;
    transition: transform 0.4s ease;
  }
  .game-slider__slide {
    flex: 0 0 100%;
    text-align: center;
  }
  .game-slider__slide img {
    width: 100%;
    height: auto;
    display: block;
  }
  .game-slider__caption {
    margin-top: 10px;
    font-size: 14px;
    text-align: left;
  }
  /* 矢印ボタン */
  .game-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 2;
  }
  .game-slider__arrow img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* 左矢印は画像を反転させて使用 */
  .game-slider__arrow--prev {
    left: -50px;
  }
  .game-slider__arrow--prev img {
    transform: scaleX(-1);
  }
  /* 右矢印（画像そのまま） */
  .game-slider__arrow--next {
    right: -50px;
  }
  /* ドットナビ */
  .game-slider__dots {
    margin-top: 15px;
    text-align: center;
  }
  .game-slider__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background-color: #ccc;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
  }
  .game-slider__dot.is-active {
    background-color: #DC164D; /* メインカラーに合わせて変更OK */
  }
  /* ==============================
   APPLY FOR リンク
============================== */
  .apply-link {
    width: 100%;
  }
  .apply-link a {
    display: block;
    width: 100%;
    background-color: #5D3A8B;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    position: relative;
  }
  /* 横並びレイアウト */
  .apply-link__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 80px;
    position: relative;
  }
  /* 英語 / 日本語 */
  .apply-link__text {
    display: flex;
    flex-direction: column;
    /*gap: 20px;*/
  }
  .apply-link__en {
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .apply-link__jp {
    font-size: 20px;
    font-weight: bold;
	  margin-top: -10px;
  }
  /* 矢印 */
  .apply-link__arrow img {
    width: 50px;
    height: auto;
    display: block;
    transition: transform 0.25s ease; /* ★ アニメーション */
  }
  /* hover 時に矢印のみ右へ動く */
  .apply-link a:hover .apply-link__arrow img {
    transform: translateX(5px); /* ★ 右に 5px */
  }
  #apply {
    background-color: #DC164D;
  }
  #apply .section--title h2 {
    color: #000000;
  }
  .apply__wrapper {
    padding-bottom: 150px;
  }
  .apply--lead {
    color: #000000;
    margin-top: 50px;
  }
  .apply--lead p:not(:first-child) {
    margin-top: 20px;
  }
  #company--info {
    background-color: #DC164D;
  }
  #company--info .section--title h2 {
    color: #000000;
  }
  .company--info__contentbox {
    background-color: #FFFFFF;
    margin-top: 60px;
  }
  .company--info__inner {
    padding-bottom: 150px;
  }
  .company--info__padding {
    padding: 50px;
  }
  .security--text2 {
    margin: 30px 0;
  }
  .security--textlist {
    margin-top: 20px;
  }
  .security-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.2em;
  }
  .security-num {
    width: 2em; /* ← 番号の幅を固定して縦を完全に揃える */
    flex-shrink: 0;
  }
  .security-text {
    line-height: 1.8;
  }
  .security--name {
    margin-top: 50px;
    text-align: right;
  }
  .policy--list {
    margin-top: 10px;
  }
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.8em;
  }
  .policy-num {
    width: 2em; /* ← 番号の位置を固定して縦をそろえる */
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  .policy--list--head {
    font-size: 20px;
    font-weight: bold;
    margin-top: 50px;
  }
  .policy--list--head p {
    font-size: 16px !important;
    font-weight: normal !important;
    margin-bottom: 30px;
    margin-top: 30px;
  }
  /* 大項目 */
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
  }
  .policy-num {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  /* 小項目（入れ子） */
  .policy-sublist {
    margin-top: 0.6em;
    margin-left: 2em;
  }
  .policy-subitem {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.4em;
  }
  .policy-subnum {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-subtext {
    line-height: 1.8;
  }
}
/*=================================
PC設定
==================================*/
@media screen and (min-width:1025px) {
  .max-width {
    max-width: 1050px;
    margin: 0 auto;
  }
  .section--title h2 {
    font-size: 70px;
    display: flex;
    flex-direction: column;
    font-weight: bold;
    letter-spacing: 5px;
  }
  .section--title h2 span {
    font-size: 18px;
    letter-spacing: 0;
  }
  article {
    padding-top: 100px;
  }
  article .section--title h2 {
    color: #DC164D;
  }
  #fv {
    /*height: 100vh;*/
    position: relative;
  }
  .fv__top, .fv__bottom {
    background-color: #DC164D;
  }
  .fv__logo {
    background-color: #000000;
  }
  .fv__top--text h2 {
    display: inline-flex;
    flex-direction: column;
    font-size: 50px;
    margin: 100px 0 20px;
	  font-weight: 700;
	  color: #FFFFFF;
  }
  .fv__top--text h2 span {
    background-color: #FFFFFF;
    color: #DC164D;
    padding: 5px;
  }
  .fv__logo--inner h1 {
    padding: 37px 0 27px;
  }
  .fv__logo--inner img {
    width: 870px;
    height: 253px;
    object-fit: cover;
  }
  .fv__bottom--text h3 {
    font-size: 34px;
    padding: 40px 0 20px;
    font-family: Arial, Helvetica, "sans-serif";
  }
  .fv__bottom--text p {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .fv__bottom--SNS {
    display: flex;
    padding-bottom: 53px;
  }
  .fv__bottom--circle {
    background-color: #FFFFFF;
    font-size: 18px;
    padding: 30px;
    width: 120px;
    height: 120px;
    border: solid 1px #000000;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
  }
  .fv__bottom--card {
    display: inline-flex;
    gap: 80px;
    align-items: center;
    background-color: #000000;
    padding: 13px 50px 13px 80px;
    height: 120px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    transform: translateX(-60px);
  }
  .fv__bottom--card span {
    background-color: #FFFFFF;
    padding: 2px 8px;
    font-size: 12px;
  }
  .fv__bottom--link {
    display: flex;
    margin-top: 15px;
    gap: 15px;
  }
  .text-animation__wrap {
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transform: translateX(400px);
  }
  .rotating-text {
    width: 868px;
    height: 868px;
    display: block;
  }
  .spin {
    transform-origin: 434px 434px;
    animation: rotateCircle 35s linear infinite;
  }
  @keyframes rotateCircle {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .company-top__wrapper {
    padding: 110px 0 100px;
    color: #FFFFFF;
    background-color: #000000;
  }
  .company-top__title {
    display: flex;
    align-items: center;
    gap: 147px;
  }
  .company-top__title h2 {
    font-size: 46px;
    flex-shrink: 0;
  }
  .company-top__title h2 span {
    font-size: 72px;
    line-height: 1.5;
	  font-weight: 700;
  }
  .company-span--red {
    background-color: #DC164D;
    color: #000000;
    height: 105px;
    display: inline-block;
  }
  .company-span--white {
    color: #DC164D;
    background-color: #FFFFFF;
    height: 105px;
    display: inline-block;
    margin-top: 15px;
  }
  .company-top__title--en {
    font-size: 10px;
    color: #DC164D;
  }
  .company-top-p--large {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .company-top__lead {
    margin-top: 62px;
    font-weight: 600;
    line-height: 3;
  }
  .company-top__lead span {
    color: #000000;
    line-height: 1.5;
    background-color: transparent;
    /*background-color: #FFFFFF;*/
  }
  .company-top__link {
    margin-top: 30px;
    text-align: right;
  }
  .company-top__link a {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: #DC164D;
  }
  .company-top__link img {
    width: 28px;
    height: 28px;
    background-color: #5D3A8B;
    padding: 5px;
  }
  .section-bg__horizon {
    width: 100%;
    height: 300px;
    background-image: url('../img/section-bg__horizon.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #ourservice {
    background-color: #DC164D;
    color: #000;
    overflow-x: hidden;
    overflow-y: visible;
  }
  .section--title.section--title--vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    padding: 80px 24px 40px;
    width: 50px;
    gap: 140px;
    margin-top: 140px;
  }
  .section--title--vertical .vertical-alphabet {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: center;
    white-space: nowrap;
    color: #fff;
    font-weight: 800;
    font-size: 48px;
    letter-spacing: 0.2em;
  }
  .section--title--vertical .vertical-japanese {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 14px;
    letter-spacing: 0.2em;
    color: #000;
  }
  .ourservice__inner {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: stretch;
  }
  .ourservice__contentbox {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    border-left: solid 1px #000000;
  }
  .ourservice__lead {
    font-size: 16px;
    line-height: 1.8;
    padding: 50px;
  }
  .ourservice__list {
    position: relative;
  }
  .ourservice__list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc((100vw + 100%) / 2);
    border-top: 2px solid #000;
  }
  .ourservice__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 30px 0;
    text-decoration: none;
    color: #000;
    z-index: 0;
    padding-left: 50px;
  }
  .ourservice__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc((100vw + 100%) / 2);
    border-bottom: 2px solid #000;
  }
  .ourservice__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #fff;
    transition: width 0.35s ease;
    z-index: -1;
  }
  .ourservice__item:hover::before {
    width: calc((100vw + 100%) / 2);
  }
  .ourservice__arrow {
    display: inline-flex;
    margin-right: 25px;
  }
  .ourservice__arrow img {
    display: block;
    width: 32px;
    height: auto;
    transition: transform 0.25s ease;
  }
  .ourservice__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  .ourservice__item-text {
    display: flex;
    flex-direction: column;
  }
  .ourservice__item-ja {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 4px;
  }
  .ourservice__item-en {
    font-size: 12px;
    letter-spacing: 1px;
  }
  .news__wrapper .section--title h2 {
    color: #DC164D;
    margin-bottom: 30px;
  }
  .news__wrapper .section--title span {
    color: #000000;
  }
  .news__inner {
    margin: 100px 0;
  }
  .news__content--item {
    border-bottom: solid 1px #DC164D;
  }
  .news__content--item a {
    display: flex;
    gap: 90px;
    padding: 30px 0;
    justify-content: flex-start;
    text-decoration: none;
    cursor: pointer;
  }
  .news__title-text {
    width: 560px;
  }
  .news__title {
    font-weight: bold;
  }
  .news__text {
    /* 元の margin-top: 38px; は一旦リセット */
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
      max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
  }
  .news__content--item.is-open .news__text {
    margin-top: 38px;
    max-height: 500px;
    opacity: 1;
    line-height: 1.8;
  }
  .news__arrow img {
    display: block;
    transition: transform 0.3s ease;
  }
  .news__content--item.is-open .news__arrow img {
    transform: rotate(180deg);
  }
  #recruit {
    background-color: #DC164D;
  }
  .recruit__wrapper {
    position: relative;
    padding: 70px 80px;
  }
  .recruit__border {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    pointer-events: none;
    z-index: 0;
  }
  .recruit__border-line {
    position: absolute;
    width: 100%;
    height: 40px;
  }
  .recruit__border-line--top {
    top: -15px;
    left: 40px;
    width: calc(100% - 80px);
    height: 80px;
  }
  .recruit__border-line--bottom {
    bottom: -15px;
    left: 40px;
    width: calc(100% - 80px);
    height: 80px;
  }
  .recruit__border-line--left {
    left: -5px;
    top: 40px;
    height: calc(100% - 80px);
    width: 80px;
  }
  .recruit__border-line--right {
    right: -5px;
    top: 40px;
    height: calc(100% - 80px);
    width: 80px;
  }
  .recruit__border-text {
    fill: #000;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateX(0);
    animation: recruit-marquee 20s linear infinite;
  }
  .recruit__border-text--reverse {
    animation-direction: reverse;
  }
  .recruit__border-text-vertical {
    fill: #000;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: translateY(0);
    animation: recruit-vertical 20s linear infinite;
  }
  .recruit__border-text-vertical--reverse {
    animation-direction: reverse;
  }
  @keyframes recruit-marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  @keyframes recruit-vertical {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(-50%);
    }
  }
  .recruit__inner {
    position: relative;
    z-index: 1; /* 枠より上に表示 */
    background-image: url("../img/recruit--bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 40px;
  }
  .recruit__inner .section--title h2 span {
    color: #DC164D;
  }
  .recruit__title {
    margin: 50px 0;
  }
  .recruit__title h3 span {
    display: block;
    color: #DC164D;
    font-size: 50px;
    font-weight: bold;
  }
  .recruit__subtext p {
    line-height: 3;
  }
  .recruit__morebtn img {
    width: 30px;
    height: 30px;
    padding: 8px;
    background-color: #5D3A8B;
  }
  .recruit__morebtn a {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 48px;
  }
  .recruit__morebtn--text {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: bold
  }
  .recruit__morebtn--text span {
    font-size: 12px;
    font-weight: bold;
  }
  .recruit-viewmore-text--jp {
    font-weight: normal !important;
  }
  .contact__wrapper {
    position: relative;
    overflow: hidden;
    background-color: #000000;
  }
  .contact__wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.6s ease;
    transform: translateX(0);
    z-index: 0;
  }
  .contact__wrapper:hover::before {
    transform: translateX(100%);
  }
  .contact__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 40px 0;
  }
  .contact__inner a {
    color: #ffffff;
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 4px;
    transition: color 0.6s ease;
  }
  .contact__wrapper:hover .contact__inner a {
    color: #000000;
  }
  .footer__inner {
    margin: 30px 0;
  }
  .footer__logo img {
    width: 303px;
    height: 88px;
    object-fit: cover;
  }
  .footer__link a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .footer__link a img {
    width: 23px;
    height: 23px;
    object-fit: cover;
  }
  .footer__link ul {
    display: flex;
    column-gap: 50px;
    row-gap: 20px;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  .footer__sns {
    display: flex;
    gap: 15px;
    max-width: 700px;
    justify-content: flex-end;
    margin: 0 auto;
  }
  .footer__sns img {
    width: 30px;
    height: 30px;
    object-fit: cover;
  }
  .footer__copy-sns {
    text-align: center;
  }
  .company-page--fv--title h3 {
    display: flex;
    flex-direction: column;
    font-size: 80px;
    font-weight: bold;
    align-items: flex-start;
    color: #5D3A8B;
  }
  .company-page--fv--title {
    height: 305px;
    background-image: url("../img/company--bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
  }
  .company-page--fv__text {
    margin-top: 50px;
    margin-bottom: 74px;
    line-height: 2;
  }
  .profile__wrapper {
    background-color: #5D3A8B;
    padding: 80px 0 100px;
  }
  .profile__inner {
    color: #FFFFFF;
  }
  .profile__inner .section--title h2 {
    color: #FFFFFF;
  }
  /* ========== 上段：会社情報テーブル ========== */
  .profilebox {
    margin-top: -120px;
    display: flex;
    justify-content: flex-end;
    max-width: 960px;
  }
  .profilebox__table {
    width: 100%;
    max-width: 520px;
    border-collapse: collapse;
    line-height: 1.6;
  }
  .profilebox__table th, .profilebox__table td {
    padding: 30px 0 6px;
    vertical-align: top;
  }
  .profilebox__table th {
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    padding-right: 80px;
  }
  .profilebox__label, .profilebox__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    border-bottom: solid 1px #FFFFFF;
  }
  .profilebox__sns-link {
    display: inline-flex;
    align-items: center;
    gap: 30px;
    color: #FFFFFF;
    text-decoration: none;
    border-bottom: solid 1px #FFFFFF;
    padding-bottom: 4px;
  }
  .profilebox__sns-link img {
    width: 30px;
    height: 30px;
    display: block;
  }
  /* ========== 下段：主要取引先 ========== */
  .profile--main {
    margin-top: 80px;
    max-width: 960px;
    display: flex;
    gap: 60px;
  }
  .profile-main__caption {
    margin-bottom: 24px;
    flex: 0 0 183px;
  }
  .profile-main__title {
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: right;
  }
  .profile-main__note {
    margin-top: 4px;
    font-size: 12px;
    text-align: right;
  }
  .profile-main__clients {
    display: flex;
    gap: 40px;
  }
	
	.many{
		max-width: 565px;
		margin: 10px auto 0;
		font-size: 12px;
	}
  .profile-main__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 325px;
  }
  .profile-main__list li {
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    margin-top: 12px;
  }
  #groupcompany .section--title h2 {
    color: #FFFFFF;
  }
  .groupcompany__wrapper {
    background-color: #DC164D;
    padding: 80px 0 150px;
  }
  .groupcompany__inner {
    color: #FFFFFF;
  }
  .groupcompany__contentbox {
    margin-top: 40px;
  }
  /* ========== ホールディングカンパニー：画像部分 ========== */
  .groupcomapny__holdings--image {
    margin-top: 40px;
    text-align: center;
    display: flex;
    max-width: 725px;
    gap: 35px;
  }
  .holdings-image__label {
    display: inline-block;
    margin-bottom: 24px;
    flex: 0 0 240px;
  }
  .holdings-image__label span {
    display: inline-block;
    padding: 6px 20px;
    font-size: 14px;
    letter-spacing: 0.15em;
    background-color: #192B3D;
    color: #FFFFFF;
    font-weight: bold;
  }
  .holdings-image__logo {
    margin: 0 auto;
    max-width: 520px;
    padding: 80px 40px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .holdings-image__logo img {
    width: 70%;
    height: auto;
    display: block;
  }
  /* ========== ホールディングカンパニー：情報テーブル ========== */
  .groupcompany__holdings--info {
    margin-top: 60px;
    max-width: 810px;
  }
  .holdings-info__table {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    border-collapse: collapse;
    line-height: 1.7;
  }
  .holdings-info__table th, .holdings-info__table td {
    vertical-align: top;
    padding: 30px 0 6px;
  }
  .holdings-info__table th {
    width: 120px;
    padding-right: 65px;
    font-weight: 700;
    white-space: nowrap;
    text-align: right;
  }
  .holdings-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    letter-spacing: 0.12em;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-info__table td {
    min-width: 500px;
  }
  .holdings-info__cols {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .holdings-info__col {
    min-width: 200px;
  }
  .holdings-info__col-title {
    font-weight: 700;
    margin-bottom: 4px;
  }
  .holdings-info__col-text {
    line-height: 1.7;
  }
  .holdings-info__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .holdings-info__link img {
    width: 10px;
    height: 10px;
    display: block;
  }
  .holdings-info__badge {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #FFFFFF;
    margin-bottom: 8px;
    background-color: #FFFFFF;
    color: #DC164D;
  }
  .holdings-info__text {
    line-height: 1.7;
    margin-bottom: 6px;
  }
  .holdings-info__text--last {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
  }
  .holdings-info__text--last img {
    width: 10px;
    height: 10px;
  }
  .groupcompany__holdings--partner {
    padding-top: 60px;
    max-width: 860px;
    transform: translateX(123px);
  }
  .holdings-partner {
    display: flex;
    padding-bottom: 24px;
    gap: 80px;
  }
  .holdings-partner__head {
    flex-shrink: 0;
  }
  .holdings-partner__head-label {
    display: inline-block;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    padding-bottom: 6px;
    border-bottom: 2px solid #fff;
  }
  .holdings-partner__lists {
    flex: 1;
    display: flex;
    gap: 50px;
    padding-bottom: 30px;
    border-bottom: solid 1px #FFFFFF;
  }
  .holdings-partner__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 332px;
  }
  .holdings-partner__list li {
    padding: 2px 0;
  }
  .groupcompany__others--item {
    display: flex;
    align-items: flex-start;
    gap: 210px;
    margin-top: 80px;
    justify-content: flex-end;
  }
  .groupcompany__others--item > img {
    display: block;
    width: 320px;
    height: auto;
    background-color: #FFFFFF;
  }
  .groupcompany__others--table {
    flex: 0 0 445px;
  }
  .others-info__table {
    width: 100%;
    border-collapse: collapse;
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.8;
  }
  .others-info__table th, .others-info__table td {
    padding: 6px 0;
    vertical-align: top;
  }
  .others-info__table th {
    width: 90px;
    text-align: left;
    white-space: nowrap;
    padding-right: 80px;
  }
  .others-info__label {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-weight: 700;
  }
  .others-info__label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__value {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
  }
  .others-info__value::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
  }
  .others-info__address, .others-info__business {
    margin: 0;
  }
  .others-info__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    text-decoration: none;
  }
  .others-info__link img {
    width: 14px;
    height: auto;
  }
  .others-info__row--address td, .others-info__row--business td {
    padding-top: 14px;
  }
  .others-info__row--web td {
    padding-top: 10px;
  }
  .groupcompany__others {
    display: flex;
    flex-direction: column;
    gap: 200px;
  }
  .groupcompany__others--item {
    position: relative;
  }
  .groupcompany__others--item::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -100px;
    width: 50px;
    height: 4px;
    background-color: #FFFFFF;
  }
  .groupcompany__others .groupcompany__others--item:last-child::after {
    content: none !important;
  }
  .company-map__content iframe {
    width: 100%;
    height: 350px;
  }
  /* article 全体 */
  .service-page {
    background-color: #000;
    color: #fff;
    padding-top: 0;
  }
  /* 左右 2 カラムのラッパー（＝#wrapper 相当） */
  .service-page__split {
    position: relative; /* sticky の基準 */
    display: flex; /* 左右並び */
    flex-wrap: wrap;
  }
  /* 左側：固定エリア（＝#fixed-area 相当） */
  .service-page__media {
    position: -webkit-sticky; /* Safari 用 */
    position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;
    overflow: hidden;
    background-color: #000000;
  }
  /* 画像／動画を全面に敷く */
  .service-page__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 250px;
    box-sizing: border-box;
  }
  .service-page__media-inner img, .service-page__media-inner video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
	  /*object-position: center bottom;*/
	  
  }
	
	#out-sourcing .service-page__media-inner video{
		background-color: #DC164D;
	}
	
	#engineering .service-page__media-inner video{
		background-color: #FFFFFF;
	}
	
	#dx-support .service-page__media-inner video{
		background-color: #000000;
	}
	
	#game-dev .service-page__media-inner video{
		background-color: #5D3A8B;
	}
	
  /* 左上のタイトルを画像の上に乗せる */
  .service-page__media--title {
    position: absolute;
    z-index: 2;
    right: 20px;
    top: 120px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .service-page__title {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 16px;
    background-color: #5D3A8B;
    padding: 5px;
    display: inline-block;
  }
  .service-page__subheading {
    font-size: 12px;
    letter-spacing: 0.15em;
    margin-bottom: 16px;
    text-transform: uppercase;
    color: #DC164D;
    font-weight: bold;
  }
  /* 右側：流れていくコンテンツ（＝#container 相当） */
  .service-page__content {
    width: 50%;
    background-color: #DC164D; /* ピンクエリアはお好みで */
  }
  /* 中身。もう max-height / overflow は付けない！ */
  .service-page__content-inner {
    padding: 130px 80px 80px 40px;
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 auto;
	  margin-left: 0;
  }
  /* リード文 */
  .service-page__lead {
    margin-bottom: 160px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
  }
  .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #000000;
    border-radius: 0;
  }
  .service-page__lead p {
    font-size: 20px;
    font-weight: bold;
  }
  .service-page__lead--en {
    font-size: 12px !important;
    color: #5D3A8B;
    font-weight: normal !important;
  }
  /* セクション */
  .service-page__section {
    padding: 20px 24px 50px;
    border-bottom: solid 1px #FFFFFF;
  }
  .service-page__section:not(:first-child) {
    margin-top: 100px;
  }
  .service-page__section-title {
    position: relative;
    color: #ffffff;
    margin: 0;
    padding: 24px 0 30px;
    font-weight: 700;
  }
  .service-page__section-title-num {
    position: absolute;
    left: 0;
    top: 33%;
    transform: translate(-50%, -50%);
    font-size: 80px;
    opacity: 0.2;
    pointer-events: none;
  }
  .service-page__section-title-text {
    position: relative;
    font-size: 24px;
    z-index: 1;
  }
  .service-page__list {
    list-style: disc;
    padding-left: 1.4em;
    line-height: 1.8;
  }
  .service-page__list--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  /* ⑥ フッターの裏に隠れていく動き
   → article が画面外にスクロールアウトするときに
      sticky な左カラムごと上に持ち上がるので、
      背景がフッターの後ろに隠れていくように見える */
  #game-dev .service-page__title {
    color: #5D3A8B;
    background-color: #FFFFFF;
  }
  #game-dev .service-page__content {
    background-color: #5D3A8B;
  }
  #game-dev .service-page__subheading, #game-dev .service-page__lead--en {
    color: #FFFFFF;
  }
  #game-dev .service-page__lead::after {
    background-color: #FFFFFF;
  }
  #game-dev .service-page__section {
    border-bottom: none;
  }
  .game-list__item .game-card:not(:first-child) {
    margin-top: 45px;
  }
  /* ① 全体カード */
  /* カード全体を相対配置にする（重要） */
  .game-list__item .game-card {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
    border: 2px solid #ffffff;
    background-color: #7a3ca5;
  }
  /* 右上に固定するサムネイル */
  .game-list__item .game-card__thumb-fixed {
    position: absolute;
    top: -20px; /* 位置は好みに合わせて調整 */
    right: -20px; /* 位置は好みに合わせて調整 */
    width: 120px; /* キレイに見えるサイズに調整 */
    background-color: #ffffff;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 10;
  }
  .game-list__item .game-card__thumb-fixed img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* ② 上部のピンク帯タイトル */
  .game-list__item .game-card__header {
    background-color: #e51e6b; /* ピンク帯の色 */
    padding: 16px 32px;
    height: 90px;
	  display: flex;
	  align-items: center;
  }
  .game-list__item .game-card__title {
    margin: 0;
    color: #ffffff;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.08em;
    /*display: flex;
  align-items: baseline;
  gap: 8px;*/
    max-width: 250px;
  }
  .game-list__item .game-card__title-main {
    font-size: 24px;
  }
  .game-list__item .game-card__title-sub {
    font-size: 16px;
  }
  /* ③ 本文エリア（左テキスト＋右画像） */
  .game-list__item .game-card__body {
    display: flex;
    gap: 40px;
    padding: 32px;
    box-sizing: border-box;
	  padding-top: 16px;
  }
  /* 左コンテンツ */
  .game-list__item .game-card__content {
    flex: 1;
    color: #ffffff;
  }
  .game-card__genre-badges {
    display: flex;
    gap: 15px; /* ←バッジの間隔 */
    margin-bottom: 16px;
  }
  /* ジャンルバッジ */
  .game-list__item .game-card__genre-badge {
    display: inline-block;
    padding: 6px 24px;
    border-radius: 999px;
    background-color: #000000;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    /*margin-bottom: 16px;*/
  }
  /* 説明文 */
  .game-list__item .game-card__description {
    margin: 0 0 28px;
    line-height: 1.8;
    font-size: 14px;
  }
  /* ストアボタン */
  .game-list__item .game-card__stores {
    display: flex;
    gap: 24px;
  }
  .game-list__item .game-card__store img {
    display: block;
    height: 52px; /* バッジ画像の高さはお好みで */
    width: auto;
  }
  /* 右側サムネイル */
  .game-list__item .game-card__thumb {
    width: 170px; /* 画像サイズに合わせて調整 */
    flex-shrink: 0;
    background-color: #ffffff;
    padding: 8px;
    box-sizing: border-box;
  }
  .game-list__item .game-card__thumb img {
    display: block;
    width: 100%;
    height: auto;
  }
  /* NEWバッジの見た目 */
  .game-card__new-badge {
    position: absolute;
    top: -15px;
    left: 0;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 4px 8px;
    z-index: 20;
    border-bottom-right-radius: 4px;
  }
  /* NEWを付けたカード限定の調整（念のため） */
  .game-card.is-new {
    position: relative;
  }
  #engineering .service-page__title {
    background-color: #DC164D;
    color: #FFFFFF;
  }
  #engineering .service-page__subheading {
    color: #FFFFFF;
  }
  #engineering .service-page__content {
    background-color: #FFFFFF;
    color: #000000;
  }
  #engineering .service-page__lead--en {
    color: #DC164D;
  }
  #engineering .service-page__section-title-num {
    color: #DC164D;
  }
  #engineering .service-page__section-title-text {
    color: #000000;
  }
  #engineering .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #5D3A8B;
    border-radius: 0;
  }
  #engineering .service-page__section {
    border-bottom: solid 1px #5D3A8B;
  }
  #dx-support .service-page__title {
    background-color: #DC164D;
    color: #000000;
  }
  #dx-support .service-page__subheading {
    color: #FFFFFF;
  }
  #dx-support .service-page__content {
    background-color: #000000;
  }
  #dx-support .service-page__lead--en {
    color: #DC164D;
  }
  #dx-support .service-page__lead::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 80px;
    height: 10px;
    background-color: #FFFFFF;
    border-radius: 0;
  }
  #dx-support .service-page__section {
    border-bottom: none;
  }
	
	#in-sourcing .service-page__title{
		background-color: #727171;
	}
	
	#in-sourcing .service-page__content{
		background-color: #727171;
	}
	
	#in-sourcing .service-page__lead--en{
		color: #DC164D;
	}
	
	#in-sourcing .service-page__lead::after{
		display: none;
	}
	
  #recruit--page {
    /*background-color: #000000;*/
    padding-top: 0;
  }
  .recruit-page--fv__wrapper {
    padding-top: 100px;
  }
  .recruit-page--fv__wrapper {
    background-color: #000000;
  }
  #recruit-page--fv .section--title h2 {
    color: #FFFFFF;
    padding-bottom: 50px;
  }
  #recruit-page--message {
    width: 100%;
    background-image: url("../img/recruit-page--bg.png");
    background-repeat: no-repeat;
    background-position: center; /* 中央配置 */
  }
  .recruit--message__label {
    display: inline-block;
    color: #FFFFFF;
    background-color: #000000;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .recruit-page--message__inner {
    padding: 30px 0;
  }
  .recruit--message__title h3 {
    font-size: 70px;
    font-weight: bold;
    color: #FFFFFF;
  }
  .recruit--message__title h3 span {
    display: inline-block;
    background-color: #DC164D;
    margin-bottom: 10px;
  }
  .recruit--message__sub {
    font-size: 35px;
    color: #5D3A8B;
    font-weight: bold;
    margin: 40px 0 30px;
  }
	
	.recruit--message__text{
		letter-spacing: 0.15rem;
		line-height: 1.8;
	}
  .recruit--message__text p:last-child {
    margin-top: 50px;
  }
  .recruit--message__link {
    display: flex;
    justify-content: flex-end;
  }
  .recruit--message__link .recruit__morebtn--text span {
    color: #DC164D;
  }
  .recruit--line__bg {
    width: 100%;
  }
  .recruit--double-circle__wrapper {
    margin-top: -2px;
  }
  .recruit--double-circle__inner {
    display: flex;
  }
  .recruit--circle__title {
    font-size: 40px;
	  font-weight: 700;
  }
  .recruit--circle {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    justify-content: center;
    width: 550px;
    height: 550px;
  }
	
	.recruit--circle__text{
		letter-spacing: 0.15rem;
		line-height: 1.8;
	}
  .recruit--circle__white__wrapper .recruit--circle__title {
    color: #DC164D;
  }
  .recruit--circle__white__wrapper .recruit--circle--content {
    border: solid 5px #DC164D;
    padding: 60px;
    border-radius: 50%;
  }
  .recruit--circle__red__wrapper .recruit--circle--content {
    border: solid 5px #5D3A8B;
    padding: 60px;
    border-radius: 50%;
  }
  .recruit--circle__white__wrapper {
    padding-right: 25px;
  }
  .recruit--circle__red__wrapper {
    background-color: #DC164D;
    padding-left: 25px;
    position: relative;
    z-index: 1;
  }
  .recruit--circle__red__wrapper::after {
    content: "";
    position: absolute;
    left: 300px;
    bottom: 0; /* 下に伸ばすならここ */
    width: 100%;
    height: 550px;
    background-color: #DC164D;
    z-index: -1; /* 背景として後ろに配置 */
  }
  .recruit--circle__red__wrapper .recruit--circle__title, .recruit--circle__red__wrapper .recruit--circle__text {
    color: #FFFFFF;
  }
  .recruit--circle--content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 45px;
    min-height: 500px;
  }
  #recruit--benefits {
    background-color: #5D3A8B;
  }
  .recruit--benefits__wrapper {
    padding: 80px 0;
  }
  #recruit--benefits .section--title h2 {
    color: #FFFFFF;
  }
  .recruit--benefits__contentbox--text {
    margin: 50px 0;
  }
  .recruit--benefits__contentbox--text p {
    color: #FFFFFF;
    padding-left: 30px;
    border-left: solid 15px #DC164D;
	  letter-spacing: 0.15rem;
	  line-height: 1.8;
  }
  .recruit--benefits--item {
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    border-right: solid 1px #FFFFFF;
    max-width: 310px;
    min-height: 500px;
    padding-right: 30px;
    box-sizing: border-box;
  }
  .recruit--benefits--item img {
    width: 150px;
    height: 120px;
    object-fit: contain;
  }
  .recruit--benefits--item__text {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .recruit--benefits--item__lead {
    font-size: 14px;
  }
  .recruit--benefits--item__fukidashi1, .recruit--benefits--item__fukidashi2 {
    color: #5D3A8B;
  }
  .recruit--benefits--item__fukidashi1 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-right.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  .recruit--benefits--item__fukidashi2 {
    width: 277px;
    height: 90px;
    background-image: url("../img/fukidashi-left.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%; /* or contain; お好みで */
    display: inline-block; /* 幅・高さを効かせるため */
    line-height: 1.4; /* お好みで調整 */
    padding: 33px 16px 10px; /* 文字がフチにくっつかないように */
  }
  /* 横スクロール */
  .recruit--benefits--slider {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth; /* なめらかスクロール（ドット移動用） */
  }
  /* 横並び */
  .recruit--benefits--slidebox {
    display: flex;
    gap: 40px;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
  }
  .recruit--benefits--slidebox .recruit--benefits--item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    box-sizing: border-box;
  }
  /* ドット */
  .recruit--benefits--dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 25px;
  }
  .recruit--benefits--dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    cursor: pointer;
  }
  .recruit--benefits--dots button.is-active {
    background: #DC164D;
    border-color: #DC164D;
  }
  #benefitsContent {
    background-color: #DC164D;
  }
  .benefitsC__inner {
    padding: 70px 0 140px;
    display: flex;
    gap: 30px;
  }
  .benefitsC__inner .section--title {
    flex: 0 0 500px;
  }
  .benefitsC__inner h2 span {
    font-size: 70px;
    color: #FFFFFF;
  }
  .section--title__lead {
    margin-top: 30px;
    display: inline-block;
    color: #FFFFFF;
	  letter-spacing: 0.15rem;
	  line-height: 1.8;
  }
  .benefitsC__contentbox {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
  }
  .benefitsC__item {
    background-color: #FFFFFF;
    padding: 15px 20px;
    max-width: 250px;
    border-radius: 30px
  }
  .benefitsC__item--title {
    text-align: center;
  }
  .benefitsC__item--title span {
    color: #DC164D;
    font-weight: bold;
  }
  .benefitsC__item p {
    margin-top: 10px;
    font-size: 12px;
    color: #DC164D;
  }
  #checkpoint {
    background-color: #000000;
  }
  .checkpoint__inner {
    color: #FFFFFF;
    padding: 40px 0 70px;
    display: flex;
    gap: 100px;
  }
  .checkpoint__item {
    display: flex;
    align-items: center;
    gap: 170px;
  }
	.checkpoint__item p{
		letter-spacing: 0.15rem;
	  line-height: 1.8;
	}
	
  .checkpoint--title__wrap {
    font-weight: bold;
    flex: 0 0 430px;
  }
  .checkpoint--title__wrap p span {
    color: #DC164D;
    display: inline-block;
    margin-left: 10px;
  }
  .checkpoint__content--title {
    display: flex;
    flex-direction: column;
    font-size: 46px;
    border-left: solid 10px #DC164D;
    padding-left: 40px;
    margin-top: 10px;
  }
  #checkpoint .section--title.section--title--vertical {
    margin-top: 100px;
    justify-content: flex-start;
  }
  .checkpoint__item:not(:first-child) {
    margin-top: 70px;
  }
  #comfortable {
    background-color: #DC164D;
  }
  .comfortable__title--lead {
    font-size: 12px !important;
    font-weight: normal;
    color: #FFFFFF;
  }
  .comfortable__inner {
    padding: 100px 0;
  }
  .section--title--comfortable {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
    gap: 10px;
  }
  .section--title--comfortable span {
    display: inline;
    font-size: 50px !important;
    background-color: #FFFFFF;
    color: #5D3A8B;
  }
  .comfortable__text p {
    color: #FFFFFF;
  }
  .comfortable__text span {
    background-color: #5D3A8B;
    color: #FFFFFF;
  }
  .comfortable__contentbox {
    margin-top: 30px;
	  letter-spacing: 0.15rem;
	  line-height: 1.8;
  }
  .comfortable__text:not(:first-child) {
    margin-top: 20px;
  }
  #guidelines {
    background-color: #000000;
  }
  #guidelines .section--title h2 {
    color: #FFFFFF;
    padding-bottom: 50px;
  }
  #recruitcontent {
    background-color: #DC164D;
  }
  .recruitcontentlink__item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 30px 0;
    text-decoration: none;
    color: #000;
    z-index: 0;
    padding-left: 50px;
    justify-content: space-between;
  }
  .recruitcontentlink__item:hover .ourservice__arrow img {
    transform: translateX(5px);
  }
  #recruit-job {
    background-color: #DC164D;
  }
  #recruit-job .section--title h2 {
    color: #000000;
  }
  .recruit-job__wrapper {
    padding-bottom: 150px;
  }
  .recruit-job__lead {
    font-size: 28px;
    font-weight: bold;
    color: #FFFFFF;
    margin: 50px 0 30px;
  }
  .recruit-job__contentbox {
    background-color: #FFFFFF;
    padding: 50px 30px;
    border-bottom: solid 1px #000000;
  }
  .recruit-job__item--label {
    background-color: #5D3A8B;
    color: #FFFFFF;
    display: inline;
    padding: 5px;
  }
  .recruit-job__item--lead {
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0 20px;
    letter-spacing: 1.6px;
  }
  .recruit-job__item--text {
    margin: 20px 0 50px;
  }
  .recruit-job__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 30px;
    column-gap: 20px;
  }
  .recruit-job__grid--item {
    background-color: #000000;
    color: #FFFFFF;
    width: 317px;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px;
  }
  .recruit-job__grid--title {
    font-weight: bold;
    text-align: center;
  }
  .recruit-job__grid--text {
    margin-top: 15px;
    font-size: 14px;
  }
  .recruit-job__subtext {
    font-size: 20px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__project--example {
    margin: 50px 0;
  }
  .recruit-job__subtext--title {
    margin-bottom: 20px;
    font-weight: bold;
  }
  .recruit-job__subtext--item:not(:first-child) {
    margin-top: 20px;
  }
  .recruit-job__pill {
    border: solid 1px #DC164D;
    padding: 10px 15px;
    border-radius: 15px;
    display: inline-block;
    font-weight: normal;
    font-size: 16px !important;
    margin-right: 15px;
    margin-top: 15px;
  }
  /* ==============================
   雇用形態
============================== */
  .recruit-job__employment {
    display: flex;
    align-items: center;
    margin: 30px 0 40px;
    gap: 20px;
  }
  .recruit-job__employment-label {
    background-color: #000;
    color: #fff;
    padding: 8px 20px;
    font-weight: bold;
    display: inline-block;
  }
  .recruit-job__employment-text {
    font-size: 16px;
    font-weight: bold;
  }
  /* ==============================
   ポテンシャル採用
============================== */
  .recruit-job__potential {
    margin-bottom: 50px;
  }
  .recruit-job__potential-title {
    font-size: 24px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 10px;
  }
  .recruit-job__potential-text {
    font-size: 16px;
  }
  /* ==============================
   このような経験のある方は～
============================== */
  .recruit-job__experience-block {
    display: flex;
    gap: 40px;
    margin-top: 40px;
    align-items: stretch;
  }
  .recruit-job__exp-left {
    width: 25%;
  }
  .recruit-job__exp-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__exp-divider {
    width: 1px;
    background-color: #999;
  }
  .recruit-job__exp-right {
    flex: 1;
  }
  .recruit-job__exp-list {
    margin: 0;
  }
  .recruit-job__exp-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
  }
  .recruit-job__exp-label {
    background-color: #000;
    color: #fff;
    padding: 8px 10px;
    font-weight: bold;
    min-width: 64px;
    text-align: center;
    margin-right: 15px;
  }
  .recruit-job__exp-text {
    margin: 6px 0 0;
    line-height: 1.8;
  }
  .recruit-job__note {
    display: block;
    margin-top: 4px;
    font-size: 14px;
  }
  /* ==============================
   こんな方にピッタリ！
============================== */
  .recruit-job__fit-block {
    display: flex;
    gap: 40px;
    margin-top: 40px;
  }
  .recruit-job__fit-left {
    width: 25%;
  }
  .recruit-job__fit-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7;
  }
  .recruit-job__fit-divider {
    width: 1px;
    background-color: #999;
  }
  .recruit-job__fit-right {
    flex: 1;
  }
  /* リストのスタイル */
  .recruit-job__fit-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__fit-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 12px;
    line-height: 1.8;
  }
  /* 「・」風の中黒 */
  .recruit-job__fit-list li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
  }
  .recruit-job__backborn {
    font-size: 16px;
    font-weight: normal;
    margin-top: 15px;
  }
  /* ==============================
   勤務地：説明テキスト
   ※中央の短い棒はafterで生成
============================== */
  .recruit-job__work-desc {
    margin-bottom: 60px;
    padding-bottom: 40px;
    position: relative;
  }
  .recruit-job__work-desc p {
    line-height: 1.9;
    margin-bottom: 8px;
  }
  .recruit-job__work-desc::after {
    content: "";
    position: absolute;
    left: 0;
    margin: 0 auto;
    bottom: 0;
    width: 80px; /* 棒の長さ */
    height: 1px; /* 棒の太さ */
    background-color: #000;
  }
  /* ==============================
   勤務地：住所ブロック
============================== */
  .recruit-job__work-address {
    line-height: 1.9;
  }
  .recruit-job__zip {
    margin-bottom: 16px;
  }
  /* ==============================
   勤務時間
============================== */
  .recruit-job__time-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
  }
  .recruit-job__time-detail {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .recruit-job__time-note p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 6px;
  }
  /* ==============================
   給与：タイトル部分
============================== */
  .recruit-job__salary-main {
    font-size: 18px;
    font-weight: bold;
    margin: 25px 0 15px;
    line-height: 1.7;
  }
  .recruit-job__salary-note {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1.8;
  }
  .recruit-job__salary-subtitle {
    margin: 25px 0 5px;
    font-weight: bold;
    font-size: 16px;
  }
  /* ==============================
   年収例
============================== */
  .recruit-job__annual-income {
    margin: 40px 0;
  }
  .recruit-job__annual-title {
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__annual-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recruit-job__annual-list li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   区切り線（after擬似要素）
============================== */
  .recruit-job__divider {
    width: 100%;
    height: 30px;
    position: relative;
    margin: 20px 0 40px;
  }
  .recruit-job__divider::after {
    content: "";
    position: absolute;
    left: 0;
    width: 80px;
    height: 1px;
    background-color: #000;
    top: 50%;
    transform: translateY(-50%);
  }
  /* ==============================
   年収アップ実績
============================== */
  .recruit-job__up-title {
    font-size: 20px;
    color: #5D3A8B;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .recruit-job__up-item {
    font-size: 16px;
    margin-bottom: 8px;
  }
  /* ==============================
   試用期間
============================== */
  .recruit-job__trial-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .recruit-job__trial-text {
    font-size: 16px;
    line-height: 1.8;
  }
  /* ==============================
   休日・休暇 共通
============================== */
  .recruit-job__holiday {
    /* ここは必要なら個別調整用に */
  }
  /* 見出しラベル ＋ 白いピル2つ */
  .recruit-job__section-head {
    margin-bottom: 30px;
  }
  .recruit-job__section-label {
    display: inline-block;
    padding: 8px 20px;
    background-color: #5D3A8B; /* 紫 */
    color: #fff;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .recruit-job__chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
  }
  .recruit-job__chip {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    border: 2px solid #DC164D; /* 赤枠 */
    font-size: 16px;
    font-weight: bold;
    background-color: #fff;
  }
  /* 本文エリア */
  .recruit-job__holiday-body {
    margin-top: 10px;
  }
  .recruit-job__holiday-lead {
    font-size: 18px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__holiday-list {
    list-style: disc;
    margin: 0;
    padding-left: 1.4em;
    line-height: 1.9;
  }
  .recruit-job__holiday-list li + li {
    margin-top: 4px;
  }
  /* 「今後 週休3日制〜」 */
  .recruit-job__holiday-future {
    margin-top: 30px;
    font-size: 18px;
    font-weight: bold;
    color: #DC164D;
  }
  /* ==============================
   福利厚生：テキストブロック
============================== */
  .recruit-job__welfare-main {
    margin-top: 40px;
  }
  .recruit-job__welfare-lead {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .recruit-job__welfare-sublead {
    margin-top: 40px;
    line-height: 1.8;
  }
  /* 今年度導入の例／昨年の例 行 */
  .recruit-job__welfare-row {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-top: 30px;
  }
  .recruit-job__welfare-label {
    position: relative;
    font-weight: bold;
    min-width: 190px;
    padding-right: 40px;
  }
  /* 左テキストと右テキストの間の縦線（短い棒） */
  .recruit-job__welfare-label::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background-color: #999999;
  }
  .recruit-job__welfare-text {
    flex: 1;
    line-height: 1.8;
  }
  /* ==============================
   事業内容
============================== */
  .recruit-job__business {
    margin-top: 30px;
  }
  .recruit-job__business-lead {
    font-size: 22px;
    font-weight: bold;
    color: #5D3A8B;
    margin-bottom: 20px;
  }
  .recruit-job__business-list {
    list-style: disc;
    padding-left: 1.5em;
    margin: 0 0 20px;
    line-height: 2;
  }
  .recruit-job__business-list li {
    margin-bottom: 4px;
  }
  .recruit-job__business-note {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 10px;
  }
  /* ==============================
   自社ゲーム紹介スライダー
============================== */
  .game-slider {
    margin: 40px auto 0;
    width: 680px;
    max-width: 100%;
  }
  .game-slider__inner {
    position: relative;
  }
  .game-slider__viewport {
    overflow: hidden;
  }
  .game-slider__track {
    display: flex;
    transition: transform 0.4s ease;
  }
  .game-slider__slide {
    flex: 0 0 100%;
    text-align: center;
  }
  .game-slider__slide img {
    width: 100%;
    height: auto;
    display: block;
  }
  .game-slider__caption {
    margin-top: 10px;
    font-size: 14px;
    text-align: left;
  }
  /* 矢印ボタン */
  .game-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 2;
  }
  .game-slider__arrow img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* 左矢印は画像を反転させて使用 */
  .game-slider__arrow--prev {
    left: -50px;
  }
  .game-slider__arrow--prev img {
    transform: scaleX(-1);
  }
  /* 右矢印（画像そのまま） */
  .game-slider__arrow--next {
    right: -50px;
  }
  /* ドットナビ */
  .game-slider__dots {
    margin-top: 15px;
    text-align: center;
  }
  .game-slider__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background-color: #ccc;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
  }
  .game-slider__dot.is-active {
    background-color: #DC164D; /* メインカラーに合わせて変更OK */
  }
  /* ==============================
   APPLY FOR リンク
============================== */
  .apply-link {
    width: 100%;
  }
  .apply-link a {
    display: block;
    width: 100%;
    background-color: #5D3A8B;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    position: relative;
  }
  /* 横並びレイアウト */
  .apply-link__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 80px;
    position: relative;
  }
  /* 英語 / 日本語 */
  .apply-link__text {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .apply-link__en {
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .apply-link__jp {
    font-size: 20px;
    font-weight: bold;
  }
  /* 矢印 */
  .apply-link__arrow img {
    width: 50px;
    height: auto;
    display: block;
    transition: transform 0.25s ease; /* ★ アニメーション */
  }
  /* hover 時に矢印のみ右へ動く */
  .apply-link a:hover .apply-link__arrow img {
    transform: translateX(5px); /* ★ 右に 5px */
  }
  #apply {
    background-color: #DC164D;
  }
  #apply .section--title h2 {
    color: #000000;
  }
  .apply__wrapper {
    padding-bottom: 150px;
  }
  .apply--lead {
    color: #000000;
    margin-top: 50px;
  }
  .apply--lead p:not(:first-child) {
    margin-top: 20px;
  }
  #company--info {
    background-color: #DC164D;
  }
  #company--info .section--title h2 {
    color: #000000;
  }
  .company--info__contentbox {
    background-color: #FFFFFF;
    margin-top: 60px;
  }
  .company--info__inner {
    padding-bottom: 150px;
  }
  .company--info__padding {
    padding: 50px;
  }
  .security--text2 {
    margin: 30px 0;
  }
  .security--textlist {
    margin-top: 20px;
  }
  .security-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.2em;
  }
  .security-num {
    width: 2em; /* ← 番号の幅を固定して縦を完全に揃える */
    flex-shrink: 0;
  }
  .security-text {
    line-height: 1.8;
  }
  .security--name {
    margin-top: 50px;
    text-align: right;
  }
  .policy--list {
    margin-top: 10px;
  }
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.8em;
  }
  .policy-num {
    width: 2em; /* ← 番号の位置を固定して縦をそろえる */
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  .policy--list--head {
    font-size: 20px;
    font-weight: bold;
    margin-top: 50px;
  }
  .policy--list--head p {
    font-size: 16px !important;
    font-weight: normal !important;
    margin-bottom: 30px;
    margin-top: 30px;
  }
  /* 大項目 */
  .policy-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
  }
  .policy-num {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-text {
    line-height: 1.8;
  }
  /* 小項目（入れ子） */
  .policy-sublist {
    margin-top: 0.6em;
    margin-left: 2em;
  }
  .policy-subitem {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.4em;
  }
  .policy-subnum {
    width: 2em;
    flex-shrink: 0;
  }
  .policy-subtext {
    line-height: 1.8;
  }
}