@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 共通 ---------------------------------------- */
.p-breadcrumb,
.c-widget__title {
    display: none;
}

img {
    width: 100%;
}

a img,
button img {
    transition: all 0.3s;
}

a:hover img,
button:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
}

.movie-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.movie-wrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.h1 {
    font-size: min(3.8vw, 32px);
    font-weight: 400;
    line-height: 0.8;
    text-align: center;
    margin-bottom: 1.5em;
}

.h1 span {
    background: linear-gradient(transparent 40%, #F2EDE7 40%);
    font-family: "Oswald", serif;
    font-weight: 300;
    font-size: min(4.9vw, 42px);
    letter-spacing: 0.1em;
    line-height: 1.2;
    display: block;
    width: fit-content;
    padding: 0 0.9em;
    margin-inline: auto;
}

.cont-h2 {
    font-size: min(3.8vw, 32px);
    font-weight: 400;
    line-height: 0.8;
    text-align: center;
    margin-bottom: 1.5em;
}

.cont-h2 span {
    background: linear-gradient(transparent 40%, #F2EDE7 40%);
    font-family: "Oswald", serif;
    font-weight: 300;
    font-size: min(4.9vw, 42px);
    letter-spacing: 0.1em;
    line-height: 1.2;
    display: block;
    width: fit-content;
    padding: 0 0.9em;
    margin-inline: auto;
}

.red {
    color: #DE3F04;
    font-weight: 500;
}

.c-iconList__item {
    display: flex;
    align-items: center;
}

.c-iconList__item.-instagram {
    order: 1;
}

.c-iconList__item.-youtube {
    margin-right: 1.5em;
}

.c-iconList__item.-instagram a {
    font-size: 27px;
}

.c-iconList__item.-youtube a {
    font-size: 38px;
}

.icon-youtube:before {
    color: #F20403;
}

@media (max-width: 959px) {
    #sidebar {
        display: none;
    }
}

@media (max-width: 639px) {
    .sp_alignfull {
        position: relative;
        left: calc(50% - 50vw + var(--swl-scrollbar_width, 0px) / 2);
        width: calc(100vw - var(--swl-scrollbar_width, 0px));
    }

    .h1 {
        font-size: 4.8vw;
        line-height: 1;
    }

    .h1 span {
        font-size: 6.4vw;
    }

    .cont-h2 {
        font-size: 4.8vw;
        font-weight: 600;
        line-height: 1;
    }

    .cont-h2 span {
        font-size: 6.4vw;
    }
}

/* ヘッダー ---------------------------------------- */
.l-header {
    background: #F2EDE7;
}

.l-header__gnav {
    background: #fdfdfd;
}

@media (min-width: 960px) {
    .-parallel-bottom .l-header__inner {
        padding-top: 0;
    }

    .l-header__upper {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        padding-top: 1.1%;
        padding-bottom: 1.1%;
    }

    .-parallel-bottom .l-header__logo {
        padding: 8px 0;
    }

    .l-header__logo {
        flex-basis: 30%;
        margin-right: 1.4%;
    }

    .l-header__info {
        flex-basis: 25%;
        margin-right: 4%;
    }

    .l-header__tel {
        flex-basis: 18%;
        margin-right: 0.8%;
    }

    .l-header__mail {
        flex-basis: 9%;
        margin-right: 0.8%;
    }

    .l-header__line {
        flex-basis: 9%;

    }

    .l-header__mail img,
    .l-header__line img {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.09) 50%, rgba(0, 0, 0, 0.09) 100%);
        box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    }

    .-parallel-bottom .l-header__logo {
        order: unset;
    }

    .-parallel .l-header__gnav {
        padding-top: 1.1%;
        padding-bottom: 1.1%;
    }

    .-parallel .l-header__gnav .c-gnav {
        justify-content: space-between;
    }

    .c-gnav>.menu-item {
        flex: 1;
    }

    .c-gnav>.menu-item>a {
        border-right: 1px solid;
        transition: all 0.3s;
    }

    .c-gnav>.menu-item:first-child>a {
        border-left: 1px solid;
    }

    .c-gnav>.menu-item>a:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha( opacity=70 )";
    }

    .c-gnav>.menu-item>a .ttl {
        font-size: 16px;
    }
}

@media (max-width: 959px) {

    .l-header__upper.l-container,
    .l-header__info.l-container {
        margin-left: unset;
    }

    .l-header__logo {
        padding: 0;

    }

    .l-header__upper {
        padding-top: 12px;
    }

    .l-header__logo {
        margin-bottom: 8px;
    }

    .l-header__info {
        transition: all 0.6s;
    }

    [data-spmenu=opened] body .l-header__info {
        opacity: 0;
    }
}

