@charset "utf-8";

html {
  height: 100%;
  width: 100%;
  margin: 0;
}

/*body {
  font-family: "Noto Sans JP", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  background-color: #fff;
  position: relative;
}*/

li {
  list-style: none;
}

.cursorCloud {
  cursor: url(../img/cloud.png), default;
}

#vr {
  transform-origin: center bottom;
  animation: 2s linear infinite rotation1;
}

#alternatives {
  animation: 4s linear infinite rotation2;
}

#earth {
  animation: 5s linear infinite rotation3;
}

#goals {
  animation: 4s linear infinite rotation4;
}

@keyframes rotation1 {
  0%,
  100% {
    transform: rotate(10deg);
  }

  50% {
    transform: rotate(-10deg);
  }
}

@keyframes rotation2 {
  0% {
    transform: rotateY(0);
  }

  100% {
    transform: rotateY(360deg);
  }
}

@keyframes rotation3 {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotation4 {
  0% {
    transform: rotateX(0);
  }

  100% {
    transform: rotateX(360deg);
  }
}

.btn-blue {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: #006fb7;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #0266a9;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #0266a9;
  --bs-btn-active-border-color: #ffffff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: #006fb7;
  --bs-btn-disabled-border-color: #006fb7;
}

.btn-yellow {
  --bs-btn-color: #000000;
  --bs-btn-bg: #f1a501;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #000000;
  --bs-btn-hover-bg: #e19b03;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: #e19b03;
  --bs-btn-active-border-color: #000000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: #f1a501;
  --bs-btn-disabled-border-color: #f1a501;
}

.btn-red {
  --bs-btn-color: #000000;
  --bs-btn-bg: #df6951;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #000000;
  --bs-btn-hover-bg: #ce573f;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: #ce573f;
  --bs-btn-active-border-color: #000000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: #df6951;
  --bs-btn-disabled-border-color: #df6951;
}

.area {
  width: 100%;
  height: 500px;
  position: relative;
}

.wrap {
  display: flex;
  column-gap: 50px;
  position: absolute;
  top: 0;
  left: 0;
}

.item-service {
  display: flex;
  justify-content: center;
  width: 350px;
}

#alert {
  border-radius: 100px 20px 20px 20px;
  width: 80vw;
}

.accordion {
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.125);
  --bs-accordion-active-color: var(--bs-secondary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-secondary-bg-subtle);
}

.absolute {
  position: absolute;
  top: 25px;
  right: 25px;
}

/*.card-img-top {
  width: auto;
  height: 120px;
  margin: 0 auto;
}*/

.card-img-tab {
  width: -webkit-fill-available;
}
.card-img-tab2 {
  width: -webkit-fill-available;
}

.card-service {
  padding-bottom: 0.5rem !important;
}

.card-img-top-service {
  width: auto;
  height: 300px;
  margin: 0 auto;
  top: 25%;
}

.purpose-item img {
  position: absolute;
  top: 0;
  left: 90%;
}

.bg {
  animation: bg-change 9s infinite;
}
@keyframes bg-change {
  0% {
    background-color: rgb(241 165 1 / 20%);
  }
  20% {
    background-color: rgb(0 111 183 / 20%);
  }
  40% {
    background-color: rgb(0 111 183 / 20%);
  }
  60% {
    background-color: rgb(220 106 82 / 20%);
  }
  80% {
    background-color: rgb(220 106 82 / 20%);
  }
  100% {
    background-color: rgb(241 165 1 / 20%);
  }
}
.bg-btn {
  animation: bg-btn-change 9s infinite;
}
@keyframes bg-btn-change {
  0% {
    background-color: #f1a501;
  }
  20% {
    background-color: #006fb7;
    color: #fff;
  }
  40% {
    background-color: #006fb7;
    color: #fff;
  }
  60% {
    background-color: #dc6a52;
  }
  80% {
    background-color: #dc6a52;
  }
  100% {
    background-color: #f1a501;
  }
}

.arrow {
  width: 50px;
  height: 50px;
  background-size: cover;
  background-position: center center;
  animation: change-img-anim 9s infinite;
}

