.d-top {
  position: relative;
  height: 3134px;
  background-color: var(--background);
  overflow: visible;
}

.d-top .section-FV {
  position: relative;
  display: flex;
}

.d-top .section-service {
  position: relative;
  background-repeat: no-repeat;
  padding-top: 184px;
  padding-left: 143px;
  display: block;
  padding-bottom: 160px;
}
.d-top .section-company {
  position: relative;
  padding: 184px 143px 0 143px;
}

.d-top .img {
  position: absolute;
  top: 2409px;
  left: 0;
  /* width: 1366px; */
  height: 1024px;
}

.d-top .service-submenu {
  position: relative;
  width: 1080px;
  height: 114px;
  border-radius: 30px 30px 4px 30px;
  background: rgba(255, 255, 255, 0.80);
  box-shadow: 0 0 12px 0 rgba(22, 32, 91, 0.05);
  backdrop-filter: blur(20px);
  display: flex;
  gap: 7px;
  margin-top: 40px;
  padding: 8px;
}

.d-top .card-service {
  position: relative;
  /* top: 418px; */
  width: 524px;
  /* height: 412px; */
  background-color: #ffffffcc;
  border-radius: 32px 32px 4px 32px;
  box-shadow: 0px 0px 12px #16205b0d;
  backdrop-filter: blur(20px) brightness(100%);
  -webkit-backdrop-filter: blur(20px) brightness(100%);
  /* display: flex; */
  padding: 40px 24px;
}

.d-top .PC {
  flex-wrap: wrap;
  width: 364px;
  align-items: flex-start;
  gap: 8px 8px;
  flex: 0 0 auto;
  position: relative;
  display: flex;
}

.d-top .div-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 18px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--background);
  border-radius: 32px;
  overflow: hidden;
}

.d-top .text-wrapper-2 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--dark-blue);
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: normal;
}

.d-top .section-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}
.d-top .section-title.service {
  width: 170px;
  /* top: 276px; */ /*888px;*/
  /* left: 143px; */
}

.d-top .section-title.company {
  /* top: 168px; */
  /* left: 143px; */
  margin-bottom: 80px;
}
.d-top .section-title.recruit {
  /* top: 225px; */
  /* left: 143px; */
  /* margin-top: 225px; */
  margin-bottom: 80px;
}

.d-top .title-english {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.d-top .bullet {
  position: relative;
  width: 8px;
  height: 8px;
  background-color: var(--pinkish-orange);
  border-radius: 4px;
  aspect-ratio: 1;
}

.d-top .title-text-eng {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--desktop-ENG-title-font-family);
  font-weight: var(--desktop-ENG-title-font-weight);
  color: var(--pinkish-orange);
  font-size: var(--desktop-ENG-title-font-size);
  letter-spacing: var(--desktop-ENG-title-letter-spacing);
  line-height: var(--desktop-ENG-title-line-height);
  white-space: nowrap;
  font-style: var(--desktop-ENG-title-font-style);
}

.d-top .title-text {
  position: relative;
  align-self: stretch;
  font-family: var(--desktop-TOP-h1-font-family);
  font-weight: var(--desktop-TOP-h1-font-weight);
  color: var(--blue);
  font-size: var(--desktop-TOP-h1-font-size);
  letter-spacing: var(--desktop-TOP-h1-letter-spacing);
  line-height: var(--desktop-TOP-h1-line-height);
  font-style: var(--desktop-TOP-h1-font-style);
}

.d-top .service-title {
  position: relative;
  /* top: 40px; */ /* 458px; 1070px; */
  /* height: 36px; */
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--desktop-h2-font-family);
  font-weight: var(--desktop-h2-font-weight);
  color: var(--dark-blue);
  font-size: var(--desktop-h2-font-size);
  letter-spacing: var(--desktop-h2-letter-spacing);
  line-height: var(--desktop-h2-line-height);
  white-space: nowrap;
  font-style: var(--desktop-h2-font-style);
  padding-bottom: 24px;
}

.d-top .service-title.infla {
  /* left: 124px; */
}

.d-top .service-title.kitting {
  /* left: 162px; */
}

.d-top .image {
  position: relative;
  width: 32px;
  height: 33px;
  margin-top: -0.50px;
  margin-bottom: -0.50px;
}