@media (max-width: 959px) and (min-width: 640px) {
    .l-header__inner {
        align-items: flex-start;
    }

    .l-header__menuBtn {
        position: absolute;
    }

    .l-header__upper {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    .l-header__logo {
        flex-basis: 39%;
    }

    .l-header__info img {
        width: 48%;
    }

    .l-header__tel {
        flex-basis: 22%;
        margin-right: 0.8%;
    }

    .l-header__mail {
        flex-basis: 11%;
        margin-right: 0.8%;
    }

    .l-header__line {
        flex-basis: 11%;

    }

    .l-header__mail img,
    .l-header__line img {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.09) 50%, rgba(0, 0, 0, 0.09) 100%);
        box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    }
}

@media (max-width: 639px) {
    .l-header__logo {
        max-width: 233px;
    }

    .l-header__info {
        max-width: 375px;
    }

    .l-header__tel,
    .l-header__mail,
    .l-header__line {
        display: none;

    }
}

/* スマホ開閉メニュー ---------------------------------------- */
.p-spMenu__inner {
    box-shadow: none;
    margin-top: calc(var(--logo_size_sp) + 8px);
    padding-top: 0;
    width: 100vw;
}

.-right .p-spMenu__inner {
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
}

[data-spmenu=opened] .p-spMenu__inner {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.p-spMenu__overlay {
    opacity: 0;
}

[data-spmenu=opened] body .l-header__menuBtn .icon-menu-thin:before {
    content: "\e920";
}

.p-spMenu .p-spMenu__body {
    padding: 0 0 20vw;
}

.p-spMenu .p-spMenu__nav {
    margin-top: 0;
}

.p-spMenu .c-listMenu a {
    font-size: 16px;
    padding: 1.25em 1em 1.25em 5em;
    border: 1px solid #F2EDE7;
}

.p-spMenu .c-listMenu a:before {
    color: #DE3F04;
    left: 2.5em;
}

.p-spMenu .c-spnav a {
    border-bottom: none;
}

.p-spMenu__bottom,
.p-spMenu__bottom #nav_menu-6 {
    margin-top: 0;
}

.p-spMenu__bottom #text-7 {
    background: #DE3F04;
    color: #fff;
    font-size: 16px;
    padding: 1.25em 1em 1.25em 2.5em;
    border: 1px solid #F2EDE7;
}

.p-spMenu__bottom #media_image-9 {
    width: 76%;
    margin-left: 12%;
}

.p-spMenu__bottom #custom_html-5 {
    margin-left: 12%;
}

@media (max-width: 959px) and (min-width: 640px) {
    .p-spMenu__inner {
        margin-top: calc(var(--logo_size_sp) + 16px);
    }

    .p-spMenu__bottom #media_image-9 {
        width: 48%;
        margin-left: 26%;
        margin-top: 3em;
    }

    .p-spMenu__bottom #custom_html-5 {
        margin-left: 26%;
    }
}

/* フッター ---------------------------------------- */
.l-footer__widgetArea,
.l-footer__foot {
    background: #F2EDE7;
}

.l-footer__nav a {
    font-size: 14px;
}

.l-footer__link .c-iconList {
    justify-content: center;
    padding-top: 1em;
    padding-bottom: 0.5em;
}

.l-footer__link .privacy {
    display: flex;
    justify-content: center;
    padding-top: 1.25em;
    padding-bottom: 1.25em;
}

.l-footer__link .privacy li a {
    font-size: 16px;
    border-right: 1px solid;
    padding: 0 1.5em;
}

.l-footer__link .privacy li a:hover {
    text-decoration: underline;
}

.l-footer__link .privacy li:last-child a {
    border-right: none;
}

.l-footer__copyright {
    background: #333;
    color: #fff;
    font-size: 12px;
    padding-top: 2em;
    padding-bottom: 2em;
}

@media (min-width: 960px) {
    .w-footer__box {
        padding-left: 0;
        padding-right: 0;
    }

    .l-footer__logo {
        max-width: 356px;
        margin-top: 1em;
    }

    .l-footer__widgetArea .textwidget p {
        text-align: right;
    }

    .l-footer__nav {
        justify-content: space-between;
        padding: 0;
    }

    .l-footer__nav>.menu-item {
        flex: 1;
        text-align: center;
    }

    .l-footer__nav a {
        padding: 1em 0;
    }

    .l-footer__copyright .copyright-wrap {
        display: flex;
        justify-content: center;
    }

    .l-footer__copyright .copyright.p1 {
        margin-right: 0.5em;
    }
}

@media (max-width: 959px) and (min-width: 640px) {
    .l-footer__logo {
        width: 63%;
    }
}

@media (max-width: 959px) {
    .l-footer__widgetArea .textwidget p {
        line-height: 2;
    }

    .l-footer__link .privacy li a {
        font-size: 12px;
    }

    .l-footer__copyright .copyright.p1 {
        line-height: 1.2;
        margin-bottom: 1em;
    }

    .l-footer__copyright .copyright.p2 {
        line-height: 1.2;
    }
}

/* 固定フッター（SP） ---------------------------------------- */
#fix_bottom_menu {
    bottom: -13.3vw;
}

#fix_bottom_menu::before {
    background: none;
}

