:root {
    --easing            : cubic-bezier(.2, 1, .2, 1);
    --transition        : .8s var(--easing);
    --color-base        : #f8f8f8;
    --color-gray        : #ddd;
    --color-theme       : #fff;
    --color-theme-darken: #0f0f0f;
    --main-text         : font-family: 'Belleza', sans-serif;
    --box-shadow        : .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover  : 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset  : inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark   : .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff, .2);
}



.news #header {
    height: 100px;
}

.common-page-kv {
    /* padding    : 100px 20px 100px; */
    position   : relative;
    width      : 100%;
    margin-left: auto;
    transition : .8s;
}



.page-common-sec {
    margin-top    : 60px;
    margin-bottom : 60px;
    padding-top   : 60px;
    padding-bottom: 60px;
}


.common-sec_cont {
    width : 88%;
    margin: 0 auto;
}


@media (max-width: 1024px) {

    .common-page-kv {
        padding: 40px;
        width  : 100%;
    }

    .common-page-kv-ttl_area {
        position: absolute;
        bottom  : -30px;
        left    : auto;
    }

    .page-common-sec {
        margin-top    : 40px;
        margin-bottom : 40px;
        padding-top   : 40px;
        padding-bottom: 40px;
    }




    .single .common-page-kv {
        padding: 20px 25px 20px;
    }


}

@media (max-width: 768px) {




    .page-common-sec {
        margin-top   : 30px;
        margin-bottom: 0;
        padding      : 40px 30px 30px;
    }

    .common-sec_cont {
        margin: 0 auto 40px;
        width : 100%;
    }




}


@media (max-width: 599px) {

    .common-page-kv {
        width  : 100%;
        padding: 45px;
    }

    .page-common-sec {
        margin-top    : 20px;
        margin-bottom : 0;
        padding-top   : 25px;
        padding-bottom: 30px;
        padding       : 25px 20px 30px;
    }

    .common-sec_cont {
        padding: 0;
    }

    .common-sec {
        padding   : 0 25px;
        margin-top: 40px;
    }


    .common-page-kv::before {
        left: 4%;
        top : 10px;
    }

    .common-page-kv-ttl_area {
        left: 20px;
    }

    .common-page-kv-ttl_area h2 {
        font-size: 4.6rem;
    }

    .common-page-kv-ttl_area h2 br {
        display: none;
    }


}



/* -------------------------------- */
/*archiveページ
/* -------------------------------- */

#page-info-sec {
    margin-top    : 20px;
    margin-bottom : 60px;
    padding-top   : 20px;
    padding-bottom: 60px;
}

.info-lead_container .page-info-sub-title {
    font-size  : clamp(3.8rem, 5.2vw, 6.2rem);
    font-weight: 300;
    margin     : 30px 0 0;
}

/* -------------------------------- */
/*archiveページ-メディアクエリ
/* -------------------------------- */


@media (max-width: 768px) {}

@media (max-width: 599px) {}


/* -------------------------------- */
/*singleページ
/* -------------------------------- */

.single-sec {
    padding  : 80px 0 180px;
    margin   : 0 auto;
    max-width: 1200px;
}


.single_box h2 {
    text-align   : left;
    font-size    : 3.6rem;
    line-height  : 1.4;
    margin-bottom: 30px;
}

.single_box .category {
    display    : flex;
    align-items: center;
}

.single_box .category span {
    font-size: 1.4rem;

    font-weight: normal;
}

.post-category {
    margin-left: 20px;
}

.single_box h3 {
    font-weight: normal;
    font-size  : 1.6rem;
    line-height: 1.4;
    margin-top : 60px;
}

.single_box h3 p {
    line-height  : 1.8;
    margin-bottom: 20px;
}

.wp-block-button__link {
    background-color: #EADDBA;
    color           : #6A0016;
}


@media (max-width: 1024px) {
    .single-sec {
        padding: 40px 40px 80px;
    }
}

