@charset "UTF-8";

:root {
    --keycol: #ee7800;
    --keycol2: #998742;
    --titcol: #5c2f0d;
    --pointcol: #fd930d;
    --pointcol2: #ffae0e;
    --capcol: #666666;
    --btnmail: #e561a3;
    --btnline: #07b53b;
    --btnmap: #b9a865;
    --bocol: #c4c4c4;
    --bgcol: #fff5d9;
    --bgcol2: #ede9da;
    --l-blue: #dfefff;
    --shadow: 0px 0px 34px rgba(0, 0, 0, 0.06);
    --baseft: calc(100vw / 1280 * 16);
    --tra: 0.5s;
    --basevw: calc(100vw / 1280);
}

@media (max-width: 767px) {
    :root {
        --baseft: calc(100vw / 768 * 16);
        --basevw: calc(100vw / 768);
    }
}

@media (min-width: 576px) {
    .xs {
        display: none;
    }
}

@media (max-width: 576px) {
    :root {
        --baseft: calc(100vw / 576 * 16);
        --basevw: calc(100vw / 576);
    }
}

@media (max-width: 375px) {
    :root {
        --baseft: calc(100vw / 375 * 14);
        --basevw: calc(100vw / 375);
    }
}

@media (min-width: 1280px) {
    :root {
        --baseft: 1.6rem;
        --basevw: 1px;
    }
}

html {
    font-size: 62.5%;
}

* {
    margin: 0;
    padding: 0;
    font-size: 100%;
    text-align: left;
    box-sizing: border-box;
    word-break: break-all;
}

* img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    padding: 0;
    border: 0;
}

* hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.clearfix:after {
    content: '';
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
}

.clearfix {
    display: inline-table;
}

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

a:link {
    text-decoration: underline;
    color: #0000ff;
    outline: none;
}

a:active {
    text-decoration: none;
    color: #ff0000;
}

a:visited {
    text-decoration: underline;
    color: #0000ff;
}

a:hover {
    text-decoration: none;
    color: #ff0000;
}

a.mouse_on :hover {
    opacity: 0.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    margin: 0;
    padding: 0;
}

ul li {
    list-style-image: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
    border: 0;
}

ol li {
    list-style-position: inside;
    margin: 0;
    padding: 0;
    border: 0;
}

