@charset "UTF-8";
/* CSS Document */
.header-img {
  background: url(../../img/header-5.jpg) no-repeat center/cover; }

#department .department-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 2rem; }
  @media screen and (max-width: 767px) {
    #department .department-list {
      grid-template-columns: repeat(2, 1fr);
      gap: 4rem 3rem; } }
  @media screen and (max-width: 575px) {
    #department .department-list {
      grid-template-columns: repeat(1, 1fr); } }
  #department .department-list .department-item:hover .depart-name {
    opacity: 0.6; }
  #department .department-list .department-item:hover .department-img::before {
    opacity: 1; }
  #department .department-list .department-item:hover .department-img::after {
    opacity: 1; }
  #department .department-list .department-item:hover img {
    transform: scale(1.05); }
  #department .department-list .department-item .department-img {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 1.5rem;
    transition: 0.3s ease;
    aspect-ratio: auto; }
    @media screen and (max-width: 575px) {
      #department .department-list .department-item .department-img {
        aspect-ratio: 16 / 10; } }
    #department .department-list .department-item .department-img::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 170, 231, 0.3);
      opacity: 0;
      transition: 0.3s ease;
      z-index: 1; }
    #department .department-list .department-item .department-img::after {
      content: "詳しく見る";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      opacity: 0;
      transition: 0.3s ease;
      z-index: 2; }
    #department .department-list .department-item .department-img img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: 0.3s ease; }
  #department .department-list .department-item .depart-name {
    font-size: 2rem;
    font-weight: 500;
    transition: 0.3s ease;
    margin-bottom: 0; }
    #department .department-list .department-item .depart-name span {
      display: block;
      font-size: 1.2rem;
      color: #00aae7;
      margin-top: 0.25rem; }

#depart-intro .depart-text {
  margin-bottom: 5rem; }
  @media screen and (max-width: 991px) {
    #depart-intro .depart-text {
      margin-bottom: 3rem; } }
  @media screen and (max-width: 575px) {
    #depart-intro .depart-text {
      margin-bottom: 2rem; } }
  #depart-intro .depart-text h2 {
    color: #00aae7;
    font-size: 2.8rem;
    margin-bottom: 2rem; }
    @media screen and (max-width: 767px) {
      #depart-intro .depart-text h2 {
        font-size: 2.5rem; } }
    @media screen and (max-width: 575px) {
      #depart-intro .depart-text h2 {
        font-size: 2.3rem; } }
#depart-intro .depart-img {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; }
  #depart-intro .depart-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain; }

