@charset "UTF-8";
@tailwind base;

/* 追加で記述 */
/* roboto */
@font-face {
  /* font-family: "roboto";  */
  /* font-style: italic; */
  /* font-weight: 700; */
  /* font-display: swap; */
  /* src: url("/media/files/font/Roboto-BoldItalic.ttf") format("truetype"); */
}
/* figtree */

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/files/font/NotoSansJP-Bold.woff") format("truetype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/media/files/font/NotoSansJP-SemiBold.woff") format("truetype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/font/NotoSansJP-Medium.woff") format("truetype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/media/files/font/NotoSansJP-Regular.woff") format("truetype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/media/files/font/NotoSansJP-Light.woff") format("truetype");
}
/* jost */

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/files/font/Jost-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/media/files/font/Jost-SemiBold.ttf") format("truetype");
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/font/Jost-Medium.ttf") format("truetype");
}
/* noto serif JP */
/* @font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/media/files/font/NotoSerifJP-Bold.woff") format("truetype");
} */
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/media/files/font/NotoSerifJP-SemiBold.woff") format("truetype");
}
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/media/files/font/NotoSerifJP-Medium.woff") format("truetype");
}
.sp_hidden {
  transition: 0.5s;
}
html.is-spMenu-opened {
  overflow: hidden;
  .sp_hidden {
    @media (min-width: 1272px) {
      opacity: 0;
      pointer-events: none;
    }
  }
  #js-spMenu {
    opacity: 1;
    visibility: visible;
    padding-bottom: 20rem;
  }
  #js-burger {
    background-color: transparent;
    transition: 0.5s;
    border: none;
  }
  #js-burger-line--1 {
    transition: 0.5s;
    width: 46px;
    height: 4px;
    background-color: #3bb0b4;
    transform: rotate(45deg);
    top: 8px;
    right: -6px;
    @media (min-width: 768px) {
      left: auto;
      right: -3px;
      width: 36px;
    }
    @media (min-width: 1272px) {
      width: 57px;
    }
  }
  #js-burger-line--2 {
    transition: 0.5s;
    width: 46px;
    height: 4px;
    background-color: #3bb0b4;
    transform: rotate(-45deg);
    top: 8px;
    right: -6px;
    @media (min-width: 768px) {
      width: 36px;
      right: -4px;
    }
    @media (min-width: 1272px) {
      width: 57px;
    }
  }
  #js-burger-line--3 {
    transition: 0.5s;
    background-color: transparent;
  }
}
#js-spMenu {
  height: calc(var(--vh, 1vh) * 100 - 80rem);
  @media (min-width: 768px) {
    height: calc(var(--vh, 1vh) * 100 - 80rem);
  }
}
.js-details__summary {
  &::before {
    transition: all 0.4s ease-out;
  }
}
.js-details[open] {
  .js-details__summary {
    .sp_arrow {
      transform: rotateX(180deg);
      top: calc(50% - 4px);
    }
  }
}
summary::-webkit-details-marker {
  display: none;
}
#pankuzu {
  scrollbar-width: none;
}
.description-0 {
  display: none;
}
.privacy-policy {
}
.js-hd-dropDown-container {
  height: 96px;
}
.text_shadow {
  -moz-text-shadow: 5px 5px 13px rgba(0, 0, 0, 1);
  -webkit-text-shadow: 5px 5px 13px rgba(0, 0, 0, 1);
  -ms-text-shadow: 5px 5px 13px rgba(0, 0, 0, 1);
  text-shadow: 5px 5px 13px rgba(0, 0, 0, 1);
}

.group:hover .svg-arrow-left {
  transform: translateX(20px) translateY(-50%);
}

.group:hover .svg-arrow-right {
  transform: translateX(-20px) translateY(-50%);
}
.js-hd-dropDown.active {
  img {
    transform: rotateX(180deg);
  }
}
.header-left-hover::before:hover {
  left: 100%;
}
/*  */