div,
p,
li,
span {
    font-size: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

p.cap {
    font-size: 75%;
}

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.layout_left {
    float: left;
}

.layout_right {
    float: right;
}

.img_center {
    display: block;
    margin: 0 auto;
    padding: 0;
}

.img_left {
    width: auto;
    display: block;
    float: left;
}

.img_right {
    width: auto;
    display: block;
    float: right;
}

.txt_center {
    text-align: center;
}

.txt_left {
    text-align: left;
}

.txt_right {
    text-align: right;
}

.txt_red {
    color: #dc143c;
}

.txt_blue {
    color: #3366cc;
}

.fnt_10 {
    font-size: 10px;
}

.fnt_11 {
    font-size: 11px;
}

.fnt_12 {
    font-size: 12px;
}

.fnt_14 {
    font-size: 14px;
}

.fnt_14b {
    font-size: 14px;
    font-weight: bold;
}

.fnt_16 {
    font-size: 16px;
}

.fnt_16b {
    font-size: 16px;
    font-weight: bold;
}

.fnt_18 {
    font-size: 18px;
}

.fnt_18b {
    font-size: 18px;
    font-weight: bold;
}

.fnt_24 {
    font-size: 24px;
}

.fnt_24b {
    font-size: 24px;
    font-weight: bold;
}

.fnt_32 {
    font-size: 32px;
}

.fnt_32b {
    font-size: 32px;
    font-weight: bold;
}

.mgn_5 {
    margin: 5px;
}

.mgn_10 {
    margin: 10px;
}

.mgn_15 {
    margin: 15px;
}

.mgn_20 {
    margin: 20px;
}

.mgn_tb5 {
    margin: 5px 0;
}

.mgn_tb10 {
    margin: 10px 0;
}

.mgn_tb15 {
    margin: 15px 0;
}

.mgn_tb20 {
    margin: 20px 0;
}

.mgn_lr5 {
    margin: 0 5px;
}

.mgn_lr10 {
    margin: 0 10px;
}

.mgn_lr15 {
    margin: 0 15px;
}

.mgn_lr20 {
    margin: 0 20px;
}

.mgn_tr5 {
    margin: 5px 5px 0 0;
}

.mgn_tr10 {
    margin: 10px 10px 0 0;
}

.mgn_tr15 {
    margin: 15px 15px 0 0;
}

.mgn_tr20 {
    margin: 20px 20px 0 0;
}

.mgn_tl5 {
    margin: 5px 0 0 5px;
}

.mgn_tl10 {
    margin: 10px 0 0 10px;
}

.mgn_tl15 {
    margin: 15px 0 0 15px;
}

.mgn_tl20 {
    margin: 20px 0 0 20px;
}

.mgn_br5 {
    margin: 0 5px 5px 0;
}

.mgn_br10 {
    margin: 0 10px 10px 0;
}

.mgn_br15 {
    margin: 0 15px 15px 0;
}

.mgn_br20 {
    margin: 0 20px 20px 0;
}

.mgn_bl5 {
    margin: 0 0 5px 5px;
}

.mgn_bl10 {
    margin: 0 0 10px 10px;
}

.mgn_bl15 {
    margin: 0 0 15px 15px;
}

.mgn_bl20 {
    margin: 0 0 20px 20px;
}

.mgn_tbr5 {
    margin: 5px 5px 5px 0;
}

.mgn_tbr10 {
    margin: 10px 10px 10px 0;
}

.mgn_tbr15 {
    margin: 15px 15px 15px 0;
}

.mgn_tbr20 {
    margin: 20px 20px 20px 0;
}

.mgn_tbl5 {
    margin: 5px 0 5px 5px;
}

.mgn_tbl10 {
    margin: 10px 0 10px 10px;
}

.mgn_tbl15 {
    margin: 15px 0 15px 15px;
}

.mgn_tbl20 {
    margin: 20px 0 20px 20px;
}

.mgn_tlr5 {
    margin: 5px 5px 0 5px;
}

.mgn_tlr10 {
    margin: 10px 10px 0 10px;
}

.mgn_tlr15 {
    margin: 15px 15px 0 15px;
}

.mgn_tlr20 {
    margin: 20px 20px 0 20px;
}

.mgn_blr5 {
    margin: 0 5px 5px 5px;
}

.mgn_blr10 {
    margin: 0 10px 10px 10px;
}

.mgn_blr15 {
    margin: 0 15px 15px 15px;
}

.mgn_blr20 {
    margin: 0 20px 20px 20px;
}

.mgn_t5 {
    margin-top: 5px;
}

.mgn_t10 {
    margin-top: 10px;
}

.mgn_t15 {
    margin-top: 15px;
}

.mgn_t20 {
    margin-top: 20px;
}

.mgn_t25 {
    margin-top: 25px;
}

.mgn_t30 {
    margin-top: 30px;
}

.mgn_t35 {
    margin-top: 35px;
}

.mgn_t40 {
    margin-top: 40px;
}

.mgn_b5 {
    margin-bottom: 5px;
}

.mgn_b10 {
    margin-bottom: 10px;
}

.mgn_b15 {
    margin-bottom: 15px;
}

.mgn_b20 {
    margin-bottom: 20px;
}

.mgn_b25 {
    margin-bottom: 25px;
}

.mgn_b30 {
    margin-bottom: 30px;
}

.mgn_b35 {
    margin-bottom: 35px;
}

.mgn_b40 {
    margin-bottom: 40px;
}

.mgn_l5 {
    margin-left: 5px;
}

.mgn_l10 {
    margin-left: 10px;
}

.mgn_l15 {
    margin-left: 15px;
}

.mgn_l20 {
    margin-left: 20px;
}

.mgn_l25 {
    margin-left: 25px;
}

.mgn_l30 {
    margin-left: 30px;
}

.mgn_l35 {
    margin-left: 35px;
}

.mgn_l40 {
    margin-left: 40px;
}

.mgn_r5 {
    margin-right: 5px;
}

.mgn_r10 {
    margin-right: 10px;
}

.mgn_r15 {
    margin-right: 15px;
}

.mgn_r20 {
    margin-right: 20px;
}

.mgn_r25 {
    margin-right: 25px;
}

.mgn_r30 {
    margin-right: 30px;
}

.mgn_r35 {
    margin-right: 35px;
}

.mgn_r40 {
    margin-right: 40px;
}

.pdn_5 {
    padding: 5px;
}

.pdn_10 {
    padding: 10px;
}

.pdn_15 {
    padding: 15px;
}

.pdn_20 {
    padding: 20px;
}

.pdn_tb5 {
    padding: 5px 0;
}

.pdn_tb10 {
    padding: 10px 0;
}

.pdn_tb15 {
    padding: 15px 0;
}

.pdn_tb20 {
    padding: 20px 0;
}

.pdn_lr5 {
    padding: 0 5px;
}

.pdn_lr10 {
    padding: 0 10px;
}

.pdn_lr15 {
    padding: 0 15px;
}

.pdn_lr20 {
    padding: 0 20px;
}

.pdn_t5 {
    padding-top: 5px;
}

.pdn_t10 {
    padding-top: 10px;
}

.pdn_t15 {
    padding-top: 15px;
}

.pdn_t20 {
    padding-top: 20px;
}

.pdn_t25 {
    padding-top: 25px;
}

.pdn_t30 {
    padding-top: 30px;
}

.pdn_t35 {
    padding-top: 35px;
}

.pdn_t40 {
    padding-top: 40px;
}

.pdn_b5 {
    padding-bottom: 5px;
}

.pdn_b10 {
    padding-bottom: 10px;
}

.pdn_b15 {
    padding-bottom: 15px;
}

.pdn_b20 {
    padding-bottom: 20px;
}

.pdn_b25 {
    padding-bottom: 25px;
}

.pdn_b30 {
    padding-bottom: 30px;
}

.pdn_b35 {
    padding-bottom: 35px;
}

.pdn_b40 {
    padding-bottom: 40px;
}

.pdn_l5 {
    padding-left: 5px;
}

.pdn_l10 {
    padding-left: 10px;
}

.pdn_l15 {
    padding-left: 15px;
}

.pdn_l20 {
    padding-left: 20px;
}

.pdn_l25 {
    padding-left: 25px;
}

.pdn_l30 {
    padding-left: 30px;
}

.pdn_l35 {
    padding-left: 35px;
}

.pdn_l40 {
    padding-left: 40px;
}

.pdn_r5 {
    padding-right: 5px;
}

.pdn_r10 {
    padding-right: 10px;
}

.pdn_r15 {
    padding-right: 15px;
}

.pdn_r20 {
    padding-right: 20px;
}

.pdn_r25 {
    padding-right: 25px;
}

.pdn_r30 {
    padding-right: 30px;
}

.pdn_r35 {
    padding-right: 35px;
}

.pdn_r40 {
    padding-right: 40px;
}

body {
    font-family: 'Noto Sans JP', 'メイリオ', 'Hiragino Kaku Gothic Pro W3',
        'ヒラギノ角ゴ Pro W3', sans-serif;
    font-feature-settings: 'palt'1;
    font-kerning: auto;
    font-size: var(--baseft, 1.25vw);
    font-weight: 400;
    line-height: 1.4375;
    color: #000;
}

.container {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

a,
a:link {
    text-decoration: none;
    transition: 0.5s;
}

a > *,
a:link > * {
    transition: 0.5s;
}

a:hover {
    opacity: 0.7;
    transition: 0.5s;
}

a:hover img {
    transition: 0.5s;
    opacity: 0.7;
}

main section {
    padding: calc(var(--basevw, 0.078vw) * 80) 0 calc(var(--basevw, 0.078vw) * 40);
}

main section p {
    color: var(--titcol, #5c2f0d);
}

main section .section_s {
    padding-bottom: 4rem;
}

.btn-block {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(var(--basevw, 0.078vw) * 40);
}

.btn_more {
    color: #fff !important;
    display: block;
    position: relative;
    padding: 1.5rem 2rem;
    background: var(--pointcol2, #ffae0e);
    text-align: center;
    border-radius: 50px;
    text-decoration: none !important;
    font-size: 1.16em;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.btn_more i {
    margin-left: 1rem;
}

a.btn_info {
    width: 100%;
    display: block;
    height: 64px;
    line-height: 64px;
    border-radius: 8px;
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
    font-size: 1.5em;
    font-weight: 500;
    margin: 0;
    padding: 0;
    transition: 0.5s;
}

a.btn_info i {
    color: #fff;
    margin-right: 1rem;
}

a.btn_access {
    background: var(--btnmap, #68cc19);
}

a.btn_price {
    background: var(--pointcol, #fd930d);
}

a.btn_reserve {
    background: var(--pointcol2, #ffae0e);
}

h2.h2_none {
    margin-bottom: 1em;
    font-size: 2.25em;
    color: var(--titcol, #5c2f0d);
    letter-spacing: 0.05em;
    text-align: center;
    font-weight: 500;
}

h2.h2_none small {
    display: block;
    text-align: center;
    font-size: var(--baseft);
}

.page h2 {
    text-align: center;
    font-size: 2.25em;
    letter-spacing: 0.05em;
    color: var(--titcol, #5c2f0d);
    padding-bottom: 0.75em;
    position: relative;
    margin-bottom: 1em;
}

.page h2::after {
    content: '';
    position: absolute;
    width: 4.25em;
    height: 8px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    margin: 0 auto;
    background: var(--pointcol2, #ffae0e);
    border-radius: 4px;
}

h2.h2__top .en {
    display: block;
    font-size: 5rem;
    font-weight: 700;
    text-align: center;
    color: var(--titcol);
}
h2.h2__top .jp {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    color: var(--titcol);
    margin-bottom: 4rem;
}


.page h3 {
    position: relative;
    font-size: 1.6em;
    padding: 1.5rem 1rem;
    margin-bottom: 1em;
    color: var(--titcol, #5c2f0d);
}

.page h3.u_l:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg,
            var(--keycol2, #22a650),
            var(--keycol2, #22a650) 4px,
            transparent 2px,
            transparent 5px);
    background-image: repeating-linear-gradient(-45deg,
            var(--keycol2, #22a650),
            var(--keycol2, #22a650) 4px,
            transparent 2px,
            transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.page h4 {
    font-size: 1.4em;
    color: var(--keycol2, #22a650);
    margin-bottom: 1em;
}

.point_ico {
    fill: #9ac418;
}

@media screen and (min-width: 1280px) {
    body {
        font-size: var(--baseft, 16px);
    }
}

@media screen and (max-width: 1279px) {
    .container {
        padding: 0 6.25%;
    }
}

@media screen and (max-width: 1024px) {
    .container {
        padding: 0 5%;
    }
}

@media screen and (max-width: 767px) {
    html body {
        padding-top: 60px;
        padding-bottom: 0;
    }

    main section {
        padding: calc(var(--basevw, 0.13vw) * 60) 0 calc(var(--basevw, 0.13vw) * 40);
    }

    h2.h2_none {
        font-size: 2em;
        letter-spacing: 0.05em;
    }
}

#header_tagline {
    background: var(--keycol, #22a650);
    padding: 4px 0;
}

.periodontal #header_tagline {
    background: var(--keycol2, #22a650);
    padding: 4px 0;
}

#header_tagline h1 {
    color: #fff;
    font-size: 0.875em;
}

#header {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: #ffffff;
    position: relative;
}

#header_in {
    padding-top: 20px;
    padding-bottom: 20px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    width: 52%;
    padding-right: 1.5%;
    margin: 0;
}

.logo img {
    padding: 0;
    width: 100%;
}

.h_address {
    font-size: 0.8em;
    margin-top: 20px;
}

.header_contact {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 26%;
}

.header_contact_left {
    margin-right: 2%;
}

.header_contact_left .time-table,
.f_time-table .time-table {
    border: 1px solid var(--titcol, #5c2f0d);
    border-radius: 10px;
}

.time-table th,
.time-table td {
    border: 1px solid var(--titcol, #5c2f0d);
    padding: 4px 8px;
    font-size: 0.8em;
    white-space: nowrap;
    color: var(--titcol, #5c2f0d);
}

.time-table th {
    text-align: left;
}

.time-table td {
    text-align: center;
}

.time-table + p.cap {
    margin-top: 10px;
    color: var(--capcol, #666);
}
.header_contact_right h4,
.foot-contact h4 {
    font-size: 1.1em;
    color: var(--pointcol, #fd930d);
    white-space: nowrap;
    text-align: center;
    margin-bottom: 0.5em;
}

.header_contact_right h4 strong,
.foot-contact h4 strong {
    font-size: 1.2em;
    font-weight: 700;
}

p.tel {
    font-family: Overpass, sans-serif;
    font-weight: 700;
    font-size: 1.8em;
    text-align: center;
    color: var(--titcol, #5c2f0d);
}

p.tel i {
    margin-right: 1rem;
}

.btn_h {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    height: 50px;
    padding: 0 50px;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    margin: 0 5px;
}

.btn_h span {
    text-decoration: none;
    line-height: 1;
    color: #fff !important;
    font-size: 1.1em;
    font-weight: 600;
}

.btn_h i {
    font-size: 3em;
    position: absolute;
    left: -0.2em;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.3;
    color: #fff;
}

.btn_mail {
    /* background: var(--btnmail, #e561a3); */
    background: #ffae0e;
}

.btn_line {
    background: var(--btnline, #07b53b);
}

.header_contact_right ul {
    display: flex;
    justify-content: center;
    gap: 0 2rem;
}

.header_contact_right ul li {
    /* display: inline-block; */
    flex-basis: 18%;
}


#global_navi {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--keycol);
    /* background-image: linear-gradient(180deg, #57d585 0%, #129f43 74%); */
}

.periodontal #global_navi {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--keycol2);
    /* background-image: linear-gradient(180deg, #57d585 0%, #129f43 74%); */
}


#global_navi .container {
    height: 60px;
    margin: 0 auto;
    overflow: hidden;
}

#global_navi_in ul {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: space-between;
}

#global_navi_in ul li {
    display: flex;
    vertical-align: middle;
    text-align: center;
    position: relative;
    width: calc(100% / 4);
}

#global_navi_in ul li::before {
    content: ' ';
    display: block;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #b4a670, white, #d8d0b1);
    position: absolute;
    left: 0;
    top: 0;
}

#global_navi_in ul li:last-of-type::after {
    content: ' ';
    display: block;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #b4a670, white, #d8d0b1);
    position: absolute;
    right: 0;
    top: 0;
}

#global_navi_in ul li::before {
    content: ' ';
    display: block;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #b4a670, white, #d8d0b1);
    position: absolute;
    left: 0;
    top: 0;
}

#global_navi_in ul li:last-of-type::after {
    content: ' ';
    display: block;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #b4a670, white, #d8d0b1);
    position: absolute;
    right: 0;
    top: 0;
}

#global_navi_in ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-shadow: #6f622f 0px 0px 8px;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    height: 100%;
    width: 100%;
    transition: 0.5s;
}

#global_navi_in ul li a:hover {
    opacity: 0.7;
}

#global_navi_in ul li.current a {
    border-bottom: 4px solid var(--pointcol2, #ffae0e);
}

@media screen and (min-width: 1025px) {
    .d-md-none {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    .btn_h span {
        font-size: 1em;
    }

    .logo {
        width: 52%;
        padding-right: 0;
    }

    .header_contact {
        width: 25%;
    }

    .time-table th,
    .time-table td {
        padding: 4px;
    }
}

@media screen and (max-width: 767px) {
    .sp-header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        z-index: 9999999;
    }

    .sp-header-in {
        width: 100%;
        overflow: hidden;
        border-bottom: 2px solid var(--keycol, #22a650);
        background-color: white;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 60px;
    }
    
    .periodontal .sp-header-in {
        width: 100%;
        overflow: hidden;
        border-bottom: 2px solid var(--keycol2, #22a650);
        background-color: white;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 60px;
    }

    .sp-logo {
        width: 50%;
    }

    .sp-logo a {
        display: block;
        padding: 0 3% 0 0;
    }

    .sp-logo a img {
        margin: auto;
    }

    .sp-botan {
        width: 45%;
        display: flex;
        justify-content: flex-end;
    }

    .sp-botan ul {
        display: flex;
        justify-content: flex-end;
        width: 100%;
    }

    .sp-botan ul li {
        width: 38%;
        padding: 1%;
    }

    .sp-botan ul li:last-child {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-left: 4%;
    }

    .periodontal .sp-botan ul li:last-child i {
        font-size: 5vw;
        color: var(--keycol2, #22a650) !important;
    }
    
    .sp-botan ul li:last-child i {
        font-size: 5vw;
        color: var(--keycol, #22a650) !important;
    }

    input#sp-menu:checked + .sp-header .sp-botan ul li:last-child i.fa-bars:before {
        content: '\f00d';
    }

    .sp-botan ul li a {
        display: flex;
        flex-flow: column;
        align-items: center;
        text-align: center;
        border: 1px solid var(--keycol, #22a650);
        border-radius: 8px;
        padding: 6px 2px;
        text-decoration: none !important;
        color: var(--keycol, #22a650) !important;
    }
    
    .periodontal .sp-botan ul li a {
        display: flex;
        flex-flow: column;
        align-items: center;
        text-align: center;
        border: 1px solid var(--keycol2, #22a650);
        border-radius: 8px;
        padding: 6px 2px;
        text-decoration: none !important;
        color: var(--keycol2, #22a650) !important;
    }

    .sp-botan ul li span {
        font-size: 0.75em;
        white-space: nowrap;
    }

    .sp-botan ul li label {
        display: flex;
        flex-flow: column;
        align-items: center;
        transition: 0.2s;
    }

    .sp-botan ul li img {
        padding: 2px 1px;
        height: auto;
    }

    .sp-menu {
        overflow: hidden;
        opacity: 0;
        height: 0;
        transition: 0.2s;
        background-color: #ef9700;
    }

    input#sp-menu:checked + .sp-header .sp-menu {
        opacity: 1;
        height: auto;
    }

    input#sp-menu:checked + .sp-header label img {
        opacity: 0;
    }

    .sp-menu ul {
        width: 100%;
        overflow: hidden;
        border-left: 1px solid white;
        border-top: 1px solid white;
    }

    .sp-menu ul li {
        width: 100%;
        float: left;
    }

    .sp-menu ul li:last-of-type:nth-of-type(odd) {
        width: 100%;
    }

    .sp-menu ul li a {
        position: relative;
        display: block;
        padding: 12px 0px 12px 30px;
        font-size: 15px;
        font-weight: bold;
        text-align: left;
        color: white;
        text-decoration: none;
        background-color: #998742;
        border-right: 1px solid white;
        border-bottom: 1px solid white;
    }

    .sp-menu ul li a::before {
        border-left: 2px solid;
        border-top: 2px solid;
        border-color: #fff;
        content: '';
        height: 6px;
        position: absolute;
        left: 12px;
        top: 45%;
        -moz-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        width: 6px;
    }
}

#footer {
    width: 100%;
    border-top: 5px solid var(--keycol, #22a650);
    background: #fff;
}

.periodontal #footer {
    width: 100%;
    border-top: 5px solid var(--keycol2, #22a650);
    background: #fff;
}

#footer_in {
    width: 100%;
    margin: 0 auto;
    padding: calc(var(--basevw, 0.078vw) * 50) 0px calc(var(--basevw, 0.078vw) * 30);
    display: flex;
}

#footer_in .box_left {
    width: 35%;
    padding: 0;
}

#footer_in .box_left .logo {
    margin-bottom: calc(var(--basevw, 0.078vw) * 20);
    width: 100%;
    max-width: 400px;
}

#footer_in .box_left .logo img {
    padding: 0;
    width: 100%;
}

#footer_in .box_left .f_business_hour_box {
    margin-bottom: calc(var(--basevw, 0.078vw) * 20);
    display: flex;
    flex-flow: wrap;
}

#footer_in .box_left .f_business_hour_box dt {
    width: 17%;
    text-align: left;
    padding: 5px;
}

#footer_in .box_left .f_business_hour_box dd {
    width: 83%;
    padding: 5px;
    text-align: left;
}

#footer_in .box_left > p {
    font-size: 0.9em;
    font-weight: 500;
    margin: 0;
}

#footer_in .box_left ul {
    margin: 24px 0 0;
    padding: 0;
}

.foot-contact {
    margin-top: 24px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    #footer_in .box_left .foot-contact p.tel {
        width: 100%;
        margin-bottom: 8px;
        display: block;
    }
}

@media screen and (max-width: 767px) {
    #footer_in .box_left .foot-contact p.tel {
        width: 100%;
        margin-bottom: 8px;
        display: block;
        text-decoration: underline;
    }
}


#footer_in .box_left .foot-contact ul {
    display: flex;
    margin: 0;
    align-items: center;
    justify-content: center;
}

#footer_in .box_left .foot-contact ul li {
    margin: 0;
    width: 80%;
    padding: 0;
}

#footer_in .box_right {
    width: 65%;
    height: auto;
    padding: 0 0 0 calc(var(--basevw, 0.078vw) * 20);
}

.f_nav ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
}