.blue-border {
  border: 1px solid #00aae7;
  border-radius: 10px;
  padding: 3rem 5rem; }
  @media screen and (max-width: 767px) {
    .blue-border {
      padding: 2rem 3rem; } }
  .blue-border ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem; }
    @media screen and (max-width: 767px) {
      .blue-border ul {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (max-width: 575px) {
      .blue-border ul {
        grid-template-columns: repeat(1, 1fr); } }
    .blue-border ul li {
      position: relative;
      padding-left: 1em; }
      .blue-border ul li::before {
        content: "\f0da";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        color: #00aae7;
        position: absolute;
        left: 0;
        top: 0; }

.recruit .recruit-card {
  background: url(../../img/recruit-banner.jpg) no-repeat center/cover;
  border-radius: 10px;
  text-align: center;
  padding: 3rem;
  margin: 7rem 0 5rem 0;
  color: #fff; }
  @media screen and (max-width: 575px) {
    .recruit .recruit-card {
      padding: 2rem;
      margin: 5rem 0 3rem 0; } }
  .recruit .recruit-card .recruit-label {
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      .recruit .recruit-card .recruit-label {
        font-size: 1.4rem; } }
  .recruit .recruit-card h3 {
    font-size: 4rem;
    font-weight: 600;
    margin-bottom: 2rem; }
    @media screen and (max-width: 991px) {
      .recruit .recruit-card h3 {
        font-size: 3.5rem;
        margin-bottom: 1.5rem; } }
    @media screen and (max-width: 767px) {
      .recruit .recruit-card h3 {
        font-size: 3rem; } }
    @media screen and (max-width: 575px) {
      .recruit .recruit-card h3 {
        font-size: 2.6rem; } }
.recruit .recruit-contact {
  background: url(../../img/recruit-contact-banner.jpg) no-repeat center/cover;
  padding: 5rem 0;
  text-align: center;
  color: #fff; }
  @media screen and (max-width: 767px) {
    .recruit .recruit-contact {
      padding: 4rem 0; } }
  @media screen and (max-width: 575px) {
    .recruit .recruit-contact {
      padding: 3rem 0; } }
  .recruit .recruit-contact h3 {
    font-size: 2.8rem;
    margin-bottom: 1rem; }
    @media screen and (max-width: 991px) {
      .recruit .recruit-contact h3 {
        font-size: 2.5rem; } }
    @media screen and (max-width: 575px) {
      .recruit .recruit-contact h3 {
        font-size: 2.3rem; } }
  .recruit .recruit-contact p {
    text-align: center; }
  .recruit .recruit-contact .tel {
    font-size: 5rem;
    font-weight: 600;
    line-height: 1em;
    margin: 0.5rem 0; }
    @media screen and (max-width: 991px) {
      .recruit .recruit-contact .tel {
        font-size: 4.5rem; } }
    @media screen and (max-width: 575px) {
      .recruit .recruit-contact .tel {
        font-size: 4rem; } }
    .recruit .recruit-contact .tel a {
      display: inline-flex;
      justify-content: center;
      gap: 1rem;
      align-items: center; }
      .recruit .recruit-contact .tel a i {
        font-size: 4rem; }
        @media screen and (max-width: 767px) {
          .recruit .recruit-contact .tel a i {
            font-size: 3.5rem; } }
  .recruit .recruit-contact .note {
    margin-bottom: 2rem; }
    @media screen and (max-width: 575px) {
      .recruit .recruit-contact .note {
        margin-bottom: 1.5rem; } }

#greeting .name {
  text-align: end; }
  #greeting .name span {
    font-size: 2rem;
    font-weight: 500; }

#works {
  padding: 7rem 0;
  background: #e5f6fd; }
  @media screen and (max-width: 767px) {
    #works {
      padding: 5rem 0; } }
  @media screen and (max-width: 575px) {
    #works {
      padding: 4rem 0; } }
  #works .works-wrapper {
    display: flex;
    flex-direction: column;
    gap: 5rem; }
    @media screen and (max-width: 767px) {
      #works .works-wrapper {
        gap: 4rem; } }
    #works .works-wrapper .works-container {
      display: flex;
      gap: 3rem; }
      @media screen and (max-width: 767px) {
        #works .works-wrapper .works-container {
          flex-direction: column;
          gap: 1.5rem; } }
      #works .works-wrapper .works-container .works-img {
        border-radius: 10px;
        width: 40%;
        aspect-ratio: 4 / 3; }
        @media screen and (max-width: 991px) {
          #works .works-wrapper .works-container .works-img {
            width: 50%; } }
        @media screen and (max-width: 767px) {
          #works .works-wrapper .works-container .works-img {
            width: 100%;
            overflow: hidden;
            aspect-ratio: 3 / 2; } }
        #works .works-wrapper .works-container .works-img img {
          display: block;
          width: 100%;
          height: auto;
          border-radius: 10px; }
          @media screen and (max-width: 767px) {
            #works .works-wrapper .works-container .works-img img {
              height: 100%;
              object-fit: cover;
              object-position: 0 -10px; } }
      #works .works-wrapper .works-container .works-text {
        flex: 1; }
        #works .works-wrapper .works-container .works-text h3 {
          font-size: 2.5rem;
          padding-bottom: 1rem;
          margin-bottom: 1.5rem;
          border-bottom: 1.5px solid #00aae7; }
          @media screen and (max-width: 575px) {
            #works .works-wrapper .works-container .works-text h3 {
              font-size: 2.2rem; } }
          #works .works-wrapper .works-container .works-text h3 span {
            display: block;
            font-size: 1.8rem;
            font-weight: 500;
            color: #00aae7;
            margin-bottom: 0.25rem; }
            @media screen and (max-width: 575px) {
              #works .works-wrapper .works-container .works-text h3 span {
                font-size: 1.6rem; } }

#education .education-intro {
  background: #e5f6fd;
  padding: 5rem;
  border-radius: 15px;
  margin-bottom: 5rem; }
  @media screen and (max-width: 991px) {
    #education .education-intro {
      padding: 4rem; } }
  @media screen and (max-width: 767px) {
    #education .education-intro {
      padding: 3rem;
      margin-bottom: 3rem; } }
  #education .education-intro h3 {
    font-size: 3rem;
    text-align: center;
    color: #00aae7;
    margin-bottom: 1rem; }
    @media screen and (max-width: 991px) {
      #education .education-intro h3 {
        font-size: 2.6rem; } }
    @media screen and (max-width: 767px) {
      #education .education-intro h3 {
        font-size: 2.4rem; } }
    @media screen and (max-width: 575px) {
      #education .education-intro h3 {
        font-size: 2.2rem; } }
  #education .education-intro p {
    text-align: center; }
    @media screen and (max-width: 575px) {
      #education .education-intro p {
        text-align: justify; } }
