.garden-name {
  color: #000;
  font-size: 120%;
  font-weight: 900;
}
.garden-name:hover {
  color: #fff;
}
/*採用*/
.site-recruit a {
  width: 120px;
}
.cmt-header-style-01 #site-header-menu .site-navigation ul.menu > li > a {
  padding: 33px 15px !important;
}
.ideal-wrap h4 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
}
.ideal-block {
  background: #6785C1;
  font-size: 16px;
  padding: 10px 15px;
  color: #fff;
  margin-bottom: 10px;
}
/*ニアショア*/
.results-block {
  padding: 30px;
  margin-bottom: 30px;
  background: #f1f1f1;
}
.nearshore-wrap {
  background-color: #f5faff;
}
.nearshore-block {
  padding: 30px;
  margin-bottom: 30px;
  background: #fff;
}
.table-data {
  color: #898a9c;
}
.table-data th, .table-data td {
  padding: 0.5rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table-data th, table-data td {
  white-space: nowrap;
}
.table-data .note {
  font-size: 12px;
}
.results-block ul li {
  font-size: 16px;
  font-weight: 600 !important;
  color: #0f1c50;
}
.results-note {
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #0f1c50;
}
.results-zipc img {
  width: 30%;
  padding: 1%;
}
.results-block span {
  text-align: center;
  border: solid 1px #344153;
  padding: 0.3em 0.6em;
  margin: 0 0.3em;
  background: #fff;
  border-radius: 6px;
  font-weight: 600;
  color: #344153;
}
.recruit-entry {
  margin-bottom: 40px;
  padding: 30px;
  border: solid 1px #0f1c50;
}
.recruit-entry h4 {
  background: #0f1c50;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 5px 10px;
  line-height: 1.5;
}
.table-recruit {
  border-bottom: 1px solid #dee2e6;
  color: #898a9c;
}
.recruit-kind {
  background: #f1f1f1;
  padding: 15px;
  margin-bottom: 10px;
  border-radius: 6px;
}
.recruit-kind h4 {
  font-size: 16px;
  font-weight: 600;
  background-color: #6785C1;
  color: #fff;
  margin-right: 10px;
  margin-bottom: 0;
  padding: 6px 12px;
  border-radius: 6px;
  text-align: center;
}
.recruit-kind a.cmt-btn.cmt-btn-style-border {
  background: #ffffff;
  margin-right: 5px;
  margin-bottom: 5px
}
.recruit-kind-label {
  font-size: 16px;
  background-color: #6785C1;
  color: #fff;
  margin-right: 10px;
  padding: 6px 12px;
  border-radius: 2em;
}
@media only screen and (max-width: 768px) {
  .site-recruit a {
    width: 90px;
  }
  .table-recruit th, .table-recruit td {
    display: block;
    width: 100%;
  }
}
p.business-content {
  font-size: 18px;
  font-weight: 600;
  color: #0f1c50;
}
.development-environment {
  padding: 20px;
  background: #f1f1f1;
  margin-bottom: 20px;
}
.development-environment p {
  margin-bottom: 0px;
}
.development-environment h5 {
  color: #6785C1;
  font-size: 16px;
  font-weight: 600;
}
.term {
  background: #6785C1;
  color: #fff;
  padding: 3px 6px;
}
.term-focus {
  font-size: 16px;
  font-weight: 600;
  color: #0f1c50;
}
.development-environment ul li {
  list-style: disc;
}
.entry-radio {
  border: solid 1px #f1f1f1 !important;
  padding: 5px 15px;
  border-radius: 6px;
  margin-right: 10px;
}
.recruit-flow {
  padding: 20px;
}
.recruit-copy {
  background: #0f1c50;
  color: #fff;
  padding: 15px 30px;
  font-size: 26px;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .recruit-copy {
    background: #0f1c50;
    color: #fff;
    padding: 10px;
    font-size: 14px;
    font-weight: 600;
  }
}
.skills-block {
  text-align: center;
}
.skills-block div {
  display: block;
  font-size: 16px;
  font-weight: 600;
  /*background-color: #6785C1;*/
	background-color: rgba(0,114,188,1.0);
  color: #fff;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 6px;
  text-align: center;
}
.graduate-career a {
  display: block;
  width: 100%;
  text-align: center;
}
.coming-mltest {
  border: solid 1px #6785C1;
  padding: 30px;
}
.lnav-list li {
  width: 100%;
}
.lnav-item a.is-current .lnav-en {
  color: #fff;
}
/*GARDEN*/
.strength-block h3 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.strength-block {
  margin-bottom: 40px;
}
.strength-focus {
  border-bottom: solid 3px #0f1c50;
}
.strength-num {
  background: #6785C1;
  color: #fff;
  padding: 3px 8px;
}
.strength-num span {
  font-size: 130%;
  font-weight: 600;
  font-family: 'Oswald', sans-serif;
}
nav.main-menu ul.menu li ul.mega-submenu li a {
  font-family: 'Oswald', sans-serif;
}
nav.main-menu ul.menu li ul.mega-submenu li.arc-tool a {
  font-weight: 600;
  font-size: 115%;
  color: #0f1c50;
  font-family: 'Oswald', sans-serif;
}
nav.main-menu ul.menu li ul.mega-submenu li.arc-tool a:hover {
  color: #fff !important;
}
.note {
  font-size: 80%;
  line-height: 1.3;
}
.domain-lead {
  border: solid 1px #344153;
  padding: 0.3em 0.6em;
  background: #fff;
  border-radius: 6px;
  font-weight: 600;
  color: #344153;
  font-size: 18px;
  margin-bottom: 0.6em;
}
.table-description {
  margin-bottom: 0 !important;
}
.table-description th, .table-description td {
  padding: 5px !important;
}
.cats-logo {
  padding: 0 30px 30px;
}
.agency-block {
  margin-bottom: 30px;
  padding: 25px;
  background: #fff;
}
.agency-name h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  line-height: 1.5;
}
.agency-block p {
  margin-bottom: 0;
}
.agency-kind p {
  font-weight: 600;
}
.agency-block h4 i.ti {
  font-size: 14px;
}
.agency-block h4 span {
  font-size: 18px !important;
}
.agency-wrap {
  padding: 40px 25px;
  background: #fff;
}
.feature-box h5 {
  background: #6785C1;
  color: #fff;
  font-size: 16px;
  padding: 3px 5px;
  line-height: 1.3;
}
.agency-download {
  margin: 20px 0 30px;
}
.agency-download a {
  border-radius: 6px;
  display: block;
  text-align: center;
  padding: 15px;
}
/*R&D*/
.lnav.cal-nav ul {
  margin-left: 180px !important;
}
.project-logo {
  width: 200px;
  margin: 15px auto;
  display: block;
}
@media only screen and (max-width: 768px) {
  .lnav.cal-nav ul {
    margin-left: 0px !important;
  }
}
/*Solution*/
.solution-lead {
  font-size: 18px;
  color: #000;
  font-weight: 600;
  text-align: center;
  border-top: solid 1px #0f1c50;
  border-bottom: solid 3px #0f1c50;
  padding: 20px;
  background-color: rgba(103, 133, 193, .3);
}
.reg {
  font-size: 12px;
  font-weight: 300 !important;
  vertical-align: top
}
/*GARDEN非表示*/
.cal-nav .lnav-item a {
  width: auto !important;
}
.cal-nav .lnav-item a {
  padding: 15px 0px !important;
}
.lnav.cal-nav {
  padding: 0 !important;
}
@media only screen and (max-width: 768px) {
  .cal-nav .lnav-item a {
    width: auto !important;
  }
  .cal-nav .lnav-item a {
    padding: 10px !important;
  }
}
/*微調整*/
.zipc-download a {
  text-align: center !important;
}
.seminar-note {
  background: rgba(15, 28, 80, 0.15);
  padding: 0.4em 0.8em;
  font-size: 16px;
  color: #0F1C50;
  font-weight: 600;
}
/*個人情報の取り扱いについて*/
.policy-check {
  text-align: center;
  margin-bottom: 50px;
}
.policy-check label {
  font-weight: 600;
  color: #11254e;
  font-size: 115%;
}
.policy-block {
  padding: 15px 30px;
  background: #f8f8f8;
  margin-top: 20px;
}
.policy-block h4 {
  font-size: 16px;
}
.policy-block p {
  text-align: left;
}
summary {
  cursor: pointer;
  text-align: center;
  margin: 1em;
}
details {
  transition: .5s;
}
details[open] {
  height: auto;
  background: #ffffff;
  text-align: left;
  padding: 20px;
}
.form-note {
  padding: 10px 0;
  font-size: 90%;
  line-height: 1.3;
  color: #898a9c;
}
.need {
  margin: 0 5px;
}
input.policy-checkbox {
  transform: scale(1.8);
}
::placeholder {
  color: #b8b9bf;
  font-size: 85%;
}
.table-form td {
  border-left: 1px solid #dee2e6;
}
/*policy*/
.policy-signature {
  text-align: right;
}
.policy-wrap h5 {
  border-bottom: solid 1px #0f1c50;
  font-size: 18px;
}
.policy-wrap h6 {
  line-height: 1.5;
}
.policy-wrap .note {
  font-size: 85%;
}
a.policy-dl {
  font-weight: 600;
  padding: 0.3em;
  display: inline-block;
}
a.policy-dl:after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f1c1";
  margin-left: 10px;
}
.policy-company {
  padding: 15px;
  border: dotted 1px #0f1c50;
  margin-bottom: 20px;
}
.policy-company p {
  margin-bottom: 0;
}
.policy-company h6 {
  background: #6785C1;
  color: #fff;
  padding: 0.4em 0.8em;
}
.ol-general li {
  list-style: decimal;
}
.policy-related {
  padding: 15px;
  margin-bottom: 20px;
  background: #f1f1f1;
}
.policy-related h6 {
  font-weight: 600;
}
.policy-related a {
  font-weight: 300;
}
.note-marker {
  position: relative;
  top: -0.5em;
  font-size: 75%;
  line-height: 0;
  margin: 0 0.5em;
  vertical-align: baseline;
}
.customer-note {
  padding-left: 1.5em;
}
.customer-document {
  color: #000
}
@media (max-width: 768px) {
  .cmt-header-style-01 #site-header-menu .site-navigation ul.menu > li > a {
    padding: 15px 15px !important;
  }
  nav.main-menu li.mega-menu-item .mega-submenu a.mega-menu-link:after {
    top: 0;
  }
}
/*ニュースリリース*/
.release-title h3 {
  font-size: 24px;
  margin-bottom: 10px;
}
.release-title .lead {
  font-size: 21px;
  font-weight: 600;
  margin-bottom: 0;
  color: #000;
}
.release-lead {
  border: solid 2px #0f1c50;
  padding: 30px;
}
.release-lead p {
  margin-bottom: 0;
  color: #0f1c50;
}
/*GARDEN*/
.project-logo {
  font-size: 26px;
  font-weight: 600;
  color: #000;
  font-family: 'Oswald', sans-serif;
  text-align: center;
}
/*採用*/
.salary-term {
  display: inline-block;
  width: 10em;
}
.salary-yen {
  font-size: 16px;
  font-weight: 600;
  color: #0f1c50;
}
.cmt-btn.cmt-btn-size-md span {
  font-size: 12px !important;
}
.event-title h5 {
  font-weight: 500;
  display: block;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 1px;
  margin-bottom: 5px;
  color: #6785C1;
}
.table-event th {
  width: 20%;
}
.table-event td {
  width: 80%;
  color: #898a9c;
}
h4.lec-title {
  border-bottom: none;
  text-align: center;
}
.lec-block {
  background: #fcfcfc;
  display: block;
  width: 100%;
  border: solid 1px #344153;
  padding: 1.5em;
}
.lec-block h3 {
  padding: 10px;
  margin-bottom: 0;
}
.lec-block hgroup {
  position: relative;
  color: #0f1c50;
  padding: 2px 0;
  background: #fff;
  border: 0 solid #0f1c50;
  border-width: 4px 0;
  margin-bottom: 20px;
}
.lec-block hgroup:before {
  top: 2px;
}
.lec-block hgroup:before, .lec-block hgroup:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #0f1c50;
}
.lec-block hgroup:after {
  bottom: 2px;
}
.lec-block hgroup:before, .lec-block hgroup:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #0f1c50;
}
.event-date {
  font-size: 115%;
  font-weight: 600;
  color: #000;
}
.event-date span {
  background: #0f1c50;
  color: #fff;
  margin-right: 10px;
  padding: 3px 6px;
  border-radius: 6px;
  font-size: 90%;
}
h5.lec-thanks {
	color:#AB070A;
	margin-bottom: 30px;
	letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .event-wrap .wp-block {
    padding: 2px;
  }
  .lec-block {
    padding: 1.5em;
  }
  .table-event th {
    display: block;
    width: 100%;
  }
  .table-event td {
    display: block;
    width: 100%;
    color: #898a9c;
  }
  .event-title h5 {
    text-align: left;
  }
  .lec-profile {
    padding: 0 15% 15px;
  }
  .event-date span {
    display: block;
  }
}