#fix_bottom_menu span {
    margin-top: 0;
}

#fix_bottom_menu .menu_list {
    height: 13.3vw;
    padding: 0;
}

#fix_bottom_menu .menu-item {
    flex: auto;
}

#fix_bottom_menu .menu-item i {
    display: none;
}

@media (min-width: 640px) {
    #fix_bottom_menu {
        display: none;
    }
}

@media (max-width: 639px) {
    #fix_bottom_menu+.p-fixBtnWrap {
        bottom: calc(13.3vw + 8px);
    }
}

/* サイドバー ---------------------------------------- */
#sidebar .c-widget+.c-widget {
    margin-top: 3em;
}

.c-widget+#nav_menu-3.c-widget,
.c-widget+#nav_menu-4.c-widget {
    margin-top: 0;
}

.c-widget+#custom_html-4.c-widget {
    margin-top: 1em;
}

#sidebar #media_image-10,
#sidebar #media_image-11 {
    margin-top: 0.5em;
}

#media_image-6 img,
#media_image-7 img {
    vertical-align: bottom;
}

.l-sidebar .c-listMenu a {
    font-size: 16px;
    padding: 1.5em 1em 1.5em 1.5em;
    border-bottom: 1px solid #404040;
    transition: all 0.3s;
}

.l-sidebar .c-listMenu a:before {
    content: none;
}

.l-sidebar .c-listMenu a:hover {
    background: rgba(242, 237, 231, 0.5)
}

#custom_html-4 p {
    line-height: 1.8;
}

/* トップページ ---------------------------------------- */
/* トップMV */
.p-mainVisual__inner {
    height: unset;
    display: flex;
    justify-content: center;
}

@media (min-width: 1920px) {
    .p-mainVisual__inner img {
        max-width: 100%;
    }
}

@media (max-width: 1919px) and (min-width: 1200px) {
    .p-mainVisual__inner img {
        width: 1920px;
        max-width: unset;
    }
}

@media (max-width: 1199px) and (min-width: 640px) {
    .p-mainVisual__inner img {
        width: 160vw;
        max-width: unset;
    }
}

@media (max-width: 639px) {
    .p-mainVisual__inner img {
        vertical-align: bottom;
    }
}

.p-mainVisual__btn {
    width: 100%;
    display: flex;
}

@media (min-width: 640px) {
    .p-mainVisual__btn {
        display: none;
    }
}

/* トップコンテンツ */
.cont-customer {
    margin-bottom: 7%;
}

.cont-taio {
    margin-bottom: 7%;
}

.cont-jisseki {
    margin-bottom: 9%;
}

.cont-seminar {
    margin-bottom: 11%;
}

/* .cont-youtube {
    margin-bottom: 14%;
}

.cont-youtube-ttl {
    margin-bottom: 0.5em;
}

.cont-youtube-item {
    margin-bottom: 3em;
}

.cont-youtube-item:last-child {
    margin-bottom: 0;
}

.cont-youtube .p1 {
    font-size: min(2.8vw, 24px);
    text-align: center;
    margin-bottom: 0.2em;
}

.cont-youtube .movie-outer {
    width: 50%;
    margin-inline: auto;
} */

.cont-recommended-1 {
    margin-bottom: 7%;
}

.cont-recommended-2 {
    margin-bottom: 16%;
}

.cont-why {
    margin-bottom: 15%;
}

.cont-why .p1 {
    font-size: min(3.8vw, 32px);
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.5em;
}

.cont-why-img {
    width: 75%;
    margin-inline: auto;
    margin-bottom: 1.5em;
}

.cont-why-item {
    margin-bottom: 4em;
}

.cont-why-item:last-child {
    margin-bottom: 0;
}

.cont-voice {
    margin-bottom: 9%;
}

.cont-voice .p1 {
    color: #DE3F04;
    font-size: min(4.5vw, 38px);
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.5em;
}

.cont-voice-item-wrap {
    margin-bottom: 2em;
}

.cont-voice-item {
    border: 1px solid #D1CDCD;
    padding: 4%;
}

.cont-voice-item-lead p {
    font-size: min(2.6vw, 22px);
    font-weight: 500;
    line-height: 1.6;
}

.cont-voice-item-profile {
    border-left: 5px solid #CCC;
    padding-left: 10px;
}

.cont-voice-item .accordionBtn {
    margin-bottom: 0;
}

.cont-voice-item-annotation {
    color: #888;
    font-size: 12px;
}

/* お客様の声アコーディオン */
.include-accordion .accordionBtn button {
    background-color: unset;
    border: none;
    padding: 0;
    margin-bottom: 0.5em;
}

.cont-voice-item.active {
    overflow-y: auto;
}

.cont-voice-item-text {
    height: 0;
    overflow: hidden;
    transition: .5s;
    margin: 0;
    opacity: 0;
}

.active .cont-voice-item-text {
    opacity: 1;
    margin-top: 1em;
}

/* お客様の声アコーディオンここまで */