.d-top .link-button {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 12px 24px 12px 32px;
  position: relative;
  background-color: var(--dark-blue);
  border-radius: 12px;
  width: 203px;
  height: 38px;
  color: var(--white);
  margin: 0 143px 0 auto;
  transform: translateY(-48px);
}
.d-top .link-button.service {
  /* top: 300px; */
  /* left: 1020px; */
}
.d-top .link-button.company {
  /* top: 428px; */
  /* left: 513px; */
  margin-left: 400px;
}
.d-top .link-button.access {
  /* top: 428px; */
  /* left: 732px; */
  margin-left: 640px;
  display: flex;
}
.d-top .link-button:hover {
  color: var(--dark-blue);
  background-color: var(--white);
}

.d-top .button-text {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  
  font-size: var(--button-font-size);
  letter-spacing: var(--button-letter-spacing);
  line-height: var(--button-line-height);
  white-space: nowrap;
  font-style: var(--button-font-style);
}
.d-top .button-arrow {
  background-image: url("/img/button-arrow.svg");
  background-repeat: no-repeat;
  width: 16px;
  height: 17px;
  align-items: center;
  background-position: center;
}
.d-top .link-button:hover .button-arrow{
  background-image: url("/img/button-arrow-hover.svg");
}

.d-top .section-FV .join-us {
  position: absolute;
  top: 481px;
  left: 976px;
  width: 310px;
  height: 124px;
  overflow: visible;
  z-index: 1;
}

.d-top .joinus-text {
  position: absolute;
  top: 32px;
  left: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0px 4px 4px #00000040;
  font-family: var(--body-font-family);
  font-weight: var(--body-font-weight);
  color: #ffffff;
  font-size: var(--body-font-size);
  letter-spacing: var(--body-letter-spacing);
  line-height: var(--body-line-height);
  font-style: var(--body-font-style);
}

.d-top .joinus-image {
  position: absolute;
  width: 115px;
  height: 124px;
  top: 0;
  left: 195px;

  background-image: url("/img/joinus.svg");
  background-position: center;
  background-repeat: no-repeat;
}

.d-top .section-FV .FV-img {
  position: relative;
  /* top: 88px; */
  /* left: 40px; */
  width: 800px;
  height: 564px;
  z-index: 1;
  margin: 88px 40px auto;
  /* overflow: overlay; */
}

.d-top .joinus-text-bg {
  position: relative;
  top: 20px;
  left: -15px;
  width: 308px;
  height: 116px;
  background-image: url("/img/joinus-text-bg.svg");
  background-repeat: no-repeat;
}
.d-top .join-us:hover .joinus-text-bg{
  background-image: url("/img/joinus-text-bg-hover.svg");
  background-repeat: no-repeat;
}
.d-top .join-us:hover .joinus-image{
  /* background-image: url("/img/joinus-hover.svg");
  background-repeat: no-repeat;
  background-position: center; */

  transform: scale(1.1); /* é ˜åŸŸå¤–ã¾ã§å¤§ãã */
  transition: transform 0.3s;
}

.d-top .FV-message {
  position: relative;
  /* top: 138px; */
  /* left: 759px; */
  width: 483px;
  height: 210px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 2;
  margin: 138px 128px  0 auto;
  transform: translateX(-128px);
}

.d-top .FV-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 485px;
  height: 180px;
  font-family: var(--desktop-FV-font-family);
  font-weight: var(--desktop-FV-font-weight);
  color: var(--dark-blue);
  font-size: var(--desktop-FV-font-size);
  text-align: right;
  letter-spacing: var(--desktop-FV-letter-spacing);
  line-height: var(--desktop-FV-line-height);
  font-style: var(--desktop-FV-font-style);
}

.d-top .text-wrapper-19 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 248px;
  width: 231px;
  height: 14px;
  font-family: var(--desktop-ENG-title-font-family);
  font-weight: var(--desktop-ENG-title-font-weight);
  color: var(--dark-blue);
  font-size: var(--desktop-ENG-title-font-size);
  letter-spacing: var(--desktop-ENG-title-letter-spacing);
  line-height: var(--desktop-ENG-title-line-height);
  white-space: nowrap;
  font-style: var(--desktop-ENG-title-font-style);
}

.d-top .header {
  position: absolute;
  top: 0;
  left: calc(50.00% - 683px);
  /* width: 1366px; */
  height: 206px;
}

.d-top .p {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Poppins", Helvetica;
  font-weight: 500;
  color: #ffffff80;
  font-size: 13px;
  letter-spacing: 0.39px;
  line-height: 13px;
}
/* Original CSS code should be injected here from style.css */

/* Additional CSS for semantic improvements */

.d-top .PC {
  list-style: none;
  padding: 0;
  margin: 0;
}