.media-block {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom:solid 1px #f1f1f1;
}
.media-date {
	text-align: left;
}
.media-title {
	color: #000;
	font-weight: 600;
	font-size: 115%;
}
.media-title a {
	text-decoration: underline;
}
.media-name {
	text-align: center;
	padding: 3px 6px;
	background: #000;
	color: #fff;
}
.news-media {
	background: #000;
}
.media-btn {
    display: inline-block;
    vertical-align: middle;
    font-family: 'Roboto', sans-serif;
    line-height: normal;
    padding: 5px 20px 5px 20px;
    background: transparent;
    border-width: 1px;
    border-style: solid;
    border-color: #0f1c50;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.5s ease 0s;
	border-radius: 10px;
}

@media only screen and (max-width: 768px) {
	.media-name {
	margin-bottom: 10px;
}
	.media-comment {
	margin-bottom: 10px;
}
}


/*2023*/
.zipc-logo {
	margin-bottom: 15px;
}
.support-download {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 0;
}
ul.support-contents {
	margin: 0 0 1em 0;
}

.dl-block {
	padding: 20px;
	border: solid 1px #898a9c;
	margin-bottom: 30px;
}
.dl-block h4 {
	font-size: 26px;
	color: #000;
}
@media only screen and (min-width: 768px) {
.table-event.table-arcday th {
    text-align: center;
	width: 6%;
}
}
.table-event.table-arcday th {
	color: rgba(0,114,188,1);
    border:solid 1px rgba(0,114,188,1);
	padding: 10px;
}
.table-event.table-arcday td {
    border:solid 1px rgba(0,114,188,1);
	padding: 10px;
}
.arcday-program {
	font-weight: 600;
    background-color: rgba(0,114,188,1);
    color: rgba(255,255,255,1);
    padding: 5px 8px;
    font-size: 16px;
    line-height: 1.4;
	margin-bottom: 5px;
}
.arcday-note {
	padding: 30px 15px 15px;
	margin-top: 1em;
	text-align: center;
	border: solid 2px #000;
}
.arcday-note h4 {
	font-size: 22px;
}
.arcday-note p {
	font-size: 18px;
	color: #000;
}
.arcday-note a {
	font-weight: 600;
	font-size: 20px;
}
.event-tool {
	font-size: 16px;
}

