@charset "UTF-8";
.header_outer.is-top .header_logo {
  visibility: visible;
}
@media (min-width: 768px) {
  .header_outer.is-top .header_logo {
    gap: 1.4rem;
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .header_outer.is-top .header_logo {
    gap: 1.1rem;
    padding-top: 0;
  }
}
@media (min-width: 768px) {
  .header_outer.is-top .header_logo h1 {
    width: 20.637rem;
  }
}
@media screen and (max-width: 767px) {
  .header_outer.is-top .header_logo h1 {
    width: 18.6rem;
  }
}
@media (min-width: 768px) {
  .header_outer.is-top .header_logo p {
    font-size: 1.728rem;
  }
}
@media screen and (max-width: 767px) {
  .header_outer.is-top .header_logo p {
    font-size: 1.6rem;
  }
}

.kv_section {
  position: relative;
}
.kv_section.is-animated .kv_bg, .kv_section.is-animated .kv_image {
  opacity: 1;
}
.kv_section.is-animated .kv_inner::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.kv_inner {
  position: relative;
}
@media (min-width: 768px) {
  .kv_inner {
    height: 80.4rem;
    max-height: calc(100vh - 8.5rem);
  }
}
@media screen and (max-width: 767px) {
  .kv_inner {
    height: 100dvh;
    max-height: 64.2rem;
  }
}
.kv_inner::before {
  content: "";
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  position: absolute;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  right: 0;
  bottom: 0;
  transition: clip-path 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1s;
  pointer-events: none;
  z-index: 2;
}
@media (min-width: 768px) {
  .kv_inner::before {
    background-image: url(../img/top/kv_line_pc.png);
    height: 23.612vw;
  }
}
@media screen and (max-width: 767px) {
  .kv_inner::before {
    background-image: url(../img/top/kv_line_sp.png);
    height: 11.4rem;
  }
}

.kv_bg {
  position: relative;
  height: 100%;
  opacity: 0;
  transition: opacity 0.4s linear;
}
.kv_bg img {
  object-fit: cover;
  object-position: center bottom;
  width: 100%;
  height: 100%;
}

.kv_image {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  inset: 0;
  margin: 0 auto;
  color: #fff;
  opacity: 0;
  transition: opacity 0.4s linear 0.5s;
}
@media (min-width: 768px) {
  .kv_image {
    gap: 2.991rem;
    max-width: 144rem;
    padding: 0 0 4.8rem 11rem;
  }
}
@media screen and (max-width: 767px) {
  .kv_image {
    gap: 2.3rem;
    max-width: 37.5rem;
    padding: 0 0 6.6rem 2rem;
  }
}

.kv_copy {
  letter-spacing: 0.03em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .kv_copy {
    line-height: 1.188;
    font-size: 5.091rem;
  }
  .kv_copy > h1 {
    font: inherit;
  }
  .kv_copy > h1:first-of-type {
    margin-top: -0.093em;
  }
  .kv_copy > h1:last-of-type {
    margin-bottom: -0.093em;
  }
}
@media screen and (max-width: 767px) {
  .kv_copy {
    line-height: 1.163;
    font-size: 3.7rem;
  }
  .kv_copy > h1 {
    font: inherit;
  }
  .kv_copy > h1:first-of-type {
    margin-top: -0.081em;
  }
  .kv_copy > h1:last-of-type {
    margin-bottom: -0.081em;
  }
}

.kv_text {
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .kv_text {
    line-height: 1.667;
    font-size: 1.528rem;
  }
  .kv_text > p {
    font: inherit;
  }
  .kv_text > p:first-of-type {
    margin-top: -0.333em;
  }
  .kv_text > p:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media screen and (max-width: 767px) {
  .kv_text {
    line-height: 1.643;
    font-size: 1.4rem;
  }
  .kv_text > p {
    font: inherit;
  }
  .kv_text > p:first-of-type {
    margin-top: -0.321em;
  }
  .kv_text > p:last-of-type {
    margin-bottom: -0.321em;
  }
}

.kv_topics {
  position: relative;
  margin: 0 auto;
  opacity: 0;
  translate: 0 30px;
  transition: opacity 0.4s linear, translate 0.4s ease-out;
}
@media (min-width: 768px) {
  .kv_topics {
    max-width: 1200px;
    padding: 5.5rem 2rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  .kv_topics {
    padding: 0 0 6rem;
  }
}
.kv_topics::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #e6e6e6;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}
@media (min-width: 768px) {
  .kv_topics::before {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .kv_topics::before {
    width: 33.5rem;
  }
}
.kv_section.is-animated .kv_topics {
  opacity: 1;
  translate: 0 0;
}

.kv_topics_slider {
  position: relative;
}
.kv_topics_slider .swiper-slide {
  padding: 0 1rem;
}
.kv_topics_slider .swiper-button-prev, .kv_topics_slider .swiper-button-next {
  fill: #0363d5;
  width: 4rem;
  height: 4rem;
  top: 50%;
  margin: 0;
  translate: 0 -50%;
}
.kv_topics_slider .swiper-button-prev::before, .kv_topics_slider .swiper-button-next::before {
  content: "";
  position: absolute;
  background: #fff;
  border: 1px solid #0363d5;
  border-radius: 50%;
  inset: 0;
}
.kv_topics_slider .swiper-button-prev::after, .kv_topics_slider .swiper-button-next::after {
  display: none;
}
.kv_topics_slider .swiper-button-prev div, .kv_topics_slider .swiper-button-next div {
  position: relative;
  clip-path: polygon(15% 0, 85% 0, 85% 100%, 15% 100%);
  width: 100%;
  height: 100%;
}
.kv_topics_slider .swiper-button-prev div svg, .kv_topics_slider .swiper-button-next div svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.kv_topics_slider .swiper-button-prev div svg:nth-of-type(2), .kv_topics_slider .swiper-button-next div svg:nth-of-type(2) {
  position: absolute;
  inset: 0;
  translate: -80% 0;
}
.kv_topics_slider .swiper-button-prev:hover svg:nth-of-type(1), .kv_topics_slider .swiper-button-next:hover svg:nth-of-type(1) {
  translate: 100% 0;
}
.kv_topics_slider .swiper-button-prev:hover svg:nth-of-type(2), .kv_topics_slider .swiper-button-next:hover svg:nth-of-type(2) {
  translate: 0 0;
}
.kv_topics_slider .swiper-button-prev {
  scale: -1 1;
}
@media (min-width: 768px) {
  .kv_topics_slider .swiper-button-prev {
    left: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .kv_topics_slider .swiper-button-prev {
    left: 1.8rem;
  }
}
@media (min-width: 768px) {
  .kv_topics_slider .swiper-button-next {
    right: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .kv_topics_slider .swiper-button-next {
    right: 1.8rem;
  }
}

.kv_topics_link {
  display: block;
  contain: paint;
}
.kv_topics_link img {
  width: 100%;
  transition: 0.2s linear;
}
.kv_topics_link:hover img {
  scale: 1.05;
}

.issues_section {
  position: relative;
  contain: paint;
}
@media (min-width: 768px) {
  .issues_section {
    padding: 6rem 2rem 10rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_section {
    padding: 6rem 2rem;
  }
}

.issues_inner {
  position: relative;
}

.issues_head {
  display: flex;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .issues_head {
    align-items: center;
    max-width: 1200px;
    gap: 12rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_head {
    flex-direction: column;
    gap: 3.5rem;
    max-width: 67rem;
  }
}

.issues_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .issues_hgroup {
    gap: 2rem;
    padding-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_hgroup {
    gap: 1.5rem;
    padding-left: 3.5rem;
  }
}
.issues_hgroup h2 {
  position: relative;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 768px) {
  .issues_hgroup h2 {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_hgroup h2 {
    font-size: 3.6rem;
    color: #0363d5;
  }
}
.issues_hgroup h2::before {
  content: "";
  position: absolute;
  background-image: url(../img/common/h2.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  translate: 0 -45%;
}
@media (min-width: 768px) {
  .issues_hgroup h2::before {
    width: 3rem;
    height: 3rem;
    left: -5rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_hgroup h2::before {
    width: 2.3rem;
    height: 2.3rem;
    left: -3.5rem;
  }
}
.issues_hgroup p {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .issues_hgroup p {
    font-size: 1.8rem;
    color: #0363d5;
  }
}
@media screen and (max-width: 767px) {
  .issues_hgroup p {
    font-size: 1.4rem;
  }
}

.issues_text {
  letter-spacing: 0.05em;
  line-height: 1.688;
  font-size: 1.6rem;
}
.issues_text > p {
  font: inherit;
}
.issues_text > p:first-of-type {
  margin-top: -0.343em;
}
.issues_text > p:last-of-type {
  margin-bottom: -0.343em;
}

.issues_body {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .issues_body {
    max-width: 1200px;
    padding: 7rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .issues_body {
    padding: 6rem 0 0;
  }
}

.issues_block {
  position: relative;
}
@media (min-width: 768px) {
  .issues_block + .issues_block {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_block + .issues_block {
    padding-top: 3rem;
  }
}

.issues_h3 {
  position: relative;
  margin: 0 auto;
  padding-left: 0.91em;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .issues_h3 {
    max-width: 1200px;
    line-height: 2;
    font-size: 2.2rem;
  }
  .issues_h3 > h3 {
    font: inherit;
  }
  .issues_h3 > h3:first-of-type {
    margin-top: -0.5em;
  }
  .issues_h3 > h3:last-of-type {
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 767px) {
  .issues_h3 {
    max-width: 67rem;
    line-height: 2;
    font-size: 1.8rem;
  }
  .issues_h3 > h3 {
    font: inherit;
  }
  .issues_h3 > h3:first-of-type {
    margin-top: -0.5em;
  }
  .issues_h3 > h3:last-of-type {
    margin-bottom: -0.5em;
  }
}
.issues_h3::before {
  content: "";
  position: absolute;
  background: #0363d5;
  border-radius: 50%;
  width: 0.364em;
  height: 0.364em;
  left: 0;
  top: 0.864em;
}
@media (min-width: 768px) {
  .issues_h3 + .issues_list {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_h3 + .issues_list {
    margin-top: 1.5rem;
  }
}

.issues_list {
  display: grid;
  justify-content: center;
  grid-auto-rows: 8.4rem;
}
@media (min-width: 768px) {
  .issues_list {
    grid-template-columns: repeat(2, 49.108%);
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_list {
    grid-template-columns: repeat(auto-fill, 33.5rem);
    gap: 1rem;
  }
}

.issues_link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ebf3fc;
  border-radius: 0.4rem;
  fill: #0363d5;
  height: 100%;
  line-height: 1;
}
@media (min-width: 768px) {
  .issues_link {
    gap: 2.5rem;
    padding: 0 2rem 0 2.5rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .issues_link {
    gap: 1.5rem;
    padding: 0 2rem 0 1.5rem;
    font-size: 1.2rem;
  }
}
.issues_link > i {
  width: 5rem;
  height: 5rem;
}
.issues_link:hover {
  background-color: #0363d5;
  fill: #fff;
  color: #fff;
}

.issues_link_label {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.issues_link_label > p {
  display: flex;
  position: relative;
  gap: 0.1em;
  letter-spacing: 0.05em;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (min-width: 768px) {
  .issues_link_label > p {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .issues_link_label > p {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.issues_link_label > p strong {
  letter-spacing: normal;
  font-size: 1.572em;
  color: #0363d5;
  transition: 0.2s linear;
}
.issues_link_label > p:nth-of-type(2) {
  position: absolute;
  inset: 0;
  translate: 0 110%;
}
.issues_link:hover .issues_link_label > p strong {
  color: #fff;
}
.issues_link:hover .issues_link_label > p:nth-of-type(1) {
  translate: 0 -110%;
}
.issues_link:hover .issues_link_label > p:nth-of-type(2) {
  translate: 0 0;
}

.issues_link_arrow {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  width: 2.1rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  margin-left: auto;
  line-height: 0;
}
.issues_link_arrow svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.issues_link_arrow svg:nth-of-type(2) {
  position: absolute;
  width: 71.429%;
  inset: 0 0 0 auto;
  translate: -150% 0;
}
.issues_link:hover .issues_link_arrow svg:nth-of-type(1) {
  translate: 150% 0;
}
.issues_link:hover .issues_link_arrow svg:nth-of-type(2) {
  translate: 0 0;
}

.issues_buttons {
  display: flex;
  margin: 0 auto;
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .issues_buttons {
    justify-content: flex-end;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .issues_buttons {
    justify-content: center;
  }
}

.solve_section {
  position: relative;
  background: #0363d5;
  background: linear-gradient(-45deg, #0091ff, #0363d5, #0091ff);
  color: #fff;
}
@media (min-width: 768px) {
  .solve_section {
    padding: 12rem 2rem 10rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_section {
    padding: 6rem 2rem;
  }
}
.solve_section::before {
  content: "";
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  right: 0;
  transition: clip-path 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0s;
  pointer-events: none;
}
@media (min-width: 768px) {
  .solve_section::before {
    background-image: url(../img/top/solve_bg_pc.png);
    height: 69.4rem;
    top: 3.9rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_section::before {
    background-image: url(../img/top/solve_bg_sp.png);
    height: 30.6rem;
    top: 6.8rem;
  }
}
.solve_section.is-animated::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.solve_inner {
  position: relative;
}

.solve_head {
  display: flex;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .solve_head {
    align-items: center;
    gap: 9rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .solve_head {
    flex-direction: column;
    max-width: 67rem;
  }
}

.solve_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .solve_hgroup {
    gap: 2.5rem;
    padding-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_hgroup {
    gap: 1.5rem;
    padding-left: 3.5rem;
  }
}
.solve_hgroup h2 {
  position: relative;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 768px) {
  .solve_hgroup h2 {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_hgroup h2 {
    font-size: 3.4rem;
    white-space: nowrap;
  }
}
.solve_hgroup h2::before {
  content: "";
  position: absolute;
  background-image: url(../img/common/h2.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  translate: 0 -45%;
}
@media (min-width: 768px) {
  .solve_hgroup h2::before {
    width: 3rem;
    height: 3rem;
    left: -5rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_hgroup h2::before {
    width: 2.3rem;
    height: 2.3rem;
    left: -3.5rem;
  }
}
.solve_hgroup p {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .solve_hgroup p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_hgroup p {
    font-size: 1.4rem;
  }
}

.solve_text {
  letter-spacing: 0.05em;
  line-height: 1.688;
  font-size: 1.6rem;
}
.solve_text > p {
  font: inherit;
}
.solve_text > p:first-of-type {
  margin-top: -0.343em;
}
.solve_text > p:last-of-type {
  margin-bottom: -0.343em;
}
@media screen and (max-width: 767px) {
  .solve_text {
    padding-top: 3.5rem;
  }
}

@media (min-width: 768px) {
  .solve_body {
    padding: 8rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .solve_body {
    padding: 6rem 0 0;
  }
}

.solve_cards {
  display: grid;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .solve_cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .solve_cards {
    justify-content: center;
    grid-template-columns: repeat(auto-fit, 34.5rem);
    gap: 2rem;
  }
}

.solve_card {
  position: relative;
  background: #fff;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .solve_card {
    min-height: 37.3rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_card {
    padding: 1.5rem;
  }
}

.solve_card_head {
  display: flex;
  position: relative;
}
@media (min-width: 768px) {
  .solve_card_head {
    flex-direction: column-reverse;
    gap: 2rem;
  }
  .solve_card_head::before {
    content: "";
    position: absolute;
    border-bottom: 1px solid #e6e6e6;
    bottom: 0;
    left: 3rem;
    right: 3rem;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .solve_card_head {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
  }
}

.solve_card_h3 {
  position: relative;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #333;
}
@media (min-width: 768px) {
  .solve_card_h3 {
    padding: 0 3rem 2rem;
    line-height: 1.364;
    font-size: 2.2rem;
  }
  .solve_card_h3 > h3 {
    font: inherit;
  }
  .solve_card_h3 > h3:first-of-type {
    margin-top: -0.181em;
  }
  .solve_card_h3 > h3:last-of-type {
    margin-bottom: -0.181em;
  }
}
@media screen and (max-width: 767px) {
  .solve_card_h3 {
    flex-shrink: 0;
    line-height: 1.435;
    font-size: 2.3rem;
  }
  .solve_card_h3 > h3 {
    font: inherit;
  }
  .solve_card_h3 > h3:first-of-type {
    margin-top: -0.217em;
  }
  .solve_card_h3 > h3:last-of-type {
    margin-bottom: -0.217em;
  }
}

.solve_card_thumb {
  position: relative;
}
@media (min-width: 768px) {
  .solve_card_thumb {
    height: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_card_thumb {
    flex-shrink: 0;
    border-radius: 0.4rem;
    width: 12rem;
    height: 6.2rem;
    overflow: hidden;
  }
}
.solve_card_thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .solve_card_body {
    padding: 2rem 3rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_card_body {
    padding: 1.5rem 0 0;
  }
}

.solve_links {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .solve_links {
    align-items: flex-start;
    gap: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .solve_links {
    gap: 1rem;
  }
}

.solve_link {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  letter-spacing: 0.02em;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0363d5;
}
@media (min-width: 768px) {
  .solve_link {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .solve_link {
    display: flex;
    align-items: center;
    background: #ebf3fc;
    border-radius: 0.4rem;
    height: 5rem;
    padding: 0 0 0 2rem;
  }
}
.solve_link::before {
  content: "";
  position: absolute;
  border-bottom: 0.1em solid;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transform-origin: left bottom;
}
@media (min-width: 768px) {
  .solve_link::before {
    width: 100%;
    left: 0;
    bottom: 0.125em;
  }
}
@media screen and (max-width: 767px) {
  .solve_link::before {
    width: 0%;
    right: 0;
    bottom: 0;
  }
}
.solve_link:hover::before {
  transform-origin: right bottom;
}
@media (min-width: 768px) {
  .solve_link:hover::before {
    width: 0%;
    left: auto;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .solve_link:hover::before {
    width: 100%;
    left: 0;
  }
}

.solve_buttons {
  display: flex;
  margin: 0 auto;
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .solve_buttons {
    justify-content: flex-end;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .solve_buttons {
    justify-content: center;
  }
}

.case_section {
  position: relative;
  contain: paint;
}
@media (min-width: 768px) {
  .case_section {
    padding: 10rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .case_section {
    padding: 6rem 2rem;
  }
}

.case_inner {
  display: grid;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .case_inner {
    grid-template-columns: min-content 1fr;
    gap: 0 9rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .case_inner {
    grid-template-columns: 100%;
    max-width: 67rem;
  }
}

.case_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .case_hgroup {
    grid-column: 1/2;
    grid-row: 1/2;
    gap: 1.5rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .case_hgroup {
    gap: 1rem;
  }
}
.case_hgroup p {
  line-height: 1;
  font-weight: 700;
  color: #0363d5;
}
@media (min-width: 768px) {
  .case_hgroup p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .case_hgroup p {
    font-size: 1.4rem;
  }
}
.case_hgroup h2 {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .case_hgroup h2 {
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .case_hgroup h2 {
    font-size: 4.8rem;
  }
}

.case_buttons {
  display: flex;
}
@media (min-width: 768px) {
  .case_buttons {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .case_buttons {
    order: 10;
    justify-content: center;
    padding-top: 4rem;
  }
}

.case_caption {
  padding: 3.5rem 0 0;
}
@media (min-width: 768px) {
  .case_caption {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}

.case_lead {
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .case_lead {
    line-height: 1.715;
    font-size: 2.8rem;
  }
  .case_lead > p {
    font: inherit;
  }
  .case_lead > p:first-of-type {
    margin-top: -0.357em;
  }
  .case_lead > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (max-width: 767px) {
  .case_lead {
    line-height: 1.392;
    font-size: 2.3rem;
  }
  .case_lead > p {
    font: inherit;
  }
  .case_lead > p:first-of-type {
    margin-top: -0.195em;
  }
  .case_lead > p:last-of-type {
    margin-bottom: -0.195em;
  }
}

.case_text {
  letter-spacing: 0.05em;
  line-height: 1.688;
  font-size: 1.6rem;
}
.case_text > p {
  font: inherit;
}
.case_text > p:first-of-type {
  margin-top: -0.343em;
}
.case_text > p:last-of-type {
  margin-bottom: -0.343em;
}
.case_text {
  text-align: justify;
}
@media (min-width: 768px) {
  .case_text {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .case_text {
    padding-top: 2rem;
  }
}

@media (min-width: 768px) {
  .case_slider {
    grid-column: 1/3;
    grid-row: 3/4;
    margin-right: calc(54rem - 50vw);
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .case_slider {
    margin-right: -2rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) and (min-width: 671px) {
  .case_slider {
    margin-right: calc(31.5rem - 50vw);
    margin-top: 4rem;
  }
}
.case_slider .swiper-navigation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  position: static;
  width: 100%;
}
@media (min-width: 768px) {
  .case_slider .swiper-navigation {
    max-width: 114rem;
    margin-bottom: 2rem;
    padding: 0 2rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .case_slider .swiper-navigation {
    max-width: 60rem;
    margin-bottom: 1.5rem;
    padding: 0 2rem 0 0;
  }
}
.case_slider .swiper-pagination {
  position: static;
  width: auto;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}
.case_slider .swiper-button-prev, .case_slider .swiper-button-next {
  position: relative;
  width: 4rem;
  height: 4rem;
  top: 0;
  left: 0;
  margin: 0;
  fill: #0363d5;
}
.case_slider .swiper-button-prev::before, .case_slider .swiper-button-next::before {
  content: "";
  position: absolute;
  background: #fff;
  border: 1px solid #0363d5;
  border-radius: 50%;
  inset: 0;
}
.case_slider .swiper-button-prev::after, .case_slider .swiper-button-next::after {
  display: none;
}
.case_slider .swiper-button-prev div, .case_slider .swiper-button-next div {
  position: relative;
  clip-path: polygon(15% 0, 85% 0, 85% 100%, 15% 100%);
  width: 100%;
  height: 100%;
}
.case_slider .swiper-button-prev div svg, .case_slider .swiper-button-next div svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.case_slider .swiper-button-prev div svg:nth-of-type(2), .case_slider .swiper-button-next div svg:nth-of-type(2) {
  position: absolute;
  inset: 0;
  translate: -80% 0;
}
.case_slider .swiper-button-prev:hover svg:nth-of-type(1), .case_slider .swiper-button-next:hover svg:nth-of-type(1) {
  translate: 100% 0;
}
.case_slider .swiper-button-prev:hover svg:nth-of-type(2), .case_slider .swiper-button-next:hover svg:nth-of-type(2) {
  translate: 0 0;
}
.case_slider .swiper-button-prev {
  scale: -1 1;
}
.case_slider .swiper-slide {
  height: auto;
  padding: 0 2rem 0 0;
}

.case_card {
  display: block;
  position: relative;
  background: #fff;
  height: 100%;
}
.case_card::before {
  content: "";
  position: absolute;
  border: 1px solid #e6e6e6;
  border-radius: 0.4rem;
  inset: 0;
  pointer-events: none;
}

.case_card_thumb {
  position: relative;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
}
.case_card_thumb img {
  transition: 0.2s linear;
}
.case_card_thumb > figcaption {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 0 0 0.286em 0;
  min-width: 5.715em;
  max-width: calc(100% - 1.072em);
  left: 0;
  top: 0;
  padding: 0.286em 0.858em;
  line-height: 1.572;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
}
.case_card_thumb > figcaption.cat1 {
  background: #2daafa;
}
.case_card_thumb > figcaption.cat2 {
  background: #47a874;
}
.case_card:hover .case_card_thumb img {
  scale: 1.05;
}

.case_card_caption {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 768px) {
  .case_card_caption {
    padding: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .case_card_caption {
    padding: 3rem 2rem;
  }
}

.case_card_h3 {
  letter-spacing: 0.05em;
  line-height: 1.45;
  font-size: 2rem;
}
.case_card_h3 > h3 {
  font: inherit;
}
.case_card_h3 > h3:first-of-type {
  margin-top: -0.225em;
}
.case_card_h3 > h3:last-of-type {
  margin-bottom: -0.225em;
}
.case_card_h3 {
  font-weight: 700;
}

.case_card_detail {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8rem 0;
}
.case_card_detail > dt {
  display: flex;
  justify-content: space-between;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}
.case_card_detail > dt::after {
  content: "：";
  width: 1em;
  text-align: center;
}
.case_card_detail > dd {
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}

.case_card_result {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.case_card_result > dt {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0363d5;
  border-radius: 0.167em;
  width: 3.667em;
  height: 1.667em;
  padding: 0 0 0.1em;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
}
.case_card_result > dd {
  line-height: 1.25;
  font-size: 1.6rem;
  font-weight: 700;
}

.case_card_data {
  position: relative;
}
@media (min-width: 768px) {
  .case_card_data {
    padding: 3.1rem 3rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .case_card_data {
    padding: 3.1rem 2rem 3rem;
  }
}
.case_card_data::before {
  content: "";
  position: absolute;
  border-top: 1px solid #e6e6e6;
  top: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .case_card_data::before {
    left: 3rem;
    right: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .case_card_data::before {
    left: 2rem;
    right: 2rem;
  }
}

.case_card_company {
  line-height: 1.429;
  font-size: 1.4rem;
}
.case_card_company > p {
  font: inherit;
}
.case_card_company > p:first-of-type {
  margin-top: -0.214em;
}
.case_card_company > p:last-of-type {
  margin-bottom: -0.214em;
}

.case_card_category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding-top: 1.5rem;
}
.case_card_category > p {
  background: #eaeaea;
  border-radius: 1.834em;
  padding: 0.25em 0.834em;
  line-height: 1;
  line-height: 1.334;
  font-size: 1.2rem;
}

.seminar_section {
  position: relative;
  background: #f7f7f7;
  contain: paint;
}
@media (min-width: 768px) {
  .seminar_section {
    padding: 10rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_section {
    padding: 6rem 2rem;
  }
}

.seminar_inner {
  display: grid;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .seminar_inner {
    grid-template-columns: min-content 1fr;
    gap: 0 9rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .seminar_inner {
    grid-template-columns: 100%;
    max-width: 67rem;
  }
}

.seminar_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .seminar_hgroup {
    grid-column: 1/2;
    grid-row: 1/2;
    gap: 1.5rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .seminar_hgroup {
    gap: 1rem;
  }
}
.seminar_hgroup p {
  line-height: 1;
  font-weight: 700;
  color: #0363d5;
}
@media (min-width: 768px) {
  .seminar_hgroup p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_hgroup p {
    font-size: 1.4rem;
  }
}
.seminar_hgroup h2 {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .seminar_hgroup h2 {
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_hgroup h2 {
    font-size: 4.8rem;
  }
}

.seminar_buttons {
  display: flex;
}
@media (min-width: 768px) {
  .seminar_buttons {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_buttons {
    order: 10;
    justify-content: center;
    padding-top: 4rem;
  }
}

.seminar_caption {
  padding: 3.5rem 0 0;
}
@media (min-width: 768px) {
  .seminar_caption {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}

.seminar_lead {
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .seminar_lead {
    line-height: 1.715;
    font-size: 2.8rem;
  }
  .seminar_lead > p {
    font: inherit;
  }
  .seminar_lead > p:first-of-type {
    margin-top: -0.357em;
  }
  .seminar_lead > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (max-width: 767px) {
  .seminar_lead {
    line-height: 1.392;
    font-size: 2.3rem;
  }
  .seminar_lead > p {
    font: inherit;
  }
  .seminar_lead > p:first-of-type {
    margin-top: -0.195em;
  }
  .seminar_lead > p:last-of-type {
    margin-bottom: -0.195em;
  }
}

.seminar_text {
  letter-spacing: 0.05em;
  line-height: 1.688;
  font-size: 1.6rem;
}
.seminar_text > p {
  font: inherit;
}
.seminar_text > p:first-of-type {
  margin-top: -0.343em;
}
.seminar_text > p:last-of-type {
  margin-bottom: -0.343em;
}
.seminar_text {
  text-align: justify;
}
@media (min-width: 768px) {
  .seminar_text {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_text {
    padding-top: 2rem;
  }
}

@media (min-width: 768px) {
  .seminar_slider {
    grid-column: 1/3;
    grid-row: 3/4;
    margin-right: calc(54rem - 50vw);
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_slider {
    margin-right: -2rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) and (min-width: 671px) {
  .seminar_slider {
    margin-right: calc(31.5rem - 50vw);
    margin-top: 4rem;
  }
}
.seminar_slider .swiper-navigation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  position: static;
  width: 100%;
}
@media (min-width: 768px) {
  .seminar_slider .swiper-navigation {
    max-width: 114rem;
    margin-bottom: 2rem;
    padding: 0 2rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .seminar_slider .swiper-navigation {
    max-width: 60rem;
    margin-bottom: 1.5rem;
    padding: 0 2rem 0 0;
  }
}
.seminar_slider .swiper-pagination {
  position: static;
  width: auto;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}
.seminar_slider .swiper-button-prev, .seminar_slider .swiper-button-next {
  position: relative;
  width: 4rem;
  height: 4rem;
  top: 0;
  left: 0;
  margin: 0;
  fill: #0363d5;
}
.seminar_slider .swiper-button-prev::before, .seminar_slider .swiper-button-next::before {
  content: "";
  position: absolute;
  background: #fff;
  border: 1px solid #0363d5;
  border-radius: 50%;
  inset: 0;
}
.seminar_slider .swiper-button-prev::after, .seminar_slider .swiper-button-next::after {
  display: none;
}
.seminar_slider .swiper-button-prev div, .seminar_slider .swiper-button-next div {
  position: relative;
  clip-path: polygon(15% 0, 85% 0, 85% 100%, 15% 100%);
  width: 100%;
  height: 100%;
}
.seminar_slider .swiper-button-prev div svg, .seminar_slider .swiper-button-next div svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.seminar_slider .swiper-button-prev div svg:nth-of-type(2), .seminar_slider .swiper-button-next div svg:nth-of-type(2) {
  position: absolute;
  inset: 0;
  translate: -80% 0;
}
.seminar_slider .swiper-button-prev:hover svg:nth-of-type(1), .seminar_slider .swiper-button-next:hover svg:nth-of-type(1) {
  translate: 100% 0;
}
.seminar_slider .swiper-button-prev:hover svg:nth-of-type(2), .seminar_slider .swiper-button-next:hover svg:nth-of-type(2) {
  translate: 0 0;
}
.seminar_slider .swiper-button-prev {
  scale: -1 1;
}
.seminar_slider .swiper-slide {
  height: auto;
  padding: 0 2rem 0 0;
}

.seminar_card {
  display: block;
  position: relative;
  background: #fff;
  height: 100%;
}
.seminar_card::before {
  content: "";
  position: absolute;
  border: 1px solid #e6e6e6;
  border-radius: 0.4rem;
  inset: 0;
  pointer-events: none;
}

.seminar_card_thumb {
  position: relative;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
}
.seminar_card_thumb img {
  transition: 0.2s linear;
}
.seminar_card:hover .seminar_card_thumb img {
  scale: 1.05;
}

.seminar_card_caption {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .seminar_card_caption {
    padding: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar_card_caption {
    padding: 3rem 2rem;
  }
}

.seminar_carda_category {
  border-radius: 1.834em;
  margin-bottom: 1rem;
  padding: 0.25em 1.834em;
  line-height: 1.334;
  font-size: 1.2rem;
}
.seminar_carda_category.col1 {
  background: #e66696;
  color: #fff;
}
.seminar_carda_category.col2 {
  background: #ebf3fc;
  color: #0363d5;
}
.seminar_carda_category.col3 {
  background: #E7F4ED;
  color: #47A874;
}

.seminar_card_h3 {
  letter-spacing: 0.05em;
  line-height: 1.45;
  font-size: 2rem;
}
.seminar_card_h3 > h3 {
  font: inherit;
}
.seminar_card_h3 > h3:first-of-type {
  margin-top: -0.225em;
}
.seminar_card_h3 > h3:last-of-type {
  margin-bottom: -0.225em;
}
.seminar_card_h3 {
  font-weight: 700;
  text-align: justify;
}
.seminar_card_h3 p {
  margin-bottom: 0.5em;
  font-size: 1rem;
}

.seminar_card_detail {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-top: 3rem;
}

.seminar_card_date {
  position: relative;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}
.seminar_card_date::after {
  content: "";
  position: absolute;
  background: #e6e6e6;
  width: 1px;
  height: 1.2rem;
  right: -1.5rem;
  top: 0.2rem;
  translate: -50% 0;
}

.seminar_card_place {
  line-height: 1;
  font-size: 1.4rem;
}

.seminar_card_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 2rem;
}
.seminar_card_tags > li {
  border: 1px solid #e6e6e6;
  border-radius: 1.834em;
  padding: 0.167em 0.834em;
  line-height: 1.334;
  font-size: 1.2rem;
}

.know_section {
  position: relative;
  contain: paint;
}
@media (min-width: 768px) {
  .know_section {
    padding: 10rem 2rem 16rem;
  }
}
@media screen and (max-width: 767px) {
  .know_section {
    padding: 6rem 2rem 10rem;
  }
}

.know_inner {
  display: grid;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .know_inner {
    grid-template-columns: min-content 1fr;
    gap: 0 9rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .know_inner {
    grid-template-columns: 100%;
    max-width: 67rem;
  }
}

.know_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .know_hgroup {
    grid-column: 1/2;
    grid-row: 1/2;
    gap: 1.5rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .know_hgroup {
    gap: 1rem;
  }
}
.know_hgroup p {
  line-height: 1;
  font-weight: 700;
  color: #0363d5;
}
@media (min-width: 768px) {
  .know_hgroup p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .know_hgroup p {
    font-size: 1.4rem;
  }
}
.know_hgroup h2 {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .know_hgroup h2 {
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .know_hgroup h2 {
    font-size: 4.8rem;
  }
}

.know_buttons {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .know_buttons {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .know_buttons {
    order: 10;
    align-items: center;
    padding-top: 4rem;
  }
}

.know_links {
  display: flex;
}
@media (min-width: 768px) {
  .know_links {
    gap: 3rem;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .know_links {
    gap: 4rem;
    padding-top: 4rem;
  }
}

.know_link {
  display: flex;
  align-items: center;
  gap: 0.5em;
  fill: #0363d5;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 700;
}
.know_link span {
  text-decoration: underline;
}
.know_link svg {
  width: 0.938em;
  height: 0.75em;
}

.know_caption {
  padding: 3.5rem 0 0;
}
@media (min-width: 768px) {
  .know_caption {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}

.know_lead {
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (min-width: 768px) {
  .know_lead {
    line-height: 1.715;
    font-size: 2.8rem;
  }
  .know_lead > p {
    font: inherit;
  }
  .know_lead > p:first-of-type {
    margin-top: -0.357em;
  }
  .know_lead > p:last-of-type {
    margin-bottom: -0.357em;
  }
}
@media screen and (max-width: 767px) {
  .know_lead {
    line-height: 1.392;
    font-size: 2.3rem;
  }
  .know_lead > p {
    font: inherit;
  }
  .know_lead > p:first-of-type {
    margin-top: -0.195em;
  }
  .know_lead > p:last-of-type {
    margin-bottom: -0.195em;
  }
}

.know_text {
  letter-spacing: 0.05em;
  line-height: 1.688;
  font-size: 1.6rem;
}
.know_text > p {
  font: inherit;
}
.know_text > p:first-of-type {
  margin-top: -0.343em;
}
.know_text > p:last-of-type {
  margin-bottom: -0.343em;
}
.know_text {
  text-align: justify;
}
@media (min-width: 768px) {
  .know_text {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .know_text {
    padding-top: 2rem;
  }
}

@media (min-width: 768px) {
  .know_slider {
    grid-column: 1/3;
    grid-row: 3/4;
    margin-right: calc(54rem - 50vw);
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .know_slider {
    margin-right: -2rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) and (min-width: 671px) {
  .know_slider {
    margin-right: calc(31.5rem - 50vw);
    margin-top: 4rem;
  }
}
.know_slider .swiper-navigation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  position: static;
  width: 100%;
}
@media (min-width: 768px) {
  .know_slider .swiper-navigation {
    max-width: 114rem;
    margin-bottom: 2rem;
    padding: 0 2rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .know_slider .swiper-navigation {
    max-width: 60rem;
    margin-bottom: 1.5rem;
    padding: 0 2rem 0 0;
  }
}
.know_slider .swiper-pagination {
  position: static;
  width: auto;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}
.know_slider .swiper-button-prev, .know_slider .swiper-button-next {
  position: relative;
  width: 4rem;
  height: 4rem;
  top: 0;
  left: 0;
  margin: 0;
  fill: #0363d5;
}
.know_slider .swiper-button-prev::before, .know_slider .swiper-button-next::before {
  content: "";
  position: absolute;
  background: #fff;
  border: 1px solid #0363d5;
  border-radius: 50%;
  inset: 0;
}
.know_slider .swiper-button-prev::after, .know_slider .swiper-button-next::after {
  display: none;
}
.know_slider .swiper-button-prev div, .know_slider .swiper-button-next div {
  position: relative;
  clip-path: polygon(15% 0, 85% 0, 85% 100%, 15% 100%);
  width: 100%;
  height: 100%;
}
.know_slider .swiper-button-prev div svg, .know_slider .swiper-button-next div svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.know_slider .swiper-button-prev div svg:nth-of-type(2), .know_slider .swiper-button-next div svg:nth-of-type(2) {
  position: absolute;
  inset: 0;
  translate: -80% 0;
}
.know_slider .swiper-button-prev:hover svg:nth-of-type(1), .know_slider .swiper-button-next:hover svg:nth-of-type(1) {
  translate: 100% 0;
}
.know_slider .swiper-button-prev:hover svg:nth-of-type(2), .know_slider .swiper-button-next:hover svg:nth-of-type(2) {
  translate: 0 0;
}
.know_slider .swiper-button-prev {
  scale: -1 1;
}
.know_slider .swiper-slide {
  height: auto;
  padding: 0 2rem 0 0;
}

.know_card {
  display: block;
  position: relative;
  background: #fff;
  height: 100%;
}
.know_card::before {
  content: "";
  position: absolute;
  border: 1px solid #e6e6e6;
  border-radius: 0.4rem;
  inset: 0;
  pointer-events: none;
}

.know_card_thumb {
  position: relative;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
}
.know_card_thumb img {
  transition: 0.2s linear;
}
.know_card:hover .know_card_thumb img {
  scale: 1.05;
}

.know_card_caption {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .know_card_caption {
    padding: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .know_card_caption {
    padding: 3rem 2rem;
  }
}

.know_card_h3 {
  letter-spacing: 0.05em;
  line-height: 1.45;
  font-size: 2rem;
}
.know_card_h3 > h3 {
  font: inherit;
}
.know_card_h3 > h3:first-of-type {
  margin-top: -0.225em;
}
.know_card_h3 > h3:last-of-type {
  margin-bottom: -0.225em;
}
.know_card_h3 {
  font-weight: 700;
  text-align: justify;
}

.know_card_detail {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 2rem;
}

.know_card_category {
  display: flex;
  gap: 0.5rem;
}
.know_card_category > p {
  border-radius: 0.167em;
  min-width: 5em;
  padding: 0 0.834em 0.084em;
  letter-spacing: 0.05em;
  line-height: 1;
  line-height: 1.584;
  font-size: 1.2rem;
  text-align: center;
}
.know_card_category > p.col1 {
  background: #ebf3fc;
  color: #0363d5;
}
.know_card_category > p.col2 {
  background: #E7F4ED;
  color: #47A874;
}
.know_card_category > p.col3 {
  background: #e66696;
  color: #fff;
}

.know_card_date {
  position: relative;
  line-height: 1;
  font-size: 1.4rem;
  color: #777;
}

.know_card_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 2rem;
}
.know_card_tags > li {
  border: 1px solid #e6e6e6;
  border-radius: 1.834em;
  padding: 0.167em 0.834em;
  line-height: 1.334;
  font-size: 1.2rem;
}

.news_section {
  position: relative;
}
@media (min-width: 768px) {
  .news_section {
    padding: 14rem 2rem 10rem;
  }
}
@media screen and (max-width: 767px) {
  .news_section {
    padding: 8rem 2rem 10rem;
  }
}

.news_inner {
  display: grid;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .news_inner {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    gap: 5.5rem 9rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .news_inner {
    gap: 4rem;
    max-width: 67rem;
  }
}

.news_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .news_hgroup {
    grid-column: 1/2;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .news_hgroup {
    gap: 1rem;
  }
}
.news_hgroup p {
  line-height: 1;
  font-weight: 700;
  color: #0363d5;
}
@media (min-width: 768px) {
  .news_hgroup p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .news_hgroup p {
    font-size: 1.4rem;
  }
}
.news_hgroup h2 {
  line-height: 1;
  font-family: "Viga", sans-serif;
}
@media (min-width: 768px) {
  .news_hgroup h2 {
    font-size: 6.2rem;
  }
}
@media screen and (max-width: 767px) {
  .news_hgroup h2 {
    font-size: 4.8rem;
  }
}

.news_buttons {
  display: flex;
}
@media (min-width: 768px) {
  .news_buttons {
    grid-column: 1/2;
  }
}
@media screen and (max-width: 767px) {
  .news_buttons {
    order: 5;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .news_buttons .btn01 {
    width: 24rem;
  }
}

@media (min-width: 768px) {
  .news_list {
    grid-column: 2/3;
    grid-row: 1/3;
    padding-top: 4rem;
  }
}
.news_list > li {
  position: relative;
}
.news_list > li::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #e6e6e6;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.2s linear;
  pointer-events: none;
}
.news_list > li:first-of-type::after {
  content: "";
  position: absolute;
  border-top: 1px solid #e6e6e6;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}

.news_line {
  display: flex;
  position: relative;
}
@media (min-width: 768px) {
  .news_line {
    align-items: flex-start;
    padding: 3rem 0;
  }
}
@media screen and (max-width: 767px) {
  .news_line {
    flex-wrap: wrap;
    gap: 1.5rem 0;
    padding: 2.5rem 0 3rem;
  }
}
.news_line::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #0363d5;
  width: 0;
  right: 0;
  bottom: 0;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.news_line[href]:hover {
  color: #0363d5;
}
.news_line[href]:hover::before {
  width: 100%;
  left: 0;
}

.news_date {
  flex-shrink: 0;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #777;
}
@media (min-width: 768px) {
  .news_date {
    width: 12rem;
    line-height: 1.375;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .news_date {
    width: 9rem;
    line-height: 1.572;
    font-size: 1.4rem;
  }
}

.news_category {
  flex-shrink: 0;
  border-radius: 1.834em;
  min-width: 8.667em;
  padding-bottom: 0.084em;
  letter-spacing: 0.05em;
  line-height: 1;
  line-height: 1.75;
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
}
.news_category.col1 {
  background: #1958a3;
}
.news_category.col2 {
  background: #2daafa;
}
.news_category.col3 {
  background: #918cdf;
}
.news_category.col4 {
  background: #e66696;
}
.news_category.col5 {
  background: #999;
}
.news_category.col6 {
  background: #47a874;
}

.news_text {
  width: 100%;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media (min-width: 768px) {
  .news_text {
    padding: 0.3rem 0 0 3rem;
    line-height: 1.688;
    font-size: 1.6rem;
  }
  .news_text > p {
    font: inherit;
  }
  .news_text > p:first-of-type {
    margin-top: -0.343em;
  }
  .news_text > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media screen and (max-width: 767px) {
  .news_text {
    line-height: 1.786;
    font-size: 1.4rem;
  }
  .news_text > p {
    font: inherit;
  }
  .news_text > p:first-of-type {
    margin-top: -0.392em;
  }
  .news_text > p:last-of-type {
    margin-bottom: -0.392em;
  }
}

.what_section {
  position: relative;
}
@media (min-width: 768px) {
  .what_section {
    padding: 6rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .what_section {
    padding: 6rem 2rem;
  }
}

.what_inner {
  position: relative;
}

.what_banner {
  display: flex;
  position: relative;
  background: #f2f5f8;
  border-radius: 0.4rem;
  margin: 0 auto;
  overflow: hidden;
}
@media (min-width: 768px) {
  .what_banner {
    align-items: center;
    gap: 7rem;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .what_banner {
    flex-direction: column;
    gap: 3rem;
    max-width: 67rem;
    padding: 1rem;
  }
}

.what_banner_image {
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .what_banner_image {
    width: 50%;
  }
}
.what_banner_image img {
  transition: 0.2s linear;
}
.what_banner:hover .what_banner_image img {
  scale: 1.05;
}

.what_banner_caption {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .what_banner_caption {
    gap: 4rem;
    padding: 2rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .what_banner_caption {
    gap: 3rem;
    padding: 0 1rem 2rem;
  }
}

.what_banner_hgroup {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .what_banner_hgroup {
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .what_banner_hgroup {
    gap: 1.5rem;
  }
}
@media (min-width: 768px) {
  .what_banner_hgroup p {
    width: 20.2rem;
  }
}
@media screen and (max-width: 767px) {
  .what_banner_hgroup p {
    width: 17rem;
  }
}
.what_banner_hgroup h2 {
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 768px) {
  .what_banner_hgroup h2 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .what_banner_hgroup h2 {
    font-size: 2.2rem;
  }
}

.what_banner_link {
  display: flex;
  align-items: flex-end;
  gap: 0.313em;
  letter-spacing: 0.05em;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 700;
  fill: #0363d5;
}
@media screen and (max-width: 767px) {
  .what_banner_link {
    justify-content: flex-end;
  }
}

.what_banner_arrow {
  width: 1.25em;
  height: 0.875em;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  padding: 0 0.188em;
  line-height: 0;
}
.what_banner_arrow svg {
  position: relative;
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.what_banner_arrow svg:nth-of-type(2) {
  position: absolute;
  width: 71.429%;
  inset: 0 0 0 auto;
  translate: -150% 0;
}