/*
Theme Name: Theme for Barbpack 3(Fork of Lightning)
Text Domain: lightning
Description: Theme for OAWeb
Version: 1.0
Requires at least: 5.3
Tested up to: 6.0.0
Requires PHP: 5.6.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html


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

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/


/*==================================================
  カスタムプロパティ
===================================================*/
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Manjari:wght@100;400;700&display=swap');

:root {

    /*------  カルーセルスライダー  ------*/
    --carousel-slider-arrow: #fff;
    --carousel-slider-arrow-bg: rgba(170, 170, 170, 0.6);
    --carousel-slider-arrow-bg-hover: rgba(140, 140, 140, 0.6);
    --carousel-slider-navigation-size: 48px;

    /* カラー */
    --color-accent: #2691f7;
    --color-primary: #006f3a;
    --color-primary-light: #6ea9de;
    --color-gradient: linear-gradient(160deg, rgba(114, 187, 237, 1) 0%, rgba(0, 127, 220, 1) 100%);
    --color-gradient-rev: linear-gradient(-160deg, rgba(114, 187, 237, 1) 0%, rgba(0, 127, 220, 1) 100%);
    --color-gradient-light: linear-gradient(to bottom, rgba(199, 232, 250, 0.2) 0%, rgba(196, 234, 255, 0.85) 100%);

    /* フォント設定 */
    --font-marugo: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --font-marugo: "Manjari", "Kiwi Maru","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
    --font-w-bk: 700;
    --font-w-b: 500;
    --font-w-r: 400;
    --font-w-l: 300;
}



/*==================================================
  全体共通
===================================================*/
.lightning_swiper-container {
    max-width: 1920px;
}

body {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/*==================================================
  コンテンツ
===================================================*/
strong {
    font-weight: var(--font-w-b);
}

.entry-body>.alignfull {
    padding-left: 15px;
    padding-right: 15px;
}

.entry-body *:not(.wp-block-heading):not(.estate-title) {
    letter-spacing: 1.25px;
}

.home .entry-body>* {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 120px;
    padding-bottom: 120px;
}

@media (max-width: 639px) {
    .home .entry-body>* {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .home .entry-body>div:first-child {
        padding-top: 0;
    }
}

.wp-block-cover+div {
    margin-top: 120px;
    margin-bottom: 120px;
}

/*------  コンテンツの幅調整  ------*/
.entry-body>.alignfull,
.entry-body>.alignfull.vk_slider,
.entry-body>.alignfull.wp-block-cover,
.entry-body>.alignfull.wp-block-cover-image,
.entry-body>.alignfull.wp-block-image {
    padding-left: calc(15px + ((100vw - 100%) / 5)) !important;
    padding-right: calc(15px + ((100vw - 100%) / 5)) !important;
}

.alignfull div[class*="__inner-container"],
.alignwide div[class*="__inner-container"],
.home .entry-body>.wp-block-group>div {
    max-width: 1140px;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    :root {
        --vk-width-container: 1500px;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        /* max-width: var(--vk-width-container); */
        max-width: 100%;
    }

    body:not(.home) .container .entry-body,
    #breadcrumb .container,
    body:not(.home) .site-body {
        max-width: 1140px;
        margin: 0 auto;
    }

    body:not(.home) .site-body .site-body-container {
        padding: 0;
    }

    #breadcrumb .container {
        padding-left: 0;
    }
}

@media (max-width: 991px) {
    .container {
        max-width: 770px;
    }

    /* .alignfull div[class*="__inner-container"] {
		max-width: 95%;
	} */
}

@media (min-width: 782px) {
    .wp-block-column:not(:first-child) {
        margin-left: 2em;
    }
}

@media (max-width: 639px) {
    .container p {
        font-size: 1rem;
    }

    .wp-block-columns {
        gap: initial !important;
    }
}

/*------　コンテンツのレイアウト案　------*/
.contents-pattern_01 {
    margin: 60px auto 0 auto;
    align-items: flex-start;
    gap: 2em;
}

.home.contents-pattern_02 {
    margin: 120px 0;
}

.contents-pattern_03 {
    margin: 60px auto 0 auto;
    gap: 2em;
}

/*
.contents-pattern_04{
	padding: 120px 0;
}

.contents-cover_01 {
	padding: 120px 0 120px 0;
}
*/
.contents-layout_01 {
    margin-top: 0;
    margin-bottom: 0;
    padding: 60px 0;
}

.contents-layout_01>.wp-block-group__inner-container,
.contents-cover_01>.wp-block-group__inner-container {
    max-width: 1140px !important;
    margin-left: auto;
    margin-right: auto;
}

.left-img {
    flex-basis: 790px;
}

.right-txt {
    flex-basis: 632px;
    margin-left: 2em;
}

.contents-column_mtb40-60 {
    margin: 40px 0 60px;
}

@media (max-width: 991px) {

    .contents-pattern_01 .right-txt,
    .wp-block-column:not(:first-child) {
        margin-left: 0;
    }
}

@media (max-width: 639px) {
    .contents-pattern_01 {
        margin: 30px auto 60px auto;
        gap: 0 !important;
    }

    .contents-pattern_02 {
        margin: 60px 0;
    }

    .contents-pattern_03 {
        margin: 30px auto 0 auto;
    }

    .contents-pattern_04 {
        padding: 60px 0;
    }

    .contents-cover_01 {
        padding: 60px 0 60px 0;
        margin-top: 0;
        margin-bottom: 0;
    }

    .left-img figure {
        margin-bottom: 20px;
    }
}


/*==================================================
    ヘッダー
===================================================*/
.site-header-container {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.header_scrolled .site-header-container {
    max-width: 1500px;
    margin: 0 auto;
}

.header_scrolled .site-header-logo {
    display: block;
    max-height: 35px;
}

@media (max-width: 639px) {
    .site-header-container {
        display: block;
        margin-top: 15px;
        padding: 0 5px;
        align-items: center;
        justify-content: space-between;
    }
}

/*------  グローバルナビ  ------*/
#global-nav {
    min-width: 46%;
    order: 2;
    margin: 0;
    padding-top: 30px;
}

#global-nav .global-nav-list {
    /*safari*/
    width: 100% !important;
    flex-wrap: wrap;
    padding-left: 10px;
}

#global-nav .global-nav-list>li .global-nav-name {
    font-size: 1.125rem;
    font-weight: var(--font-w-b);
    color: var(--vk-color-primary-dark);
}

#global-nav .global-nav-list>li:first-child,
#global-nav .global-nav-list>li {
    border: none;
}

#global-nav .global-nav-list>li {
    width: auto;
}

#global-nav .global-nav-list>li:before {
    display: none;
}

/*------  ロゴ調整  ------*/
.site-header-logo img {
    max-height: 35px;
    margin: 0;
}

@media (min-width: 992px) {
    .site-header-logo {
        margin: 0;
        padding: 0;
    }
}

