@charset "utf-8";
/* CSS Document */
.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fs-5 {
  color: var(--primary-color);
}

.system-h3 {
  color: #333;
  padding: 15px 8px;
  display: block;
  border-bottom: 6px solid #e3e3e3;
  position: relative;
}

.system-h3::before {
  content: "";
  background-color: var(--primary-color);
  width: 40px;
  height: 6px;
  position: absolute;
  bottom: -6px;
  left: 0;
}

.card-img-top {
  object-fit: cover;
}

.card-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  column-gap: 1rem;
  grid-row-gap: 1rem;
}

.card {
  box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
}

.card-body {
  display: grid;
  justify-items: center;
  align-items: center;
  text-align: center;
  grid-row-gap: 1rem;
}

.card-body .card-title {
  margin-bottom: 0;
}

.card-body a {
  padding: 0.75em 1em;
  background-color: var(--primary-color);
  color: #fff;
}

.card-img {
  overflow: hidden;
}

.card-img img:hover {
  transform: scale(1.1);
  transition: all 0.5s;
}

.system-table {
  display: grid;
  grid-auto-flow: row;
  border: 2px solid var(--primary-color);
  border-radius: 5px;
  margin-bottom: 3rem;
}

.system-table p {
  margin-bottom: 0;
  padding: 0.75em 1em;
  border-bottom: 2px solid var(--primary-color);
  word-break: break-all;
}

.kaihatu-table {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 1fr 3fr;
}

@media (max-width: 575px) {
  .system-table {
    text-align: center;
  }

  .kaihatu-table {
    grid-auto-flow: row;
    grid-template-columns: auto;
  }
}

.kaihatu-table p:first-of-type {
  border-right: 2px solid var(--primary-color);
  background-color: var(--primary-color);
  color: #fff;
  border-bottom: 2px solid #fff;
}

.kaihatu-table:last-of-type p {
  border-bottom: none;
}

/*================
     カルーセル↓
==================*/
/*画像の横幅を100%にしてレスポンシブ化*/
img {
  width: 100%;
  height: auto;
  vertical-align: bottom; /*画像の下にできる余白を削除*/
}

/*メイン画像下に余白をつける*/
.gallery {
  margin: 0 0 1rem 0;
}

.slick-slide {
  list-style: none;
  margin-left: 0;
}

.slick-track {
  display: flex !important;
  align-items: center;
}
/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 3;
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid var(--primary-color); /*矢印の色*/
  border-right: 2px solid var(--primary-color); /*矢印の色*/
  height: 25px;
  width: 25px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: 2.5%;
  transform: rotate(45deg);
}

/*選択するサムネイル画像の設定*/

.choice-btn li {
  cursor: pointer;
  outline: none;
  background: #333;
  list-style: none;
  margin-left: 0;
  width: 30% !important;
}

.choice-btn li img {
  opacity: 0.4; /*選択されていないものは透過40%*/
}

.choice-btn li.slick-current img {
  opacity: 1; /*選択されているものは透過しない*/
}
/*================
     カルーセル↑
==================*/
/*============================
     カルーセルスライドなし↓
==============================*/
/*メイン画像下に余白をつける*/

.gallery-noslide {
  margin: 0 0 1rem 0;
}

.gallery-noslide li {
  list-style: none;
}

/*選択するサムネイル画像の設定*/

.choice-btn-noslide li {
  cursor: pointer;
  outline: none;
  background: #333;
  width: 25% !important;
  list-style: none;
  margin-left: 0;
}

.choice-btn-noslide li img {
  opacity: 0.4; /*選択されていないものは透過40%*/
}

.choice-btn-noslide li.slick-current img {
  opacity: 1; /*選択されているものは透過しない*/
}

.choice-btn-noslide .slick-track {
  transform: unset !important; /*画面幅サイズ変更に伴うサムネイル固定*/
}
/*============================
     カルーセルスライドなし↑
==============================*/
.back {
  width: 25%;
}

@media (max-width: 767px) {
  .back {
    width: 100%;
  }
}

.use-system {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.use-system-item {
  padding: 0.1rem 0.5rem;
  border-radius: 0.25rem;
  margin-bottom: 0;
  font-size: 0.8rem;
}

.use-system-whatsnew {
  background-color: #f7b9c6;
  color: #212529;
}

.use-system-events {
  background-color: #bfe2cf;
  color: #212529;
}

.use-system-inquiry {
  background-color: #c8c4e1;
  color: #212529;
}

.use-system-other-01 {
  background-color: #d5e6f4;
  color: #212529;
}

.use-system-other-02 {
  background-color: #ffe562;
  color: #212529;
}

.use-system-other-03 {
  background-color: #efcfc0;
  color: #212529;
}

.use-system-other-04 {
  background-color: #e8c6d9;
  color: #212529;
}