#education .education-wrapper {
  display: flex;
  flex-direction: column;
  gap: 5rem; }
  @media screen and (max-width: 767px) {
    #education .education-wrapper {
      gap: 4rem; } }
  @media screen and (max-width: 575px) {
    #education .education-wrapper {
      gap: 3rem; } }
  #education .education-wrapper .education-container {
    display: flex;
    gap: 3rem; }
    @media screen and (max-width: 767px) {
      #education .education-wrapper .education-container {
        flex-direction: column;
        gap: 1.5rem; } }
    #education .education-wrapper .education-container:nth-child(even) {
      flex-direction: row-reverse; }
      @media screen and (max-width: 767px) {
        #education .education-wrapper .education-container:nth-child(even) {
          flex-direction: column; } }
    #education .education-wrapper .education-container .education-img {
      width: 500px;
      border-radius: 10px;
      overflow: hidden; }
      @media screen and (max-width: 991px) {
        #education .education-wrapper .education-container .education-img {
          width: 370px; } }
      @media screen and (max-width: 767px) {
        #education .education-wrapper .education-container .education-img {
          width: 100%; } }
      #education .education-wrapper .education-container .education-img img {
        display: block;
        width: 100%;
        height: auto; }
    #education .education-wrapper .education-container .education-text {
      flex: 1; }
      #education .education-wrapper .education-container .education-text h3 {
        font-size: 2.2rem;
        margin-bottom: 1rem; }

#interview {
  padding: 7rem 0;
  background: #e5f6fd;
  /* Q（左寄せ・白） */
  /* A（左寄せ・白） */ }
  @media screen and (max-width: 767px) {
    #interview {
      padding: 5rem 0; } }
  @media screen and (max-width: 575px) {
    #interview {
      padding: 4rem 0; } }
  #interview .container {
    padding: 0 2rem; }
  #interview .qa {
    margin-bottom: 2rem; }
    @media screen and (max-width: 575px) {
      #interview .qa {
        margin-bottom: 1.5rem; } }
    #interview .qa .bubble {
      position: relative;
      padding: 2rem;
      border-radius: 15px;
      line-height: 1.8; }
      #interview .qa .bubble .label {
        font-size: 3.5rem;
        font-weight: 600;
        line-height: 1em;
        color: #00aae7;
        margin-right: 1rem; }
  #interview .q .bubble {
    background: #fff;
    display: inline-flex;
    align-items: center;
    padding: 1.5rem 2rem; }
    #interview .q .bubble::before {
      content: "";
      position: absolute;
      width: 16px;
      height: 20px;
      background: inherit;
      left: -12px;
      top: 28px;
      clip-path: polygon(100% 0, 0 50%, 100% 100%); }
    #interview .q .bubble .label {
      flex-shrink: 0; }
  #interview .a .bubble {
    background: #c7ecfa;
    flex: 1; }
    #interview .a .bubble::before {
      content: "";
      position: absolute;
      width: 16px;
      height: 20px;
      background: inherit;
      right: -12px;
      top: 20px;
      clip-path: polygon(0 0, 100% 50%, 0 100%); }
  #interview .a-inner .bubble {
    display: flex;
    gap: 3rem;
    align-items: flex-start; }
    @media screen and (max-width: 767px) {
      #interview .a-inner .bubble {
        flex-direction: column;
        gap: 1rem; } }
    #interview .a-inner .bubble .a-img {
      width: 300px;
      flex-shrink: 0; }
      @media screen and (max-width: 767px) {
        #interview .a-inner .bubble .a-img {
          width: 100%;
          height: auto;
          aspect-ratio: 3 / 2;
          overflow: hidden;
          border-radius: 10px; } }
      #interview .a-inner .bubble .a-img img {
        width: 100%;
        border-radius: 10px;
        display: block; }
    #interview .a-inner .bubble .a-staff-img {
      width: 100px;
      height: 100px; }
      @media screen and (max-width: 767px) {
        #interview .a-inner .bubble .a-staff-img {
          width: 85px;
          height: 85px; } }
    #interview .a-inner .bubble .a-text {
      flex: 1; }

#support .wide {
  grid-column: span 2; }