.f_nav {
    width: 100%;
    margin: 1em auto;
}

.f_nav ul li {
    padding: 4px 20px 6px;
    border-right: dotted 1px #129f43;
}

.f_nav ul li a {
    text-decoration: none;
    color: #554b24;
}

.f_nav ul li:nth-child(1) {
    border-left: dotted 1px var(--keycol, #22a650);
}

.periodontal .f_nav ul li:nth-child(1) {
    border-left: dotted 1px var(--keycol2, #22a650);
}

.copyright {
    font-size: 0.75em;
    text-align: center;
    margin: 0 auto;
    color: #fff;
}

.copyright a {
    color: #fff;
    text-decoration: none;
}

.copyright_out {
    width: 100%;
    height: auto;
    padding: 12px 0;
    display: table;
    background: var(--keycol, #22a650);
}

.periodontal .copyright_out {
    width: 100%;
    height: auto;
    padding: 12px 0;
    display: table;
    background: var(--keycol2, #22a650);
}


p.pagetop {
    display: none;
    position: fixed;
    bottom: 50px;
    right: 40px;
}

p.pagetop a {
    display: block;
    font-size: 3em;
    text-align: center;
    text-decoration: none;
    color: var(--pointcol);
}

p.pagetop a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 1024px) {
    #footer_in .box_left {
        width: 100%;
    }

    .f_nav ul li {
        padding: 4px 10px 6px;
    }

    p.pagetop {
        bottom: 60px;
        right: 20px;
    }
}

@media screen and (max-width: 767px) {

    #content,
    #header_in,
    #main_visual_in,
    #wrapper,
    #footer_in,
    div#footer_in .box_left,
    div#footer_in .box_right,
    #global_navi_in,
    p.copyright {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }



    div#footer_in .box_left,
    div#footer_in .box_right {
        width: 100%;
        float: none;
    }

    div#footer_in .box_left {
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
    }

    p.footer-title {
        font-weight: bold;
        color: #5c2f0d;
        font-size: 16px;
        border-bottom: 1px solid #5c2f0d;
        padding: 5px 0;
    }

    .footer-menu ul {
        width: 100%;
        overflow: hidden;
        border-left: 1px solid #ef9700;
        border-top: 1px solid #ef9700;
        margin: 1em 0;
    }

    .footer-menu ul li {
        width: 50%;
        float: left;
    }

    .footer-menu ul li a {
        display: block;
        border-right: 1px solid #ef9700;
        border-bottom: 1px solid #ef9700;
        background-color: white;
        color: #5c2f0d;
        font-weight: bold;
        text-decoration: none;
        font-size: 14px;
        padding: 15px;
    }

    .footer-menu ul li a::before {
        content: ' ';
        display: inline-block;
        border: 5px solid transparent;
        border-left-color: #ef9700;
        margin-right: 10px;
    }

    .f_nav ul li:nth-child(1) {
        border-left: none;
    }

    ul#menu-main-menu-2 {
        flex-wrap: wrap;
        border-top: solid 1px #129f43;
    }

    ul#menu-main-menu-2 li {
        border-right: none !important;
        position: relative;
        width: 50%;
        border-bottom: solid 1px #129f43;
    }

    ul#menu-main-menu-2 li:nth-child(even) {
        border-left: solid 1px #129f43;
    }

    ul#menu-main-menu-2 li:last-child {
        width: 100%;
        text-align: center;
    }

    ul#menu-main-menu-2 li::before {
        border-color: #129f43;
        border-style: solid;
        border-width: 2px 0 0 2px;
        content: '';
        height: 6px;
        position: absolute;
        right: 15px;
        top: 45%;
        -moz-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        width: 6px;
    }

    ul#menu-main-menu-2 li a {
        display: block;
        padding: 3% 0 2%;
        text-align: center;
    }

    ul.footer-company-sp {
        width: 100%;
        overflow: hidden;
        margin: 1em 0;
    }

    ul.footer-company-sp li {
        margin-bottom: 1em;
    }

    ul.footer-company-sp li span {
        display: block;
        color: #5c2f0d;
        font-size: 14px;
    }

    ul.footer-company-sp li span:first-of-type {
        font-weight: bold;
        padding-bottom: 5px;
        margin-bottom: 5px;
        border-bottom: 1px dotted #5c2f0d;
    }

    p.pagetop {
        bottom: 60px;
        right: 20px;
    }
}