.lead-focus {
	color:#BC0003;
	font-weight: 600;
}

.topics-block table.table-data {
	margin: 0 !important;
}

.presenter {
	text-decoration: underline;
}

.lec-block h2 {
	font-size: 24px;
	line-height: 1.4;
}

.message-photo {
	position: relative;
	margin-bottom: 30px;
}
.message-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #0f1c50;
	color: #fff;
	padding: 5px 8px;
}
.message-block .signature {
	font-size: 115%;
	font-weight: 600;
	padding: 0 !important;
}
table.board-member td {
	padding: 3px 5px;
	font-size: 16px;
}

.partnership-block {
	padding: 30px;
	border: solid 1px #d4d4d4;
	margin-bottom: 60px;
}
.partnership-block p.lead {
	font-size: 16px;
	font-weight: 600;
	color: #000;
}
.partnership-link {
	padding: 15px;
	font-size: 18px;
	font-weight: 600;
	border: solid 1px #0f1c50;
	margin-bottom: 15px;
}
@media only screen and (max-width: 768px) {
	.partnership-link {
	font-size: 16px;
}
}

.graduate-deadline p {
    display: block;
    font-size: 16px;
    font-weight: 600;
    /* background-color: #6785C1; */
    background-color: rgba(0, 114, 188, 1.0);
    color: #fff;
    margin-bottom: 10px;
    padding: 12px;
    border-radius: 6px;
    text-align: center;
}

