@charset "UTF-8";

/*
Theme Name: OLTANA-001 Child
Version: 1.0.0
Template: oltana-001
*/

/*----------- カスタマイズCSS -----------*/
.ol-hours__row {
  padding-right: 4px;
}

.ol-hours__row-num1 {
  color: #fff;
  text-align: center;
  font-weight: 400;
  background-color: #fa863e;
  padding-top: 8px;
  padding-bottom: 8px;
}

.ol-hours__row-num2 .ol-hours__col-title,
.ol-hours__row-num3 .ol-hours__col-title {
  color: #fa863e;
  font-weight: 400;
  text-align: center;
}

.ol-hours__row-num2 {
  padding-bottom: 9px;
  border-bottom: 1px solid #fa863e;
}

.ol-hours__row-num3 {
  padding-bottom: 9px;
}

.ol-hours__body {
  border: 1px solid #fa863e !important;
}

#ol-section-contact .ol-hours__body {
  padding: 0;
}

.ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__component {
  padding-bottom: clamp(24px, 2.4vw, 41px) !important;
  padding-top: clamp(27px, 5vw, 30px) !important;
  padding-right: clamp(24px, 4.5vw, 30px) !important;
}


.ol-btn-text.ol-font-en:hover {
  opacity: 0.7 !important;
}

.job a,
.ol-btn-hover-style1 a {
  width: 340px;
}

.ol-service_item-link {
  margin-top: clamp(22px, 2.4vw, 24px) !important;
}

.ol-text-a {
  color: #fa863e;
  font-size: 16px;
  font-weight: 400;
  margin: -10px 0 0;
}

#ol-section-contact .ol-contact__inner .ol-text-a {
  margin: -116px 0 0;
}


@media only screen and (max-width: 1100px) {
  #ol-section-contact .ol-contact__inner .ol-text-a {
    margin: -100px 0 0;
  }
}

@media only screen and (max-width: 950px) {
  #ol-section-contact .ol-contact__inner .ol-text-a {
    margin: -14px 0 0;
  }
}

@media only screen and (max-width: 786px) {
  #ol-section-contact .ol-contact__inner .ol-text-a {
    margin: -4px 0 0;
  }


  .ol-firstview__section .ol-hours__col-title,
  .ol-contact__section .ol-hours__col-title {
    padding-left: 0;
  }

  .ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__component {
    padding-right: 0 !important;
  }
}

.ol-service__list-item-content {
  flex: 1;
}

.ol-contact-mail .ol-btn-regular {
  background-color: #fa863e;
  color: #fff;
}

.ol-header .ol-contactdetail-pc-icon-before:hover img {
  filter: invert(64%) sepia(31%) saturate(2526%) hue-rotate(333deg) brightness(164%) contrast(96%);
}

.ol-header__nav-list>div {
  width: 100%;

}

.ol-blog-category {
  font-size: 18px !important;
}

.ol-list-title {
  font-size: clamp(20px, 1.8vw, 22px) !important;
  font-weight: 400 !important;
}

.ol-btn-text {
  font-size: clamp(16px, 1.2vw, 16px) !important;
}

.ol-text,
#access3 .ol-access__info-item-text a {
  color: #253046 !important;
}

.ol-access__info-item dt {
  color: #fa863e !important;
  font-weight: 400 !important;

}

.parking_btn {
  color: #fa863e;
  font-weight: 500 !important;
  justify-content: end;
}

.ol-concept__maincopy {
  margin-bottom: clamp(60px, 6vw, 60px);
}

.ol-access__info-item {
  align-items: self-start !important;
}

aside {
  z-index: 2;
  position: fixed;
  top: 20%;
  right: 0;
  /* オンライン診療のボタンを非表示に */
  display: none;
}

aside ul a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  right: -10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 60px;
  height: 164px;
  padding: 0 22px 0 10px;
  border-radius: 3px;
  color: #fff !important;
  font-size: 14px;
  letter-spacing: 0.1em;
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
  background-color: #71b541;
  font-weight: 500;
  font-size: 16px;
  text-decoration: none !important;
}

