/*
Theme Name: BackDoor Osaka Child
Theme URI: https://osaka.backdoor-g.com/
Description: BackDoor大阪専用のLightning子テーマ。既存デザインとサイト固有機能を親テーマ更新から保護します。
Author: BackDoor
Version: 3.0.6
Template: lightning
Tags: two-columns, one-column, right-sidebar, custom-colors, custom-menu, editor-style, E-Commerce
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: backdoor-osaka

Lightning WordPress theme, Copyright (C) 2015-2019 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.
*/

/* The homepage has one explicit, human-readable H1 below the hero. */
/*20191023 ボタンカラー*/

.btn-primary {
    color: #fff;
    background-color: #000;
    border-color: #000;
}

.btn-primary:hover {
  opacity: .6;
}

.btn-default {
    color: #fff;
    background-color: #000;
    border-color: #000;
}

.btn-default:hover {
  opacity: .6;
}

a.btn.btn-ghost:hover {
    color: #fff !important;
    background-color: #000 !important;
    border-color: #000 !important;
}

.widget_search form div input#searchsubmit {
    color: #000a12;
}

.widget_search form div input#searchsubmit:hover {
    color: #ffffff;
}

.btn.btn-primary {
    color: #fff;
    background-color: #000;
    border-color: #000;
}

.btn.btn-primary:hover {
  opacity: .6;
}

/*20191023 ボタンカラー*/

/*20191023 h1カラー*/
.page-header {
    color: #ffffff;
}
/*20191023 h1カラー*/

/*20191023 mv-fontsize*/
@media screen and (max-width: 575px) {
.slide .btn-ghost {
    font-size: 5.2vw;
}

.slide-text-title {
    font-size: 5.5vw;
}

.slide-text-caption {
    font-size: 3.7vw;
}
}


@media screen and (max-width: 767px) {
.slide .btn-ghost {
    font-size: 3.5vw;
}

.slide-text-title {
    font-size: 3.7vw;
}

.slide-text-caption {
    font-size: 2.5vw;
}
}
/*20191023 mv-fontsize*/

/*20191024 モバイルメニュー*/
.widget_text.top-widget-area-1 {
    background-color: #263238;
}

a.nav-item.nav-link {
    padding: 0.8em 0.1em;
    color: #FFF;
}
/*20191024 モバイルメニュー*/

/*20191024 ボタンpadding定義*/
a.wp-posts-carousel-more-button.button.btn.btn-primary.btn-xs.vk_button_link {
    padding-right: 1.4em;
    padding-left: 1.4em;
    padding-top: .7em;
    padding-bottom: .6em;
}
/*20191024 ボタンpadding定義*/

/*20191028 トップカルーセル余白調整*/
div#wp_posts_carousel-2{
 margin-bottom: 0!important;
}
/*20191028 トップカルーセル余白調整*/

/*20191029 スタッフ紹介セル定義*/
.row.staff-info.m-0 {
    background-color: #2b2b2b;
    color: #fff;
}

li.list-group-item.staff-info-detail {
    background-color: #2b2b2b;
    color: #fff;
	border-bottom: 1.5px solid #FFF;
}
/*20191029 スタッフ紹介セル定義*/

/*20191031 注意事項セル定義*/
h5.card-header {
    background-color: #333;
    color: #FFF;
    border: none;
}
/*20191031 注意事項セル定義*/

/*20191103 フォーム確認画面style定義*/
input.wpcf7c-conf {
    border: none;
}

select.wpcf7c-conf {
    border: none;
}

textarea.wpcf7c-conf {
    border: none;
}


.form-control:disabled, .form-control[readonly] {
    background: none;
}

.wpcf7c-conf {
    background: none;
}

.form-control.wpcf7c-conf {
    color: #000;
}

/*プルダウン矢印削除*/
select.wpcf7c-conf {
-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
appearance: none; /* 標準のスタイルを無効にする */
}
select.wpcf7c-conft::-ms-expand{ /* select要素のデザインを無効にする（IE用） */
display: none;
}
/*プルダウン矢印削除*/

/*オートコンプリート背景削除*/
input[name="user-tel"]:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
}

input[name="user-email"]:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
}

input[name="username"]:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #f2f2f2 inset;
}

/*オートコンプリート背景削除*/
/*20191103 フォーム確認画面style定義*/

/*20191103 TBLEstyle定義*/
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #f2f2f2;
}
/*20191103 TBLEstyle定義*/

/*20191103 アラート定義*/
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing, div.wpcf7-spam-blocked {
position: relative;
padding: .75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: .25rem;

color: #721c24;
background-color: #f8d7da;
border-color: #f5c6cb;
}

.wpcf7 .wpcf7-not-valid {
background: #F0F0B0;
border: solid 2px #FF0000;
}
/*20191103 アラート定義*/

/*20191110 カルーセルstyle定義*/
.simple-theme.wp-posts-carousel .wp-posts-carousel-details {
background-color: #2b2b2b;
padding: 15px 10px 1px 10px !important;
}

.simple-theme.wp-posts-carousel .wp-posts-carousel-image img {
width: 100%;
}

.simple-theme.wp-posts-carousel .wp-posts-carousel-image a {
display: inherit !important;
}

h3.wp-posts-carousel-title a {
color:#FFF;
font-weight:bold;
}

h3.wp-posts-carousel-title {
border-bottom-color: #000;
margin:0px;
box-shadow:none;
border-bottom:none;
position:inherit !important;
}

.simple-theme.wp-posts-carousel .wp-posts-carousel-desc {
color:#FFF !important;
margin-bottom: 15px !important;
}

.wp-posts-carousel-container {
    padding-top: 0px !important;
}

h2.mainSection-title {
    margin-bottom: 10px;
}

.simple-theme.wp-posts-carousel .wp-posts-carousel-container {
padding:6px !important;
}
.carousel {
    border-bottom: 0px;
}
/*20191110 カルーセルstyle定義*/

/*20191201 フォームstyle定義*/
.table-responsive {
display:inline-table !important;
}
/*20191201 フォームstyle定義*/

/*20230304 ヘッダーフッターカラー変更*/
.siteHeader {
background-color: #000000;
}
.gMenu a {
    color: #ffffff;
}
footer {
    background-color: #000000;
	color: #ffffff;
}
.footerMenu li a {
    color: #ffffff;
}
/*20230304 ヘッダーフッターカラー変更*/

/*20230305 お問い合わせエリアカラー変更*/
.veu_contact .contact_txt_tel {
    color: #000;
}
/*20230305 お問い合わせエリアカラー変更*/

/*20230312 お問い合わせフォーム*/
a.btn.btn-primary-second.btn-lg.contact_bt {
    background-color: transparent;
    background-image: none;
    border: 2px solid;
    border-color: #000;
    padding: 0.667em 1.333em;
}
a.btn.btn-primary-second.btn-lg.contact_bt:hover {
  opacity: .6;	
}

.contact_bt_second_txt {
    color: #000;
}

.contact_bt_subTxt.contact_bt_second_subTxt {
    color: #000;
}
/*20230312 お問い合わせフォーム*/

/*20230312 追従ナビカラー*/
@media (min-width: 992px) {
.header_scrolled .gMenu_outer {
    background-color: #000;
	}
}
/*20230312 追従ナビカラー*/

/*20230321 PRフォントサイズ*/
h1.prBlock_title.font-weight-bold {
    font-size: 13px;
}

.prBlock .prBlock_summary {
    font-size: 13px;
}
/*20230321 PRフォントサイズ*/

/*20230321 スタッフ自己紹介キャスト印象BOX*/
span.badge.badge-light2.mr-2 {
    background: #000;
    color: #fff;
}
.row.staff-info2.m-0.mt-4 {
    border: 1px solid #e5e5e5;
}

.staff-info2-cell-first{
    border-bottom: 1px solid #e5e5e5;
}
@media (min-width: 768px)
{
.staff-info2-cell-first{
    border-bottom: none;
}
}
/*20230321 スタッフ自己紹介キャスト印象BOX*/

/*20230321 カルーセルホバーカラー設定*/
.veu_followSet .followSet_img:hover {
  opacity: .6;
}

.wp-posts-carousel-image:hover  {
  opacity: .6;
}
/*20230321 カルーセルホバーカラー設定*/

/*20230415　スタッフ一覧抜粋テキストサイズ設定*/
.staffproftxt {
    font-size: 14px;
}
/*20230415　スタッフ一覧抜粋テキストサイズ設定*/

/*20230415　スタッフ一覧抜粋padding設定*/
.followSet_body.staffboxpd {
    padding: 0.5rem;
}
/*20230415　スタッフ一覧抜粋padding設定*/

/*20230415　カルーセルセンタリング*/
.wp-posts-carousel-desc {
    text-align: center;
}
/*20230415　カルーセルセンタリング*/

/*20230408 出勤スタッフスタイル設定*/
.attmgr_staffbox.col-6.col-sm-6.col-md-4 {
    color: #fff;
    padding: 15px 10px 1px 10px;
    float: left;
}

.staffbox_text {
    background-color: #2b2b2b;
    text-align: center;
    padding: 15px 10px 15px 10px;
}

a.staffbox_text_name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.staffbox_text_name a {
    color: #fff;
    font-weight: bold;
    font-size: 18px;
}

.staffbox_image :hover {
    opacity: .6;
}

/* Keep homepage daily staff photos in their intended portrait ratio. */
.home .attmgr_staffbox .staffbox_image a {
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #f2f2f2;
}

.home .attmgr_staffbox .staffbox_image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center top;
}

table.attmgr_weekly th {
    background-color: #2b2b2b;
    color: #fff;
}

table.attmgr_admin_scheduler th {
    background-color: #2b2b2b;
    color: #fff;
}

table.attmgr_guide_weekly td.saturday a {
    color: #1a1a80;
}

table.attmgr_guide_weekly td.saturday.current {
    background-color: #1a1a80;
}

table.attmgr_guide_weekly td.sunday a {
    color: #b31212;
}

table.attmgr_guide_weekly td.sunday.current {
    background-color: #b31212;
    color: #fff;
}

table.attmgr_weekly th.sunday {
    background-color: #b31212;
    color: #fff;
}

table.attmgr_weekly th.saturday {
    background-color: #1a1a80;
    color: #fff;
}
/*20230408 出勤スタッフスタイル設定*/

/*20230501 出勤スタッフ週間スケジュールスタイル設定*/
table.attmgr_weekly_all th {
    background-color: #2b2b2b;
    color: #fff;
}
/*20230501 出勤スタッフ週間スケジュールスタイル設定*/

/*20230506 NEWマークスタイル設定*/
.entry-title.recommend_mrk-new::after {
  display        : inline-block;       /* インラインボックス定義  */
  content        : "NEW";              /* 表示する文字            */
  color          : #FF9900; /* 文字色 */
  font-weight    : bold;               /* 太字                    */
  font-size      : 15pt;                /* ベースの文字サイズ      */
  vertical-align : middle;             /* 基準の高さ位置          */
  margin-left    : 5px;                /* 左外余白                */
  animation      : s1bAnime 1.5s infinite alternate; /* アニメ    */
}
.wp-posts-carousel-title.recommend_mrk-new::before , .staffbox_text_name.recommend_mrk-new::before , .portrait > .recommend_mrk-new::after, h4.recommend_mrk-new::before {
  display        : inline-block;       /* インラインボックス定義  */
  content        : "NEW";              /* 表示する文字            */
  color          : #FF9900; /* 文字色 */
  font-weight    : bold;               /* 太字                    */
  font-size      : 8px;                /* ベースの文字サイズ      */
  vertical-align : middle;             /* 基準の高さ位置          */
  margin-right   : 5px;                /* 左外余白                */
  margin-left    : 5px;                /* 左外余白                */
  animation      : s1bAnime 1.5s infinite alternate; /* アニメ    */
}
@keyframes s1bAnime{                   /* 横軸回転                */
   50% { transform: rotateX(360deg) }
  100% { transform: rotateX(360deg) }
}
/*20230506 NEWマークスタイル設定*/

/*20230525 出勤補足テキストスタイル設定*/
.working_subtext {
    font-size: 12px;
}
@media screen and (max-width: 767px) {
.working_subtext {
    font-size: 8px;
}
}

table.attmgr_weekly td.working {
    vertical-align: top !important;
}

table.attmgr_weekly td {
    padding: 1em 0;
}

table.attmgr_weekly_all td.working {
    vertical-align: top !important;
    padding: 4em 0 0 0;
}
/*20230525 出勤補足テキストスタイル設定*/