.disabled-button {
  pointer-events: none; /* クリックを無効化 */
  opacity: 0.5; /* ボタンを薄く表示 */
  cursor: not-allowed; /* マウスオーバー時に禁止カーソルを表示 */
}
.required-focus {
	font-size: 110%;
	font-weight: 600;
	color: #000;
	text-decoration: underline;
}

video.media-video {
	width: 100%;
}
.media-description img {
	margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
h4.lec-speaker {
	font-size: 16px;
}
}

.media-content-list {
	background-color: rgba(0, 114, 188, 0.2);
	padding:15px;
	margin-bottom: 10px;
}
.media-content-list ul {
	padding-left: 0;
	margin: 0;
}
.media-content-list ul li {
	list-style: none;
	background-color: #fff;
	padding: 5px 15px;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 2px;
	border-radius: 6px;
}

/*supprt*/
.support__block h3 {
  text-align: center;
  background-color: #0f1c50;
  color: #fff;
  font-size: 24px;
}
.support-dl__block {
  margin-bottom: 30px;
}
.support-dl__block .v10 {
  padding: 3% 15%;
}
.support-dl__block a {
  width: 100%;
  background-color: #fff !important;
}
@media (max-width: 1199px) {
  .page-support .container {
    padding-right: 15px;
    padding-left: 15px;
  }
}
.support-dl__form {
  background-color: #fff;
  padding: 15px;
}
.support-dl__block table {
  width: 100%;
  margin-bottom: 30px;
}
.support-dl__block table th {
  color: #000;
  font-size: 16px;
  width: 33%;
}
.zipc-row {
  display: flex;
	flex-wrap: wrap;         /* 折り返しを許可 */
  align-items: center;
  gap: 0.5em; /* スペース調整（お好みで） */
}
.support-dl__block .table-form th {
  vertical-align: middle;
  text-align: left; /* 必要なら中央以外に */
  padding: 10px; /* お好みで調整 */
  white-space: nowrap; /* 折返し防止 */
}
.support-dl__block .table-form td {
  width: 100%;
}
.support-dl__number {
  background-color: #fff;
  color: #000;
  padding: 15px 10px;
  margin-bottom: 15px;
}
.support-dl__number span {
  background-color: #f1f1f1;
  margin: 5px;
  padding: 5px 10px;
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
 .support__block h3 {
  font-size: 22px;
}
	.support-dl__block table th {
  width: 100%;
}
.support-dl__number span {
  display: block;
}

}