/*------  ウィジェット(右)調整´  ------*/
.site-header-sub {
    order: 3;
    min-width: 25%;
    display: block;
    padding-left: 0;
    flex-shrink: 0;
    flex-grow: 0;
}

.site-header-sub aside .wp-block-group__inner-container {
    display: flex;
    justify-content: end;
    align-items: center;
}

.site-header-sub aside .phone {
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
    text-align: center;
    margin-right: 5px;
}

.site-header-sub aside .phone a {
    margin-right: 10px;
    font-size: 24px;
    font-family: Arial, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    margin-bottom: 0;
    padding-left: 23px;
    position: relative;
}

.site-header-sub aside .phone a:before,
.site-footer .phone a:before{
    position: static;
    display: block;
    content: "";
    background: url(assets/image/freed-icon.png)no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1em;
	background-position: center;
    /* top: 0;
    left: -6px; */
}

.site-header-sub .wp-block-group__inner-container p {
    margin-bottom: 0 !important;
}

.site-header-sub aside {
    margin-bottom: 10px;
}

.site-header-sub aside .header-buttons {
    margin: 0 auto;
}

.site-header-sub aside .header-buttons .wp-block-group__inner-container {
    gap: 10px;
}

.site-header-sub aside .reserve,
.site-header-sub aside .contact,
.site-header-sub aside .reserve .wp-block-button,
.site-header-sub aside .contact .wp-block-button {
    width: 100%;
}

.site-header-sub aside .reserve .wp-block-button {
    overflow: hidden;
    height: 45px;
    border-radius: unset;
    background: #fff !important;
    text-align: center;
    cursor: pointer;
    border: 1px solid var(--vk-color-primary-vivid);
}

.site-header-sub aside .reserve .wp-block-button__link {
    background: #fff;
    border-radius: unset;
}

.site-header-sub aside .contact .wp-block-button {
    overflow: hidden;
    /* width: 198px; */
    height: 45px;
    text-align: center;
    cursor: pointer;
}

.site-header-sub aside .contact .wp-block-button .wp-block-button__link {
    max-width: 12rem;
    border-radius: 5px;
}

.reserve .wp-block-button a,
.contact .wp-block-button a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: relative;
}

.reserve .wp-block-button a {
    color: var(--vk-color-primary-vivid)
}

.contact .wp-block-button a {
    color: #fff;
}

@media screen and (min-width:992px) and (max-width:1400px) {
    .site-header {
        font-size: 14px;
    }

    .device-pc .global-nav-list>li>a {
        padding: 0 10px;
    }

    .site-header--layout--sub-active .site-header-logo {
        max-width: 30%;
    }

    .site-header-logo {
        order: 1;
    }

    .site-header-sub aside {
        margin-right: 0 !important;
        margin-bottom: 5px;
    }

    .site-header-sub {
        order: 3;
        margin: 0 0 0 20px;
        padding: 0;
        min-width: initial;
    }

    .site-header-sub aside .wp-block-group__inner-container {
        display: block;
    }

    .site-header-sub aside .wp-block-button .wp-block-button__link {
        font-size: 14px;
    }

    .site-header-sub aside .phone {
        font-size: 1.4rem;
        margin-right: 0;
    }

    .site-header-sub aside .contact {
        margin-left: 0;
    }

    .reception-time {
        font-size: 14px;
    }

    .reserve .wp-block-button,
    .contact .wp-block-button {
        width: 180px !important;
        height: 35px !important;
    }
}

@media (max-width: 991px) {
    .site-header-sub {
        padding: 0;
    }

    .site-header-sub aside .wp-block-group__inner-container {
        justify-content: center;
    }

    .site-header-sub aside .phone {
        margin-right: 10px;
    }
}

@media (min-width: 640px) {
    .site-header-sub aside .contact .wp-block-button .wp-block-button__link {
        margin-left: auto;
        margin-right: 0;
        background: var(--vk-color-primary);
    }
}