/*20231001 モバイルグロナビスタイル設定*/
@media screen and (max-width: 992px) {
html, body {
    padding-top: 25px;
}

header.siteHeader {
    position: fixed !important;
}

h1.navbar-brand.siteHeader_logo {
    display: block;
}

.vk-mobile-nav-menu-btn {
top: 5px !important;
right: 5px !important;
left: auto !important;
background-color: #000 !important;
border: 1px solid #fff !important;
background: url(/wp-content/themes/lightning/inc/vk-mobile-nav/package/images/vk-menu-btn-white.svg) !important;
}

.vk-mobile-nav {
    background-color: #000 !important;
    border-bottom: 1px solid #fff !important;
}

.vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a {
    color: #fff;
    border-bottom: 1px solid #fff;
}

.vk-mobile-nav-menu-btn.menu-open {
background: url(/wp-content/themes/lightning/inc/vk-mobile-nav/package/images/vk-menu-close-white.svg) !important;
}

.vk-mobile-nav-menu-btn.menu-open {
z-index: 9999999;
}

.vk-mobile-nav.vk-mobile-nav-open {
z-index: 999999;
}
	
}
/*20231001 モバイルグロナビスタイル設定*/

/*20231001 トップスタッフ画像比率調整*/
img.attachment-full.size-full.wp-post-image {
    aspect-ratio: 3/4;
}
/*20231001 トップスタッフ画像比率調整*/

/*20231205 トップアイコンカラー調整*/
.topicon-white {color: #ffffff}
/*20231205 トップアイコンカラー調整*/

/*20240202 トップスタッフボックス高さ調整*/
.staffbox_text {
    height: 173px;
}
@media (min-width: 992px) {
.staffbox_text {
    height: 185px;
}
}
/*20240202 トップスタッフボックス高さ調整*/

/*20240202 スタッフアンケートスタイル調整*/
span.badge.badge-light2.enq {
    background: #000;
    color: #fff;
    white-space: inherit;
    text-align: -webkit-left;
}
/*20240202 スタッフアンケートスタイル調整*/

/*202400225 recapchaスタイル調整*/
.grecaptcha-badge { visibility: hidden; }
/*202400225 recapchaスタイル調整*/

/*20240715 shoplistスタイル調整*/
.shoplist li a {
    color: #ffffff;
}

.shoplist li {
    margin-bottom: 0;
    font-size: 14px;
}

@media (min-width: 768px) {
    .shoplist li a {
        border-left: 1px solid #ccc;
        padding: 0 1em;
    }
    .shoplist ul {
        margin: 10px 0;
    }

.shoplist nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
}



@media (max-width: 767px) {
    .shoplist li {
        float: none;
        border-bottom: 1px solid #e5e5e5;
        display: block;
        overflow: hidden;
        padding: .5em 0;
    }

    .shoplist .nav {
        display: unset;
    }

}

/* v3: schedule usability */
.bdo-profile__schedule {
    overflow: visible;
}

.bdo-profile__schedule table.attmgr_weekly {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.bdo-profile__schedule table.attmgr_weekly th,
.bdo-profile__schedule table.attmgr_weekly td {
    width: calc(100% / 7);
    padding: .8rem .2rem;
    text-align: center;
    overflow-wrap: anywhere;
}

.bdo-profile__schedule table.attmgr_weekly .date,
.bdo-profile__schedule table.attmgr_weekly .dow {
    display: block;
    margin: 0;
}

.bdo-profile__schedule .list_pagenavi {
    height: auto;
    min-height: 2.5rem;
    margin-bottom: .75rem;
}

.bdo-schedule-page__table .list_pagenavi {
    display: flex;
    height: auto;
    min-height: 50px;
    margin: 0 0 1rem;
    align-items: center;
    justify-content: center;
}

.bdo-schedule-page__table .list_pagenavi .prev_page,
.bdo-schedule-page__table .list_pagenavi .next_page {
    display: none;
}

.bdo-schedule-page__table .list_datenavi {
    display: flex;
    width: 100%;
    max-width: 680px;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    font-weight: 700;
}

.bdo-schedule-page__table .list_datenavi a {
    display: inline-flex;
    min-width: 104px;
    min-height: 40px;
    margin: 0;
    padding: .5rem .8rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfcfcf;
    background: #fff;
    color: #333 !important;
    font-size: 0;
    font-weight: 600;
    text-decoration: none !important;
    transition: border-color .2s ease, background-color .2s ease;
}

.bdo-schedule-page__table .list_datenavi a:hover,
.bdo-schedule-page__table .list_datenavi a:focus-visible {
    border-color: #777;
    background: #f5f5f5;
}

.bdo-schedule-page__table .list_datenavi a:first-child::before {
    content: "‹  前の週";
    font-size: .82rem;
}

.bdo-schedule-page__table .list_datenavi a:last-child::before {
    content: "次の週  ›";
    font-size: .82rem;
}

.bdo-schedule-sticky-dates {
    position: fixed;
    z-index: 900;
    display: none;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12);
    pointer-events: none;
}

.bdo-schedule-sticky-dates.is-visible {
    display: block;
}

.bdo-schedule-sticky-dates__rail {
    will-change: transform;
}

.bdo-schedule-sticky-dates table.attmgr_weekly_all {
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.bdo-schedule-sticky-dates table.attmgr_weekly_all th {
    height: 58px;
    padding: .5rem .25rem;
    border: 1px solid #ddd;
    background: #f7f7f7;
    color: #111;
    font-weight: 700;
    text-align: center;
}

.bdo-schedule-sticky-dates table.attmgr_weekly_all th.saturday {
    background: #eef4ff;
    color: #164da8;
}

.bdo-schedule-sticky-dates table.attmgr_weekly_all th.sunday,
.bdo-schedule-sticky-dates table.attmgr_weekly_all th.public-holiday {
    background: #fff0f0;
    color: #c01818;
}

@media (max-width: 767px) {
    .bdo-profile__schedule table.attmgr_weekly th,
    .bdo-profile__schedule table.attmgr_weekly td {
        padding: .65rem .08rem;
        font-size: clamp(.62rem, 2.6vw, .78rem);
        line-height: 1.35;
    }

    .bdo-profile__schedule .working_subtext {
        font-size: .58rem;
        line-height: 1.25;
    }

    .bdo-schedule-page__table .list_datenavi {
        flex-wrap: wrap;
        gap: .5rem;
        font-size: .82rem;
    }

    .bdo-schedule-page__table .list_datenavi a {
        min-width: 92px;
        min-height: 40px;
        padding: .5rem .65rem;
    }

    .bdo-schedule-page__table .list_datenavi a:first-child::before,
    .bdo-schedule-page__table .list_datenavi a:last-child::before {
        font-size: .78rem;
    }
}

/* v3: dashboard-managed customer voices */
.bdo-voices {
    position: relative;
    padding-top: clamp(2.5rem, 6vw, 5rem);
    padding-bottom: clamp(2.5rem, 6vw, 5rem);
    color: #d7d7d7;
}

.bdo-voices::before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: calc(50% - 50vw);
    bottom: 0;
    left: calc(50% - 50vw);
    background: #0b0b0b;
    content: "";
}

.bdo-voices__inner {
    position: relative;
    z-index: 1;
}

.bdo-voices__title-line {
    margin-bottom: 1.5rem;
    padding-left: 1.25rem;
    border-left: 4px solid #d5b44b;
}

.bdo-voices__title-line p,
.bdo-related__heading > div:first-child > p {
    margin: 0 0 .25rem;
    color: #999;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-voices__title-line h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.bdo-voices__title-line h2 small {
    color: #999;
    font-size: .55em;
    font-weight: 400;
}

.bdo-voices__lead {
    margin: 0 0 1.75rem;
    color: #aaa;
    line-height: 1.9;
}

.bdo-voices__summary {
    display: flex;
    margin-bottom: 1.75rem;
    padding: 0 0 1.35rem;
    align-items: center;
    border-bottom: 1px solid #343434;
    gap: 1.25rem;
}

.bdo-voices__overall,
.bdo-voice-card__rating {
    display: flex;
    align-items: center;
    color: #d5b44b;
    gap: .55rem;
    white-space: nowrap;
}

.bdo-voices__overall strong {
    font-size: 1.25rem;
}

.bdo-voice-stars {
    position: relative;
    display: inline-block;
    overflow: hidden;
    color: #4a432d;
    font-size: 1.15rem;
    letter-spacing: .08em;
    line-height: 1;
}

.bdo-voice-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #d5b44b;
    white-space: nowrap;
}

.bdo-voices__breakdown {
    display: flex;
    flex-wrap: wrap;
    color: #999;
    font-size: .88rem;
    gap: .35rem 1.25rem;
}

.bdo-voices__list {
    display: grid;
    gap: 1rem;
}

.bdo-voice-card {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #343434;
    border-radius: 12px;
    background: #191919;
}

.bdo-voice-card header {
    display: flex;
    margin-bottom: 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.bdo-voice-card__meta {
    display: flex;
    align-items: center;
    color: #999;
    gap: .75rem;
}

.bdo-voice-card__meta span {
    padding: .35rem .8rem;
    border-radius: 999px;
    background: #292929;
    font-size: .8rem;
}

.bdo-voice-card__rating strong {
    font-size: 1rem;
}

.bdo-voice-card__course {
    display: inline-flex;
    margin: 0 0 1.2rem;
    padding: .35rem .75rem;
    border: 1px solid #745e20;
    border-radius: 999px;
    color: #e2c65d;
    font-size: .8rem;
}

.bdo-voice-card h3 {
    margin: 0 0 .75rem;
    color: #fff;
    font-size: 1.05rem;
}

.bdo-voice-card__content,
.bdo-voice-card__content p {
    color: #d7d7d7;
    line-height: 1.9;
}

.bdo-voice-card__content p:last-child {
    margin-bottom: 0;
}

.bdo-voices__note {
    margin: .75rem 0 0;
    color: #888;
    font-size: .78rem;
}

/* v3: other therapist slider */
.bdo-related {
    padding-top: clamp(2rem, 5vw, 4rem);
}

.bdo-related__heading {
    display: flex;
    margin-bottom: 1.25rem;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.bdo-related__heading h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
}

.bdo-related__controls {
    display: flex;
    gap: .4rem;
}

.bdo-related__controls button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #111;
    color: #fff;
    cursor: pointer;
}

.bdo-related__controls button:disabled {
    opacity: .25;
    cursor: default;
}