.career-genre .row {
  display: flex;
  flex-wrap: wrap;
}

.career-genre .col-sm-6 {
  display: flex;
}

.career-genre .recruit-genre {
  flex: 1;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .career-genre .row {
    display: flex;
    flex-wrap: wrap;
  }
  .career-genre .col-sm-6 {
    display: flex;
  }
  .career-genre .recruit-genre {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}


.recruit-genre {
	background-color: rgba(0, 114, 188,0.1);
	padding: 15px;
	margin-bottom: 30px;
}
.recruit-genre h3 {
	background-color: #0072BC;
	color: #fff;
	font-size: 18px;
	line-height: 1.4;
	padding: 10px 15px;
	font-weight: 700;
}

.recruit-genre ul {
    margin: 0 0 15px;
    padding: 0 0 0 0;
}

.recruit-genre a {
	background-color: #fff !important;
	margin-bottom: 5px;
}

.career-genre .col-sm-6 {
  display: flex; /* 各カラムをフレックス化 */
}

.career-genre .recruit-genre {
  display: flex;
  flex-direction: column; /* 縦並び */
  justify-content: space-between; /* 上のコンテンツとボタンを上下に分ける */
  flex: 1; /* 高さを揃える */
}

.career-genre .recruit-genre ul {
  flex: 1; /* ul が余白を占める */
  margin-bottom: 20px; /* ボタンとの間隔調整 */
	padding-left: 2em;
	padding-right: 1em;
}
.career-genre .recruit-genre ul li {
	list-style-type: circle;
}
.cmt-btn {
  justify-content: space-between; /* 左右に振り分け */
  align-items: center;         /* 垂直方向中央揃え */
}

.cmt-btn .ti-arrow-down {
  margin-left: 8px;  /* テキストとの余白（任意） */
}
.genre-title {
	background-color: #0072BC;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	padding: 10px 10px;
	font-weight: 700;
}

a.career-related {
	display: block;
	background-color: rgba(0, 114, 188, 0.5) !important;
    padding: 10px;
	color: #fff;
	border-radius: 2em;
}

.career-genre__wrap .row {
  display: flex;
  flex-wrap: wrap;
}

.career-genre__wrap .col-md-6 {
  display: flex;
}

.career-genre {
  background-color: rgba(0, 114, 188, 0.1);
  display: flex;
  flex-direction: column; /* 下揃え用に縦方向に分ける */
  justify-content: space-between;
  width: 100%;
  padding: 20px; /* 適度に調整 */
	position: relative;
}

.career-icon {
	position: absolute;
	top: -20px;
	right: 10px;
}
.career-icon img {
	width: 70px;
	height: 70px;
	background-color: #fff;
	border-radius: 50%;
	margin: 1px;
	padding: 3px;
	border: solid 2px #0072BC;
}
.career-genre a.career-related {
  margin-top: auto; /* 残りスペースを吸収して下へ押す */
  align-self: flex-end; /* 左揃え（ボタンに揃えるならflex-endでもOK） */
	width: 39%;
    text-align: center;
}

.table-recruit ul {
	margin-top: 10px;
}
.table-recruit ul li {
	list-style-type: disc;
}

ul.job-duty__list {
margin-bottom: 25px;
}
ul.job-duty__list li span {
font-size: 110%;
    font-weight: 600;
    color: #000;
}

ul.tech-env__list {
margin-bottom: 25px;
}
ul.job-duty__list li {
	list-style-type: disc;
	color: #0f1c50;
}

ul.tech-env__list li {
	list-style-type: disc;
	color: #0f1c50;
}

.career-interview {
background: #7C96CC;
    padding: 1.5em;
}
.career-interview h5 {
	color: #fff;
	border-bottom: dotted 2px #fff;
	padding-bottom: 10px;
	margin-bottom: 10px;
	
}
.career-interview p {
	color: #fff;
}
.career-interview p span {
	font-size: 120% !important;
	margin-left: 0.8em;
	margin-right: 2em;
}

.interview-intro {
	font-size: 115%;
	font-weight: 700;
}
.career-interview__photo img {
	border-radius: 50%;
}
.interview__link {
	color: #fff;
}
.interview__link a {
	display: inline-block;
	color: #fff;
	padding: 5px 10px;
	border-radius: 10px;
	border:solid 1px #fff;
}


/* 土台 */
.career-genre__matrix{
  position: relative;
  max-width: 1100px;
  margin: 0 auto 80px;
  height: 570px;                 /* PC想定の縦幅。中身に合わせて調整OK */
}

.career-genre__matrix a{
	background-color: #fff !important;
}

/* 共通の“面” */
.career-genre__matrix > div{
  background: #EAF1FB;           /* 薄いブルー（ブランドに合わせて変更） */
  border-radius: 32px;
  padding: 28px 24px 40px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,.05) inset;
}

