/* 回遊リンク（template-parts/kaiyu-link.php）用スタイル */
.kaiyu_link,
.kaiyu_service {
  padding: 80px 10px;
}

.kaiyu_service {
  background: #F4F8FB;
}

.kaiyu_link .wrap,
.kaiyu_service .wrap {
  max-width: 1100px;
  width: 100%;
  margin: auto;
}

.kaiyu_link_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 50px;
}

.kaiyu_link_menu li {
  flex: 0 0 calc((100% - 60px) / 4);
}

.kaiyu_link_menu a {
  display: block;
  position: relative;
  background: #F4F8FB;
  padding: 22px 25px 22px 34px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000;
  white-space: nowrap;
}

.kaiyu_link_menu a br {
  display: none;
}

@media screen and (max-width: 480px) {
  .kaiyu_link_menu a br {
    display: inline;
  }
}

.kaiyu_link_menu a::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #006CC9;
}

.kaiyu_service_block {
  display: flex;
  gap: 30px;
  margin-top: 50px;
}

.kaiyu_service_block .box {
  width: calc((100% - 60px) / 3);
  text-align: center;
}

.kaiyu_service_block .link_ttl {
  margin: 0 0 15px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}

.kaiyu_service_block .link_ttl.en {
  letter-spacing: 0.2em;
}

.kaiyu_service_block .link_ttl span {
  margin: 0 0 0 0.5em;
  color: #006CC9;
}

.kaiyu_service_block .link_img img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.kaiyu_service_block .tagline {
  font-size: 1.4rem;
  margin-bottom: 5px;
}

.kaiyu_service_block .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.kaiyu_service_block .link_small {
  margin: 0 auto;
  background-color: #fff;
}

/* .kaiyu_link_menu は8項目なので、PC4列(4,4)→タブレット3列(3,3,2)→
   スマホ2列(2,2,2,2)の3段階でレイアウトを切り替える。
   4列固定のままだと「オンライン面談について」が768〜1000px幅あたりで
   収まりきらず崩れるため、767pxの通常SP切り替えより手前の1000pxで
   先に3列へ切り替える */
@media screen and (max-width: 1000px) {
  .kaiyu_link_menu li {
    flex: 0 0 calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 767px) {
  .kaiyu_link {
    padding: 70px 5%;
  }

  .kaiyu_service {
    padding: 70px 5%;
  }

  .kaiyu_link_menu {
    gap: 12px;
    margin-top: 25px;
  }

  .kaiyu_link_menu li {
    flex: 0 0 calc((100% - 12px) / 2);
  }

  .kaiyu_link_menu a {
    padding: 16px 15px 16px 26px;
    font-size: 1.4rem;
    line-height: 1.3;
    white-space: normal;
  }

  .kaiyu_link_menu a::before {
    left: 12px;
  }

  .kaiyu_service_block {
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
  }

  .kaiyu_service_block .box {
    display: flex;
    justify-content: space-between;
    width: 100%;
    text-align: left;
  }

  .kaiyu_service_block .link_img {
    flex: 0 1 auto;
    width: 41.79104%;
  }

  .kaiyu_service_block .link_content {
    flex: 0 1 auto;
    width: 52.23881%;
  }

  .kaiyu_service_block .link_img img {
    margin-bottom: 0;
  }

  .kaiyu_service_block .link_ttl {
    justify-content: flex-start;
    text-align: left;
  }

  .kaiyu_service_block .ttl {
    justify-content: flex-start;
    text-align: left;
    min-height: 0;
  }

  .kaiyu_service_block .link_small {
    width: 100%;
    margin: 10px 0 0;
  }
}