.cont-voice-item-text .swell-block-faq {
    background: #F2EDE7;
    padding: 3% 2%;
}

.cont-voice-item .faq_q {
    background: #fff;
    border-radius: 10px;
    font-weight: 400;
    padding: 0.3em 1em 0.3em 3em;
}

.cont-voice-item .faq_q strong {
    font-weight: 400;
}

.cont-voice-item .faq_q:before {
    box-shadow: none;
    font-family: "Oswald", serif;
    font-weight: 300;
    font-size: 1.4em;
    top: calc(50% - 1em);
}

.cont-voice-item .faq_a:before {
    content: none;
}

.cont-voice-item-text .wp-block-button {
    width: 57%;
}

.cont-voice-item-text .wp-block-button__link {
    border-color: #707070;
    border-width: 1px;
    width: 100%;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.cont-voice .p2 {
    font-size: min(3.1vw, 26px);
    text-align: center;
}

.cont-media {
    margin-bottom: 9%;
}

.cont-choose {
    margin-bottom: 15%;
}

.cont-choose .p1 {
    color: #DE3F04;
    font-size: min(3.8vw, 32px);
    font-weight: 600;
    text-align: center;
    margin-bottom: 1.2em;
}

.cont-choose-item {
    margin-bottom: 4.5em;
}

.cont-choose-item:last-child {
    margin-bottom: 0;
}

.cont-choose-item-img {
    margin-bottom: 1.5em;
}

.cont-choose .p2 span {
    font-weight: 600;
}

.cont-positive,
.cont-positive-img {
    margin-bottom: 2%;
}

.cont-cta {
    background: #F8EFDD;
    padding-top: 4%;
    padding-bottom: 3%;
}

.cont-cta1 {
    margin-bottom: 9%;
}

.cont-cta2 {
    margin-bottom: 8%;
}

.cont-cta3 {
    margin-bottom: 15%;
}

/* .cont-cta-ttl {
    width: 91%;
    margin-inline: auto;
    margin-bottom: 0.4em;
} */

/* .cont-cta .p1 {
    color: #F20403;
    font-size: min(2.6vw, 22px);
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.2em;
} */

.cont-cta-main {
    width: 82%;
    margin-inline: auto;
    margin-bottom: 0.25em;
}

.cont-cta-caution {
    font-size: 0.9375rem;
    width: 80%;
    margin-inline: auto;
    margin-bottom: 2em;
}

.cont-cta-btn-wrap {
    width: 56%;
    margin-inline: auto;
    margin-bottom: 1.5em;
}

.cont-cta-btn {
    margin-bottom: 0.8em;
}

.cont-cta-btn:last-child {
    margin-bottom: 0;
}

.cont-cta-hosho {
    width: 90%;
    margin-inline: auto;
}

.cont-voice2-ttl {
    margin-bottom: 1em;
}

.cont-flow {
    margin-bottom: 15%;
}

.cont-flow .h2 {
    margin-bottom: 1em;
}

.cont-flow .p1 {
    font-weight: 500;
    margin-left: 1.75em;
}

.cont-flow-schedule {
    margin-bottom: 2em;
}

.cont-flow-schedule table {
    border-collapse: separate;
    border-spacing: 3px;
    width: 100%;
}

.cont-flow-schedule table th,
.cont-flow-schedule table td {
    border: none;
}

.cont-flow-schedule table th {
    background: #3C3736;
    color: #fff;
    font-weight: 400;
    text-align: center;
    width: 7em;
    padding: 0.5em;
    white-space: nowrap;
}

.cont-flow-schedule table td {
    background: #F2EDE7;
    padding: 0.5em 1em;
}

.cont-flow-item-lead {
    background: #3C3736;
    color: #FFA700;
    font-size: min(2.6vw, 22px);
    font-weight: 600;
    line-height: 1;
    display: flex;
    align-items: center;
    padding: 0.6em 1.2em;
}

.cont-flow-item-lead span {
    font-size: min(3.8vw, 32px);
    font-family: "Oswald", serif;
    font-weight: 300;
    margin-right: 0.5em;
}

.cont-flow-item-text span {
    font-weight: 600;
}

.cont-staff {
    margin-bottom: 15%;
}

.cont-staff .h3 {
    background: #3C3736;
    color: #fff;
    font-size: min(2.6vw, 22px);
    font-weight: 400;
    line-height: 1;
    padding: 0.6em 1em;
    margin-bottom: 0.7em;
}

.cont-staff .h4 {
    font-size: min(2.1vw, 18px);
    font-weight: 600;
    line-height: 2.4;
    border-bottom: 1px solid #707070;
    width: 66%;
    padding-left: 0.5em;
    margin-bottom: 0.6em;
}

.cont-staff .p1 {
    font-size: min(2.6vw, 22px);
    text-align: center;
    margin-bottom: 1em;
}

.cont-staff .p2 {
    padding-left: 0.5em;
    margin-bottom: 1.5em;
}

.cont-staff-item-img {
    width: 28%;
    float: right;
    margin-left: 6%;
}

.cont-staff-item {
    margin-bottom: 3em;
}

.cont-staff-item:last-child {
    margin-bottom: 0;
}

.cont-access .h3 {
    background: #3C3736;
    color: #fff;
    font-size: min(2.6vw, 22px);
    font-weight: 400;
    line-height: 1;
    padding: 0.6em 1em;
}

.cont-access-img {
    margin-bottom: 1.2em;
}

.cont-access-info {
    margin-bottom: 2.5em;
}

.cont-access-info table {
    width: 100%;
}

.cont-access-info table tr {
    border-bottom: 2px solid #3C3736;
}

.cont-access-info table th {
    font-weight: 500;
    text-align: left;
    white-space: nowrap;
    padding: 1em 1.5em;
}

.cont-access-info table td {
    padding: 1em;
}

.cont-access-info a {
    text-decoration: underline;
    transition: all 0.3s;
}

.cont-access-info a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
}

