@charset "UTF-8";
a[href^="tel:"] {
    pointer-events: none;
}
@media screen and (max-width: 768px) {
    a[href^="tel:"] {
        pointer-events: auto;
    }
}

a {
    color: inherit;
}

.flowWrap .flowItem .txt {
    font-weight: normal;
    font-weight: 500;
    text-align: left;
}

/*=========================================
  #flow
  =========================================*/
.flowItem-notes {
    font-weight: bold;
    text-decoration: underline;

    -moz-text-align-last: left;
         text-align-last: left;
}

.flowItem-notes .text-red {
    color: red;
    font-weight: inherit;
    font-size: inherit;
}

.flow-text__list {
    margin-left: 2em;
}

.flowInnerBlock .flowItem {
    padding: 0;
    border-radius: 0;
}

.flowItem-inner {
    padding: 25px;
}

/* 四角のステップパーツ */
.flowInnerBlock .flowItem .step.square-step {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 0;
    border-radius: 0;
    font-weight: bold;
    /* 下記.montserratの!important;打ち消しのため*/
    font-family: "Noto Sans JP", "メイリオ", "Meiryo", sans-serif !important;
}

.flowInnerBlock .flowTitle .innerItem {
    background: none;
    color: #262626;
    font-weight: bold;
}

.flowInnerBlock .flowTitle .innerItem:after {
    display: none;
}

.flowInnerBlock .flowItem .ttl {
    text-align: left;
}

a.blue-link-under {
    color: #06aff0;
    text-decoration: underline;
}

.structure_imgWrap {
    height: 200px;
}

.imgChange02 {
    height: 110%;

    -o-object-fit: cover;
       object-fit: cover;
}

.pageTitleBox {
    padding-top: 40px;
}

/* ===============================================
  # クリニック修正
  =============================================== */
.new-content-inner {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
    width: 90%;
    margin: 0 auto;
}

.tokutyou-list {
    display: flex;
    flex-direction: column;
    width: -moz-fit-content;
    width:      fit-content;
    margin-right: auto;
    margin-left: auto;
}

.tokutyou-item {
    list-style: disc;
    font-weight: 500;
}

.rehabilitation-desc__cont {
    display: flex;
    justify-content: space-between;

    gap: 10px;
}

.rehabilitation-desc__item {
    width: 23%;
    transition: opacity .3s;
}

.rehabilitation-desc__item:hover {
    opacity: .7;
}

.rehabilitation-desc__item-img {
    height: 200px;
}