@media (max-width: 639px) {
    .site-header-sub {
        width: 100%;
        margin: 20px auto;
        padding: 0;
        float: none;
    }

    .site-header-sub .header-shop-info {
        text-align: center;
    }

    .site-header-sub .header-shop-info .wp-block-group__inner-container {
        width: 90%;
        display: block;
        margin: 0 auto;
    }

    .site-header-sub .header-shop-info .wp-block-group__inner-container p:last-child {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    .site-header-sub .header-buttons {
        width: 85%;
    }

    .site-header-sub aside .header-buttons .wp-block-group__inner-container {
        gap: 1.5em;
    }

    .site-header-sub aside .phone {
        margin-right: 0;
    }

    .site-header-sub aside .phone a {
        font-size: 24px;
    }

    .site-header-sub aside .phone a:before {
        width: 18px;
        height: 18px;
        top: 10px;
        left: -6px;
    }

    .site-header-sub aside .reserve .wp-block-button {
        /* width: 150px;*/
        border-radius: 0;
        margin-right: 0;
        background: #fff;
        border: 1px solid var(--vk-color-primary-vivid);
        color: var(--vk-color-primary-vivid);
    }

    .site-header-sub aside .contact {
        margin-left: 0;
    }

    .site-header-sub aside .contact .wp-block-button {
        /* width: 150px; */
        border-radius: 0;
        margin-right: 0;
        color: #fff;
    }

    .site-header-sub aside .phone {
        display: flex;
        justify-content: center;
        color: #000;
        text-align: center;
        text-decoration: none;
        font-size: 1.7rem;
        white-space: nowrap;
        margin-left: 0;
        margin-right: 0;
        padding-left: 36px;
    }

    .site-header-sub aside .phone:before {
        width: 18px;
        height: 18px;
        top: 6%;
        left: 0;
    }

    .site-header-sub aside .contact .wp-block-button .wp-block-button__link {
        width: 15rem;
        max-width: 15rem;
        margin: 0 auto;
    }
}

/*==================================================
  グローバルメニュー
===================================================*/
/* グローバルメニューが複数行になる場合の対応 */
@media screen and (min-width: 992px) and (max-width: 1400px) {
    .device-pc .global-nav-list>li>a {
        padding: 14px 1.5em;
    }
}

/*==================================================
  メインスライダー
===================================================*/

.lightning_swiper-container {
    margin-left: auto;
    margin-right: auto;
}

/* .ltg-slide-text-set .mini-content-container-1 {
	display: inline-block;
	max-width: initial;
	width: auto;
	padding: 0;
} */

.ltg-slide-text-title {
    font-size: clamp(1.75rem, 1.2039rem + 2.3301vw, 4rem);
    font-family: var(--font-marugo);
    line-height: 0.8;
}

.ltg-slide-text-title {
    display: inline-block;
    background: rgb(0 0 0 / .25);
    padding: 20px 15px 10px;
}

.ltg-slide-text-title strong {
    font-weight: var(--font-w-b);
    color: #ffffcb;
    line-height: 1;
    font-size: 1em;
}

.ltg-slide-text-title strong span:not(:last-child) {
    margin-right: 0.5em;
}

/*.ltg-slide-text-set .mini-content-container-1 h3>span {*/
.ltg-slide-text-set .container h3>span {
    font-size: 0.7em;
    font-weight: var(--font-w-b);
    color: #ffffcb;
    display: inline-block;
    margin-left: 1em;
    line-height: 1;

}

.ltg-slide-text-title+.ltg-slide-text-caption {
    font-family: var(--font-marugo);
    font-size: clamp(1.333rem, 0.9995rem + 0.8338vw, 2rem);
    /* min-width:640px and max-width:1920px */
    color: #222 !important;
    text-shadow: 0px 0px 8px rgba(255, 255, 255, 0.3);
    font-weight: var(--font-w-r);
    margin-top: 0;
    padding: clamp(0.75rem, 0.375rem + 0.9375vw, 1.5rem) clamp(1.75rem, 1.125rem + 1.5625vw, 3rem);
    text-align: right;

}

.mini-content-container-2 .ltg-slide-text-title+.ltg-slide-text-caption {
    color: #eee !important;
}

.mini-content-container-3 .ltg-slide-text-title+.ltg-slide-text-caption {
    text-shadow: 0px 0px 8px #fff,0px 0px 8px #fff;
}

.ltg-slide-text-caption span:first-of-type {
    font-size: 0.875em;
    font-weight: var(--font-w-b);
    display: inline-block;
    margin-right: 0.5em;
}

.ltg-slide-text-title+.ltg-slide-text-caption strong {
    font-size: 1.25em;
}

.ltg-slide-text-caption span:last-of-type {
    font-size: 0.875em;
    font-weight: var(--font-w-b);
    display: inline-block;
}
/*
.ltg-slide-inner .item-2 .ltg-slide-text-set {
    width: 30%;
    top: 30%;
    left: 13%;
    transform: initial;
}
 */

@media (max-width: 640px) {
    /*
    .lightning_swiper-container picture img {
        object-fit: cover;
        aspect-ratio: 4 / 3;
    }

     */

    .mini-content-container-1.container {
        max-width: 100%;
        width: 100%;
        padding: 0;
    }

    .ltg-slide-text-title>strong {
        margin-bottom: 0.25em;
        display: inline-block;
    }

    .ltg-slide-text-set .mini-content-container-1 h3>span {
        font-size: 0.875em;
    }

    .ltg-slide-text-title+.ltg-slide-text-caption strong {
        font-size: 1.1em;
    }

}

/*------  スライダー内　ボタン調整  ------*/


.mini-content-container-1 .btn,
.mini-content-container-2 .btn,
.mini-content-container-3 .btn {
    border-radius: 0;
}

.ltg-slide-text-set {
    width: 90%;
    top: 12%;
    left: 5%;
    right: initial;
    transform: initial;
}

@media (min-width: 1470px) {
    body .site-body {
        padding-bottom: 0;
    }
}

@media (max-width: 991px) {
    .ltg-slide-text-set {
        left: initial;
        width: initial;
        top: 3vw;
    }
}

@media (max-width: 640px) {
    .ltg-slide-text-caption {
        font-size: 1.5rem;
    }

    .ltg-slide-text-caption span {
        font-size: 1rem;
    }
}

@media (max-width: 639px) {
    .metaslider.nav-hidden .flexslider {
        margin-top: 70px;
    }

    .ltg-slide-text-set {
        right: 50%;
        transform: translateX(50%);
        max-width: 92vw;
        width: 100%;
        top: 7vw;
    }

    .ltg-slide-text-title {
        padding: clamp(0.5rem, -0.0686rem + 2.6756vw, 1rem) 0 clamp(0.333rem, -0.1412rem + 2.2314vw, 0.75rem);
        font-size: clamp(1.125rem, 0.2372rem + 3.7879vw, 1.75rem);
        display: block;
    }

    .ltg-slide-text-title strong span {
        display: inline-block;
        width: max-content;
    }

    .ltg-slide-text-title strong span:last-child {
        margin-right: 0;
    }

    .ltg-slide-inner .item-2 .ltg-slide-text-set {
        width: 80%;
        left: 5%;
    }

    .ltg-slide-text-title+.ltg-slide-text-caption {
        font-size: clamp(1rem, 0.7157rem + 1.3378vw, 1.25rem);
        color: #222 !important;
        font-weight: var(--font-w-b);
        margin-top: 0;
        padding: clamp(0.5rem, -0.0686rem + 2.6756vw, 1rem) 0;
    }

    .ltg-slide-text-caption span {
        font-size: clamp(0.75rem, 0.6079rem + 0.6689vw, 0.875rem);
        display: inline-block;
        margin-right: 1em;
    }

    .site-body {
        /* padding: 0; */
        /* margin-top: -20px; */
    }
}


/*==================================================
  カルーセルスライダー
===================================================*/

.carousel-slider {
    position: relative;
}

.carousel-slider .wp-block-group__inner-container {
    position: relative;
}

.carousel-slider .swiper-wrapper {
    flex-wrap: nowrap !important;
    margin-bottom: 0;
    gap: 2em;
}

.carousel-slider .wp-block-column {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 470px;
    min-width: 470px;
    flex-basis: auto;
}

.carousel-slider .wp-block-column .wp-block-image {
    margin-bottom: 0;
}


.carousel-slider .swiper-button-next,
.carousel-slider .swiper-button-prev {
    position: absolute;
    top: 50%;
    margin-top: calc(0px - (var(--carousel-slider-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: calc(var(--carousel-slider-navigation-size) / 2);
    height: calc(var(--carousel-slider-navigation-size) / 2);
    display: grid;
    place-content: center;
}

.carousel-slider .swiper-button-next {
    right: 10px;
    left: auto;
}

.carousel-slider .swiper-button-prev {
    right: auto;
    left: 10px;
}

.carousel-slider .swiper-button-next:before,
.carousel-slider .swiper-button-prev:before {
    background-color: var(--carousel-slider-arrow-bg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;

}

.carousel-slider .swiper-button-next:after,
.carousel-slider .swiper-button-prev:after {
    border-color: #fff;
    width: 8px;
    height: 8px;
    content: "";
    border: solid var(--carousel-slider-arrow);
    border-width: 2px 2px 0 0;
}

.carousel-slider .swiper-button-next:after {
    margin-right: 0.2rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.carousel-slider .swiper-button-prev:after {
    margin-left: 0.2rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.carousel-slider .swiper-button-next:hover:before,
.carousel-slider .swiper-button-prev:hover:before {
    background-color: var(--carousel-slider-arrow-bg-hover);
}

@media (max-width: 640px) {
    .carousel-slider .swiper-wrapper {
        gap: 0;
    }

    .carousel-slider .swiper-slide {
        width: 100% !important;
        min-width: 100% !important;
        padding: 0 10px 0 10px;
    }
}


/*==================================================
  見出し
===================================================*/
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: var(--vk-margin-headding-bottom);
    line-height: var(--vk-line-height-low);
}

h2 {
    color: var(--vk-color-primary-dark) !important;
    font-size: 2rem;
    text-align: center;
    border: 0;
    font-weight: var(--font-w-b);
}

@media (max-width: 639px) {
    h2 {
        font-size: 1.7rem;
    }

    h3 {
        font-size: 18px;
    }
}



/*------  見出し（装飾）　h2  ------*/

h2 {
    /* padding: 0 .25rem 0.333em; */
    text-align: left;
    /*overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;*/
    display: block;
    position: relative;
    width: 100%;
    margin: 0 auto 60px 0;
    line-height: 1.1;
}

/* h2 > em{
	font-size: 0.75em;
	font-weight: var(--font-w-b);
	font-style: normal;
	color: var(--vk-color-primary-vivid);
	line-height: 1.2;
} */
/* h2:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	content: '';
	background-color:rgba(86, 161, 252, 0.5);
  } */

@media (max-width: 639px) {
    h2 {
        padding: 0 0.25rem 0.333em;
        margin-bottom: 1em;
    }

}

@media (max-width: 991px) {
    /*
  h2:before,
  h2:after {
    width: unset;
  }

	 */

}

@media (max-width: 639px) {

    h2:before,
    h2:after {
        background-clip: inherit !important;
    }

    h2 {
        padding: 0 0.25rem 0.333em;
        margin-bottom: 1.5em;
    }

    h2:before {
        margin-right: 0.5em;
        padding-left: 10%;
    }

    /* h2:after {
	padding-right: 10%;
  } */
    h2 span:not(.smaller-txt) {
        flex-shrink: 0;
    }

    h2 span.smaller-txt {
        font-size: 0.875em;
    }

    h2 {
        font-size: 1.4rem;
    }
}

/*------  見出し（装飾）　h3  ------*/
/*---  下線にアクセントを入れたデザイン ---*/
.ttl_bdr-gray_01 {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--vk-color-border);
}

.ttl_bdr-gray_01:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -2px;
    width: 30%;
    border-bottom: 2px solid var(--vk-color-primary);
}

@media (max-width: 639px) {
    .ttl_bdr-gray_01 {
        padding-bottom: 10px;
        margin-bottom: 15px;
    }
}

/*------  見出し（装飾）　h4  ------*/
/*--- 背景色・左２重線を入れたデザイン ---*/
h4.double-line_01 {
    padding: 0.75rem 1.5rem;
    border-left: 6px double var(--vk-color-primary);
    background: #f7f7f7;
}

/*------  見出し（装飾）　h5〜h6  ------*/
/*---  下線  ---*/
.ttl_bdr-org_01 {
    border-bottom: 1px solid var(--vk-color-primary);
    padding-bottom: 10px;
    margin-bottom: 15px;
}

/*---  左線  ---*/
.ttl_bdr-org_02 {
    border-left: 4px solid var(--vk-color-primary);
    padding-left: 15px;
}


/*==================================================
  TOP　コンテンツ
===================================================*/

/* h2の次のコンテンツの左右にpaddingを入れる */
@media (min-width: 640px) {
h2+div {
    padding: 0 1rem;
}
}
@media (max-width: 639px) {
	h2+div {
    padding: 0 0.5rem;}
}


/*==========  最新情報  ==========*/
.wp-block-latest-posts li {
    display: flex;
}

.wp-block-latest-posts li:first-of-type {
    padding-top: 0;
}

.wp-block-latest-posts li a {
    order: 2;
    margin-bottom: 0;
}

.wp-block-latest-posts li time {
    order: 1;
    margin-right: 35px;
    color: var(--vk-color-primary);
    font-weight: bold;
    width: 17%;
}

@media (max-width: 991px) {
    .wp-block-latest-posts li time {
        width: 25%;
        white-space: nowrap;
    }

    .wp-block-latest-posts li a {
        width: 60%;
    }
}


/*==========  メッセージ  ==========*/

#message h2+.wp-block-group {
    padding: 0 .5rem;
    width: fit-content;
    margin: 0 auto;
    max-width: calc(100% - 2rem);
	font-feature-settings: "palt";
}

#message div div p:last-child {
    margin-bottom: 0;
}
#message div div p{
	font-size: 1.125rem;
}
@media (max-width: 639px){
	#message h2+.wp-block-group{
		width: 100%;
		max-width: 100%;
		padding: 0 0.25em;
	}
} 

