@charset "UTF-8";
/*****************************************
※※※※※※※※※※※※※※※※※※※※※※※※※

このCSSファイルはSassから生成されていますので、
編集しないようにしてください。

※※※※※※※※※※※※※※※※※※※※※※※※※
*****************************************/
/*****************************************
基本設定インポート
******************************************/
/*****************************************
基本設定
******************************************/
/*
 メディアクエリ設定。
*/
/*
 ページ全体のフォント設定
*/
html {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-size: 62.5%;
  color: #333333;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  word-break: normal;
  overflow-wrap: break-word;
  scroll-behavior: auto; }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; } }
*, *::before, *::after {
  box-sizing: inherit; }

:root {
  tab-size: 4; }

/*
 すべてのブラウザ用に、デフォルトのマージンを取り除く。
*/
body {
  margin: 0;
  font-size: 1.6rem;
  line-height: 150%;
  background: #FFFAF5; }
  @media (max-width: 767px) {
    body {
      font-size: 1.5rem; } }

* {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  line-height: 130%; }

p {
  line-height: 175%;
  margin: 0; }

li {
  list-style: none; }

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block; }

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto; }

svg {
  overflow: visible; }

/* クリップ問題回避 */
audio, progress {
  display: inline-block; }

input, button, textarea, select {
  font: inherit;
  color: inherit; }

button, [type="button"], [type="submit"] {
  cursor: pointer; }

button {
  border: none; }

textarea {
  resize: vertical; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  padding: 0; }

input[type="number"] {
  -moz-appearance: textfield; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

input:-webkit-autofill {
  transition: background-color 10000s; }

[hidden], template {
  display: none !important; }

:focus {
  outline: none; }

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; } }
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

th, td {
  padding: 0;
  text-align: left;
  vertical-align: top; }

a {
  -webkit-tap-highlight-color: transparent;
  transition: color .3s, background-color .3s, border-color .3s, opacity .3s;
  text-decoration: none;
  color: #333333; }

a:visited {
  color: #333333; }

/*****************************************
メディアクエリ出し分け基本設定
******************************************/
.only-sp {
  display: none; }
  @media (max-width: 767px) {
    .only-sp {
      display: block; } }

@media (max-width: 1024px) {
  .only-pc {
    display: none; } }
@media (max-width: 767px) {
  .only-pc {
    display: none; } }

.only-tab {
  display: none; }
  @media (max-width: 1024px) {
    .only-tab {
      display: block; } }
  @media (max-width: 767px) {
    .only-tab {
      display: none; } }

@media (max-width: 767px) {
  .only-exsp {
    display: none; } }

@media (max-width: 1024px) {
  .no-tab {
    display: none; } }
@media (max-width: 767px) {
  .no-tab {
    display: block; } }

/*****************************************
共通設定
******************************************/
/* ページ読み込み時フェードイン */
body.fadein {
  opacity: 0;
  transition: opacity 1s ease; }

body.fadein.loaded {
  opacity: 1; }

.flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.w1200 {
  max-width: 1240px;
  padding: 0 20px;
  margin-right: auto;
  margin-left: auto; }
  @media (max-width: 767px) {
    .w1200 {
      max-width: 540px; } }

.break {
  display: inline-block; }

.r-05 {
  margin-right: .5em; }

@media (any-hover: hover) {
  .hover-op:hover {
    opacity: .7; } }

.shadow02 {
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }

.shadow03 {
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); }

.shadow04 {
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3); }

.back-beige {
  background: #FDF2E6; }

main {
  padding-top: 80px; }
  @media (max-width: 767px) {
    main {
      padding-top: 61px; } }

section {
  margin-top: 70px;
  margin-bottom: 70px; }
  @media (max-width: 767px) {
    section {
      margin-top: 40px;
      margin-bottom: 40px; } }

h2 {
  font-size: 2.8rem;
  margin-bottom: 25px;
  text-indent: -1.3em;
  padding-left: 1.3em; }
  @media (max-width: 767px) {
    h2 {
      font-size: 2.0rem;
      margin-bottom: 15px; } }
  h2::before {
    content: "●";
    color: #EE7C06;
    margin-right: 1rem; }
  h2.white-h2 {
    color: #FFFAF5; }
    h2.white-h2::before {
      color: #FFFAF5; }
  h2.past-h2 {
    font-size: 2.4rem;
    color: #FFFAF5;
    background: #24599F;
    line-height: 40px;
    height: 40px;
    padding: 0 15px;
    text-indent: inherit; }
    @media (max-width: 767px) {
      h2.past-h2 {
        font-size: 1.8rem;
        line-height: 30px;
        height: 30px;
        padding: 0 10px; } }
    h2.past-h2::before {
      content: none; }

h3 {
  font-size: 2.0rem; }
  @media (max-width: 767px) {
    h3 {
      font-size: 1.8rem; } }
  h3.basic-h3 {
    color: #EE7C06;
    margin-bottom: 10px; }
  h3.band-h3 {
    color: #FFFAF5;
    background: #EE7C06;
    line-height: 40px;
    padding-left: 15px; }
    @media (max-width: 767px) {
      h3.band-h3 {
        line-height: 1.5;
        padding: 5px 12px; } }
    .basic-block h3.band-h3 {
      margin-bottom: 10px; }
    .process .basic-block h3.band-h3 {
      margin-bottom: 20px; }
  h3.past-h3 {
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      h3.past-h3 {
        margin-bottom: 15px; } }
    h3.past-h3::before {
      content: "●";
      color: #24599F;
      margin-right: 1rem; }

/*******改行指示*******/
span.line-break {
  display: inline-block; }

/*******外部リンク*******/
a.external-link {
  text-decoration: underline;
  color: #24599F; }
  a.external-link::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/external_link.svg);
    background-size: contain;
    transition: .3s;
    margin: 0 5px;
    padding-bottom: 20px;
    vertical-align: middle;
    background-repeat: no-repeat; }
  @media (any-hover: hover) {
    a.external-link:hover {
      opacity: .7; } }

/*******スマホ用電話リンク*******/
a.sp-tel {
  text-decoration: underline; }
  @media (min-width: 768px) {
    a.sp-tel {
      pointer-events: none;
      text-decoration: none; } }

/*******ファーストビュータイトル*******/
.first-view .first-view__wrapper {
  width: 100%;
  height: clamp(300px, 100vw/6.4, 9999px);
  position: relative;
  align-items: flex-end; }
  @media (max-width: 767px) {
    .first-view .first-view__wrapper {
      height: 200px; } }
  .first-view .first-view__wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: -1;
    top: 0;
    object-position: 50% 50%;
    /****登録販売者外部研修****/
    /****認定取得手順****/
    /****各種申請書類等****/
    /****賛助会員について****/
    /****健康サポート薬局研修****/
    /****受講者の声****/
    /****機構について****/
    /****組織概要****/
    /****医療機器販売業等営業所管理者 継続的研修****/
    /****よくあるご質問****/
    /****運用細則****/
    /****E-ラーニング研修****/
    /****お問い合わせ****/
    /****公開講座****/
    /****個別課題研修****/
    /****認定薬剤師研修****/
    /****過去の公開講座****/ }
    .registered-seller .first-view .first-view__wrapper img, .past-seller-course .first-view .first-view__wrapper img {
      object-position: 50% 70%; }
      @media (max-width: 1024px) {
        .registered-seller .first-view .first-view__wrapper img, .past-seller-course .first-view .first-view__wrapper img {
          object-position: 50% 50%; } }
    .document .first-view .first-view__wrapper img, .exemption .first-view .first-view__wrapper img {
      object-position: 50% 40%; }
      @media (max-width: 1024px) {
        .document .first-view .first-view__wrapper img, .exemption .first-view .first-view__wrapper img {
          object-position: 75% 50%; } }
      @media (max-width: 767px) {
        .document .first-view .first-view__wrapper img, .exemption .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
    .document .first-view .first-view__wrapper img {
      object-position: 50% 30%; }
      @media (max-width: 1024px) {
        .document .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
      @media (max-width: 767px) {
        .document .first-view .first-view__wrapper img {
          object-position: 30% 50%; } }
    .partner .first-view .first-view__wrapper img, .corporate-form .first-view .first-view__wrapper img, .individual-form .first-view .first-view__wrapper img {
      object-position: 50% 30%; }
      @media (max-width: 1024px) {
        .partner .first-view .first-view__wrapper img, .corporate-form .first-view .first-view__wrapper img, .individual-form .first-view .first-view__wrapper img {
          object-position: 80% 50%; } }
      @media (max-width: 767px) {
        .partner .first-view .first-view__wrapper img, .corporate-form .first-view .first-view__wrapper img, .individual-form .first-view .first-view__wrapper img {
          object-position: 60% 50%; } }
    .health-support .first-view .first-view__wrapper img, .schedule .first-view .first-view__wrapper img {
      object-position: 50% 25%; }
      @media (max-width: 1024px) {
        .health-support .first-view .first-view__wrapper img, .schedule .first-view .first-view__wrapper img {
          object-position: 75% 50%; } }
      @media (max-width: 767px) {
        .health-support .first-view .first-view__wrapper img, .schedule .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
    .voice .first-view .first-view__wrapper img {
      object-position: 50% 35%; }
      @media (max-width: 1024px) {
        .voice .first-view .first-view__wrapper img {
          object-position: 75% 50%; } }
      @media (max-width: 767px) {
        .voice .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
    .organization .first-view .first-view__wrapper img {
      object-position: 50% 40%; }
      @media (max-width: 1024px) {
        .organization .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
      @media (max-width: 767px) {
        .organization .first-view .first-view__wrapper img {
          object-position: 65% 50%; } }
    .system .first-view .first-view__wrapper img {
      object-position: 50% 40%; }
      @media (max-width: 1024px) {
        .system .first-view .first-view__wrapper img {
          object-position: 95% 50%; } }
      @media (max-width: 767px) {
        .system .first-view .first-view__wrapper img {
          object-position: 85% 50%; } }
    .device-manager .first-view .first-view__wrapper img {
      object-position: 50% 40%; }
      @media (max-width: 1024px) {
        .device-manager .first-view .first-view__wrapper img {
          object-position: 55% 50%; } }
      @media (max-width: 767px) {
        .device-manager .first-view .first-view__wrapper img {
          object-position: 75% 50%; } }
    .faq .first-view .first-view__wrapper img {
      object-position: 50% 40%; }
      @media (max-width: 1024px) {
        .faq .first-view .first-view__wrapper img {
          object-position: 80% 50%; } }
      @media (max-width: 767px) {
        .faq .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
    .bylaws .first-view .first-view__wrapper img {
      object-position: 50% 50%; }
      @media (max-width: 1024px) {
        .bylaws .first-view .first-view__wrapper img {
          object-position: 30% 50%; } }
    .e-learning .first-view .first-view__wrapper img, .e-learning-course .first-view .first-view__wrapper img {
      object-position: 50% 60%; }
      @media (max-width: 1024px) {
        .e-learning .first-view .first-view__wrapper img, .e-learning-course .first-view .first-view__wrapper img {
          object-position: 80% 50%; } }
      @media (max-width: 767px) {
        .e-learning .first-view .first-view__wrapper img, .e-learning-course .first-view .first-view__wrapper img {
          object-position: 30% 50%; } }
    .contact .first-view .first-view__wrapper img {
      object-position: 50% 60%; }
      @media (max-width: 1024px) {
        .contact .first-view .first-view__wrapper img {
          object-position: 50% 50%; } }
      @media (max-width: 767px) {
        .contact .first-view .first-view__wrapper img {
          object-position: 60% 50%; } }
    .past-course .first-view .first-view__wrapper img {
      object-position: 50% 70%; }
      @media (max-width: 1024px) {
        .past-course .first-view .first-view__wrapper img {
          object-position: 25% 50%; } }
      @media (max-width: 767px) {
        .past-course .first-view .first-view__wrapper img {
          object-position: 30% 50%; } }
    .individual .first-view .first-view__wrapper img {
      object-position: 50% 70%; }
      @media (max-width: 1024px) {
        .individual .first-view .first-view__wrapper img {
          object-position: 75% 50%; } }
      @media (max-width: 767px) {
        .individual .first-view .first-view__wrapper img {
          object-position: 60% 50%; } }
    .pharmacist .first-view .first-view__wrapper img {
      object-position: 50% 70%; }
      @media (max-width: 1024px) {
        .pharmacist .first-view .first-view__wrapper img {
          object-position: 80% 50%; } }
    .course .first-view .first-view__wrapper img {
      object-position: 50% 45%; }
      @media (max-width: 1024px) {
        .course .first-view .first-view__wrapper img {
          object-position: 70% 50%; } }
      @media (max-width: 767px) {
        .course .first-view .first-view__wrapper img {
          object-position: 90% 50%; } }
  .first-view .first-view__wrapper .first-view__ttl-box {
    width: 100%;
    height: 80px;
    background: rgba(255, 255, 255, 0.7);
    align-items: center;
    justify-content: flex-start; }
    @media (max-width: 767px) {
      .first-view .first-view__wrapper .first-view__ttl-box {
        height: auto;
        padding: 10px 0; } }
    .first-view .first-view__wrapper .first-view__ttl-box h1, .first-view .first-view__wrapper .first-view__ttl-box .first-view__ttl {
      width: 100%;
      font-size: 3.0rem;
      color: #EE7C06;
      font-weight: bold;
      text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.7); }
      @media (max-width: 767px) {
        .first-view .first-view__wrapper .first-view__ttl-box h1, .first-view .first-view__wrapper .first-view__ttl-box .first-view__ttl {
          font-size: 2.4rem; } }

/*******パンくずリスト*******/
.breadcrumb {
  line-height: 1.5;
  font-size: 1.3rem;
  padding: 10px 0;
  text-align: end; }
  @media (max-width: 767px) {
    .breadcrumb {
      font-size: 1.1rem;
      text-align: left; } }
  .breadcrumb ul li {
    display: inline; }
    .breadcrumb ul li a {
      display: inline-block; }
    .breadcrumb ul li::after {
      content: ">";
      margin: 0 1rem; }
      @media (max-width: 767px) {
        .breadcrumb ul li::after {
          margin: 0 .2rem; } }
    .breadcrumb ul li:last-child {
      font-weight: 500;
      font-weight: bold; }
      .breadcrumb ul li:last-child::after {
        content: none; }
    @media (any-hover: hover) {
      .breadcrumb ul li a:hover {
        text-decoration: underline;
        color: #EE7C06; } }

/*******基本ボタン*******/
.basic-btn {
  display: block;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  width: 280px;
  height: 47px;
  background: #EE7C06;
  border-radius: 100px;
  text-align: center;
  margin: 25px auto 0; }
  .basic-btn span {
    font-size: 1.8rem;
    font-weight: bold;
    color: #FFFAF5;
    line-height: 47px; }
    @media (max-width: 767px) {
      .basic-btn span {
        font-size: 1.6rem; } }
  @media (any-hover: hover) {
    .basic-btn:hover {
      background: #24599F; } }
  .basic-btn.basic-btn-angular {
    border-radius: 5px; }
  .basic-btn.basic-btn-sub {
    background: #24599F; }

.btn-container {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
  margin-top: 30px; }
  @media (max-width: 767px) {
    .btn-container {
      justify-content: center;
      flex-wrap: wrap; } }
  @media (any-hover: hover) {
    .btn-container:has(.basic-btn-sub) .basic-btn:hover {
      background: #EE7C06;
      opacity: .7; } }
  @media (any-hover: hover) {
    .btn-container:has(.basic-btn-sub) .basic-btn.basic-btn-sub:hover {
      background: #24599F;
      opacity: .7; } }
  .btn-container .basic-btn {
    margin: 0; }

/*******元のページに戻るボタン*******/
.return-btn {
  text-align: center;
  margin: 50px 0 100px; }
  @media (max-width: 767px) {
    .return-btn {
      margin: 40px 0; } }
  .return-btn a {
    font-size: 2.0rem;
    font-weight: bold;
    color: #24599F;
    text-decoration: underline; }
    @media (max-width: 767px) {
      .return-btn a {
        font-size: 1.6rem; } }
    @media (any-hover: hover) {
      .return-btn a:hover {
        color: #EE7C06; } }

/*******バナーBOX*******/
.last-link {
  margin: 100px auto; }
  @media (max-width: 767px) {
    .last-link {
      margin: 60px auto 45px; }
      .last-link.others-link, .last-link.organization-link {
        margin-bottom: 60px; } }

.banner-wrapper {
  row-gap: 40px; }
  .banner-wrapper::after {
    content: "";
    display: block;
    width: 31.25%; }
  @media (max-width: 767px) {
    .banner-wrapper {
      row-gap: 15px; } }
  .banner-wrapper a {
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 31.25%;
    max-width: 375px;
    height: auto;
    aspect-ratio: 5 / 2; }
    .training .banner-wrapper a {
      width: 24%;
      max-width: 270px;
      aspect-ratio: 9 / 5; }
      @media (max-width: 767px) {
        .training .banner-wrapper a {
          width: 47%; } }
    @media (hover: hover) {
      .banner-wrapper a:hover img {
        transform: scale(1.2);
        opacity: 0.7; } }
    @media (max-width: 767px) {
      .banner-wrapper a {
        width: 47%;
        border-radius: 10px; } }
    .banner-wrapper a img {
      width: 100%;
      height: auto;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: .3s; }
    .banner-wrapper a .banner-name {
      font-weight: bold;
      line-height: 1.3;
      padding: 8px 20px 4px;
      background: rgba(255, 255, 255, 0.7);
      z-index: 10;
      width: 100%; }
      @media (max-width: 767px) {
        .banner-wrapper a .banner-name {
          font-size: 1.2rem;
          padding: 4px 5px 2px; } }
      .training .banner-wrapper a .banner-name {
        padding: 8px 10px 4px;
        font-size: 1.3rem; }
        @media (max-width: 1024px) {
          .training .banner-wrapper a .banner-name {
            padding: 6px 10px 2px; } }
        @media (max-width: 767px) {
          .training .banner-wrapper a .banner-name {
            font-size: 1.2rem;
            padding: 4px 10px 2px; } }
        .training .banner-wrapper a .banner-name.meddevice-banner-name {
          padding: 8px 8px 4px; }
          @media (max-width: 1024px) {
            .training .banner-wrapper a .banner-name.meddevice-banner-name {
              padding: 6px 8px 2px; } }
          @media (max-width: 767px) {
            .training .banner-wrapper a .banner-name.meddevice-banner-name {
              padding: 4px 8px 2px; } }

/*******ページ内リンクメニュー系*******/
.nav-list {
  display: flex;
  gap: 20px 30px;
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    .nav-list {
      gap: 15px 30px; } }
  .nav-list li a {
    font-size: 2.0rem;
    color: #24599F;
    text-decoration: underline;
    font-weight: bold; }
    @media (hover: hover) {
      .nav-list li a:hover {
        color: #EE7C06; } }
    @media (max-width: 767px) {
      .nav-list li a {
        font-size: 1.6rem; } }
    .nav-list li a.past-nav {
      font-size: 1.8rem; }
      @media (max-width: 767px) {
        .nav-list li a.past-nav {
          font-size: 1.6rem; } }

/*******受講者の声*******/
.voice-wrapper {
  gap: 40px 3%; }
  @media (max-width: 1024px) {
    .voice-wrapper {
      gap: 20px; } }
  .voice-wrapper .voice-box {
    width: 48.5%;
    padding: 15px 20px;
    border: 1px solid #333333;
    border-radius: 15px; }
    @media (max-width: 1024px) {
      .voice-wrapper .voice-box {
        width: 100%; } }
    @media (max-width: 767px) {
      .voice-wrapper .voice-box {
        padding: 10px; } }
    .voice-wrapper .voice-box .flex-box {
      justify-content: flex-start; }
  .voice-wrapper .voice-type-box {
    align-items: center; }
    .voice-wrapper .voice-type-box .voice-type {
      line-height: 1;
      color: #FFFAF5;
      font-weight: bold;
      font-size: 1.4rem;
      padding: 5px;
      margin-right: 10px; }
      @media (max-width: 767px) {
        .voice-wrapper .voice-type-box .voice-type {
          font-size: 1.3rem;
          line-height: 1.4;
          padding: 2.5px 5px;
          max-width: calc(100% - 85px); } }
      .voice-wrapper .voice-type-box .voice-type.voice-type-certification {
        background: #EE7C06; }
      .voice-wrapper .voice-type-box .voice-type.voice-type-others {
        background: #24599F; }
      #voice_health-support .voice-wrapper .voice-type-box .voice-type, #voice_device-manager .voice-wrapper .voice-type-box .voice-type, #voice_registered-seller .voice-wrapper .voice-type-box .voice-type {
        background: #24599F; }
      .home .voice-wrapper .voice-type-box .voice-type.type-voice_group::before, .home .voice-wrapper .voice-type-box .voice-type.type-voice_ondemand::before, .home .voice-wrapper .voice-type-box .voice-type.type-voice_general::before, .home .voice-wrapper .voice-type-box .voice-type.type-voice_practical::before, .home .voice-wrapper .voice-type-box .voice-type.type-voice_e-learning::before {
        content: "認定薬剤師研修 "; }
      .home .voice-wrapper .voice-type-box .voice-type.type-voice_health-support, .home .voice-wrapper .voice-type-box .voice-type.type-voice_device-manager, .home .voice-wrapper .voice-type-box .voice-type.type-voice_registered-seller {
        background: #24599F; }
    .voice-wrapper .voice-type-box .voice-ttl {
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1.3; }
      @media (max-width: 767px) {
        .voice-wrapper .voice-type-box .voice-ttl {
          font-size: 1.4rem;
          line-height: 23px; } }
  .voice-wrapper .voice-theme-box {
    margin-top: 10px; }
    @media (max-width: 767px) {
      .voice-wrapper .voice-theme-box {
        display: block;
        line-height: 1.3;
        margin-top: 5px; } }
  .voice-wrapper .voice-lecturer-box {
    margin-top: 5px; }
    @media (max-width: 767px) {
      .voice-wrapper .voice-lecturer-box {
        display: block;
        line-height: 1.3; } }
  .voice-wrapper .voice-theme, .voice-wrapper .voice-theme-ttl, .voice-wrapper .voice-lecturer, .voice-wrapper .voice-lecturer-ttl {
    line-height: 1.5; }
    @media (max-width: 767px) {
      .voice-wrapper .voice-theme, .voice-wrapper .voice-theme-ttl, .voice-wrapper .voice-lecturer, .voice-wrapper .voice-lecturer-ttl {
        display: inline;
        font-size: 1.3rem; } }
  .voice-wrapper .voice-theme-ttl, .voice-wrapper .voice-lecturer-ttl {
    font-weight: bold; }
  .voice-wrapper .voice-theme, .voice-wrapper .voice-lecturer {
    flex: 1; }
  .voice-wrapper .voice-theme::before {
    content: "「"; }
  .voice-wrapper .voice-theme::after {
    content: "」"; }
  .voice-wrapper .voice-main {
    margin-top: 10px; }
    @media (max-width: 767px) {
      .voice-wrapper .voice-main {
        margin-top: 5px; } }
    .voice-wrapper .voice-main .voice-img-box {
      width: 80px;
      height: 80px;
      margin-right: 15px; }
      @media (max-width: 767px) {
        .voice-wrapper .voice-main .voice-img-box {
          margin-right: 10px; } }
      .voice-wrapper .voice-main .voice-img-box img {
        width: 100%;
        height: auto; }
    .voice-wrapper .voice-main .voice-text {
      font-size: 1.8rem;
      line-height: 1.5;
      flex: 1; }
      @media (max-width: 767px) {
        .voice-wrapper .voice-main .voice-text {
          font-size: 1.4rem; } }

.voice-link-wrapper {
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  margin-right: 25px;
  transition: .3s;
  margin-top: 20px; }
  @media (max-width: 767px) {
    .voice-link-wrapper {
      margin-top: 15px; } }
  .voice-link-wrapper a::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../img/round_arrow_right.svg);
    background-size: contain;
    position: absolute;
    right: -25px;
    transition: .3s;
    bottom: 0;
    top: 0;
    margin: auto; }
  @media (hover: hover) {
    .voice-link-wrapper a:hover {
      color: #EE7C06;
      text-decoration: underline; }
      .voice-link-wrapper a:hover::after {
        transform: scale(1.2);
        right: -35px; } }

/*******インナーリンク*******/
.inner-link {
  display: block;
  padding-top: 90px;
  margin-top: -90px; }
  @media (max-width: 767px) {
    .inner-link {
      padding-top: 80px;
      margin-top: -80px; } }

/*******アコーディオン*******/
.open-box {
  display: none; }

/*******modal-video*******/
.modal-video {
  background-color: rgba(0, 0, 0, 0.7) !important;
  cursor: auto !important; }

/*****************************************
モーダル基本
******************************************/
/* 常に縦スクロールの溝を確保 → モーダルでoverflow:hiddenにしても幅が変わらない */
html {
  scrollbar-gutter: stable; }

/* モーダル中のスクロール抑制（padding加算はもう不要） */
body.modal-open {
  overflow: hidden;
  touch-action: none; }

#modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  visibility: hidden;
  pointer-events: none;
  /* 背景 */
  /* 本体 */
  /* ===== 開くアニメーション ===== */
  /* ===== 閉じるアニメーション ===== */
  /* 閉じるボタン */ }
  #modal.show {
    visibility: visible;
    pointer-events: auto; }
  #modal .modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0; }
  #modal .modal__dialog {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 80%;
    min-width: min(92vw, 560px);
    max-height: 80vh;
    overflow: auto;
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translate(-50%, -46%) scale(0.92);
    will-change: transform, opacity, filter; }
  #modal.show:not(.closing) .modal__backdrop {
    animation: modalBackdropIn .5s ease forwards; }
  #modal.show:not(.closing) .modal__dialog {
    animation: modalIn 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
  #modal.show.closing .modal__backdrop {
    animation: modalBackdropOut .35s ease forwards; }
  #modal.show.closing .modal__dialog {
    animation: modalOut .35s ease forwards; }
  #modal .modal__close {
    position: absolute;
    right: 8px;
    top: 8px;
    font-size: 20px;
    line-height: 1;
    background: none;
    border: 0;
    cursor: pointer; }

/* テンプレは完全非表示 */
.modal-template {
  display: none !important; }

/* 背景スクロール固定（iOS向け含む最低限） */
body.modal-open {
  overflow: hidden;
  touch-action: none; }

/* 低モーション設定への配慮 */
@media (prefers-reduced-motion: reduce) {
  #modal .modal__backdrop,
  #modal .modal__dialog {
    animation: none !important;
    transition: none !important; }

  #modal.show:not(.closing) .modal__backdrop {
    opacity: 1; }

  #modal.show:not(.closing) .modal__dialog {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1); } }
/*****************************************
アニメーション
******************************************/
/* 講座紹介アコーディオン用 */
@keyframes acc-pop {
  0% {
    transform: translateY(-4px) scaleY(0.98);
    opacity: 0; }
  60% {
    transform: translateY(0) scaleY(1.02);
    opacity: 1; }
  100% {
    transform: translateY(0) scaleY(1); } }
/* POPに拡大 */
@keyframes bounce-fade-in {
  from {
    opacity: 0;
    transform: scale(0.8); }
  to {
    opacity: 1;
    transform: scale(1); } }
/* モーダル用開くアニメ */
@keyframes modalBackdropIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes modalIn {
  0% {
    opacity: 0;
    transform: translate(-50%, -46%) scale(0.92);
    filter: blur(4px); }
  60% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.03);
    filter: blur(0); }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1); } }
/* モーダル用閉じるアニメ */
@keyframes modalBackdropOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes modalOut {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1); }
  100% {
    opacity: 0;
    transform: translate(-50%, -46%) scale(0.96); } }
/*****************************************
チャットボット
******************************************/
#dify-chatbot-bubble-button {
  background-color: unset !important;
  background-image: url("../img/fumufumu.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  transition: .3s;
  border: 1px solid #FCF79B;
  width: 50px !important;
  height: 50px !important;
  z-index: 600 !important; }
  @media (hover: hover) {
    #dify-chatbot-bubble-button:hover {
      border: 1px solid #EE7C06; } }
  @media (max-width: 767px) {
    #dify-chatbot-bubble-button {
      left: calc((var(--vw) - 273px) / 2) !important;
      width: 40px !important;
      height: 40px !important; }
      #dify-chatbot-bubble-button::before {
        content: "";
        top: -10px;
        bottom: 0;
        left: calc(-1 * ((var(--vw) - 273px) / 2));
        height: 60px;
        width: calc(var(--vw) - 80px);
        background: transparent;
        position: absolute;
        display: inline-block;
        background: transparent; }
      #dify-chatbot-bubble-button::after {
        content: "AIチャットBot\Aフムフムに質問する";
        white-space: pre-wrap;
        position: absolute;
        top: -1px;
        width: max-content;
        font-size: 1.6rem;
        color: #FFFAF5;
        font-weight: bold;
        line-height: 1.3;
        left: 55px; } }
  #dify-chatbot-bubble-button > div {
    /*@include sp {
        z-index: 700!important;
    }*/ }
  #dify-chatbot-bubble-button #openIcon {
    display: none !important; }
  #dify-chatbot-bubble-button #closeIcon {
    background: #B53328;
    border-radius: 100px;
    width: 48px;
    height: 48px;
    transition: .3s; }
    @media (hover: hover) {
      #dify-chatbot-bubble-button #closeIcon:hover {
        background: #C76055; } }
    @media (max-width: 767px) {
      #dify-chatbot-bubble-button #closeIcon {
        width: 38px;
        height: 38px; } }
    #dify-chatbot-bubble-button #closeIcon path {
      stroke: #FFFAF5 !important; }