.rehabilitation-desc__item-img img {
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.rehabilitation-desc__item-body {
    margin-top: 10px;
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    .rehabilitation-desc__cont {
        flex-wrap: wrap;
    }
    .rehabilitation-desc__item {
        width: 48%;
    }
    .tokutyou-list {
        margin-left: 1em;
    }
}
/* ===============================================
  # 各種リハビリメニュー
  =============================================== */
.r-content {
    display: flex;
    flex-direction: column;
    row-gap: 150px;
}

.r-content__item-list {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
    padding: 20px;
    border-radius: 15px;
    background-color: #f2f2f2;
}

.r-content__item-list-item {
    display: list-item;
    list-style-type: disc;
    margin-left: 2em;
}

.r-content__item-list-item__text.t-right {
    text-align: right;
}

.r-content__item-list-item__text .t-bold {
    font-weight: bold;
}

.r-content__item-list-item__link {
    display: inline-block;
    width: -moz-fit-content;
    width:      fit-content;
    color: #628ed8 !important;
    text-decoration: underline;
}

/* プライス */
.r-content-price {
    margin-top: 50px;
}

.r-content-price__title {
    padding: 10px;
    border-radius: 10px;
    background-color: #002755;
    color: #ffffff;
    font-weight: bold;
    font-size: 22px;
}

.r-content-price__options {
    display: flex;
    justify-content: center;
    margin-top: 10px;

    gap: 20px;
}

.r-content-price__option {
    width: 30%;
    padding: 20px;
    border: 4px solid #002755;
    border-radius: 10px;
    text-align: center;
}

.r-content-price__option.options-triple {
    width: 30%;
}

.r-content-price__duration {
    color: #002755;
    font-size: 22px;
}

.r-content-price__price {
    align-self: flex-end;
    color: #002755;
    font-size: 22px;
}

.txt_bold {
    font-size: inherit;
}

/* 治療の流れ */
.r-content-flow {
    margin-top: 50px;
}

.r-content-flow-arrows {
    display: flex;
}

.r-content-flow-arrows {
    position: relative;
    z-index: -1;
}

.r-content-flow__list {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    width: 95%;
    margin: -20px auto 0;
}

.r-content-flow__item {
    width: 23%;
    padding: 20px;
    border-radius: 20px;
    background-color: #f2f2f2;
}

.r-content-flow__item-heading {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
}

.r-content-flow__item-text {
    margin-top: 20px;
}

.t-center {
    text-align: center;
}

/* 1回のみ */
.r-content-one {
    margin-top: 50px;
}

.c-blue {
    color: #002755;
}

.c-red {
    color: #c84033 !important;
    font-size: inherit;
}

.f-bold {
    font-weight: bold;
    font-size: inherit;
}

@media screen and (max-width: 768px) {
    .r-content-price__options {
        display: flex;
        flex-direction: column;
    }
    .r-content-price__option, .r-content-price__option.options-triple {
        width: 100%;
        max-width: 300px;
        margin-right: auto;
        margin-left: auto;
        padding: 20px 10px;
    }
    .r-content-flow-arrows__inner {
        display: flex;
    }
    .r-content-flow__list {
        flex-direction: column;
        justify-content: center;
        margin-top: 0;
        margin-left: 20px;

        gap: 30px;
    }
    .r-content-flow__item {
        width: 100%;
        padding: 40px 20px;
    }
    .r-content-price__title {
        font-size: 18px;
    }
    .r-content-flow-arrows img {
        height: 100%;
    }
}
.bg-gray {
    padding: 20px;
    border-radius: 20px;
    background-color: #fafafa;
}

/* ===============================================
  # en
  =============================================== */
.en-flex-content {
    display: flex;
    justify-content: center;

    gap: 30px;
}

.en-flex-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
    width: 48%;
}

.en-flex-item__img img {
    height: 500px;

    -o-object-fit: contain;
       object-fit: contain;
}

@media screen and (max-width: 768px) {
    .en-flex-item__img img {
        height: 400px;

        -o-object-fit: cover;
           object-fit: cover;
    }
}
@media screen and (max-width: 500px) {
    .en-flex-content {
        flex-direction: column;
        row-gap: 50px;
    }
    .en-flex-item {
        width: 100%;
    }
}
.en-img-content {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
}