/*==========  最新情報  ==========*/

/*==========  選ばれる理由  ==========*/
#reason .wp-block-group {
    max-width: fit-content;
    margin: 0 auto;
    width: 100%;
    padding: 0 .5rem;
}

#reason ol li {
    margin-bottom: 2.5em;
}

#reason ol {
    margin: 0 auto;
}

#reason li strong,
#reason li::marker {
    font-size: 1.5rem;
    color: var(--vk-color-primary-vivid);
    margin-bottom: 0.5em;
    font-weight: var(--font-w-b);
	line-height: 1.3;
}

.reason-comment strong {
    font-weight: var(--font-w-bk)
}

@media (max-width: 639px){
    #reason ol {
        margin-left: 1rem;
    }
	#reason .wp-block-group {
		padding: 0;
	}
	#reason ol li{
		margin-left: -0.75em;
	}
	#reason strong,
    #reason li::marker{
        font-size: 1.25rem;
    }
} 

/*==========  アクセス  ==========*/
.access-area .wp-block-column {
    flex-basis: 50%;
    border-left: 4px solid var(--vk-color-primary-vivid);
    margin-left: 0;
    padding-left: 1.333rem;
    flex-grow: 1;
}


.access-area span.free-dial::before {
	position: relative;
	top:1px;
    display: inline-block;
    content: "";
    background: url(assets/image/freed-icon.png) no-repeat center / contain;
	height: 1.2em;
    aspect-ratio: 139 / 80;
	margin-right: .5rem;
	margin-left: 0.25rem;
}

.access-area .wp-block-column .sttl {
    color: var(--vk-color-primary-vivid);
    font-size: 1.333em;
    margin-bottom: 10px;
    font-weight: var(--font-w-b);
}

.access-guide {
    background-color: #FFF;
    border-radius: 10px;
    gap: 1.5rem;
    justify-content: space-around;
    padding: 1rem;
}

.access-guide figure {
    max-width: 30%;
    padding: 5px;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
}

.access-guide .wp-block-button {
    width: max-content;
}

.access-guide .wp-block-button a {
    font-size: 0.75rem;
    border-radius: 8px;
    letter-spacing: normal;
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    color: #FFF;
    gap: 1.5em;
}

.access-guide .wp-block-button a strong {
    font-size: 1rem;
    margin-bottom: 0.25em;
    display: inline-block;
    line-height: 1.5;
}

.access-guide .wp-block-button a>* {
    display: inline-block;
}

.access-guide .wp-block-button a::before {
    font-family: "Font Awesome 6 Free";
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "\f1c1";
    font-weight: 900;
    font-size: 2rem;
    color: #FFF;
    line-height: 3rem;
}