@media (max-width: 599px) {


    .single-sec {
        padding: 30px 25px 80px;
    }

    .single_box h2 {
        font-size    : 1.8rem;
        margin-bottom: 15px;
    }

    .single_box .category span {
        font-size: 1.2rem;
    }

    .single_box h3 {
        margin-top : 30px;
        font-size  : 1.4rem;
        line-height: 1.8;
    }

    .single_box p {
        font-size  : 1.3rem;
        line-height: 1.8;
        margin     : 10px 0;
    }

}



/* -------------------------------- */
/*404ページ
/* -------------------------------- */

.found_page-cont {
    padding-top: 300px;
}

.found_page {
    margin-bottom: 300px;
}

.found_page h2 {
    font-size    : 3rem;
    line-height  : 1.4;
    text-align   : center;
    margin-bottom: 40px;
    position     : relative;
}

.found_page h2::before {
    content            : "";
    background-image   : url(/assets/images/treatment.svg);
    display            : block;
    width              : 40px;
    height             : 20px;
    top                : -20px;
    margin             : 0 auto;
    position           : absolute;
    background-repeat  : no-repeat;
    background-position: center;
    background-size    : contain;
    left               : 50%;
    transform          : translateX(-50%);
}

.found_page p {
    font-size    : 1.5rem;
    line-height  : 1.4;
    text-align   : center;
    margin-bottom: 30px;
}

.found-btn {
    margin: 30px auto 0;
}

@media (max-width: 599px) {

    .found_page-cont {
        padding-top: 200px;
    }

    .found_page {
        margin-bottom: 200px;
    }

    .found_page h2 {
        font-size    : 2rem;
        margin-bottom: 30px;
    }

    .found_page p {
        font-size: 1.4rem;
    }
}

/* -------------------------------- */
/*お問い合わせフォーム
/* -------------------------------- */


.entry-sec_cont {
    padding-bottom: 60px;
    margin-bottom : 60px;
}

.entry-sec_cont .entry-message {
    font-size    : 1.6rem;
    line-height  : 1.6;
    margin-top   : 40px;
    margin-bottom: 8px;
    text-align   : center;
}

.contact-form-lead-text {
    font-size  : clamp(3rem, 3.8vw, 4.2rem);
    font-weight: 300;
    text-align : center;
}

.entry-sec_cont .entry-message-note {
    font-size  : 1.4rem;
    line-height: 1.6;
    display    : block;
    text-align : center;
}

.entry-form_wrapper {
    padding: 60px 0 0;
}

.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-textbox {
    width                : 100%;
    height               : 50px;
    /* border            : solid 1px #d5d5d5; */
    border               : none;
    padding              : 5px 15px;
    box-sizing           : border-box;
    border-radius        : 3px;
    -webkit-appearance   : none;
}

.wpcf7-form table {
    max-width : 960px;
    width     : 100%;
    text-align: left;
    margin    : 0 auto;
}

.page_cont .wpcf7-form table tr {
    position     : relative;
    margin-bottom: 20px;
    border-bottom: none;
}

.page_cont .wpcf7-form table span {
    color: #888;
}

.wpcf7-form table th {
    text-align    : left;
    width         : 26%;
    vertical-align: top;
    color         : #1e1e1e;
    font-size     : 100%;
    padding       : 33px 0 30px;
}

.wpcf7-form table th p {
    font-size  : 1.5rem;
    font-weight: 300;
    line-height: 1.3;
}

.wpcf7-form table td {
    vertical-align: top;
    padding       : 26px 0;
}

.wpcf7-form .address td {
    display: block;
    padding: 10px 0;
}

.wpcf7-form .address td ul {
    padding-bottom: 26px;
}

.wpcf7-form .address td ul li {
    padding-top: 20px;
}

/*ラジオボタン*/

.your-choose {
    display   : flex;
    column-gap: 20px;
}

.wpcf7-list-item {
    display: inline-block;
    margin : 0;
}

.wpcf7-list-item.first {
    margin   : 0;
    opacity  : 1;
    transform: translateY(0);
}

.wpcf7-list-item-label {
    cursor : pointer;
    display: flex;
}

/* デフォルトのボタン */
input[type="radio"] {
    opacity : 0;
    /* デフォルトのボタンを非表示 */
    position: absolute;
}