.bdo-related__viewport {
    display: flex;
    overflow-x: auto;
    padding-bottom: .5rem;
    gap: 12px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.bdo-related__viewport::-webkit-scrollbar {
    display: none;
}

.bdo-related__card {
    min-width: 0;
    flex: 0 0 calc((100% - 48px) / 5);
    scroll-snap-align: start;
}

.bdo-related__card a {
    display: block;
    height: 100%;
    color: #111 !important;
    text-decoration: none !important;
}

.bdo-related__image {
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #eee;
}

.bdo-related__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.bdo-related__card a:hover .bdo-related__image img {
    transform: scale(1.025);
}

.bdo-related__card h3 {
    overflow: hidden;
    margin: .65rem 0 0;
    color: #111;
    font-size: .95rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bdo-related__card p {
    overflow: hidden;
    margin: .2rem 0 0;
    color: #666;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .bdo-voices__summary,
    .bdo-voice-card header {
        align-items: flex-start;
        flex-direction: column;
    }

    .bdo-voice-card {
        border-radius: 8px;
    }

    .bdo-related__viewport {
        gap: 8px;
    }

    .bdo-related__card {
        flex-basis: calc((100% - 16px) / 3);
    }

    .bdo-related__controls button {
        width: 38px;
        height: 38px;
    }

    .bdo-related__card h3 {
        font-size: .8rem;
    }

    .bdo-related__card p {
        font-size: .65rem;
    }
}

/* Therapist directory ---------------------------------------------------- */
.bdo-staff {
    background: #fff;
    color: var(--bdo-black, #171717);
}

.bdo-staff__inner {
    width: min(1280px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-staff__intro {
    max-width: 820px;
    margin: 0 auto 3.5rem;
    text-align: center;
}

.bdo-staff__eyebrow {
    margin: 0 0 .75rem;
    color: #777;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-staff__intro h2,
.bdo-staff__guide h2,
.bdo-staff__booking h2 {
    margin: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.65rem);
    font-weight: 700;
    line-height: 1.35;
}

.bdo-staff__intro > p:not(.bdo-staff__eyebrow) {
    margin: 1.5rem 0 0;
    line-height: 2;
}

.bdo-staff__finder {
    margin-bottom: 2.5rem;
    padding: 1.1rem 1.25rem;
    border-top: 3px solid #171717;
    background: #f3f3f3;
}

.bdo-staff__finder-head {
    display: flex;
    margin-bottom: .85rem;
    padding-bottom: .75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #ddd;
}

.bdo-staff__finder-head h2 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.15rem;
}

.bdo-staff__finder-body {
    display: grid;
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    align-items: center;
    gap: .7rem 1.5rem;
}

.bdo-staff__search {
    display: grid;
    grid-row: 1 / span 2;
    grid-template-columns: 1fr;
    align-items: center;
    gap: .35rem;
}

.bdo-staff__search label {
    color: #555;
    font-size: .78rem;
    font-weight: 700;
}

.bdo-staff__search input {
    width: 100%;
    min-height: 42px;
    padding: .55rem .75rem;
    border: 1px solid #aaa;
    border-radius: 0;
    background: #fff;
    font-size: 1rem;
}

.bdo-staff__search input:focus {
    border-color: #111;
    outline: 2px solid #aaa;
    outline-offset: 1px;
}

.bdo-staff__filters {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.bdo-staff__filter-set {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
}

.bdo-staff__filter-label {
    color: #555;
    font-size: .78rem;
    font-weight: 700;
}

.bdo-staff__filters button {
    min-height: 36px;
    padding: .4rem .8rem;
    border: 1px solid #aaa;
    border-radius: 999px;
    background: #fff;
    color: #222;
    font-weight: 700;
    cursor: pointer;
}

.bdo-staff__filters button:hover,
.bdo-staff__filters button:focus,
.bdo-staff__filters button.is-active {
    border-color: #161616;
    background: #161616;
    color: #fff;
}

.bdo-staff__result {
    margin: 0;
    color: #555;
    font-size: .9rem;
    white-space: nowrap;
}

.bdo-staff__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.bdo-staff-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid #d8d8d8;
    background: #fff;
}

.bdo-staff-card[hidden] {
    display: none !important;
}

.bdo-staff-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #eee;
}

.bdo-staff-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .3s ease;
}

.bdo-staff-card__image:hover img,
.bdo-staff-card__image:focus img {
    transform: scale(1.025);
}

.bdo-staff-card__no-image {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #777;
    font-size: .75rem;
    letter-spacing: .12em;
}

.bdo-staff-card__new {
    position: absolute;
    top: .75rem;
    left: .75rem;
    padding: .35rem .6rem;
    background: var(--bdo-osaka-red, #d52d3a);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.bdo-staff-card__body {
    display: flex;
    padding: 1.15rem;
    flex: 1;
    flex-direction: column;
}

.bdo-staff-card__body h2 {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.3;
}

.bdo-staff-card__body h2 a {
    color: #151515 !important;
    text-decoration: none !important;
}

.bdo-staff-card__profile {
    margin: .45rem 0 0;
    color: #444;
    font-size: .92rem;
    font-variant-numeric: tabular-nums;
}

.bdo-staff-card__travel {
    min-height: 2.8em;
    margin: .75rem 0 1rem;
    color: #666;
    font-size: .78rem;
    line-height: 1.4;
}

.bdo-staff-card__travel span {
    margin-right: .4rem;
}

.bdo-staff-card__travel.is-available span {
    color: #16853e;
}

.bdo-staff-card__button {
    display: flex;
    min-height: 46px;
    margin-top: auto;
    padding: .7rem .9rem;
    align-items: center;
    justify-content: space-between;
    background: #171717;
    color: #fff !important;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-staff-card__button:hover,
.bdo-staff-card__button:focus {
    background: #343434;
}

.bdo-staff__empty {
    margin: 2rem 0;
    padding: 2rem;
    background: #f3f3f3;
    text-align: center;
}

.bdo-staff__guide {
    display: flex;
    margin: 4.5rem 0;
    padding: 2.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background: #f4f4f4;
}

.bdo-staff__guide h2 {
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.bdo-staff__guide p:not(.bdo-staff__eyebrow) {
    margin: .75rem 0 0;
}

.bdo-staff__guide > a {
    flex: 0 0 auto;
    padding: 1rem 1.4rem;
    border: 1px solid #171717;
    color: #171717 !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-staff__booking {
    padding: 4rem 2rem;
    background: #161616;
    color: #fff;
    text-align: center;
}

.bdo-staff__booking h2 {
    color: #fff;
}

.bdo-staff__booking > p:not(.bdo-staff__eyebrow) {
    margin: 1.25rem 0 2rem;
}

.bdo-staff__booking-buttons {
    display: flex;
    max-width: 760px;
    margin: 0 auto;
    gap: 1rem;
}

.bdo-staff__button {
    display: flex;
    min-height: 64px;
    padding: 1rem 1.5rem;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
}

.bdo-staff__button--reserve {
    background: var(--bdo-osaka-red, #d52d3a);
}

.bdo-staff__button--line {
    border: 1px solid #fff;
}

@media (max-width: 991px) {
    .bdo-staff__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .bdo-staff__inner {
        width: min(100% - 28px, 1280px);
        padding-top: 3rem;
    }

    .bdo-staff__intro {
        margin-bottom: 2.5rem;
    }

    .bdo-staff__finder {
        padding: 1rem;
    }

    .bdo-staff__finder-body {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .bdo-staff__search {
        grid-row: auto;
    }

    .bdo-staff__filter-set {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .bdo-staff__filters {
        flex-wrap: nowrap;
        margin-right: -1rem;
        padding: 0 1rem .3rem 0;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .bdo-staff__filters button {
        flex: 0 0 auto;
    }

    .bdo-staff__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .bdo-staff-card__body {
        padding: .85rem;
    }

    .bdo-staff-card__body h2 {
        font-size: 1.08rem;
    }

    .bdo-staff-card__profile {
        font-size: .78rem;
    }

    .bdo-staff-card__travel {
        min-height: 3.8em;
        font-size: .68rem;
    }

    .bdo-staff-card__button {
        padding: .65rem .7rem;
        font-size: .75rem;
    }

    .bdo-staff__guide {
        margin: 3rem 0;
        align-items: stretch;
        flex-direction: column;
    }

    .bdo-staff__guide > a {
        text-align: center;
    }

    .bdo-staff__booking {
        padding: 3rem 1.25rem;
    }

    .bdo-staff__booking-buttons {
        flex-direction: column;
    }
}

/* First visit page -------------------------------------------------------- */
.bdo-first {
    background: #fff;
    color: var(--bdo-black, #171717);
}

.bdo-first__inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-first__intro {
    max-width: 850px;
    margin: 0 auto 5rem;
    text-align: center;
}

.bdo-first__eyebrow,
.bdo-first__heading > p {
    margin: 0 0 .75rem;
    color: #777;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-first__intro h2,
.bdo-first__heading h2,
.bdo-first__booking h2,
.bdo-first__help h2 {
    margin: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.65rem);
    font-weight: 700;
    line-height: 1.35;
}

.bdo-first__intro > p:not(.bdo-first__eyebrow) {
    margin: 1.5rem 0;
    line-height: 2;
}

.bdo-first__intro-links {
    display: flex;
    justify-content: center;
    gap: 1.75rem;
}

.bdo-first__intro-links a,
.bdo-first__flow a,
.bdo-first__choice-grid a,
.bdo-first__notice-link a {
    color: #0068c9 !important;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.bdo-first__section {
    padding: 4.5rem 0;
    border-top: 1px solid #dedede;
}

.bdo-first__section--soft {
    position: relative;
}

.bdo-first__section--soft::before {
    position: absolute;
    inset: 0 calc(50% - 50vw);
    z-index: 0;
    background: #f6f6f6;
    content: "";
}

.bdo-first__section--soft > * {
    position: relative;
    z-index: 1;
}

.bdo-first__heading {
    margin-bottom: 2.25rem;
    text-align: center;
}

.bdo-first__point-grid,
.bdo-first__choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #d8d8d8;
    background: #d8d8d8;
}

.bdo-first__point-grid article,
.bdo-first__choice-grid article {
    padding: 2rem;
    background: #fff;
}

.bdo-first__point-grid span {
    display: block;
    margin-bottom: 1.1rem;
    color: var(--bdo-osaka-red, #d52d3a);
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.bdo-first__point-grid h3,
.bdo-first__choice-grid h3,
.bdo-first__day-grid h3,
.bdo-first__notice-grid h3 {
    margin: 0 0 .8rem;
    font-size: 1.18rem;
}

.bdo-first__point-grid p,
.bdo-first__choice-grid p,
.bdo-first__notice-grid p {
    margin: 0;
    line-height: 1.85;
}

.bdo-first__flow {
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.bdo-first__flow li {
    display: grid;
    padding: 1.6rem 0;
    grid-template-columns: 56px 1fr;
    gap: 1.25rem;
    border-bottom: 1px solid #ddd;
}

.bdo-first__flow li:first-child {
    border-top: 1px solid #ddd;
}

.bdo-first__flow li > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #171717;
    color: #fff;
    font-weight: 800;
}

.bdo-first__flow h3 {
    margin: 0 0 .45rem;
    font-size: 1.15rem;
}

.bdo-first__flow p {
    margin: 0;
    line-height: 1.85;
}

.bdo-first__choice-grid article {
    display: flex;
    min-height: 280px;
    flex-direction: column;
}

.bdo-first__choice-grid a {
    margin-top: auto;
    padding-top: 1.25rem;
    font-weight: 700;
}

.bdo-first__day-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.bdo-first__day-grid article {
    padding: 2rem;
    border-top: 4px solid #1b1b1b;
    background: #f6f6f6;
}

.bdo-first__day-grid p {
    margin: 0;
    line-height: 1.85;
}

.bdo-first__day-grid ul {
    margin: 1.25rem 0 0;
    padding-left: 1.4rem;
    line-height: 1.9;
}

.bdo-first__payment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #d8d8d8;
    background: #d8d8d8;
}

.bdo-first__payment-grid > div {
    display: flex;
    min-height: 120px;
    padding: 1.25rem;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    text-align: center;
}

.bdo-first__payment-grid span {
    margin-top: .45rem;
    color: #666;
    font-size: .82rem;
}

.bdo-first__payment-note {
    display: grid;
    margin-top: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.bdo-first__payment-note p {
    margin: 0;
    padding: 1.25rem;
    border-left: 4px solid var(--bdo-osaka-red, #d52d3a);
    background: #fff;
    line-height: 1.8;
}

.bdo-first__notice {
    padding: 4.5rem 0;
    border-top: 1px solid #dedede;
}

.bdo-first__notice > h2 {
    margin: 0 0 2rem;
    text-align: center;
    font-size: clamp(1.6rem, 3vw, 2.25rem);
}

.bdo-first__notice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.bdo-first__notice-grid > div {
    padding: 1.5rem;
    border: 1px solid #ddd;
}

.bdo-first__notice-link {
    margin: 1.5rem 0 0;
    text-align: center;
}

.bdo-first__help {
    display: flex;
    margin-bottom: 4.5rem;
    padding: 2.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background: #f4f4f4;
}

.bdo-first__help h2 {
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.bdo-first__help p:not(.bdo-first__eyebrow) {
    margin: .75rem 0 0;
}

.bdo-first__help > a {
    flex: 0 0 auto;
    padding: 1rem 1.4rem;
    border: 1px solid #171717;
    color: #171717 !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-first__booking {
    padding: 4rem 2rem;
    background: #161616;
    color: #fff;
    text-align: center;
}

.bdo-first__booking h2 {
    color: #fff;
}

.bdo-first__booking > p:not(.bdo-first__eyebrow) {
    margin: 1.25rem 0 2rem;
}

.bdo-first__booking-buttons {
    display: flex;
    max-width: 760px;
    margin: 0 auto;
    gap: 1rem;
}

.bdo-first__button {
    display: flex;
    min-height: 64px;
    padding: 1rem 1.5rem;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
}

.bdo-first__button--reserve {
    background: var(--bdo-osaka-red, #d52d3a);
}

.bdo-first__button--line {
    border: 1px solid #fff;
}

.bdo-first__button:hover,
.bdo-first__button:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .bdo-first__inner {
        width: min(100% - 28px, 1120px);
        padding-top: 3rem;
    }

    .bdo-first__intro {
        margin-bottom: 3rem;
    }

    .bdo-first__section,
    .bdo-first__notice {
        padding: 3.25rem 0;
    }

    .bdo-first__intro-links {
        align-items: center;
        flex-direction: column;
        gap: .75rem;
    }

    .bdo-first__point-grid,
    .bdo-first__choice-grid,
    .bdo-first__day-grid,
    .bdo-first__notice-grid,
    .bdo-first__payment-note {
        grid-template-columns: 1fr;
    }

    .bdo-first__choice-grid article {
        min-height: 0;
    }

    .bdo-first__payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bdo-first__flow li {
        grid-template-columns: 46px 1fr;
        gap: .85rem;
    }

    .bdo-first__flow li > span {
        width: 40px;
        height: 40px;
    }

    .bdo-first__help {
        align-items: stretch;
        flex-direction: column;
    }

    .bdo-first__help > a {
        text-align: center;
    }

    .bdo-first__booking {
        padding: 3rem 1.25rem;
    }

    .bdo-first__booking-buttons {
        flex-direction: column;
    }
}

/* Pricing / system page --------------------------------------------------- */
.page-system .page-header,
.page-system .breadcrumb {
    margin-bottom: 0;
}

.bdo-system {
    background: #fff;
    color: var(--bdo-black, #171717);
}

.bdo-system__inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-system__intro {
    max-width: 780px;
    margin: 0 auto 5rem;
    text-align: center;
}

.bdo-system__eyebrow,
.bdo-system__heading > p {
    margin: 0 0 .75rem;
    color: #777;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-system__intro h2,
.bdo-system__heading h2,
.bdo-system__booking h2 {
    margin: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.65rem);
    font-weight: 700;
    line-height: 1.3;
}

.bdo-system__intro > p:not(.bdo-system__eyebrow) {
    margin: 1.5rem 0 1rem;
    line-height: 2;
}

.bdo-system__text-link,
.bdo-system__notice a {
    color: #0068c9 !important;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.bdo-system__section {
    padding: 4.5rem 0;
    border-top: 1px solid #dedede;
}

.bdo-system__section--soft {
    position: relative;
}

.bdo-system__section--soft::before {
    position: absolute;
    inset: 0 calc(50% - 50vw);
    z-index: 0;
    background: #f6f6f6;
    content: "";
}

.bdo-system__section--soft > * {
    position: relative;
    z-index: 1;
}

.bdo-system__heading {
    margin-bottom: 2.25rem;
    text-align: center;
}

.bdo-system__course-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.bdo-system__course-card,
.bdo-system__list-card,
.bdo-system__single-card {
    border: 1px solid #d8d8d8;
    background: #fff;
}

.bdo-system__course-card h3,
.bdo-system__list-card h3 {
    margin: 0;
    padding: 1.15rem 1.35rem .35rem;
    font-size: 1.35rem;
}

.bdo-system__course-note {
    margin: 0;
    padding: 0 1.35rem 1.15rem;
    color: #666;
    font-size: .9rem;
}

.bdo-system table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.bdo-system th,
.bdo-system td {
    padding: 1rem 1.25rem;
    border-top: 1px solid #ddd;
    text-align: left;
}

.bdo-system td,
.bdo-system thead th:last-child {
    text-align: right;
}

.bdo-system thead th {
    background: #1c1c1c;
    color: #fff;
    font-size: .85rem;
}

.bdo-system tbody th {
    font-weight: 600;
}

.bdo-system tbody tr:nth-child(even) {
    background: #f7f7f7;
}

.bdo-system tr.is-recommended th,
.bdo-system tr.is-recommended td {
    font-weight: 800;
}

.bdo-system tr.is-recommended span {
    display: inline-block;
    margin-left: .35rem;
    padding: .15rem .4rem;
    border-radius: 2px;
    background: var(--bdo-osaka-red, #d52d3a);
    color: #fff;
    font-size: .65rem;
    vertical-align: middle;
}

.bdo-system__info,
.bdo-system__notes {
    margin: 0;
    padding: 1.25rem 1.35rem;
    background: #f3f3f3;
    font-size: .9rem;
    line-height: 1.8;
}

.bdo-system__notes {
    padding-left: 2.5rem;
}

.bdo-system__notes li + li {
    margin-top: .45rem;
}

.bdo-system__single-card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
}

.bdo-system__single-card > div {
    padding: 2rem;
}

.bdo-system__single-card h3 {
    margin: 0 0 .75rem;
}

.bdo-system__single-card p {
    margin: 0;
    line-height: 1.9;
}

.bdo-system__list-card dl {
    margin: 0;
}

.bdo-system__list-card dl > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.35rem;
    border-top: 1px solid #ddd;
}

.bdo-system__list-card dt,
.bdo-system__list-card dd {
    margin: 0;
}

.bdo-system__list-card dd {
    flex: 0 0 auto;
    font-weight: 700;
}

.bdo-system__payment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #d8d8d8;
    background: #d8d8d8;
}

.bdo-system__payment-grid > div {
    display: flex;
    min-height: 120px;
    padding: 1.25rem;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    text-align: center;
}

.bdo-system__payment-grid strong {
    font-size: 1.05rem;
}

.bdo-system__payment-grid span {
    margin-top: .45rem;
    color: #666;
    font-size: .82rem;
}

.bdo-system__callout {
    margin: 1.25rem 0 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--bdo-osaka-red, #d52d3a);
    background: #f5f5f5;
    line-height: 1.8;
}

.bdo-system__flow {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    list-style: none;
}

.bdo-system__flow li {
    padding: 1.5rem;
    background: #fff;
}

.bdo-system__flow li > span {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 1rem;
    place-items: center;
    border-radius: 50%;
    background: #151515;
    color: #fff;
    font-weight: 800;
}

.bdo-system__flow h3 {
    margin: 0 0 .65rem;
    font-size: 1.05rem;
}

.bdo-system__flow p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.8;
}

.bdo-system__notice {
    margin: 4.5rem 0;
    padding: 2rem;
    border: 1px solid #d7d7d7;
}

.bdo-system__notice h2 {
    margin: 0 0 1rem;
    font-size: 1.25rem;
}

.bdo-system__notice ul {
    margin: 0;
    padding-left: 1.4rem;
    line-height: 1.9;
}

.bdo-system__notice p {
    margin: 1rem 0 0;
}

.bdo-system__booking {
    padding: 4rem 2rem;
    background: #161616;
    color: #fff;
    text-align: center;
}

.bdo-system__booking h2 {
    color: #fff;
}

.bdo-system__booking > p:not(.bdo-system__eyebrow) {
    margin: 1.25rem 0 2rem;
}

.bdo-system__booking-buttons {
    display: flex;
    max-width: 760px;
    margin: 0 auto;
    gap: 1rem;
}

.bdo-system__button {
    display: flex;
    min-height: 64px;
    padding: 1rem 1.5rem;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
}

.bdo-system__button--reserve {
    background: var(--bdo-osaka-red, #d52d3a);
}

.bdo-system__button--line {
    border: 1px solid #fff;
    background: transparent;
}

.bdo-system__button:hover,
.bdo-system__button:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .bdo-system__inner {
        width: min(100% - 28px, 1120px);
        padding-top: 3rem;
    }

    .bdo-system__intro {
        margin-bottom: 3rem;
    }

    .bdo-system__section {
        padding: 3.25rem 0;
    }

    .bdo-system__course-grid,
    .bdo-system__single-card,
    .bdo-system__flow {
        grid-template-columns: 1fr;
    }

    .bdo-system__payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bdo-system th,
    .bdo-system td {
        padding: .9rem .85rem;
    }

    .bdo-system__booking {
        padding: 3rem 1.25rem;
    }

    .bdo-system__booking-buttons {
        flex-direction: column;
    }
}

.container.sectionBox.shoplistfooter {
    padding-bottom: 0px;
    padding-top: 0px;
}
/*20240715 shoplistスタイル調整*/

/*20241020 x表示スタイル調整*/

/* FAQ page guide */
.bdo-faq-guide {
    margin: 0 0 2rem;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid #b39149;
    background: #f7f5f0;
    color: #222;
    line-height: 1.9;
}

.bdo-faq-guide p {
    margin: 0;
}

.bdo-faq-guide a {
    color: #6e541e;
    font-weight: 700;
    text-decoration: underline;
}

/* 20260921 Homepage order and thumbnail news */
#vkexunit_post_list-13 {
    margin: 3rem 0 1rem;
}

#vkexunit_post_list-13 .mainSection-title {
    margin-bottom: 1.25rem;
    text-align: center;
}

#vkexunit_post_list-13 .postList_miniThumb {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

#vkexunit_post_list-13 .postList_item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 96px;
    padding: .75rem;
    border: 1px solid #e4e0d8;
    background: #fff;
}

#vkexunit_post_list-13 .postList_thumbnail {
    width: 112px;
    margin: 0;
}

#vkexunit_post_list-13 .postList_thumbnail img {
    display: block;
    width: 112px;
    height: 78px;
    object-fit: cover;
}

#vkexunit_post_list-13 .postList_body {
    min-width: 0;
}

#vkexunit_post_list-13 .postList_title {
    margin-bottom: .35rem;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.55;
}

#vkexunit_post_list-13 .postList_date {
    color: #6f6f6f;
    font-size: .78rem;
}

#block-41 {
    margin-top: 2rem;
}

/* 20260922 Homepage feature-card polish */
.home .prBlock .prBlock_title {
    display: flex;
    min-height: 3.4rem;
    margin: .8rem 0 .7rem;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    font-size: clamp(.88rem, 1.08vw, 1rem);
    line-height: 1.35;
    white-space: nowrap;
}

.home .prBlock .prBlock_title .fa-stack {
    flex: 0 0 2.15rem;
    width: 2.15rem;
    height: 2.15rem;
    margin: 0;
    font-size: .62rem;
    line-height: 2.15rem;
}

.home .prBlock .bdo-pr-link {
    margin: 1.25rem 0 0;
    text-align: center;
}

.home .prBlock .bdo-pr-link a {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: .7rem 1.25rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    font-size: clamp(.82rem, 1.05vw, 1rem);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .2s ease;
}

.home .prBlock .bdo-pr-link a::after {
    flex: 0 0 auto;
    margin-left: .55rem;
    content: "\2192";
}

.home .prBlock .bdo-pr-link a:hover,
.home .prBlock .bdo-pr-link a:focus {
    opacity: .72;
}

/* 20260920 Homepage business guide */
.bdo-home-guide {
    --bdo-gold: #b9975b;
    margin: 3rem 0 0;
    padding: clamp(2rem, 5vw, 4rem);
    background: #fff;
    border: 1px solid #e4e0d8;
    border-top: 4px solid #111;
    color: #1b1b1b;
}

.bdo-home-guide__eyebrow {
    margin: 0 0 .6rem;
    color: #775e32;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-align: center;
}

.bdo-home-guide > h2,
.bdo-home-guide__flow-title {
    margin: 0 auto 1rem;
    border: 0;
    color: #111;
    font-size: clamp(1.6rem, 3.8vw, 2.35rem);
    line-height: 1.45;
    text-align: center;
}

.bdo-home-guide__lead {
    max-width: 760px;
    margin: 0 auto 2rem;
    line-height: 2;
    text-align: center;
}

.bdo-home-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
}

.bdo-home-facts article {
    position: relative;
    padding: 1.5rem 1rem;
    background: #fff;
    border-top: 3px solid var(--bdo-gold);
    box-shadow: 0 6px 22px rgba(0, 0, 0, .06);
}

.bdo-home-card-icon {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: 1.35rem;
}

.bdo-home-facts h3,
.bdo-home-steps h3 {
    margin: 0 0 .65rem;
    color: #111;
    font-size: 1.1rem;
    font-weight: 700;
}

.bdo-home-facts h3 {
    font-size: clamp(.82rem, 1.15vw, 1.05rem);
    text-align: center;
    white-space: nowrap;
}

.bdo-home-facts p,
.bdo-home-steps p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.8;
}

