@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght,YOPQ@100..900,300&display=swap");
@media screen and (min-width: 766px) {
  .pcNone {
    display: none !important; } }
@media screen and (max-width: 767px) {
  .spNone {
    display: none !important; } }
body#page_top.renewal-2024.lower_page_body {
  min-width: inherit; }

html {
  scroll-behavior: smooth; }

p {
  padding: 0;
  margin: 0 auto; }

#sp_companies_page {
  margin: 100px auto 200px; }
  @media screen and (max-width: 767px) {
    #sp_companies_page {
      margin: 50px auto 75px; } }
  #sp_companies_page .sp_companies_box {
    max-width: 1200px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #sp_companies_page .sp_companies_box {
        padding: 0 20px; } }
    #sp_companies_page .sp_companies_box .title_box {
      margin-bottom: 100px; }
      @media screen and (max-width: 767px) {
        #sp_companies_page .sp_companies_box .title_box {
          margin-bottom: 50px; } }
      @media screen and (max-width: 767px) {
        #sp_companies_page .sp_companies_box .title_box .title {
          line-height: 1.6; } }
    #sp_companies_page .sp_companies_box .title-box01 {
      margin: 0 auto 50px; }
      #sp_companies_page .sp_companies_box .title-box01 h3 {
        font-size: 26px;
        line-height: 45px;
        letter-spacing: .08rem;
        font-weight: bold;
        margin: 0 0 25px;
        background: #ff8b44;
        padding: 10px 0 10px 45px;
        border-radius: 15px;
        color: #fff;
        text-align: left;
        justify-content: center;
        align-items: center;
        position: relative; }
        @media screen and (max-width: 767px) {
          #sp_companies_page .sp_companies_box .title-box01 h3 {
            font-size: 21px;
            line-height: 30px; } }
        #sp_companies_page .sp_companies_box .title-box01 h3:before {
          content: "";
          width: 4px;
          height: 50%;
          position: absolute;
          left: 20px;
          top: 0;
          bottom: 0;
          background: #fff;
          margin: auto;
          border-radius: 10px; }
      #sp_companies_page .sp_companies_box .title-box01 p {
        font-size: 16px;
        line-height: 1.6;
        letter-spacing: .08rem; }
        @media screen and (max-width: 767px) {
          #sp_companies_page .sp_companies_box .title-box01 p {
            font-size: 12px; } }
    #sp_companies_page .sp_companies_box .title-box02 {
      margin: 0 0 50px; }
      #sp_companies_page .sp_companies_box .title-box02 h4 {
        font-size: 22px;
        line-height: 1.6;
        letter-spacing: .08rem;
        font-weight: bold;
        border-bottom: 1px solid #ccc;
        margin-bottom: 15px;
        padding-bottom: 15px; }
        @media screen and (max-width: 767px) {
          #sp_companies_page .sp_companies_box .title-box02 h4 {
            font-size: 18px; } }
    #sp_companies_page .sp_companies_box .list_box h4 {
      font-size: 22px;
      line-height: 1.6;
      letter-spacing: .08rem;
      font-weight: bold;
      border-bottom: 1px solid #ccc;
      margin-bottom: 15px;
      padding-bottom: 15px; }
      @media screen and (max-width: 767px) {
        #sp_companies_page .sp_companies_box .list_box h4 {
          font-size: 18px; } }
    #sp_companies_page .sp_companies_box .list_box .course-section {
      display: flex;
      flex-wrap: wrap;
      gap: 30px;
      margin: 50px auto 0; }
      @media screen and (max-width: 767px) {
        #sp_companies_page .sp_companies_box .list_box .course-section {
          flex-flow: column;
          margin: 25px auto 0; } }
      #sp_companies_page .sp_companies_box .list_box .course-section .course-box {
        width: calc(50% - 15px);
        background: #fff2a8;
        border-radius: 20px;
        padding: 35px;
        display: flex;
        flex-direction: column; }
        @media screen and (max-width: 767px) {
          #sp_companies_page .sp_companies_box .list_box .course-section .course-box {
            width: 100%;
            padding: 25px 15px 15px; } }
        #sp_companies_page .sp_companies_box .list_box .course-section .course-box .course-title {
          font-size: 20px;
          font-weight: bold;
          margin-bottom: 30px;
          line-height: 1.5;
          border-left: 8px solid #ff8b44;
          padding-left: 16px; }
          @media screen and (max-width: 767px) {
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .course-title {
              font-size: 14px;
              margin-bottom: 20px; } }
        #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item + .accordion-item {
          margin-top: 20px; }
        #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn {
          width: 100%;
          border: none;
          border-radius: 14px;
          padding: 15px 24px;
          cursor: pointer;
          display: flex;
          align-items: center;
          justify-content: space-between;
          font-size: 16px;
          font-weight: bold;
          color: #fff;
          background: #ff8b44;
          transition: 0.3s; }
          @media screen and (max-width: 767px) {
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn {
              font-size: 12px; } }
          #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon {
            width: 18px;
            height: 18px;
            position: relative;
            flex-shrink: 0; }
            @media screen and (max-width: 767px) {
              #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon {
                width: 14px;
                height: 14px; } }
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::before, #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::after {
              content: "";
              position: absolute;
              background: #fff;
              border-radius: 10px;
              transition: 0.3s; }
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::before {
              width: 18px;
              height: 2px;
              top: 8px;
              left: 0; }
              @media screen and (max-width: 767px) {
                #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::before {
                  width: 14px; } }
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::after {
              width: 2px;
              height: 18px;
              top: 0;
              left: 8px; }
              @media screen and (max-width: 767px) {
                #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn .accordion-icon::after {
                  height: 14px;
                  left: 6px;
                  top: 2px; } }
          #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-btn.active .accordion-icon::after {
            transform: scaleY(0); }
        #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content {
          max-height: 0;
          overflow: hidden;
          padding: 0 24px;
          background: #fffdf3;
          border-radius: 0 0 14px 14px;
          border: 1px solid #ffd7b8;
          border-top: none;
          transition: max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1), padding 0.3s ease; }
          @media screen and (max-width: 767px) {
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content {
              padding: 0 15px; } }
          #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content.open {
            max-height: 1000px;
            padding: 24px; }
            @media screen and (max-width: 767px) {
              #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content.open {
                padding: 15px; } }
          #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li {
            list-style: none;
            margin-bottom: 10px; }
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li:last-child {
              margin-bottom: 0; }
            #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li a {
              display: flex;
              align-items: center;
              gap: 10px;
              text-decoration: none;
              color: #333;
              background: #fff;
              border: 1px solid #ffe0c7;
              border-radius: 10px;
              padding: 10px 40px 10px 16px;
              font-size: 13px;
              line-height: 1.5;
              transition: 0.3s;
              position: relative; }
              @media screen and (max-width: 767px) {
                #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li a {
                  font-size: 11px; } }
              #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li a::before {
                content: "↗";
                width: 26px;
                height: 26px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                background: #fff2e8;
                color: #ff8b44;
                font-size: 13px;
                flex-shrink: 0;
                position: absolute;
                right: 5px; }
                @media screen and (max-width: 767px) {
                  #sp_companies_page .sp_companies_box .list_box .course-section .course-box .accordion .accordion-item .accordion-content .company-list li a::before {
                    font-size: 11px; } }