aside ul li {
  text-align: center;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

aside ul a:hover {
  right: 0;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .btn-items {
    text-align: right;
  }

  aside {
    display: none;
  }

  .ol-access__info-item dt {
    font-size: 16px !important;
  }
}


/*----------- 下層 -----------*/
.ol-article__sns-share {
  display: none;
}

.is-style-default,
.wp-block-table td,
.wp-block-table th,
.wp-block-separator {
  border-color: #ebebeb;
}

.menu-item a {
  display: block;
  position: relative;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding: clamp(15px, 1.8vw, 18px) 0;
  padding-right: 30px;
  font-size: clamp(14px, 1.2vw, 14px);
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0.12rem;
  text-decoration: none !important;
  width: 100%;
}

.sub-menu {
  display: none;
}

.sub-menu.show {
  display: block;
}

.menu-menu-1-container {
  width: 100%;
}

.menu-item-object-page a,
.menu-item-429 a,
.menu-item a {
  color: #253046 !important;
  border-color: rgba(37, 48, 70, 0.06);
}

.menu-item-object-page a::after,
.sub-menu a::after,
.menu-item a::after {
  color: #fa863e;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  font-family: "oltana-icons";
  line-height: 1;
  content: "\e95d";
  font-size: 12px;
}

#menu-item-3069>a,
#menu-item-3058>a,
#menu-item-3080>a,
#menu-item-3079>a {
  display: flex;
}

#menu-item-3069>a::after,
#menu-item-3058>a::after,
#menu-item-3080>a::after,
#menu-item-3079>a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 14px;
  height: 1px;
  background-color: #fa863e;
}

#menu-item-3069>a::before,
#menu-item-3058>a::before,
#menu-item-3080>a::before,
#menu-item-3079>a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 1px;
  height: 14px;
  background-color: #fa863e;
  transform: translateY(-50%);
}

#menu-item-3069.show>a::before,
#menu-item-3058.show>a::before,
#menu-item-3080.show>a::before,
#menu-item-3079.show>a::before {
  display: none;
}

.ol-btn-text .wpcf7 p>label {
  display: flex;
  justify-content: space-between;
}

.page:not(.home):not(.page-id-216) .wp-block-table {
  width: 80%;
  margin: 0 auto;
}

.page-id-517 .wp-block-table .has-fixed-layout,
.page-id-216 .wp-block-table .has-fixed-layout {
  table-layout: auto !important;
}

.page-id-517 .wp-block-table td,
.page-id-517 .wp-block-table th {
  border: none !important;
  vertical-align: top;
  font-size: 18px;
}

.page-id-216 .wp-block-table td,
.page-id-216 .wp-block-table th {
  border: none !important;
  vertical-align: top;
}

.rk-cc td {
  height: 42px;
}

.rk-cc .rk-cc_td {
  width: 24%;
}

.page-id-224 td {
  border-right: none;
  border-left: none;
}

.page-id-224 td:first-child {
  width: 19%;
  height: 80px;
}

.wpcf7-form table {
  width: 100%;
}

.wpcf7-form table tr {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #ececec;
}

.wpcf7-form table tr>th {
  font-weight: 400;
}

.wpcf7-form table tr>td {
  width: 60%;

}

.wpcf7-form table tr>th>p,
.wpcf7-form table tr>td>p {
  margin: 40px 0 !important;
  padding: 0;
}

.wpcf7-form table tr.adores_box,
.wpcf7-form table tr.message-box {
  align-items: flex-start;
}

.wpcf7-form-control-wrap {
  margin-bottom: 20px;
}

.wpcf7 textarea {
  padding: 0 15px;
  height: 3em;
  line-height: 2.5;
}

.wpcf7-form table tr.message-box .wpcf7-textarea {
  height: auto;
}

.wpcf7-list-item-label {
  margin-top: 0;
  padding-top: 0;
  font-weight: 500;
  font-size: 16px;
}

.wpcf7 p::after {
  display: none;
}

.required {
  color: #FA8642;
  font-weight: bold;
  display: contents;
  font-size: 16px;
}

.wpcf7 .wpcf7-submit:disabled {
  color: #fff;
  background-color: #a9a9a9;
  border-color: #a9a9a9;
}

.privacy {
  font-size: 16px;
  margin-top: 60px;
}

.privacy p {
  line-height: 2;
  margin: 0 !important;
  padding: 0 !important;
}