.bdo-home-guide__flow-title {
    margin-top: 0;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.bdo-home-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bdo-home-steps li {
    display: block;
    min-width: 0;
}

.bdo-home-step__head {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.bdo-home-step__number {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-weight: 700;
}

.bdo-home-step__head h3 {
    width: max-content;
    margin: 0;
    font-size: clamp(.78rem, 1vw, .95rem);
    justify-self: center;
    text-align: center;
    white-space: nowrap;
}

.bdo-home-steps > li > p {
    padding: 0 .35rem;
}

.bdo-home-guide__actions {
    display: flex;
    gap: .8rem;
    justify-content: center;
    margin-top: 2.5rem;
}

.bdo-home-guide--access {
    margin-top: 1.25rem;
    background: #fff;
    border: 1px solid #e4e0d8;
    border-top: 4px solid var(--bdo-gold);
}

.bdo-home-guide--faq {
    margin-top: 1.25rem;
}

.bdo-home-faq-list {
    max-width: 820px;
    margin: 2rem auto 0;
    border-top: 1px solid #d6d0c5;
}

.bdo-home-faq-list details {
    border-bottom: 1px solid #d6d0c5;
    background: #fff;
}

.bdo-home-faq-list summary {
    position: relative;
    padding: 1.1rem 3rem 1.1rem 1.25rem;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.bdo-home-faq-list summary::-webkit-details-marker {
    display: none;
}

.bdo-home-faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 1.25rem;
    content: "+";
    color: #775e32;
    font-size: 1.5rem;
    transform: translateY(-50%);
}

.bdo-home-faq-list details[open] summary::after {
    content: "−";
}

.bdo-home-faq-list details p {
    margin: 0;
    padding: 0 1.25rem 1.25rem;
    line-height: 1.9;
}

.bdo-home-final-cta {
    margin: 1.25rem 0 1rem;
    padding: clamp(2rem, 5vw, 3.5rem);
    border: 1px solid #e4e0d8;
    border-top: 4px solid #111;
    background: #fff;
    color: #1b1b1b;
    text-align: center;
}

.bdo-home-final-cta h2 {
    max-width: none;
    margin: 0 auto 1rem;
    color: #111;
    font-size: clamp(1.45rem, 2.45vw, 1.95rem);
    line-height: 1.5;
    white-space: nowrap;
}

.bdo-home-final-cta > p:not(.bdo-home-guide__eyebrow) {
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.9;
}

.bdo-home-final-cta .bdo-home-guide__button {
    border-color: #111;
    background: #111;
    color: #fff !important;
}

.bdo-home-final-cta .bdo-home-guide__button--secondary {
    background: transparent;
    color: #111 !important;
}

.bdo-home-guide__button {
    min-width: 190px;
    padding: .9rem 1.5rem;
    background: #111;
    border: 1px solid #111;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    transition: opacity .2s ease;
}

.bdo-home-guide__button--secondary {
    background: transparent;
    color: #111 !important;
}

.bdo-home-guide__button:hover,
.bdo-home-guide__button:focus {
    opacity: .72;
}

/* X may block its embedded timeline; keep the official account reachable. */
#vk_twitter_widget-9 a.twitter-timeline,
#vk_twitter_widget-10 a.twitter-timeline {
    display: flex !important;
    min-height: 58px;
    padding: .85rem 1rem;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #0f1419;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

#vk_twitter_widget-9 a.twitter-timeline::before,
#vk_twitter_widget-10 a.twitter-timeline::before {
    content: "Xで大阪店の最新情報を見る  \2192";
}

/* The theme stores separate desktop/mobile X widgets. Show exactly one. */
#vk_twitter_widget-9 {
    display: block !important;
}