#dify-chatbot-bubble-window {
  position: fixed !important;
  min-width: 430px !important;
  max-width: 700px !important;
  min-height: 520px !important;
  right: 70px !important;
  border-top-left-radius: 18px !important;
  border-top-right-radius: 18px !important; }
  @media (max-width: 767px) {
    #dify-chatbot-bubble-window {
      top: 0 !important;
      min-width: 0 !important;
      min-height: 0 !important;
      right: 0 !important;
      left: 0 !important;
      width: var(--vw) !important;
      /*height: 100vh!important;*/
      height: calc(var(--real-vh) * 100) !important;
      bottom: 0px !important;
      /*max-height: calc(100vh - 60px)!important;*/
      max-height: calc((var(--real-vh) * 100) - 60px) !important;
      background-color: rgba(0, 0, 0, 0.7);
      border-radius: 0 !important;
      position: relative; } }

.py-0 {
  background: red !important; }

/* コメント */
.chatbot_comment {
  position: fixed;
  bottom: 10px;
  right: 80px;
  background: yellow;
  border: 1px solid #b3b3b3;
  padding: 10px 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
  z-index: 9999;
  /* 吹き出し影（枠と同系色） */
  /* 吹き出し本体（黄色） */
  /* 出るとき */ }
  .chatbot_comment::before {
    content: "";
    position: absolute;
    top: 58%;
    right: -18px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 16px solid #b3b3b3;
    filter: blur(0.5px); }
  .chatbot_comment::after {
    content: "";
    position: absolute;
    top: 58%;
    right: -16px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 16px solid yellow; }
  .chatbot_comment.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }

/*****************************************
PC用ページトップへ
******************************************/
.pagetop {
  width: 50px;
  height: 50px;
  border-radius: 100px;
  background: #EE7C06;
  border: 1px solid #FFFAF5;
  text-align: center;
  padding-top: 5px;
  opacity: .7;
  transition: .8s;
  cursor: pointer;
  position: fixed;
  bottom: 70px;
  right: -80px;
  z-index: 999; }
  @media (hover: hover) {
    .pagetop:hover {
      opacity: 1; } }
  .pagetop img {
    width: 18px;
    height: 18px;
    margin: auto; }
  .pagetop.LeftMove {
    right: 10px; }
  .pagetop.RightMove {
    right: -80px; }
  .pagetop p {
    color: #FFFAF5;
    text-align: center;
    line-height: 1.5;
    font-size: 1.2rem; }