.acc {
  margin: 20px 0 0;
}

.privacy span {
  display: block;
}


.flex {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sp {
  display: none;
}

.contact_tel {
  color: #FA8642;
  font-size: 53px;
}

.pc-mt_top {
  margin-top: 0;
}

@media only screen and (max-width: 980px) {
  .page:not(.home) .wp-block-table {
    width: 100%;

  }
}

@media only screen and (max-width: 767px) {
  .page:not(.home):not(.page-id-216) .wp-block-table {
    width: 100%;
  }

  .wpcf7-form table tr {
    flex-direction: column;
  }

  .wpcf7-form table tr>th {
    text-align: left;
  }

  .wpcf7-form table tr>th>p {
    margin-bottom: 0 !important;
  }

  .wpcf7-form table tr>td>p {
    margin-top: 20px !important;
  }

  .wpcf7-form table tr>th,
  .wpcf7-form table tr>td {
    width: 100%;
  }

  .contact_tel {
    font-size: 30px;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }

  .ol-simple-box1 {
    background: rgba(250, 134, 62, 0.02);
    padding-left: 10px;
    padding-right: 10px;
  }

  .pc-mt_top {
    margin-top: clamp(42px, 4.8vw, 48px);
  }

  .page-id-303 .ol-hours__col-title {
    padding-left: 5px;
  }

  .page-id-517 .wp-block-table td,
  .page-id-517 .wp-block-table th,
  .page-id-216 .wp-block-table td,
  .page-id-216 .wp-block-table th {
    width: 100%;
    display: block;
  }

  .page-id-517 .wp-block-table td:nth-child(1) {
    padding-bottom: 0;
    font-size: 16px;
  }

  .page-id-517 .wp-block-table td:nth-child(2) {
    padding: 0.5em;
    padding-top: 0;
    font-size: 16px;
  }

  .rk-cc td {
    height: auto;

  }

  .wp-block-image .alignleft {
    float: none;
    margin: auto;
  }

  .wp-block-image img {
    margin: auto;
  }

  .page-id-517 .wp-block-column .sp_mt {
    margin-top: -50px !important;
    margin-bottom: 20px;
  }
}

.ol-simple-box1 {
  background: rgba(250, 134, 62, 0.02);
}

.wp-element-caption {
  color: #253046;
  font-weight: 500;
  text-align: center;
  padding: 10px;
  background-color: rgba(250, 134, 62, 0.045);
}

.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt28 {
  margin-top: 28px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.color_or {
  color: #fa863e !important;
}

@media (min-width: 1680px) {
  .ol-block__box {
    padding: clamp(51px, 4.5vw, 50px) !important;
  }
}



.page-id-216 .table_border {
  border: 1px solid #ebebeb !important;
  padding: 11px 14px 17px;
}


.fs18 {
  font-size: 18px;
}

.fs22 {
  font-size: 22px;
}

.icon_medical {
  display: block;
  margin-bottom: 10px;
}

.icon_size {
  font-size: smaller;
}

@media (max-width: 767px) {
  .fs22 {
    font-size: 20px;
  }


  .icon_size {
    font-size: larger;
  }

  #sp_50 {
    height: 50px !important;
  }

  #space_auto {
    height: auto !important;
  }

  #space_20 {
    height: 20px !important;
  }

  .sp_mt-100 {
    margin-top: -90px !important;
  }
}

/* 共通 */
.page:not(.home) h3.wp-block-heading {
  margin-bottom: 20px;
}

.single p,
.page:not(.home) p {
  margin: 20px 0;
}

.emphasis-box {
  background-color: #e7f1a4;
  padding: 0.3em;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .col_reverse {
    flex-direction: column-reverse;
    gap: 0;
  }

  .page-id-303 .street_view {
    gap: 0;
  }

  .page-id-2789 .col_reverse {
    gap: 1em;
    margin-top: 1em;
  }

  .col_reverse .wp-block-image {
    width: 50%;
    margin: 0 auto;
    min-height: 200px;
  }

  .font-md {
    font-size: 18px !important;
    line-height: 1.75;
  }

  .has-large-font-size {
    font-size: 20px !important;
  }
}






.column_text {
  margin-top: 20px !important;
}

.parking_btn {
  margin-top: 27px !important;
}