#vk_twitter_widget-10 {
    display: none !important;
}

/* Sidebar brand palette. */
:root {
    --bdo-sidebar-nagoya: #00bf63;
    --bdo-sidebar-tokyo: #38b6ff;
    --bdo-sidebar-kyoto: #9f5a07;
    --bdo-sidebar-eg: #545454;
    --bdo-sidebar-pride: #c1ff72;
    --bdo-sidebar-survey: #ffde59;
}

#vkexunit_button-19 a.btn,
#vkexunit_button-25 a.btn,
#vkexunit_button-26 a.btn,
#vkexunit_button-23 a.btn,
#vkexunit_button-24 a.btn,
#vkexunit_button-21 a.btn {
    background-image: none !important;
    border-width: 1px;
    color: #fff !important;
    transition: filter .2s ease, transform .2s ease;
}

#vkexunit_button-19 a.btn {
    border-color: var(--bdo-sidebar-nagoya) !important;
    background-color: var(--bdo-sidebar-nagoya) !important;
    color: #171717 !important;
}

#vkexunit_button-25 a.btn {
    border-color: var(--bdo-sidebar-tokyo) !important;
    background-color: var(--bdo-sidebar-tokyo) !important;
    color: #171717 !important;
}

#vkexunit_button-26 a.btn {
    border-color: var(--bdo-sidebar-kyoto) !important;
    background-color: var(--bdo-sidebar-kyoto) !important;
}

#vkexunit_button-23 a.btn {
    border-color: var(--bdo-sidebar-eg) !important;
    background-color: var(--bdo-sidebar-eg) !important;
}

#vkexunit_button-24 a.btn {
    border-color: var(--bdo-sidebar-pride) !important;
    background-color: var(--bdo-sidebar-pride) !important;
    color: #171717 !important;
}

#vkexunit_button-21 a.btn {
    border-color: var(--bdo-sidebar-survey) !important;
    background-color: var(--bdo-sidebar-survey) !important;
    color: #171717 !important;
}

#vkexunit_button-19 a.btn:hover,
#vkexunit_button-25 a.btn:hover,
#vkexunit_button-26 a.btn:hover,
#vkexunit_button-23 a.btn:hover,
#vkexunit_button-24 a.btn:hover,
#vkexunit_button-21 a.btn:hover {
    filter: brightness(.9);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
	.home .prBlock .prBlock_title {
		min-height: 0;
		font-size: 1rem;
		white-space: normal;
	}

	.home .prBlock .bdo-pr-link a {
		width: min(100%, 260px);
		font-size: .9rem;
	}

	#vkexunit_post_list-13 .postList_miniThumb {
		grid-template-columns: 1fr;
	}

	#vkexunit_post_list-13 .postList_item {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	#vkexunit_post_list-13 .postList_thumbnail,
	#vkexunit_post_list-13 .postList_thumbnail img {
		width: 92px;
	}

	#vkexunit_post_list-13 .postList_thumbnail img {
		height: 68px;
	}

    .bdo-home-guide {
        margin-top: 2.5rem;
        padding: 2rem 1rem;
    }

	.bdo-home-guide--access,
	.bdo-home-guide--faq {
		margin-top: 1rem;
	}

    .bdo-home-guide__lead {
        text-align: left;
    }

    .bdo-home-facts,
    .bdo-home-steps {
        grid-template-columns: 1fr;
    }

	.bdo-home-facts h3 {
		font-size: 1.05rem;
		white-space: normal;
	}

	.bdo-home-step__head {
		gap: .65rem;
	}

	.bdo-home-step__head h3 {
		font-size: .92rem;
		white-space: nowrap;
	}

	.bdo-home-steps > li > p {
		padding: 0;
	}

    .bdo-home-guide__actions {
        flex-direction: column;
    }

    .bdo-home-guide__button {
        width: 100%;
    }

	.bdo-home-final-cta h2 {
		font-size: 1.55rem;
		white-space: normal;
	}
}

@media (max-width: 991px) {
	#vk_twitter_widget-9 {
		display: none !important;
	}

	#vk_twitter_widget-10 {
		display: block !important;
	}
}
a.wp-block-button__link.has-text-color.wp-element-button {
    font-size: 12px;
}
.wp-block-button.mt-4.is-style-outline {
    text-align: center;
}
/*20241020 x表示スタイル調整*/

/* 20260923 Homepage one-column visual system */
:root {
    --bdo-black: #111;
    --bdo-dark: #242424;
    --bdo-gray: #f4f4f4;
    --bdo-border: #dedede;
    --bdo-link: #0666c5;
    --bdo-osaka-red: #d93643;
}

.home .mainSection {
    max-width: 1200px;
    flex: 0 0 100%;
}

.bdo-mobile-title-break {
    display: none;
}

/* Ordinary text links remain recognisably blue. Button text is handled below. */
.home .mainSection a {
    color: var(--bdo-link);
}

/* Blue is reserved for ordinary text links, not dark UI components. */
.home .attmgr_staffbox .staffbox_text_name a,
.home .mainSection a.btn,
.home .mainSection a.btn *,
.home .mainSection a.wp-posts-carousel-more-button,
.home .mainSection a.wp-posts-carousel-more-button * {
    color: #fff !important;
}

.home .attmgr_staffbox .staffbox_image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

@media (min-width: 992px) {
    .home .attmgr_staffbox {
        max-width: 25%;
        flex: 0 0 25%;
    }
}

/* Attendance guide: weekdays black, Saturday blue, Sunday/holidays red. */
table.attmgr_guide_weekly td a {
    color: #111 !important;
}

table.attmgr_guide_weekly td.saturday a {
    color: #1556a8 !important;
}

table.attmgr_guide_weekly td.sunday a,
table.attmgr_guide_weekly td.public-holiday a {
    color: #c62828 !important;
}

table.attmgr_guide_weekly td.current {
    background: #eef3fa;
}

table.attmgr_guide_weekly td.saturday.current {
    background: #eaf2ff;
}

table.attmgr_guide_weekly td.sunday.current,
table.attmgr_guide_weekly td.public-holiday.current {
    background: #fff0f0;
}

/* Unified footer */
.siteFooter {
    padding: 0;
    border-top: 0;
    background: #0d0d0d;
    color: #fff;
}

.bdo-footer-main {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: clamp(2rem, 5vw, 5rem);
    padding-top: 3.5rem;
    padding-bottom: 3rem;
}

.bdo-footer-logo {
    display: inline-block;
    max-width: 190px;
    margin-bottom: 1.25rem;
}

.bdo-footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.bdo-footer-brand > p {
    margin: 0 0 1.25rem;
    color: #d5d5d5;
    line-height: 1.8;
}

.bdo-footer-brand dl {
    margin: 0;
}

.bdo-footer-brand dl > div {
    display: flex;
    gap: 1rem;
    margin-bottom: .45rem;
}

.bdo-footer-brand dt,
.bdo-footer-brand dd {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: .9rem;
}

.bdo-footer-brand dt {
    min-width: 4.5rem;
    color: #aaa;
    font-weight: 400;
}

.bdo-footer-main h2 {
    margin: 0 0 1.1rem;
    padding-bottom: .75rem;
    border: 0;
    border-bottom: 1px solid #3b3b3b;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.bdo-footer-nav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem 1.1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bdo-footer-nav a,
.bdo-footer-action > a:not(.bdo-footer-reserve),
.bdo-footer-bottom a {
    color: #ddd !important;
    text-decoration: none;
}

.bdo-footer-nav a:hover,
.bdo-footer-action > a:not(.bdo-footer-reserve):hover,
.bdo-footer-bottom a:hover {
    color: #fff !important;
    text-decoration: underline;
}

.bdo-footer-action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .7rem;
}

.bdo-footer-action h2 {
    width: 100%;
    margin-bottom: .4rem;
}

.bdo-footer-reserve {
    display: flex;
    min-height: 52px;
    margin-bottom: .35rem;
    align-items: center;
    justify-content: center;
    background: var(--bdo-osaka-red);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-footer-reserve:hover,
.bdo-footer-reserve:focus {
    background: #b62431;
}

.bdo-footer-bottom {
    display: flex;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-top: 1px solid #333;
    color: #aaa;
    font-size: .8rem;
}

.bdo-footer-bottom p {
    margin: 0;
}

@media (max-width: 767px) {
    .bdo-footer-main {
        grid-template-columns: 1fr;
        gap: 2.25rem;
        padding-top: 2.5rem;
        padding-bottom: 2rem;
    }

    .bdo-footer-nav ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bdo-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
    }

    .bdo-footer-bottom p {
        text-align: left;
    }
}

.home .slide-text-title {
    font-size: clamp(1.45rem, 3vw, 2.35rem);
    line-height: 1.35;
}

.home .slide .btn-ghost {
    border-color: var(--bdo-osaka-red) !important;
    background: var(--bdo-osaka-red) !important;
    color: #fff !important;
    font-weight: 700;
}

.home .slide .btn-ghost:hover,
.home .slide .btn-ghost:focus {
    border-color: #b62431 !important;
    background: #b62431 !important;
}

/* Bring the added content into the same black, white and light-gray system. */
.bdo-home-guide,
.bdo-home-social,
.bdo-home-groups,
.bdo-home-final-cta {
    margin-top: 1.5rem;
    padding: clamp(2rem, 4vw, 3.25rem);
    border: 1px solid var(--bdo-border);
    border-top: 3px solid var(--bdo-black);
    background: #fff;
    box-shadow: none;
    color: var(--bdo-dark);
}

.bdo-home-guide--access,
.bdo-home-guide--faq {
    margin-top: 1.5rem;
    border: 1px solid var(--bdo-border);
    border-top: 3px solid var(--bdo-black);
}

.bdo-home-guide__eyebrow,
.bdo-home-section__eyebrow {
    margin: 0 0 .6rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-align: center;
}

.bdo-home-social h2,
.bdo-home-groups h2 {
    margin: 0 auto 1rem;
    color: var(--bdo-black);
    font-size: clamp(1.6rem, 3.8vw, 2.35rem);
    line-height: 1.45;
    text-align: center;
}

.bdo-home-section__lead {
    max-width: 720px;
    margin: 0 auto 2rem;
    line-height: 1.9;
    text-align: center;
}

.bdo-home-facts article {
    border: 1px solid var(--bdo-border);
    border-top: 3px solid var(--bdo-black);
    box-shadow: none;
}

.bdo-home-faq-list,
.bdo-home-faq-list details {
    border-color: var(--bdo-border);
}

.bdo-home-faq-list summary::after {
    color: var(--bdo-black);
}

.bdo-home-social__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.bdo-home-social__link {
    display: grid;
    min-height: 112px;
    padding: 1.1rem;
    align-content: center;
    justify-items: center;
    border: 1px solid var(--bdo-black);
    background: var(--bdo-black);
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    transition: background .2s ease, transform .2s ease;
}

.bdo-home-social__link > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    margin-bottom: .35rem;
    place-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: .75rem;
    font-weight: 700;
}

.bdo-home-social__link strong {
    font-size: 1.05rem;
}

.bdo-home-social__link small {
    margin-top: .2rem;
    color: #d5d5d5;
}

a.bdo-home-social__link:hover,
a.bdo-home-social__link:focus {
    background: #2d2d2d;
    transform: translateY(-2px);
}

.bdo-home-social__link.is-pending {
    border-color: #c9c9c9;
    background: var(--bdo-gray);
    color: #555 !important;
}

.bdo-home-social__link.is-pending > span {
    border-color: #777;
}

.bdo-home-social__link.is-pending small {
    color: #777;
}

.bdo-home-groups__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 2rem;
}

.bdo-home-group-link {
    --service-color: #777;
    display: flex;
    min-height: 64px;
    padding: .9rem 1rem;
    align-items: center;
    border: 1px solid var(--bdo-border);
    border-top: 3px solid var(--service-color);
    background: var(--bdo-gray);
    color: var(--bdo-black) !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .2s ease, border-color .2s ease;
}