.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(357 / 850 * 100%);
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 959px) {
    .top .l-content {
        margin: 0 auto 2em;
    }

    .cont-access-map {
        margin-bottom: 5em;
    }

    .cont-access-branch {
        width: 56%;
        margin-inline: auto;
        margin-bottom: 0.5em;
    }

    .cont-access-branch:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 640px) {
    .cont-youtube-ttl {
        width: 70%;
        margin-inline: auto;
    }

    .cont-recommended-2 {
        width: 78%;
        margin-inline: auto;
    }

    .cont-why .p2 {
        width: 94%;
        margin-inline: auto;
    }

    .cont-voice-item>.wp-block-group__inner-container {
        display: grid;
        grid-template-columns: 37% 1fr;
        column-gap: 4%;
    }

    .cont-voice-item-lead {
        grid-column: 2 / 3;
    }

    .cont-voice-item-profile {
        grid-column: 2 / 3;
    }

    .cont-voice-item .movie-outer {
        grid-row: 1 / 4;
        grid-column: 1 / 2;
    }

    .cont-voice-item-btn {
        grid-column: 2 / 3;
    }

    .cont-voice-item-text {
        grid-column: 1 / 3;
    }

    .cont-choose .p2 {
        width: 90.5%;
        margin-inline: auto;
    }

    .cont-cta .p1 span {
        font-size: 1.4em;
    }

    .cont-flow-schedule {
        width: 77%;
        margin-inline: auto;
    }

    .cont-flow-item-inner {
        border-left: 2px solid #3C3736;
        display: flex;
        width: 95%;
        margin-left: auto;
        padding-left: 2%;
        padding-top: 1.5em;
        padding-bottom: 2.5em;
    }

    .cont-flow-item:last-child .cont-flow-item-inner {
        padding-bottom: 0.5em;
    }

    .cont-flow-item-img {
        flex-basis: 37%;
        margin-right: 2.5%;
    }

    .cont-flow-item-text {
        flex: 1;
    }
}

@media (max-width: 639px) {
    .top #content {
        padding-top: 2em;
    }

    .cont-youtube-item {
        margin-bottom: 2em;
    }

    .cont-youtube .p1 {
        font-size: 4vw;
        text-align: center;
    }

    .cont-youtube .movie-outer {
        width: 64%;
    }

    .cont-why .p1 {
        font-size: 4.8vw;
        font-weight: 600;
    }

    .cont-why-img {
        margin-bottom: 0.8em;
    }

    .cont-voice .p1 {
        font-size: 4.8vw;
    }

    .cont-voice-item-lead p {
        font-size: 4vw;
    }

    .cont-voice-item-profile p {
        font-size: 3.7vw;
    }

    .cont-voice-item-annotation {
        font-size: 2.9vw;
        width: max-content;
    }

    .cont-voice-item-text .wp-block-button {
        width: 100%;
    }

    .cont-voice .p2 {
        font-size: 4vw;
        font-weight: 500;
    }

    .cont-choose .p1 {
        font-size: 4.8vw;
        margin-bottom: 0.8em;
    }

    .cont-choose-item {
        margin-bottom: 3.5em;
    }

    .cont-choose-item-img {
        margin-bottom: 1em;
    }

    .cont-cta {
        padding-top: 7%;
        padding-bottom: 9%;
    }

    .cont-cta-ttl,
    .cont-cta-main {
        width: 94%;
        margin-bottom: 0.5em;
    }

    .cont-cta .p1 {
        font-size: 4vw;
    }

    .cont-cta-caution {
        font-size: 3.2vw;
        width: 90%;
        margin-bottom: 1.5em;
    }

    .cont-cta-btn-wrap {
        width: 94%;
        margin-bottom: 1em;
    }

    .cont-cta-btn {
        margin-bottom: 0.5em;
    }

    .cont-flow .p1 {
        margin-left: 3px;
    }

    .cont-flow-schedule table th {
        width: 6em;
    }

    .cont-flow-item {
        margin-bottom: 2.5em;
    }

    .cont-flow-item:last-child {
        margin-bottom: 0;
    }

    .cont-flow-item-lead {
        font-size: 4.3vw;
        font-weight: 500;
        padding: 0.5em 1em;
        margin-bottom: 0.8em;
    }

    .cont-flow-item-lead span {
        font-size: 6.4vw;
    }

    .cont-flow-item-inner {
        width: 97%;
        margin-inline: auto;
    }

    .cont-flow-item-img {
        margin-bottom: 0.2em;
    }

    .cont-staff .h3 {
        font-size: 4.3vw;
        font-weight: 500;
    }

    .cont-staff .h4 {
        font-size: 4vw;
        font-weight: 500;
        width: 100%;
    }

    .cont-staff .h4.float {
        width: 52%;
    }

    .cont-staff .p1 {
        font-size: 4.8vw;
    }

    .cont-staff-item-img {
        width: 41%;
    }

    .cont-access .h3 {
        font-size: 4.3vw;
        font-weight: 500;
    }

    .cont-access-img {
        margin-bottom: 0.2em;
    }

    .cont-access-info {
        margin-bottom: 1.2em;
    }

    .cont-access-info table tr {
        border-bottom: 1px solid #3C3736;
    }

    .map {
        padding-top: calc(200 / 340 * 100%);
    }

    .cont-access-branch {
        width: 89%;
    }
}