@media (max-width: 767px) {
  .column_text {
    margin-top: 16px !important;
  }

  .wp-block-media-text__content {
    padding: 0 !important;
  }

  .page-id-1678 .wp-block-media-text__content {
    padding: 0;
    margin-top: 10px;
  }


  .sp_em {
    display: block;
    margin-left: 2.7em;
  }
}

.page-id-1115 .wp-block-gallery {
  width: 70% !important;
  margin: auto !important;
}

@media (max-width: 767px) {
  .ol-footer__footer {
    column-gap: 0;
  }
}

.year {
  margin-left: 0.5em;
}

@media (max-width: 600px) {
  .page-id-1544 .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
    grid-row: 2 !important;
  }

  .page-id-1544 .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
    grid-row: 1 !important;
  }

  #sp_30 {
    height: 30px !important;
  }
}

.ol-contact__hours {
  padding: clamp(10px, 1.4vw, 42px) !important;
}

@media (min-width: 1680px) {
  .ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__component {
    max-width: 600px !important;
  }

  .ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__component {
    padding-right: 0 !important;
  }
}

@media (max-width: 840px) {
  .ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__col-title {
    flex-grow: 6.5;
  }
}

@media (max-width: 540px) {
  .ol-firstview__hours:not(.ol-firstview__nohours) {
    padding: 0 0 0 21px;
  }
}

@media (max-width: 400px) {

  .ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__col-title,
  .ol-contact__section:not(.ol-firstview__nohours) .ol-hours__col-title {
    flex-grow: 0.75;
  }
}

.ol-hamburger__menu-icon span {
  height: 2px !important;
}

.oltana-icon-slash_outline:before {
  content: "-" !important;
}

.ol-hours__col-day .oltana-icon-slash_outline::before {
  font-size: 24px !important;
  transform: translateY(-3px) !important;
}

/*-----fontsize-----*/
body {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: clamp(16px, 1.5vw, 18px) !important;
  font-weight: 300 !important;
}

.ol-firstview__title-subcopy {
  font-size: clamp(18px, 1.5vw, 20px) !important;
}

.ol-firstview__title-maincopy {
  font-size: clamp(calc(53px * 5 * 0.1), calc(0.63vw * 5), calc(88px * 5 * 0.1)) !important;
}

.ol-contact-mail .ol-btn-regular {
  font-size: clamp(16px, 1.2vw, 18px) !important;
}

.ol-hours__col-title {
  font-size: clamp(16px, 1.2vw, 18px) !important;
  padding-left: 10px;
}

.ol-hours__col-day-title {
  font-size: clamp(16px, 1.2vw, 18px) !important;
}

.ol-firstview__hours:not(.ol-firstview__nohours) .ol-hours__component {
  padding-right: clamp(24px, 4.5vw, 26px) !important;
}

.ol-heading {
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 400 !important;
}

.ol-category__item-anchor {
  font-size: 16px !important;
}

.ol-text-s {
  font-size: 18px !important;
  font-weight: 300 !important;
}

.ol-btn-medium,
.ol-btn-medium-2 {
  font-size: clamp(18px, 1.5vw, 20px) !important;
  font-weight: 500 !important;
}


.ol-concept__maincopy {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 400;
}

.ol-product__content-title {
  font-weight: 400 !important;
  margin-bottom: 30px;
}


.ol-article__title {
  font-weight: 400 !important;
}

.ol-hamburger__menu-icon .ol-hamburger__menu-icon-label::before {
  font-size: 12px !important;
  font-weight: bold !important;
}

@media (max-width: 540px) {
  .ol-text {
    font-size: 18px
  }

  h4.sp_teltext-font {
    font-size: clamp(15px, 1.8vw, 20px) !important;
    font-weight: 200 !important;
  }
}


.page-id-1290 .wp-block-table table {
  width: 100%;
}

.page-id-1356 .wp-block-table td,
.page-id-1356 .wp-block-table th,
.page-id-1496 .wp-block-table td,
.page-id-1496 .wp-block-table th,
.page-id-1290 .wp-block-table td,
.page-id-1290 .wp-block-table th,
.page-id-1477 .wp-block-table td,
.page-id-1477 .wp-block-table th,
.page-id-2827 .wp-block-table td,
.page-id-2827 .wp-block-table th {
  padding: 1em;
  background-color: #fff7f0;
}