@media (max-width: 991px) {
    .contents-layout_01 .wp-block-group__inner-container iframe {
        height: 400px;
    }

    .access-area {
        width: 100%;
        float: none;
    }
}

@media (max-width: 639px) {
    .contents-layout_01 .wp-block-group__inner-container iframe {
        height: 320px;
    }

    .access-area {
        display: block;
    }

    .access-area .wp-block-column:first-child {
        margin-bottom: 20px;
    }
	.access-guide {
		flex-direction: column;
	}
	.access-guide figure{
		max-width: 75%;
		padding: 3px;
		object-fit: cover;
		display: flex;
		align-items: center;
		order: 1;
	}
	.access-guide > div{
		order: 2;
	}
}

/*==========  採用情報  ==========*/
.employment-info-content {
    padding: 120px 0;
}

.employment-info_area {
    max-width: 60%;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.8);
    padding: 50px;
    box-shadow: 3px 4px 4px #d1d1d1;
}

.employment-info_area table tr td {
    padding: 15px;
    font-size: 1rem;
}

@media (max-width: 991px) {
    .employment-info_area {
        max-width: 100%;
        padding: 25px;
    }
}


/*==================================================
  パンくず
===================================================*/
#breadcrumb {
    border: none;
}

#breadcrumb .breadcrumb-list li:after {
    content: '>';
}

@media (max-width: 639px) {
    #breadcrumb {
        margin-bottom: 50px;
    }
}


/*==================================================
  下層（固定）ページ
===================================================*/
/*------  下層（固定・投稿）ページ　ページヘッダー ------*/
.page-header {
    color: #fff;
    background: url(assets/image/under-page-header.jpg) no-repeat bottom;
    background-size: cover;
    background-position: center center;
    padding: 100px;
    margin-bottom: 30px;
    position: relative;
}

/* .page-header:after {
	content: '';
	background-color: rgba(0, 0, 0, .3);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
} */
@media (max-width: 639px) {
    .page-header {
        padding: 100px 50px;
    }
}


/*==========  施術内容について  ==========*/
#treat-list {
    justify-content: space-between;
}

#treat-list .lr-image-text {
    flex-direction: row;
}

#treat-list .lr-image-text .treat-text {
    margin-left: 4em;
    margin-right: 0;
}

#treat-list .lr-text-image {
    flex-direction: row-reverse;
}

#treat-list .lr-text-image .treat-text {
    margin-left: 0;
    margin-right: 4em;
}

@media (max-width: 781px) {
    #treat-list .lr-text-image {
        flex-direction: row;
    }

    #treat-list .lr-image-text .treat-text {
        margin-left: 0;
        margin-right: 0;
    }

    #treat-list .lr-text-image .treat-text {
        margin-left: 0;
        margin-right: 0;
    }

}




/*==========  よくある質問  ==========*/
.faq {
    border: none;
}

h2+div#faq {
    padding: 0;
}

.schema-faq-section {
    /* border-bottom: 1px solid #c9c9c9; */
    padding: 2rem;
    margin-bottom: 2rem;
    background-color: #ffffff;
    border-radius: 20px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.02);
}

.schema-faq-section .schema-faq-question {
    border-bottom: 1px dashed #d1d1d1;
    padding-bottom: 0.25em;
    font-size: 1.25rem;
    color: var(--vk-color-primary);
    margin-bottom: 0.5rem;
    width: 100%;
    display: inline-block;

}

.schema-faq-section .schema-faq-answer {
    margin-bottom: 0;
}

.schema-faq-section .schema-faq-question,
.schema-faq-section .schema-faq-answer {
    width: 100%;
}

@media (max-width: 781px) {

    .schema-faq-section .schema-faq-question,
    .schema-faq-section .schema-faq-answer {
        display: block;
    }

    .schema-faq-section .schema-faq-question .q-column,
    .schema-faq-section .schema-faq-answer .a-column {
        margin-left: 0;
    }

    .schema-faq-section .schema-faq-question p.mark,
    .schema-faq-section .schema-faq-answer p.mark {
        margin: 0 auto 20px auto;
    }
}

/*------  レイアウト　シンプル（01） ------*/
.faq-content_01 {
    margin-bottom: 50px;
}

.faq-content_01 .q {
    border-bottom: 1px dashed #d1d1d1;
}

.faq-content_01 .a {
    border-bottom: 1px solid #c9c9c9;
}

.faq-content_01 .q .q-column,
.faq-content_01 .a .a-column {
    flex-basis: content;
    margin-left: 2.5em;
}

.faq-content_01 .q p.mark {
    background: #21a68d;
    padding: 10px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: #fff;
    text-align: center;
    font-weight: bold;
}

.faq-content_01 .a p.mark {
    background: #cf4545;
    padding: 10px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: #fff;
    text-align: center;
    font-weight: bold;
}

@media (max-width: 781px) {

    .faq-content_01 .q,
    .faq-content_01 .a {
        display: block;
    }

    .faq-content_01 .q .q-column,
    .faq-content_01 .a .a-column {
        margin-left: 0;
    }

    .faq-content_01 .q p.mark,
    .faq-content_01 .a p.mark {
        margin: 0 auto 20px auto;
    }
}

/*------  レイアウト　吹き出し（01） ------*/
.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
    font-family: 'FontAwesome', sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_qa dt,
.cp_qa dd {
    position: relative;
    padding: 10px 15px;
    border-radius: 0.3em;
}

.cp_qa dt {
    margin: 0 3em 1em 3em;
    background: #ffffff;
    border: 5px solid #f5f5f5;
}

.cp_qa dd {
    margin: 0 3em 3em 3em;
    background: #f5f5f5;
}

/* 吹き出し▶︎ */
.cp_qa dt::before,
.cp_qa dd::before {
    position: absolute;
    z-index: 99;
    top: 0.5em;
    display: inline-block;
    width: 0;
    height: 0;
    content: '';
    border-style: solid;
}

/* 質問吹き出し▶︎ */
.cp_qa dt::before {
    left: -20px;
    border-width: 5px 15px 5px 0;
    border-color: transparent #f5f5f5 transparent transparent;
}

/* 答え吹き出し▶︎ */
.cp_qa dd::before {
    right: -0.5em;
    border-width: 5px 0 5px 8.7px;
    border-color: transparent transparent transparent #f5f5f5;
}

/* ?!アイコン */
.cp_qa dt::after,
.cp_qa dd::after {
    font-size: 1.5em;
    position: absolute;
    top: 0;
    color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.2em;
}

/* ?アイコン */
.cp_qa dt::after {
    left: -2.5em;
    margin: 0 0.5em 0 0;
    padding: 6px 5px 5px 7px;
    background: #00a98c;
    content: 'Q';
}

/* !アイコン */
.cp_qa dd::after {
    right: -2.5em;
    margin: 0 0 0 0.5em;
    padding: 6px 5px 5px 9px;
    content: 'A';
    background: #e0353e;
}