@keyframes change-img-anim {
  0% {
    background-image: url(../img/arrow_yellow.png);
  }
  20% {
    background-image: url(../img/arrow_blue.png);
  }
  40% {
    background-image: url(../img/arrow_blue.png);
  }
  60% {
    background-image: url(../img/arrow_red.png);
  }
  80% {
    background-image: url(../img/arrow_red.png);
  }
  100% {
    background-image: url(../img/arrow_yellow.png);
  }
}

.background {
  position: absolute;
  width: 40vh;
  height: 40vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .background1 {
    background-image: url("../img/red.png");
    animation: moveBackground1 12s infinite;
  }

  .background2 {
    background-image: url("../img/blue.png");
    animation: moveBackground2 12s infinite;
  }

  .background3 {
    background-image: url("../img/yellow.png");
    animation: moveBackground3 12s infinite;
  }
  .background4 {
    background-image: url("../img/red.png");
    animation: moveBackground4 12s infinite;
  }

  .background5 {
    background-image: url("../img/blue.png");
    animation: moveBackground5 12s infinite;
  }

  .background6 {
    background-image: url("../img/yellow.png");
    animation: moveBackground6 12s infinite;
  }

  @keyframes moveBackground1 {
    0% {
      top: 10%;
      left: 10%;
    }
    25% {
      top: 50%;
      left: 50%;
    }
    50% {
      top: 80%;
      left: 80%;
    }
    75% {
      top: 80%;
      left: 20%;
    }
    100% {
      top: 10%;
      left: 10%;
    }
  }

  @keyframes moveBackground2 {
    0% {
      top: 35%;
      left: 50%;
    }
    25% {
      top: 80%;
      left: 35%;
    }
    50% {
      top: 65%;
      left: 50%;
    }
    75% {
      top: 80%;
      left: 65%;
    }
    100% {
      top: 35%;
      left: 50%;
    }
  }

  @keyframes moveBackground3 {
    0% {
      top: 72.5%;
      left: 50%;
    }
    25% {
      top: 65%;
      left: 35%;
    }
    50% {
      top: 65%;
      left: 80%;
    }
    75% {
      top: 35%;
      left: 35%;
    }
    100% {
      top: 72.5%;
      left: 50%;
    }
  }

  @keyframes moveBackground4 {
    0% {
      top: 10%;
      left: 60%;
    }
    25% {
      top: 50%;
      left: 0%;
    }
    50% {
      top: 10%;
      left: 20%;
    }
    75% {
      top: 60%;
      left: 10%;
    }
    100% {
      top: 10%;
      left: 60%;
    }
  }

  @keyframes moveBackground5 {
    0% {
      top: 90%;
      left: 90%;
    }
    25% {
      top: 60%;
      left: 50%;
    }
    50% {
      top: 40%;
      left: 70%;
    }
    75% {
      top: 10%;
      left: 60%;
    }
    100% {
      top: 90%;
      left: 90%;
    }
  }

  @keyframes moveBackground6 {
    0% {
      top: 10%;
      left: 50%;
    }
    25% {
      top: 10%;
      left: 60%;
    }
    50% {
      top: 40%;
      left: 50%;
    }
    75% {
      top: 30%;
      left: 0%;
    }
    100% {
      top: 10%;
      left: 50%;
    }
  }
}

.carousel-inner1 p {
  margin: 20px 0 20px 0;
  font-size: 20px;
}

.btn-container {
  display: flex;
  gap: 10px;
  margin-top: 40px;
}

#color-changing-text {
  font-family: "Times New Roman";
  letter-spacing: 0.3em;
  font-size: 8vh;
  display: inline-block;
}

.carousel-inner1 {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: auto 0 auto 5%;
  flex: 1;
}

.carousel-inner2 {
  position: relative;
  width: 45%;
  height: auto;
}

.carousel-inner2 img {
  width: 100%;
  height: auto;
  position: absolute;
}

.carousel {
  display: flex;
  height: 100vh;
}

