.osaka-professional.under {
  padding-block: 50px; }

.osaka-professional .title {
  font-size: 48px;
  line-height: calc(65/52);
  -webkit-background-clip: text;
  color: transparent;
  border-bottom: 1px solid #c09771;
  padding-bottom: 20px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .title {
      font-size: 25px;
      padding-bottom: 10px; } }

.osaka-professional .btn-white {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-columns: #000067;
       columns: #000067;
  height: 60px;
  border-radius: 30px;
  overflow: hidden;
  font-size: 31px;
  font-weight: bold;
  color: #000067;
  border: 1px solid #c09771;
  background: url(../images/under/bg_btn.jpg) center center/cover no-repeat; }
  @media screen and (max-width: 979px) {
    .osaka-professional .btn-white {
      max-width: 240px;
      font-size: 20px;
      height: 40px;
      margin-inline: auto; } }

.osaka-professional .btn-gold {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-columns: #000067;
       columns: #000067;
  height: 70px;
  border-radius: 30px;
  overflow: hidden;
  font-size: 31px;
  font-weight: bold;
  color: #000067;
  background: url(../images/under/bg_gold-btn.png) center center/auto 100% no-repeat; }
  @media screen and (max-width: 979px) {
    .osaka-professional .btn-gold {
      font-size: 16px;
      height: 38px; } }

.osaka-professional .nav_title {
  padding-inline: 1em; }

.osaka-professional .nav_body {
  padding: 50px 100px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .nav_body {
      padding: 25px; } }

.osaka-professional .nav_links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .nav_links {
      gap: 20px;
      grid-template-columns: repeat(2, 1fr); } }

.osaka-professional .nav_link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0; }

.osaka-professional .nav_img {
  width: 100%; }

.osaka-professional .nav_img img {
  width: 100%;
  aspect-ratio: 190/230;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  position: relative;
  z-index: 2; }

.osaka-professional .nav_prof {
  line-height: 1.25; }
  @media screen and (max-width: 979px) {
    .osaka-professional .nav_prof {
      font-size: 12px; } }

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

@media screen and (max-width: 979px) {
  .osaka-professional .nav_btn {
    margin-top: 5px; } }

.osaka-professional .nav_btn a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  border-radius: 50px;
  background-color: #000067; }
  @media screen and (max-width: 979px) {
    .osaka-professional .nav_btn a {
      height: 30px;
      font-size: 13px; } }

.osaka-professional .cv_btns {
  display: flex;
  gap: 20px;
  justify-content: center; }
  @media screen and (max-width: 979px) {
    .osaka-professional .cv_btns {
      flex-direction: column;
      align-items: center;
      gap: 10px; } }

.osaka-professional .cv_btn {
  width: calc(50% - 10px); }
  @media screen and (max-width: 979px) {
    .osaka-professional .cv_btn {
      width: 240px; } }