/*****************************************
スマホ用ボトムバナー
******************************************/
.sp-bottom-wrapper {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 500;
  height: 60px;
  border-top: 1px solid #FFFAF5; }
  .sp-bottom-wrapper .sp-bottom-container {
    height: 60px; }
  .sp-bottom-wrapper .sp-bottom-pagetop {
    width: 80px;
    background: #24599F;
    display: flex;
    justify-content: center;
    align-items: center; }
    .sp-bottom-wrapper .sp-bottom-pagetop .pagetop-box {
      display: flex;
      flex-direction: column;
      align-items: center; }
    .sp-bottom-wrapper .sp-bottom-pagetop .pagetop-text {
      font-size: 1.1rem;
      color: #FFFAF5;
      line-height: 1;
      margin-top: 8px; }
  .sp-bottom-wrapper .chatbot-space {
    width: calc(100% - 80px);
    height: 60px;
    background: #EE7C06; }

/*****************************************
ページネーション
******************************************/
.pagination {
  margin-top: 30px; }
  .pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 30px; }
    .pagination .nav-links a {
      font-size: 1.6rem;
      text-decoration: underline;
      color: #24599F; }
      @media (hover: hover) {
        .pagination .nav-links a:hover {
          color: #EE7C06; } }
      .pagination .nav-links a.prev::before {
        content: "< "; }
      .pagination .nav-links a.next::after {
        content: " >"; }
    .pagination .nav-links span {
      font-size: 1.6rem;
      font-weight: bold; }

/*****************************************
404ページ
******************************************/
.error404 .last-banner, .error404 .sns-banner {
  display: none; }
.error404 .box-404 {
  text-align: center;
  padding: 100px 0 0; }
  @media (max-width: 767px) {
    .error404 .box-404 {
      padding: 40px 0 20px; } }
  .error404 .box-404 .ttl-404 {
    font-size: 14.0rem;
    font-weight: bold;
    color: #EE7C06;
    opacity: .4;
    line-height: 1.1; }
    @media (max-width: 767px) {
      .error404 .box-404 .ttl-404 {
        font-size: 8.0rem; } }
    .error404 .box-404 .ttl-404 span {
      display: block;
      font-size: 6.0rem; }
      @media (max-width: 767px) {
        .error404 .box-404 .ttl-404 span {
          font-size: 4.0rem; } }
  .error404 .box-404 .text-404 {
    margin-top: 30px;
    font-size: 2.0rem; }
    @media (max-width: 767px) {
      .error404 .box-404 .text-404 {
        font-size: 1.8rem; } }

/*****************************************
投稿プレビューページ
******************************************/
.single-voice .top-header, .single-voice .last-banner, .single-voice .sns-banner, .single-voice footer, .single-voice #dify-chatbot-bubble-button, .single-voice .sp-bottom-wrapper, .single-lecture .top-header, .single-lecture .last-banner, .single-lecture .sns-banner, .single-lecture footer, .single-lecture #dify-chatbot-bubble-button, .single-lecture .sp-bottom-wrapper, .single-e-learning .top-header, .single-e-learning .last-banner, .single-e-learning .sns-banner, .single-e-learning footer, .single-e-learning #dify-chatbot-bubble-button, .single-e-learning .sp-bottom-wrapper, .single-support .top-header, .single-support .last-banner, .single-support .sns-banner, .single-support footer, .single-support #dify-chatbot-bubble-button, .single-support .sp-bottom-wrapper, .single-seller .top-header, .single-seller .last-banner, .single-seller .sns-banner, .single-seller footer, .single-seller #dify-chatbot-bubble-button, .single-seller .sp-bottom-wrapper {
  display: none; }
.single-voice .preview-center, .single-lecture .preview-center, .single-e-learning .preview-center, .single-support .preview-center, .single-seller .preview-center {
  display: flex;
  align-items: center;
  height: 100vh;
  justify-content: center; }
.single-voice .voice-wrapper .voice-type-box .voice-type.voice-type-certification.other-type, .single-lecture .voice-wrapper .voice-type-box .voice-type.voice-type-certification.other-type, .single-e-learning .voice-wrapper .voice-type-box .voice-type.voice-type-certification.other-type, .single-support .voice-wrapper .voice-type-box .voice-type.voice-type-certification.other-type, .single-seller .voice-wrapper .voice-type-box .voice-type.voice-type-certification.other-type {
  background-color: #24599F; }
.single-voice .course-box, .single-lecture .course-box, .single-e-learning .course-box, .single-support .course-box, .single-seller .course-box {
  margin-top: 50px; }
.single-voice .e-course-preview, .single-lecture .e-course-preview, .single-e-learning .e-course-preview, .single-support .e-course-preview, .single-seller .e-course-preview {
  width: 100%; }

.single-seller .course-box table tbody tr:last-child th, .single-seller .course-box table tbody tr:last-child td {
  border-bottom: none; }
.single-seller .inner-table {
  border-top: 1px solid #333333; }
.single-seller div.course-box .table-box {
  border: 1px solid #333333;
  overflow: hidden; }

/*****************************************
ヘッダーインポート
******************************************/
/*****************************************
ヘッダー
******************************************/
header {
  background: #FFFAF5;
  width: 100%;
  position: fixed;
  z-index: 700;
  border-top: 10px solid #EE7C06; }
  @media (max-width: 767px) {
    header {
      padding: 0;
      background: #FFFAF5; } }
  header .header-logo a img {
    width: min(8.4vw, 100px);
    height: auto;
    margin-right: min(0.6vw, 10px); }
    @media (max-width: 767px) {
      header .header-logo a img {
        width: 88px;
        margin-right: 6px; } }
  header .header-logo a .logo-text {
    flex-direction: column; }
  header .header-logo a p {
    line-height: 1;
    font-weight: bold;
    color: #EE7C06; }
  header .header-logo a .entity-type {
    font-size: min(1vw, 1rem); }
    @media (max-width: 767px) {
      header .header-logo a .entity-type {
        font-size: .9rem; } }
  header .header-logo a .organization-name {
    font-size: min(1.1vw, 1.4rem); }
    @media (max-width: 767px) {
      header .header-logo a .organization-name {
        font-size: 1.2rem; } }
  header nav {
    height: 70px;
    align-items: center;
    transition: .3s; }
  header .nav-menu {
    align-items: center; }
    header .nav-menu > li:not(.menu-contact-link) {
      height: 70px;
      display: flex;
      align-items: center;
      transition: .3s; }
      header .nav-menu > li:not(.menu-contact-link) > a {
        font-size: min(1.2vw, 1.5rem);
        padding: 2px min(1.3vw, 15px);
        font-weight: bold;
        border-right: 1px solid #b3b3b3;
        transition: .3s; }
        @media (any-hover: hover) {
          header .nav-menu > li:not(.menu-contact-link) > a:hover {
            color: #EE7C06; } }
        @media (max-width: 1024px) {
          header .nav-menu > li:not(.menu-contact-link) > a {
            padding: 0 min(0.6vw, 15px);
            font-size: min(1.4vw, 1.5rem); } }
      header .nav-menu > li:not(.menu-contact-link):nth-last-child(2) a {
        border: none; }
    header .nav-menu li.has-child > a {
      cursor: default; }
      header .nav-menu li.has-child > a::after {
        content: "";
        display: inline-block;
        width: 12px;
        /*画像の幅*/
        height: 9px;
        /*画像の高さ*/
        background-image: url("../img/under_arrow.svg");
        background-repeat: no-repeat;
        background-size: contain;
        vertical-align: middle;
        margin-left: 3px; }
        @media (max-width: 1024px) {
          header .nav-menu li.has-child > a::after {
            width: 9px;
            height: 8px; } }
    header .nav-menu .child-menu {
      display: none;
      position: absolute;
      left: 0;
      right: 0;
      top: 70px;
      margin: auto;
      justify-content: center;
      background: rgba(255, 250, 245, 0.95);
      padding: 20px 0;
      border-top: 1px solid #FAD8B4;
      box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
      transition: .3s; }
      @media (max-width: 1024px) {
        header .nav-menu .child-menu {
          padding: 10px 0; } }
      header .nav-menu .child-menu li:last-child a {
        border: none; }
      header .nav-menu .child-menu a {
        font-size: min(1.2vw, 1.4rem);
        padding: 2px 10px;
        border-right: 1px solid #b3b3b3; }
        @media (any-hover: hover) {
          header .nav-menu .child-menu a:hover {
            color: #EE7C06;
            text-decoration: underline; } }
        @media (max-width: 1024px) {
          header .nav-menu .child-menu a {
            font-size: min(1.4vw, 1.4rem); } }
    header .nav-menu .has-child.is-open > .child-menu {
      display: flex; }
    header .nav-menu .has-child.is-open > a {
      color: #EE7C06; }
      header .nav-menu .has-child.is-open > a::after {
        background-image: url("../img/under_arrow_orange.svg"); }
    header .nav-menu .menu-contact-link a {
      font-weight: bold;
      background: #EE7C06;
      color: #FFFAF5;
      border-radius: 100px;
      height: 36px;
      text-align: center;
      line-height: 36px;
      display: block;
      font-size: min(1.4vw, 1.5rem);
      width: min(11.8vw, 130px);
      margin-left: min(1vw, 15px); }
      @media (any-hover: hover) {
        header .nav-menu .menu-contact-link a:hover {
          background: #24599F; } }
  header.fixed {
    transition: .3s;
    border-bottom: 1px solid #FAD8B4; }
    header.fixed nav {
      height: 51px; }
    header.fixed .nav-menu > li:not(.menu-contact-link) {
      height: 51px; }
    header.fixed .menu-contact-link a {
      height: 30px;
      line-height: 30px; }
    header.fixed .nav-menu .child-menu {
      top: 52px;
      padding: 15px 0;
      border: none; }

/*****************************************
スマホハンバーガーメニュー
******************************************/
/******SPグローバルメニュー******/
#sp-global-header {
  z-index: 800;
  position: relative; }
  #sp-global-header .sp-global-header__user-panel {
    height: 51px;
    padding: 0 20px;
    border-bottom: 1px solid #FAD8B4;
    align-items: center; }
    #sp-global-header .sp-global-header__user-panel .menu-open {
      position: relative;
      width: 25px;
      height: 33px;
      /*↓効果なければ消す*/
      /*↑効果なければ消す*/ }
      #sp-global-header .sp-global-header__user-panel .menu-open::after {
        content: "メニュー";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        font-size: .8rem;
        font-weight: bold;
        white-space: nowrap;
        line-height: 1;
        display: flex;
        justify-content: center; }
      #sp-global-header .sp-global-header__user-panel .menu-open span {
        display: inline-block;
        transition: all .5s;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        height: 2px;
        border-radius: 5px;
        background: #333333;
        width: 25px; }
        #sp-global-header .sp-global-header__user-panel .menu-open span:nth-of-type(1) {
          top: 0; }
        #sp-global-header .sp-global-header__user-panel .menu-open span:nth-of-type(2) {
          top: 9px; }
        #sp-global-header .sp-global-header__user-panel .menu-open span:nth-of-type(3) {
          top: 18px; }
      #sp-global-header .sp-global-header__user-panel .menu-open.active::after {
        content: "閉じる"; }
      #sp-global-header .sp-global-header__user-panel .menu-open:not(.active) span:nth-of-type(1) {
        top: 0; }
      #sp-global-header .sp-global-header__user-panel .menu-open:not(.active) span:nth-of-type(3) {
        top: 18px; }
      #sp-global-header .sp-global-header__user-panel .menu-open.active span {
        /*↓効果なければ消す*/
        transition: all .5s;
        /*↑効果なければ消す*/ }
        #sp-global-header .sp-global-header__user-panel .menu-open.active span:nth-of-type(1) {
          top: 4px;
          transform: translateY(6px) rotate(-45deg); }
        #sp-global-header .sp-global-header__user-panel .menu-open.active span:nth-of-type(2) {
          opacity: 0; }
        #sp-global-header .sp-global-header__user-panel .menu-open.active span:nth-of-type(3) {
          top: 16px;
          transform: translateY(-6px) rotate(45deg); }

/******SPグローバルメニューの中身******/
#g-nav {
  position: fixed;
  z-index: 1700;
  top: 61px;
  right: -120%;
  width: calc(100% - 20px);
  background: #FAD8B4;
  bottom: 0;
  height: auto; }
  #g-nav #g-nav-list {
    opacity: 0; }
  #g-nav.panelactive {
    right: 0;
    transition: right 0.6s;
    /* 項目に合わせてスクロールさせる */ }
    #g-nav.panelactive #g-nav-list {
      opacity: 1;
      z-index: 1700;
      width: 100%;
      position: relative;
      height: 100%;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain; }
    #g-nav.panelactive ul li {
      animation-name: gnaviAnime;
      animation-duration: 1.0s;
      animation-delay: .3s;
      animation-fill-mode: forwards;
      opacity: 0;
      position: relative; }
      #g-nav.panelactive ul li a {
        display: block;
        font-size: 1.5rem;
        position: relative;
        box-sizing: border-box;
        height: 46px;
        line-height: 46px;
        border-bottom: 1px solid #333333;
        font-weight: bold; }
      #g-nav.panelactive ul li.open a {
        pointer-events: none;
        position: relative; }
        #g-nav.panelactive ul li.open a::after {
          content: "";
          display: inline-block;
          width: 15px;
          /*画像の幅*/
          height: 10px;
          /*画像の高さ*/
          background-image: url("../img/under_arrow.svg");
          background-repeat: no-repeat;
          position: absolute;
          right: 0;
          bottom: 0;
          top: 0;
          margin: auto;
          background-size: contain;
          vertical-align: middle;
          transition: .3s; }
      #g-nav.panelactive ul li.open.close a::after {
        transform: rotate(540deg); }
      #g-nav.panelactive ul li.open-box {
        display: none; }
      #g-nav.panelactive ul li .g-nav-menu-second {
        padding-left: 10px; }
        #g-nav.panelactive ul li .g-nav-menu-second li {
          animation-duration: .3s;
          animation-delay: 0; }
        #g-nav.panelactive ul li .g-nav-menu-second li a {
          font-size: 1.3rem;
          font-weight: normal;
          height: 38px;
          line-height: 38px; }
  #g-nav .sp-g-nav-list {
    z-index: 1700;
    padding: 0 20px 30px; }
  #g-nav .menu-sns-box {
    margin-bottom: 40px; }
    #g-nav .menu-sns-box .manu-sns-box-ttl {
      text-align: center;
      font-size: 1.4rem;
      font-weight: bold;
      margin-bottom: 5px; }
    #g-nav .menu-sns-box .sns-logo-box {
      justify-content: center;
      gap: 20px; }
      #g-nav .menu-sns-box .sns-logo-box a {
        width: 25px;
        height: 25px; }
        #g-nav .menu-sns-box .sns-logo-box a img {
          width: 100%;
          height: auto; }

.bg-color {
  position: absolute;
  opacity: 0;
  transition: .3s; }
  .bg-color.bgactive {
    width: 100%;
    height: 100vh;
    display: block;
    background: rgba(35, 24, 21, 0.8);
    opacity: 1; }