.page-id-1356 .wp-block-table td.table_bg,
.page-id-1496 .wp-block-table td.table_bg,
.page-id-1290 .wp-block-table td.table_bg,
.page-id-1477 .wp-block-table td.table_bg,
.page-id-2827 .wp-block-table td.table_bg {
  background-color: #ffebd1;

}


/* 糖尿病治療について */
@media (max-width: 767px) {
  .diabetes-link-list {
    gap: 0;
  }

  .diabetes-link-list .wp-block-column:nth-child(1) ul {
    margin-bottom: 0;
  }

  .diabetes-link-list .wp-block-column:nth-child(2) ul {
    margin-top: 24px;
  }
}

/*  がん検診 */
@media (max-width: 767px) {
  .page-id-1290 .has-fixed-layout {
    overflow-x: scroll;
    display: block;
  }

  .page-id-1290 .has-fixed-layout th,
  .page-id-1290 .has-fixed-layout td {
    white-space: nowrap;
  }
}

/* テーブル編集 */
figure table {
  width: 100%;
}

@media (max-width: 767px) {
  figure.wp-block-table {
    overflow-x: auto;
  }

  figure.wp-block-table>table {
    min-width: 600px;
  }

  .page-id-216 .wp-block-table>table,
  .page-id-224 .wp-block-table>table,
  .page-id-517 .wp-block-table>table {
    overflow-x: unset;
    min-width: unset;
  }
}


.injection_type {
  margin-bottom: 60px;
}

.page:not(.home) .injection_type p {
  margin-top: 0;
  margin-bottom: 20px;
}

.page:not(.home) .injection_type .ol-block__box-inner p {
  margin-bottom: 0;
}

.ol-news__meta time,
.ol-article__meta time {
  font-size: 16px;
  flex-shrink: initial;
  width: auto;
}

.ol-product__content-list-item::before {
  display: none;
}

.ol-product__content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 10px;
  margin-bottom: 30px;
}

.ol-product__item.ol-product__item-num3 .ol-product__content-list-item.ol-product__feature1 {
  margin-right: 0 !important;
}

.ol-product__image img {
  height: 80%;
}


@media (max-width: 767px) {
  .ol-product__image img {
    height: 100%;
  }
}


/* 求人情報のボタン */
.entry_btn_items .wp-block-column:nth-child(1) section {
  margin: 0;
}

.entry_btn_items .wp-block-column:nth-child(1) .ol-block__button .ol-btn-block {

  text-align: right;
}

.entry_btn_items .wp-block-column:nth-child(1) .ol-block__button .ol-btn-block.ol-btn-size-medium:hover {
  border: 1px solid #fa863e;
}

.entry_btn_items .wp-block-column:nth-child(1) .ol-block__button .ol-btn-block.ol-btn-size-medium::before {
  display: none;
}

.entry_btn_items .wp-block-column:nth-child(2) .ol-block__button .ol-btn-block {
  text-align: left;
}

.page.page-id-224 .wp-block-table {
  width: 100%;
}

.page-id-224 .ol-btn-size-medium>a {
  width: 320px;
}

@media (max-width: 767px) {

  .entry_btn_items .wp-block-column:nth-child(1) .ol-block__button .ol-btn-block,
  .entry_btn_items .wp-block-column:nth-child(2) .ol-block__button .ol-btn-block {
    text-align: center;
  }
}


/* アンカーリンクボタン */
.ol-btn-medium-2.anchor-link {
  position: relative;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 2em !important;
}


.ol-btn-medium-2.anchor-link::after {
  content: "〉";
  transform: translateX(-50%) rotate(90deg);
  position: absolute;
  bottom: 0.5em;
  left: 50%;
  font-size: 0.9em;
  line-height: 1;
}


@media (max-width: 767px) {
  .anchor-box {
    gap: 0
  }

  .ol-btn-medium-2>span {
    line-height: 1.5;
  }

}

/* ナビゲーション対応 */
.ol-hamburger__menu-icon.is-open~.ol-header__nav .ol-header__nav-list .sub-menu {
  padding-left: 18px;
  max-height: none;
  opacity: unset;
}