.osaka-professional .profile_main {
  position: relative;
  border-left: 3px solid #c09771;
  border-right: 3px solid #c09771;
  padding: 57px 36px;
  background: url(../images/under/bg_history.jpg) center center/cover no-repeat; }
  @media screen and (max-width: 979px) {
    .osaka-professional .profile_main {
      padding: 30px 10px;
      border-left-width: 1px;
      border-right-width: 1px; } }
  .osaka-professional .profile_main .el-table > table > thead > tr > th, .osaka-professional .profile_main .table-box > table > thead > tr > th, .osaka-professional .profile_main .el-table > table > thead > tr > td, .osaka-professional .profile_main .table-box > table > thead > tr > td, .osaka-professional .profile_main .el-table > table > tbody > tr > th, .osaka-professional .profile_main .table-box > table > tbody > tr > th, .osaka-professional .profile_main .el-table > table > tbody > tr > td, .osaka-professional .profile_main .table-box > table > tbody > tr > td {
    border-color: #000067; }
  .osaka-professional .profile_main .table-box > table > tbody > tr > th {
    background: #fcf3e7; }
  .osaka-professional .profile_main .table-box > table > tbody > tr > td {
    background: none; }

.osaka-professional .profile_main::before,
.osaka-professional .main_block::before,
.osaka-professional .main_block::after,
.osaka-professional .profile_main::after {
  position: absolute;
  content: "";
  height: 20px;
  width: 100%;
  left: 0;
  background: linear-gradient(to right, #c09771, #e2c79b 20%, #f0ddb9 50%, #e2c79b 80%, #c09771); }
  @media screen and (max-width: 979px) {
    .osaka-professional .profile_main::before,
    .osaka-professional .main_block::before,
    .osaka-professional .main_block::after,
    .osaka-professional .profile_main::after {
      height: 10px; } }

.osaka-professional .main_block::before,
.osaka-professional .profile_main::before {
  top: 0; }

.osaka-professional .main_block::after,
.osaka-professional .profile_main::after {
  bottom: 0; }

.osaka-professional .main {
  position: relative; }

.osaka-professional .main_block {
  position: relative;
  border-left: 3px solid #c09771;
  border-right: 3px solid #c09771;
  padding: 57px 50px;
  background: url(../images/under/bg_main.jpg) center center/cover no-repeat; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_block {
      padding: 23px 15px; } }

.osaka-professional .main_wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px; }

.osaka-professional .main_doctor {
  width: 484px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_doctor {
      width: 200px;
      margin-left: -10px; } }

.osaka-professional .main_profile {
  position: relative;
  z-index: 1;
  margin-left: -50px;
  margin-bottom: 100px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_profile {
      margin-left: -35px; } }

.osaka-professional .main_position {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.25; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_position {
      font-size: 14px; } }

.osaka-professional .main_name {
  font-size: 42px;
  font-weight: bold;
  letter-spacing: .05em; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_name {
      font-size: 14px; } }

.osaka-professional .main_name span {
  font-size: 64px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_name span {
      font-size: 25px; } }

.osaka-professional .main_rank {
  position: relative;
  z-index: 1;
  margin-top: -50px; }

.osaka-professional .main_en {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: .05em; }
  @media screen and (max-width: 979px) {
    .osaka-professional .main_en {
      font-size: 12px; } }

.osaka-professional .message_title {
  padding-bottom: 5px;
  border-bottom: 1px solid; }

.osaka-professional .reason_block {
  position: relative;
  background: url(../images/under/bg_reason.jpg) center center/cover no-repeat;
  border: 1px solid #c09771; }

.osaka-professional .reason_block + .reason_block {
  margin-top: 40px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .reason_block + .reason_block {
      margin-top: 20px; } }

.osaka-professional .reason_lead {
  position: relative;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  padding-inline: 35px;
  font-size: 28px;
  font-weight: bold;
  gap: 30px;
  line-height: calc(41/33);
  min-height: 120px;
  overflow: hidden; }
  @media screen and (max-width: 979px) {
    .osaka-professional .reason_lead {
      grid-template-columns: 50px 1fr;
      gap: 10px;
      min-height: 60px;
      font-size: 14px;
      padding-inline: 15px;
      padding-block: 8px; } }
  .osaka-professional .reason_lead:has(.reason_img) {
    padding-inline: 35px 220px; }
    @media screen and (max-width: 979px) {
      .osaka-professional .reason_lead:has(.reason_img) {
        padding-inline: 15px 110px; } }
  .osaka-professional .reason_lead span {
    line-height: .95;
    font-size: 126px;
    font-style: italic;
    font-weight: bold; }
    @media screen and (max-width: 979px) {
      .osaka-professional .reason_lead span {
        font-size: 60px; } }

.osaka-professional .reason_text {
  font-size: 21px;
  line-height: calc(36/21);
  padding: 25px 35px 25px 35px; }
  @media screen and (max-width: 979px) {
    .osaka-professional .reason_text {
      font-size: 12px;
      line-height: calc(24/15);
      padding: 10px 14px 10px 14px; } }

.osaka-professional .reason_img {
  position: absolute;
  height: 100%;
  width: 242px;
  top: 0;
  right: 0;
  mask-image: linear-gradient(to right, transparent, black 30%);
  -webkit-mask-image: linear-gradient(to right, transparent, black 30%); }
  @media screen and (max-width: 979px) {
    .osaka-professional .reason_img {
      width: 120px; } }
  .osaka-professional .reason_img img {
    aspect-ratio: 242/120;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top; }