.bdo-home-group-link__mark {
    width: .5rem;
    height: .5rem;
    margin-right: .65rem;
    border-radius: 50%;
    background: var(--service-color);
}

.bdo-home-group-link__arrow {
    margin-left: auto;
    color: #666;
}

.bdo-home-group-link:hover,
.bdo-home-group-link:focus {
    border-color: var(--service-color);
    background: #fff;
}

.bdo-home-group-link--nagoya { --service-color: #00bf63; }
.bdo-home-group-link--tokyo { --service-color: #38b6ff; }
.bdo-home-group-link--kyoto { --service-color: #9f5a07; }
.bdo-home-group-link--eg { --service-color: #545454; }
.bdo-home-group-link--pride { --service-color: #8bbb42; }
.bdo-home-group-link--survey { --service-color: #d1a900; }

/* Only the primary booking action uses the Osaka red. */
.bdo-home-final-cta .bdo-home-guide__button:not(.bdo-home-guide__button--secondary) {
    border-color: var(--bdo-osaka-red);
    background: var(--bdo-osaka-red);
    color: #fff !important;
}

.bdo-home-final-cta .bdo-home-guide__button:not(.bdo-home-guide__button--secondary):hover,
.bdo-home-final-cta .bdo-home-guide__button:not(.bdo-home-guide__button--secondary):focus {
    background: #b62431;
}

.bdo-home-guide__button,
.home .prBlock .bdo-pr-link a {
    color: #fff !important;
}

.bdo-home-guide__button--secondary,
.bdo-home-final-cta .bdo-home-guide__button--secondary {
    color: var(--bdo-black) !important;
}

@media (max-width: 767px) {
    .bdo-mobile-title-break {
        display: inline;
    }

    .bdo-home-social__links,
    .bdo-home-groups__grid {
        grid-template-columns: 1fr;
    }

    .bdo-home-social,
    .bdo-home-groups {
        padding: 2rem 1rem;
    }

    .bdo-home-section__lead {
        text-align: left;
    }
}

/* Therapist profile: same one-column design system as the staff directory. */
.single-staff-rev .siteContent,
.single-staff-rev .siteContent > .container {
    max-width: none;
    margin: 0;
    padding: 0;
}

.bdo-profile {
    background: #fff;
    color: var(--bdo-dark, #222);
}

.bdo-profile__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 5rem) 0 4rem;
}

.bdo-profile__hero {
    display: grid;
    grid-template-columns: minmax(0, 430px) minmax(360px, 1fr);
    align-items: start;
    justify-content: center;
    gap: clamp(2rem, 4vw, 4rem);
}

.bdo-profile__gallery {
    width: 100%;
    max-width: 430px;
    min-width: 0;
    margin: 0 auto;
    overflow: hidden;
    background: #f4f4f4;
}

.bdo-profile__gallery > img {
    display: block;
    width: 100%;
    height: auto;
}

.bdo-profile__gallery .master-slider-parent,
.bdo-profile__gallery .master-slider {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 !important;
}

.bdo-profile__summary {
    padding-top: .5rem;
}

.bdo-profile__eyebrow,
.bdo-profile__heading > p {
    margin: 0 0 .55rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-profile__name-line {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-bottom: 1.2rem;
    border-bottom: 3px solid #111;
}

.bdo-profile__name-line h1 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: clamp(2.35rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 1.15;
}

.bdo-profile__new {
    padding: .25rem .55rem;
    background: var(--bdo-osaka-red, #d52b3a);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
}

.bdo-profile__spec {
    margin: 1.35rem 0;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 700;
}

.bdo-profile__facts {
    margin: 0;
    border-top: 1px solid #ddd;
}

.bdo-profile__facts > div {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid #ddd;
}

.bdo-profile__facts dt,
.bdo-profile__facts dd {
    margin: 0;
    padding: 0;
    border: 0;
}

.bdo-profile__facts dt {
    color: #666;
    font-size: .88rem;
    font-weight: 500;
}

.bdo-profile__courses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin-top: 1rem;
}

.bdo-profile__courses p {
    margin: 0;
    padding: .65rem .7rem;
    background: #f3f3f3;
    font-size: .9rem;
}

.bdo-profile__courses span {
    font-weight: 700;
}

.bdo-profile__courses .is-ng {
    color: #777;
}

.bdo-profile__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: 1rem;
}

.bdo-profile__tags span {
    padding: .28rem .55rem;
    border: 1px solid #d4d4d4;
    background: #fff;
    color: #444;
    font-size: .82rem;
}

.bdo-profile__hero-actions,
.bdo-profile__booking-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.2rem;
}

.bdo-profile__button {
    display: flex;
    min-height: 50px;
    padding: .85rem 1rem;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.bdo-profile__button--reserve {
    background: var(--bdo-osaka-red, #d52b3a);
}

.bdo-profile__button--line {
    background: #111;
}

.bdo-profile__button:hover,
.bdo-profile__button:focus {
    color: #fff !important;
    opacity: .82;
}

.bdo-profile__section {
    margin-top: clamp(4rem, 8vw, 7rem);
}

.bdo-profile__section--soft {
    position: relative;
    padding: clamp(2rem, 5vw, 4rem);
}

.bdo-profile__section--soft::before {
    position: absolute;
    inset: 0 calc(50% - 50vw);
    z-index: 0;
    background: #f5f5f5;
    content: '';
}

.bdo-profile__section--soft > * {
    position: relative;
    z-index: 1;
}

.bdo-profile__heading {
    margin-bottom: 2rem;
    text-align: center;
}

.bdo-profile__heading h2,
.bdo-profile__booking h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    font-size: clamp(1.7rem, 4vw, 2.7rem);
    line-height: 1.4;
}

.bdo-profile__about-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 3px solid #111;
}

.bdo-profile__about-grid article {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-bottom: 1px solid #ddd;
}

.bdo-profile__about-grid article + article {
    border-left: 1px solid #ddd;
}

.bdo-profile__about-grid h3 {
    margin: 0 0 1.1rem;
    padding: 0 0 .65rem;
    border-bottom: 1px solid #ccc;
    font-size: 1.25rem;
}

.bdo-profile__about-grid p {
    margin-bottom: 1em;
    line-height: 2;
}

.bdo-profile__x-link {
    display: flex;
    min-height: 64px;
    margin-top: 2rem;
    padding: 1rem 1.4rem;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-profile__schedule {
    overflow-x: auto;
    background: #fff;
}

.bdo-profile__schedule table {
    min-width: 680px;
    margin-bottom: 0;
}

.bdo-profile__questionnaire {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 3px solid #111;
}

.bdo-profile__questionnaire > div {
    display: grid;
    grid-template-columns: minmax(8rem, 35%) minmax(0, 1fr);
    border-bottom: 1px solid #ddd;
}

.bdo-profile__questionnaire > div:nth-child(odd) {
    border-right: 1px solid #ddd;
}

.bdo-profile__questionnaire dt,
.bdo-profile__questionnaire dd {
    margin: 0;
    padding: 1rem;
    border: 0;
}

.bdo-profile__questionnaire dt {
    background: #f3f3f3;
    font-weight: 700;
}

.bdo-profile__reviews #comments {
    margin-top: 0;
}

.bdo-profile__booking {
    margin-top: clamp(4rem, 8vw, 7rem);
    padding: clamp(2rem, 5vw, 4rem);
    border-top: 3px solid #111;
    background: #f3f3f3;
    text-align: center;
}

.bdo-profile__booking > p:not(.bdo-profile__eyebrow) {
    margin: 1rem auto 0;
    line-height: 1.8;
}

.bdo-profile__booking-buttons {
    width: min(620px, 100%);
    margin-right: auto;
    margin-left: auto;
}

.bdo-profile__back {
    display: table;
    margin: 2.5rem auto 0;
    color: #0674c5 !important;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .bdo-profile__inner {
        width: min(100% - 28px, 1180px);
        padding-top: 1.5rem;
    }

    .bdo-profile__hero {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .bdo-profile__gallery,
    .bdo-profile__gallery .master-slider-parent,
    .bdo-profile__gallery .master-slider {
        max-width: 300px !important;
    }

    .bdo-profile__gallery .ms-thumb-list {
        display: none !important;
    }

    .bdo-profile__summary {
        padding-top: 0;
    }

    .bdo-profile__name-line h1 {
        font-size: 2.5rem;
    }

    .bdo-profile__facts > div {
        grid-template-columns: 6.5rem minmax(0, 1fr);
    }

    .bdo-profile__courses,
    .bdo-profile__about-grid,
    .bdo-profile__questionnaire {
        grid-template-columns: 1fr;
    }

    .bdo-profile__about-grid article + article,
    .bdo-profile__questionnaire > div:nth-child(odd) {
        border-left: 0;
        border-right: 0;
    }

    .bdo-profile__section--soft {
        padding: 2rem 0;
    }

    .bdo-profile__hero-actions,
    .bdo-profile__booking-buttons {
        grid-template-columns: 1fr;
    }

    .bdo-profile__questionnaire > div {
        grid-template-columns: 7.5rem minmax(0, 1fr);
    }

    .bdo-profile__booking {
        padding: 2rem 1rem;
    }
}

/* Reservation page ------------------------------------------------------- */
.bdo-reserve {
    background: #fff;
    color: #171717;
}

.bdo-reserve__inner {
    width: min(980px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-reserve__intro {
    max-width: 760px;
    margin: 0 auto 3rem;
    text-align: center;
}

.bdo-reserve__eyebrow,
.bdo-reserve__heading > p:first-child {
    margin: 0 0 .65rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-reserve__intro h2,
.bdo-reserve__heading h2,
.bdo-reserve__help h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.7rem);
    line-height: 1.4;
}

.bdo-reserve__intro > p:not(.bdo-reserve__eyebrow) {
    margin: 1.25rem 0 0;
    line-height: 2;
}

.bdo-reserve__methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 4rem;
}

.bdo-reserve__methods article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .85rem 1rem;
    padding: 1.4rem;
    border: 1px solid #ddd;
    border-top: 3px solid #111;
}

.bdo-reserve__methods article.bdo-reserve__method--line {
    border-color: #06c755;
    border-top-width: 4px;
    background: #f2fff7;
}

.bdo-reserve__methods article > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
}

.bdo-reserve__methods .bdo-reserve__method--line > span {
    background: #06c755;
}

.bdo-reserve__methods h3 {
    margin: 0 0 .35rem;
    font-size: 1.15rem;
}

.bdo-reserve__methods h3 em {
    display: inline-block;
    margin-left: .4rem;
    padding: .18rem .45rem;
    border-radius: 999px;
    background: #06c755;
    color: #fff;
    font-size: .68rem;
    font-style: normal;
    vertical-align: .15em;
}

.bdo-reserve__methods p {
    margin: 0;
    color: #555;
    font-size: .9rem;
    line-height: 1.7;
}

.bdo-reserve__methods a {
    grid-column: 2;
    display: flex;
    min-height: 44px;
    padding: .65rem 1rem;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-reserve__methods .bdo-reserve__method--line a {
    background: #06c755;
}

.bdo-reserve__methods .bdo-reserve__method--line a:hover,
.bdo-reserve__methods .bdo-reserve__method--line a:focus {
    background: #05a948;
}

.bdo-reserve__methods a.bdo-reserve__web-jump {
    border: 1px solid #111;
    background: #fff;
    color: #111 !important;
}

#bdo-reserve-form-title {
    scroll-margin-top: 120px;
}

#bdo-contact-form-title {
    scroll-margin-top: 120px;
}

.bdo-contact__booking-notice {
    display: flex;
    margin: 0 0 4rem;
    padding: 1.25rem 1.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-left: 4px solid var(--bdo-osaka-red, #d52b3a);
    background: #f3f3f3;
}

.bdo-contact__booking-notice strong {
    font-size: 1.05rem;
}

.bdo-contact__booking-notice p {
    margin: .25rem 0 0;
    color: #555;
    font-size: .88rem;
}

.bdo-contact__booking-notice a {
    flex: 0 0 auto;
    padding: .75rem 1rem;
    background: var(--bdo-osaka-red, #d52b3a);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-reserve__heading {
    max-width: 720px;
    margin: 0 auto 2rem;
    text-align: center;
}

.bdo-reserve__heading > p:last-child {
    margin: 1rem 0 0;
    line-height: 1.8;
}

.bdo-reserve__form {
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border-top: 3px solid #111;
    background: #f5f5f5;
}

.bdo-reserve .wpcf7-form > .veu_contact,
.bdo-reserve .wpcf7c-elm-step1#formtop {
    display: none !important;
}

.bdo-reserve .wpcf7c-elm-step2#formtop,
.bdo-reserve .wpcf7c-elm-step2.mt-0 {
    margin: 0 0 1.5rem !important;
    padding: 0 0 .75rem;
    border-bottom: 2px solid #111;
    font-size: 1.5rem;
}

.bdo-reserve .alert {
    margin-bottom: 1.25rem;
    padding: 1rem;
    border: 1px solid #ddd;
    border-left: 4px solid #555;
    border-radius: 0;
    background: #fff;
    color: #333;
}

.bdo-reserve .alert p + p {
    margin-top: .55rem !important;
}

.bdo-reserve .wpcf7-form table,
.bdo-reserve .wpcf7-form tbody {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
}

.bdo-reserve .wpcf7-form tr {
    display: grid;
    grid-template-columns: minmax(180px, 28%) minmax(0, 1fr);
    width: 100%;
    border-bottom: 1px solid #ddd;
    background: #fff !important;
}

.bdo-reserve .wpcf7-form th,
.bdo-reserve .wpcf7-form td {
    display: block;
    width: auto;
    padding: 1rem;
    border: 0;
    background: transparent !important;
    text-align: left;
    white-space: normal;
}

.bdo-reserve .wpcf7-form th {
    font-size: .9rem;
    line-height: 1.6;
}

.bdo-reserve .badge-danger {
    display: inline-block;
    margin-left: .35rem !important;
    padding: .2rem .4rem;
    border-radius: 0;
    background: var(--bdo-osaka-red, #d52b3a);
    color: #fff;
    font-size: .65rem;
}

.bdo-reserve a.bdo-reserve__staff-guide {
    display: table;
    margin-top: .45rem;
    color: #0674c5 !important;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: underline;
}

.bdo-reserve input[type="text"],
.bdo-reserve input[type="email"],
.bdo-reserve input[type="tel"],
.bdo-reserve input[type="date"],
.bdo-reserve select,
.bdo-reserve textarea {
    width: 100%;
    max-width: none;
    min-height: 46px;
    padding: .65rem .75rem;
    border: 1px solid #aaa;
    border-radius: 0;
    background: #fff;
    color: #111;
}

.bdo-reserve textarea {
    min-height: 130px;
}

.bdo-reserve .wpcf7-form small {
    display: block;
    margin-top: .45rem;
    color: #666;
    font-size: .75rem;
    line-height: 1.6;
}

.bdo-reserve .wpcf7-form a {
    color: #0674c5;
}

.bdo-reserve .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
}

.bdo-reserve .wpcf7-acceptance input {
    margin-top: .3rem;
    flex: 0 0 auto;
}

.bdo-reserve input[type="submit"],
.bdo-reserve input[type="button"].wpcf7c-btn-confirm {
    width: 100%;
    min-height: 58px;
    border: 0;
    border-radius: 0;
    background: var(--bdo-osaka-red, #d52b3a);
    color: #fff;
    font-weight: 700;
}

.bdo-reserve input.wpcf7c-btn-back {
    min-height: 44px;
    border-radius: 0;
}

.bdo-reserve__help {
    display: flex;
    margin-top: 4rem;
    padding: 2rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background: #f3f3f3;
}

.bdo-reserve__help h2 {
    font-size: 1.55rem;
}

.bdo-reserve__help p:not(.bdo-reserve__eyebrow) {
    margin: .65rem 0 0;
}

.bdo-reserve__help > a {
    flex: 0 0 auto;
    padding: .85rem 1rem;
    border: 1px solid #111;
    color: #111 !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-reserve__english {
    margin: 2rem 0 0;
    text-align: center;
}

.bdo-reserve__english a {
    color: #0674c5 !important;
}

@media (max-width: 767px) {
    .bdo-reserve__inner {
        width: min(100% - 28px, 980px);
        padding-top: 3rem;
    }

    .bdo-reserve__intro {
        margin-bottom: 2.25rem;
    }

    .bdo-reserve__methods {
        grid-template-columns: 1fr;
        margin-bottom: 3rem;
    }

    .bdo-reserve__methods article {
        padding: 1rem;
    }

    .bdo-reserve__form {
        padding: 1rem;
    }

    .bdo-reserve .wpcf7-form tr {
        grid-template-columns: 1fr;
    }

    .bdo-reserve .wpcf7-form th {
        padding-bottom: .35rem;
    }

    .bdo-reserve .wpcf7-form td {
        padding-top: .35rem;
    }

    .bdo-reserve__help {
        padding: 1.5rem;
        align-items: stretch;
        flex-direction: column;
    }

    .bdo-reserve__help > a {
        text-align: center;
    }

    .bdo-contact__booking-notice {
        margin-bottom: 3rem;
        padding: 1rem;
        align-items: stretch;
        flex-direction: column;
    }

    .bdo-contact__booking-notice a {
        text-align: center;
    }
}

/* FAQ page --------------------------------------------------------------- */
.bdo-faq {
    background: #fff;
    color: #171717;
}

.bdo-faq__inner {
    width: min(980px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-faq__intro {
    max-width: 760px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.bdo-faq__eyebrow {
    margin: 0 0 .65rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-faq__intro h2,
.bdo-faq__booking h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.7rem);
    line-height: 1.4;
}

.bdo-faq__intro > p:not(.bdo-faq__eyebrow) {
    margin: 1.25rem 0 0;
    line-height: 2;
}

.bdo-faq__nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin-bottom: 4rem;
}

.bdo-faq__nav a {
    display: flex;
    min-height: 50px;
    padding: .7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #bbb;
    color: #171717 !important;
    font-size: .86rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.bdo-faq__nav a:hover,
.bdo-faq__nav a:focus {
    border-color: #111;
    background: #111;
    color: #fff !important;
}

.bdo-faq__section {
    margin-top: 4rem;
    scroll-margin-top: 110px;
}

.bdo-faq__heading {
    display: flex;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    align-items: center;
    gap: .85rem;
    border-bottom: 3px solid #111;
}

.bdo-faq__heading span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
}

.bdo-faq__heading h2 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.bdo-faq__list details {
    border-bottom: 1px solid #ddd;
}

.bdo-faq__list summary {
    position: relative;
    padding: 1.25rem 3.25rem 1.25rem 2.8rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
}

.bdo-faq__list summary::-webkit-details-marker {
    display: none;
}

.bdo-faq__list summary::before {
    position: absolute;
    top: 1.25rem;
    left: .7rem;
    color: #666;
    content: 'Q';
    font-weight: 800;
}

.bdo-faq__list summary::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateY(-50%);
    content: '+';
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.2rem;
    text-align: center;
}

.bdo-faq__list details[open] summary {
    background: #f3f3f3;
}

.bdo-faq__list details[open] summary::after {
    content: '−';
}

.bdo-faq__list details > div {
    position: relative;
    padding: 1.2rem 1.5rem 1.35rem 2.8rem;
    background: #fafafa;
    color: #444;
    line-height: 1.9;
}

.bdo-faq__list details > div::before {
    position: absolute;
    top: 1.2rem;
    left: .7rem;
    color: var(--bdo-osaka-red, #d52b3a);
    content: 'A';
    font-weight: 800;
}

.bdo-faq__list details > div p {
    margin: 0;
}

.bdo-faq__list details > div a {
    color: #0674c5 !important;
}

.bdo-faq__booking {
    margin-top: 5rem;
    padding: clamp(2rem, 5vw, 4rem);
    border-top: 3px solid #111;
    background: #f3f3f3;
    text-align: center;
}

.bdo-faq__booking > p:not(.bdo-faq__eyebrow) {
    margin: 1rem 0 0;
}

.bdo-faq__booking-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(620px, 100%);
    margin: 1.5rem auto 0;
    gap: .75rem;
}

.bdo-faq__button {
    display: flex;
    min-height: 54px;
    padding: .8rem 1rem;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-faq__button--line {
    background: #06c755;
}

.bdo-faq__button--web {
    background: var(--bdo-osaka-red, #d52b3a);
}

@media (max-width: 767px) {
    .bdo-faq__inner {
        width: min(100% - 28px, 980px);
        padding-top: 3rem;
    }

    .bdo-faq__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-bottom: 3rem;
    }

    .bdo-faq__section {
        margin-top: 3rem;
    }

    .bdo-faq__list summary {
        padding-right: 2.6rem;
    }

    .bdo-faq__booking {
        padding: 2rem 1rem;
    }

    .bdo-faq__booking-buttons {
        grid-template-columns: 1fr;
    }
}

/* Therapist recruitment page -------------------------------------------- */
.bdo-recruit {
    background: #fff;
    color: #171717;
}

.bdo-recruit__inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-recruit__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    padding: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    border-top: 4px solid #111;
    background: #f3f3f3;
}

.bdo-recruit__eyebrow,
.bdo-recruit__section-heading > p:first-child {
    margin: 0 0 .65rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-recruit__hero h2,
.bdo-recruit__section-heading h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    line-height: 1.35;
}

.bdo-recruit__hero h2 {
    font-size: clamp(2rem, 5vw, 3.8rem);
}

.bdo-recruit__lead {
    max-width: 680px;
    margin: 1.4rem 0 0;
    line-height: 1.9;
}

.bdo-recruit__hero-buttons {
    display: flex;
    margin-top: 1.75rem;
    flex-wrap: wrap;
    gap: .7rem;
}

.bdo-recruit__button {
    display: inline-flex;
    min-height: 52px;
    padding: .75rem 1.25rem;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none !important;
}

.bdo-recruit__button--line {
    background: #06c755;
    color: #fff !important;
}

.bdo-recruit__button--outline {
    border: 1px solid #111;
    background: #fff;
    color: #111 !important;
}

.bdo-recruit__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    gap: 1px;
    background: #ccc;
    list-style: none;
}

.bdo-recruit__facts li {
    display: flex;
    min-height: 115px;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #fff;
    text-align: center;
}

.bdo-recruit__facts strong {
    font-size: 1.1rem;
}

.bdo-recruit__facts span {
    margin-top: .25rem;
    color: #666;
    font-size: .76rem;
}

.bdo-recruit__section,
.bdo-recruit__application {
    margin-top: 5rem;
    scroll-margin-top: 100px;
}

.bdo-recruit__section--gray,
.bdo-recruit__application {
    padding: clamp(1.5rem, 4vw, 3.5rem);
    background: #f3f3f3;
}

.bdo-recruit__section-heading {
    max-width: 760px;
    margin: 0 auto 2rem;
    text-align: center;
}

.bdo-recruit__section-heading h2 {
    font-size: clamp(1.65rem, 4vw, 2.45rem);
}

.bdo-recruit__section-heading > p:last-child:not(:first-child) {
    margin: 1rem 0 0;
    line-height: 1.8;
}

.bdo-recruit__checklist {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    gap: 1px;
    background: #ddd;
    list-style: none;
}

.bdo-recruit__checklist li {
    position: relative;
    min-height: 82px;
    padding: 1.4rem 1.25rem 1.4rem 3.2rem;
    background: #fff;
    font-weight: 700;
    line-height: 1.6;
}

.bdo-recruit__checklist li::before {
    position: absolute;
    top: 1.35rem;
    left: 1.2rem;
    color: var(--bdo-osaka-red, #d52b3a);
    content: '✓';
    font-weight: 800;
}

.bdo-recruit__reward-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.bdo-recruit__reward-grid article {
    display: flex;
    min-height: 150px;
    padding: 1.4rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-top: 3px solid #111;
    background: #fff;
    text-align: center;
}

.bdo-recruit__reward-grid span,
.bdo-recruit__reward-grid small {
    color: #666;
    font-size: .78rem;
}

.bdo-recruit__reward-grid strong {
    margin: .45rem 0;
    font-size: clamp(1.15rem, 2.4vw, 1.65rem);
}

.bdo-recruit__note {
    margin: 1rem 0 0;
    color: #666;
    font-size: .76rem;
    line-height: 1.7;
}

.bdo-recruit__merits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 1rem;
}

.bdo-recruit__merits article {
    padding-top: 1rem;
    border-top: 3px solid #111;
}

.bdo-recruit__merits span {
    color: #777;
    font-size: .75rem;
    font-weight: 700;
}

.bdo-recruit__merits h3 {
    margin: .35rem 0 .5rem;
    font-size: 1.15rem;
}

.bdo-recruit__merits p {
    margin: 0;
    color: #555;
    line-height: 1.75;
}

.bdo-recruit__details {
    margin: 0;
    background: #fff;
}

.bdo-recruit__details > div {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    border-bottom: 1px solid #ddd;
}

.bdo-recruit__details dt,
.bdo-recruit__details dd {
    margin: 0;
    padding: 1rem 1.25rem;
    line-height: 1.7;
}

.bdo-recruit__details dt {
    background: #e6e6e6;
    font-weight: 700;
}

.bdo-recruit__safety {
    margin: 1.25rem 0 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--bdo-osaka-red, #d52b3a);
    background: #fff;
    line-height: 1.8;
}

.bdo-recruit__flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    gap: 1px;
    background: #ddd;
    list-style: none;
}

.bdo-recruit__flow li {
    padding: 1.25rem;
    background: #fff;
}

.bdo-recruit__flow li > span {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    margin-bottom: .8rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-weight: 700;
}

.bdo-recruit__flow h3 {
    margin: 0 0 .5rem;
    font-size: 1rem;
}

.bdo-recruit__flow p {
    margin: 0;
    color: #555;
    font-size: .86rem;
    line-height: 1.7;
}

.bdo-recruit__faq-list {
    border-top: 3px solid #111;
}

.bdo-recruit__faq-list details {
    border-bottom: 1px solid #ddd;
}

.bdo-recruit__faq-list summary {
    position: relative;
    padding: 1.2rem 3rem 1.2rem 1rem;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
}

.bdo-recruit__faq-list summary::-webkit-details-marker {
    display: none;
}

.bdo-recruit__faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    content: '+';
    font-size: 1.4rem;
}