div#popuptel_wrap {
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    height: 0;
}

input#sp-popup:checked + #popuptel_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    opacity: 1;
    transition: all 0.3s ease;
    height: 100vh;
    z-index: 99999999999999999999999999;
}

input#sp-popup:checked + #popuptel_wrap::before {
    background: var(--bgcol, #fff5d9);
    opacity: 0.85;
    content: '';
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -10;
}

div#popuptel_wrap div.popuptel_inner {
    background-color: #fff;
    border-radius: 8px;
    display: block;
    margin-bottom: 15vw;
    width: 84%;
    height: auto;
    padding: 5vw 0;
    z-index: 0;
}

div#popuptel_wrap div.popuptel_inner > p {
    font-size: 5.5vw;
    line-height: 1.35em;
    font-weight: bold;
    text-align: center;
    display: block;
    color: var(--titcol, #5c2f0d);
}

div#popuptel_wrap div.popuptel_inner ul {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    padding: 3.5vw 5vw;
    background: #ebffeb;
    margin: 3.5vw 0 4vw;
}

div#popuptel_wrap div.popuptel_inner ul li {
    width: 45%;
    margin: 0 auto;
    border-radius: 1.5vw;
    padding-bottom: 3vw;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(1) {
    background: var(--pointcol, #fd930d);
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(2) {
    background: var(--btnmap, #68cc19);
}

div#popuptel_wrap div.popuptel_inner ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 3.75vw;
}

div#popuptel_wrap div.popuptel_inner ul li span {
    width: 9vw;
    background-color: #fff;
    height: 9vw;
    border-radius: 800px;
    text-align: center;
    display: flex;
    align-items: center;
    margin: 3vw auto;
}

div#popuptel_wrap div.popuptel_inner ul li span i {
    margin: 0 auto;
    font-size: 4.2vw;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(1) span i {
    color: var(--pointcol, #fd930d);
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(2) span i {
    color: var(--btnmap, #68cc19);
}

div#popuptel_wrap div.popuptel_inner ul li b {
    text-align: center;
    display: block;
}

div#popuptel_wrap div.popuptel_inner label {
    background-color: #ff760f;
    width: 80%;
    border-radius: 5000px;
    text-align: center;
    display: block;
    padding: 1.25vw;
    position: relative;
    color: #fff;
    max-width: 280px;
    margin: 0vw auto 0;
}

div#popuptel_wrap div.popuptel_inner label i {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.footer-popup ul {
    width: 100%;
    display: table;
    background-color: white;
    table-layout: fixed;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 999999999;
}

.footer-popup ul li {
    display: table-cell;
    vertical-align: middle;
}

.footer-popup ul li:first-of-type a {
    background-color: #f4ecd7;
    height: 50px;
    color: #000;
    display: block;
    text-decoration: none !important;
    text-align: center;
    line-height: 50px;
    font-weight: 500;
    font-size: 1.2em;
    letter-spacing: 3px;
}

.footer-popup ul li:nth-child(2) a {
    background: linear-gradient(to top left, #998742, #bfb486);
    display: block;
    height: 50px;
    color: #fff;
    text-decoration: none !important;
    text-align: center;
    line-height: 50px;
    font-weight: 500;
    font-size: 1.2em;
}

.footer-popup ul li:last-of-type a {
    background-color: #ff914d;
    display: block;
    height: 50px;
    color: #fff;
    text-decoration: none !important;
    text-align: center;
    line-height: 50px;
    font-weight: 500;
    font-size: 1.2em;
}

#breadcrumb {
    text-align: left;
    padding: 0 6%;
    max-width: 1100px;
    width: 100%;
    margin: 1em 0;
    display: flex;
    align-items: center;
}

#breadcrumb i.fa-home {
    display: none;
}

#breadcrumb a {
    text-decoration: none;
    color: #000;
}

#breadcrumb span {
    font-size: 0.9em;
    padding: 0 0.5em;
}

#breadcrumb i {
    font-size: 12px;
    padding: 0 0.5em;
}

.home #breadcrumb {
    display: none;
}

#breadcrumb i.fas.fa-home {
    display: none;
}

#singlecoulme_titile_wrap {
    width: 100%;
    padding-right: 6.25%;
    height: auto;
}

#singlecoulme_titile {
    width: 100%;
    padding: calc(var(--basevw, 0.078vw) * 140) 0 calc(var(--basevw, 0.078vw) * 140) 6.25%;
    border-radius: 0 15px 15px 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

#singlecoulme_titile:after {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--titcol, #5c2f0d);
    left: 0;
    z-index: 0;
    border-radius: 0 15px 15px 0;
    opacity: 0.5;
}

#singlecoulme_titile h1 {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
    font-size: 3em;
    padding-left: 0;
    letter-spacing: 0.1em;
    color: #fff;
    z-index: 50;
    position: relative;
}

#singlecoulme_titile h1 span {
    display: block;
    text-transform: uppercase;
    text-align: center;
    font-size: 0.5em;
    letter-spacing: 0.05em;
}

