@charset "UTF-8";
:root {
  --font-family-base-sp: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  --font-family-base-pc: "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  --font-family-base-bold: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  --font-family-noto-serif: "Noto Serif JP", "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", serif, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ";
  --font-family-noto-sans: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  --font-family-en: "Times New Roman", sans-serif;
  --font-family-prata: "Prata", serif;
  --font-family-eb: "EB Garamond", serif;
  --color-primary01: #398293;
  --color-primary02: #6a9a96;
  --color-primary03: #e5ecee;
  --color-primary04: #1c5f6f;
  --color-primary05: #08304a;
  --color-cta-01: #eb6134;
  --color-white-00: #fff;
  --color-black-00: #000;
  --color-black-100: #00131f;
  --color-black-80: #d9d9d9;
  --color-black-60: #e9f0f2;
  --color-black-50: #f2f6f7;
  --color-purple-100: #776fa0;
  --color-gradation-main: linear-gradient(166deg, #b89dc7 0%, #7c6fa1 19%, #4c6f9a 33%, #398293 42%);
  --color-gradation-hover: linear-gradient(166deg, #e1bff4 0%, #9787c5 19%, #628dc1 33%, #4ba7bc 42%);
  --color-base-text: #00131f;
}

/* ケーススタディ
----------------------------------------------------------------- */
#case ul.other_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1.6%;
  margin-bottom: 60px;
}
@media screen and (max-width: 1360px) {
  #case ul.other_list {
    margin: 0 -2%;
  }
}
#case ul.other_list li {
  padding: 1.6%;
  width: 30%;
}
@media screen and (max-width: 1360px) {
  #case ul.other_list li {
    padding: 2%;
    width: 46%;
  }
}
@media screen and (max-width: 500px) {
  #case ul.other_list li {
    padding: 20px 10px;
    width: 100%;
  }
}
#case ul.other_list li .thumb {
  height: 280px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #case ul.other_list li .thumb {
    height: 250px;
  }
}
@media screen and (max-width: 480px) {
  #case ul.other_list li .thumb {
    height: 220px;
  }
}
#case ul.other_list li .thumb img {
  height: 280px;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #case ul.other_list li .thumb img {
    height: 250px;
  }
}
@media screen and (max-width: 480px) {
  #case ul.other_list li .thumb img {
    height: 220px;
  }
}
#case ul.other_list li .thumb .cat {
  bottom: 10px;
  flex-wrap: wrap;
  left: 10px;
  position: absolute;
}
#case ul.other_list li .ttl {
  font-family: var(--font-family-base-bold);
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0.5em 0;
}

#case ul.cat {
  display: flex;
  flex-wrap: wrap;
}
#case ul.cat li {
  background-color: var(--color-primary01);
  border-radius: 4px;
  color: var(--color-white-00);
  font-family: var(--font-family-base-bold);
  font-size: 14px;
  font-weight: bold;
  margin-right: 1em;
  margin-top: 10px;
  padding: 0.2em 1em;
  width: auto;
}
#case ul.cat li a {
  color: var(--color-white-00);
  display: block;
}
#case ul.cat .post_cat,
#case ul.cat .tag-cat {
  background-color: var(--color-primary01);
  margin-top: 10px;
}

#case .cat_list_area {
  margin-bottom: 30px;
  margin-top: 20px;
}
#case .cat_list_area p {
  font-family: var(--font-family-base-bold);
  font-size: 18px;
  font-weight: bold;
}

