.osaka-professional .head_lead {
  font-size: 28px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .head_lead {
      font-size: 14px; } }
  .osaka-professional .head_lead span {
    font-size: 48px;
    -webkit-background-clip: text;
    color: transparent; }
    @media screen and (max-width: 979px) {
      .osaka-professional .head_lead span {
        font-size: 23px; } }

.osaka-professional .head_title span {
  max-width: 980px;
  display: block;
  margin-inline: auto; }

.osaka-professional .head_title .bg {
  color: #000067;
  width: 100%;
  font-size: 42px;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.25;
  background: linear-gradient(to right, transparent, #e2c79b 20%, white 40%, white 60%, #e2c79b 80%, transparent); }
  @media screen and (max-width: 979px) {
    .osaka-professional .head_title .bg {
      font-size: 20px;
      line-height: 1.5; } }

.osaka-professional .head_title .text {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  color: transparent;
  -webkit-background-clip: text;
  letter-spacing: .1em;
  font-size: 24px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .head_title .text {
      font-size: 12px;
      margin-top: .5rem; } }

@media screen and (max-width: 979px) {
  .osaka-professional .head .lead {
    font-size: 1.4rem; } }

.osaka-professional .point_title strong,
.osaka-professional .point_title span {
  font-size: 40px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
  margin-inline: auto;
  -webkit-background-clip: text;
  color: transparent;
  line-height: 1.25; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_title strong,
    .osaka-professional .point_title span {
      font-size: 18px; } }

.osaka-professional .point_title strong {
  font-size: 47px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_title strong {
      font-size: 20px; } }

.osaka-professional .point_lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_lists {
      gap: 15px;
      grid-template-columns: 100%;
      margin-top: 20px !important; } }

.osaka-professional .point_list {
  display: flex;
  flex-direction: column;
  border: 1px solid #c09771;
  background: url(../images/bg_point.jpg) center center/cover no-repeat; }

.osaka-professional .point_head {
  display: grid;
  grid-template-columns: 33% 1fr;
  gap: 1rem;
  align-items: center;
  line-height: calc(25/20); }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_head {
      grid-template-columns: 25% 1fr;
      gap: .5em;
      min-height: 38px;
      padding-block: 5px; } }

.osaka-professional .point_number {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-style: italic;
  font-weight: bold;
  font-size: 50px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_number {
      font-size: 40px; } }
  .osaka-professional .point_number span {
    font-size: 24px; }
    @media screen and (max-width: 979px) {
      .osaka-professional .point_number span {
        font-size: 16px; } }

.osaka-professional .point_subtitle {
  font-size: 18px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_subtitle {
      font-size: 18px; } }

.osaka-professional .point_text {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 20px;
  font-size: 16px;
  line-height: 1.25; }
  @media screen and (max-width: 979px) {
    .osaka-professional .point_text {
      padding-inline: 20px;
      font-size: 14px; } }

.osaka-professional .main_block {
  position: relative;
  background: url(../images/bg_doctor.jpg) center center/cover no-repeat; }

.osaka-professional .main_title {
  font-weight: 400;
  font-size: 40px;
  padding-inline: 25px;
  letter-spacing: .1em; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_title {
      font-size: 24px;
      padding-block: 6px;
      padding-inline: 15px;
      letter-spacing: normal;
      font-feature-settings: "palt"; } }

.osaka-professional .main_body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  padding-inline: 25px 250px;
  padding-block: 15px 15px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_body {
      padding-bottom: 70px;
      padding-inline: 10px 140px; } }

.osaka-professional .main_text {
  flex-grow: 1;
  font-size: 18px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_text {
      line-height: calc(26/18);
      font-size: 14px;
      font-feature-settings: "palt"; } }

.osaka-professional .main_btn {
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_btn {
      position: absolute;
      left: 50%;
      width: calc(100% - 30px);
      transform: translateX(-50%);
      bottom: 15px;
      height: 40px; } }

.osaka-professional .main_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background-color: #000067;
  border: 1px solid #c09771;
  height: 56px;
  font-size: 30px;
  border-radius: 28px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_btn a {
      font-size: 18px;
      height: 40px; } }
  .osaka-professional .main_btn a span {
    -webkit-background-clip: text;
    color: transparent; }

.osaka-professional .main_img {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 270px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_img {
      max-width: 220px;
      height: 95%;
      max-height: 240px; } }
  .osaka-professional .main_img img {
    height: 100%;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain; }