#top_contact {
    width: 100%;
    height: auto;
    background-color: #fff;
}

.page #top_contact {
    margin-top: 4rem;
    padding-bottom: 8rem;
}

#top_contact .inner_top h3 {
    font-size: 2em;
    line-height: 1.3;
    color: var(--pointcol, #fd930d);
    font-weight: 500;
    text-align: center;
    margin-bottom: 1em;
}

#top_contact .inner_top h3 small {
    margin: 0 auto 1rem;
    display: block;
    font-size: var(--baseft);
    color: #000;
    font-weight: 400;
    text-align: center;
}

@media screen and (min-width: 768px) {
    #top_contact .inner_top .tel {
        font-size: 2.8em;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        line-height: 1.3em;
        color: #333333;
        display: block;
    }
}

@media screen and (max-width: 767px) {
    #top_contact .inner_top .tel {
        font-size: 2.8em;
        font-weight: 700;
        text-align: center;
        text-decoration: underline;
        line-height: 1.3em;
        color: #333333;
        display: block;
    }
}

#top_contact .inner_top dd {
    text-align: center;
    margin-top: 1rem;
}

#top_contact .inner_bottom {
    width: 100%;
    height: auto;
    margin: calc(var(--basevw, 0.078vw) * 20) auto 0;
    padding: 0;
}

#top_contact .inner_bottom ul {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

#top_contact .inner_bottom ul li {
    width: 45%;
    height: auto;
    margin: 0;
    padding: 0;
}

#top_contact .inner_bottom ul li a:hover {
    transition: 0.5s;
    opacity: 0.5;
}

@media screen and (max-width: 767px) {
    #top_contact .inner_top h3 {
        font-size: 1.8em;
    }

    a.btn_info {
        font-size: 1.2em;
    }
}

@media screen and (min-width: 750px) {
    .pc {
        display: block;
    }

    .sp {
        display: none !important;
    }
}

body {
    background-image: url('../img/body_back.jpg');
}

p.center {
    text-align: center;
}

p.center img {
    display: inline-block;
}

a img:hover {
    opacity: 0.7;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table td {
    border: 1px solid #ffca86;
    padding: 10px;
    font-weight: bold;
    font-size: 1.1em;
    line-height: 1.2em;
    text-align: center;
}

table.table {
    width: 100%;
    border: none;
    border-top: 1px solid var(--keycol2, #22a650);
    border-left: 1px solid var(--keycol2, #22a650);
}

table.table th {
    background-color: var(--keycol2, #22a650);
    color: white;
    font-size: 0.95em;
    font-weight: 700;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
    border: none;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
    text-align: center;
    padding: 10px;
    max-width: 100px;
}

table.table td {
    font-size: 0.95em;
    border: none;
    font-weight: normal;
    border-right: 1px solid var(--keycol2, #22a650);
    border-bottom: 1px solid var(--keycol2, #22a650);
    text-align: left;
    background-color: white;
}

@media screen and (max-width: 767px) {
    td.denwa {
        text-decoration: underline;
    }
}

table.table-price {
    width: 100%;
    border: none;
    border-top: 1px solid var(--bocol, #c4c4c4);
    border-left: 1px solid var(--bocol, #c4c4c4);
    margin: 1em 0;
}

table.table-price th {
    background-color: var(--bgcol2, #f1ffd9);
    color: var(--titcol, #5c2f0d);
    font-size: 17px;
    font-weight: bold;
    border: none;
    border-right: 1px solid var(--bocol, #c4c4c4);
    border-bottom: 1px solid var(--bocol, #c4c4c4);
    text-align: center;
    padding: 20px 10px;
    width: 23%;
}

table.table-price td {
    font-size: 16px;
    border: none;
    font-weight: normal;
    border-right: 1px solid var(--bocol, #c4c4c4);
    border-bottom: 1px solid var(--bocol, #c4c4c4);
    text-align: center;
    padding: 20px 20px;
    background-color: white;
    line-height: 1.8;
}

img.img-r {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
}

img.img-l {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

input[type='text'],
input[type='tel'],
input[type='email'],
textarea {
    padding: 10px;
    width: 100%;
}

table.table#contact_form th {
    width: 40%;
    text-align: left;
}

table.table#contact_form th span {
    padding: 5px 10px;
    display: inline-block;
    margin-right: 10px;
    border-radius: 5px;
    background-color: white;
    color: red;
    text-shadow: none;
}

table.table#contact_form span.wpcf7-list-item {
    margin: 5px 0 5px 10px;
}

.contact_p1 input {
    width: 50%;
    padding: 15px;
    display: block;
    margin: auto;
    background: none;
    background: linear-gradient(to bottom right, #ffb639, #ef9700);
    color: white;
    border-radius: 50px;
    font-weight: bold;
    text-align: center;
    border: none;
    border: 1px solid #ef9700;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }

    body {
        min-width: auto;
        width: 100%;
    }

    iframe {
        width: 100%;
        height: 280px;
    }

    img.img-r {
        float: none;
        margin-left: 0;
        margin: auto;
        margin-bottom: 1em;
    }

    img.img-l {
        float: none;
        margin-right: 0;
        margin: auto;
        margin-bottom: 1em;
    }

    table.table#contact_form,
    table.table#contact_form tbody,
    table.table#contact_form tr,
    table.table#contact_form th,
    table.table#contact_form td {
        display: block;
        margin-bottom: 1px;
        width: 100%;
        border: none;
    }

    table.table#contact_form {
        border: 1px solid #209f4c;
        border-top: none;
    }
}

#mv {
    width: 100%;
    position: relative;
}

.mv-img {
    width: 100%;
}

.mv-img img {
    border-radius: 0 0 100px 0;
}

.mv-img svg {
    width: 100%;
    height: auto;
}

.mask {
    width: 100%;
    height: auto;
    -webkit-clip-path: url(#svgPath);
    clip-path: url(#svgPath);
}

#mv .mv-copy {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    width: 100%;
    height: 100%;
}

#mv .mv-copy .container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

#mv .mv-copy .container h2 {
    font-size: 2em;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

#mv .mv-copy .container h2 span {
    display: block;
    background: var(--pointcol2, #ffae0e);
    color: #fff;
    margin-bottom: 0.5em;
    padding: 0.1em 0.2em;
}

@media screen and (max-width: 1280px) {
    .slideshow-lead br {
        display: none;
    }
}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 767px) {
    #svgPath {
        display: none;
    }

    #mv {
        overflow: hidden;
    }

    .mv-img {
        width: 100%;
        /* height: 50vh; */
    }

    .mv-img svg {
        width: auto;
        height: 100%;
    }

    #mv .mv-copy .container h2 {
        font-size: 1.4em;
        display: block;
    }

    #mv .mv-copy .container h2 span {
        display: inline;
        line-height: 2;
    }

    #mv .mv-copy .container {
        padding-top: 4%;
        padding-bottom: 4%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

.cases_list ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.cases_list .container > ul li {
    width: 20%;
    padding: 2%;
    text-align: center;
}

.cases_list ul li figure {
    overflow: hidden;
    margin: 0 auto 0.5em;
    width: 100%;
    max-width: 230px;
    max-height: 230px;
    height: 100%;
    border-radius: 500px;
    position: relative;
}

.cases_list ul li figure span {
    font-size: 20px;
    letter-spacing: 2px;
    color: #fff;
    font-weight: bold;
    position: absolute;
    background: #22a54f;
    padding: 0.3em 0 1.2em;
    bottom: 0em;
    display: block;
    width: 100%;
    text-align: center;
    left: 0;
}

.cases_list ul li ul.cases_list_text li {
    width: 100%;
    position: relative;
    padding: 0 0 0 1em;
    text-align: left;
    line-height: 1em;
    margin-bottom: 0.5em;
}

.cases_list ul li ul.cases_list_text li i {
    color: var(--pointcol, #fd930d);
    position: absolute;
    left: 0;
}

@media screen and (max-width: 767px) {
    .cases_list .container > ul li {
        width: 50%;
        padding: 2%;
    }
}

#top_point .full_images_wrap {
    margin-bottom: calc(var(--basevw, 0.078vw) * 40);
}

#top_point .full_images_wrap img {
    width: 100%;
}

#top_point .tpoint_box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: calc(var(--basevw, 0.078vw) * 30);
}

#top_point .tpoint_box:nth-child(even) {
    flex-flow: row-reverse;
}

#top_point .tpoint_box:last-child {}

#top_point .tpoint_box .tpoint_box_img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
}

#top_point .tpoint_box .tpoint_box_img img {
    width: 100%;
}

#top_point .tpoint_box:nth-child(even) .tpoint_box_img {
    left: auto;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

#top_point .tpoint_box_img span {
    position: absolute;
    top: -38px;
    right: 20px;
    width: calc(var(--basevw, 0.078vw) * 80);
}

#top_point .tpoint_box:nth-child(even) .tpoint_box_img span {
    left: 20px;
    right: auto;
}

