@charset "utf-8";
/*
Theme Name:HOLOS child
Description:テーマのスタイルを上書きカスタマイズします。
Template:holos_tcd108
Author:Yasumasa Kondo
Version:1.8.2
*/

/* ベーススタイル */
:root {
    --font_family-base: 'Zen Old Mincho', serif;
    --font_family-sub: 'Klee One', cursive;
    --font_family-goth: 'Zen Kaku Gothic New', sans-serif;
    --font_color-bk: #302210;
    /* ↑#302210 RGB(16, 30, 48) */
    --font_color-wh: #F6F4EE;
    --font_color-sub: #7E7568;
    --font_color-btn: #FAF9F6;
    --font_color-hov: #937C5E;
    --font_size-xl: 1.25rem;
    --font_size-l: 1.125rem;
    --font_size-m: 1rem;
    --font_size-s: 0.875rem;
    --font_size-xs: 0.75rem;
    --bg_color-base: #F6F4EE;
    --bg_color-sub: #FAF9F6;
    --bg_color-wh: #FEFEFE;
    --border_dot-dark: linear-gradient(to right, #302210, #302210 1px, transparent 1px, transparent 2px);
    --border_dot-light: linear-gradient(to right, #CEC9C1, #CEC9C1 1px, transparent 1px, transparent 2px);
    --border_color-dark: #302210;
    --border_color-light: #CEC9C1;
    --color_attention: #CE1D1D;
}
body {
    background: var(--bg_color-base);
    font-family: var(--font_family-base);
    color: var(--font_color-bk);
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}
@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
    margin: 0;
    letter-spacing: 0.1em;
    font-feature-settings: 'palt';
}
a {
    color: var(--font_color-bk);
}
select, option {
    color: inherit;
    -webkit-text-fill-color: inherit;
    -webkit-appearance: none;
}
input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #f9f9f9 inset;
}
::selection {
    background: var(--font_color-bk);
    color: var(--font_color-wh);
}
s {
    text-decoration: line-through 1px solid var(--color_attention);
    text-decoration-line: line-through;
    text-decoration-thickness: 1px;
    text-decoration-style: solid;
    text-decoration-color: var(--color_attention);
    -webkit-text-decoration: line-through 1px solid var(--color_attention);
    -webkit-text-decoration-line: line-through;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: solid;
    -webkit-text-decoration-color: var(--color_attention);
}
.post_content small {
    display: block;
    font-size: var(--font_size-s);
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-top: 1em;
    line-height: 1.8;
}
body.page p:empty {
    display: none;
}
@media screen and (max-width: 800px) {
    .post_content small {
        font-size: var(--font_size-xs);
    }
}
/* レイアウト・サイズ */
.sp-only {
    display: none;
}
#container {
    background: var(--bg_color-sub) !important;
}
body.page #page_contents .post_content {
    width: 80% !important;
    max-width: 980px;
}
.full_wrap {
    position: relative;
    width: calc(100vw - 280px);
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
}
.wide_wrap {
    position: relative;
    width: calc(85vw - 280px);
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
}
.wp-block-group {
    scroll-margin-top: 4em;
}
@media screen and (max-width: 1450px) {
    .full_wrap {
        width: calc(100vw - 230px);
    }
    .wide_wrap {
        width: calc(85vw - 230px);
    }
}
@media screen and (max-width: 1300px) {
    body.page #page_contents .post_content {
        width: 100% !important;
    }
    .full_wrap {
        width: 100vw;
    }
    .wide_wrap {
        width: 100%;
    }
}
@media screen and (max-width: 1000px) {
    #page_header {
        height: 400px !important;
    }
}
@media screen and (max-width: 800px) {
    #page_header {
        height: 300px !important;
    }
    .sp-only {
        display: block;
    }
    .pc-only {
        display: none;
    }
    .post_content p, .post_content li {
        font-size: var(--font_size-s);
        line-height: 2;
    }
}
/* クイックタグ */
* + .q_frame {
    margin-top: 4em !important;
}
.q_frame {
    padding: 2.5em 2em;
}
.q_frame ul li {
    margin-bottom: 0.5em;
}
.q_frame ul li:last-child {
    margin-bottom: 0;
}
.q_underline {
    background-position: 0 1.3em;
    background-size: 200% 0.5em;
}
.q_underline.is-active {
    background-position: -100% 1.3em;
}
.q_custom_button::after {
    content: "";
    width: 9px;
    height: 9px;
    position: absolute;
    right: 2.3em;
    top: 51%;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transition: all 0.2s ease-in;
}
.q_custom_button2::after {
    border-top: 1px solid #302210 !important;
    border-right: 1px solid #302210 !important;
}
.q_custom_button:hover::after {
    right: 1.8em;
}
.q_custom_button2:hover::after {
    border-color: #fff !important;
}
#page_contents a.q_custom_button1 {
    min-width: 280px;
    height: 60px;
    border-radius: 70px;
    color: #fff !important;
    background-color: #302210;
    border: none;
}
#page_contents a.q_custom_button1::before {
    background-color: #937c5e !important;
    opacity: 0;
}
#page_contents a.q_custom_button1:hover::before {
    opacity: 1;
}
#page_contents a.q_custom_button2 {
    min-width: 280px;
    height: 60px;
    border-radius: 70px;
    color: #302210 !important;
    border-color: #302210;
}
#page_contents a.q_custom_button2::before {
    background-color: #937c5e !important;
    opacity: 0;
}
#page_contents a.q_custom_button2:hover {
    color: #fff !important;
    border-color: #937c5e !important;
}
#page_contents a.q_custom_button2:hover::before {
    opacity: 1;
}
div[id^=flex_btn_wrap] {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 55px auto 0;
}
div[id^=flex_btn_wrap] .q_button_wrap {
    margin: 0 25px;
}
div#flex_btn_wrap02 {
    margin-top: 35px;
}
@media screen and (max-width: 1200px) {
    #page_contents a.q_custom_button {
        min-width: 260px;
    }
}
@media screen and (max-width: 800px) {
    .q_frame {
        padding: 2.2em 1.5em;
    }
    .q_frame_label {
        font-size: var(--font_size-s);
    }
    #page_contents a.q_custom_button {
        min-width: 240px;
        height: 50px;
    }
    div[id^=flex_btn_wrap] {
        display: block;
        margin: 2.3em auto 0;
    }
    div[id^=flex_btn_wrap] .q_button_wrap {
        margin: 0.8em 0 0;
    }
    div#flex_btn_wrap02 {
        margin-top: 1em;
    }
}
/* 見出し追加デザイン */
.post_content h3.headline_sub {
    font-size: 24px;
    padding-top: 1em;
    margin: 3.5em auto 2.2em;
    border-top: 2px solid var(--font_color-sub);
    display: table;
    text-align: center;
    line-height: 1;
}
.separator_text .uagb-html-tag {
    word-break: keep-all !important;
}
@media screen and (max-width: 1100px) {
    .post_content h3.headline_sub {
        font-size: 22px;
    }
}
@media screen and (max-width: 800px) {
    .post_content h2 {
        margin: 2.5em 0 1.4em 0;
    }
    .post_content h3.headline_sub {
        font-size: 20px;
    }
}
@media screen and (max-width: 600px) {
    .post_content h2 {
        margin: 2.3em 0 1.4em 0;
    }
}
/* ヘッダー */
#global_menu > ul > li > a {
    color: var(--font_color-bk) !important;
}
#global_menu > ul > li.active > a, #global_menu > ul > li.current-menu-item > a {
    background: var(--bg_color-sub) !important;
    color: var(--font_color-hov) !important;
}
#global_menu ul ul.sub-menu {
    width: 250px;
}
#global_menu ul ul a {
    background: var(--bg_color-sub) !important;
    color: var(--font_color-bk) !important;
}
#global_menu ul ul a:hover {
    color: var(--font_color-hov) !important;
}
#global_menu ul ul::after {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2) !important;
}
#header_sns li a::before {
    color: var(--font_color-bk) !important;
}
@media screen and (min-width: 1301px) {
    #header_logo img {
        max-width: calc(100% - 140px);
    }
}
@media screen and (max-width: 1450px) {
    #header_logo img {
        max-width: calc(100% - 100px);
    }
}
@media screen and (max-width:1300px) {
    #header {
        background: var(--bg_color-base) !important;
    }
    #header_logo img {
        max-height: calc(100% - 25px);
    }
}
/* ドロワー */
#drawer_menu_button span {
    background: var(--font_color-bk) !important;
}
#drawer_mneu_close_button::before {
    color: var(--font_color-bk) !important;
}
#drawer_menu {
    background: var(--bg_color-sub) !important;
}
#mobile_menu {
    margin: 25px 0 !important;
}
#mobile_menu a {
    background: var(--bg_color-sub) !important;
    color: var(--font_color-bk) !important;
}
#mobile_menu li li a {
    background: rgba(250, 249, 246, 0.2) !important;
    padding: 0 50px 0 48px !important;
}
#mobile_menu .child_menu_button::after {
    color: var(--font_color-bk) !important;
}
#mobile_sns li a::before {
    color: var(--font_color-bk) !important;
}
#drawer_icon_button a {
    border: 1px solid rgba(48, 34, 16, 0.5) !important;
    color: var(--font_color-bk) !important;
}
/* フッター */
#footer {
    background: var(--bg_color-base) !important;
}
#footer::before {
    display: none !important;
}
#footer_widget_area {
    border-top: none !important;
}
#footer_widget_area::before {
    position: absolute;
    width: 100%;
    height: 1px;
    display: block;
    content: "";
    height: 1px;
    background-image: var(--border_dot-light);
    background-size: 2px 1px;
    background-repeat: repeat-x;
    top: 0;
}
.footer_widget_content {
    color: var(--font_color-bk) !important;
    border-right: 1px dotted var(--border_color-light) !important;
    border-bottom: 1px dotted var(--border_color-light) !important;
}
.footer_widget_content:nth-child(2n) {
    border-right: none !important;
}
#footer .widget_text .textwidget {
    line-height: 2 !important;
}
#footer .widget_custom_html table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
#footer .widget_custom_html table tr {
    position: relative;
}
#footer .widget_custom_html table th {
    text-align: left;
    font-weight: 400;
    padding: 16px 0 5px;
    width: 120px;
    border-bottom: 1px dotted var(--border_color-light);
}
#footer .widget_custom_html table tr:first-child th {
    padding-top: 0;
}
#footer .widget_custom_html table td {
    text-align: left;
    font-weight: 400;
    padding: 0 0 16px;
    border-bottom: 1px dotted var(--border_color-light);
}
#footer .widget_custom_html table tr:last-child th {
    border-bottom: none;
}
#footer .widget_custom_html table tr:last-child td {
    padding-bottom: 0;
    border-bottom: none;
}
#footer .reserve_widget .desc {
    margin-bottom: 20px;
}
#footer .reserve_widget .reserve_button {
    background: var(--border_color-dark) !important;
    border: 1px solid var(--border_color-dark) !important;
    color: var(--font_color-btn) !important;
    transition-duration: .4s !important;
    transition-property: background !important;
    letter-spacing: 0.08em !important;
}
#footer .reserve_widget .reserve_button:hover {
    background: var(--font_color-hov) !important;
    border: 1px solid var(--font_color-hov) !important;
}
#footer_info {
    color: var(--font_color-bk) !important;
    border-top: 1px dotted var(--border_color-light) !important;
}
#footer_nav {
    display: block !important;
    padding: 15px 0 !important;
    border-top: 1px dotted var(--border_color-light) !important;
}
#footer_nav li a {
    padding: 10px !important;
    color: var(--font_color-bk) !important;
    height: auto !important;
    line-height: 1 !important;
    font-size: var(--font_size-s) !important;
	transition-duration: .3s !important;
	transition-property: color !important;
}
#footer_nav li a:hover, #footer_nav li.current-menu-item a {
    color: var(--font_color-hov) !important;
}
#copyright {
    background: var(--bg_color-base) !important;
    color: var(--font_color-bk) !important;
    border-top: 1px dotted var(--border_color-light) !important;
    font-size: var(--font_size-xs) !important;
}
#footer_sns li a::before {
    color: var(--font_color-bk) !important;
}
#return_top {
    border-top: 1px dotted  var(--border_color-light) !important;
    background: var(--bg_color-sub);
}
#return_top::before {
    color: var(--font_color-bk);
}
@media screen and (max-width: 1300px) {
    #footer .widget_custom_html table th {
        width: 100%;
        display: block;
        border-bottom: none;
    }
    #footer .widget_custom_html table td {
        width: 100%;
        display: block;
    }
}
@media screen and (max-width: 800px) {
    #footer_nav {
        padding: 12px 0 !important;
    }
    #footer_nav li a {
        padding: 6px !important;
        font-size: var(--font_size-xs) !important;
    }
    #footer_sns {
        border-top: none !important;
        padding: 0 20px 11px !important;
    }
}
@media screen and (max-width: 700px) {
    .footer_widget_content {
        border-right: none !important;
    }
    .footer_widget_content.widget_text {
        padding: 40px 20px !important;
    }
}
/* PCサイドボタン */
#side_icon_button_inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1px;
}
#side_icon_button a {
    background: var(--border_color-dark) !important;
    color: var(--font_color-btn) !important;
}
#side_icon_button a:hover {
    background: var(--font_color-hov) !important;
}
/* パンくずリスト */
#bread_crumb {
    border-bottom: none !important;
}
#bread_crumb::after {
    position: absolute;
    width: 100%;
    height: 1px;
    display: block;
    content: "";
    height: 1px;
    background-image: var(--border_dot-light);
    background-size: 2px 1px;
    background-repeat: repeat-x;
    bottom: 0;
    left: 0;
}
#bread_crumb li a {
    color: var(--font_color-bk) !important;
}
#bread_crumb li::after {
    color: var(--font_color-bk) !important;
}
#bread_crumb li.home a::before {
    color: var(--font_color-bk) !important;
}
#bread_crumb li:last-of-type {
    color: var(--font_color-bk) !important;
}
#bread_crumb li a:hover {
    color: var(--font_color-hov) !important;
}
#bread_crumb li.home a:hover::before {
    color: var(--font_color-hov) !important;
}
@media screen and (max-width: 800px) {
    #bread_crumb {
        margin: 0 0 3.5em 0;
    }
}
/* トップページ */
body.home #news_ticker {
    border-bottom: none !important;
}
body.home #news_ticker::after {
    position: absolute;
    width: 100%;
    height: 1px;
    display: block;
    content: "";
    height: 1px;
    background-image: var(--border_dot-light);
    background-size: 2px 1px;
    background-repeat: repeat-x;
    bottom: 0;
    left: 0;
}
body.home #content_builder {
    background: var(--bg_color-sub);
}
body.home .cb_white_bg + .cb_white_bg {
    margin-top: inherit;
}
body.home .cb_header .catch {
    color: var(--font_color-bk);
}
body.home .design_button {
    color: var(--font_color-bk) !important;
    border: 1px solid var(--font_color-bk);
}
body.home .design_button:hover {
    color: var(--font_color-wh) !important;
    border: 1px solid var(--font_color-bk);
    background: var(--font_color-bk);
}
body.home .cb_service .design_button {
    color: var(--font_color-wh) !important;
    border-color: var(--font_color-wh);
}
body.home .cb_service .design_button:hover {
    color: var(--font_color-bk) !important;
    border-color: var(--main_color);
    background: var(--main_color);
}
body.home .swiper-pagination span {
    background: transparent;
    border: 2px solid var(--border_color-light);
    width: 14px;
    height: 14px;
}
body.home .swiper-pagination span.swiper-pagination-bullet-active {
    border-color: var(--border_color-dark);
}
body.home .cb_service .swiper-pagination .swiper-pagination-bullet-active {
    background: transparent;
}
body.home .design_content .catch {
    line-height: 1.6;
    font-size: var(--headline_font_size);
    color: var(--font_color-bk);
}
body.home .design_content .content.direction_type2 .catch + .desc {
    margin: 0 30px 0 0;
    line-height: 2.7;
}
body.home .design_content .content.direction_type2 .catch + .desc p span {
    display: block;
    margin: 0 18px 0 0;
}
body.home .design_content .content.direction_type2 .catch + .desc p > br {
    display: none;
}
body.home .cb_service .cb_header .catch {
    color: var(--font_color-wh);
}
body.home .cb_service_list .item {
    background: var(--bg_color-wh);
}
body.home .cb_service_list .title {
    font-size: var(--font_size-l);
    color: var(--font_color-bk);
    background: var(--bg_color-sub);
    padding: 20px;
}
body.home .cb_service_list .desc {
    line-height: 2.2;
    padding: 20px 30px 30px;
}
body.home .cb_voice {
    background: var(--bg_color-base);
}
body.home .cb_voice_list .content .title {
    color: var(--font_color-bk);
}
body.home .cb_voice .swiper-pagination {
    margin: 10px 0 0;
}
body.home .cb_author {
    background: var(--bg_color-base);
}
body.home .cb_author_list .item {
    background: inherit;
}
body.home .cb_author_list .content {
    background: var(--bg_color-wh);
    border: 1px solid var(--bg_color-wh);
}
body.home .cb_author_list .content .name {
    color: var(--font_color-bk);
}
body.home .cb_author_list .content dt {
    margin: 30px 0 10px;
    color: var(--font_color-bk);
    text-decoration: underline 1px solid var(--font_color-bk);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-style: solid;
    text-decoration-color: var(--font_color-bk);
    text-decoration-skip-ink: none;
    text-underline-offset: 4px;
    -webkit-text-decoration: underline 1px solid var(--font_color-bk);
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: solid;
    -webkit-text-decoration-color: var(--font_color-bk);
    -webkit-text-decoration-skip-ink: none;
    -webkit-text-underline-offset: 4px;
}
body.home .cb_free_space {
    background: var(--bg_color-base);
}
body.home .cb_free_space:last-of-type {
    padding: 0;
}
body.home .cb_free_space #home_campaign {
    max-width: 980px;
    margin: 7em auto 0;
    padding: 4em;
    background: var(--bg_color-sub);
    border: 1px dotted var(--border_color-light);
    position: relative;
}
body.home .map_container {
    margin: 0 auto -1px !important;
}
@media screen and (max-width: 800px) {
    body.home #news_ticker {
        padding-bottom: 6px;
    }
    body.home .desc p {
        font-size: var(--font_size-s);
    }
    body.home .cb_header .catch + .desc {
        margin: 20px 0 -10px 0;
    }
    body.home .design_content .content_wrap {
        padding: 60px 20px;
    }
    body.home .design_content .catch {
        font-size: var(--headline_font_size_sp);
    }
    body.home .design_content .content.direction_type2 .catch + .desc {
        margin: 0 15px 0 0;
        line-height: 2.4;
    }
    body.home .design_content .content.direction_type2 .catch + .desc p span {
        margin: 0 5px 0 0;
    }
    body.home .cb_service {
        padding: 60px 20px;
    }
    body.home .cb_service_list .title {
        font-size: var(--font_size-m);
        padding: 15px;
    }
    body.home .cb_service_list .desc {
        line-height: 2;
        padding: 20px 25px 25px;
        font-size: var(--font_size-s);
    }
    body.home .cb_voice {
        padding: 60px 20px;
    }
    body.home .cb_voice_list .item.no_image {
        aspect-ratio: 500 / 320;
    }
    body.home .cb_voice_list .no_image .content {
        padding: 0 60px;
    }
    body.home .cb_voice .swiper-pagination {
        margin: 20px 0 0;
    }
    body.home .cb_slide_content {
        padding: 60px 20px;
    }
    body.home .slide_content_list .content {
        margin: 30px auto 0;
    }
    body.home .slide_content_list .catch + .desc {
        margin: 20px 0 0 0;
        font-size: var(--font_size-s);
    }
    body.home .cb_free_space.wide_content {
        padding: 60px 20px;
    }
    body.home .cb_free_space #flex_btn_wrap {
        margin-top: 50px !important;
    }
    body.home .cb_free_space #home_campaign {
        margin: 3em auto 0;
        padding: 2em;
    }
    body.home .cb_blog_list {
        padding: 60px 20px;
    }
    body.home .cb_author {
        padding: 60px 20px;
    }
    body.home .map_container {
        margin: 0 auto -1px !important;
    }
}
/* お問い合わせフォーム */
.wpcf7 {
    width: 90%;
    margin: 80px auto 2.5em !important;
    border: none !important;
    background: inherit !important;
}
.wpcf7 form {
    margin: 0 !important;
}
.wpcf7 span.required {
    color: var(--color_attention);
    display: inline-block;
    margin-left: 3px;
}
.wpcf7-not-valid-tip {
    color: var(--color_attention);
    font-size: var(--font_size-xs);
    font-weight: 600;
    margin-top: 6px;
    text-align: right;
}
.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    display: none;
}
.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
    display: block;
}
.wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]), .wpcf7 select, .wpcf7 textarea {
    font-family: var(--font_family-base);
    border-radius: 0;
    background-color: transparent;
    border: none;
    width: 100%;
    padding: 15px;
    line-height: 1.8;
}
.wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]):focus-visible, .wpcf7 select:focus-visible, .wpcf7 textarea:focus-visible {
    outline: none;
}
.wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]), .wpcf7 select {
    border-bottom: 1px solid var(--border_color-dark);
}
.wpcf7 textarea {
    border: 1px solid var(--border_color-dark);
    margin-top: 20px !important;
}
.wpcf7 label {
    width: 100%;
    font-size: var(--font_size-s);
    font-weight: 600;
    margin-bottom: 20px;
    display: block;
}
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
    display: block;
    position: relative;
    width: 220px;
    height: 50px;
    margin: 40px auto 0;
    background-color: var(--border_color-dark);
    border: none !important;
    border-radius: 8px;
    outline: none;
    color: #fff;
    font-size: var(--font_size-m);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s;
}
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover {
    background-color: var(--font_color-hov);
}
.wpcf7 .wpcf7-submit:disabled {
    background-color: #999 !important;
}
.wpcf7-spinner {
    display: block;
    margin: 15px auto 0;
    background-color: var(--font_color-bk);
}
.wpcf7 form .wpcf7-response-output {
    background: #ffffff !important;
    border-radius: 10px !important;
    border-width: 3px !important;
    border-color: var(--border_color-light) !important;
    border-style: double !important;
    padding: 1.5em !important;
    margin: 1em 0.5em 0 !important;
    font-size: var(--font_size-m) !important;
    line-height: 1.6 !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    color: var(--font_color-bk);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: var(--color_attention);
}
.wpcf7-turnstile.cf-turnstile {
    text-align: center;
}
@media screen and (max-width: 800px) {
    .wpcf7 {
        width: 100%;
        margin: 60px auto 2.5em !important;
    }
    .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]), .wpcf7 select, .wpcf7 textarea {
        font-size: var(--font_size-s);
    }
    .wpcf7 label {
        font-size: var(--font_size-xs);
    }
    .wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
        height: 40px;
        font-size: var(--font_size-s);
    }
    .wpcf7 form .wpcf7-response-output {
        margin: 1em 0 0 !important;
        font-size: var(--font_size-s) !important;
    }
}
/* Google Map */
.map_container {
    margin: 80px auto -121px !important;
    filter: grayscale(40%);
    -webkit-filter: grayscale(40%);
    /* filter: hue-rotate(-50deg); */
    /* -webkit-filter: hue-rotate(-50deg); */
}
@media screen and (max-width: 800px) {
    .map_container {
        margin: 50px auto -41px !important;
    }
}
/* アクセス */
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    border-color: var(--border_color-light) !important;
}
.table_access {
    margin-top: 3.5em;
}
.table_access .table_link {
    padding: 0 !important;
}
.table_access .table_link a {
    display: block;
    background: var(--border_color-dark);
    color: var(--font_color-btn) !important;
    padding: 10px;
    text-decoration: none;
    transition-duration: .4s;
    transition-property: background;
}
.table_access .table_link a:hover {
    background: var(--font_color-hov);
    outline: 0;
}
@media screen and (max-width: 800px) {
    .table_access table {
        border-bottom: 1px solid var(--border_color-light) !important;
    }
    .table_access th {
        border-bottom: none !important;
        background: var(--bg_color-base) !important;
    }
    .table_access td {
        border-bottom: none !important;
    }
}
/* ブログ */
#category_sort_button_wrap {
    background: var(--bg_color-base) !important;
}
body.archive.category #category_sort_button_wrap {
    height: 0;
    overflow: hidden;
}
#category_sort_button .item.active_menu a {
    background: var(--bg_color-sub) !important;
    color: var(--font_color-hov) !important;
}
#category_sort_button a:hover {
    color: var(--font_color-hov) !important;
}
p#no_post {
    text-align: center;
    margin: 4em 0;
}
.blog_list .content {
    border: 1px solid var(--bg_color-base) !important;
    border-top: none !important;
    padding: 20px 30px 30px !important;
    background: var(--bg_color-wh) !important;
}
.blog_list .categories {
    margin: 0 0 10px 0 !important;
}
.blog_list .category {
    height: 32px !important;
    line-height: 32px !important;
}
.blog_list a:hover {
    color: var(--font_color-hov) !important;
}
.blog_list a.category:hover {
    color: var(--bg_color-wh) !important;
}
.blog_list .date_list {
    margin: 35px 0 0 !important;
}
.date_list .date, .date_list .update {
    color: var(--font_color-sub) !important;
}
.page_navi a, .page_navi .current, .page_navi .dots {
    background: var(--bg_color-wh) !important;
    border: 1px solid var(--border_color-light) !important;
    color: var(--font_color-bk) !important;
}
.page_navi .current, .page_navi a:hover {
    background: var(--font_color-hov) !important;
    border: 1px solid var(--font_color-hov) !important;
    color: var(--font_color-btn) !important;
}
body.single-post #single_post_header {
    margin-bottom: 0;
}
body.single-post #single_post_header .image {
    border-radius: 10px 10px 0 0;
}
body.single-post .post_content {
    background: var(--bg_color-wh);
    border-radius: 10px;
    padding: 5em 4em 6em;
}
body.single-post #single_post_header:has(.image) + .post_content {
    border-radius: 0 0 10px 10px;
}
#single_related_post .headline {
    font-size: 22px !important;
    padding: 25px 0 0 0 !important;
    margin: 0 auto 50px !important;
    border-top: 3px double var(--border_color-light) !important;
}
#single_related_post .item {
    margin: 0 0 22px 0 !important;
}
#single_related_post .animate_background {
    width: 30% !important;
}
#single_related_post .content {
    width: 70% !important;
    padding: 30px !important;
    border: 1px solid var(--bg_color-base) !important;
    background: var(--bg_color-wh) !important;
}
#next_prev_post .item {
    border: 1px solid var(--border_color-light) !important;
    height: 80px !important;
}
#next_prev_post .item::before {
    color: var(--font_color-bk) !important;
}
#next_prev_post a:hover {
    color: #fff !important;
    background: var(--border_color-light) !important;
}
#next_prev_post a:hover::before {
    color: #fff !important;
}
@media screen and (max-width: 1100px) {
    body:not(.home) .blog_list .item {
        width: calc(100% / 2 - 15px);
    }
    #next_prev_post .item {
        height: 60px !important;
    }
}
@media screen and (max-width: 800px) {
    #category_sort_button_wrap {
        margin-bottom: 50px !important;
    }
    p#no_post {
        font-size: var(--font_size-s);
    }
    body:not(.home) .blog_list .item {
        width: calc(100% / 2 - 10px);
    }
    .blog_list .content {
        padding: 20px 20px 20px !important;
    }
    .blog_list .category {
        height: 30px !important;
        line-height: 30px !important;
        margin: 0 0 5px 0 !important;
    }
    .blog_list .date_list {
        margin: 30px 0 0 !important;
    }
    body.single-post #single_post_header .image {
        border-radius: 0;
    }
    body.single-post .post_content {
        border-radius: 0;
        padding: 3.5em 20px 5em;
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
    body.single-post #single_post_header:has(.image) + .post_content {
        border-radius: 0;
    }
    #single_related_post .headline {
        font-size: 18px !important;
        padding: 20px 0 0 0 !important;
        margin: 0 auto 40px !important;
    }    
    #single_related_post .item {
        margin: 0 20px 1px 0 !important;
    }    
    #single_related_post .animate_background {
        width: 100% !important;
    }    
    #single_related_post .content {
        width: 100% !important;
        padding: 20px 20px 10px !important;
    }
    #single_related_post .category {
        border-color: var(--font_color-sub) !important;
        color: var(--font_color-wh) !important;
        background: var(--font_color-sub) !important;
    }
}
@media screen and (max-width: 600px) {
    body:not(.home) .blog_list .item {
        width: auto;
    }
}
/* サイドウィジェット */
.widget_tab_post_list_button div {
    background: var(--font_color-bk) !important;
    color: var(--font_color-wh) !important;
}
.widget_tab_post_list_button div.active {
    background: var(--bg_color-wh) !important;
    color: var(--font_color-bk) !important;
}
.widget_tab_post_list li {
    background: var(--bg_color-wh) !important;
}
.widget_tab_post_list .image_wrap {
    max-width: 80px !important;
}
.widget_tab_post_list .title_area {
    min-width: calc(100% - 80px) !important;
}
.widget_categories .widget_headline {
    border-radius: 0 !important;
    font-size: var(--font_size-s) !important;
    background: var(--font_color-bk) !important;
    border: 1px solid #ddd !important;
    color: var(--font_color-wh) !important;
}
.widget_categories li a {
    font-size: var(--font_size-s) !important;
    background: var(--bg_color-wh) !important;
}
/* 患者さまの声 */
.archive_catch {
    width: 80% !important;
    max-width: 980px;
    color: var(--font_color-bk) !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 auto 1.3em !important;
    text-align: center !important;
}
.archive_desc {
    width: 80% !important;
    max-width: 980px;
}
#voice_sort_button .item {
    font-weight: 700 !important;
}
#voice_sort_button .item {
    border-bottom: 2px double var(--border_color-light) !important;
}
#voice_sort_button .item.active_menu {
    border-bottom: 2px solid var(--border_color-dark) !important;
}
.voice_list .item {
    padding: 45px !important;
    margin: 0 0 35px 0 !important;
    border: 1px solid var(--bg_color-base) !important;
    background: var(--bg_color-wh) !important;
}
.voice_list .image_wrap {
    width: 218px !important;
    height: 320px !important;
}
.voice_list .content {
    width: calc(100% - 218px) !important;
    padding: 0 0 0 40px !important;
}
.voice_list .no_image .content {
    width: auto !important;
    padding: 0 !important;
}
.voice_list .title {
    color: var(--font_color-bk) !important;
}
.voice_list .desc {
    line-height: 2 !important;
    padding: 30px 35px !important;
    background: transparent !important;
    border: 2px double var(--border_color-light) !important;
}
.voice_list .link a {
    color: var(--font_color-hov) !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
}
.voice_list .link a:hover {
    color: var(--font_color-hov) !important;
    opacity: .6 !important;
}
.voice_list .link a::after {
    font-size: 13px !important;
    right: -24px !important;
    top: 6px !important;
    color: var(--font_color-hov) !important;
}
.entry-more .design_button {
    color: var(--font_color-bk) !important;
    border: 1px solid var(--font_color-bk) !important;
    background: transparent;
}
.entry-more .design_button:hover {
    color: var(--font_color-wh) !important;
    border: 1px solid var(--font_color-bk) !important;
    background: var(--font_color-bk) !important;
}
@media screen and (max-width: 1300px) {
    .archive_catch {
        width: calc(100% - 160px) !important;
    }
    .archive_desc {
        width: calc(100% - 160px) !important;
    }
}
@media screen and (max-width: 1100px) {
    .archive_catch {
        font-size: 26px !important;
    }
    .voice_list .item {
        padding: 40px !important;
    }
    .voice_list .image_wrap {
        width: 150px !important;
        height: 180px !important;
    }
    .voice_list .content {
        width: calc(100% - 150px) !important;
        padding: 0 0 0 30px !important;
    }
    .voice_list .meta {
        margin: 0 0 15px !important;
    }
    .voice_list .desc {
        padding: 25px 30px !important;
    }
}
@media screen and (max-width: 1000px) {
    .archive_catch {
        width: calc(100% - 100px) !important;
    }
    .archive_desc {
        width: calc(100% - 100px) !important;
    }
    .voice_list .title {
        margin-bottom: 20px !important;
    }
    .voice_list .desc.mobile {
        margin-top: 20px !important;
    }
    .voice_list .item:not(:has(img)) .desc.mobile {
        margin-top: 0 !important;
    }
    .voice_list .link a::after {
        top: 3px !important;
    }
}
@media screen and (max-width: 800px) {
    .archive_catch {
        font-size: 22px !important;
        margin: 0 auto 1.4em !important;
        width: calc(100% - 40px) !important;
    }
    .archive_desc {
        margin: 0px auto 50px !important;
        width: calc(100% - 40px) !important;
    }
    #voice_sort_button_wrap {
        margin: 50px 0 40px !important;
    }    
    #voice_sort_button .item {
        font-size: var(--font_size-s) !important;
        margin-right: 25px !important;
    }
    .voice_list .item {
        margin: 0 0 20px 0 !important;
        padding: 25px !important;
        border-radius: 7px !important;
    }
    .voice_list .image_wrap {
        width: 120px !important;
        height: 150px !important;
    }
    .voice_list .content {
        width: calc(100% - 120px) !important;
        padding: 0 0 0 20px !important;
    }
    .voice_list .meta {
        font-size: 13px !important;
    }
    .voice_list .desc {
        padding: 25px !important;
    }
    .voice_list .link a::after {
        font-size: var(--font_size-xs) !important;
        right: auto !important;
        top: 1px !important;
    }
    .ajax_post_list_wrap .entry-more {
        border-top: none !important;
    }
}
/* よくある質問 */
.faq_list {
    border: 2px double var(--border_color-light) !important;
}
.faq_list .item {
    border: none !important;
    border-bottom: 2px double var(--border_color-light) !important;
    margin: 0 !important;
    background: var(--bg_color-wh) !important;
}
.faq_list .item:last-child {
    border-bottom: none !important;
}
.faq_list .title::before, .faq_list .title::after {
    background: var(--font_color-bk) !important;
}
.faq_list .title.active, .faq_list .title:hover {
    color: var(--font_color-bk) !important;
}
.faq_list .desc {
    line-height: 2.2 !important;
    padding: 45px 55px !important;
    border-top: 1px dotted var(--border_color-light) !important;
    background: var(--bg_color-sub) !important;
    color: var(--font_color-bk) !important;
}
@media screen and (max-width: 800px) {
    .faq_list .title {
        padding: 20px 30px 18px 20px;
    }
    .faq_list .desc {
        line-height: 2 !important;
        padding: 35px !important;
    }
}
/* メニュー・料金 */
.menu_list .item {
    border: 2px double var(--border_color-light) !important;
    background: var(--bg_color-wh) !important;
}
.menu_list .headline {
    color: var(--font_color-bk) !important;
}
.menu_list .image {
    width: calc(50% - 23px);
}
.menu_list .content {
    width: calc(50% - 23px);
}
.menu_list .desc + .item_list {
    margin-top: 25px !important;
}
.menu_list .item_list th {
    border: 1px dotted var(--border_color-light) !important;
    padding: 8px 20px;
    background: var(--bg_color-sub) !important;
}
.menu_list .item_list td {
    border: 1px dotted var(--border_color-light) !important;
    padding: 8px 20px;
}
.menu_list .item_list tr:nth-child(2) th, .menu_list .item_list tr:nth-child(2) td {
    font-weight: 600;
    text-decoration: underline 1px double var(--color_attention);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-style: double;
    text-decoration-color: var(--color_attention);
    text-decoration-skip-ink: none;
    text-underline-offset: 3px;
    -webkit-text-decoration: underline 1px double var(--color_attention);
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: double;
    -webkit-text-decoration-color: var(--color_attention);
    -webkit-text-decoration-skip-ink: none;
    -webkit-text-underline-offset: 3px;
}
.price_list {
    margin: 70px 0 80px;
    border: 1px dotted var(--border_color-light) !important;
    background: var(--bg_color-wh) !important;
}
.price_list .title_area {
    border: 1px dotted var(--border_color-light) !important;
    padding: 18px 30px;
    background: var(--bg_color-wh) !important;
}
.price_list .title {
    font-size: 15px;
    text-align: left;
}
.price_list .price {
    font-size: 15px;
    text-align: right;
}
.price_list .desc {
    padding: 20px 0 30px;
    line-height: 2;
    font-size: 15px;
}
.price_ticket .price_list {
    padding-bottom: 20px;
}
.price_ticket .price_list .desc p:not(:empty) {
    margin: 20px 0 40px;
}
.price_ticket .price_list .desc table {
    font-size: var(--font_size-s);
    margin: 0 0 50px !important;
}
.price_ticket .price_list .desc table th {
    text-align: left;
    border: 1px dotted var(--border_color-light) !important;
    padding: 12px 12px !important;
    background: var(--bg_color-sub) !important;
}
.price_ticket .price_list .desc table td {
    text-align: right;
    border: 1px dotted var(--border_color-light) !important;
    padding: 12px 12px !important;
    background: var(--bg_color-wh) !important;
}
.price_ticket .price_list .desc table thead td {
    background: var(--bg_color-sub) !important;
}
@media screen and (max-width: 800px) {
    .menu_list {
        margin: 3.7em 0 5em;
    }
    .menu_list .item {
        padding: 40px 25px 50px;
        width: 100vw;
        margin: -2px auto 0;
        left: 50%;
        transform: translateX(-50%);
        position: relative;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0;
    }
    .menu_list .headline {
        margin: 12px 0 35px 0;
    }
    .menu_list .image {
        width: 100%;
        max-width: 560px;
        margin: 0 auto 35px;
    }
    .menu_list .content {
        width: 100%;
    }
    .menu_list .desc + .item_list {
        margin-top: 35px !important;
    }
    .price_list {
        margin: 3.5em auto 2.5em;
        padding: 40px 25px 20px;
        width: 100vw;
        left: 50%;
        transform: translateX(-50%) !important;
        position: relative;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0;
    }
    .price_list .title_area {
        padding: 14px;
        font-size: var(--font_size-s);
    }
    .price_list .title {
        font-size: var(--font_size-s);
        padding: 0;
    }
    .price_list .price {
        font-size: var(--font_size-s);
    }
    .price_list .desc {
        padding: 20px 0 30px;
        font-size: var(--font_size-s);
    }
    .price_ticket .price_list {
        padding-bottom: 0;
    }
    .price_ticket .price_list .desc p:not(:empty) {
        margin: 10px 0 30px;
    }
    .price_ticket .price_list .desc table {
        font-size: var(--font_size-xs);
        margin: 0 0 2em !important;
    }
    .price_ticket .price_list .desc table th {
        font-size: var(--font_size-xs);
        padding: 10px !important;
        width: 102px;
    }
    .price_ticket .price_list .desc table td {
        font-size: var(--font_size-xs);
        padding: 10px !important;
    }
}
@media screen and (max-width: 500px) {
    .price_list .title {
        text-align: center;
    }
    .price_list .price {
        text-align: center;
    }
}
/* スタッフ紹介 */
#author_list h3 {
    font-size: 24px;
    padding-top: 1em;
    margin: 3.5em auto 2.2em;
    border-top: 2px solid var(--font_color-sub);
    display: table;
    text-align: center;
    line-height: 1;
}
#author_list .item {
    border: 1px dotted var(--border_color-light) !important;
}
#author_list .data dt {
    margin: 0 0 25px;
    color: var(--font_color-bk);
    text-decoration: underline 1px solid var(--font_color-bk);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-style: solid;
    text-decoration-color: var(--font_color-bk);
    text-decoration-skip-ink: none;
    text-underline-offset: 4px;
    -webkit-text-decoration: underline 1px solid var(--font_color-bk);
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: solid;
    -webkit-text-decoration-color: var(--font_color-bk);
    -webkit-text-decoration-skip-ink: none;
    -webkit-text-underline-offset: 4px;
}
#author_list .data dd {
    font-size: 15px;
    line-height: 2.1;
}
@media screen and (max-width: 1100px) {
    #author_list h3 {
        font-size: 22px;
    }
}
@media screen and (max-width: 1000px) {
    #author_list .name {
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 800px) {
    .post_content + #author_list {
        margin-top: 3.7em;
    }
    #author_list h3 {
        font-size: 20px;
    }
    #author_list .item {
        padding: 40px 25px 50px;
        width: 100vw;
        margin: -1px auto 0;
        left: 50%;
        transform: translateX(-50%);
        position: relative;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0;
    }
    #author_list .item:last-of-type {
        border-bottom: none !important;
    }
    #author_list .content {
        margin-top: 40px;
    }
    #author_list .data dt {
        font-size: var(--font_size-s);
        margin: 0 0 25px;
    }
    #author_list .data dd {
        font-size: var(--font_size-s);
        margin-bottom: 30px;
    }
}
/* 当院について */
.gallery_about {
    margin-top: 4.2em !important;
    margin-bottom: 6.5em !important;
}
.uagb-block-8143aeca .spectra-image-gallery__layout--carousel ul.slick-dots {
    top: -5px !important;
}
.design_content_list .item {
    border-bottom: 1px solid var(--border_color-light);
    padding: 0 0 75px 0 !important;
    margin: 0 0 75px 0 !important;
}
.page_about .design_content_list .item:last-of-type {
    border-bottom: 1px solid var(--border_color-light);
}
.design_content_list .image {
    width: calc(45% - 30px);
}
.design_content_list .content {
    width: calc(55% - 30px);
}
.design_content_list .headline {
    color: var(--font_color-sub);
}
@media screen and (max-width: 800px) {
    .design_content_list {
        margin: 3.6em 0 4em;
    }
    .design_content_list .item {
        display: block;
        padding: 0 20px 3em !important;
        margin: 0 -20px 3em !important;
    }
    .design_content_list .image {
        width: auto;
    }
    .design_content_list .content {
        width: 90%;
    }
    .design_content_list .headline {
        font-size: 15px;
    }
    .design_content_list .catch {
        margin: 0 0 20px 0;
    }
    .design_content_list .desc {
        margin-bottom: 0;
        font-size: var(--font_size-s);
    }
}
/* 運営会社・沿革 */
.page_company .design_content_list .item:last-of-type {
    border-bottom: 1px solid var(--border_color-light);
}
.frame_company {
    padding: 3em 4em;
}
.frame_company ul {
    list-style: none;
    margin: 0;
}
.frame_company li {
    margin-bottom: 0.8em !important;
    padding-bottom: 0.8em !important;
    border-bottom: 1px dotted var(--border_color-light);
}
.frame_company li:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none;
}
.frame_company li span {
    display: inline-block;
    width: 160px;
}
@media screen and (max-width: 800px) {
    .frame_company {
        padding: 2.2em 2.5em;
    }
    .frame_company li span {
        display: block;
        width: 100%;
    }
}
/* 施術の流れ */
.flow_list .item {
    border: 1px solid var(--border_color-light);
}
.flow_list .headline {
    color: var(--font_color-bk);
}
.flow_list .headline span {
    background: var(--font_color-bk);
    color: var(--font_color-wh);
}
@media screen and (max-width: 1000px) {
    .flow_list .item {
        padding: 45px 30px;
    }
}
@media screen and (max-width: 800px) {
    .flow_list {
        margin: 3.6em 0 4em;
    }
    .flow_list .item {
        display: block;
        padding: 3em 20px 3em !important;
        margin: -1px -20px 0 !important;
        border-radius: 0;
        border-right: none;
        border-left: none;
    }
    .flow_list .image {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 40px;
    }
    .flow_list .content {
        width: 90%;
        max-width: 475px;
        margin: 0 auto;
        padding: 0;
    }
    .flow_list .headline {
        margin-bottom: 25px;
    }
    .flow_list .desc {
        font-size: var(--font_size-s);
    }
}
/* 治療内容 アーカイブ */
.service_list .item {
    border: 1px solid var(--border_color-light);
}
.service_list .title {
    color: var(--font_color-bk);
}
.service_list .item:hover .title {
    color: var(--font_color-hov);
}
.service_list .desc {
    color: var(--font_color-bk);
    line-height: 2.2;
    max-height: 6.6em;
    margin-bottom: 0;
}
.service_list .desc span {
    line-clamp: 3;
    -webkit-line-clamp: 3;
}
@media screen and (max-width: 1100px) {
    .service_list .desc {
        line-height: 2;
        max-height: 6em;
    }
}
@media screen and (max-width: 800px) {
    #archive_service {
        margin: 3.6em 20px 4em;
        padding-bottom: 0;
    }
    .service_list .desc {
        font-size: var(--font_size-s);
        padding: 0 10px;
    }
}
@media screen and (max-width: 600px) {
    #archive_service {
        margin: 3.6em 0 2em;
    }
    .service_list .item {
        border: none;
        border-top: 1px solid var(--border_color-light);
    }
}
/* 治療内容 個別ページ */
#single_service {
    padding: 0 0 30px;
}
#single_service .post_content {
    width: 100%;
}
#service_header .content {
    background: var(--bg_color-wh);
    border: none;
}
#service_header .content .title {
    color: var(--font_color-bk);
}
.sc_check_list {
    padding: 80px 100px 60px;
}
.sc_check_list.background_type1 {
    background: var(--bg_color-base);
    border: none;
}
.sc_check_list h2 {
    background: var(--font_color-sub);
    color: var(--font_color-wh);
}
.sc_check_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.sc_check_list li {
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 15px 30px;
}
.sc_check_list li::before {
    display: none;
}
body.single-service.postid-1424 .sc_check_list ul {
    display: block;
}
body.single-service.postid-1424 .sc_check_list li {
    display: list-item;
    width: 100%;
    margin: 0 0 1em;
    padding: 0 0 0 25px;
}
body.single-service.postid-1424 .sc_check_list li::before {
    display: block;
    color: var(--font_color-sub);
}
.sc_content_list.border_display {
    border: 2px double var(--border_color-light);
    padding: 95px 100px 85px;
}
.sc_content_list.border_display:not(:has(img)) {
    padding: 75px 100px 100px;
}
.sc_content_list h2 {
    background: var(--border_color-dark);
    color: var(--font_color-wh);
}
.sc_content_list .content_list .item:not(:has(img)) {
    width: 100%;
    margin: 0 0 50px !important;
}
.sc_content_list .content_list .item:not(:has(img)) .desc {
    line-height: 2.2;
}
.sc_content_list .content_list:not(:has(img)) .item .desc {
    line-height: 1.8;
    color: var(--font_color-sub);
}
.sc_content_list .content_list:not(:has(img)) .item .desc::first-line {
    color: var(--font_color-bk);
    font-size: var(--font_size-xl);
    font-weight: 600;
    font-style: italic;
    line-height: 4;
    letter-spacing: 0.05em;
    text-decoration: underline 1px double var(--font_color-sub);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-style: double;
    text-decoration-color: var(--font_color-sub);
    text-decoration-skip-ink: none;
    text-underline-offset: 5px;
    -webkit-text-decoration: underline 1px double var(--font_color-sub);
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: double;
    -webkit-text-decoration-color: var(--font_color-sub);
    -webkit-text-decoration-skip-ink: none;
    -webkit-text-underline-offset: 5px;
}
.wp-block-group.consent-block {
    max-width: 900px;
    margin: 0 auto;
}
.wp-block-group.consent-block .sc_content_list.border_display:not(:has(img)) {
    background: var(--bg_color-wh);
    margin-top: 80px;
}
.wp-block-group.consent-block .sc_content_list h2 {
    background: var(--font_color-sub);
    color: var(--font_color-wh);
}
.wp-block-group.consent-block .sc_content_list .content_list:not(:has(img)) .item .desc {
    line-height: 2;
    color: var(--font_color-bk);
}
#archive_voice {
    padding-bottom: 100px;
}
#archive_voice .design_headline {
    font-size: 24px !important;
    padding: 1em 0 0 0 !important;
    margin: 0 auto 2.2em !important;
    border-top: 2px solid var(--font_color-sub) !important;
    display: table;
    text-align: center;
    line-height: 1;
}
#recent_service_list {
    background: var(--bg_color-base);
}
#recent_service_list .post_list .title {
    background: var(--bg_color-wh);
    font-size: var(--font_size-m);
    border: 1px dotted var(--border_color-light);
}
@media screen and (max-width: 1200px) {
    #single_service .post_content a.q_custom_button2 {
        min-width: 280px;
    }
}
@media screen and (max-width: 1100px) {
    #archive_voice .design_headline {
        font-size: 22px !important;
    }
}
@media screen and (max-width: 800px) {
    body.single-service #bread_crumb::after {
        display: none;
    }
    #single_service {
        padding: 0;
    }
    #service_header {
        margin: -30px -20px 0;
    }
    #service_header .content {
        padding: 3em 20px 6.2em;
    }
    #service_header .content .title {
        margin-bottom: 1.4em;
    }
    #service_header .content .desc {
        font-size: var(--font_size-s);
        margin: 0;
    }
    .sc_check_list {
        margin: 0 -20px !important;
        padding: 4.5em 20px 3em !important;
        border-radius: 0 !important;
    }
    .sc_check_list li {
        font-size: var(--font_size-s);
        padding: 10px 20px;
    }
    .sc_content_list.border_display {
        margin: 5.6em 0 3.5em !important;
        padding: 4em 25px 2em !important;
    }
    .sc_content_list.border_display:not(:has(img)) {
        margin: 5.6em 0 0 !important;
        padding: 4em 25px 2em !important;
    }
    .sc_content_list.border_display .content_list {
        display: flex !important;
        flex-direction: column;
        flex-direction: column-reverse;
    }
    .sc_content_list.border_display .content_list:not(:has(img)) {
        display: block !important;
    }
    .sc_content_list .content_list .item {
        margin: 0 0 1.5em !important;
    }
    .sc_content_list .content_list .item:not(:has(img)) {
        margin: 0 0 2.5em !important;
    }
    .sc_content_list .content_list .item:not(:has(img)) .desc {
        font-size: var(--font_size-s);
    }
    .sc_content_list .content_list:not(:has(img)) .item .desc {
        font-size: var(--font_size-xs);
    }
    .sc_content_list .content_list:not(:has(img)) .item .desc::first-line {
        font-size: var(--font_size-m);
    }
    .wp-block-group.consent-block .sc_content_list.border_display:not(:has(img)) {
        margin: 3.6em 0 !important;
        padding: 2em !important;
    }
    .wp-block-group.consent-block .sc_content_list .content_list:not(:has(img)) .item .desc {
        font-size: var(--font_size-xs);
    }
    .sc_content_list .content_list .item img {
        display: block;
        max-width: 520px;
        margin: 0 auto;
    }
    .sc_check_list + .post_content .q_button_wrap {
        margin-top: 4em !important;
    }
    #single_service .post_content a.q_custom_button2 {
        min-width: 260px;
    }
    #archive_voice {
        padding-bottom: 3em;
    }
    #archive_voice .design_headline {
        font-size: 20px !important;
    }
    #recent_service_list .post_list .item:nth-child(3n) {
        margin-right: 0 !important;
    }
    #recent_service_list .post_list .image_wrap {
        width: 100px;
    }
    #recent_service_list .post_list .title {
        width: calc(100% - 100px);
        font-size: var(--font_size-s);
    }
}
/* 問診票 */
.page_questionnaire .wpcf7 {
    width: 100%;
    margin: 4em auto 2.5em !important;
}
.page_questionnaire span.form_notes {
    display: block;
    font-size: var(--font_size-s);
    font-weight: 600;
    color: var(--color_attention);
    padding: 15px;
}
.page_questionnaire form table {
    margin: -1px 0 0;
    border-collapse: separate !important;
    border-spacing: 0;
    display: table;
    animation: show 0.4s linear 0s;
}
.page_questionnaire form table tr {
    display: table-row;
    animation: show 0.4s linear 0s;
}
.page_questionnaire form table.form_step4 tr:has(.wpcf7cf-hidden) {
    display: none;
}
.page_questionnaire form table.form_step5:has(.wpcf7cf-hidden) {
    display: none;
}
.page_questionnaire form table.form_step6:has(div[data-id="group-cosmetic1"].wpcf7cf-hidden) {
    display: none;
}
.page_questionnaire form td, .page_questionnaire form th {
    border: 1px dotted var(--border_color-light) !important;
    padding: 18px 18px !important;
    background: var(--bg_color-wh);
    vertical-align: top;
}
.page_questionnaire form thead th {
    text-align: center;
    font-size: var(--font_size-m);
    font-weight: 600;
    letter-spacing: 0.3em;
    background: var(--border_color-dark);
    color: var(--font_color-btn);
    border: 1px solid var(--border_color-dark) !important;
    padding: 12px 12px !important;
}
.page_questionnaire form tbody th {
    text-align: left;
    font-weight: 600;
    background: var(--main_color);
    width: 230px;
    border-top: none !important;
}
.page_questionnaire form tbody td {
    border-top: none !important;
    border-left: none !important;
}
.page_questionnaire form span.multiselect {
    display: block;
    font-size: var(--font_size-xs);
    color: var(--font_color-sub);
}
.page_questionnaire form span.unnecessary {
    display: inline-block;
    margin-left: 15px;
    font-size: var(--font_size-xs);
    color: var(--font_color-btn);
    letter-spacing: 0.1em;
}
.page_questionnaire form span.form_hidden {
    display: none;
}
.page_questionnaire form div.form-option {
    margin-top: 12px;
}
.page_questionnaire form label {
    font-size: var(--font_size-s) !important;
    font-weight: 400;
}
.page_questionnaire form select, .page_questionnaire form input[type=checkbox], .page_questionnaire form input[type=radio] {
    max-width: 100%;
    color: var(--font_color-bk);
}
.page_questionnaire form input::placeholder, .page_questionnaire form select.is-empty {
    color: #888;
}
.page_questionnaire form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .page_questionnaire form select {
    border: 1px dotted var(--border_color-light);
    padding: 8px;
}
.page_questionnaire form textarea {
    border: 1px dotted var(--border_color-light) !important;
    margin-top: 0 !important;
    height: calc(5.4em + 16px);
    padding: 8px;
}
.page_questionnaire form input, .page_questionnaire form select, .page_questionnaire form textarea {
    font-family: var(--font_family-base);
    font-size: var(--font_size-s);
}
.page_questionnaire form span.wpcf7-form-control-wrap {
    display: block;
}
.page_questionnaire form span.wpcf7-form-control-wrap .wpcf7-radio {
    display: flex;
}
.page_questionnaire form span.wpcf7-form-control-wrap + span.wpcf7-form-control-wrap {
    margin-top: 10px;
}
.page_questionnaire form .form_horizontal .wpcf7-not-valid-tip {
    display: none !important;
}
.page_questionnaire form .form_horizontal .form_horizontal-error {
    color: var(--color_attention);
    font-size: var(--font_size-xs);
    font-weight: 600;
    margin-top: 6px;
    text-align: right;
    display: none;
}
.page_questionnaire form .form_horizontal:has(.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip) .form_horizontal-error {
    display: block;
}
.page_questionnaire form span.form_prefix {
    padding: 0px 8px 0 0;
}
.page_questionnaire form span.form_suffix {
    padding: 0px 8px;
}
.page_questionnaire form span.form_add {
    display: block;
}
.page_questionnaire form span.form_label {
    display: block;
    margin-bottom: 0.2em;
}
.page_questionnaire form span.wpcf7-form-control-wrap + span.form_label {
    margin-top: 1em;
}
.page_questionnaire form .form-age span.wpcf7-form-control-wrap {
    display: inline-block !important;
}
.page_questionnaire form .form-age select {
    width: 70px !important;
}
.page_questionnaire form .form-age input {
    width: 70px !important;
}
.page_questionnaire form .form-age select, .page_questionnaire form .form-age input {
    text-align: center !important;
}
.page_questionnaire form td[class^="form-flex"] .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
}
.page_questionnaire form td.form-flex3_narrow .wpcf7-checkbox {
    width: 60%;
}
.page_questionnaire form td.form-flex2_narrow .wpcf7-checkbox {
    width: 40%;
}
.page_questionnaire form td[class^="form-flex3"] .wpcf7-list-item {
    width: calc(33.333% - 1em);
}
.page_questionnaire form td[class^="form-flex2"] .wpcf7-list-item {
    width: calc(50% - 1em);
}
.page_questionnaire .form-acceptance {
    background: var(--bg_color-wh);
    border: 1px solid var(--border_color-dark) !important;
    padding: 40px 15px !important;
    text-align: center;
    margin: 50px 0;
    font-size: var(--font_size-l) !important;
}
.page_questionnaire .form-acceptance .wpcf7-list-item {
    margin: 0 !important;
}
.page_questionnaire .form-acceptance .wpcf7-list-item-label {
    font-size: var(--font_size-l) !important;
}
.page_questionnaire .form-acceptance a {
    transition: all .3s;
    text-decoration: underline 1px solid var(--font_color-sub);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-style: solid;
    text-decoration-color: var(--font_color-sub);
    text-decoration-skip-ink: none;
    text-underline-offset: 5px;
    -webkit-text-decoration: underline 1px solid var(--font_color-sub);
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-thickness: 1px;
    -webkit-text-decoration-style: solid;
    -webkit-text-decoration-color: var(--font_color-sub);
    -webkit-text-decoration-skip-ink: none;
    -webkit-text-underline-offset: 5px;
}
.page_questionnaire .form-acceptance a:hover {
    color: var(--font_color-hov);
    text-decoration-color: var(--font_color-hov);
    -webkit-text-decoration-color: var(--font_color-hov);
}
.page_complete .q_frame1 {
    text-align: center;
}
@media screen and (max-width: 800px) {
    .page_questionnaire form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .page_questionnaire form select {
        border: none !important;
        background: #fafafa;
    }
    .page_questionnaire form textarea {
        border: none !important;
        background: #fafafa;
    }
    .page_questionnaire span.form_notes {
        font-size: var(--font_size-xs);
    }
    .page_questionnaire form td, .page_questionnaire form th {
        padding: 10px 15px !important;
        display: block;
        width: 100% !important;
        border-top: none !important;
        border-bottom: none !important;
    }
    .page_questionnaire form thead th {
        font-size: var(--font_size-s);
        padding: 10px 10px !important;
    }
    .page_questionnaire .form-acceptance {
        padding: 30px 12px !important;
        font-size: var(--font_size-s) !important;
    }
    .page_questionnaire .form-acceptance .wpcf7-list-item-label {
        font-size: var(--font_size-s) !important;
    }
}
@media screen and (max-width: 600px) {
    .form_questionnaire {
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        margin: 0 auto;
    }
    .page_questionnaire span.form_notes {
        padding: 12px 20px;
    }
    .page_questionnaire form td, .page_questionnaire form th {
        border: none !important;
    }
    .page_questionnaire form .form-age select {
        width: 80px !important;
    }
    .page_questionnaire form .form-age input {
        width: 80px !important;
    }
    .page_questionnaire form td.form-flex3_narrow .wpcf7-checkbox {
        width: 100%;
    }
    .page_questionnaire form td.form-flex2_narrow .wpcf7-checkbox {
        width: 100%;
    }
    .page_questionnaire form td[class^="form-flex3"] .wpcf7-list-item {
        width: calc(50% - 1em);
    }
    .page_questionnaire .form-acceptance {
        margin: 50px 20px;
    }
}