.notification {
  width: 75%;
  margin: 50px auto auto auto;
}

.tab {
  width: 75%;
}

.purpose {
  width: 85%;
  margin: 0 auto 150px auto;
}

/*.contact{
  margin: 150px 12.5% auto 12.5%;
}*/

.contact {
  margin: 150px 0 0 0;
}

.service {
  margin: 0 3vw 0 3vw;
}
.img-top {
  margin-top: 80px;
  width: 95%;
  right: 5%;
}
.purpose-card3 {
  margin-top: 20px;
}
.notification-list {
  display: flex;
}
.contact-img1 {
  width: 300px;
  right: 0;
}
.contact-img2 {
  opacity: 0.1;
  margin-top: 120px;
  width: 300px;
  left: 0;
}
.contact-img3 {
  left: 100% !important;
}
.contact-img4 {
  left: 100% !important;
  padding: 2px;
}
.content {
  width: 250px;
  height: auto;
}
.card-row {
  width: 980px;
  height: 350px;
  flex-direction: row;
}
.slider {
  display: flex;
  align-items: center;
  height: 200px;
  overflow: hidden;
}
.slideshow {
  display: flex;
  animation: loop-slide 35s infinite linear 1s both;
}
.purpose-card1 {
  margin-top: 20px;
}
.purpose-card4 {
  margin-top: 20px;
}
.btn-top {
  cursor: url(../img/cloud.png), default;
  font-family: sans-serif;
}
.service-title {
  font-size: x-large;
}

.service-img-side {
  width: auto;
  height: 300px;
  margin: 0 auto;
  top: 35%;
}

@media screen and (max-width: 1024px) {
  #alert {
    border-radius: 100px 20px 20px 20px;
    width: 900px;
  }
}

@media screen and (max-width: 768px) {
  .card-img-top-service {
    height: 250px;
  }
  .service-title {
    font-size: 16px;
  }
  .service-details {
    font-size: 0.875em;
  }
  .btn-container {
    margin-top: 0;
  }
  #alert {
    border-radius: 100px 20px 20px 20px;
    width: auto;
  }
  .btn-top {
    width: 50%;
    font-size: 15px;
    cursor: url(../img/cloud.png), default;
    font-family: sans-serif;
  }
  .contact-img1 {
    width: 300px;
    right: 150px;
    bottom: 75px;
    transform: rotate(90deg);
  }
  .card-img-tab {
    width: auto;
    height: 50px;
    padding: 0 30px;
  }
  .card-img-tab2 {
    width: auto;
    height: 45px;
    padding: 0 30px;
  }
  .slider {
    height: 150px;
  }
  .content {
    width: 150px;
    height: auto;
  }
  .notification-list {
    display: flex;
    margin-right: auto;
    flex-direction: column;
  }
  .contact-img2 {
    display: none;
  }
  .service-img-side {
    display: none;
  }
  .purpose-card1 {
    margin-top: 15px;
  }
  .purpose-card2 {
    margin-top: 40px;
  }
  .purpose-card3 {
    margin-top: 60px;
  }
  .purpose-card4 {
    margin-top: 60px;
  }
  .slider {
    margin: 10px 0 10px 0;
  }
  .carousel {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .img-top {
    margin-top: 65px;
    right: 5px;
  }
  .carousel .carousel-inner1 {
    order: 2;
    display: flex;
    flex-direction: column;
    margin: 109% auto 0 auto;
    width: 100%;
  }

  #color-changing-text {
    font-family: "Times New Roman";
    letter-spacing: 0.3em;
    font-size: 31px;
    display: inline-block;
  }
  .carousel-inner1 p {
    font-size: 3vw;
  }
  .carousel .carousel-inner2 {
    margin-top: 2%;
    width: 100%;
    height: auto;
    order: 1;
  }
  .notification {
    width: 100%;
    margin: 50px auto auto auto;
    padding: 0 5%;
  }
  .tab {
    width: 100%;
  }
  .purpose {
    width: 75%;
    margin: 60px auto 0 auto;
  }
  .contact {
    margin: 60px 5% auto 5%;
  }
  .service {
    margin: 0 0 0 0;
  }
  .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .item-service {
    width: 90%;
    margin-bottom: 20px;
  }
  .area {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
  }

  .wrap {
    display: flex;
    column-gap: 50px;
    position: relative;
  }
  .contact-img3 {
    left: 90% !important;
  }
}