#top_point .tpoint_box_txt {
    width: calc(100% - 320px);
    min-height: 300px;
    padding: calc(var(--basevw, 0.078vw) * 50) calc(var(--basevw, 0.078vw) * 50) calc(var(--basevw, 0.078vw) * 50) calc(var(--basevw, 0.078vw) * 100);
    -webkit-box-shadow: 0 0 12.75px 2.25px rgba(0, 0, 0, 0.05);
    box-shadow: 0 0 12.75px 2.25px rgba(0, 0, 0, 0.05);
    background: #fff;
}

#top_point .tpoint_box:nth-child(even) .tpoint_box_txt {
    padding: calc(var(--basevw, 0.078vw) * 50) calc(var(--basevw, 0.078vw) * 100) calc(var(--basevw, 0.078vw) * 50) calc(var(--basevw, 0.078vw) * 50);
}

#top_point .tpoint_box_txt h3 {
    color: var(--pointcol, #fd930d);
    font-size: 1.5em;
    margin-bottom: 1em;
}

#top_point .tpoint_box_txt p {
    color: var(--titcol, #5c2f0d);
    line-height: 1.8;
}

@media screen and (max-width: 767px) {
    #top_point .tpoint_box {
        flex-flow: column !important;
        margin-top: calc(var(--basevw, 0.13vw) * 60);
    }

    #top_point .tpoint_box_txt {
        width: 100%;
        min-height: 0;
        padding: calc(var(--basevw, 0.13vw) * 30) !important;
    }

    #top_point .tpoint_box .tpoint_box_img {
        position: relative !important;
        left: 0;
        top: auto !important;
        transform: translateY(0) !important;
        z-index: 100;
        width: 100%;
    }
}

.greeting_box {
    display: flex;
    justify-content: space-between;
}

.greeting_box .img_greeting {
    width: 48%;
}

.greeting_box .img_greeting p {
    font-size: 1em;
    margin-top: 1em;
}

.greeting_box .txt_greeting {
    width: 48%;
    padding: 0;
}

.greeting_box .txt_greeting .tit-box {
    margin-bottom: calc(var(--basevw, 0.078vw) * 50);
}

.greeting_box .txt_greeting .tit-box h2.h2_none {
    text-align: left;
    margin-bottom: 0.5em;
}

@media screen and (max-width: 767px) {
    .greeting_box {
        display: block;
    }

    .greeting_box .img_greeting p {
        display: none;
    }

    .greeting_box .img_greeting,
    .greeting_box .txt_greeting {
        width: 100%;
        padding: 0;
    }

    .greeting_box .txt_greeting h2.h2_none {
        margin-top: 4.2vw;
    }

    .greeting_box .txt_greeting h2.h2_none img {
        margin: 0;
    }
}

#guide_page .reason-index-wrap .reason-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: calc(var(--basevw, 0.078vw) * 40);
    padding-bottom: calc(var(--basevw, 0.078vw) * 40);
    border-bottom: dotted 2px var(--pointcol2, #ffae0e);
}

#guide_page .reason-index-wrap .reason-box:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.reason_text .icon {
    width: 80px;
    height: 80px;
    background: url(../img/point_back.png);
    background-size: cover;
    display: inline-block;
    margin-right: 2rem;
    color: #fff;
    font-size: 1.7em;
    text-align: center;
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
}

#guide_page .reason-index-wrap .reason-box:nth-child(even) {
    flex-flow: row-reverse;
}

#guide_page .reason-index-wrap .reason-box .reason_text {
    width: 52%;
    padding: calc(var(--basevw, 0.078vw) * 20);
}

#guide_page .reason-index-wrap .reason-box .reason_text h3 {
    font-size: 1.6em;
    display: flex;
    align-items: center;
    color: var(--titcol, #5c2f0d);
    margin-bottom: 1em;
}

#guide_page .reason-index-wrap .reason-box .reason_text h3 strong {
    color: var(--pointcol, #fd930d);
}

#guide_page .reason-index-wrap .reason-box .reason_img {
    width: 48%;
}

#guide_page .reason-index-wrap .reason-box .reason_text p {
    margin: 0;
    padding-left: calc(var(--basevw, 0.078vw) * 80);
}

#flow_area {
    max-width: 980px;
    margin: 0 auto;
}

#guide_page .flow_wrap {
    display: flex;
    justify-content: left;
    align-items: center;
    flex-wrap: wrap;
    background-color: #fff;
    padding: calc(var(--basevw, 0.078vw) * 40);
    margin-top: calc(var(--basevw, 0.078vw) * 40);
    border-radius: 12px;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
}

#guide_page .flow_wrap .flow_box {
    width: 100%;
    position: relative;
    display: flex;
    margin-bottom: calc(var(--basevw, 0.078vw) * 40);
}

#guide_page .flow_wrap .flow_box:after {
    content: '';
    border-width: 30px 40px 0 40px;
    border-color: var(--keycol2, #22a650) transparent transparent transparent;
    border-style: solid;
    left: 50%;
    bottom: -30px;
    transform: translateX(-50%);
    position: absolute;
}

#guide_page .flow_wrap .flow_box:last-child:after {
    display: none;
}

#guide_page .flow_wrap .flow_box h3 {
    display: flex;
    align-items: center;
    padding: 0;
    text-align: left;
    margin-bottom: 1em;
    color: var(--titcol, #5c2f0d);
    font-size: 1.6em;
}

#guide_page .flow_wrap .flow_box h3 span {
    background: rgb(212, 196, 133);
    background: linear-gradient(246deg,
            rgba(212, 196, 133) 0%,
            rgba(153, 136, 66) 100%);
    font-size: 1.4em;
    color: #fff;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border-radius: 50%;
    display: block;
    margin-right: 1rem;
}

.flow_wrap .flow_box figure.flow_image {
    width: 30%;
    text-align: center;
}

.flow_wrap .flow_box figure.flow_image img {
    margin: 0 auto;
}

.flow_wrap .flow_box > div {
    width: 70%;
    padding: 0 15px 0 5px;
    margin: 0 0% 0 0;
}

@media screen and (max-width: 1024px) {
    #guide_page .reason-index-wrap .reason-box .reason_text h3 {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .reason_text .icon {
        width: 50px;
        height: 50px;
        background: url(../img/point_back.png);
        background-size: cover;
        display: inline-block;
        margin-right: 1.2rem;
        color: #fff;
        font-size: 1.2em;
        text-align: center;
        vertical-align: middle;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #guide_page .reason-index-wrap .reason-box,
    #guide_page .flow_wrap .flow_box {
        margin-bottom: 40px;
        padding-bottom: 4%;
        display: block;
    }

    #guide_page .reason-index-wrap .reason-box .reason_text,
    #guide_page .flow_wrap .flow_box .flow-txt {
        width: 100%;
        padding: 0 2%;
        margin-bottom: 3%;
    }

    #guide_page .reason-index-wrap .reason-box .reason_text p {
        padding-left: 0;
    }

    #guide_page .reason-index-wrap .reason-box .reason_img,
    #guide_page .flow_wrap .flow_box .flow_image {
        width: 100%;
    }
}

div.staff {
    margin-bottom: calc(var(--basevw, 0.078vw) * 40);
    padding-bottom: calc(var(--basevw, 0.078vw) * 40);
    border-bottom: dotted 2px var(--pointcol2, #ffae0e);
}

#symptoms_page div.staff {
    border-bottom: none;
    padding-bottom: 0;
}

div.staff:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

div.staff_last {
    margin-bottom: 0;
    border-bottom: 0;
}

div.staff h3 small {
    font-size: 0.65em;
}

div.staff .staff-prof-box {
    display: flex;
    justify-content: space-between;
}

#symptoms_page .container > div.staff:nth-of-type(even) .staff-prof-box {
    flex-flow: row-reverse;
}

div.staff .staff-prof-box .img {
    width: 35%;
}

div.staff .staff-prof-box .img img {
    border-radius: 15px;
}

#symptoms_page div.staff .staff-prof-box .img img,
#symptoms_page .container > div.staff:nth-of-type(even) .staff-prof-box .staff-txt {
    border-radius: 15px 0 0 15px;
}

div.staff .staff-prof-box .staff-txt {
    width: 60%;
    background: #fff;
    padding: calc(var(--basevw, 0.078vw) * 30);
    border-radius: 15px;
}

#symptoms_page div.staff .staff-prof-box .staff-txt {
    width: 65%;
    border-radius: 0 15px 15px 0;
}