.sp_menu_open {
  #js-spMenu {
    opacity: 1;
    visibility: visible;
  }
  #js-burger-line--1 {
    transform: rotate(45deg);
    top: 5rem;
    width: 46rem;
  }
  #js-burger-line--2 {
    transform: rotate(-45deg);
    top: 5rem;
    width: 46rem;
  }
}
/* Tailwindを使用しない場合のカスタムCSS */
.line-clamp-3 {
  display: -webkit-box; /* フレックスベースでレイアウト */
  -webkit-line-clamp: 3; /* 表示する行数 */
  -webkit-box-orient: vertical; /* 垂直方向にテキストを切り詰め */
  overflow: hidden; /* 溢れた部分を隠す */
  text-overflow: ellipsis; /* 「...」を表示 */
}
header {
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
}
.contetnt_shadow {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.pankuzu li a:not(.last) {
  position: relative;
  font-size: 14rem;
}
.pankuzu li a:not(.last):after {
  position: absolute;
  content: "";
  right: -27rem;
  top: calc(50% + 1rem);
  transform: translateY(-50%);
  background: url(/media/images/common/pankuzu.svg) no-repeat center/contain;
  width: 6rem;
  height: 12rem;
  pointer-events: none;
}
.pankuzu {
  display: flex;
  gap: 50rem;
  scrollbar-width: none;
  white-space: nowrap;
  overflow-x: scroll;
  align-items: center;
  overflow-x: scroll;
  padding-top: 8rem;
  padding-bottom: 8rem;
  font-size: 14rem;
  @media (min-width: 1272px) {
    padding-top: 28rem;
    padding-bottom: 44rem;
  }
  li a:not(.last) {
    position: relative;
    font-size: 14rem;
  }
  li a:not(.last):after {
    position: absolute;
    content: "";
    right: -27rem;
    top: calc(50% + 1rem);
    transform: translateY(-50%);
    background: url(/media/images/common/pankuzu.svg) no-repeat center/contain;
    width: 6rem;
    height: 12rem;
    pointer-events: none;
  }
  li:last-of-type {
    a {
      position: static;
    }
  }
}
.pankuzu li a {
  transition: 0.5s;
  font-size: 14rem;
  br {
    display: none;
  }
  @media (min-width: 1272px) {
    &:hover {
      color: #005bab;
    }
  }
}
.pankuzu li a:hover {
  @media (min-width: 1272px) {
    color: #005bab;
  }
}
.pankuzu li .last {
  pointer-events: none;
}
.pankuzu li .last br {
  display: none;
}
.c-page-top.on {
  opacity: 1;
  pointer-events: auto;
}

.js-open {
  max-height: 0; /* 初期状態で非表示 */
  overflow: hidden; /* 内容がはみ出さないようにする */
  opacity: 0; /* 透明にする */
  transition: max-height 0.3s ease, opacity 0.3s ease; /* アニメーションの設定 */
}

.js-open.open {
  max-height: 600px; /* 開くときの高さを指定（必要に応じて調整） */
  opacity: 1; /* 完全に表示 */
}
/* ページネーション */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18rem;
  @media (max-width: 1272px) {
    gap: 10rem;
  }
  li,
  a {
    font-size: 18rem;
    font-weight: 500;
    transition: 0.5s;
    @media (min-width: 1272px) {
      &:hover {
        opacity: 0.7;
        color: #333333;
      }
    }
  }
  li:not([class]) {
    /* display: none; */
  }
  li {
    color: #cdcdcd;
  }
  li.active {
    color: #333333;
  }

  .prev,
  .next {
    font-size: 0;
    border-radius: 100%;
    border: 1px solid black;
    width: 28rem;
    height: 28rem;
    position: relative;
    a {
      font-size: 0;
      display: block;
      height: 100%;
    }
    &::before {
      position: absolute;
      z-index: -1;
      content: "";
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 12rem;
      height: 8rem;
      background: url("/media/images/column/page_arrow.svg") no-repeat
        center/contain;
    }
    &.disabled {
      opacity: 0.7;
    }
  }
  .next {
    &::before {
      transform: translate(-50%, -50%) rotate(180deg);
    }
  }
}
.js-content {
  max-height: 0; /* 初期は非表示 */
  overflow: hidden; /* スクロールを隠す */
  transition: max-height 0.3s ease; /* アニメーションのスムーズさ */
  /* padding-bottom: 3rem; */
  a {
    transition: 0.5s;

    @media (min-width: 1272px) {
      &:hover {
        opacity: 0.7;
      }
    }
  }
}
.js-toggle,
.question {
  cursor: pointer;
  position: relative;
  transition: 0.5s;
  &::after {
    transition: 0.5s;
    border-color: #005bab;
    width: 12rem;
    height: 12rem;
    top: 50rem;
    right: 40rem;
    position: absolute;
    content: "";
    border-right-width: 2px;
    border-bottom-width: 2px;
    transform: translateY(0) rotate(45deg);
  }
  &.open {
    &::after {
      transform: translateY(0) rotate(-135deg);
    }
  }
}
@media (max-width: 1271px) {
  .js-toggle::after,
  .question::after {
    top: 38rem;
    right: 20rem;
  }
}
@media (max-width: 767px) {
  .js-toggle::after,
  .question::after {
    top: 27rem;
    right: 20rem;
  }
}
.banner_active {
  color: #005bab;
  pointer-events: none;
}
.num_list {
  counter-reset: number 0;
  list-style: none;
  li:before {
    content: "(" counters(number, ".") ")";
    counter-increment: number;
  }
}

.logo_inr {
  display: flex;
  justify-content: center;
  align-items: center;
}
.seminar_none {
  font-size: 24rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 58rem;
  background-color: #f7f7f7;
  text-align: center;
  margin-top: 80rem;
  @media (max-width: 767px) {
    font-size: 18rem;
    padding: 20rem;
    margin-top: 20rem;
  }
}
.sp_none {
  @media (max-width: 767px) {
    display: none;
  }
  @media (min-width: 768px) {
    display: block;
  }
}
.pc_none {
  @media (max-width: 767px) {
    display: block;
  }
  @media (min-width: 768px) {
    display: none;
  }
}
.single_cont {
  padding-top: 100rem;
  @media (max-width: 1271px) {
    padding-top: 50rem;
  }
}
.p-clear-both {
  clear: both;
}
.survey_text {
  position: absolute;
  right: 12rem;
  bottom: 12rem;
  font-size: 14rem;
  @media (max-width: 1271px) {
    font-size: 12rem;
    right: 8rem;
    bottom: 8rem;
  }
}