.bdo-recruit__faq-list details[open] summary::after {
    content: '−';
}

.bdo-recruit__faq-list details p {
    margin: 0;
    padding: 1rem;
    background: #f5f5f5;
    line-height: 1.8;
}

.bdo-recruit__line-cta {
    display: flex;
    width: min(680px, 100%);
    min-height: 78px;
    margin: 0 auto 1.25rem;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #06c755;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
}

.bdo-recruit__line-cta strong {
    font-size: 1.1rem;
}

.bdo-recruit__line-cta span {
    margin-top: .2rem;
    font-size: .78rem;
}

.bdo-recruit .bdo-reserve__form {
    background: #fff;
}

@media (max-width: 767px) {
    .bdo-recruit__inner {
        width: min(100% - 28px, 1120px);
        padding-top: 3rem;
    }

    .bdo-recruit__hero {
        grid-template-columns: 1fr;
        padding: 1.5rem;
    }

    .bdo-recruit__hero-buttons,
    .bdo-recruit__button {
        width: 100%;
    }

    .bdo-recruit__facts li {
        min-height: 95px;
    }

    .bdo-recruit__section,
    .bdo-recruit__application {
        margin-top: 3.5rem;
    }

    .bdo-recruit__checklist,
    .bdo-recruit__reward-grid,
    .bdo-recruit__merits {
        grid-template-columns: 1fr;
    }

    .bdo-recruit__flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bdo-recruit__details > div {
        grid-template-columns: 1fr;
    }

    .bdo-recruit__details dt {
        padding-bottom: .35rem;
    }

    .bdo-recruit__details dd {
        padding-top: .35rem;
    }
}