/* 見出し */
.career-genre__matrix h3{
  margin: 0 0 16px;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
	background-color: #0072BC;
    color: #fff;
}

/* === 配置 === */
.recruit-genre__ai{
  position: absolute;
  top: 0; left: 0;
  width: 48%; height: 300px;
}

.recruit-genre__autonomous{
  position: absolute;
  top: 0; right: 0;
  width: 48%; height: 300px;
}

.recruit-genre__quality{
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 66%;
}

/* === R&D 横断帯 === */
.recruit-genre__cross{
  position: absolute;
  top: 210px;                    /* 上段2面の下辺あたりに重ねる */
  left: 25%;
  width: 50%; height: 84px;
  background: #FFF5DB;           /* 目立つ薄い色に変更可 */
  /*border: 2px solid #FFC56B;*/
  border-radius: 42px;
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  padding: 0 16px;
}

/* “接続している感”の飾り（任意） */
/*.recruit-genre__cross::before,
.recruit-genre__cross::after{
  content:"";
  position:absolute; top:50%; transform: translateY(-50%);
  width: 28px; height: 2px; background:#FFC56B;
}
.recruit-genre__cross::before{ left: -28px; }
.recruit-genre__cross::after { right: -28px; }
*/

/* ボタンの間隔（任意） */
.career-genre__matrix .cmt-btn{ margin: 6px 8px 0; }