/* チェック前のボタン */
.wpcf7-list-item-label::before {
    background      : #fff;
    /* border       : 1px solid #333; */
    border-radius   : 100%;
    /* ラジオボタンっぽく丸くする */
    content         : "";
    height          : 1.2em;
    margin-bottom   : auto;
    margin-right    : 0.5em;
    margin-top      : auto;
    transition      : background-color 0.5s;
    /* 色をじんわり変化させる */
    width           : 1.2em;
}

/* チェック後のボタン */
input[type="radio"]:checked+.wpcf7-list-item-label::before {
    background-color: #1e1e1e;
    /* チェック後の中心の色 */
    box-shadow      : inset 0 0 0 3px #fff;
    /* 中心の色のスタイル */
}

::placeholder {
    color      : #969696;
    font-weight: normal;
    font-family: "Poppins", sans-serif;
}

.wpcf7-form span.red {
    color    : #aa0000;
    color    : #ffa4a4;
    padding  : 0 4px;
    font-size: 1rem;
}

.wpcf7-form textarea {
    width             : 100%;
    border            : solid 1px #d5d5d5;
    height            : 200px;
    border-radius     : 3px;
    -webkit-appearance: none;
    box-sizing        : border-box;
    padding           : 5px 15px;
}

.wpcf7-form .wpcf7-submit {
    width             : 30%;
    background        : #242424;
    color             : #fefefe;
    border            : none;
    margin            : 0 auto;
    display           : block;
    padding           : 20px;
    font-size         : 1.5rem;
    cursor            : pointer;
    -webkit-appearance: none;
    max-width         : 400px;
    border-radius     : 100vh;
}

/* .chack-form {
    text-align: center;
  } */

.send {
    margin: 60px auto 0;
}

.wpcf7-not-valid-tip {
    color      : #ffa4a4;
    font-size  : 1.2rem;
    font-weight: normal;
    display    : block;
    padding-top: 4px;
}

.wpcf7-select>option {
    color      : #969696;
    font-weight: normal;
    font-family: "Poppins", sans-serif;
}

.confirmation {
    display   : block;
    margin-top: 6px;
    text-align: center;
    font-size : 1.2rem;
}

div.wpcf7-mail-sent-ok {
    border    : solid 1px #01305a;
    text-align: center;
    font-size : 1.3rem;
    margin    : 0 auto;
    max-width : 400px;
}

/*同意ボタン*/

input[type="checkbox"] {
    height   : 20px;
    margin   : 0px 8px 0px 0px;
    padding  : 0px;
    width    : 20px;
    max-width: calc(100% - 8px);
}

.contact-agreement .wpcf7-list-item-label::before {
    content: none;
}

.contact-agreement label {
    display    : flex;
    align-items: center;
}

.contact-agreement-text {
    text-align : center;
    margin-top : 20px;
    line-height: 2;
    font-size  : 1.4rem;
}

.contact-agreement-text a {
    text-decoration: underline;
    transition     : all 0.2s ease;
}

.contact-agreement-check {
    margin-top: 20px;
    text-align: center;
}


/* エラーメッセージの上部を消去 */
div.screen-reader-response {
    display: none;
}

.wpcf7-response-output {
    text-align: center;
    margin-top: 10px;
    font-size : 1.3rem;
}

@media (max-width: 1024px) {

    .wpcf7-form table th {
        display: block;
        width  : 100%;
        padding: 0;
    }

    .wpcf7-form table th p br {
        display: none;
    }

    .wpcf7-form table td {
        display: block;
        width  : 100%;
        padding: 8px 0 30px;
    }

    .wpcf7-form .address td ul .address_num {
        padding-top: 0;
    }
}

@media (max-width: 599px) {
    .entry-sec_cont .entry-message {
        font-size : 1.4rem;
        margin-top: 25px;
    }

    .entry-form_wrapper {
        padding: 45px 0 0;
    }

    .wpcf7-form table th {
        font-size  : 1.4rem;
        font-weight: normal;
    }

    .wpcf7-form .wpcf7-submit {
        min-width: 240px;
    }
}