#reha-works .works-wrapper {
  display: flex;
  gap: 5rem; }
  @media screen and (max-width: 991px) {
    #reha-works .works-wrapper {
      gap: 3rem; } }
  @media screen and (max-width: 575px) {
    #reha-works .works-wrapper {
      flex-direction: column; } }
  #reha-works .works-wrapper .works-container {
    flex: 1; }
    #reha-works .works-wrapper .works-container .works-img {
      border-radius: 10px;
      overflow: hidden;
      margin-bottom: 2rem; }
      @media screen and (max-width: 575px) {
        #reha-works .works-wrapper .works-container .works-img {
          margin-bottom: 1.5rem; } }
      #reha-works .works-wrapper .works-container .works-img img {
        display: block;
        width: 100%;
        height: auto; }
    #reha-works .works-wrapper .works-container .works-text h3 {
      font-size: 2rem;
      color: #00aae7;
      margin-bottom: 1rem; }
      @media screen and (max-width: 575px) {
        #reha-works .works-wrapper .works-container .works-text h3 {
          margin-bottom: 0.5rem; } }

#reha-education table {
  border-collapse: collapse; }
  #reha-education table th {
    background: #e5f6fd;
    width: 20%;
    font-weight: 500;
    line-height: 1.5em;
    white-space: nowrap; }
  #reha-education table th,
  #reha-education table td {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    padding: 1.5rem;
    align-content: baseline; }

.reha-interview .a .a-inner .bubble {
  max-width: 800px;
  margin: 0 0 0 auto; }
  .reha-interview .a .a-inner .bubble .a-text .a-blue {
    font-size: 1.8rem;
    font-weight: 500;
    color: #00aae7;
    line-height: 1.5em;
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem; }
    .reha-interview .a .a-inner .bubble .a-text .a-blue .label {
      flex-shrink: 0;
      margin-right: 1rem;
      line-height: 1em;
      margin-bottom: 0; }

#doctors .doctor-wrapper {
  display: flex;
  flex-direction: column;
  gap: 5rem; }
  #doctors .doctor-wrapper .doctor-container h3 {
    background: #e5f6fd;
    border-radius: 999px;
    color: #00aae7;
    font-size: 2.4rem;
    padding: 1rem 3rem;
    margin-bottom: 0; }
    @media screen and (max-width: 575px) {
      #doctors .doctor-wrapper .doctor-container h3 {
        font-size: 2rem;
        padding: 0.75rem 3rem; } }
  #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail,
  #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header {
    width: 100%;
    min-height: 90px;
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    border-bottom: 1px solid #ddd; }
    @media screen and (max-width: 991px) {
      #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail,
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header {
        min-height: 75px;
        padding: 1rem 1.5rem; } }
    #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail .doctor-info,
    #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header .doctor-info {
      text-align: justify;
      line-height: 1.75em; }
      #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail .doctor-info .dept,
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header .doctor-info .dept {
        color: #808080;
        line-height: 1.35em;
        padding-right: 3rem;
        margin-bottom: 0.5rem; }
      #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail .doctor-info .name,
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header .doctor-info .name {
        font-size: 2.2rem; }
        #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail .doctor-info .name span,
        #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header .doctor-info .name span {
          font-size: 1.6rem; }
    #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail .arrow,
    #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header .arrow {
      width: 10px;
      height: 10px;
      border-right: 2px solid #00aae7;
      border-bottom: 2px solid #00aae7;
      transform: rotate(45deg);
      /* 下向き */
      transition: transform 0.3s; }
  #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-header {
    cursor: pointer; }
  #doctors .doctor-wrapper .doctor-container .doctor-list .no-detail {
    cursor: default; }
  #doctors .doctor-wrapper .doctor-container .doctor-list .doctor.open .arrow {
    transform: rotate(-135deg);
    /* 上向き */ }
  #doctors .doctor-wrapper .doctor-container .doctor-list .doctor.open .accordion-detail {
    max-height: 500px;
    /* 適当に大きめ */ }
  #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease; }
    #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner {
      display: flex;
      flex-direction: column;
      gap: 3rem;
      padding: 3rem 3.5rem;
      background: #f3f3f3; }
      @media screen and (max-width: 991px) {
        #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner {
          padding: 2rem 2.5rem;
          gap: 2rem; } }
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner .inner-title {
        font-size: 1.8rem;
        font-weight: 500;
        color: #00aae7; }
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner p {
        line-height: 1.5em; }
      #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner ul li {
        display: flex;
        gap: 1.5rem;
        line-height: 1.5em; }
        #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner ul li .year {
          white-space: nowrap;
          flex-shrink: 0; }
        #doctors .doctor-wrapper .doctor-container .doctor-list .accordion-detail .accordion-detail-inner ul li .text {
          flex: 1; }