.en-access-img img {
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.t-left {
    text-align: left !important;
}

.contactTxt.en-name {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.en-name input {
    width: 30%;
}

@media screen and (max-width: 768px) {
    .contactTxt.en-name {
        flex-direction: column;
        row-gap: 10px;
    }
    .en-name input {
        width: 100%;
    }
}
/* ===============================================
  # 微修正
  =============================================== */
@media screen and (max-width: 768px) {
    .commonAccessWrap .col .logoItem {
        width: 100%;
        max-width: 300px;
    }
}
/* ===============================================
  # ken_ishii
  =============================================== */
.en-profile {
    display: flex;
         column-gap: 20px;
    margin-top: 80px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dddddd;

    -moz-column-gap: 20px;
}

@media screen and (max-width: 768px) {
    .en-profile {
        margin-top: 50px;
    }
}
.en-profile__img {
    width: 30%;
}

.en-profile__body {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    width: 70%;
}

.en-profile__list {
    margin-left: 2em;
}

.en-profile__list li {
    list-style: disc;
    font-size: 16px;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    .en-profile__list li {
        font-size: 15px;
    }
}
@media screen and (max-width: 500px) {
    .en-profile {
        flex-direction: column-reverse;
        row-gap: 20px;
    }
    .en-profile__img {
        width: 100%;
    }
    .en-profile__body {
        width: 100%;
    }
}
.en-history {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
    margin-bottom: 150px;
    padding-top: 20px;
}

.en-history__item-list {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    margin-top: 20px;
}

.en-history__item-list__item {
    display: flex;
    align-items: center;
}

.en-history__item-list__item dt {
    flex: 2;
    font-weight: bold;
    font-size: 16px;
}

.en-history__item-list__item dd {
    flex: 8;
    font-size: 16px;
}

.en-history__item-list.en-history__item-list--number .en-history__item-list__item dt {
    flex: .5;
}

.en-history__item-list.en-history__item-list--number .en-history__item-list__item dd {
    flex: 9.5;
}

@media screen and (max-width: 768px) {
    .en-history__item-list__item {
        flex-direction: column;
        align-items: start;
        row-gap: 10px;
    }
    .en-history__item-list__item dt {
        flex: auto;
        font-size: 14px;
    }
    .en-history__item-list__item dd {
        flex: auto;
        font-size: 14px;
    }
}
.en-img-item {
    width: 80%;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .en-img-item {
        width: 100%;
    }
}
.gallery_box {
    width: 100%;
}

.main_ga_img img {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    aspect-ratio: 16/9;

    -o-object-position: top;
       object-position: top;
    -o-object-fit: cover;
       object-fit: cover;
}

.ga_thumbnail {
    display: flex;
    justify-content: space-between;
    list-style: none;
    width: 100%;
    padding: 0;

    gap: 10px;
}

@media screen and (max-width: 768px) {
    .ga_thumbnail {
        gap: 5px;
    }
}
.ga_thumbnail li {
    width: 20%;
    height: 100%;
}

.ga_thumbnail li img {
    width: 100%;
    height: 100%;
    cursor: pointer;
    transition: opacity .2s;
    aspect-ratio: 16/9;

    -o-object-position: top;
       object-position: top;
    -o-object-fit: cover;
       object-fit: cover;
}

.ga_thumbnail li img:hover {
    opacity: .7;
}

.mv-en {
    max-width: 900px;
    margin: 0 auto 100px;
    padding: 0 20px;
}

@media screen and (max-width: 768px) {
    .mv-en {
        padding: 0 10px;
    }
}
.en-text {
    word-break: keep-all;
}

.gallery_box {
    max-width: 800px;
    margin: 0 auto;
}

.headerLeft {
    align-items: start;
}

/* ===============================================
# 共通
=============================================== */
.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mt80 {
    margin-top: 80px;
}

.mt90 {
    margin-top: 90px;
}

.mt100 {
    margin-top: 100px;
}

/* ===============================================
# en
=============================================== */
.en-section__wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    padding: 0 20px;
}
@media screen and (max-width: 768px) {
    .en-section__wrapper {
        padding: 0 10px;
    }
}

.en-item {
    margin-top: 30px;
}

a.link-under {
    color: #002755;
    text-decoration: underline;
}

.en-img {
    width: 60%;
    margin-top: 20px;
    margin-bottom: 20px;

    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .en-img {
        width: 100%;
    }
}

.en-img.w100 {
    width: 100%;
}

.en-img img {
    width: 100%;
    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

.en-unit {
    margin-top: 20px;
}
.contactTxt {
    position: relative;
}
.contactTxt span.error label, span.error label {
    white-space: nowrap;
}
.contactTxt:has(.error) .iti__flag-container{
  height: fit-content;
  top: 15% !important;
}
.en-img.en-img--small {
    width: 50%;
}
@media screen and (max-width: 768px) {
    .en-img.en-img--small {
        width: 100%;
    }
}

.link-under.normal {
    font-size: 16px;
}