/* イベント
----------------------------------------------------------------- */
.l-event__company-name {
  font-family: var(--font-family-base-bold);
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* アテンション
----------------------------------------------------------------- */
.l-attention-wrap {
  margin-top: 20px;
  position: relative;
}

.l-attention {
  position: relative;
}
.l-attention__item {
  /*padding: 0 30px;*/
}
.l-attention__item.swiper-slide {
  height: auto;
}
.l-attention__link {
  display: block;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 47.9375em) {
  .l-attention__link:before {
    background-color: var(--color-black-00);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0.5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
  }
}
.l-attention__img {
  height: auto;
  width: 100%;
  /*max-width: 1000px;*/
}
@media only screen and (max-width: 47.9375em) {
  .l-attention__img {
    position: relative;
    z-index: 2;
  }
}
.l-attention__title {
  color: var(--color-white-00);
  font-family: var(--font-family-base-bold);
  font-size: 22px;
  font-weight: bold;
  margin-top: 10px;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 47.9375em) {
  .l-attention__title {
    font-size: 18px;
  }
}
.l-attention__dots {
  bottom: auto !important;
  display: block;
  position: relative;
  top: calc(100% + 10px) !important;
  width: 100%;
}
@media only screen and (max-width: 47.9375em) {
  .l-attention__dots {
    top: calc(100% + 30px) !important;
  }
}

.l-attention-cat {
  bottom: 10px;
  left: 0;
  padding: 20px 40px;
  position: absolute;
  width: calc(100% - 80px);
}
.l-attention-cat:before {
  background-color: var(--color-black-00);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.5;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
@media only screen and (max-width: 47.9375em) {
  .l-attention-cat {
    bottom: 10px;
    padding: 15px 15px 20px;
    position: relative;
    width: calc(100% - 30px);
  }
  .l-attention-cat:before {
    display: none;
  }
}
.l-attention-cat-wrap {
  position: relative;
}
.l-attention-cat__list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.l-attention-cat__item {
  background-color: var(--color-primary01);
  border-radius: 4px;
  color: var(--color-white-00);
  font-family: var(--font-family-base-bold);
  font-size: 14px;
  font-weight: bold;
  margin-right: 1em;
  margin-top: 10px;
  padding: 0.2em 1em;
  width: auto;
}

.l-attention-arrow-pos {
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.l-attention-arrow-wrap {
  position: relative;
}

@media only screen and (max-width: 47.9375em) {
  .l-attention-arrow {
    --swiper-navigation-top-offset: calc(100% + 45px);
  }
}

/* コンテンツ
----------------------------------------------------------------- */
.l-content-wrap {
  position: relative;
}
@media only screen and (max-width: 47.9375em) {
  .l-content-wrap {
    margin-bottom: 80px;
  }
}

/* Swiper
----------------------------------------------------------------- */
.swiper-container {
  --swiper-navigation-sides-offset: 15%;
}
@media screen and (max-width: 1500px) {
  .swiper-container {
    --swiper-navigation-sides-offset: 14%;
  }
}
@media screen and (max-width: 1024px) {
  .swiper-container {
    --swiper-navigation-sides-offset: 13%;
  }
}
@media only screen and (max-width: 47.9375em) {
  .swiper-container {
    --swiper-navigation-sides-offset: 35%;
  }
}
@media screen and (max-width: 500px) {
  .swiper-container {
    --swiper-navigation-sides-offset: 30%;
  }
}

.swiper-pagination-bullet-active {
  --swiper-pagination-color: var(--color-primary01);
}

.swiper-button-next,
.swiper-button-prev {
  --swiper-navigation-color: var(--color-primary01);
  font-family: var(--font-family-base-bold);
  font-weight: bold;
}

/* イベント
----------------------------------------------------------------- */
.event_word {
  margin-top: 1.5em;
  padding-top: 40px;
  width: 500px;
}
@media screen and (max-width: 1024px) {
  .event_word {
    margin-bottom: 50px;
    width: 100%;
  }
}

.event_wp_inner {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .event_wp_inner {
    display: block;
  }
}

.event_photo {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  margin-left: 50px;
}
@media screen and (max-width: 1024px) {
  .event_photo {
    margin-left: 0;
    width: 100%;
  }
}
.event_photo img {
  max-width: 100%;
  width: auto;
}

/* レイアウト
----------------------------------------------------------------- */
.layout_text {
  margin: 1.5em 0;
}

.layout_block_flex {
  display: flex;
}
@media only screen and (max-width: 47.9375em) {
  .layout_block_flex {
    display: block;
  }
}
.layout_block_flex .c-table {
  margin-bottom: 1.5em;
  margin-left: 1em;
}
@media only screen and (max-width: 47.9375em) {
  .layout_block_flex .c-table {
    margin-top: 1em;
  }
}

.layout_block_table {
  height: 100%;
  margin-top: 1.5em;
}
.layout_block_table > p {
  margin-bottom: 0.5em;
  text-align: right;
}

.layout_block_img {
  margin-top: 1.5em;
}
@media only screen and (max-width: 47.9375em) {
  .layout_block_img {
    text-align: center;
  }
}
.layout_block_img img {
  max-width: 100%;
}

/* iframe
----------------------------------------------------------------- */
.iframe {
  height: 0;
  margin-top: 1.5em;
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
.iframe iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* ボイス
----------------------------------------------------------------- */
.l-voice-img__caption {
  display: block;
  font-size: 14px;
  margin-top: 1em;
}

.l-voice-with-img {
  display: flex;
}
@media only screen and (max-width: 47.9375em) {
  .l-voice-with-img {
    display: block;
  }
}
.l-voice-with-img .c-image {
  width: 250px;
}
@media only screen and (max-width: 47.9375em) {
  .l-voice-with-img .c-image {
    width: 100%;
  }
}
.l-voice-with-img__text-wrap {
  margin-left: 1.5em;
}
@media only screen and (max-width: 47.9375em) {
  .l-voice-with-img__text-wrap {
    margin-left: 0;
    margin-top: 1.5em;
  }
}
.l-voice-with-img__head {
  font-family: var(--font-family-base-bold);
  font-size: 17px;
  font-weight: bold;
}
.l-voice-with-img__text {
  margin-top: 1.5em;
}

.l-voice-text__head {
  font-family: var(--font-family-base-bold);
  font-size: 17px;
  font-weight: bold;
  position: relative;
  text-indent: 2em;
}
.l-voice-text__head:before {
  background-color: var(--color-black-00);
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: calc(1em - 2px);
  width: 1.5em;
}

.l-voice-text__text {
  margin-top: 1.5em;
}

.l-voice-qa + .l-voice-qa {
  margin-top: 2em;
}
.l-voice-qa_q {
  font-family: var(--font-family-base-bold);
  font-weight: bold;
  padding-left: 2em;
  text-indent: -2em;
}
.l-voice-qa_a {
  border-top: 1px var(--color-black-00) solid;
  margin-top: 0.5em;
  padding-left: 1.5em;
  padding-top: 1em;
  text-indent: -1em;
}

/* ホームブロック
----------------------------------------------------------------- */
.p-home-block__button {
  margin-top: 1em;
  max-width: 250px;
}

/* 施設
----------------------------------------------------------------- */
.facility_list + .facility_list {
  margin-top: 1em;
}
.facility_list > a {
  align-items: baseline;
  display: flex;
  font-family: var(--font-family-base-bold);
  font-size: 0.875rem;
  font-weight: bold;
  position: relative;
}
.facility_list .c-arrow {
  margin-right: 8px;
  top: 0.15em;
}

/* 画像
----------------------------------------------------------------- */
@media print, screen and (min-width: 48em) {
  .c-image img {
    /*max-width: 744px !important;*/
  }
}
.c-column.-example {
  align-items: center;
}
@media print, screen and (min-width: 48em) {
  .c-column.-example.-mx_30.-S-4-XS-2 > .c-column__item {
    width: calc(20% - 60px);
  }
}
.c-column.-example.-mx_30.-S-4-XS-2 > .c-column__item:nth-child(3), .c-column.-example.-mx_30.-S-4-XS-2 > .c-column__item:nth-child(4), .c-column.-example.-mx_30.-S-4-XS-2 > .c-column__item:nth-child(5) {
  margin-top: 0;
}