/*------------------------------------------------
/*プライバシーポリシー
-------------------------------------------------*/

.policy-sec_cont {
    padding: 120px 0 80px;
    margin : 0 auto;
}

.policy-lead-text {
    font-size  : clamp(3rem, 3.8vw, 4.2rem);
    font-weight: 300;
}

.policy-sec_cont .intro-cp {
    line-height  : 1.8;
    margin-bottom: 40px;
}

.page-policy_wrapper dl {
    display      : block;
    padding      : 3rem 0;
    align-items  : flex-start;
    border-bottom: solid 1px #e9eaf0;
}

.page-policy_wrapper dl dt {
    width        : 100%;
    padding-right: 1em;
    line-height  : 2.4;
    font-size    : 2rem;
    font-weight  : 300;
}

.page-policy_wrapper dl dd {
    line-height : 2.4;
    border-left : none;
    padding-left: 0;
}

.page-policy_wrapper dl dd p {
    margin-bottom: 20px;
    margin-top   : 20px;
    line-height  : 1.7;
    font-size    : 1.5rem;
}

.page-policy_wrapper dl dd p .policy-use {
    font-size  : 1.8rem;
    display    : block;
    font-weight: bold;
    margin     : 6px 0;
}

.page-policy_wrapper dl dd a {
    color     : #2055af;
    transition: all 0.2s ease;
    color     : #333;
}

/*------------------------------------------------
  /*プライバシーポリシーページ -メディアクエリ-
  -------------------------------------------------*/

@media (max-width: 1024px) {
    .policy-sec_cont {
        padding: 80px 0;
    }

    .page-policy_wrapper {
        padding: 0;
    }

    .page-policy-ttl {
        margin-bottom: 40px;
        font-size    : 2.6rem;
    }

    .page-policy_wrapper dl dt {
        font-size: 2rem;
    }
}


@media (max-width: 599px) {
    .policy-sec_cont {
        padding: 60px 0 0;
    }

    .policy-sec_cont .intro-cp {
        line-height  : 1.8;
        margin-bottom: 30px;
        font-size    : 1.4rem;
    }

    .page-policy_wrapper dl dt {
        font-size: 1.8rem;
    }

    .page-policy_wrapper dl {
        padding: 20px 0;
    }

    .page-policy_wrapper dl dd {
        font-size  : 1.3rem;
        line-height: 2;
    }

    .page-policy_wrapper dl dd p .policy-use {
        font-size: 1.6rem;
    }
}



/*------------------------------------------------
/*pagenaviページナビゲーション
-------------------------------------------------*/

.wp-pagenavi {
    text-align: center;
    font-size : 12px;

    margin-top: 80px;
}

.wp-pagenavi a {
    color: #4a4a4a;
}

.pages {
    margin-right: 20px;
}

.wp-pagenavi .current,
.wp-pagenavi a.page {
    margin       : 0 20px 0 0;
    display      : inline-block;
    border       : solid 1px #eee;
    width        : 40px;
    height       : 40px;
    border-radius: 50%;
    line-height  : 37px;
    text-align   : center;
}

.wp-pagenavi .current {
    border    : none;
    background: #000;
    color     : #fff;
}

.wp-pagenavi a.page:hover {
    background: #000;
    color     : #fff;
}

.wp-pagenavi .first,
.wp-pagenavi .extend {
    margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    display: none;
}

@media (max-width: 599px) {
    .wp-pagenavi {
        padding-bottom: 60px;
    }
}





/* svg {
    width: 380px;
}

svg.is-active .stroke {
    stroke-dasharray : 1191 1193;
    stroke-dashoffset: 1192;
    animation        : lHbmAxlu_draw 1s ease-in forwards;
    stroke-dashoffset: 1005;
    transition       : 1.4s cubic-bezier(.76, 0, .24, 1);
}

@keyframes lHbmAxlu_draw {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes lHbmAxlu_fade {
    0% {
        stroke-opacity: 1;
    }

    94.44444444444444% {
        stroke-opacity: 1;
    }

    100% {
        stroke-opacity: 0;
    }
} */