.char {
  font-family: sans-serif;
  /* font-weight:bold; */
  animation: colorChange0 10s infinite;
}

@keyframes colorChange0 {
  0% {
    color: black;
  }
  25% {
    color: black;
  }
  50% {
    color: black;
  }
  75% {
    color: black;
  }
  100% {
    color: black;
  }
}

.char-a {
  animation: colorChange1 10s infinite;
}

@keyframes colorChange1 {
  0% {
    color: black;
  }
  25% {
    color: #dc6a52;
  }
  50% {
    color: black;
  }
  75% {
    color: #dc6a52;
  }
  100% {
    color: black;
  }
}

.char-g {
  animation: colorChange2 10s infinite;
}

@keyframes colorChange2 {
  0% {
    color: #dc6a52;
  }
  25% {
    color: #f1a501;
  }
  50% {
    color: #006fb7;
  }
  75% {
    color: #f1a501;
  }
  100% {
    color: #dc6a52;
  }
}

.char-b {
  animation: colorChange3 10s infinite;
}

@keyframes colorChange3 {
  0% {
    color: #006fb7;
  }
  25% {
    color: #dc6a52;
  }
  50% {
    color: #f1a501;
  }
  75% {
    color: #dc6a52;
  }
  100% {
    color: #006fb7;
  }
}

.char-o {
  animation: colorChange4 10s infinite;
}

@keyframes colorChange4 {
  0% {
    color: #f1a501;
  }
  25% {
    color: #006fb7;
  }
  50% {
    color: #dc6a52;
  }
  75% {
    color: #006fb7;
  }
  100% {
    color: #f1a501;
  }
}

.char-l {
  animation: colorChange5 10s infinite;
}