/*==========  お問合せ  ==========*/
.wpcf7 input,
.wpcf7 textarea {
    font-family: "Arial", "Helvetica Neue", Helvetica, Arial, "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;
    max-width: 100%;
    margin-bottom: 0;
}

.wpcf7 .row {
    display: flex;
    width: 90%;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: #ccc;
    border-left: 0;
    border-right: 0;
    margin: 0 auto;
}

.wpcf7 .row:last-child {
    border-width: 1px;
}

.wpcf7 .row .column {
    padding: 20px 30px;
}

.wpcf7 .row .column:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-basis: 30%;
    background-color: rgba(240, 240, 240, .5);
}

.wpcf7 .row .column:last-child {
    flex-basis: 70%;
}

.wpcf7 .row .column .required:before,
.wpcf7 .row .column .optional:before {
    padding: 8px 12px;
    color: #fff;
    font-weight: normal;
    font-size: .7em;
    border-radius: 4px;
    margin-right: 20px;
}

.wpcf7 .row .column .optional:before {
    content: '任意';
    background-color: #666;
}

.wpcf7 .row .column .required:before {
    content: '必須';
    background-color: #ed5855;
}

.wpcf7-form .wpcf7-submit {
    background: var(--vk-color-primary);
    display: block;
    margin: 20px auto;
    transition: background .5s;
    border-radius: 0;
    border: 0;
    width: 30%;
    padding: 20px 0;
}

.wpcf7-form .wpcf7-submit:hover {
    background: var(--vk-color-primary-vivid);
}

@media screen and (max-width: 639px) {
    .wpcf7 .row {
        flex-wrap: wrap;
        width: 98%;
        ;
    }

    .wpcf7 .row .column {
        max-width: 100%;
    }

    .wpcf7 .wpcf7-form .row .column {
        flex-basis: 100%;
    }

    .wpcf7-form .wpcf7-submit {
        width: 95%;
    }
}


/*==================================================
  下層（投稿）ページ
===================================================*/
/*==========  投稿記事（一覧）  ==========*/
/*------  TOPICS ------*/
/*
.post-entry{
	border-bottom: 1px solid #e6e6e6;
    margin-bottom: 60px;
}
.post-entry .vk_post_date{
	font-size: 0.8rem;
    margin-bottom: 5px !important;
    color: #666;
}
*/

.post-list.vk_posts .vk_post_title {
    margin-bottom: var(--vk-margin-headding-bottom);
}

.vk_post .vk_post_date {
    font-size: .8em;
}

.entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt,
.main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
    font-size: 16px;
}

@media (min-width: 992px) {

    .entry-body>.vk_posts>.media.vk_post-col-lg-12,
    .main-section>.vk_posts>.media.vk_post-col-lg-12 {
        padding-bottom: 0;
    }
}

@media (min-width: 576px) {

    .entry-body>.post-list.vk_posts>.media.vk_post-col-sm-12:first-child,
    .main-section>.post-list.vk_posts>.media.vk_post-col-sm-12:first-child {
        border-top: 0;
    }

    .entry-body>.post-list.vk_posts>.media.vk_post-col-sm-12,
    .main-section>.post-list.vk_posts>.media.vk_post-col-sm-12 {
        margin-bottom: 32px;
    }
}


/*==================================================
  フッター
===================================================*/
.site-footer {
    padding-top: 20px;
    border-top: 0;
    background: #ecf5ff;
}

.site-footer .site-footer-content {
    margin-bottom: 80px;
}

.col-lg-4:nth-of-type(1) aside.widget {
    margin: 0 auto;
}

.site-footer-copyright {
    width: 100%;
    background: var(--vk-color-primary-dark);
    max-width: 100%;
}

.site-footer-copyright p,
.site-footer-copyright p a {
    color: #fff;
}

.site-footer .phone a:link {
    color: #333;
    text-decoration: none;
}

.site-footer .row {
    max-width: 1140px;
    margin: 0 auto;
    justify-content: space-between;
}

.site-footer .reserve .wp-block-button {
    border: none;
}

.site-footer .wp-block-button__link {
    background: var(--vk-color-primary);
    border-radius: unset;
}

.site-footer .widget_nav_menu>div>ul {
    width: 340px;
    column-count: 2;
}

.site-footer .widget_nav_menu ul li a {
    font-size: 14px;
    background-color: unset !important;
}

.site-footer .widget_nav_menu .menu-item {
    border-bottom: 1px dotted var(--vk-color-primary);
}