/* 症状別ページ ---------------------------------------- */
.page-symptoms .h1 {
    background: #3C3736;
    color: #fff;
    font-size: min(3.5vw, 30px);
    font-weight: 400;
    text-align: left;
    padding: 0.75em 1em;
    margin-bottom: 0;
}

.cont-fv {
    margin-bottom: 7%;
}

.cont-check {
    margin-bottom: 5%;
}

.cont-check-inner {
    background: #F2EDE7;
    padding-top: 1.5em;
    padding-bottom: 3em;
    margin-bottom: 2em;
}

.cont-check .cont-h2 {
    margin-bottom: 0.75em;
}

.cont-check .cont-h2 span {
    background: linear-gradient(transparent 40%, #fff 40%);
}

.cont-check .p1 {
    color: #DE3F04;
    font-size: min(3.5vw, 30px);
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.5em;
}

.cont-check .p2 {
    color: #DE3F04;
    font-size: min(3.1vw, 26px);
    font-weight: 500;
    text-align: center;
}

.cont-check ul {
    width: 84%;
    margin-inline: auto;
}

.cont-check ul li {
    border-bottom: 1px solid #3C3736;
    padding: 1em 1em 1em 4em;
    background: url(images/cont-check.svg);
    background-size: 15px 14px;
    background-position: 2em 1.4em;
    background-repeat: no-repeat;
}

.page-symptoms .cont-seminar,
.page-symptoms .cont-voice1 {
    margin-bottom: 15%;
}

.cont-symptoms {
    margin-bottom: 14%;
}

.cont-symptoms .h3,
.cont-vision .h3 {
    color: #F39E00;
    font-size: min(2.7vw, 23px);
    font-weight: 500;
    line-height: 2;
    text-align: center;
    padding-top: 2em;
    padding-bottom: 2em;
    position: relative;
    z-index: 0;
}

.cont-symptoms .h3 span,
.cont-vision .h3 span {
    font-size: min(3.8vw, 32px);
    line-height: 1.4;
    display: inline-block;
    width: fit-content;
    padding: 0 0.5em;
    margin-inline: auto;
    position: relative;
}

.cont-symptoms .h3 span::before,
.cont-vision .h3 span::before {
    content: '';
    height: 0.6em;
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 0;
    background: #333;
    mix-blend-mode: multiply;
}

.cont-symptoms .h3-1 {
    background: url(images/cont-symptoms-bg-1-pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cont-symptoms .h3-2 {
    background: url(images/cont-symptoms-bg-2-pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cont-symptoms .h3-3 {
    background: url(images/cont-symptoms-bg-3-pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cont-symptoms .h3-4 {
    background: url(images/cont-symptoms-bg-4-pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cont-symptoms-container-1,
.cont-symptoms-container-2 {
    background: #F2EDE7;
}

.cont-symptoms-container-1 {
    padding: 3% 5.5% 6%;
}

.cont-symptoms-container-2 {
    padding: 3% 4% 6%;
}

.cont-symptoms-container-3 {
    padding: 3% 2% 0;
}

.cont-symptoms-container-3-item {
    margin-bottom: 3.5em;
}

.cont-symptoms-container-3-item:last-child {
    margin-bottom: 0;
}

.cont-symptoms-container-3-item-ttl {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

.cont-symptoms-container-3-item-ttl .num {
    color: #D1CDCD;
    font-size: min(10.6vw, 90px);
    font-family: "Oswald", serif;
    font-weight: 500;
    line-height: 1;
    margin-right: 0.25em;
}

.cont-symptoms-container-3-item-ttl p {
    color: #E14C05;
    font-size: min(2.5vw, 21px);
    font-weight: 600;
}

.cont-symptoms-container-3-text p span {
    font-weight: 600;
}

.page-symptoms .cont-voice2 {
    margin-bottom: 12%;
}

.cont-vision {
    margin-bottom: 15%;
}

.cont-vision .h3 {
    background: url(images/cont-vision-bg-pc.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 1em;
}

.cont-vision-img {
    width: 56%;
    margin-inline: auto;
    margin-bottom: 1em;
}

.page-symptoms .cont-positive {
    margin-bottom: 8%;
}

.page-symptoms .cont-cta2 {
    margin-bottom: 8%;
}

.page-symptoms .cont-access-info p {
    background: #411605;
    color: #fff;
    font-size: min(3.1vw, 26px);
    font-weight: 600;
    text-align: center;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    margin-bottom: 0.3em;
}

.page-symptoms .cont-access-info p:last-child {
    margin-bottom: 0;
}

.page-symptoms .cont-access-info table tr {
    border-bottom: 2px solid #411604;
}

.page-symptoms .cont-access-info table th {
    color: #411604;
    font-size: min(2.4vw, 20px);
    font-weight: 600;
    padding: 0.5em 0.5em 0.5em 0;
}

.page-symptoms .cont-access-info table td {
    padding: 1em 0 1em 0.5em;
}

@media (min-width: 960px) {
    .cont-symptoms .h3 span+br.sp_+span {
        margin-left: -0.5em;
    }

    .cont-symptoms .h3 span:has(+ br.sp_) {
        margin-right: -0.5em;
    }
}

@media (min-width: 640px) {

    .cont-symptoms-container-2,
    .cont-symptoms-container-3-item {
        display: flex;
    }

    .cont-symptoms-container-2-img {
        flex-basis: 39%;
        margin-right: 3%;
    }

    .cont-symptoms-container-2-text,
    .cont-symptoms-container-3-text {
        flex: 1;
    }

    .cont-symptoms-container-3-img {
        flex-basis: 41%;
        margin-right: 4%;
    }

    .page-symptoms .cont-access {
        display: flex;
    }

    .page-symptoms .cont-access-info {
        order: 1;
        flex: 1;
    }

    .page-symptoms .cont-access-map {
        flex-basis: 42%;
        margin-right: 3%;
    }

    .page-symptoms .map {
        padding-top: calc(339 / 354 * 100%);
    }
}

@media (min-width: 600px) {
    .page-symptoms .l-content {
        padding-top: 2em;
    }
}

@media (max-width: 639px) {
    .page-symptoms .l-content {
        padding-top: 0;
    }

    .page-symptoms .h1 {
        font-size: 4vw;
    }

    .cont-check-inner {
        padding-bottom: 2em;
    }

    .cont-check .p1,
    .cont-check .p2 {
        font-size: 4.8vw;
        font-weight: 600;
    }

    .cont-check ul {
        width: 91%;
    }

    .cont-check ul li {
        padding: 1em 0.5em 1em 2.5em;
        background-position: 0.75em 1.25em;
        background-repeat: no-repeat;
    }

    .cont-symptoms .h3,
    .cont-vision .h3 {
        font-size: 4vw;
        font-weight: 500;
    }

    .cont-symptoms .h3 span,
    .cont-vision .h3 span {
        font-size: 4.8vw;
        font-weight: 600;
        line-height: 1.4;
    }

    .cont-symptoms .h3-1 {
        background: url(images/cont-symptoms-bg-1-sp.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cont-symptoms .h3-2 {
        background: url(images/cont-symptoms-bg-2-sp.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cont-symptoms .h3-3 {
        background: url(images/cont-symptoms-bg-3-sp.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cont-symptoms .h3-4 {
        background: url(images/cont-symptoms-bg-4-sp.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cont-symptoms-container-1,
    .cont-symptoms-container-2 {
        padding: 5% 4.5% 10%;
    }

    .cont-symptoms-container-3 {
        padding: 5% 4.5% 0;
    }

    .cont-symptoms-container-2-img {
        width: 94%;
        margin-inline: auto;
        margin-bottom: 0.5em;
    }

    .cont-symptoms-container-3-item {
        margin-bottom: 2.5em;
    }

    .cont-symptoms-container-3-img {
        margin-bottom: 0.5em;
    }

    .cont-symptoms-container-3-item-ttl {
        margin-bottom: 0.75em;
    }

    .cont-symptoms-container-3-item-ttl .num {
        font-size: 13.3vw;
    }

    .cont-symptoms-container-3-item-ttl p {
        font-size: 4.8vw;
    }

    .cont-vision .h3 {
        background: url(images/cont-vision-bg-sp.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cont-vision-img,
    .cont-vision-text {
        width: 97%;
        margin-inline: auto;
    }

    .page-symptoms .cont-access-info p {
        font-size: 4.3vw;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        margin-bottom: 0.5em;
    }

    .page-symptoms .cont-access-info table th {
        font-size: 4vw;
        padding-left: 1em;
    }
}

/* Q&Aページ ---------------------------------------- */
.faq .p1 {
    font-size: min(2.4vw, 20px);
    text-align: center;
    margin-bottom: 1.5em;
}

.faq .swell-block-faq__item {
    margin-bottom: 2em;
}

.faq .faq_q {
    background: #3C3736;
    color: #fff;
    font-size: min(2.6vw, 22px);
    font-weight: 400;
    padding: 0.5em 1em 0.5em 2.75em;
}

.faq .faq_q strong {
    font-weight: 400;
}

.faq .faq_q:before {
    box-shadow: none;
    font-family: "Oswald", serif;
    font-weight: 300;
    font-size: 1.4em;
    top: calc(50% - 1em);
}

.faq .faq_a {
    padding: 1em 0 1em 3.5em;
}

.faq .faq_a:before {
    content: none;
}

@media (max-width: 639px) {
    .faq .p1 {
        font-size: 4vw;
    }

    .faq .faq_q {
        font-size: 4.3vw;
    }

    .faq .faq_a {
        padding: 1em 0;
    }
}

/* ご予約・お問合せページ ---------------------------------------- */
.contact .h2 {
    background: #3C3736;
    color: #fff;
    font-size: min(2.6vw, 22px);
    font-weight: 400;
    line-height: 1;
    padding: 1em 2em;
}

.contact .p1 {
    margin-bottom: 0.5em;
}

.contact .contact-text {
    padding-left: 6.5%;
    padding-right: 6.5%;
}

.contact .contact-text-tel {
    padding-top: 1.5em;
    padding-bottom: 3em;
}

.contact .contact-text-line {
    padding-top: 1em;
    padding-bottom: 4em;
}

.contact .contact-text-form {
    padding-top: 2.5em;
}

.contact .contact-tel,
.contact .contact-line {
    width: 38%;
}

@media (max-width: 639px) {
    .contact .h2 {
        font-size: 4.3vw;
        padding: 0.75em 1em;
    }

    .contact .p1 {
        margin-bottom: 1em;
    }

    .contact .contact-text {
        padding-left: 1.5%;
        padding-right: 1.5%;
    }

    .contact .contact-text-line {
        padding-bottom: 3em;
    }

    .contact .contact-text-form {
        padding-top: 1em;
    }

    .contact .contact-tel {
        width: 67%;
        margin-inline: auto;
    }

    .contact .contact-line {
        width: 93%;
        margin-inline: auto;
    }
}

/* フォーム部分 */
table.contact-form {
    width: 100%;
    margin-bottom: 2.5em;
}

.contact-form tr {
    border-bottom: 5px solid #fdfdfd;
}

.contact-form tr:last-child {
    border-bottom: none;
}

.contact-form th {
    background: #F2EDE7;
    font-size: 18px;
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    padding: 1em 0.75em;
}

.contact-form td {
    padding: 0.5em 0 0.5em 0.75em;
}

.contact-form th span.mark.red {
    color: #F20403;
    font-size: 0.8em;
    margin-left: 1em;
}

.contact-form td .annotation {
    font-size: 14px;
    margin-top: 0.25em;
}

.contact-form td .request-wrap {
    margin-bottom: 0.5em;
}

.contact-form td .request-wrap:last-child {
    margin-bottom: 0
}

.wpcf7-text,
.wpcf7-select,
.wpcf7-textarea {
    background: #fff;
    border: 1px solid #D1CDCD;
    border-radius: 3px;
}

.wpcf7-text,
.wpcf7-textarea {
    width: 100%;
}

.wpcf7-text {
    height: 3em;
}

.wpcf7-text.request-month,
.wpcf7-text.request-date {
    width: 3em;
    height: 2em;
}

.wpcf7-select {
    height: 2em;
    padding: 0 .5em;
}

.cf7-cf-turnstile {
    text-align: center;
}

.submit-btn {
    text-align: center;
}

.wpcf7-submit {
    background: #606060;
    color: #fff;
    border: none;
    border-radius: 5px;
    width: 42%;
    padding: 1em;
    transition: all 0.3s;
}

.wpcf7-submit:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
}

.wpcf7-spinner {
    display: none;
}

@media (min-width: 640px) {
    .contact-form th br+span.mark.red {
        margin-left: 0;
    }
}

@media (max-width: 639px) {
    table.contact-form {
        margin-bottom: 1em;
    }

    .contact-form tr {
        border-bottom: none;
    }

    .contact-form th,
    .contact-form td {
        display: block;
    }

    .contact-form th {
        font-size: 15px;
        padding: 0.25em 0.75em;
    }

    .contact-form td {
        padding: 0.5em 0 1.5em 0;
    }

    .contact-form td .annotation {
        font-size: 13px;
        margin-top: 0.5em;
    }

    .contact-form td .request-wrap {
        font-size: 16px;
    }

    .wpcf7-submit {
        width: 91%;
    }
}