@keyframes colorChange5 {
  0% {
    color: #006fb7;
  }
  25% {
    color: black;
  }
  50% {
    color: #006fb7;
  }
  75% {
    color: black;
  }
  100% {
    color: #006fb7;
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*ホーム以降のページ*/

body {
  font-family: "Noto Sans JP", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 400;
  font-style: normal;
  background-color: #fff;
  position: relative;
}

/*トップ画像*/
.top-image {
  margin-top: 60px;
}
/*事業内容　トップ画像*/
.jigyo-top-image {
  margin-top: 160px;
}

/*各大見出し*/
.major-heading {
  font-size: 1.75rem !important;
}
/*小見出し*/
.sub-heading {
 font-size: 1.4rem !important;
}
/*テキスト*/
.main-text {
  font-size: 1.25rem !important;
}
/*レスポンシブ対応画像*/
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
.tb {
  display: none !important;
}

/*各セクション余白*/
section {
  margin-top: 150px !important;
}

.section {
  margin-top: 100px;
}

/*罫線*/
hr {
  margin-top: 150px;
}

/*会社情報・プライバシー・お知らせ・お問い合わせ　トップリンク余白*/
.top-link {
  padding-top: 129px;
}

/*採用情報　選択ボタン*/
.serect-btn a {
  font-size: 20px;
}

/*採用情報　戻るボタン*/
.return-btn {
  font-size: 20px;
  width: 60%;
}

.category-badge {
  background-color: #ad7ea5;
  border-radius: 0%;
}
@media screen and (max-width: 1024px) {
  .major-heading {
    font-size: 1.25rem !important;
  }
  .sub-heading {
    font-size: 1rem !important;
   }
   .main-text {
    font-size: 1rem !important;
  }
  .pc {
    display: none !important;
  }
  .tb {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
  section {
    margin-top: 80px !important;
  }
  .section {
    margin-top: 53px !important;
  }
   .return-btn {
    width: 70% !important;
  }

/*各SaaS IT導入　ページ末文余白*/
  .bottom-title {
    margin-top: 80px !important;
    margin-bottom: 26px !important;
  }

  /*採用情報　ページ末ボタン余白*/
  .botton-btm {
    margin-top: 80px !important;
    margin-bottom: 26px !important;
  }

  hr {
    margin-top: 80px !important;
  }

  .top-link {
    padding-top: 123px !important;
  }
}

@media screen and (max-width: 820px) {
  .top-link {
    padding-top: 96px !important;
  }
}

@media screen and (max-width: 768px) {
  .top-image {
    margin-top: 61px;
  }
  .jigyo-top-image {
    margin-top: 161px;
  }

  .pc {
    display: none !important;
  }
  .tb {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 576px) {

  .jigyo-top-image {
    margin-top: 111px !important;
  }

  

  .pc {
    display: none !important;
  }
  .tb {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  section {
    margin-top: 65px !important;
  }
  .section {
    margin-top: 40px !important;
  }

  .bottom-title {
    font-size: 22px !important;
    margin-top: 60px !important;
    margin-bottom: 20px !important;
  }

  .botton-btm {
    margin-top: 60px !important;
    margin-bottom: 20px !important;
  }

  hr {
    margin-top: 60px !important;
  }

  .top-link {
    padding-top: 82.5px !important;
  }

  .contact-btn {
    font-size: 16px !important;
  }

  .return-btn {
    font-size: 16px !important;
  }
  .serect-btn a {
    font-size: 16px;
  }

  .entry-btn {
    font-size: 16px !important;
   }
}
@media screen and (max-width: 344px) {
  .top-serect-btn {
    font-size: 15px !important;
    padding: 5.61% 0% !important;
  }
}




/*各ボタン配色デザイン*/
.btn-dark-red {
  --bs-btn-color: black;
  --bs-btn-bg: #dc6a52;
  --bs-btn-border-color: #dc6a52;
  --bs-btn-hover-color: black;
  --bs-btn-hover-bg: #d97f6d;
  --bs-btn-hover-border-color: #d6664f;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: black;
  --bs-btn-active-bg: #d97f6d;
  --bs-btn-active-border-color: #d6664f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: black;
  --bs-btn-disabled-bg: #dc6a52;
  --bs-btn-disabled-border-color: #d97f6d;
}

.btn-orange {
  --bs-btn-color: black;
  --bs-btn-bg: #f1a501;
  --bs-btn-border-color: #f1a501;
  --bs-btn-hover-color: black;
  --bs-btn-hover-bg: #f0c059;
  --bs-btn-hover-border-color: #f0b73b;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: black;
  --bs-btn-active-bg: #f0c059;
  --bs-btn-active-border-color: #f0b73b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: black;
  --bs-btn-disabled-bg: #f1a501;
  --bs-btn-disabled-border-color: #f0c059;
}

.btn-dark-blue {
  --bs-btn-color: white;
  --bs-btn-bg: #006fb7;
  --bs-btn-border-color: #006fb7;
  --bs-btn-hover-color: white;
  --bs-btn-hover-bg: #3884b7;
  --bs-btn-hover-border-color: #257fbb;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: white;
  --bs-btn-active-bg: #3884b7;
  --bs-btn-active-border-color: #257fbb;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: white;
  --bs-btn-disabled-bg: #006fb7;
  --bs-btn-disabled-border-color: #3884b7;
}

.btn-white {
  --bs-btn-color: black;
  --bs-btn-border-color: black;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #006fb7;
  --bs-btn-hover-border-color: #006fb7;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #006fb7;
  --bs-btn-active-border-color: #006fb7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #006fb7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #006fb7;
  --bs-gradient: none;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-dark {
  --bs-btn-color: black;
  --bs-btn-border-color: black;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: black;
  --bs-btn-hover-border-color: black;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: black;
  --bs-btn-active-border-color: black;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: black;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: black;
  --bs-gradient: none;
}

.btn-gray {
  --bs-btn-color: black;
  --bs-btn-bg: #c0c0c0;
  --bs-btn-border-color: #c0c0c0;
  --bs-btn-hover-color: black;
  --bs-btn-hover-bg: #d6d5d5;
  --bs-btn-hover-border-color: #c6c4c4;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: black;
  --bs-btn-active-bg: #d6d5d5;
  --bs-btn-active-border-color: #c6c4c4;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: black;
  --bs-btn-disabled-bg: #c0c0c0;
  --bs-btn-disabled-border-color: #d6d5d5;
}

/*事業内容 お問い合わせボタン*/
.contact-btn {
  font-size: 20px;
}

/*エントリーボタン*/
.entry-btn {
 font-size: 20px;
}

.address-pc {
  display: block;
}

/*contact*/
.address-sp {
  display: none;
}

@media screen and (max-width: 992px) {
  .address-pc {
    display: none;
  }

  .address-sp {
    display: block;
  }
}

.list-group {
  --bs-list-group-bg: none;
  --bs-list-group-border-color: none;
}

/* --------------------------------------------------
 * お問い合わせフォーム（Contact Form 7）カスタムスタイル
 * -------------------------------------------------- */
.custom-privacy-section {
    margin-top: 40px;
    margin-bottom: 30px;
}

/* 赤文字の注意書き */
.custom-privacy-section .privacy-note {
    color: #d9534f;
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* 規約ボックスのスクロール */
.custom-privacy-section .privacy-scroll-box {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 15px;
    height: 160px;
    overflow-y: scroll;
    font-size: 14px;
    color: #333;
    line-height: 1.7;
    margin-bottom: 25px;
    text-align: left;
}

/* 同意チェックボックス */
.custom-privacy-section .privacy-note {
    color: #d9534f;
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}
/* 確認画面へ進むボタン（初期状態） */
#cf7-next-btn {
    font-weight: bold;
    padding-top: 12px;
    padding-bottom: 12px;
}

.wpcf7-submit.confirmation-btn:hover {
    background-color: #f5f5f5 !important;
}
.cf7-preview-text {
    border-bottom: 1px dashed #eee;
    color: #333;
    font-weight: 500;
}

/*お知らせ*/
.post-content p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: #333;
}
.post-content h3 {
    font-size: 20px;
    font-weight: bold;
    border-left: 4px solid #0056b3; /* 既存サイトのアクセントカラー */
    padding-left: 10px;
    margin: 2rem 0 1rem;
}
.post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* ==================================================
 * WordPress管理バー表示時の固定ヘッダー位置調整
 * ================================================== */
/* PCサイズ（管理バーの高さ: 32px） */
.admin-bar .fixed-top,
.admin-bar header {
  top: 32px !important;
}

/* スマホ・タブレットサイズ（管理バーの高さ: 46px） */
@media screen and (max-width: 782px) {
  .admin-bar .fixed-top,
  .admin-bar header {
    top: 46px !important;
  }
}

.home section,
.home .section {
  margin-top: 0 !important;
}

html, body {
  overflow-x: hidden;
}

/* Contact Form 7 の アラートを消す*/
.wpcf7-response-output {
  display: none !important;
}

/*
/* kintoneのプランテーブル全体への一括設定 
.kintone-plan-tables table {
    width: 100%;
}

/* 1列目（ライト、スタンダード等のプラン名）
.kintone-plan-tables table td:nth-child(1) {
    width: 25%;
}

/* 2列目（詳細な内容）
.kintone-plan-tables table td:nth-child(2) {
    width: 55%;
}

/* 3列目（金額）
.kintone-plan-tables table td:nth-child(3) {
    width: 20%;
}
*/

/* ==========================================================================
   Google Workspace AI ページ専用スタイル
   ========================================================================== 
.gw-ai-page {
    --bs-primary: #4285f4;
    --bs-body-font-family: 'Noto Sans JP', sans-serif;
}

/* 「AIに任せませんか？」エリアのグラデーションカラー 
.gw-ai-page .hero-section {
    background: linear-gradient(45deg, #4285f4, #34a853);
    color: white;
    padding: 3rem 0;
}

.gw-ai-page .hero-section h1 {
    font-weight: 900;
}

.gw-ai-page .section-title {
    font-weight: 900;
    margin-bottom: 0.5rem;
}

.gw-ai-page .section-subtitle {
    font-weight: 700;
    color: var(--bs-primary);
    margin-bottom: 2rem;
    display: block;
}

.gw-ai-page .challenge-card {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    height: 100%;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.gw-ai-page .solution-flow {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gw-ai-page .solution-step {
    text-align: center;
    flex: 1;
}

.gw-ai-page .solution-flow::before {
    content: '';
    position: absolute;
    left: 15%;
    right: 15%;
    top: 30px;
    height: 2px;
    background-image: linear-gradient(to right, #ccc 50%, transparent 50%);
    background-size: 16px 2px;
    background-repeat: repeat-x;
    z-index: -1;
}

.gw-ai-page .step-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: white;
    color: var(--bs-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--bs-primary);
    margin-bottom: 1rem;
}

.gw-ai-page .feature-tab-section {
    background-color: #ffffff;
}

.gw-ai-page .nav-pills .nav-link {
    background-color: #e9ecef;
    color: #495057;
    font-weight: bold;
    border-radius: 0.5rem;
}

.gw-ai-page .nav-pills .nav-link.active {
    background-color: var(--bs-primary);
    color: white;
    box-shadow: 0 4px 8px rgba(66, 133, 244, 0.4);
}

.gw-ai-page .start-border-item {
    border-color: #4285f4 !important;
    border-width: 0.5rem !important;
}

/* 
==========================================================================
   SaaS製品ロゴカードの共通崩れ対策
   ========================================================================== */
/* ロゴが入る白い枠の高さ 
.SaaS-card-image {
  height: 200px;
}

/* 枠の中のロゴが大きくなりすぎないよう、縦横の最大サイズを制限して余白を作る 
.SaaS-card-image .card-img-top {
  width: auto;
  height: auto;
  
  /* どんな形状のロゴでも、枠に対して必ず30%以上の余白（安全地帯）を残す設定 
  max-width: 80%;  
  max-height: 70%; 
  
  object-fit: contain;
}
*/

/* ==========================================================================
   サービス説明イラストカードの共通崩れ対策（Web・DTPページ用）
   ========================================================================== 
/* イラストが入る白い枠の設定 
.illust-card-image {
  width: 100%;
  aspect-ratio: 16 / 10; /* 横幅に比例して、高さも自動で伸縮するプロパティ 
}

/* 枠の中のイラストの設定 
.illust-card-image .card-img-top {
  /* HTML側の w-75 (横幅75%) を活かしつつ、縦横比を維持して自動縮小させる 
  height: auto; 
  object-fit: contain; 
}
*/
/* 
==========================================================================
   各セクションの中央線付き見出し共通化
   ========================================================================== */
/* 1. すべての区切り線（.ruled-line）の共通土台設定 
.ruled-line {
  border: none;
  border-top: 1px solid #000000; 
  position: relative;            
  overflow: visible;           
  height: 1px;
  margin-top: 150px;    
  margin-bottom: 60px;        
  opacity: 0.6;       
}

/* 2. 線の上に載せる文字の共通配置ルール（1pxの狂いもなく完全中央寄せ） 
.ruled-line::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  background: #ffffff;       
  padding: 0 10px;            
  font-size: 1.1rem;         
  font-weight: bold;            
  color: #000000;                
}
*/

/* 
3. 各セクションのIDごとに、真ん中に表示する文字を出し分ける 
#language::after {
  content: "言語";
}

#front::after {
  content: "フロントエンド";
}

#back::after {
  content: "バックエンド";
}

#database::after {
  content: "データベース";
}

#cmsEc::after {
  content: "CMS・EC";
}

*/

/* WordPressの自動 border-style: solid を打ち消す */
html [style*="border-color"] {
    border-style: unset; 
}

/* ==========================================================================
   動画一覧ページ サムネイルカードの共通崩れ対策（16:9・余白対応）
   ========================================================================== */
/* 画像を囲む枠を動画らしい「16:9」の比率に固定する */
.video-thumbnail-wrap {
  width: 100%;
  aspect-ratio: 16 / 9; /* 横幅に合わせて高さも自動で16:9に伸縮します */
  background-color: #ffffff; /* 背景を白にして、どんなロゴでも馴染ませる */
  padding: 20px;        /* 各社ロゴのブランド規約（余白確保）を自動クリア */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 枠の中の画像・ロゴの設定 */
.video-thumbnail-wrap .card-img-top {
  width: 100%;
  height: 100%;
  object-fit: contain;  /* 縦横比を100%維持したまま、枠内に綺麗に収める */
}

/* ==========================================================================
   動画ギャラリー 専用スタイル
   ========================================================================== */
/* カード全体の設定 */
.card-video .card-body {
  display: flex;
  flex-direction: column;
}

/* サムネイルを囲む枠（インラインからブロックに変更し、基準点にする） */
.video-thumbnail {
  position: relative;
  cursor: pointer;
  background-color: #000;
  display: block;
  overflow: hidden;
}

/* サムネイル画像（16:9の比率を維持して綺麗にトリミング） */
.video-thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

/* ホバー時に画像を少し暗くする */
.video-thumbnail:hover img {
  opacity: 0.6;
}

/* 再生アイコンを画像の真ん中に絶対配置 */
.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4rem;
  color: white;
  text-shadow: 0 0 15px rgba(0,0,0,0.5);
  pointer-events: none;
  transition: transform 0.3s ease;
}

/* ホバー時に再生アイコンを少し大きくする */
.video-thumbnail:hover .play-icon {
  transform: translate(-50%, -50%) scale(1.1);
}

/* モーダル内の動画レスポンシブ枠（16:9） */
.modal-video-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9の比率を作るお決まりの数値 */
}

.modal-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


.circle-image {
    margin-left: 10px;
    width: 30px;
}

.start-border-item {
    border-width: 0.7rem !important;
}

/* yamanashiShokokaiRengokai 
.start-border-item.border-red {
    border-left-color: #d81d20 !important
}

/* IT導入補助金 
.start-border-item.border-purple {
    border-left-color: #8564a9 !important
}

/* Google Cloud　Google Workspace
.start-border-item.border-rightblue {
    border-color: #4285f4 !important;
}

/* freee　
.start-border-item.border-blue {
    border-color: #2864f0 !important;
}

/* kintone 
.start-border-item.border-Yellow {
    border-color: #ffbf00 !important
}

/* PCA 
.start-border-item.border-Deepblue {
    border-left-color: #005bac !important;
}

/* 請求書代理発行 
.start-border-item.border-seikyu {
    border-left-color: #3673a0 !important;
}

/* PortalSite 
.start-border-item.border-portal {
    border-left-color: #3EC4D9 !important;
}

/* 各種システム開発/SES 
.border-heading.border-ses {
    color: #006fb7;
    border-color: #006fb7 !important;
}
.start-border-item.border-ses {
    border-color: #006fb7 !important;
}

/* DXコンサルタント  WEB・DTPサービス 
.border-heading.border-dx {
    color: #f1a501;
    border-color: #f1a501 !important;
}
.start-border-item.border-dx {
    border-color: #f1a501 !important;
}

/* 各種SaaS導入 BPO/BPaaS 
.border-heading.border-saas {
    color: #dc6a52;
    border-color: #dc6a52 !important;
}
.start-border-item.border-saas {
    border-color: #dc6a52 !important;
}

/* キッティング/デバイス販売 
.border-heading.border-kitting {
    color: #006fb7;
    border-color: #006fb7 !important;
}
.start-border-item.border-kitting {
    border-color: #006fb7 !important;
}

/* 製品紹介 
.border-heading.border-product {
    color: #0a4a8e ;
    border-color: #0a4a8e !important;
}
.start-border-item.border-product {
    border-color: #0a4a8e !important;
}

.introduction-item.border-business {
    border-color: #006fb7 !important;
}