@media (min-width: 992px) {
    .col-lg-4 {
        max-width: 30%;
        flex: auto;
    }

    .col-lg-4:nth-of-type(1) {
        max-width: 35%;
        padding: 0;
    }

    .col-lg-4:nth-of-type(1) .address {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .col-lg-4:nth-of-type(1) .btn_contact_02 {
        width: 100%;
        margin-top: 10px;
    }

    .col-lg-4:nth-of-type(1) .btn_contact_02 a {
        display: block;
        border-radius: 0;
        background: var(--vk-color-primary);
        padding: calc(0.667em + 2px) calc(1.333em + 2px);
    }

    .col-lg-4:nth-of-type(2) {
        max-width: min-content;
        font-size: 16px;
        padding: 0 15px;
    }

    .col-lg-4:nth-of-type(3) {
        padding: 0;
    }
}

.site-footer .col-lg-4:nth-of-type(1) .phone a {
    width: 236px;
    border-radius: 0;
}

.site-footer .col-lg-4:nth-of-type(2) aside {
    margin-bottom: 10px
}

.site-footer .col-lg-4:nth-of-type(2) aside p {
    margin-bottom: 0;
}

.site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container {
    display: flex;
    align-items: center;
}

.site-footer .phone a {
    margin-right: 20px;
    font-size: 24px;
    font-family: Arial, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    margin-bottom: 0;
    padding-left: 33px;
    position: relative;
}

/* .site-footer .phone a:before {
    position: absolute;
    display: block;
    content: "";
    background: url(assets/image/ico_phone_01.png) no-repeat;
    background-size: contain;
    width: 22px;
    height: 22px;
    top: 0;
    left: 0;
} */

.site-footer .col-lg-4:nth-of-type(1) .wp-block-buttons,
.site-footer .col-lg-4:nth-of-type(1) .wp-block-buttons>.wp-block-button,
.site-footer .col-lg-4:nth-of-type(2) .wp-block-buttons,
.site-footer .col-lg-4:nth-of-type(2) .wp-block-buttons>.wp-block-button {
    display: block;
}

.site-footer .col-lg-4:nth-of-type(2) .wp-block-buttons {
    width: 48%;
}

.site-footer .col-lg-4:nth-of-type(1) .wp-block-buttons .wp-block-button a,
.site-footer .col-lg-4:nth-of-type(2) .wp-block-buttons .wp-block-button a {
    width: 100%;
    padding: 12px;
    border-radius: 5px;
}

@media (max-width: 991px) {
    .site-footer .container {
        max-width: 100%;
    }

    .site-footer .row {
        max-width: 100%;
        justify-content: space-between;
    }

    .col-md-6 {
        max-width: 33%;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container {
        display: block;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container .phone {
        font-size: 20px;
        margin-bottom: 10px;
        text-align: center;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-buttons {
        width: 100%;
    }

    .site-footer .widget_nav_menu>div>ul {
        display: block;
        column-count: initial;
        width: initial;
    }

    .site-footer .widget_nav_menu>div>ul li {
        width: 100%;
    }
}

@media (max-width: 639px) {
    .site-footer .site-footer-content p {
        font-size: 14px;
    }

    .site-footer .row {
        display: block;
        max-width: 100%;
    }

    .site-footer aside .wp-block-buttons,
    .site-footer aside .wp-block-buttons>.wp-block-button {
        display: block;
    }

    .site-footer .col-lg-4 .wp-block-button a {
        display: block;
        width: 100%;
        padding: 12px;
        border-radius: 0;
    }

    .col-md-6,
    .col-lg-4:nth-of-type(3) {
        max-width: 100%;
    }

    .site-footer .col-lg-4:nth-of-type(1) img {
        max-width: 80%;
        margin: 0 auto;
    }

    .site-footer .col-lg-4:nth-of-type(1) aside.widget_text {
        margin: 0 auto;
        text-align: center;
    }

    .site-footer .col-lg-4 .phone .wp-block-button,
    .site-footer .col-lg-4:nth-of-type(2) .wp-block-button {
        width: 100%;
    }

    .site-footer .col-lg-4:nth-of-type(1) .phone a {
        width: 100%;
        padding: 20px 0;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container .wp-block-button a {
        width: 100%;
        padding: 12px;
        border-radius: 0;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container {
        display: block;
        text-align: center;
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container .phone a {
        font-size: 24px;
        margin-bottom: 10px;
        color: #333;
        text-decoration: none;
        padding-left: 23px
    }

    .site-footer .col-lg-4:nth-of-type(2) .wp-block-group__inner-container .phone a::before {
        width: 18px;
        height: 18px;
        top: 3px;
        left: -8px;
    }

    .col-md-6,
    .col-lg-4:nth-of-type(3) {
        max-width: 100%;
    }

    .site-footer .widget_nav_menu>div>ul {
        display: block;
        margin-left: 0;
        column-count: initial;
        width: 100%;
    }

    .site-footer .widget_nav_menu>div>ul li {
        font-size: 14px;
        width: 100%;
    }

    .site-footer .col-lg-4:nth-of-type(2) aside p {
        text-align: center;
    }
}


/*==================================================
  リンク・ボタン等
===================================================*/
/*------  リンク色の設定  ------*/
a:link,
a:visited {
    color: #333;
    text-decoration: none;
}

a:hover {
    color: var(--vk-color-primary-vivid);
}

/*------  「詳細を見る」ボタン（01）  ------*/
.more-link_01 {
    text-align: right;
    margin-top: 40px;
    margin-right: 25px;
}

.more-link_01 a {
    text-decoration: none;
    color: var(--vk-color-primary);
    font-weight: bold;
    position: relative;
}

.more-link_01 a:before {
    position: absolute;
    display: block;
    font-family: "Font Awesome 5 Free";
    content: "\f178";
    font-weight: 900;
    right: -25px;
}

/*------  「詳細を見る」ボタン（02）  ------*/
.more-link_02 {
    text-align: right;
}

.more-link_02 a {
    background: #ff5200;
    padding: 10px 20px;
    color: #fff;
    font-size: 0.8rem;
    text-decoration: none;
}

/*------  リンクボタン  ------*/
.wp-block-buttons .wp-block-button__link {
    border-radius: 0;
}

.wp-block-buttons.is-content-justification-center,
.wp-block-buttons.is-content-justification-right {
    display: flex;
}

.btn_layout {
    width: 100%;
    display: flex;
    gap: 0.5em;
    flex-wrap: wrap;
    align-items: center;
}

.btn_layout a {
    width: 16em;
    background: var(--vk-color-primary);
    color: #fff;
}

/*------  リンクボタン（01）  ------*/

.btn_layout_01 {
    justify-content: right;
}

@media (max-width: 639px) {
    .btn_layout_01 {
        justify-content: center;
    }
}

/*------  リンクボタン（02）  ------*/
.btn_layout_02 {
    justify-content: center;
}

.btn_layout_01.center-button a {
    width: 16em;
    background: var(--vk-color-primary);
    color: #fff;
    border-radius: 0 !important;
}

/*------  コンタクトボタン（01）  ------*/
.btn_contact_01 a {
    border-radius: 0 !important;
    padding: calc(.75em + 2px) calc(5.78em + 2px);
}

/*==================================================
  定義リスト
===================================================*/
/*------  リスト(01)  ------*/
ul.notes_01 {
    width: 60%;
    margin: 0 auto;
    border: solid 4px #eee;
    border-radius: 10px;
    padding: 20px 20px 20px 45px;
    list-style: none;
    margin-bottom: 30px;
}

ul.notes_01 li {
    position: relative;
}

ul.notes_01 li:before {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: var(--vk-color-primary);
    border-radius: 50%;
    top: 8px;
    left: -20px;
}

@media (max-width: 991px) {
    ul.notes_01 {
        width: 100%;
    }

    ul.notes_01 li:before {
        width: 8px;
        height: 8px;
    }
}

/*------  リスト(02)  ------*/
ul.notes_02 {
    display: flex;
    flex-wrap: wrap;
}

ul.notes_02 li {
    color: #333;
    margin-right: 30px;
    position: relative;
    list-style: none;
    padding-left: 20px;
}

ul.notes_02 li:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: var(--vk-color-primary-dark);
    border-radius: 50%;
    left: 0;
    top: 8px;
}


/*==================================================
  文字装飾・囲い枠等
===================================================*/
/*------  赤字に（円形（赤））アイコン  ------*/
.sub-ttl {
    color: var(--vk-color-primary-dark) !important;
    font-weight: bold;
    position: relative;
    padding-left: 20px;
}

.sub-ttl:before {
    position: absolute;
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: solid var(--vk-color-primary-dark) 3px;
    border-radius: 50%;
    top: 8px;
    left: 0;
}

/*------  （下向き三角（青））アイコン  ------*/
.sub-ttl_blue-tri_01 {
    position: relative;
    padding-left: 20px;
}

.sub-ttl_blue-tri_01:before {
    content: "";
    position: absolute;
    border-top: 10px solid #2b6cb2;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    top: 8px;
    left: 0;
}

/*------  灰色（線）囲い枠（01）  ------*/
.bdr-gray_01 {
    border-bottom: 1px solid #eee;
}

/*------  灰色（線）囲い枠（02）  ------*/
.bdr-gray_02 {
    padding: 20px 15px;
    margin-bottom: 20px;
    border: 6px solid #f5f5f5;
}

/*------  灰色（背景）囲い枠（01）  ------*/
.bak-gray_01 {
    padding: 20px;
    margin-bottom: 20px;
    background-color: #f7f7f7;
}

/*==================================================
  テーブルレイアウト
===================================================*/
/*------ レスポンシブ（無）  ------*/
.tdl-layout_01 {
    margin-bottom: 0;
}

.tdl-layout_01 table tr td {
    white-space: nowrap;
}

.tdl-layout_01 table tr td:first-child {
    background: #f5f5f5;
    text-align: center;
    padding: 10px;
}

/*------ レスポンシブ（有）  ------*/
.tbl-rwd_01 {
    margin-bottom: 0;
}

.tbl-rwd_01 table tr td:nth-child(odd) {
    background: #f5f5f5;
    text-align: center;
    padding: 10px;
}

@media (max-width: 639px) {
    .tbl-rwd_01 table tr td {
        display: block;
    }
}


/*==================================================
  お問合せ
===================================================*/
/* #faq {
    padding: 1.5rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 2rem;
}

#faq p {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

#faq p:nth-of-type(odd) {
	margin-bottom: 0;
} */

input[type="text"] {
    width: auto;
}

/*==================================================
  会社概要
===================================================*/

#about h5 {
    margin-bottom: 0.5em;
    font-size: 1.2em;
    line-height: 1.2em;
    color: var(--vk-color-primary);
}

#about p {
    font-size: 1rem;
    line-height: 1.5em;
    margin-bottom: 3rem;
}

#about p:has(+ p) {
    margin-bottom: 1rem;
}

#about p a {
    font-weight: var(--font-w-b);
}

#about p a:hover {
    color: var(--vk-color-primary-vivid);
    text-decoration: underline;
}

#about strong {
    font-weight: var(--font-w-bk);
}