.d-top .service-menu-card {
  display: flex;
  flex-direction: column;
  width: 476px;
  height: 80px;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 24px;
  position: relative;
  /* left: 24px; */
  background-color: #ffffff;
  border-radius: 24px;
  border: 1px solid rgba(22, 32, 91, 0.3);
  margin-bottom: 16px;
}
  
.d-top .service-menu-card .card-content {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.d-top .service-menu-card .card-icon-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
}

.d-top .service-menu-card .card-icon {
  width: 48px;
  height: 48px;
  background-color: var(--blue);
  border-radius: 16px;
  padding: 8px;
  box-sizing: border-box;
}

.d-top .service-menu-card .card-title {
  font-weight: var(--h3-font-weight);
  color: var(--dark-blue);
  font-size: var(--h3-font-size);
  letter-spacing: var(--h3-letter-spacing);
  line-height: var(--h3-line-height);
  font-family: var(--h3-font-family);
  white-space: nowrap;
}

.d-top .service-menu-card.kitting {
  height: 176px;
}
.d-top .service-menu-card.kitting ul{
  left:64px;
}

.d-top .submenu-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  background-color: rgba(3, 114, 255, 0.05);
  border-radius: 24px;
  position: relative;
  width: 333px;
  height: 98px;
  /* top: 8px; */
  /* left: 8px; */
  overflow: hidden;
  background-image: url("/img/submenu-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 24px center; /* å³ã‹ã‚‰24pxã€ç¸¦æ–¹å‘ã¯ä¸­å¤® */
}

.d-top .submenu-item.camp {
  width: 350px;
}
.d-top .submenu-item.itagency {
  width: 300px;
}
.d-top .submenu-item.delete {
  width: 250px;
}
.d-top .submenu-item.develop {
  width: 230px;
}

.d-top .submenu-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.d-top .submenu-icon {
  width: 32px;
  height: 32px;
  position: relative;
}

.d-top .submenu-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.d-top .submenu-category {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.7px;
  margin: 0;
  color: var(--dark-blue);
  white-space: nowrap;
}

.d-top .submenu-title {
  font-family: var(--h3-font-family);
  font-weight: var(--h3-font-weight);
  font-size: var(--h3-font-size);
  letter-spacing: var(--h3-letter-spacing);
  line-height: var(--h3-line-height);
  color: var(--dark-blue);
  margin: 0;
}

.d-top .section-company .line-up {
  position: relative;
  /* top:270px; */
  /* left:0px; */
  /* width: 1366px; */
  /* height: 1px; */
  background:var(--white);
}