#g-nav.panelactive .nav-contact-banner {
  display: block;
  border-radius: 100px;
  width: 240px;
  text-align: center;
  height: 40px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #FFFAF5;
  background: #EE7C06;
  text-align: center;
  margin: 0 auto 20px;
  animation-name: gnaviAnime01;
  animation-duration: 1.0s;
  animation-delay: .3s;
  animation-fill-mode: forwards;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center; }
  #g-nav.panelactive .nav-contact-banner::after {
    content: "";
    display: inline-block;
    width: 18px;
    /*画像の幅*/
    height: 18px;
    /*画像の高さ*/
    background-image: url("../img/round_arrow_right_white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px; }

@keyframes gnaviAnime {
  0% {
    opacity: 0;
    left: 50px; }
  100% {
    opacity: 1;
    left: 0; } }
@keyframes gnaviAnime01 {
  0% {
    opacity: 0;
    left: 50px; }
  100% {
    opacity: 1;
    left: -10px; } }
/*****************************************
TOPページインポート
******************************************/
/*****************************************
ファーストビュー
******************************************/
.first-view {
  position: relative;
  margin: 0; }
  .first-view .first-view-slide-container {
    height: clamp(300px, 100vw/6.4, 9999px);
    margin-bottom: 0; }
    @media (max-width: 767px) {
      .first-view .first-view-slide-container {
        height: 200px; } }
  .first-view .first-view-slide-box {
    width: 100%;
    height: clamp(300px, 100vw/6.4, 9999px);
    position: relative; }
    @media (max-width: 767px) {
      .first-view .first-view-slide-box {
        height: 200px; } }
    @media (hover: hover) {
      .first-view .first-view-slide-box a:hover img {
        opacity: .7; }
      .first-view .first-view-slide-box a:hover .fake-link {
        background: #24599F; } }
    .first-view .first-view-slide-box img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      z-index: -1;
      transition: .3s; }
      .first-view .first-view-slide-box img.main-mainimg {
        object-position: 50% 70%; }
      .first-view .first-view-slide-box img.certification-mainimg {
        object-position: 50% 60%; }
        @media (max-width: 1024px) {
          .first-view .first-view-slide-box img.certification-mainimg {
            object-position: 70% 60%; } }
        @media (max-width: 767px) {
          .first-view .first-view-slide-box img.certification-mainimg {
            object-position: 60% 60%; } }
      .first-view .first-view-slide-box img.procedure-mainimg {
        object-position: 50% 30%; }
        @media (max-width: 1024px) {
          .first-view .first-view-slide-box img.procedure-mainimg {
            object-position: 70% 30%; } }
        @media (max-width: 767px) {
          .first-view .first-view-slide-box img.procedure-mainimg {
            object-position: 40% 30%; } }
      .first-view .first-view-slide-box img.healthsupport-mainimg {
        object-position: 50% 40%; }
        @media (max-width: 1024px) {
          .first-view .first-view-slide-box img.healthsupport-mainimg {
            object-position: 60% 40%; } }
      .first-view .first-view-slide-box img.meddevice-mainimg {
        object-position: 50% 50%; }
        @media (max-width: 1024px) {
          .first-view .first-view-slide-box img.meddevice-mainimg {
            object-position: 35% 50%; } }
        @media (max-width: 767px) {
          .first-view .first-view-slide-box img.meddevice-mainimg {
            object-position: 0 50%; } }
      .first-view .first-view-slide-box img.registered-seller-mainimg {
        object-position: 50% 30%; }
        @media (max-width: 1024px) {
          .first-view .first-view-slide-box img.registered-seller-mainimg {
            object-position: 60% 30%; } }
        @media (max-width: 767px) {
          .first-view .first-view-slide-box img.registered-seller-mainimg {
            object-position: 10% 30%; } }
  .first-view .mv-catch {
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0 70px;
    margin: 0 auto;
    max-width: 1340px; }
    @media (max-width: 767px) {
      .first-view .mv-catch {
        padding: 0 20px; } }
  .first-view .maincatch {
    font-weight: bold;
    letter-spacing: .05em;
    font-size: 5.3rem;
    color: #FFFAF5;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    line-height: 1.3; }
    @media (max-width: 767px) {
      .first-view .maincatch {
        font-size: 3.3rem; } }
    .first-view .maincatch .mini-word {
      font-size: 4.0rem; }
      @media (max-width: 767px) {
        .first-view .maincatch .mini-word {
          font-size: 2.3rem; } }
    .first-view .maincatch:not(.main-maincatch) {
      font-size: 4.2rem; }
      @media (max-width: 767px) {
        .first-view .maincatch:not(.main-maincatch) {
          font-size: 2.5rem; } }
      .first-view .maincatch:not(.main-maincatch) .mini-word {
        font-size: 3.0rem; }
        @media (max-width: 767px) {
          .first-view .maincatch:not(.main-maincatch) .mini-word {
            font-size: 2.0rem; } }
    .first-view .maincatch.blue-maincatch {
      color: #24599F;
      text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.7); }
  .first-view .catch-text {
    font-weight: bold;
    letter-spacing: .05em;
    font-size: 3.0rem;
    color: #EE7C06;
    line-height: 1.5;
    margin: 5px 0 30px;
    text-shadow: 2px 2px 5px white, -2px 2px 5px white, 2px -2px 5px white, -2px -2px 5px white; }
    @media (max-width: 767px) {
      .first-view .catch-text {
        font-size: 2.0rem;
        margin: 10px 0 20px; } }
    .first-view .catch-text .mini-word {
      font-size: 2.1rem; }
      @media (max-width: 767px) {
        .first-view .catch-text .mini-word {
          font-size: 1.6rem; } }
  .first-view .fake-link {
    font-size: 2.4rem;
    font-weight: bold;
    width: 450px;
    height: 55px;
    line-height: 55px;
    text-align: center;
    border-radius: 10px;
    background: #EE7C06;
    color: #FFFAF5;
    margin-top: 30px;
    transition: .3s; }
    @media (max-width: 1024px) {
      .first-view .fake-link {
        font-size: min(2.5vw, 2.4rem);
        width: min(45.7vw, 450px);
        margin-top: 20px; } }
    @media (max-width: 767px) {
      .first-view .fake-link {
        font-size: 1.3rem;
        width: 240px;
        margin-top: 20px;
        height: 35px;
        line-height: 35px; } }
    .first-view .fake-link.meddevice-fake-link {
      line-height: 1.5;
      padding: 5px 0;
      height: auto;
      margin-top: 20px; }
      @media (max-width: 1024px) {
        .first-view .fake-link.meddevice-fake-link {
          margin-top: 15px; } }

/******slick*****/
.slick-prev, .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 35px;
  height: 35px;
  transition: .3s;
  border: none;
  background: transparent;
  cursor: pointer; }
  .slick-prev::before, .slick-next::before {
    content: none; }
  @media (hover: hover) {
    .slick-prev:hover, .slick-next:hover {
      opacity: .7; } }
  @media (max-width: 767px) {
    .slick-prev, .slick-next {
      width: 25px;
      height: 25px;
      top: 228px; } }

.slick-prev {
  left: 20px; }

.slick-next {
  right: 20px; }

.slick-dots {
  bottom: -30px; }
  @media (max-width: 767px) {
    .slick-dots {
      bottom: -35px; } }
  .slick-dots li {
    width: 15px;
    height: 15px;
    margin: 0 10px; }
    .slick-dots li.slick-active button::before {
      opacity: 1;
      color: #EE7C06; }
    .slick-dots li button {
      width: 15px;
      height: 15px; }
      @media (hover: hover) {
        .slick-dots li button:hover::before {
          color: #EE7C06; } }
    .slick-dots li button::before {
      font-size: 1.5rem;
      width: 15px;
      height: 15px;
      opacity: 1;
      color: #BDCDE2;
      transition: .3s; }

.under-fv {
  padding: 70px 0; }
  @media (max-width: 767px) {
    .under-fv {
      padding: 60px 0 50px; } }

/*****************************************
お知らせ
******************************************/
.news-contents {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto; }
  .news-contents .news__ttl {
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      .news-contents .news__ttl {
        margin-bottom: 15px; } }
    .news-contents .news__ttl::before {
      content: none; }
  .news-contents .news__wrapper {
    width: 100%;
    background: #FFFAF5;
    padding: 30px 40px;
    border-radius: 15px; }
    @media (max-width: 767px) {
      .news-contents .news__wrapper {
        padding: 20px 15px; } }
  .news-contents .news__box a {
    display: inline-flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: baseline;
    margin-bottom: 20px;
    gap: 60px; }
    @media (max-width: 767px) {
      .news-contents .news__box a {
        flex-wrap: wrap;
        gap: 5px; } }
    @media (hover: hover) {
      .news-contents .news__box a:hover p, .news-contents .news__box a:hover time {
        opacity: .7; }
      .news-contents .news__box a:hover .news__heading {
        color: #EE7C06; } }
    .news .news-contents .news__box a {
      margin-bottom: 30px; }
    .news-contents .news__box a p, .news-contents .news__box a time {
      font-weight: bold;
      line-height: 1.5;
      transition: .3s; }
    .news-contents .news__box a .news__date {
      font-size: 1.4rem;
      color: #333333B3;
      min-width: 125px;
      position: relative;
      white-space: nowrap; }
      @media (max-width: 767px) {
        .news-contents .news__box a .news__date {
          width: inherit;
          font-size: 1.3rem; } }
      .news .news-contents .news__box a .news__date {
        font-size: 1.6rem;
        min-width: 150px; }
        @media (max-width: 767px) {
          .news .news-contents .news__box a .news__date {
            width: inherit;
            font-size: 1.4rem; } }
    .news-contents .news__box a .news__heading {
      font-size: 1.6rem;
      text-decoration: underline; }
      @media (max-width: 767px) {
        .news-contents .news__box a .news__heading {
          flex: initial;
          width: 100%;
          font-size: 1.5rem; } }
      .news .news-contents .news__box a .news__heading {
        font-size: 1.8rem; }
        @media (max-width: 767px) {
          .news .news-contents .news__box a .news__heading {
            font-size: 1.6rem; } }
  @media (min-width: 768px) {
    .news-contents .important-news a .news__heading::before {
      content: "重要なお知らせ";
      font-size: 1.3rem;
      color: #FFFAF5;
      background: #EE7C06;
      height: 23px;
      line-height: 23px;
      padding: 0 5px;
      display: inline-block;
      margin-right: 10px;
      border-radius: 3px;
      text-decoration: none;
      vertical-align: middle; } }
  @media (max-width: 767px) {
    .news-contents .important-news a .news__date::after {
      content: "重要なお知らせ";
      font-size: 1.2rem;
      color: #FFFAF5;
      background: #EE7C06;
      height: 21px;
      line-height: 21px;
      padding: 0 5px;
      display: inline-block;
      margin-left: 10px;
      border-radius: 3px;
      vertical-align: middle; } }
  .news-contents .new-news a .news__date span::after {
    content: "NEW";
    font-size: 1.2rem;
    color: #FFFAF5;
    background: #B53328;
    height: 23px;
    line-height: 23px;
    padding: 0 5px;
    display: inline-block;
    margin-left: 10px;
    border-radius: 3px;
    vertical-align: middle;
    position: absolute;
    bottom: 0;
    right: -45px; }
    @media (max-width: 767px) {
      .news-contents .new-news a .news__date span::after {
        position: inherit; } }
  .news-contents .news__link-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
  .news-contents .news__link {
    font-weight: bold;
    text-align: end;
    display: flex;
    align-items: center;
    position: relative;
    margin-right: 25px;
    transition: .3s; }
    .news-contents .news__link::after {
      content: '';
      display: inline-block;
      width: 20px;
      height: 20px;
      background-image: url(../img/round_arrow_right.svg);
      background-size: contain;
      position: absolute;
      right: -25px;
      transition: .3s; }
    @media (hover: hover) {
      .news-contents .news__link:hover {
        color: #EE7C06;
        text-decoration: underline; }
        .news-contents .news__link:hover::after {
          transform: scale(1.2);
          right: -35px; } }

/*****************************************
研修を受ける
******************************************/
.training {
  margin-bottom: 0; }

/*****************************************
SNS
******************************************/
.sns-wrapper .sns-logo-box {
  justify-content: flex-start;
  gap: 20px;
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .sns-wrapper .sns-logo-box {
      margin-bottom: 30px; } }
  @media (hover: hover) {
    .sns-wrapper .sns-logo-box a:hover {
      opacity: .7; } }
.sns-wrapper h3 {
  font-size: 2.4rem;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .sns-wrapper h3 {
      font-size: 1.8rem;
      margin-bottom: 10px; } }
.sns-wrapper .sns-feed-wrapper {
  gap: 60px;
  flex-wrap: nowrap; }
  @media (max-width: 767px) {
    .sns-wrapper .sns-feed-wrapper {
      flex-wrap: wrap;
      gap: 30px; } }
.sns-wrapper .sns-feed-box.sns-feed-box-instagram {
  width: 61%; }
  @media (max-width: 1024px) {
    .sns-wrapper .sns-feed-box.sns-feed-box-instagram {
      width: 50%; } }
  @media (max-width: 767px) {
    .sns-wrapper .sns-feed-box.sns-feed-box-instagram {
      width: 100%; } }
  .sns-wrapper .sns-feed-box.sns-feed-box-instagram #sbi_images {
    padding: 0 !important; }
    @media (max-width: 1024px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-instagram #sbi_images {
        grid-template-columns: repeat(2, 1fr) !important; } }
    @media (max-width: 767px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-instagram #sbi_images {
        grid-template-columns: 1fr !important; } }
  .sns-wrapper .sns-feed-box.sns-feed-box-instagram .sbi_item {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); }
    @media (max-width: 1024px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-instagram .sbi_item .sbi_photo_wrap {
        aspect-ratio: 3/4; } }
    @media (max-width: 1024px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-instagram .sbi_item a {
        height: 100% !important; } }
    @media (hover: hover) {
      .sns-wrapper .sns-feed-box.sns-feed-box-instagram .sbi_item a:hover {
        opacity: .7; } }
.sns-wrapper .sns-feed-box.sns-feed-box-x {
  width: 33%; }
  @media (max-width: 1024px) {
    .sns-wrapper .sns-feed-box.sns-feed-box-x {
      width: 45%; } }
  @media (max-width: 767px) {
    .sns-wrapper .sns-feed-box.sns-feed-box-x {
      width: 100%; } }
  .sns-wrapper .sns-feed-box.sns-feed-box-x .ctf-tweets .ctf-item {
    max-height: min(49vw, 626px);
    overflow: auto !important; }
    @media (max-width: 1024px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-x .ctf-tweets .ctf-item {
        max-height: min(89.5vw, 956px); } }
    @media (max-width: 767px) {
      .sns-wrapper .sns-feed-box.sns-feed-box-x .ctf-tweets .ctf-item {
        max-height: none; } }
  .sns-wrapper .sns-feed-box.sns-feed-box-x .ctf-tweet-content {
    margin: 0 !important; }
@media (min-width: 768px) {
  .sns-wrapper .sns-feed-box .sns-feed {
    width: 220px; } }
.sns-wrapper .sns-feed-box .sns-feed img {
  width: 100%;
  height: auto; }
.sns-wrapper .sns-feed-box .sns-link-btn {
  height: 40px;
  width: 220px;
  background: #EE7C06;
  border-radius: 100px;
  margin: 0 0 0 auto;
  display: block;
  color: #FFFAF5;
  text-align: center;
  line-height: 40px;
  font-weight: bold;
  font-size: 1.6rem;
  position: relative; }
  @media (max-width: 767px) {
    .sns-wrapper .sns-feed-box .sns-link-btn {
      margin: 0 auto; } }
  .sns-wrapper .sns-feed-box .sns-link-btn::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    position: absolute;
    left: 20px;
    transition: .3s;
    bottom: 0;
    top: 0;
    margin: auto; }
  .sns-wrapper .sns-feed-box .sns-link-btn::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("../img/round_arrow_right_white.svg");
    background-size: contain;
    position: absolute;
    right: 20px;
    transition: .3s;
    bottom: 0;
    top: 0;
    margin: auto; }
  .sns-wrapper .sns-feed-box .sns-link-btn.x-sns-link {
    margin-top: 30px; }
  .sns-wrapper .sns-feed-box .sns-link-btn.insta-sns-link::before {
    background-image: url("../img/insta_logo_white.png"); }
  .sns-wrapper .sns-feed-box .sns-link-btn.x-sns-link::before {
    background-image: url("../img/x_logo_white.png"); }
  .sns-wrapper .sns-feed-box .sns-link-btn.fb-sns-link::before {
    background-image: url("../img/fb_logo_white.png");
    width: 11px;
    height: 20px;
    left: 26px; }
  .sns-wrapper .sns-feed-box .sns-link-btn.fb-sns-link {
    margin-top: 15px; }
  @media (hover: hover) {
    .sns-wrapper .sns-feed-box .sns-link-btn:hover {
      background: #24599F; }
      .sns-wrapper .sns-feed-box .sns-link-btn:hover::after {
        transform: scale(1.2);
        right: 20px;
        background-image: url("../img/round_arrow_right_white_blue.svg"); } }

/*****************************************
関連リンク
******************************************/
.related-links {
  background: #EE7C06;
  padding: 30px 0 40px;
  margin: 100px auto 0; }
  @media (max-width: 767px) {
    .related-links {
      padding: 30px 0;
      margin: 60px auto 0; } }
  .related-links .related-links-container {
    gap: 2%; }
    @media (max-width: 767px) {
      .related-links .related-links-container {
        gap: 20px; } }
    .related-links .related-links-container .related-link-box {
      width: 32%;
      height: auto;
      border-radius: 10px;
      background: #FFFAF5; }
      @media (max-width: 767px) {
        .related-links .related-links-container .related-link-box {
          width: 100%; } }
    @media (hover: hover) {
      .related-links .related-links-container .related-link:hover {
        opacity: .7; } }
    .related-links .related-links-container .related-link img {
      width: 100%;
      height: auto; }

/*****************************************
講座系ページインポート
******************************************/
/*****************************************
講座系ページ
******************************************/
/*****************************************
共通
******************************************/
.no-posts {
  margin-bottom: 50px;
  text-align: center;
  font-size: 2.0rem; }
  @media (max-width: 767px) {
    .no-posts {
      font-size: 1.8rem;
      margin-bottom: 30px; } }

span.new {
  font-size: 1.3rem;
  color: #FFFAF5;
  background: #B53328;
  line-height: 1;
  padding: 5px;
  border-radius: 3px;
  margin-right: 5px;
  position: relative;
  bottom: 2px; }
  @media (max-width: 767px) {
    span.new {
      position: absolute;
      bottom: inherit;
      top: 10px;
      left: 10px;
      padding: 5px; }
      .e-course-wrapper span.new {
        position: relative;
        top: inherit;
        left: inherit;
        padding: 3px 5px;
        font-size: 1.1rem;
        display: flex;
        align-items: center; } }

span.recruitment-end {
  color: #B53328; }

/******講座紹介******/
.course-box {
  margin-bottom: 50px; }
  @media (max-width: 767px) {
    .course-box {
      margin-bottom: 30px; } }
  .course-box .table-box {
    position: relative;
    border: 1px solid #333333;
    border-bottom: none;
    border-radius: 15px; }
    @media (max-width: 767px) {
      .course-box .table-box {
        border-bottom: 1px solid #333333;
        padding: 35px 10px 10px;
        border-radius: 10px; } }
    .course-box .table-box:has(.close) {
      border-bottom: 1px solid #333333; }
      .course-box .table-box:has(.close) tr.course-lecturer th {
        border-bottom-left-radius: 0; }
      .course-box .table-box:has(.close) tr.course-lecturer td {
        border-bottom-right-radius: 0; }
  .course-box table tr {
    display: flex; }
    @media (max-width: 767px) {
      .course-box table tr {
        padding: 5px 0 0;
        flex-wrap: wrap; } }
    .course-box table tr.course-theme th {
      border-top-left-radius: 15px; }
    .course-box table tr.course-theme td {
      padding-right: 180px;
      font-weight: bold;
      font-size: 1.8rem; }
      @media (max-width: 767px) {
        .course-box table tr.course-theme td {
          padding: 0;
          font-size: 1.5rem; } }
    .course-box table tr.course-lecturer th, .course-box table tr.course-lecturer td {
      transition: .3s; }
    .course-box table tr.course-lecturer th {
      border-bottom-left-radius: 15px; }
    .course-box table tr.course-lecturer td {
      border-bottom-right-radius: 15px; }
    @media (min-width: 768px) {
      .course-box table tr.sp-course-info {
        display: none; } }
  .course-box table th, .course-box table td {
    display: inline-block;
    padding: 20px;
    border-bottom: 1px solid #333333; }
    @media (max-width: 767px) {
      .course-box table th, .course-box table td {
        padding: 0;
        font-size: 1.4rem;
        border: none;
        line-height: 1.5; } }
  .course-box table th {
    background: #FAD8B4;
    width: 20%;
    max-width: 240px; }
    @media (max-width: 767px) {
      .course-box table th {
        background: none;
        color: #EE7C06;
        padding-right: 10px;
        width: auto; } }
  .course-box table td {
    width: 80%; }
    @media (max-width: 767px) {
      .course-box table td {
        width: auto; } }
  .course-box table.inner-table tr:last-child th, .course-box table.inner-table tr:last-child td {
    border-bottom: none; }
  .course-box table.inner-table tr:last-child th {
    border-bottom-left-radius: 15px; }
  .course-box button.open {
    position: absolute;
    top: 14px;
    right: 20px;
    border: 1px solid #EE7C06;
    border-radius: 5px;
    transition: .3s;
    font-weight: bold;
    cursor: pointer;
    color: #EE7C06;
    width: 140px;
    height: 35px;
    padding: 0 25px 0 0;
    text-align: center;
    line-height: 35px;
    background: #FFFAF5; }
    @media (max-width: 767px) {
      .course-box button.open {
        width: 130px;
        height: 30px;
        padding: 0 25px 0 0;
        line-height: 30px;
        font-size: 1.4rem;
        top: 5px;
        right: 5px; } }
    .course-box button.open::before {
      content: "詳細を見る"; }
    .course-box button.open::after {
      content: "+";
      display: inline-flex;
      background: #EE7C06;
      color: #FFFAF5;
      border-radius: 100px;
      width: 20px;
      height: 20px;
      justify-content: center;
      align-items: center;
      position: absolute;
      right: 10px;
      top: 0;
      bottom: 0;
      margin: auto;
      line-height: 20px;
      font-weight: normal;
      padding-left: 1px; }
      @media (max-width: 767px) {
        .course-box button.open::after {
          width: 18px;
          height: 18px;
          line-height: 18px; } }
    @media (any-hover: hover) {
      .course-box button.open:hover {
        opacity: .7; } }
    .course-box button.open.close {
      border: 1px solid #24599F;
      color: #24599F; }
      .course-box button.open.close::before {
        content: "表示を減らす"; }
      .course-box button.open.close::after {
        content: "-";
        font-size: 25px;
        background: #24599F; }
  @media (max-width: 767px) {
    .course-box .inner-table .course-info {
      display: none; } }
  .course-box .inner-table .course-info td {
    width: 30%; }
    @media (max-width: 767px) {
      .course-box .inner-table .course-info td {
        width: auto; } }

/******過去の講座紹介******/
.past-course-box {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .past-course-box {
      margin-bottom: 25px; } }
  .past-course-box table th, .past-course-box table td {
    padding: 10px 20px; }
    @media (max-width: 767px) {
      .past-course-box table th, .past-course-box table td {
        padding: 0 10px 0 0; } }
  .past-course-box table th {
    background: #BDCDE2; }
    @media (max-width: 767px) {
      .past-course-box table th {
        background: none; } }
  .past-course-box table tr.course-lecturer th, .past-course-box table tr.course-lecturer td {
    border-radius: 0; }
  .past-course-box table .course-info th, .past-course-box table .course-info td {
    transition: .3s; }
    .past-course-box table .course-info th:first-child, .past-course-box table .course-info td:first-child {
      border-bottom-left-radius: 15px; }
    .past-course-box table .course-info th:last-child, .past-course-box table .course-info td:last-child {
      border-bottom-right-radius: 15px; }
  @media (max-width: 767px) {
    .past-course-box table .course-info {
      display: none; } }
  .past-course-box table .course-info td {
    width: 30%; }
    @media (max-width: 767px) {
      .past-course-box table .course-info td {
        width: auto; } }
  .past-course-box .table-box:has(.close) .course-info th, .past-course-box .table-box:has(.close) .course-info td {
    border-radius: 0; }
  .past-course-box button.open {
    top: 6px;
    line-height: 32px;
    height: 32px; }
    @media (max-width: 767px) {
      .past-course-box button.open {
        top: 8px;
        line-height: 28px;
        height: 28px; } }

/*****************************************
公開講座ご案内
******************************************/
/******コースインデックス******/
.course-index {
  margin: 50px auto 30px; }
  @media (max-width: 767px) {
    .course-index {
      margin: 15px auto 25px; } }
  .course-index .course-index__list {
    justify-content: flex-start; }
    @media (max-width: 767px) {
      .course-index .course-index__list {
        gap: 15px 30px; } }
  .course-index .course-index__link {
    font-size: 2.0rem;
    font-weight: bold;
    margin-right: 30px;
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      .course-index .course-index__link {
        font-size: 1.6rem;
        margin: 0; } }
    .course-index .course-index__link a {
      color: #24599F;
      text-decoration: underline; }
      @media (any-hover: hover) {
        .course-index .course-index__link a:hover {
          color: #EE7C06; } }
    .course-index .course-index__link.course-index__link-past {
      flex: 1;
      margin: 0; }
      .course-index .course-index__link.course-index__link-past a {
        font-size: 1.8rem;
        width: 200px;
        height: 50px;
        border-radius: 5px;
        background: #24599F;
        color: #FFFAF5;
        display: block;
        line-height: 50px;
        margin-left: auto;
        text-align: center;
        text-decoration: none; }
        @media (any-hover: hover) {
          .course-index .course-index__link.course-index__link-past a:hover {
            background: #EE7C06; } }
        @media (max-width: 767px) {
          .course-index .course-index__link.course-index__link-past a {
            font-size: 1.4rem;
            width: 120px;
            height: 35px;
            line-height: 35px; } }
  .course-index .course-index__atention {
    text-align: end;
    font-size: 1.4rem;
    margin-top: 20px;
    line-height: 1.5; }
    @media (max-width: 767px) {
      .course-index .course-index__atention {
        text-align: left;
        font-size: 1.2rem;
        margin-top: 10px; } }

/******申し込みボタン******/
.application-box {
  justify-content: flex-end;
  column-gap: 30px;
  margin-top: 15px; }
  @media (max-width: 767px) {
    .application-box {
      column-gap: 20px;
      margin-top: 10px; } }

.application-btn {
  width: 220px;
  height: 35px;
  background: #EE7C06;
  line-height: 35px;
  text-align: center;
  border-radius: 100px;
  font-size: 1.6rem;
  font-weight: bold;
  transition: .3s; }
  @media (max-width: 767px) {
    .application-btn {
      width: 150px;
      height: 30px;
      line-height: 30px;
      font-size: 1.2rem; } }
  @media (any-hover: hover) {
    .application-btn:hover {
      background: #24599F; } }
  .application-btn a {
    color: #FFFAF5;
    display: block; }

/******E-ラーニング研修独自CSS******/
@media (max-width: 767px) {
  .e-course-wrapper .application-btn {
    width: 120px; } }
.e-course-wrapper .course-box {
  margin-bottom: 25px; }
  @media (max-width: 767px) {
    .e-course-wrapper .course-box {
      margin-bottom: 20px; } }
.e-course-wrapper .course-voice {
  margin-top: 30px; }
.e-course-wrapper .e-course-cat-box {
  align-items: center;
  margin-bottom: 25px; }
  @media (max-width: 767px) {
    .e-course-wrapper .e-course-cat-box {
      margin-bottom: 20px; } }
  .e-course-wrapper .e-course-cat-box h2 {
    margin-bottom: 0; }
.e-course-wrapper table {
  border: 1px solid #333333;
  border-radius: 15px;
  border-collapse: separate;
  overflow: hidden; }
  @media (max-width: 767px) {
    .e-course-wrapper table {
      border-radius: 0;
      border: none; } }
  .e-course-wrapper table thead {
    background: #EE7C06; }
  .e-course-wrapper table th, .e-course-wrapper table td {
    border: none; }
    @media (max-width: 767px) {
      .e-course-wrapper table th, .e-course-wrapper table td {
        width: 100%; } }
.e-course-wrapper .table-box {
  border: none; }
  @media (max-width: 767px) {
    .e-course-wrapper .table-box {
      border-radius: 10px;
      padding: 15px 10px 10px;
      border: 1px solid #333333; } }
  .e-course-wrapper .table-box:has(.close) {
    border: none; }
    @media (max-width: 767px) {
      .e-course-wrapper .table-box:has(.close) {
        border: 1px solid #333333; } }
.e-course-wrapper .course-class th {
  border-radius: 15px 0 0 15px; }
.e-course-wrapper .course-class td {
  font-weight: bold;
  padding-right: 170px; }
  @media (max-width: 767px) {
    .e-course-wrapper .course-class td {
      font-size: 1.5rem;
      padding: 0; } }
.e-course-wrapper .e-inner-table {
  margin-top: 10px; }
  @media (max-width: 767px) {
    .e-course-wrapper .e-inner-table thead {
      display: none; } }
  .e-course-wrapper .e-inner-table thead th {
    text-align: center;
    color: #FFFAF5;
    background: #EE7C06;
    padding: 10px;
    border-bottom: none;
    max-width: none; }
    .e-course-wrapper .e-inner-table thead th:first-child {
      width: 15%;
      border-radius: 15px 0 0 0 !important; }
    .e-course-wrapper .e-inner-table thead th:nth-child(2) {
      width: 52%;
      border-radius: 0 !important;
      border-left: 1px solid #FFFAF5;
      border-right: 1px solid #FFFAF5; }
    .e-course-wrapper .e-inner-table thead th:last-child {
      width: 33%;
      border-radius: 0 15px 0 0 !important; }
  .e-course-wrapper .e-inner-table tbody td {
    padding: 10px 15px; }
    @media (max-width: 767px) {
      .e-course-wrapper .e-inner-table tbody td {
        padding: 0;
        font-size: 1.3rem;
        display: flex;
        flex-wrap: wrap; }
        .e-course-wrapper .e-inner-table tbody td::before {
          display: inline-block;
          color: #EE7C06;
          font-weight: bold;
          margin-right: 5px; } }
    .e-course-wrapper .e-inner-table tbody td:first-child {
      width: 15%;
      font-size: 1.4rem; }
      @media (max-width: 767px) {
        .e-course-wrapper .e-inner-table tbody td:first-child {
          width: 100%;
          font-size: 1.3rem; }
          .e-course-wrapper .e-inner-table tbody td:first-child::before {
            content: "講座"; } }
    .e-course-wrapper .e-inner-table tbody td:nth-child(2) {
      width: 52%;
      border-left: 1px solid #333333;
      border-right: 1px solid #333333; }
      @media (max-width: 767px) {
        .e-course-wrapper .e-inner-table tbody td:nth-child(2) {
          width: 100%;
          font-weight: bold;
          border: none;
          padding: 3px 0; }
          .e-course-wrapper .e-inner-table tbody td:nth-child(2)::before {
            content: "タイトル"; } }
    .e-course-wrapper .e-inner-table tbody td:last-child {
      width: 33%;
      font-size: 1.4rem; }
      @media (max-width: 767px) {
        .e-course-wrapper .e-inner-table tbody td:last-child {
          width: 100%;
          font-size: 1.3rem; }
          .e-course-wrapper .e-inner-table tbody td:last-child::before {
            content: "講師"; } }
  .e-course-wrapper .e-inner-table tbody tr {
    border-bottom: 1px solid #333333; }
    .e-course-wrapper .e-inner-table tbody tr:last-child {
      border-bottom: none; }
      @media (max-width: 767px) {
        .e-course-wrapper .e-inner-table tbody tr:last-child {
          padding-bottom: 0; } }
    @media (max-width: 767px) {
      .e-course-wrapper .e-inner-table tbody tr {
        padding: 10px 0; }
        .e-course-wrapper .e-inner-table tbody tr:first-child {
          border-top: 1px solid #333333; } }

.course-wrapper {
  margin-bottom: 80px;
  /******受講生の声******/ }
  @media (max-width: 767px) {
    .course-wrapper {
      margin-bottom: 40px; } }
  .course-wrapper .course-voice__ttl {
    font-size: 2.0rem;
    margin-bottom: 15px; }
    @media (max-width: 767px) {
      .course-wrapper .course-voice__ttl {
        font-size: 1.6rem;
        margin-bottom: 10px; } }
  .course-wrapper .voice-link-wrapper {
    margin-top: 15px; }
    @media (max-width: 767px) {
      .course-wrapper .voice-link-wrapper {
        margin-top: 10px; } }

/*****************************************
過去の公開講座
******************************************/
.past .course-wrapper {
  margin-top: 50px;
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    .past .course-wrapper {
      margin-top: 30px;
      margin-bottom: 30px; } }
.past .year-list-info-wrapper {
  align-items: center;
  margin-top: 30px;
  gap: 10px; }
  @media (max-width: 767px) {
    .past .year-list-info-wrapper {
      margin-top: 20px;
      flex-direction: column-reverse;
      gap: 0; } }
  @media (max-width: 767px) {
    .past .year-list-info-wrapper p {
      font-size: 1.2rem; } }
  .past .year-list-info-wrapper a {
    font-size: 1.8rem;
    width: 260px;
    height: 50px;
    border-radius: 5px;
    background: #EE7C06;
    color: #FFFAF5;
    display: block;
    line-height: 50px;
    margin-left: auto;
    text-align: center;
    text-decoration: none; }
    @media (any-hover: hover) {
      .past .year-list-info-wrapper a:hover {
        background: #24599F; } }
    @media (max-width: 767px) {
      .past .year-list-info-wrapper a {
        font-size: 1.4rem;
        width: 200px;
        height: 35px;
        line-height: 35px;
        margin-bottom: 20px; } }
.past .lecture-cat-block {
  margin-top: 50px; }
  @media (max-width: 767px) {
    .past .lecture-cat-block {
      margin-top: 20px; } }

/*****************************************
E-ラーニング研修
******************************************/
.e-learning-course .nav-section {
  max-width: 1000px; }
.e-learning-course .e-learning-course-list {
  gap: 20px 50px;
  justify-content: center; }
  @media (max-width: 767px) {
    .e-learning-course .e-learning-course-list {
      gap: 15px 30px;
      justify-content: flex-start; } }
.e-learning-course .course-wrapper {
  margin-bottom: 0;
  margin-top: 40px; }
  @media (max-width: 767px) {
    .e-learning-course .course-wrapper {
      margin-top: 20px; } }
.e-learning-course .course-box {
  margin-bottom: 30px;
  border-bottom: 1px solid #b3b3b3;
  padding-bottom: 30px; }
  @media (max-width: 767px) {
    .e-learning-course .course-box {
      border: none;
      margin-bottom: 0;
      padding-bottom: 20px; }
      .e-learning-course .course-box:last-of-type {
        padding-bottom: 0; } }
  @media (max-width: 767px) {
    .e-learning-course .course-box .table-box {
      padding-top: 20px; }
      .e-learning-course .course-box .table-box .application-box {
        margin-top: 5px; } }
.e-learning-course .table-box h2 {
  margin-bottom: 0;
  padding-right: 150px; }
  @media (max-width: 767px) {
    .e-learning-course .table-box h2 {
      font-size: 1.8rem;
      text-indent: 0;
      padding: 0; }
      .e-learning-course .table-box h2::before {
        content: none; } }
.e-learning-course button.open {
  top: 0;
  right: 0; }
  @media (max-width: 767px) {
    .e-learning-course button.open {
      top: 5px;
      right: 5px; } }
.e-learning-course .e-inner-table {
  margin-top: 15px; }
.e-learning-course .application-box {
  margin: 0 0 35px; }
  @media (max-width: 767px) {
    .e-learning-course .application-box {
      margin-bottom: 25px; } }

/*****************************************
健康サポート薬局研修 技能習得型研修（演習）開催日程
******************************************/
/****タブ関連****/
/*タブメニュー*/
.support-tab-box {
  margin-top: 50px; }
  @media (max-width: 767px) {
    .support-tab-box {
      margin-top: 15px; } }
  .support-tab-box ul {
    justify-content: center;
    gap: 50px; }
    @media (max-width: 767px) {
      .support-tab-box ul {
        gap: 30px; } }
  .support-tab-box .support-tab li a {
    font-size: 2.0rem;
    color: #24599F;
    text-decoration: underline; }
    @media (max-width: 767px) {
      .support-tab-box .support-tab li a {
        font-size: 1.6rem; } }
    @media (any-hover: hover) {
      .support-tab-box .support-tab li a:hover {
        color: #EE7C06; } }
  .support-tab-box .support-tab li.active a {
    font-weight: bold;
    pointer-events: none;
    color: #EE7C06;
    text-decoration: none; }

/****タブ切り替え****/
/*エリアの表示非表示と形状*/
.tab-area {
  display: none;
  /*はじめは非表示*/
  opacity: 0;
  /*透過0*/
  padding: 0 20px;
  margin-top: 50px; }
  @media (max-width: 767px) {
    .tab-area {
      margin-top: 40px; } }
  .tab-area.is-active {
    display: block;
    /*表示*/
    animation-name: displayAnime;
    /*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards; }

@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/****タブ関連ここまで****/
.schedule h2 {
  margin-bottom: 35px; }
  @media (max-width: 767px) {
    .schedule h2 {
      margin-bottom: 20px; } }
.schedule .prefecture-block, .schedule .date-block {
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    .schedule .prefecture-block, .schedule .date-block {
      margin-bottom: 20px; } }
.schedule h3 {
  color: #EE7C06;
  border-bottom: 1px solid #EE7C06;
  padding-bottom: 5px; }
.schedule .support-list {
  margin-top: 15px;
  justify-content: flex-start;
  gap: 15px 50px; }
  @media (max-width: 767px) {
    .schedule .support-list {
      gap: 10px 15px; } }
  .schedule .support-list li {
    font-size: 1.8rem;
    align-items: center; }
    @media (max-width: 767px) {
      .schedule .support-list li {
        font-size: 1.6rem; } }
    .schedule .support-list li::before {
      content: "●";
      display: inline-block;
      margin-right: 5px; }
    .schedule .support-list li time, .schedule .support-list li p {
      line-height: 1.5; }
.schedule .application-box {
  margin-top: 10px;
  text-align: end; }
  @media (max-width: 767px) {
    .schedule .application-box {
      margin-top: 15px; } }
.schedule .no-support-msg {
  font-size: 2.4rem;
  text-align: center;
  margin: 50px 0; }
  @media (max-width: 767px) {
    .schedule .no-support-msg {
      font-size: 1.6rem;
      margin: 40px 0; } }

/*****************************************
登録販売者外部研修 過去の集合研修
******************************************/
.past-seller-course .past-h2 {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .past-seller-course .past-h2 {
      margin-bottom: 20px; } }
.past-seller-course .course-wrapper {
  margin-top: 50px;
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    .past-seller-course .course-wrapper {
      margin-top: 30px;
      margin-bottom: 0; } }
.past-seller-course .year-list-info-wrapper {
  align-items: center;
  margin-top: 30px;
  gap: 10px; }
  @media (max-width: 767px) {
    .past-seller-course .year-list-info-wrapper {
      margin-top: 20px;
      flex-direction: column-reverse;
      align-items: flex-end;
      gap: 0; }
      .past-seller-course .year-list-info-wrapper p {
        font-size: 1.2rem; } }
  .past-seller-course .year-list-info-wrapper a {
    font-size: 2.0rem;
    text-decoration: underline;
    color: #24599F;
    margin-left: auto; }
    @media (any-hover: hover) {
      .past-seller-course .year-list-info-wrapper a:hover {
        color: #EE7C06; } }
    @media (max-width: 767px) {
      .past-seller-course .year-list-info-wrapper a {
        font-size: 1.5rem;
        margin-bottom: 10px; } }
.past-seller-course .past-course-box {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .past-seller-course .past-course-box {
      margin-bottom: 20px; }
      .past-seller-course .past-course-box .table-box {
        padding-top: 15px; } }

/*****************************************
コンテンツページインポート
******************************************/
/*****************************************
コンテンツ系ページ
******************************************/
/*****************************************
共通
******************************************/
.basic-block {
  margin-top: 70px; }
  @media (max-width: 767px) {
    .basic-block {
      margin-top: 30px; } }
  .basic-block.first-basic-block {
    margin-top: 60px; }
    @media (max-width: 767px) {
      .basic-block.first-basic-block {
        margin-top: 20px; } }
  .basic-block .voice-link-wrapper {
    margin-top: 15px; }
    @media (max-width: 767px) {
      .basic-block .voice-link-wrapper {
        margin-top: 10px; } }
  .basic-block .voice-wrapper-ttl {
    font-size: 2.0rem;
    margin: 15px 0; }
    @media (max-width: 767px) {
      .basic-block .voice-wrapper-ttl {
        font-size: 1.6rem;
        margin: 20px 0 10px; } }

.basic-wrapper {
  flex-wrap: nowrap;
  gap: 20px;
  margin-bottom: 50px; }
  @media (max-width: 767px) {
    .basic-wrapper {
      flex-wrap: wrap;
      margin-bottom: 40px; } }
  .basic-wrapper .basic-box {
    margin-top: 25px; }
    @media (max-width: 767px) {
      .basic-wrapper .basic-box {
        margin-top: 20px; } }
    .basic-wrapper .basic-box:first-of-type {
      margin-top: 0; }
  .basic-wrapper .basic-box__text {
    text-align: justify;
    line-height: 1.8; }

.basic-container {
  flex-wrap: nowrap;
  gap: 20px;
  /*&:has(.side-img) {
      @include tab {
          flex-wrap: wrap;
      }
  }*/ }
  @media (max-width: 767px) {
    .basic-container {
      flex-wrap: wrap; } }
  .basic-container.reverse-flex {
    flex-direction: row-reverse; }

.basic-link-wrapper {
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 25px;
  transition: .3s;
  margin-top: 10px;
  flex-wrap: wrap;
  gap: 15px 60px; }
  @media (max-width: 767px) {
    .basic-link-wrapper {
      flex-wrap: wrap;
      gap: 15px; } }
  .basic-link-wrapper a {
    position: relative; }
    .basic-link-wrapper a::after {
      content: '';
      display: inline-block;
      width: 20px;
      height: 20px;
      background-image: url(../img/round_arrow_right.svg);
      background-size: contain;
      position: absolute;
      right: -25px;
      transition: .3s;
      bottom: 0;
      top: 0;
      margin: auto; }
    @media (hover: hover) {
      .basic-link-wrapper a:hover {
        color: #EE7C06;
        text-decoration: underline; }
        .basic-link-wrapper a:hover::after {
          transform: scale(1.2);
          right: -35px; } }

a.basic-text-link {
  color: #24599F;
  text-decoration: underline; }
  @media (hover: hover) {
    a.basic-text-link:hover {
      color: #EE7C06; } }

span.basic-list {
  display: block;
  text-indent: -2.5rem;
  padding-left: 2.5rem; }

span.basic-list-point {
  display: block;
  text-indent: -0.5em;
  padding-left: 0.5em; }

span.basic-list-num {
  display: block;
  text-indent: -1em;
  padding-left: 1em; }
  span.basic-list-num.basic-list-attention {
    font-size: 1.4rem; }

span.basic-list-num02 {
  display: block;
  text-indent: -1.4em;
  padding-left: 1.4em; }

span.basic-list-num03 {
  display: block;
  text-indent: -1.7em;
  padding-left: 1.7em; }

span.basic-list-num04 {
  display: block;
  text-indent: -1.5em;
  padding-left: 1.5em; }

span.basic-list-num10 {
  display: block;
  text-indent: -2.3em;
  padding-left: 2.3em; }

span.basic-list-kana {
  display: block;
  text-indent: -1.8em;
  padding-left: 1.8em; }

span.little-text {
  font-size: 1.4rem; }

/*******基本イメージ画像*******/
.basic-wrapper__img {
  display: flex;
  gap: 40px 20px;
  flex-direction: column;
  justify-content: flex-start; }
  @media (max-width: 767px) {
    .basic-wrapper__img {
      flex-direction: row; } }
  .basic-wrapper__img.side-img {
    flex-direction: row;
    gap: 0; }
    @media (max-width: 1024px) {
      .basic-wrapper__img.side-img .basic-img-box:last-child {
        display: none; } }
    @media (max-width: 767px) {
      .basic-wrapper__img.side-img {
        flex-direction: row;
        gap: 20px; }
        .basic-wrapper__img.side-img .basic-img-box:last-child {
          display: block; } }

.basic-img-box {
  width: 300px;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 0 0 20px; }
  @media (max-width: 767px) {
    .basic-img-box {
      width: 100%;
      height: auto;
      margin: 20px 0 0 0; } }
  .basic-img-box.basic-img-box-left {
    margin: 0 20px 0 0; }
    @media (max-width: 767px) {
      .basic-img-box.basic-img-box-left {
        margin: 0; } }
  .reverse-flex .basic-img-box {
    margin: 0 20px 0 0; }
    @media (max-width: 767px) {
      .reverse-flex .basic-img-box {
        margin: 0; } }
  .basic-img-box img {
    width: 100%;
    height: auto;
    object-fit: cover; }

/*******規約系ページ*******/
@media (max-width: 767px) {
  .basic-terms {
    font-size: 1.4rem; } }
.basic-terms p, .basic-terms li, .basic-terms a {
  line-height: 1.8; }
.basic-terms .basic-list-ttl {
  font-size: 2.0rem;
  text-align: center;
  margin-bottom: 50px;
  line-height: 1.5;
  text-indent: 0;
  padding-left: 0; }
  @media (max-width: 767px) {
    .basic-terms .basic-list-ttl {
      font-size: 1.8rem;
      text-align: left;
      margin-bottom: 20px; } }
  .basic-terms .basic-list-ttl::before {
    content: none; }
.basic-terms .basic-list-heading {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: 30px; }
  @media (max-width: 767px) {
    .basic-terms .basic-list-heading {
      font-size: 1.6rem;
      margin-top: 20px; } }
.basic-terms .basic-list-clause {
  margin-top: 25px;
  line-height: 1.8; }
  @media (max-width: 767px) {
    .basic-terms .basic-list-clause {
      margin-top: 10px; } }
.basic-terms .terms-info {
  margin-bottom: 25px; }
  @media (max-width: 767px) {
    .basic-terms .terms-info {
      font-size: 1.3rem;
      margin-bottom: 20px; } }
  .basic-terms .terms-info p {
    margin-bottom: 5px; }
  .basic-terms .terms-info .terms-info-date, .basic-terms .terms-info .terms-info-sender {
    text-align: end; }
.basic-terms .terms-start {
  text-align: center;
  margin: 30px 0; }
  @media (max-width: 767px) {
    .basic-terms .terms-start {
      margin: 10px 0; } }
.basic-terms .terms-end {
  text-align: end;
  margin: 0 0 30px; }
  @media (max-width: 767px) {
    .basic-terms .terms-end {
      margin: 0 0 20px; } }
.basic-terms ol.terms-list li {
  margin-bottom: 25px; }
  @media (max-width: 767px) {
    .basic-terms ol.terms-list li {
      margin-bottom: 10px; } }
.basic-terms ol.terms-list.terms-list-margin li {
  text-indent: -1.3em;
  padding-left: 1.3em;
  margin-bottom: 0; }
.basic-terms ol li {
  list-style-type: decimal;
  list-style-position: inside; }
.basic-terms .terms-list-text {
  padding-left: 2rem; }
.basic-terms .add-content {
  margin-top: 50px; }
  @media (max-width: 767px) {
    .basic-terms .add-content {
      margin-top: 20px; } }

.terms-contact-wrapper {
  max-width: 745px;
  padding: 20px;
  display: flex;
  justify-content: center;
  border: 1px solid #333333;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .terms-contact-wrapper {
      padding: 10px; } }
  .terms-contact-wrapper .terms-contact {
    font-size: 1.4rem; }
    @media (max-width: 767px) {
      .terms-contact-wrapper .terms-contact {
        font-size: 1.3rem; } }
    @media (hover: hover) {
      .terms-contact-wrapper .terms-contact a.mail-add.mail-add:hover {
        opacity: 0.7; } }
    .terms-contact-wrapper .terms-contact .add-figure {
      display: inline-block;
      width: 260px;
      position: relative;
      top: 2px; }
      @media (max-width: 767px) {
        .terms-contact-wrapper .terms-contact .add-figure {
          margin-left: 1px; } }

/*****************************************
お知らせ一覧
******************************************/
.news .news-contents {
  margin: 60px auto 100px; }
  @media (max-width: 767px) {
    .news .news-contents {
      margin: 20px auto 30px; } }

/*****************************************
各お知らせページ
******************************************/
.single-news .single-news-contents {
  margin: 60px auto 80px;
  max-width: 800px; }
  @media (max-width: 767px) {
    .single-news .single-news-contents {
      margin: 20px auto 50px; } }
  .single-news .single-news-contents time {
    margin-bottom: 15px;
    display: inline-block;
    color: #333333b3;
    font-weight: bold; }
    @media (max-width: 767px) {
      .single-news .single-news-contents time {
        margin-bottom: 10px; } }
    .single-news .single-news-contents time.important-news::after {
      content: "重要なお知らせ";
      font-size: 1.2rem;
      color: #FFFAF5;
      background: #EE7C06;
      height: 23px;
      line-height: 23px;
      padding: 0 5px;
      display: inline-block;
      margin-left: 10px;
      border-radius: 3px;
      vertical-align: middle; }
    .single-news .single-news-contents time.new-news span::after {
      content: "NEW";
      font-size: 1.2rem;
      color: #FFFAF5;
      background: #B53328;
      height: 23px;
      line-height: 23px;
      padding: 0 5px;
      display: inline-block;
      margin-left: 10px;
      border-radius: 3px;
      vertical-align: middle; }
  .single-news .single-news-contents h1 {
    font-size: 2.8rem;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      .single-news .single-news-contents h1 {
        font-size: 2.0rem;
        line-height: 1.5;
        margin-bottom: 15px; } }
  .single-news .single-news-contents .news-entry p {
    font-size: 1.8rem;
    line-height: 2;
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      .single-news .single-news-contents .news-entry p {
        margin-bottom: 15px;
        font-size: 1.6rem; } }
  .single-news .single-news-contents .news-entry a {
    color: #24599F;
    text-decoration: underline; }
    @media (hover: hover) {
      .single-news .single-news-contents .news-entry a:hover {
        opacity: .7; } }
.single-news .post-link {
  margin: 0 25px 100px;
  align-items: center; }
  @media (max-width: 767px) {
    .single-news .post-link {
      position: relative; } }
  .single-news .post-link .news-link-btn {
    width: 280px;
    height: 48px;
    background: #EE7C06;
    border-radius: 100px;
    transition: .3s;
    text-align: center;
    color: #FFFAF5;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 48px; }
    @media (max-width: 767px) {
      .single-news .post-link .news-link-btn {
        width: 180px;
        height: 40px;
        line-height: 40px;
        font-size: 1.6rem;
        position: absolute;
        bottom: -60px;
        right: 0;
        left: 0;
        margin: auto; } }
    @media (hover: hover) {
      .single-news .post-link .news-link-btn:hover {
        background: #24599F; } }
  .single-news .post-link .prev-link, .single-news .post-link .next-link {
    width: 110px; }
  .single-news .post-link .prev-link a, .single-news .post-link .next-link a {
    position: relative; }
    @media (hover: hover) {
      .single-news .post-link .prev-link a:hover, .single-news .post-link .next-link a:hover {
        color: #EE7C06;
        text-decoration: underline; }
        .single-news .post-link .prev-link a:hover::before, .single-news .post-link .next-link a:hover::before {
          transform: scale(1.2);
          left: -35px; }
        .single-news .post-link .prev-link a:hover::after, .single-news .post-link .next-link a:hover::after {
          transform: scale(1.2);
          right: -35px; } }
  .single-news .post-link .prev-link a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../img/round_arrow_left.svg);
    background-size: contain;
    position: absolute;
    left: -25px;
    transition: .3s;
    bottom: 0;
    top: 0;
    margin: auto; }
  .single-news .post-link .next-link a::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../img/round_arrow_right.svg);
    background-size: contain;
    position: absolute;
    right: -25px;
    transition: .3s;
    bottom: 0;
    top: 0;
    margin: auto; }

/*****************************************
受講者の声
******************************************/
.voice .nav-section {
  margin-top: 60px; }
  @media (max-width: 767px) {
    .voice .nav-section {
      margin-top: 20px; } }
.voice .nav-wrapper {
  max-width: calc(100vw - 360px); }
  @media (max-width: 767px) {
    .voice .nav-wrapper {
      max-width: none;
      width: 100%; } }
.voice .voice-nav-container {
  flex-wrap: nowrap; }
  @media (max-width: 767px) {
    .voice .voice-nav-container {
      flex-wrap: wrap; } }
.voice .nav-text {
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    .voice .nav-text {
      margin-bottom: 15px; } }
.voice .nav-box:last-of-type {
  margin-top: 25px; }
  @media (max-width: 767px) {
    .voice .nav-box:last-of-type {
      margin-top: 15px; } }
.voice .nav-ttl {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 10px; }
  @media (max-width: 767px) {
    .voice .nav-ttl {
      font-size: 1.6rem;
      margin-bottom: 5px; } }
  .voice .nav-ttl::before {
    content: "●";
    margin-right: 1rem; }
.voice .voice-post-section-other-seminar h2::before {
  color: #24599F; }
.voice .voice-term-block {
  margin-bottom: 60px; }
  @media (max-width: 767px) {
    .voice .voice-term-block {
      margin-bottom: 40px; } }
.voice h3 {
  margin-bottom: 25px; }
  @media (max-width: 767px) {
    .voice h3 {
      margin-bottom: 15px; } }
.voice .voice-link {
  justify-content: flex-end;
  column-gap: 30px; }
  @media (max-width: 767px) {
    .voice .voice-link {
      margin-top: 5px; } }
  @media (max-width: 767px) {
    .voice .voice-link .voice-link-wrapper {
      margin-top: 10px; } }
.voice .training {
  margin-top: 100px;
  margin-bottom: 100px; }
  @media (max-width: 767px) {
    .voice .training {
      margin-top: 60px;
      margin-bottom: 40px; } }

/*****************************************
認定取得手順
******************************************/
.process h3.basic-h3 {
  margin-top: 15px; }
.process h4 {
  font-size: 1.8rem;
  color: #EE7C06;
  margin-bottom: 10px; }
.process .basic-wrapper {
  margin-bottom: 0; }
  .process .basic-wrapper .basic-box {
    margin-top: 10px; }
    .process .basic-wrapper .basic-box:first-of-type {
      margin-top: 0; }
    .process .basic-wrapper .basic-box p a {
      text-decoration: underline;
      color: #24599F; }
      @media (hover: hover) {
        .process .basic-wrapper .basic-box p a:hover {
          opacity: .7; } }
    .process .basic-wrapper .basic-box .external-link::after {
      margin-right: 0; }
.process .basic-wrapper__text {
  position: relative;
  flex: 1; }
  .process .basic-wrapper__text .process-no {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 110px;
    width: auto;
    z-index: -1; }
.process .process-next {
  margin: 20px auto 25px; }
.process .basic-container.item-align-start {
  align-items: flex-start; }
.process .basic-wrapper__movie {
  width: 470px;
  padding: 15px 20px;
  background: #BDCDE2;
  border-radius: 15px;
  margin-right: 20px; }
  @media (max-width: 1024px) {
    .process .basic-wrapper__movie {
      width: 240px; } }
  @media (max-width: 767px) {
    .process .basic-wrapper__movie {
      width: 100%;
      margin: 0; } }
  .process .basic-wrapper__movie h4 {
    color: #333333;
    text-align: center; }
  .process .basic-wrapper__movie .movie-wrapper {
    flex-wrap: nowrap; }
    @media (max-width: 1024px) {
      .process .basic-wrapper__movie .movie-wrapper {
        gap: 20px;
        flex-wrap: wrap; } }
    .process .basic-wrapper__movie .movie-wrapper a {
      width: 200px; }
      @media (max-width: 1024px) {
        .process .basic-wrapper__movie .movie-wrapper a {
          width: 100%; } }
      .process .basic-wrapper__movie .movie-wrapper a .movie-img-box {
        border-radius: 10px;
        overflow: hidden;
        width: 100%;
        aspect-ratio: 16 / 9;
        position: relative; }
        .process .basic-wrapper__movie .movie-wrapper a .movie-img-box::after {
          content: "";
          width: 42px;
          height: 42px;
          background-image: url(../img/round_arrow_right_white.svg);
          background-repeat: no-repeat;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: .3s;
          display: block;
          background-size: contain;
          vertical-align: middle; }
      .process .basic-wrapper__movie .movie-wrapper a img {
        width: 100%;
        height: auto;
        object-fit: cover;
        transition: .3s; }
      .process .basic-wrapper__movie .movie-wrapper a figcaption {
        font-size: 1.4rem;
        line-height: 1.3;
        margin-top: 10px;
        transition: .3s; }
      @media (hover: hover) {
        .process .basic-wrapper__movie .movie-wrapper a:hover img {
          transform: scale(1.2);
          opacity: 0.7; }
        .process .basic-wrapper__movie .movie-wrapper a:hover .movie-img-box::after {
          background-image: url(../img/round_arrow_right.svg); }
        .process .basic-wrapper__movie .movie-wrapper a:hover figcaption {
          color: #24599F; } }

/*****************************************
やむをえない事由により研修が困難になった場合の措置について
******************************************/
.exemption .basic-block {
  margin-bottom: 40px; }
.exemption .return-btn {
  text-align: center;
  margin: 0 0 100px;
  display: flex;
  flex-direction: column;
  gap: 40px; }
  @media (max-width: 767px) {
    .exemption .return-btn {
      margin: 0 0 40px;
      gap: 20px; } }
@media (max-width: 767px) {
  .exemption h1 {
    font-size: min(5.6vw, 2.4rem) !important; } }

/*****************************************
各種申請書類等
******************************************/
.document .dl-list {
  justify-content: flex-start;
  gap: 30px; }
  @media (max-width: 767px) {
    .document .dl-list {
      gap: 20px; } }
  .document .dl-list a {
    border-bottom: 1px solid #24599F;
    color: #24599F;
    font-size: 2.0rem; }
    @media (max-width: 767px) {
      .document .dl-list a {
        font-size: 1.6rem; } }
    @media (hover: hover) {
      .document .dl-list a:hover {
        color: #EE7C06;
        border-bottom: 1px solid #EE7C06; } }
.document .mail-recipient .basic-container {
  width: 48%;
  border-radius: 15px;
  border: 1px solid #333333;
  padding: 20px 15px;
  justify-content: center; }
  @media (max-width: 767px) {
    .document .mail-recipient .basic-container {
      width: 100%;
      padding: 15px; } }
.document .mail-recipient .basic-box__text {
  line-height: 1.5; }
.document .mail-recipient h3 {
  color: #EE7C06;
  font-size: 2.0rem;
  margin-bottom: 10px; }
  @media (max-width: 767px) {
    .document .mail-recipient h3 {
      font-size: 1.8rem; } }
.document .mail-recipient .address {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 10px; }
  @media (max-width: 1024px) {
    .document .mail-recipient .address {
      font-size: 1.6rem;
      line-height: 1.5; } }
  .document .mail-recipient .address.mail {
    text-align: center;
    margin-top: 20px; }
    @media (max-width: 1024px) {
      .document .mail-recipient .address.mail {
        margin-top: 15px; }
        .document .mail-recipient .address.mail img {
          width: 260px;
          height: auto; } }
    .document .mail-recipient .address.mail a {
      display: inline-block; }
      @media (hover: hover) {
        .document .mail-recipient .address.mail a:hover {
          opacity: .7; } }

/*****************************************
個別課題研修
******************************************/
@media (max-width: 767px) {
  .individual h3 {
    text-indent: -2.5rem;
    padding-left: 2.5rem;
    line-height: 1.5; } }
.individual .ex-study {
  font-size: 1.8rem; }
  @media (max-width: 767px) {
    .individual .ex-study {
      font-size: 1.6rem; } }
  .individual .ex-study h4 {
    margin-bottom: 5px;
    line-height: 1.8; }
  .individual .ex-study span.basic-list-num {
    font-size: 1.6rem;
    margin-top: 10px; }
    @media (max-width: 767px) {
      .individual .ex-study span.basic-list-num {
        font-size: 1.5rem; } }
.individual .basic-container {
  margin-bottom: 25px; }

/*****************************************
E-ラーニング研修
******************************************/
.e-learning .basic-container {
  margin-bottom: 25px; }
.e-learning .basic-box__text-important {
  font-size: 1.8rem; }
.e-learning .required-spec {
  font-size: 1.8rem;
  margin-top: 10px;
  text-align: left; }
  @media (max-width: 767px) {
    .e-learning .required-spec {
      font-size: 1.5rem; } }
  .e-learning .required-spec span {
    display: inline-block; }
.e-learning .course-name {
  width: 100%;
  display: block;
  border: 1px solid #333333;
  padding: 10px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 15px; }
  @media (max-width: 1024px) {
    .e-learning .course-name {
      font-size: min(2vw, 1.8rem); } }
  @media (max-width: 767px) {
    .e-learning .course-name {
      font-size: 1.6rem; } }
@media (max-width: 767px) {
  .e-learning .howto-apply .basic-box__text {
    margin-top: 10px; } }
.e-learning .tuition-fee {
  margin: 10px 0;
  display: block; }
.e-learning .basic-list-num02 {
  font-size: 1.8rem;
  margin-top: 15px; }
  .e-learning .basic-list-num02:first-child {
    margin-top: 0; }
  @media (max-width: 767px) {
    .e-learning .basic-list-num02 {
      font-size: 1.6rem;
      margin: 10px; } }

/*****************************************
健康サポート薬局研修
******************************************/
.health-support .basic-block.first-basic-block {
  margin-top: 60px; }
  @media (max-width: 767px) {
    .health-support .basic-block.first-basic-block {
      margin-top: 20px; } }
.health-support .support-overview-table {
  border: 1px solid #333333;
  overflow: hidden;
  border-radius: 15px;
  margin-top: 20px; }
  @media (max-width: 767px) {
    .health-support .support-overview-table {
      border-radius: 10px; } }
.health-support .support-course {
  margin-bottom: 50px; }
  @media (max-width: 767px) {
    .health-support .support-course {
      margin-bottom: 40px; } }
.health-support .basic-wrapper__table {
  flex: 1; }
  .health-support .basic-wrapper__table th, .health-support .basic-wrapper__table td {
    padding: 10px;
    text-align: center; }
    @media (max-width: 767px) {
      .health-support .basic-wrapper__table th, .health-support .basic-wrapper__table td {
        padding: 5px; } }
    .health-support .basic-wrapper__table th:nth-child(2), .health-support .basic-wrapper__table td:nth-child(2) {
      border-right: 1px solid #333333;
      border-left: 1px solid #333333; }
  .health-support .basic-wrapper__table th {
    background: #FAD8B4; }
  .health-support .basic-wrapper__table tbody tr:last-child td {
    border-top: 1px solid #333333; }
  .health-support .basic-wrapper__table .fee-cell {
    vertical-align: middle; }
.health-support .course-box {
  margin: 30px 0 0; }
  @media (max-width: 767px) {
    .health-support .course-box {
      margin: 20px 0 0; } }
.health-support .basic-box__text.m-20-10 {
  margin: 20px 0 10px; }
.health-support .support-menu-list {
  justify-content: center;
  gap: 90px;
  margin-bottom: 50px; }
  @media (max-width: 767px) {
    .health-support .support-menu-list {
      gap: 30px;
      margin-bottom: 30px; } }
  .health-support .support-menu-list a {
    font-size: 2.0rem;
    font-weight: bold;
    color: #24599F;
    text-decoration: underline; }
    @media (max-width: 767px) {
      .health-support .support-menu-list a {
        font-size: 1.6rem; } }
    @media (hover: hover) {
      .health-support .support-menu-list a:hover {
        color: #EE7C06; } }
.health-support .table-box {
  overflow: hidden;
  border: 1px solid #333333; }
  @media (max-width: 767px) {
    .health-support .table-box {
      padding-top: 15px; } }
  .health-support .table-box .course-table th, .health-support .table-box .course-table td {
    border: none; }
  @media (max-width: 767px) {
    .health-support .table-box .course-table .course-theme td {
      width: 100%; } }
  .health-support .table-box .inner-table {
    border-top: 1px solid #333333; }
    @media (max-width: 767px) {
      .health-support .table-box .inner-table {
        margin-top: 10px; }
        .health-support .table-box .inner-table tr {
          padding-top: 10px; } }
.health-support .application-box {
  margin-top: 25px;
  align-items: center; }
  @media (max-width: 767px) {
    .health-support .application-box {
      margin-top: 20px;
      gap: 25px; } }
  .health-support .application-box a.basic-btn {
    margin: 0; }
    @media (hover: hover) {
      .health-support .application-box a.basic-btn:hover {
        opacity: .7;
        background: #24599F; } }
    .health-support .application-box a.basic-btn span {
      font-size: 1.6rem; }
  @media (hover: hover) {
    .health-support .application-box .application-btn:hover {
      background: #EE7C06;
      opacity: .7; } }
.health-support .btn-container {
  margin-bottom: 25px; }
  .health-support .btn-container a span {
    font-size: 1.6rem; }

/*****************************************
医療機器販売業等営業所管理者 継続的研修
******************************************/
.device-manager .basic-box-about-course .basic-box__text {
  margin-top: 10px; }
  .device-manager .basic-box-about-course .basic-box__text strong {
    font-size: 1.8rem; }
    @media (max-width: 767px) {
      .device-manager .basic-box-about-course .basic-box__text strong {
        font-size: 1.6rem; } }
.device-manager .basic-list-num {
  font-size: 1.8rem;
  font-weight: bold; }
  @media (max-width: 767px) {
    .device-manager .basic-list-num {
      font-size: 1.6rem; } }
.device-manager .application-box {
  margin: 25px 0; }
  @media (max-width: 767px) {
    .device-manager .application-box {
      margin: 20px 0; } }
  @media (hover: hover) {
    .device-manager .application-box .application-btn:hover {
      background: #EE7C06;
      opacity: .7; } }

/*****************************************
登録販売者外部研修
******************************************/
.registered-seller .btn-container {
  margin: 25px 0; }
  .registered-seller .btn-container a span {
    font-size: 1.6rem; }

/*****************************************
機構について
******************************************/
.organization .basic-img-box-chairperson {
  width: 145px;
  height: 180px;
  overflow: inherit; }
  .organization .basic-img-box-chairperson .img-text {
    font-size: 1.4rem;
    text-align: center;
    margin-top: 5px; }
    @media (max-width: 767px) {
      .organization .basic-img-box-chairperson .img-text {
        line-height: 1.5;
        font-size: 1.2rem; } }
.organization .basic-container {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .organization .basic-container {
      margin-bottom: 25px; }
      .organization .basic-container.greeting-container {
        display: block; }
        .organization .basic-container.greeting-container .basic-wrapper__img {
          float: right;
          width: 120px;
          margin: 0 0 0 15px; } }
.organization .organization-info-wrapper {
  gap: 60px; }
  @media (max-width: 767px) {
    .organization .organization-info-wrapper {
      gap: 25px; } }
  .organization .organization-info-wrapper .basic-box {
    margin: 0; }
  .organization .organization-info-wrapper .organization-info {
    width: 100%; }
    .organization .organization-info-wrapper .organization-info dl div {
      display: flex;
      gap: 10px;
      margin-bottom: 15px; }
      @media (max-width: 767px) {
        .organization .organization-info-wrapper .organization-info dl div {
          display: block; }
          .organization .organization-info-wrapper .organization-info dl div:last-of-type {
            margin-bottom: 0; } }
      .organization .organization-info-wrapper .organization-info dl div dt {
        white-space: nowrap;
        font-weight: bold;
        display: inline-block; }
      .organization .organization-info-wrapper .organization-info dl div dd {
        text-align: justify;
        display: inline-block;
        vertical-align: top;
        line-height: 1.5; }
    .organization .organization-info-wrapper .organization-info .histry dt {
      min-width: 150px; }
    .organization .organization-info-wrapper .organization-info .overview dt {
      min-width: 100px; }
      @media (max-width: 767px) {
        .organization .organization-info-wrapper .organization-info .overview dt {
          min-width: 90px; } }

/*****************************************
組織概要
******************************************/
.system .system-fugure-img {
  margin: auto;
  max-width: 900px;
  width: 100%; }
.system .table-wrapper {
  border: 1px solid #333333;
  border-radius: 15px;
  overflow: hidden; }
  @media (max-width: 767px) {
    .system .table-wrapper {
      border-radius: 10px; } }
  .system .table-wrapper table tr {
    border-bottom: 1px solid #333333; }
    .system .table-wrapper table tr:last-child {
      border-bottom: none; }
    @media (max-width: 767px) {
      .system .table-wrapper table tr:nth-child(n+3) .role {
        display: none; } }
  .system .table-wrapper table td {
    padding: 10px 20px; }
    @media (max-width: 767px) {
      .system .table-wrapper table td {
        width: 100%;
        padding: 5px 10px;
        display: block; } }
    .system .table-wrapper table td.role {
      font-size: 1.8rem;
      background: #E9C2BE;
      font-weight: bold;
      white-space: nowrap; }
      @media (max-width: 767px) {
        .system .table-wrapper table td.role {
          font-size: 1.6rem; } }
    .system .table-wrapper table td.name {
      border-right: 1px solid #333333;
      white-space: nowrap; }
      @media (max-width: 767px) {
        .system .table-wrapper table td.name {
          border: none;
          font-size: 1.4rem;
          padding-bottom: 0; } }
    @media (max-width: 767px) {
      .system .table-wrapper table td.desc {
        font-size: 1.4rem;
        padding-top: 0; } }
  .system .table-wrapper.evaluation-committee .name, .system .table-wrapper.certification-committee .name, .system .table-wrapper.pharmacy-committee .name {
    width: 180px; }
    @media (max-width: 767px) {
      .system .table-wrapper.evaluation-committee .name, .system .table-wrapper.certification-committee .name, .system .table-wrapper.pharmacy-committee .name {
        width: 100%; } }

/*****************************************
運用細則
******************************************/
@media (max-width: 767px) {
  .bylaws h3.basic-list-heading, .privacy h3.basic-list-heading {
    margin-top: 10px; } }

/*****************************************
賛助会員について
******************************************/
.partner .basic-container {
  margin-bottom: 40px; }
  @media (max-width: 1024px) {
    .partner .basic-container {
      margin-bottom: 25px; } }
  .partner .basic-container .basic-box {
    margin: 0; }
.partner .partner-info-wrapper {
  flex-wrap: wrap; }
@media (max-width: 767px) {
  .partner .partner-info {
    width: 100%; } }
.partner .btn-container {
  margin-top: 20px; }
  .partner .btn-container a span {
    font-size: 1.6rem; }
.partner .basic-box__text {
  text-align: left; }
.partner .basic-box__text strong {
  font-size: 2.0rem; }
.partner .little-text {
  margin-left: 20px;
  display: inline-block; }
  @media (max-width: 767px) {
    .partner .little-text {
      display: block;
      text-align: end; } }

/*****************************************
よくあるご質問
******************************************/
.faq .faq-index {
  justify-content: center;
  margin-bottom: 70px;
  gap: 30px; }
  @media (max-width: 767px) {
    .faq .faq-index {
      gap: 15px 30px;
      justify-content: flex-start;
      margin-bottom: 40px; } }
  .faq .faq-index a {
    display: inline-block;
    color: #24599F;
    font-weight: bold;
    font-size: 2.0rem;
    text-decoration: underline; }
    @media (max-width: 767px) {
      .faq .faq-index a {
        font-size: 1.6rem; } }
    @media (hover: hover) {
      .faq .faq-index a:hover {
        color: #EE7C06; } }
.faq .faq-wrapper {
  margin-top: 60px; }
  @media (max-width: 767px) {
    .faq .faq-wrapper {
      margin-top: 40px; } }
.faq .faq-box {
  padding: 20px 0;
  border-bottom: 1px solid #b3b3b3; }
  @media (max-width: 767px) {
    .faq .faq-box {
      padding: 15px 0; } }
  .faq .faq-box:first-of-type {
    padding-top: 0; }
    @media (max-width: 767px) {
      .faq .faq-box:first-of-type {
        padding-top: 5px; } }
.faq .q-box {
  position: relative;
  cursor: pointer;
  padding-right: 50px;
  text-indent: -1.7rem;
  padding-left: 3.6rem;
  transition: .3s; }
  @media (max-width: 767px) {
    .faq .q-box {
      padding-right: 35px;
      text-indent: -1.5rem;
      padding-left: 3.2rem; } }
  @media (hover: hover) {
    .faq .q-box.open:hover {
      color: #EE7C06; } }
  .faq .q-box.open .rotate-mark {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    transition: .3s;
    background: #EE7C06;
    border-radius: 100px; }
    @media (max-width: 767px) {
      .faq .q-box.open .rotate-mark {
        width: 26px;
        height: 26px; } }
    .faq .q-box.open .rotate-mark::before, .faq .q-box.open .rotate-mark::after {
      content: '';
      background-color: #fff;
      width: 13px;
      height: 2px;
      left: 50%;
      top: 50%;
      position: absolute; }
    .faq .q-box.open .rotate-mark::before {
      transform: translate(-50%, -50%) rotate(0deg); }
    .faq .q-box.open .rotate-mark::after {
      transform: translate(-50%, -50%) rotate(90deg); }
  @media (hover: hover) {
    .faq .q-box.close:hover {
      color: #24599F; } }
  .faq .q-box.close .rotate-mark {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    background: #24599F;
    transition: .3s; }
    .faq .q-box.close .rotate-mark::after {
      transform: translate(-50%, -50%) rotate(0deg); }
  .faq .q-box p {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8; }
    @media (max-width: 767px) {
      .faq .q-box p {
        font-size: 1.6rem; } }
    .faq .q-box p::before {
      content: "Q.　";
      color: #EE7C06;
      display: inline-block; }
.faq .a-box {
  text-indent: -1.6rem;
  padding-left: 3.6rem;
  padding-top: 10px;
  padding-right: 60px; }
  @media (max-width: 767px) {
    .faq .a-box {
      padding-right: 0;
      text-indent: -1.6rem;
      padding-left: 3.3rem;
      padding-top: 5px; } }
  .faq .a-box p {
    font-size: 1.6rem;
    text-align: justify;
    line-height: 1.8; }
    @media (max-width: 767px) {
      .faq .a-box p {
        font-size: 1.5rem; } }
    .faq .a-box p::before {
      content: "A.　";
      color: #24599F;
      display: inline-block;
      font-size: 1.8rem;
      font-weight: bold; }
    .faq .a-box p a {
      text-decoration: underline;
      color: #24599F; }
      @media (hover: hover) {
        .faq .a-box p a:hover {
          opacity: .7; } }
    .faq .a-box p:not(:first-of-type) {
      margin-top: 10px; }
      .faq .a-box p:not(:first-of-type)::before {
        content: " 　 　"; }
.faq .contact-link {
  margin: 60px 0 100px;
  text-align: center; }
  @media (max-width: 767px) {
    .faq .contact-link {
      margin: 40px 0;
      text-align: left; } }
  .faq .contact-link a {
    text-decoration: underline;
    color: #24599F; }
    @media (hover: hover) {
      .faq .contact-link a:hover {
        color: #EE7C06; } }

/*****************************************
フォームページインポート
******************************************/
/*****************************************
フォーム系ページ
******************************************/
/*****************************************
共通
******************************************/
.form-front {
  line-height: 1.8;
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    .form-front {
      margin-bottom: 15px; } }
  .form-front a {
    text-decoration: underline;
    color: #24599F; }
    @media (hover: hover) {
      .form-front a:hover {
        opacity: .7; } }

.form-declaration {
  text-align: center; }
  @media (max-width: 767px) {
    .form-declaration {
      text-align: left; } }

.basic-form {
  max-width: 600px;
  margin: 0 auto;
  /*****必須エラーメッセージ*****/ }
  .basic-form form {
    position: relative; }
    .basic-form form p {
      padding: 15px 0;
      border-bottom: 1px solid #ccc;
      display: flex; }
      @media (max-width: 767px) {
        .basic-form form p {
          display: block; }
          .basic-form form p:has(.p-country-name) {
            padding-top: 0; }
          .basic-form form p:has(.p-postal-code) label, .basic-form form p:has(.p-region) label {
            width: 70px; } }
      .corporate-form .basic-form form p:has(.wpcf7-validates-as-required) label, .individual-form .basic-form form p:has(.wpcf7-validates-as-required) label {
        position: relative; }
        .corporate-form .basic-form form p:has(.wpcf7-validates-as-required) label::after, .individual-form .basic-form form p:has(.wpcf7-validates-as-required) label::after {
          content: "必須";
          font-size: 1.2rem;
          line-height: 1;
          padding: 4px 8px;
          background: #B53328;
          border-radius: 3px;
          color: #FFFAF5;
          display: inline-block;
          right: 20px;
          top: 0;
          bottom: 0;
          position: absolute;
          height: fit-content;
          margin: auto; }
          @media (max-width: 767px) {
            .corporate-form .basic-form form p:has(.wpcf7-validates-as-required) label::after, .individual-form .basic-form form p:has(.wpcf7-validates-as-required) label::after {
              position: relative;
              margin: 0 0 0 10px;
              right: 0;
              top: inherit; } }
      .corporate-form .basic-form form p:has(.contact-any), .individual-form .basic-form form p:has(.contact-any) {
        border-bottom: none;
        padding-bottom: 0; }
        .corporate-form .basic-form form p:has(.contact-any):has(.p-extended-address), .individual-form .basic-form form p:has(.contact-any):has(.p-extended-address) {
          border-bottom: 1px solid #ccc;
          padding-bottom: 15px; }
    .basic-form form label {
      width: 140px;
      font-weight: bold;
      vertical-align: top;
      height: 36px;
      display: inline-flex;
      align-items: center; }
      @media (max-width: 767px) {
        .basic-form form label {
          width: 100%;
          height: auto;
          margin-bottom: 5px;
          vertical-align: middle; }
          .basic-form form label:empty {
            display: none; } }
      .corporate-form .basic-form form label, .individual-form .basic-form form label {
        width: 190px; }
        @media (max-width: 767px) {
          .corporate-form .basic-form form label, .individual-form .basic-form form label {
            width: 100%; } }
    .basic-form form .wpcf7-form-control-wrap {
      flex: 1; }
      @media (max-width: 767px) {
        .basic-form form .wpcf7-form-control-wrap {
          flex: none; } }
    .basic-form form input:not(.wpcf7-submit), .basic-form form textarea, .basic-form form select {
      font-size: 1.6rem;
      display: inline-block;
      padding: 5px 10px;
      line-height: 1.5;
      border: 1px solid #b3b3b3;
      border-radius: 5px;
      width: 100%;
      height: 100%; }
      @media (max-width: 767px) {
        .basic-form form input:not(.wpcf7-submit), .basic-form form textarea, .basic-form form select {
          padding: 10px; } }
      .basic-form form input:not(.wpcf7-submit).p-postal-code, .basic-form form textarea.p-postal-code, .basic-form form select.p-postal-code {
        width: 150px; }
      .basic-form form input:not(.wpcf7-submit).your-representative, .basic-form form input:not(.wpcf7-submit).your-name, .basic-form form input:not(.wpcf7-submit).your-tel, .basic-form form input:not(.wpcf7-submit).your-fax, .basic-form form textarea.your-representative, .basic-form form textarea.your-name, .basic-form form textarea.your-tel, .basic-form form textarea.your-fax, .basic-form form select.your-representative, .basic-form form select.your-name, .basic-form form select.your-tel, .basic-form form select.your-fax {
        width: 220px; }
    .basic-form form textarea {
      height: 204px; }
    .basic-form form select {
      padding-left: 6px; }
      @media (max-width: 767px) {
        .basic-form form select {
          padding: 9px 10px 9px 6px; } }
      .basic-form form select.p-region {
        width: 150px; }
  .basic-form .kaihi-box {
    justify-content: flex-start; }
    @media (max-width: 767px) {
      .basic-form .kaihi-box {
        display: block; } }
    .basic-form .kaihi-box p {
      display: flex;
      align-items: center;
      font-weight: bold; }
      @media (max-width: 767px) {
        .basic-form .kaihi-box p:has(.unit) {
          border: none;
          padding-bottom: 10px; }
          .basic-form .kaihi-box p:has(.unit) label {
            width: 100px; } }
      .basic-form .kaihi-box p .wpcf7-form-control-wrap {
        margin: 0 10px 0 20px; }
        .basic-form .kaihi-box p .wpcf7-form-control-wrap select {
          width: 70px; }
    .basic-form .kaihi-box .kaihi-box-text {
      flex: 1;
      justify-content: flex-end;
      position: relative; }
      @media (max-width: 767px) {
        .basic-form .kaihi-box .kaihi-box-text {
          padding: 0 0 30px; } }
      .basic-form .kaihi-box .kaihi-box-text .kaihi-box-front {
        font-weight: bold; }
      .basic-form .kaihi-box .kaihi-box-text #kaihi {
        width: 130px;
        text-align: end; }
      .basic-form .kaihi-box .kaihi-box-text::after {
        content: "※一口 200,000円　自動計算";
        position: absolute;
        font-size: 1.3rem;
        display: inline-block;
        bottom: -5px;
        font-weight: normal; }
        @media (max-width: 767px) {
          .basic-form .kaihi-box .kaihi-box-text::after {
            bottom: 5px; } }
    .basic-form .kaihi-box .wpcf7-not-valid-tip {
      white-space: nowrap;
      left: 0; }
  .basic-form .privacy-agree-wrapper p {
    display: block;
    border: none;
    text-align: center;
    padding: 15px 0 0; }
    @media (max-width: 767px) {
      .basic-form .privacy-agree-wrapper p.privacy-info {
        text-align: left; }
      .basic-form .privacy-agree-wrapper p:has(a) {
        padding: 5px 0; } }
    .basic-form .privacy-agree-wrapper p a {
      text-decoration: underline;
      color: #24599F;
      font-size: 1.4rem; }
      @media (hover: hover) {
        .basic-form .privacy-agree-wrapper p a:hover {
          color: #EE7C06; } }
  .basic-form .privacy-agree-wrapper .wpcf7-list-item {
    margin: 0;
    background: #BDCDE2;
    width: 100%;
    max-width: 460px;
    padding: 2px 0;
    border-radius: 5px;
    position: relative; }
    @media (max-width: 767px) {
      .basic-form .privacy-agree-wrapper .wpcf7-list-item {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5px 0; } }
    .basic-form .privacy-agree-wrapper .wpcf7-list-item::before {
      content: "必須";
      font-size: 1.2rem;
      line-height: 1;
      padding: 4px 8px;
      background: #B53328;
      border-radius: 3px;
      color: #FFFAF5;
      display: inline-block;
      left: 20px;
      top: 0;
      bottom: 0;
      position: absolute;
      height: fit-content;
      margin: auto; }
      @media (max-width: 767px) {
        .basic-form .privacy-agree-wrapper .wpcf7-list-item::before {
          position: relative;
          margin: 0 10px 0 0;
          left: 0; } }
  .basic-form .privacy-agree-wrapper label {
    width: auto !important;
    cursor: pointer; }
    @media (max-width: 767px) {
      .basic-form .privacy-agree-wrapper label {
        margin: 0; } }
    .basic-form .privacy-agree-wrapper label::after {
      content: none !important; }
    .basic-form .privacy-agree-wrapper label span {
      white-space: nowrap;
      transition: .3s; }
      @media (hover: hover) {
        .basic-form .privacy-agree-wrapper label span:hover {
          opacity: 0.7; } }
    .basic-form .privacy-agree-wrapper label input {
      width: 20px;
      height: 20px;
      margin-right: 10px;
      cursor: pointer; }
  .basic-form .submit-wrapper p {
    position: relative;
    padding: 0;
    width: 300px;
    height: 50px;
    margin: 30px auto 0;
    border: none; }
    @media (max-width: 767px) {
      .basic-form .submit-wrapper p {
        height: 45px; } }
    .basic-form .submit-wrapper p input {
      width: 100%;
      height: 100%;
      background: #EE7C06;
      border-radius: 100px;
      transition: .3s;
      text-align: center;
      font-size: 2.2rem;
      color: #FFFAF5;
      border: none;
      padding-right: 30px;
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); }
      @media (max-width: 767px) {
        .basic-form .submit-wrapper p input {
          padding-right: 20px; } }
    .basic-form .submit-wrapper p::after {
      content: '';
      display: inline-block;
      width: 22px;
      height: 22px;
      background-image: url(../img/round_arrow_right_white.svg);
      background-size: contain;
      transition: .3s;
      position: absolute;
      right: 86px;
      top: 0;
      bottom: 0;
      margin: auto;
      pointer-events: none; }
    @media (hover: hover) {
      .basic-form .submit-wrapper p:hover::after {
        background-image: url(../img/round_arrow_right_white_blue.svg);
        transform: scale(1.2);
        right: 76px; }
      .basic-form .submit-wrapper p:hover input {
        background: #24599F; } }
    .basic-form .submit-wrapper p .wpcf7-spinner {
      position: absolute;
      right: -40px;
      top: 0;
      bottom: 0;
      margin: auto;
      background-color: #24599F; }
      @media (max-width: 767px) {
        .basic-form .submit-wrapper p .wpcf7-spinner {
          right: 10px;
          background-color: #FFFAF5; }
          .basic-form .submit-wrapper p .wpcf7-spinner::before {
            background-color: #EE7C06; } }
  .basic-form .wpcf7-not-valid-tip, .basic-form .wpcf7-response-output {
    position: absolute;
    font-size: 1.4rem;
    right: 0; }
  .basic-form div.wpcf7-response-output {
    left: 0;
    text-align: center;
    padding: 5px;
    border-color: #B53328 !important;
    margin: 15px 0 0; }

/*****モーダルプライバシーポリシー*****/
#modal div.modal__dialog {
  color: #333333;
  padding: 0 30px 30px;
  text-align: center; }
  @media (max-width: 767px) {
    #modal div.modal__dialog {
      padding: 0 20px 30px; } }
  #modal div.modal__dialog .modal__close {
    font-size: 3.0rem;
    transition: .3s; }
    @media (hover: hover) {
      #modal div.modal__dialog .modal__close:hover {
        opacity: 0.7; } }
  #modal div.modal__dialog li {
    text-align: left; }
  #modal div.modal__dialog h2 {
    font-size: 2.4rem;
    display: block;
    padding-top: 30px;
    margin-bottom: 10px;
    line-height: 1.3; }
    #modal div.modal__dialog h2::after, #modal div.modal__dialog h2::before {
      content: none; }
    @media (max-width: 767px) {
      #modal div.modal__dialog h2 {
        font-size: 1.8rem; } }
  #modal div.modal__dialog h3 {
    font-size: 1.8rem;
    text-align: left;
    margin: 20px 0 5px;
    line-height: 1.3; }
    @media (max-width: 767px) {
      #modal div.modal__dialog h3 {
        font-size: 1.6rem; } }
  #modal div.modal__dialog .add-content {
    margin: 20px 0 30px;
    text-align: left; }
  #modal div.modal__dialog .modal-close-bottom {
    font-size: 15px;
    text-align: center;
    width: 200px;
    height: 35px;
    border-radius: 100px;
    border: none;
    background: #FFBF09;
    margin: 0 auto;
    cursor: pointer;
    transition: .3s;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }
    @media (hover: hover) {
      #modal div.modal__dialog .modal-close-bottom:hover {
        opacity: 0.7; } }

/*****************************************
お問い合わせ
******************************************/
.contact .first-basic-block {
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    .contact .first-basic-block h2 {
      margin: 0; } }
.contact .other-contact {
  margin-top: -90px;
  margin-bottom: 100px; }
  @media (max-width: 767px) {
    .contact .other-contact {
      margin-bottom: 60px; } }
  .contact .other-contact .basic-wrapper {
    gap: 40px; }
    @media (max-width: 767px) {
      .contact .other-contact .basic-wrapper {
        gap: 20px; } }
    .contact .other-contact .basic-wrapper .basic-container {
      width: 100%; }
    .contact .other-contact .basic-wrapper .basic-box {
      border: 1px solid #333333;
      border-radius: 15px;
      padding: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 130px; }
      @media (max-width: 1024px) {
        .contact .other-contact .basic-wrapper .basic-box {
          height: 180px; } }
      @media (max-width: 767px) {
        .contact .other-contact .basic-wrapper .basic-box {
          height: auto;
          padding: 15px 10px; } }
      .contact .other-contact .basic-wrapper .basic-box .basic-box-inner {
        text-align: center; }
      .contact .other-contact .basic-wrapper .basic-box p {
        width: 100%;
        text-align: center; }
      .contact .other-contact .basic-wrapper .basic-box a {
        color: #EE7C06;
        margin-top: 10px;
        display: inline-block;
        font-weight: bold; }
        .contact .other-contact .basic-wrapper .basic-box a.tel-num {
          font-size: 2.8rem; }
          @media (min-width: 768px) {
            .contact .other-contact .basic-wrapper .basic-box a.tel-num {
              pointer-events: none; } }
          @media (max-width: 767px) {
            .contact .other-contact .basic-wrapper .basic-box a.tel-num {
              font-size: 2.4rem; } }
        @media (hover: hover) {
          .contact .other-contact .basic-wrapper .basic-box a.mail-add:hover {
            opacity: 0.7; } }
      @media (max-width: 1024px) {
        .contact .other-contact .basic-wrapper .basic-box img.add-figure {
          width: 290px; } }
      @media (max-width: 767px) {
        .contact .other-contact .basic-wrapper .basic-box img.add-figure {
          width: 270px; } }

/*****************************************
送信完了
******************************************/
.thanks .thanks-block {
  margin: 100px auto 60px;
  text-align: center; }
  @media (max-width: 767px) {
    .thanks .thanks-block {
      margin: 60px auto 40px; } }
  .thanks .thanks-block h1 {
    font-size: 2.8rem;
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      .thanks .thanks-block h1 {
        font-size: 2.4rem;
        margin-bottom: 20px; } }
  .thanks .thanks-block p {
    line-height: 1.8; }
  .thanks .thanks-block .thanks-catch {
    font-size: 2.0rem; }
    @media (max-width: 767px) {
      .thanks .thanks-block .thanks-catch {
        font-size: 1.8rem; } }
  .thanks .thanks-block .thanks-text {
    margin-top: 25px; }
    @media (max-width: 767px) {
      .thanks .thanks-block .thanks-text {
        margin-top: 15px; } }
.thanks .last-banner, .thanks .sns-banner {
  display: none; }

/*****************************************
フッターインポート
******************************************/
/*****************************************
ラストバナー
******************************************/
.last-banner {
  width: 100%;
  height: clamp(440px, 100vw/4.36, 9999px);
  display: flex;
  align-items: center;
  margin: 0 auto;
  position: relative; }
  @media (max-width: 767px) {
    .last-banner {
      height: 295px; } }
  .last-banner img {
    width: 100%;
    height: clamp(440px, 100vw/4.36, 9999px);
    object-fit: cover;
    object-position: 50% 30%;
    position: absolute;
    z-index: -1;
    top: 0; }
    @media (max-width: 1024px) {
      .last-banner img {
        object-position: 75% 50%; } }
    @media (max-width: 767px) {
      .last-banner img {
        height: 295px;
        object-position: 70% 50%; } }
  .last-banner .last-banner-contents {
    width: 100%; }
    .last-banner .last-banner-contents p {
      font-weight: bold;
      color: #FFFAF5;
      letter-spacing: .05em;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
      line-height: 1.5; }
    .last-banner .last-banner-contents .last-banner-catch {
      font-size: 5.0rem;
      width: 67vw; }
      @media (max-width: 767px) {
        .last-banner .last-banner-contents .last-banner-catch {
          font-size: min(6.8vw, 2.5rem);
          width: auto; } }
      .last-banner .last-banner-contents .last-banner-catch .mini-word {
        font-size: 3.5rem; }
        @media (max-width: 767px) {
          .last-banner .last-banner-contents .last-banner-catch .mini-word {
            font-size: 1.7rem; } }
    .last-banner .last-banner-contents .last-banner-copy {
      font-size: 2.6rem;
      margin-top: 10px; }
      @media (max-width: 767px) {
        .last-banner .last-banner-contents .last-banner-copy {
          font-size: min(3.5vw, 1.5rem); } }
    .last-banner .last-banner-contents .last-banner-btn-box {
      justify-content: flex-start;
      gap: 30px;
      margin-top: 50px; }
      @media (max-width: 1024px) {
        .last-banner .last-banner-contents .last-banner-btn-box {
          margin-top: 40px; } }
      @media (max-width: 767px) {
        .last-banner .last-banner-contents .last-banner-btn-box {
          gap: 20px;
          margin-top: 20px; } }
      .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn {
        width: 340px;
        height: 70px;
        background: #EE7C06;
        border-radius: 100px;
        transition: .3s;
        text-align: center; }
        @media (max-width: 767px) {
          .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn {
            width: 200px;
            height: 40px; } }
        .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn span {
          display: inline-block;
          font-size: 2.4rem;
          line-height: 70px;
          color: #FFFAF5;
          transition: .3s;
          position: relative;
          margin-right: 33px; }
          @media (max-width: 767px) {
            .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn span {
              font-size: 1.4rem;
              line-height: 40px;
              margin-right: 17px; } }
          .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn span::after {
            content: '';
            display: inline-block;
            width: 28px;
            height: 28px;
            background-image: url(../img/round_arrow_right_white.svg);
            background-size: contain;
            transition: .3s;
            position: absolute;
            right: -33px;
            top: 0;
            bottom: 0;
            margin: auto; }
            @media (max-width: 767px) {
              .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn span::after {
                width: 17px;
                height: 17px;
                right: -22px; } }
        @media (hover: hover) {
          .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn:hover {
            background: #24599F; }
            .last-banner .last-banner-contents .last-banner-btn-box .last-banner-btn:hover span::after {
              background-image: url(../img/round_arrow_right_white_blue.svg);
              transform: scale(1.2);
              margin-left: 15px;
              right: -36px; } }

/*****************************************
SNSバナー
******************************************/
.sns-banner {
  margin: 0 auto;
  background: #24599F;
  padding: 15px 0; }
  @media (max-width: 767px) {
    .sns-banner {
      padding: 10px 0 20px; } }
  .sns-banner .sns-contents {
    justify-content: center; }
    @media (max-width: 767px) {
      .sns-banner .sns-contents {
        flex-direction: column;
        align-items: center; } }
    .sns-banner .sns-contents .sns-banner-copy {
      color: #FFFAF5;
      font-weight: bold;
      font-size: 2.6rem;
      display: flex;
      align-items: center;
      margin-right: 20px; }
      @media (max-width: 767px) {
        .sns-banner .sns-contents .sns-banner-copy {
          font-size: 2.0rem;
          margin: 0 0 5px; } }
      .sns-banner .sns-contents .sns-banner-copy::after {
        content: '';
        display: inline-block;
        width: 21px;
        height: 24px;
        background-image: url(../img/triangle_white.svg);
        background-size: contain;
        margin-left: 10px;
        background-repeat: no-repeat; }
        @media (max-width: 767px) {
          .sns-banner .sns-contents .sns-banner-copy::after {
            transform: rotate(90deg) scaleY(1.2);
            width: 16px;
            height: 20px; } }
    .sns-banner .sns-contents .sns-box {
      background: #FFFAF5;
      border-radius: 15px;
      align-items: center;
      padding: 10px 20px;
      gap: 20px; }
      .sns-banner .sns-contents .sns-box .sns-ttl {
        color: #24599F;
        font-size: 1.6rem;
        font-weight: bold; }
      .sns-banner .sns-contents .sns-box .sns-logo {
        width: 30px;
        height: 30px;
        transition: .3s; }
        .sns-banner .sns-contents .sns-box .sns-logo img {
          width: 100%;
          height: auto; }
        @media (hover: hover) {
          .sns-banner .sns-contents .sns-box .sns-logo:hover {
            opacity: .7; } }

/*****************************************
フッター
******************************************/
footer .sitemap {
  background: #FDF2E6;
  padding: 65px 0 65px; }
  @media (max-width: 767px) {
    footer .sitemap {
      padding: 25px 0; } }
  footer .sitemap .sitemap-wrapper {
    gap: 30px 20px; }
    @media (max-width: 767px) {
      footer .sitemap .sitemap-wrapper {
        gap: 10px; } }
  footer .sitemap .sitemap-container:last-child {
    margin-right: 10px; }
    @media (max-width: 767px) {
      footer .sitemap .sitemap-container:last-child {
        margin: 0; } }
  footer .sitemap .sitemap-link {
    line-height: 2.5;
    font-weight: bold;
    font-size: 1.6rem; }
    @media (max-width: 1024px) {
      footer .sitemap .sitemap-link {
        font-size: 1.5rem; } }
    @media (max-width: 767px) {
      footer .sitemap .sitemap-link {
        display: inline-block;
        font-size: 1.4rem;
        margin-right: 1.5rem; }
        footer .sitemap .sitemap-link:first-child {
          display: block; } }
    footer .sitemap .sitemap-link a {
      text-decoration: underline; }
      @media (hover: hover) {
        footer .sitemap .sitemap-link a:hover {
          color: #EE7C06; } }
  footer .sitemap .sitemap-child-link {
    font-weight: normal; }
    footer .sitemap .sitemap-child-link::before {
      content: "- "; }
    footer .sitemap .sitemap-child-link a {
      font-size: 1.4rem; }
      @media (max-width: 1024px) {
        footer .sitemap .sitemap-child-link a {
          font-size: 1.3rem; } }
  footer .sitemap .sitemap-external-link {
    font-weight: normal; }
    @media (max-width: 767px) {
      footer .sitemap .sitemap-external-link {
        margin-right: 2.5rem; } }
    footer .sitemap .sitemap-external-link::before {
      content: "　"; }
    footer .sitemap .sitemap-external-link a {
      font-size: 1.4rem;
      position: relative; }
      footer .sitemap .sitemap-external-link a::after {
        content: '';
        display: inline-block;
        width: 15px;
        height: 15px;
        background-image: url(../img/external_link.svg);
        background-size: contain;
        position: absolute;
        transition: .3s;
        top: 0;
        bottom: 0;
        margin: auto;
        right: -20px; }
      @media (hover: hover) {
        footer .sitemap .sitemap-external-link a:hover {
          color: #24599F; } }
      @media (max-width: 1024px) {
        footer .sitemap .sitemap-external-link a {
          font-size: 1.3rem; } }
footer .footer-wrapper {
  height: 85px;
  gap: 30px;
  justify-content: center;
  align-items: center; }
  @media (max-width: 767px) {
    footer .footer-wrapper {
      gap: 15px;
      padding: 20px 0 10px;
      height: auto;
      flex-direction: column; } }
footer .footer-logo a img {
  margin-right: 10px; }
  @media (max-width: 767px) {
    footer .footer-logo a img {
      width: 88px;
      height: 26px; } }
footer .footer-logo a .logo-text {
  flex-direction: column; }
footer .footer-logo a p {
  line-height: 1;
  font-weight: bold;
  color: #EE7C06; }
footer .footer-logo a .entity-type {
  font-size: 1.2rem; }
  @media (max-width: 767px) {
    footer .footer-logo a .entity-type {
      font-size: .9rem; } }
footer .footer-logo a .organization-name {
  font-size: 1.6rem; }
  @media (max-width: 767px) {
    footer .footer-logo a .organization-name {
      font-size: 1.2rem; } }
footer .footer-text {
  font-size: 1.3rem; }
  @media (max-width: 767px) {
    footer .footer-text {
      font-size: 1.2rem;
      text-align: center;
      line-height: 1.5; } }
footer .copyright {
  text-align: center;
  color: #FFFAF5;
  font-size: 1.1rem;
  background: #EE7C06;
  line-height: 25px; }
  @media (max-width: 767px) {
    footer .copyright {
      font-size: .8rem;
      padding-bottom: 60px; } }