@media (min-width: 782px) {
    .our-philosophy .wp-block-column:has(figure) {
        max-width: 33.3%;
    }

    .our-philosophy .wp-block-column p {
        font-size: 20px;
    }


}

@media (max-width: 781px) {
    #about-table td {
        display: block;
    }

    #about-table td:first-child {
        text-align: center;
        font-weight: bold;
        background: #f5f5f5;
    }

    .sp-reverse {
        flex-direction: column-reverse;
    }
}

.page-header-title {
    text-shadow: -3px 3px 6px rgba(31, 71, 81, 0.75), 3px -3px 6px rgba(31, 71, 81, 0.75), -3px -3px 6px rgba(31, 71, 81, 0.75), 3px 3px 6px rgba(31, 71, 81, 0.75);
}

/*==================================================
  物件のご紹介
===================================================*/
.estate-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2rem;
}

.estate-list p,
.estate-list h4 {
    margin: 0;
}

.estate-list .estate {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: .5rem;
    margin-bottom: 4rem;
}

.estate-list .estate .estate-image img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    max-height: 300px;
}

.estate-list .estate h4 {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--vk-color-primary-vivid);
    text-align: center;
}

.estate-list .estate h4 span {
    letter-spacing: 0 !important;
}

.estate-list .estate .estate-address {
    font-size: .95rem;
}

.estate-list .estate .estate-address {
    font-size: .95rem;
    text-align: center;
}

.estate-list .estate .pdf-link {
    margin-top: 0.25rem;
    font-size: 0.675rem;
    border-radius: 8px;
    letter-spacing: normal;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 1rem;
    color: #FFF;
    width: 100%;
    background-color: var(--vk-color-primary-vivid);
    border-color: var(--vk-color-primary-vivid);
    padding: calc(.667em + 2px) calc(1.333em + 2px);
}

.estate-list .estate .pdf-link:before {
    font-family: "Font Awesome 6 Free";
    box-sizing: border-box;
    content: "\f1c1";
    font-weight: 900;
    font-size: 2rem;
}

.estate-list .estate .pdf-link strong {
    font-size: 1rem;
    font-weight: bold;
}

.estate-list .estate-contact {
    display: grid;
    align-items: center;
}

.estate-list .estate-contact a {
    padding: 1rem;
    background: var(--vk-color-primary-vivid);
    border-radius: 8px;
    color: #fff;
    display: inline-block;
    width: 100%;
    text-align: center;
}

@media (max-width: 1200px) {
    .estate-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 1.5rem;
    }
}



@media (max-width: 767px) {
    .estate-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 1rem;
    }

    .estate-list .estate .pdf-link {
        padding-left: .5rem;
        padding-right: .5rem;
        gap: .5rem;
        letter-spacing: -1px;
    }

    .estate-list .estate .pdf-link strong {
        font-size: .9rem;
    }
}





/*==================================================
  ご入居の手続きについて
===================================================*/

.home .entry-body #flow {
    margin: 0 auto;
}

.home .entry-body #flow>div {
    background-image: repeating-linear-gradient(-45deg, #e9f0f7, #e9f0f7 7px, #e2eaf4 7px, #e2eaf4 14px);
    border-radius: 20px;
    padding: 1rem;
}

.flow-wrap {
    width: 100%;
    height: auto;
    margin: 0 auto;
    justify-content: center;
}

/*
.flow-wrap > div:first-of-type figure{
	padding-top: 2rem;
}
*/

h2.flow-ttl {
    margin: 0 auto 1.75rem;
    text-align: center;
    line-height: 1;
}

.flow-contents {
    padding: 3rem 1rem 2.5rem;
    background-color: #FFF;
    border-radius: 10px;
    margin-bottom: 0;
}

.flow-contents p {
    margin-bottom: 0;
    font-size: 0.9em;
}

#flow .wp-block-button {
    margin-bottom: 1.25rem;
}

#flow .wp-block-button a {
    font-size: 1rem;
    border-radius: 8px;
    padding: 0.75rem 2rem calc(0.75rem + 2px);
    letter-spacing: normal;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 1.5rem;
    color: #FFF;
}

#flow .wp-block-button a strong {
    font-size: 1.75em;
    letter-spacing: 0.17em;
	font-weight: var(--font-w-b);
	line-height: normal;
}
#flow .wp-block-button a span{
	font-size: 0.9em;
	font-weight: var(--font-w-b);
}
#flow .wp-block-button a>* {
    display: inline-block;
}

#flow .wp-block-button.pdf a::before {
    font-family: "Font Awesome 6 Free";
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "\f1c1";
    font-weight: 900;
    font-size: 2.5em;
}

@media (min-width: 782px) {
    .home .entry-body #flow>div {
        width: calc(100vw - 12rem);
        max-width: 900px;
    }
}

@media (max-width: 781px) {
	    .home .entry-body #flow>div {
        width: fit-content;
    }
	h2.flow-ttl {
    margin: 0 auto 1rem;
	}
	.flow-contents p {
    margin:0 auto;
    font-size: 0.9em;
	padding: 0;
	width: fit-content;
}
	.flow-contents p span{
		display: inline-block;
	}
	#flow .wp-block-button.pdf{
		width: 100%;
	}
	#flow .wp-block-button a{
		text-align: left;
		padding: 0.75rem 1rem calc(0.75rem + 2px) 1.5rem;
	}
	#flow h2+div{
		padding: 0;
	}
	
}