#symptoms_page .container > div.staff:nth-of-type(even) .staff-prof-box .img img {
    border-radius: 0 15px 15px 0;
}

div.staff .staff-txt p {
    font-size: 1em;
    line-height: 2;
}

@media screen and (max-width: 1024px) {
    #symptoms_page div.staff .staff-prof-box .staff-txt {
        width: 60% !important;
        border-radius: 15px !important;
    }

    #symptoms_page div.staff .staff-prof-box .img img {
        border-radius: 15px !important;
    }
}

@media screen and (max-width: 767px) {
    div.staff .staff-prof-box {
        display: block;
    }

    div.staff .staff-prof-box .img,
    div.staff .staff-prof-box .staff-txt {
        width: 100% !important;
    }

    div.staff .staff-prof-box .staff-txt {
        margin-top: 2rem;
    }

    #symptoms_page div.staff .staff-prof-box .img img {
        border-radius: 15px 15px 0 0 !important;
    }

    #symptoms_page div.staff .staff-prof-box .staff-txt {
        width: 100% !important;
        margin-top: 0;
        border-radius: 0 0 15px 15px !important;
    }

    div.staff .staff-txt p {
        font-size: 1em;
    }
}

#access_page .access_info_wrap {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

#access_page .access_info_wrap .access_img {
    width: 50%;
    padding-right: 3%;
}

#access_page .access_info_wrap > table.table {
    width: 50%;
}

@media screen and (max-width: 767px) {
    #access_page .access_info_wrap {
        display: block;
    }

    #access_page .access_info_wrap .access_img {
        width: 100%;
        padding: 0;
        margin-bottom: 2rem;
    }

    #access_page .access_info_wrap table.table {
        width: 100%;
    }
}

.tel-info-box {
    border: 2px solid var(--pointcol2, #ffae0e);
    background: #fff;
    padding: calc(var(--basevw, 0.078vw) * 40);
}

@media screen and (min-width: 768px) {
    .tel-info-box .tel {
        font-size: 2.8em;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        line-height: 1.3em;
        color: #333333;
        display: block;
        margin-top: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .tel-info-box .tel {
        font-size: 2.8em;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        line-height: 1.3em;
        color: #333333;
        display: block;
        margin-top: 2rem;
        text-decoration: underline;
    }
}

.tel-info-box .tel + p {
    text-align: center;
    margin-top: 2rem;
}

.form-wrap {
    margin-top: calc(var(--basevw, 0.078vw) * 40);
}

.form-wrap dt {
    color: var(--titcol, #5c2f0d);
    font-weight: 500;
    margin-bottom: 0.5em;
}

.form-wrap dt span {
    display: inline-block;
    border-radius: 10px;
    background: var(--pointcol);
    color: #ffff;
    font-size: 0.8em;
    padding: 4px 8px;
    margin-left: 1rem;
}

.form-wrap input,
.form-wrap select,
.form-wrap textarea {
    padding: 1rem;
    border: var(--bocol, #c4c4c4) 1px solid;
}

.form-wrap input#calendar {
    width: auto;
}

.form-wrap dd {
    margin-bottom: 2em;
}

.form-wrap .btn-box {
    text-align: center;
}

.form-wrap .btn-box .btn_more {
    width: 300px;
    margin: 1em auto;
    border: none;
    background: var(--keycol2, #22a650);
}

.privacy-box {

    background: #fff;
    border: var(--bocol, #c4c4c4) 1px solid;
}

p.privacy_notes {
    padding: 30px 0 20px;
}

.privacy-box h1 {
    font-size: 2.5em;
    text-align: center;
    margin-bottom: 1em;
}

.privacy-box h2 {
    text-align: left;
    font-size: 1.5em;
    margin-bottom: 0.5em;
    padding: 0;
    margin-top: 1em;
}

.privacy-box h2:after {
    display: none;
}

.privacy-box p {
    color: #000;
}

.privacy-box .inner {
    padding: calc(var(--basevw, 0.078vw) * 40);
    padding-top: 0;
    height: 600px;
    overflow: auto;
}

.btn-box {
    margin-top: calc(var(--basevw, 0.078vw) * 40);
}

.btn-box .btn_more {
    max-width: 300px;
    margin: 0 auto;
    cursor: pointer;
    transition: 0.5s;
}

.btn-box .btn_more:hover {
    opacity: 0.7;
    transition: 0.5s;
}

@media screen and (max-width: 767px) {
    .tel-info-box .tel {
        font-size: 2em;
    }

    .privacy-box .inner {
        padding: calc(var(--basevw, 0.13vw) * 20);
    }

    .privacy-box h1 {
        font-size: 2em;
    }

    .form-wrap form select {
        font-size: 1.6rem;
    }

    .btn-box .btn_more {
        -webkit-appearance: none;
        width: 80%;
        max-width: 300px;
        height: 48px;
        line-height: 48px;
        padding: 0;
    }
}

/*予約ボタン*/
p.yoyaku {
    position: fixed !important;
    right: 0;
    top: 30rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: var(--keycol);
    line-height: 1;
    margin: 0;
    z-index: 9999;
    font-size: 16px;
    transition: 0.5s all;
}
p.yoyaku--hours {
    top: 5rem;
}
.periodontal p.yoyaku {
    position: fixed !important;
    right: 0;
    top: 20rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: var(--keycol2);
    line-height: 1;
    margin: 0;
    z-index: 9999;
    font-size: 16px;
    transition: 0.5s all;
}

.delay2 {
    animation-delay: 0.35s;
    -moz-animation-delay: 0.35s;
    -webkit-animation-delay: 0.35s;
    -o-animation-delay: 0.35s;
}

p.yoyaku a {
    display: block;
    color: #fff;
    padding: 30px 11px;
    text-decoration: none;
    font-size: 1.3em;
}

.treat_txt {
    width: 100%;
    text-align: center;
    font-size: 3em !important;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    vertical-align: bottom;
}

.photobig {
    width: 100% !important;
    border-radius: 15px 15px 15px 15px !important;
}

.photobig img {
    width: 100% !important;
}

.mt20 {
    margin-top: 60px;
}

.mt40 {
    margin-top: 120px;
}

.mt60 {
    margin-top: 180px;
}

.mt0 {
    padding-bottom: 20px !important;
}

.guh3 {
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.pl0 {
    padding-left: 0 !important;
}


/* インスタ連携用CSS */

.top_insta {
    margin: 30px auto 80px;
}


.insta_wrap {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 20px;
}

.CMS-INSTAGRAM-LIST {
    display: flex;
    flex-wrap: wrap;
}

.CMS-INSTAGRAM-LIST a {
    display: inline-block;

    /* calc(100/横に並べたい枚数% - 左右の余白　*　余白の数) */

    /* ↓2枚並び */
    /* width: calc(50% - 10px * 1/2); */

    /* ↓3枚並び */
    width: calc(33.33333333333% - 10px * 2/3);

    /* ↓4枚並び */
    /* width: calc(25% - 10px * 3/4); */

    margin-right: 10px;
    margin-top: 10px;
}

/* nth-child(横並びの枚数) */

/* ↓2枚並びの時 */
/* .CMS-INSTAGRAM-LIST a:nth-child(2n) {
    margin-right: 0;
  }
  .CMS-INSTAGRAM-LIST a:nth-child(-n+2) {
    margin-right: 0;
  } */

/* ↓3枚並び */
.CMS-INSTAGRAM-LIST a:nth-child(3n) {
    margin-right: 0;
}

.CMS-INSTAGRAM-LIST a:nth-child(-n+3) {
    margin-top: 0;
}

/* ↓4枚並びの時 */
/* .CMS-INSTAGRAM-LIST a:nth-child(4n) {
    margin-right: 0;
  }
  .CMS-INSTAGRAM-LIST a:nth-child(-n+4) {
    margin-right: 0;
  } */

.CMS-INSTAGRAM-LIST a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.CMS-INSTAGRAM-LIST a:nth-of-type(7),
.CMS-INSTAGRAM-LIST a:nth-of-type(8),
.CMS-INSTAGRAM-LIST a:nth-of-type(9) {
    display: none;
}

/* インスタ連携用CSS */
.jc_center {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}



#top_banner1 > div > a {
    display: block;
    width: 80%;
    margin: 0 auto 5em;
}
@media screen and (max-width: 767px) {
    #top_banner1 {
        padding: 1em 0;
    }
    #top_banner1 > div > a {
        display: block;
        width: 100%;
        max-width: 600px;
        margin: 0 auto 3em;
    }    
}


#top_banner2 {
    padding: 0 0 7em;
}
.top_banner2__block {
    display: flex;
    justify-content: space-between;
    gap: 0 2em;
}
.top_banner2__block a {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    #top_banner2 {
        padding: 0 0 7em;
        margin: -3em 0 0;
    }
    .top_banner2__block {
        flex-wrap: wrap;
        gap: 2em 0;
    }
    .top_banner2__block a {
        flex-basis: 47%;
    }
}


.treatment__banner1 {
    margin: 0 !important;
}
.treatment__banner1 > div > a {
    display: block;
    width: 55%;
    margin: 5em auto 0;
}
.treatment__banner1 > div > a img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .treatment__banner1 {
        padding: 1em 0;
    }
    .treatment__banner1 > div > a {
        display: block;
        width: 100%;
        max-width: 550px;
        margin: 0 auto 0em;
    }    
}