@media (max-width: 420px) {
    .bdo-recruit__facts,
    .bdo-recruit__flow {
        grid-template-columns: 1fr;
    }
}

/* Full-width weekly schedule page --------------------------------------- */
.bdo-schedule-page {
    background: #fff;
    color: #171717;
}

.bdo-schedule-page__inner {
    width: min(1280px, calc(100% - 40px));
    margin: 0 auto;
    padding: 4.5rem 0 5rem;
}

.bdo-schedule-page__intro {
    max-width: 820px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.bdo-schedule-page__eyebrow {
    margin: 0 0 .65rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-schedule-page__intro h2,
.bdo-schedule-page__help h2 {
    margin: 0;
    padding: 0;
    border: 0;
    color: #111;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.4;
}

.bdo-schedule-page__intro > p:last-child {
    margin: 1.15rem 0 0;
    line-height: 1.9;
}

.bdo-schedule-page__guide {
    display: flex;
    margin-bottom: 1rem;
    padding: 1rem 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #f3f3f3;
}

.bdo-schedule-page__guide p {
    margin: 0;
}

.bdo-schedule-page__guide p span {
    display: block;
    margin-top: .2rem;
    color: #666;
    font-size: .78rem;
}

.bdo-schedule-page__guide > div {
    display: flex;
    flex: 0 0 auto;
    gap: .75rem;
    font-size: .78rem;
    font-weight: 700;
}

.bdo-schedule-page__weekday {
    color: #111;
}

.bdo-schedule-page__saturday {
    color: #164da8;
}

.bdo-schedule-page__sunday {
    color: #c01818;
}

.bdo-schedule-page__table {
    width: 100%;
}

.bdo-schedule-page__table .attmgr_navi_weekly,
.bdo-schedule-page__table .attmgr_weekly_navi {
    margin-bottom: 1rem;
    text-align: center;
}

.bdo-schedule-page__table table.attmgr_weekly_all {
    width: 100%;
    border-collapse: collapse;
}

.bdo-schedule-page__table table.attmgr_weekly_all th {
    background: #f7f7f7;
    color: #111;
    font-weight: 700;
}

.bdo-schedule-page__table table.attmgr_weekly_all th.saturday {
    background: #eef4ff;
    color: #164da8;
}

.bdo-schedule-page__table table.attmgr_weekly_all th.sunday {
    background: #fff0f0;
    color: #c01818;
}

.bdo-schedule-page__table table.attmgr_weekly_all th,
.bdo-schedule-page__table table.attmgr_weekly_all td {
    border-color: #ddd;
}

.bdo-schedule-page__table .weeklystaffdetailbtn,
.bdo-schedule-page__table .weeklystaffdetailbtn * {
    color: #fff !important;
}

.bdo-schedule-page__help {
    display: flex;
    margin-top: 4rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-top: 3px solid #111;
    background: #f3f3f3;
}

.bdo-schedule-page__help h2 {
    font-size: clamp(1.5rem, 3vw, 2.1rem);
}

.bdo-schedule-page__help div > p:last-child {
    margin: .75rem 0 0;
    line-height: 1.8;
}

.bdo-schedule-page__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    flex: 0 0 auto;
    gap: .65rem;
}

.bdo-schedule-page__button {
    display: flex;
    min-height: 54px;
    padding: .75rem 1rem;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.bdo-schedule-page__button--web {
    background: var(--bdo-osaka-red, #d52b3a);
}

.bdo-schedule-page__button--line {
    background: #06c755;
}

@media (max-width: 767px) {
    .bdo-schedule-page__inner {
        width: min(100% - 28px, 1280px);
        padding-top: 3rem;
    }

    .bdo-schedule-page__guide,
    .bdo-schedule-page__help {
        align-items: stretch;
        flex-direction: column;
    }

    .bdo-schedule-page__guide > div {
        justify-content: flex-start;
    }

    .bdo-schedule-page__buttons {
        grid-template-columns: 1fr;
    }
}

/* 20260925 production polish: compact header, readable dates and strong CTA. */
@media (min-width: 1200px) {
    .siteHeader .siteHeadContainer {
        display: flex;
        width: min(100% - 48px, 1680px);
        max-width: 1680px;
        align-items: center;
        gap: clamp(1.25rem, 2.25vw, 3rem);
    }

    .siteHeader .navbar-header {
        flex: 0 0 auto;
    }

    .siteHeader .siteHeader_logo {
        width: auto;
        margin: 0;
        float: none;
    }

    .siteHeader .gMenu_outer {
        width: auto;
        min-width: 0;
        flex: 1 1 auto;
        float: none;
    }

    .siteHeader .gMenu {
        display: flex;
        width: 100%;
        margin: 0;
        float: none;
    }

    .siteHeader .gMenu > li {
        min-width: 0;
        flex: 1 1 0;
        float: none;
    }

    .device-pc .siteHeader .gMenu > li > a {
        padding-right: .4rem;
        padding-left: .4rem;
        white-space: nowrap;
    }
}

.bdo-home-attendance-heading {
    margin: clamp(2.75rem, 5vw, 4.5rem) 0 1.5rem;
    text-align: center;
}

.bdo-home-attendance-heading h2 {
    margin: 0 0 .65rem;
    color: #111;
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    line-height: 1.4;
}

.bdo-home-attendance-heading > p:last-child {
    margin: 0;
    color: #555;
}

.home table.attmgr_guide_weekly td.current {
    background: #222 !important;
}

.home table.attmgr_guide_weekly td.current a,
.home table.attmgr_guide_weekly td.current a * {
    color: #fff !important;
}

.home table.attmgr_guide_weekly td.saturday.current {
    background: #1556a8 !important;
}

.home table.attmgr_guide_weekly td.sunday.current,
.home table.attmgr_guide_weekly td.public-holiday.current {
    background: #c62828 !important;
}

.home .bdo-home-final-cta {
    width: 100vw;
    max-width: none;
    margin: 2.5rem calc(50% - 50vw) 1rem;
    padding: clamp(3rem, 6vw, 5rem) max(1rem, calc((100vw - 1200px) / 2 + 1rem));
    border: 0;
    background: #111;
    color: #fff;
}

.home .bdo-home-final-cta .bdo-home-guide__eyebrow,
.home .bdo-home-final-cta h2,
.home .bdo-home-final-cta > p:not(.bdo-home-guide__eyebrow) {
    color: #fff;
}

.home .bdo-home-final-cta .bdo-home-guide__button--secondary {
    border-color: #fff;
    color: #fff !important;
}

@media (max-width: 767px) {
    .bdo-home-attendance-heading {
        margin-top: 2.25rem;
        padding: 0 .75rem;
    }

    .bdo-home-attendance-heading > p:last-child {
        font-size: .88rem;
    }
}

/* 20260925 reservation completion and confirmation usability. */
@media (min-width: 992px) {
    body.header_scrolled .siteHeader .gMenu_outer {
        right: 0;
        left: 0;
        width: 100vw !important;
        max-width: none;
    }

    body.header_scrolled .siteHeader .gMenu_outer nav {
        width: min(calc(100% - 48px), 1680px) !important;
        max-width: 1680px;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0;
        padding-left: 0;
    }

    body.header_scrolled .siteHeader .gMenu {
        width: 100%;
        max-width: none;
        margin-right: auto;
        margin-left: auto;
    }
}

.bdo-confirmation-notice {
    margin: 1.5rem 0 .75rem;
    padding: 1rem 1.25rem;
    border: 2px solid var(--bdo-osaka-red, #d52b3a);
    background: #fff7f8;
    color: #111;
    text-align: center;
}

.bdo-confirmation-notice strong,
.bdo-confirmation-notice span {
    display: block;
}

.bdo-confirmation-notice strong {
    margin-bottom: .3rem;
    color: var(--bdo-osaka-red, #d52b3a);
    font-size: 1.05rem;
}

.bdo-reserve .bdo-confirmation-step .wpcf7-submit {
    min-height: 68px;
    font-size: 1.1rem;
    box-shadow: 0 0 0 4px rgba(213, 43, 58, .14);
}

.bdo-finish {
    background: #fff;
    color: #171717;
}

.bdo-finish__inner {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.bdo-finish__intro {
    max-width: 720px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.bdo-finish__eyebrow {
    margin: 0 0 1rem;
    color: #666;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.bdo-finish__check {
    display: grid;
    width: 64px;
    height: 64px;
    margin: 0 auto 1.25rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
}

.bdo-finish__intro h1 {
    margin: 0;
    color: #111;
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.4;
}

.bdo-finish__intro > p:last-child {
    margin: 1rem 0 0;
    color: #555;
    line-height: 1.9;
}

.bdo-finish__notice {
    margin-bottom: 3rem;
    padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem);
    border-left: 5px solid var(--bdo-osaka-red, #d52b3a);
    background: #f5f5f5;
}

.bdo-finish__notice h2 {
    margin: 0 0 .45rem;
    padding: 0;
    border: 0;
    color: #111;
    font-size: 1.25rem;
}

.bdo-finish__notice p,
.bdo-finish__mail-note p {
    margin: 0;
    line-height: 1.8;
}

.bdo-finish__steps > h2 {
    margin: 0 0 1.25rem;
    padding: 0 0 .75rem;
    border: 0;
    border-bottom: 2px solid #111;
    color: #111;
    font-size: 1.55rem;
}

.bdo-finish__steps ol {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 1px;
    background: #ddd;
}

.bdo-finish__steps li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem;
    align-items: start;
    background: #fff;
}

.bdo-finish__steps li > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
}

.bdo-finish__steps h3 {
    margin: 0 0 .35rem;
    color: #111;
    font-size: 1.05rem;
}

.bdo-finish__steps p {
    margin: 0;
    color: #555;
    line-height: 1.75;
}

.bdo-finish__mail-note {
    margin-top: 2rem;
    padding: 1.25rem;
    background: #f5f5f5;
}

.bdo-finish__mail-note p + p {
    margin-top: .35rem;
}

.bdo-finish__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 2rem;
}

.bdo-finish__actions a {
    display: flex;
    min-height: 58px;
    padding: .8rem 1rem;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
}

.bdo-finish__line {
    background: #06c755;
}

.bdo-finish__home {
    background: #111;
}

/* Keep the personal weekly schedule within the viewport (v3 override). */
.bdo-profile__schedule {
    overflow: visible;
}

.bdo-profile__schedule table,
.bdo-profile__schedule table.attmgr_weekly {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.bdo-profile__schedule table.attmgr_weekly th,
.bdo-profile__schedule table.attmgr_weekly td {
    width: calc(100% / 7);
}

@media (max-width: 767px) {
    .bdo-finish__actions {
        grid-template-columns: 1fr;
    }

    .bdo-confirmation-notice {
        text-align: left;
    }
}