/* === ダーク背景用の緊急対処を無効化（もし前CSSで #333 などを当てていたら）=== */
.recruit-genre__ai,
.recruit-genre__autonomous,
.recruit-genre__quality{ background-color: #EAF1FB !important; }

/* === SP：縦積み。帯はAIと自動運転の間に === */
@media (max-width: 768px){
  .career-genre__matrix{ height:auto; padding: 0 8px; }
  .recruit-genre__ai,
  .recruit-genre__autonomous,
  .recruit-genre__quality{
    position: static; width: 100%; height: auto; margin-bottom: 16px;
  }
  .recruit-genre__cross{
    position: static; width: 100%; height: auto; min-height: 72px;
    margin: 8px 0 16px;
  }
  .recruit-genre__cross::before,
  .recruit-genre__cross::after{ display:none; }
}
@media (max-width: 768px){
  .recruit-genre__quality{
    position: static;
    width: 100%;
    height: auto;
    margin-bottom: 16px;
    left: auto;        /* ← これを追加 */
    right: auto;       /* ← これを追加 */
    transform: none;   /* ← これを追加（ズレの本丸） */
  }
}


/*健康経営宣言*/
.health-block {
	padding: 50px;
	border: solid 1px #d4d4d4;
	margin-bottom: 60px;
}
.health-block h3 {
	font-size: 24px;
	font-weight: 700;
	border-top: solid 1px rgba(15, 28, 80,0.3);
	border-bottom: solid 1px rgba(15, 28, 80,0.3);
	margin-bottom: 15px;
	padding: 5px;
	margin-bottom: 15px;
	line-height: 1.5;
}
.health-block h4 {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 10px;
}
.health-block ul {
	margin-top: 0;
}
.health-block ul li {
	list-style-type: disc;
}
.health-intro {
	margin-bottom: 30px;
}
.health-lead {
	font-size: 115%;
}

@media (max-width: 768px) {
	.health-block {
	padding: 25px;
	}
}
.video-wrap {
				  width: 100%;
					  }
.video-wrap video {
				  width: 100%;
					  height: 400px;
					  }
.report-photo {
	margin-bottom: 30px;
}
.report-photo img {
	margin-bottom: 15px;
}

/*ML TEST*/
.lead-headline {
	color: #BC0003;
    font-weight: 600;
	font-size: 24px;
    text-align: center;
}
@media (max-width: 768px) {
	.lead-headline {
	font-size: 22px;
		line-height: 1.4;
}
	
}
/* PCでは非表示 */
.sp-only {
  display: none;
}

/* スマホのみ表示 */
@media (max-width: 768px) {
  .sp-only {
    display: inline;
  }
}

.mltest-logo {
	max-width: 150px;
}

.mltest-block {
	display: flex;
  gap: 20px; /* ロゴとテキストの間隔 */
	margin-bottom: 20px;
}
.mltest-num {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #004280;
  color: #fff;
	text-align: center;
}

.group-logo {
	top: 25%;
}

.mltest-logo {
  position: relative;
  display: inline-block;
}

.mltest-badge {
    position: absolute;
    top: 18px;
    right: -88px;
    background: #e60012;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    z-index: 1;
}

/* 吹き出しの三角 */
.mltest-badge::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 16px;
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: #e60012 transparent transparent transparent;
}

.page-zipc h3 {
    font-size: 18px;
    font-weight: 600;
    background-color: rgba(0, 0, 0, .3);
    padding: 1em 0.6em;
    line-height: 1.34;
    position: relative;
    overflow: hidden;
    color: #000;
}
@media (max-width: 768px) {
.page-zipc h3:before {
    right: -155px !important;
}
	.solution-lead br {
		display: none !important;
	}
}

.mltest-desc a.cmt-btn {
  padding: 6px 32px 6px 31px !important;
}


.mltest-map{
  position: relative;
  max-width: 930px;
}
.mltest-map img{
  width: 100%;
  height: auto;
  display: block;
}

/* 共通 */
.mltest-link{
  position: absolute;
  display: block;
  /* デバッグ用（確認後は消す） */
  /* background: rgba(255,0,0,.2); */
}

/* 個別位置（％指定でレスポンシブ対応） */
.code-check{
  left: 18%;
  top: 71%;
  width: 15%;
  height: 15%;
}

.unit-test{
  left: 35%;
  top: 60%;
  width: 20%;
  height: 12%;
}

.test-creation{
  left: 46%;
  top: 26%;
  width: 15%;
  height: 15%;
}

.gui-test{
  left: 70%;
  top: 37%;
  width: 15%;
  height: 15%;
}

.test-viewpoint{
  left: 25%;
  top: 18%;
  width: 15%;
  height: 15%;
}

.test-selection{
  left: 56%;
  top: 2%;
  width: 15%;
  height: 15%;
}

.sakura-prj-block {
	padding: 20px;
	background-color: rgba(234,111,142,0.1);
	margin-bottom: 20px;
}
.sakura-prj-block p {
	font-size: 16px;
	margin-bottom: 0;
}
.sakura-prj-block span {
	color: #000;
	font-weight: 600;
}