.d-top .section-company .vison-message {
  position: relative;
  /* top:310px; */
  /* left:143px; */
  width: 270px;
  height: 96px;
  color: var(--Dark-blue, #16205B);
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 48px */
  letter-spacing: 1.6px;
}
.d-top .section-company .key-message {
  position: relative;
  /* top:310px; */
  /* left:514px; */
  width: 709px;
  height: 78px;
  color: var(--Dark-blue, #16205B);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 25.5px */
  letter-spacing: 0.75px;
  display: flex;
  /* margin-left: 400px; */
  /* transform: translateY(-96px); */
}

.d-top .section-company .footer-kowa {
  position: relative;
  width: 1376px;
  height: 132px;
  background-image: url("/img/company-footer.svg");
  background-repeat: no-repeat;
  background-position: left;
  align-items: center;
  margin-top: 150px;
}

.d-top .section-recruit {
  position: relative;
  /* top: 2336px; */
  /* left: 0px; */
  /* width: 1366px; */
  /* height: 968px; */
  /* background-image: url("/img/section-recruit-bg.svg"); */
  /* background-repeat: no-repeat; */
  display: block;
  padding-top: 164px;
  padding-left: 143px;
}

.d-top .section-recruit .vison-message{
  position: relative;
  /* top: 367px; */
  /* left: 143px; */
  width: 278px;
  height: 36px;
  color: var(--dark-blue, #16205B);
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 36px */
  letter-spacing: 1.2px;
  margin-bottom: 24px;
}
.d-top .section-recruit .key-message{
  position: relative;
  /* top: 427px; */
  /* left: 143px; */
  width: 275px;
  height: 52px;
  color: var(--Dark-blue, #16205B);

  /* Body */
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 25.5px */
  letter-spacing: 0.75px;
}

.d-top .section-recruit .recruit-box {
  position: relative;
  /* width: 320px; */
  height: 320px;
  aspect-ratio: 1;
  border-radius: 112px;
  background: #9F9F9F;
  overflow: hidden;
}

.d-top .section-recruit .recruit-box .image {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
  transform-origin: center center;

}

.d-top .section-recruit .recruit-box .header {
  height: 25.94%;
  top: 0;
  left: 0;
  position: relative;
  width: 100%;
  padding: 0;
}

.d-top .section-recruit .recruit-box .text-block {
  position: absolute;
  width: 185px;
  height: 27px;
  top: 32px;
  left: 70px;
  gap: 16px;
  align-items: center;
display: flex;
overflow: visible; 
z-index: 10;
}
.d-top .section-recruit .recruit-box.parttime .text-block {
  width: 222px;
  left: 50px;;
}
.d-top .section-recruit .recruit-box .text {
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 27px */
  letter-spacing: 0.9px;
}

.d-top .section-recruit .recruit-box .text-block .arrow {
  background-image: url("/img/recruit-arrow.svg");
  background-repeat: no-repeat;
  width:17px;
  height:19px;
  background-position: center;
}

.d-top .section-recruit .recruit-box:hover .image{
  transform: scale(1.1);
}
.d-top .section-recruit .recruit-box:hover .arrow{
  background-image: url("/img/recruit-arrow-hover.svg");
}

.d-top .service-menu-card .card-icon.network {
  background-image: url("/img/icon-network.svg");
}
.d-top .service-menu-card:hover .card-icon.network {
  background-image: url("/img/icon-network-hover.svg");
}
.d-top .service-menu-card:hover {
border-radius: 24px;
border: 1px solid var(--Blue, #0372FF);
background: rgba(3, 114, 255, 0.10);
}
.d-top .service-menu-card  .card-arrow {
  width: 17px;
  height: 19px;
  background-image: url("/img/service-menu-arrow.svg");
  background-position: center;
  background-repeat: no-repeat;
}
.d-top .service-menu-card:hover  .card-arrow {
  background-image: url("/img/service-menu-arrow-hover.svg");
}
.d-top .service-menu-card .card-icon.server {
  background-image: url("/img/icon-server.svg");
}
.d-top .service-menu-card:hover .card-icon.server {
  background-image: url("/img/icon-server-hover.svg");
}
.d-top .service-menu-card .card-icon.display {
  background-image: url("/img/icon-display.svg");
}
.d-top .service-menu-card:hover .card-icon.display {
  background-image: url("/img/icon-display-hover.svg");
}
.d-top .service-menu-card .card-icon.kitting {
  background-image: url("/img/icon-kitting.svg");
}
.d-top .service-menu-card:hover .card-icon.kitting {
  background-image: url("/img/icon-kitting-hover.svg");
}
.d-top .service-menu-card .card-icon.pos {
  background-image: url("/img/icon-pos.svg");
}
.d-top .service-menu-card:hover .card-icon.pos {
  background-image: url("/img/icon-pos-hover.svg");
}

.d-top .submenu-item:hover{
  border: 1px solid var(--Blue, #0372FF);
  background: rgba(3, 114, 255, 0.10);
  background-image: url("/img/submenu-arrow-hover.svg");
  background-repeat: no-repeat;
  background-position: right 24px center;
}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items:center;
  justify-content:center;
}

.two-col#service-cards {
  gap: 32px;
  width: 1080px;
}

.two-col.company-info_text {
  grid-template-columns: 270px 1fr;
  gap: 104px;
  align-items: start;
}
.two-col.company-info_linkbutton {
  grid-template-columns: 203px 1fr;
  gap: 16px;
}

.two-col.company-info_linkbutton .link-button {
  margin: 40px 0;
  transform: none;
}
.two-col.recruit-info {
  grid-template-columns: 275px 1fr;
  gap: 134px;
  align-items: start;
}

.recruit-buttons {
    display: flex;
    gap: 32px;
    transform: translateY(-142px);
}

/* header {
  position: sticky;
  top: 0;
  z-index: 1000;
} */

#section-error {
  padding: 151px 0 64px 90px;
}

#section-error .error-title {
  color: #000;
font-family: Inter;
font-size: 40px;
font-style: normal;
font-weight: 600;
line-height: 150%; /* 60px */
letter-spacing: 4px;
}

#section-error .error-message {
  color: var(--blue, #0372FF);

  /* Desktop/H2タイトル */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 36px */
  letter-spacing: 1.2px;

  margin-top: 52px;
}

#section-error .error-description {
color: var(--dark-blue, #16205B);

/* Body */
font-family: "Noto Sans JP";
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 170%; /* 25.5px */
letter-spacing: 0.75px;
margin-top: 24px;
}

.d-top .submenu-item {
  opacity: 1;
}

.recruit-box{
  border-radius: 24px;
  overflow: hidden;   /* ← これが原因の解決策 */
}