/*  ----------------------------------------------------------

FLOW

----------------------------------------------------------  */

.menu_ku_flow_ul {
    width: 100%;
    margin: auto;
    padding-left: 3rem;
}

.menu_ku_flow_ul li {
    display: flex;
    
}

.menu_ku_flow_ul li:nth-child(n+2) {
    margin-top: -0.1rem;
}

.menu_ku_flow_time {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: var(--keycol2);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    font-size: 1.3em;
}

.menu_ku_flow_title {
    text-align: left;
    /* font-weight: bold; */
    font-size: 1.5em;
    /* display: flex;
    justify-content: center;
    align-items: center; */
    padding-left: 1em;

    font-size: 1.2em;
    font-weight: bold;
    line-height: 2;
    color: var(--titcol, #5c2f0d);

}

.menu_ku_flow_txt {
    align-content: flex-start;
    align-items: flex-start;
    border-bottom: 0px solid var(--keycol2);
    border-left: 0.15em solid var(--keycol2);
    border-right: 0px solid var(--keycol2);
    border-top: 0px solid var(--keycol2);
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0.7em 0px 0.2em 1.2em;
    padding: 0px 0px 0px 1em;
    max-width: calc(100% - 1.5em);
}

.menu_ku_flow_txt_di {
    height: 100%;
    display: flex;
    min-height: 5em;
    font-size: 1.4em;
    align-items: center;
    line-height: 1.5;
    padding: 0 0 0 1.5em;


    font-size: 0.9em;
    line-height: 1.8;
    color: var(--titcol, #5c2f0d);

}

.menu_ku_flow_txt_di img {
    width: 76%;
    margin-right: auto;
    margin-left: inherit;
    margin-bottom: 1em;
    border-radius: 1em;
}

@media screen and (max-width:767px) {
    .menu_ku_flow_ul {
        padding-left: 0;
    }

    .menu_ku_flow_time {
        flex-basis: 6.8%;
        /* width: 3.5rem;
        height: 3.5rem; */
        border-radius: 50%;
        background: var(--keycol2);
        color: #fff;
        font-weight: bold;
        /* font-size: 1.5rem; */
    }
    

    .menu_ku_flow_title {
        flex-basis: 95%;
        /* padding-left: 1.5rem; */
        line-height: 1.5;
        text-align: left;
        /* height: 6rem; */
        padding-top: 0.3em;

    }

    .menu_ku_flow_txt {
        /* font-size: 9rem;
        padding-right: 0.66rem; */
    }

    .menu_ku_flow_txt_di {
        font-size: 1em;
        /* padding: 0 0 0 0; */
    }
}

.caret {
    color: var(--keycol2);
    flex: none;
    font-size: 1.8em;
    margin: 0px 0px 0px 0.38em;
    position: relative;
    width: auto;
    max-width: calc(100% - 0.7em);
    margin-bottom: 0.8em;
}

.fa-caret-down:before {
    content: '\f0d7';
}

.flow_step {
    color: var(--keycol2);
    font-size: 0.9em;
    font-weight: bold;
    width: 2.8em;
    justify-content: center;
    margin-bottom: 0.3em;
}

@media screen and (max-width:576px) {

    .menu_ku_flow_time {
        flex-basis: 9%;
    }
    
    .menu_ku_flow_title {
        flex-basis: 92%;
    }

}
@media screen and (max-width:375px) {

    .menu_ku_flow_time {
        flex-basis: 13%;
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@-moz-keyframes fadeInUp {
    0% {
        opacity: 0;
        -moz-transform: translateY(30px);
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
}

@-ms-keyframes fadeInUp {
    0% {
        opacity: 0;
        -ms-transform: translateY(30px);
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(-5em);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(5em);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeInUp {
    -webkit-animation: fadeInUp 1.5s ease;
    -moz-animation: fadeInUp 1.5s ease;
    -ms-animation: fadeInUp 1.5s ease;
    animation: fadeInUp 1.5s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
}
.fadeInRight {
    -webkit-animation: fadeInRight 1.5s ease;
    -moz-animation: fadeInRight 1.5s ease;
    -ms-animation: fadeInRight 1.5s ease;
    animation: fadeInRight 1.5s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
}
.fadeInLeft {
    -webkit-animation: fadeInLeft 1.5s ease;
    -moz-animation: fadeInLeft 1.5s ease;
    -ms-animation: fadeInLeft 1.5s ease;
    animation: fadeInLeft 1.5s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
}
.fade {
    opacity: 0;
}
.fade_l {
    opacity: 0;
}
.fade_r {
    opacity: 0;
}


.staff-txt__p {
    font-size: 0.9em;
    line-height: 2;
    color: var(--titcol, #5c2f0d);
}
@media screen and (max-width: 767px) {
    .staff-txt__p {
        font-size: 1em;
    }    
}





#symptoms_page div.staff .staff-prof-box .staff-txt.staff-txt--100 {
    width: 100% !important;
    border-radius: 15px !important;
}




.page h3.subtitle {
    display: inline-block;
    border-left: 1rem solid var(--keycol2);
    padding-left: 2rem;
    margin-top: 3rem;
}


.price__center {
    text-align: center;
}
.price__left {
    text-align: left !important;
}

table.table-price td ul {
    padding-left: 20px;
}
table.table-price td ul li {
    list-style:disc ;
}
@media screen and (max-width: 767px) {

    table.table-price th {
        display: block;
        width: 100%;
        font-size: 1.5rem;
    }
    table.table-price td {
        display: block;
        width: 100%;
        font-size: 1.4rem;
    }


}


video {
  width: 100%;
}


.staff__banner {
    display: block;
    margin: 8rem auto 1rem;
    width: 45rem;
}
@media screen and (max-width: 767px) {
    .staff__banner {
        width: 80%;
        max-width: 400px;
    }
}







/*  ----------------------------------------------------------

timetable001

----------------------------------------------------------  */
.timetable001 {
    width: 100%;
    margin: 0;
    padding: 1rem;
    border: 1px solid #746661;
    border-collapse: collapse;
    font-size: 0.95em;
    line-height: 1.8;
    table-layout: fixed;
    text-align: center;
}
.timetable001 tr {
    margin: 0;
    padding: 0;
    vertical-align: middle;
}
.timetable001 th, .timetable001 td {
    /* font-size: 0.95em; */
}
.timetable001 th {
    background-color: var(--keycol2, #22a650);
    color: #fff;
    font-weight: 700;
    padding: 1.5rem 0;
    border-left: 1px solid #746661;
    text-align: center;
    /* vertical-align: middle; */
    border: 1px solid #fff;
}
.timetable001 th span {
    display: inline;
}
.timetable001 .time2 {
    background-color: var(--keycol2, #22a650);
    color: #fff;
    font-weight: bold;
}
.timetable001 th:first-of-type {
    width: 17rem;
}
.timetable001 td {
    font-weight: 400;
    padding: 1.5rem 0.5rem;
    border: 1px solid var(--keycol2, #22a650);
    background: #fff;
    color: #222;
    text-align: center;
    vertical-align: middle;
    font-size: 1.4rem;
}
.timetable001 td.time1 {
    border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
    .timetable001 th {
        padding: 1rem 0;
    }
    .timetable001 td {
        padding: 1rem 0;
    }
    .timetable001 th:first-of-type {
        width: 25vw;
    }
    .timetable001__vertical {
        line-height: 1;
    }
}
@media screen and (max-width: 380px) {
    .timetable001__vertical {
        line-height: 1;
    }
    .timetable001 td {
        padding: 1.5rem 0rem;
    }
}






/*  ----------------------------------------------------------

インスタリンクボタン

----------------------------------------------------------  */

.top-sns__link {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0 3.3em;
    margin-top: 7rem;
}
.top-sns__link a {
    flex-basis: 21%;
}
.top-sns__link p {
    text-align: center;
    padding-bottom: 1em;
}
.top-sns__link p span {
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .top-sns__link {
        flex-direction: column;
        gap: 2.2em 0;
        margin-top: 5rem;
    }
    .top-sns__link a {
        width: 14em;
        margin: 0 auto;
    }
    
}

