@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


.ib {
    display: inline-block !important;
}
/* header */
body h1, body h2, body h3, body h4, body h5, body h6, body b, body strong {
    font-weight: bold;
}
.l-header__logo {
    position: relative;
    max-width: 1100px;
    margin: auto;
    z-index: 1;
}
.l-header__logo .c-headLogo.-txt {
    justify-content: left !important;
}
.l-header__logo .c-headLogo.-txt a {
    display: block;
    padding: 20px 0 20px 90px;
    background: url(https://yotsuya-lc.com/wordpress/wp-content/themes/PILVI/assets/images/common/logo.png) no-repeat left center;
    background-size: 80px;
    font-weight: normal;
    color: #D83C62;
}
.w-header.pc_ {
    position: absolute;
    max-width: 1100px;
    margin: auto;
    left: 0;
    right: 0;
    top: 20px;
    justify-content: right;
}
.l-header {
    border-bottom: 3px solid var(--color_main);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 5;
}
body:has(#wpadminbar) .l-header {
    top: 32px;
}
#body_wrap {
    padding-top: 128px;    
}
.l-header-address {
    font-style: normal;
}
.l-header__gnav li:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    width: 2px;
    height: 15px;
    background: #F8C8C9;
    transform: translateY(-50%);
}
.l-header__gnav li a {
    padding-left: 22px !important;
    padding-right: 22px !important;
}
.l-header__gnav .c-gnav > .menu-item > a .ttl {
    font-size: 14.5px;
}
.l-header__gnav li .sub-menu > li a:before,
.l-header__gnav li .sub-menu > li:after {
    display: none;
}
.l-header__gnav li .sub-menu {
    background: var(--color_main);
    left: 0 !important;
    transform: translateX(0) !important;
    max-width: 200px;
}
.l-header__gnav li .sub-menu > li a {
    background: var(--color_main);
    color: var(--color_bg);
    border-top: 1px dotted #fff;
    text-align: center;
}
.l-header__gnav li .sub-menu > li:first-child a {
    border-top: 0;
}
.l-header__menuBtn.sp_ {
    width: 80px;
    border-left: 3px dotted #F7BBD7;
}
.l-header__customBtn.sp_ {
    width: 20px;
}
.l-header__menuBtn.sp_ button {
    margin: 0;
}
.c-iconBtn__icon:before {
    font-size: 40px;
    line-height: 1em;
    font-weight: 500;
    color: var(--color_main);
}
.l-header__menuBtn.sp_ button .c-iconBtn__icon:before {
    transform: scale(0.8, 1);
}
.c-widget__title.-spmenu {
    display: none;
}
.p-spMenu__inner:before {
    background: var(--color_main) !important;
}
.p-spMenu__closeBtn .c-iconBtn__icon:before {
    color: var(--color_bg) !important;
}
.p-spMenu__nav .c-spnav li a {
    background: var(--color_main);
    color: var(--color_bg);
    text-align: center;
}
.p-spMenu__nav {
    margin-top: 0 !important;
}
@media screen and (max-width: 959px) {
    .l-header__logo .c-headLogo.-txt a {
        padding: 10px 0 10px 60px;
        background-size: auto 95%;
        font-size: 21px;
    }
    #body_wrap {
        padding-top: 63px;    
    }
}
@media screen and (max-width: 782px) {
    body:has(#wpadminbar) .l-header {
        top: 46px;
    }
    .p-mainVisual__slideTitle {
        padding-left: 30%;
    }
}
@media screen and (max-width: 520px) {
    .l-header__logo .c-headLogo.-txt a {
        padding: 0 0 0 60px;
        background-size: auto 48px;
        height: 80px;
        font-size: 17px;
        line-height: 1.2em;
        display: flex;
        align-items: center;
    }
    .p-mainVisual__imgLayer.c-filterLayer__img img {
        width: 50% !important;
        object-fit: contain !important;
    }
}

/* footer */
.m-content {
    display: flex;
    gap: 60px;
    flex-wrap: nowrap;
    margin: 50px auto;
}
.m-title {
    font-size: 30px;
    font-weight: normal;
    line-height: 1.5em;
    margin: 0 0 20px !important;
}
.l-footer-detail {
    max-width: 516px;
    line-height: 1.4em;
}
.l-footer-list {
    border: 2px solid var(--color_main);
    padding: 5px 20px;
    margin: 0 !important;
    background: var(--color_bg);
    border-radius: 10px;
    text-align: justify;
    text-justify: inter-ideograph;
}
.l-footer-table {
    border-collapse: separate;
    border-spacing: 1px;
    width: 100%;
    margin: 15px auto;
}
.l-footer-table tr > * {
    background: var(--color_main);
    color: var(--color_bg);
    text-align: center;
    vertical-align: middle;
    font-weight: normal !important;
    padding: 2px !important;
    font-size: 95%;
    line-height: 1.5em;
}
.l-footer-tel {
    padding: 0 0 0 25px !important;
    background: url(https://yotsuya-lc.com/wordpress/wp-content/themes/PILVI/assets/images/common/ico_tel_footer.png) no-repeat;
    background-position: left center;
}
.l-footer-address {
    font-size: 12px;
    line-height: 1.4em;
    font-style: normal;
}
.l-footer-detail p {
    margin: 15px 0;
    font-size: 16px;
    line-height: 1.4em;
    font-weight: normal;
}
.l-footer-btn {
    padding: 0 !important;
    width: 265px;
    margin: 0 !important;
    border-radius: 40px;
    background: url(https://yotsuya-lc.com/wordpress/wp-content/themes/PILVI/assets/images/common/ico_mail.png) no-repeat, #a384d7;
    background-position: left 55px center;
    text-align: center;
    line-height: 40px !important;
    color: #fff;
}
.l-footer-insta-btn {
    background: url(https://yotsuya-lc.com/wordpress/wp-content/themes/PILVI/assets/images/common/ico_instagram.png) no-repeat, linear-gradient(#505180, #992b7a, #bb956e);
    background-position: left 55px center;
}
.l-footer-btn + .l-footer-btn {
    margin-top: 0.5em !important;
}
.l-footer-detail .clearfix {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 959px) {
    .l-footer-detail .clearfix,
    .m-content {
        flex-direction: column;
        justify-content: center;
    }
    .l-footer-btn,
    .l-footer-address,
    .l-footer-map ,
    .l-footer-detail {
        margin: 10px auto;
        text-align: center;
        justify-content: center;
    }
    .l-footer-btn {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* main-visual */
.p-mainVisual__imgLayer.c-filterLayer__img {
    max-width: 1100px;
    margin: auto !important;
    right: 0;
}
.p-mainVisual__imgLayer.c-filterLayer__img img {
    width: auto !important;
    min-width: 0;
    height: 150% !important;
}
.p-mainVisual {
    background: linear-gradient( 170deg,#F7BBD7 0%, #fff0f7 100%);
    background: #F7BBD7;
}
.p-mainVisual:before {
    content: "";
    display: block;
    width: 100%;
    height: 60px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: var(--color_main);
    opacity: 0.5;
    box-shadow: var(--color_main) 0 0 30px;
}
.p-mainVisual__slideTitle {
    text-shadow: var(--color_main) 0 0 3px, var(--color_main) 0 0 4px, var(--color_main) 0 0 6px, var(--color_main) 0 0 8px, var(--color_main) 0 0 10px, var(--color_main) 0 0 15px;
    line-height: 1.2em;
}




/* リッチリスト */
dl.rich_list {
	margin: 20px 0;
	padding: 0;
}
dl.rich_list dt {
	position: relative;
	background: var(--color_main);
	padding: 12px 15px 10px;
	margin: 0 0 10px;
	border: 0 !important;
	line-height: 1.2em;
	font-weight: bold;
	color: #fff;
	border-radius: 7px;
}
dl.rich_list dt:before {
	content: "";
	display: block;
	position: absolute;
	border-style: solid;
	border-width: 12px 7px 0;
	border-color: var(--color_main) transparent transparent;
	left: 50px;
	bottom: -12px;
}
dl.rich_list dt[style]:before {
	background: inherit;
	border-color: transparent #fff #fff;
}
dl.rich_list dd {
	padding: 0;
	margin: 0 0 15px !important;
	border: 0 !important;
	line-height: 1.5em;
}
.post_content dl.rich_list dd .h5,
dl.rich_list dd .h5 {
	margin: 0 0 5px !important;
	padding: 5px 0 2px 30px;
	position: relative;
	border: 0 !important;
	background-size: 28px 28px !important;
	font-weight: bold;
	line-height: 1.2em;
	color: #030 !important;
}
dl.rich_list dd .h5:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #000;
    box-sizing: border-box;
    background:
        linear-gradient(-55deg, transparent 44%, #d22 46%, #d22 58%, transparent 60%),
        linear-gradient(45deg, transparent 33%, #d22 35%, #d22 47%, transparent 49%);
    background-repeat: no-repeat;
    background-position: 4px 2px, 1px 8px;
    background-size: 100% 100%;
    border-radius: 2px;
}
dl.rich_list dd p br:first-child,
dl.rich_list dd .h5+br {
	display: none;
}
dl.rich_list dd .h5 b {
	color: #e22;
}
dl.rich_list dd p {
	margin: 0 0 0 20px !important;
	padding: 0;
	line-height: inherit;
}
.article-body dl.rich_list dd ul li {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.3em !important;
}
.article-body dl.rich_list dd ul li:before {
	background: #a8a8f4;
	top: 5px;
}
@media (max-width: 600px) {
	dl.rich_list dt {
		padding: 10px 12px 8px;
	}
}
/* リッチリスト拡張（開閉付き：2024/10/18）＋ 開閉ブロックinブロック（2024/11/12） */
.openclose-inblock > .lazyblock-inner-blocks,
.rich_list_close dl.rich_list {
    margin-bottom: 0;
    padding-bottom: 0;
}
.openclose-inblock,
.rich_list_close {
    margin-bottom: 20px;
    position: relative;
}
.openclose-inblock > .lazyblock-inner-blocks > *:nth-child(n+2),
.rich_list_close dl.rich_list dt:nth-of-type(n+2),
.rich_list_close dl.rich_list dd:nth-of-type(n+2) {
    max-height: 1500px;
    transition: all 0.7s ease-in-out;
}
.openclose-inblock:has(input:checked) > .lazyblock-inner-blocks > *:not(:last-child) {
    margin-bottom: 30px;
}
.openclose-inblock:has(input:not(:checked)) > .lazyblock-inner-blocks > *:nth-child(n+2),
.rich_list_close:has(input:not(:checked)) dl.rich_list dt:nth-of-type(n+2),
.rich_list_close:has(input:not(:checked)) dl.rich_list dd:nth-of-type(n+2) {
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0 !important;
    padding-top: 0;
    padding-bottom: 0 !important;
    max-height: 0;
    transition: all 0.2s ease-in-out;
}
.openclose-inblock input,
.rich_list_close input {
    display: none;
}
.openclose-inblock:has(input:not(:checked)) label:before,
.rich_list_close:has(input:not(:checked)) label:before {
    content: attr(data-text-open);
}
.openclose-inblock:has(input:checked) label:before,
.rich_list_close:has(input:checked) label:before {
    content: attr(data-text-close);
}
.openclose-inblock label,
.rich_list_close label {
    position: relative;
    display: block;
    margin: auto;
    width: fit-content;
    background: var(--color_main);
    color: var(--color_bg);
    padding: 5px 20px;
    border-radius: 40px;
    box-shadow: rgba(0,0,0,0.5) 2px 2px 5px;
    border: 1px solid #fff;
    cursor: pointer;
    transition: all 0.5s linear;
    font-size: 90%;
    line-height: 1.2em;
    z-index: 2;
}
.openclose-inblock label:hover,
.rich_list_close label:hover {
    filter: brightness(1.1);
    left: -1px;
    top: -1px;
    box-shadow: rgba(0,0,0,0.5) 3px 3px 5px;
    transition: all 0.2s linear;
}
.openclose-inblock:after,
.rich_list_close:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    bottom: 20px;
    width: 100%;
    height: 100px;
    background: linear-gradient(to top, #fff 0%, transparent 100%);
}
.openclose-inblock:has(input:checked):after,
.rich_list_close:has(input:checked):after {
    display: none;
}
.rich_list ul:not([class]) li,
ul[class="wp-block-list"] li,
.cap_box_content ul:not([class]) li {
    list-style: disc;
}
.rich_list dd ul {
    margin-left: 15px;
}

/*テーブル開閉のボタン*/
.wp-block-lazyblock-tableac .table-open {
    margin-top: 10px;
    position: relative;
    display: inline-block;
    padding: 8px 25px 8px 13px;
    border: 1px solid #ccc;
    background: #f1e767;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    font-size: 0.8em;
}
.wp-block-lazyblock-tableac .table-open::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
    transition: all 0.5s;
}
.wp-block-lazyblock-tableac .table-open.on:after {
    transform: translateY(1px) rotate(315deg);
}

/* ■■■■■ .tableclose ■■■■■ */
.tableclose label input,
.tableclose:has(label[data-show="1"] input[type="checkbox"]) table tr:nth-of-type(n+2),
.tableclose:has(label[data-show="2"] input[type="checkbox"]) table tr:nth-of-type(n+3),
.tableclose:has(label[data-show="3"] input[type="checkbox"]) table tr:nth-of-type(n+4),
.tableclose:has(label[data-show="4"] input[type="checkbox"]) table tr:nth-of-type(n+5),
.tableclose:has(label[data-show="5"] input[type="checkbox"]) table tr:nth-of-type(n+6),
.tableclose:has(label[data-show="6"] input[type="checkbox"]) table tr:nth-of-type(n+7),
.tableclose:has(label[data-show="7"] input[type="checkbox"]) table tr:nth-of-type(n+8),
.tableclose:has(label[data-show="8"] input[type="checkbox"]) table tr:nth-of-type(n+9),
.tableclose:has(label[data-show="9"] input[type="checkbox"]) table tr:nth-of-type(n+10),
.tableclose:has(label[data-show="10"] input[type="checkbox"]) table tr:nth-of-type(n+11),
.tableclose:has(label:not([data-show]) input[type="checkbox"]) table tr:nth-of-type(n+5) {
    display: none;
}
.tableclose:has(label input[type="checkbox"]:checked) table tr {
    display: table-row !important;
}

.tableclose label {
    display: inline-block;
    position: relative;
    padding: 5px 15px;
    margin: 5px 0 20px;
    background: var(--color_main);
    background: linear-gradient(175deg, var(--color_main_thin) 0%,var(--color_main) 80%);
    color: #fff !important;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.4em;
}
.tableclose label:hover {
    background: var(--color_main) !important;
    box-shadow: rgba(0,0,0,0.6) 2px 2px 5px;
    top: -2px;
    left: -1px;
}
.tableclose label:active {
    box-shadow: rgba(0,0,0,0.6) 0 1px 5px;
    top: 0;
    left: 0;
}
.tableclose label:after {
    content: "▲クリックで開く";
}
.tableclose label:has(input:checked):after {
    content: "▲クリックで閉じる";
}
.tableclose label[data-open-text]:after {
    content: attr(data-open-text);
}
.tableclose label[data-close-text]:has(input:checked):after {
    content: attr(data-close-text);
}

/* 口コミブロック review-block */
.wp-block-lazyblock-review-block {
    position: relative;
    letter-spacing: 0;
}
.wp-block-lazyblock-review-block:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color_main);
    opacity: 0.4;
}
.reviewer_list_all {
    position: relative;
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    padding: 15px;
    gap: 15px;
    flex-wrap: nowrap;
    z-index: 1;
}
.reviewer_list_all > .reviewer_list {
    position: relative;
    min-width: 230px;
    background: var(--color_bg);
    border-radius: 5px;
    padding: 10px;
}
.reviewer_list_all > .reviewer_list .reviewer_head {
    display: flex;
    gap: 10px;
    flex-wrap: nowrap;
    align-items: stretch;
}
.reviewer_list_all > .reviewer_list .reviewer_head figure {
    width: 30%;
    text-align: center;
}
.reviewer_list_all > .reviewer_list .reviewer_head figure > div {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding: 100% 0 0;
    border-radius: 50%;
}
.reviewer_list_all > .reviewer_list .reviewer_head figure > figcaption {
    padding: 0;
    margin: 2px 0 0;
    line-height: 1.2em;
}
.reviewer_list_all > .reviewer_list .reviewer_head figure > div img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl {
    position: relative;
    width: 70%;
    background: #eee;
    padding: 5px;
    margin: 0;
    padding: 8px;
    border-radius: 5px;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl:before {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width:  5px 10px 5px 0;
    border-color: transparent #eee transparent transparent;
    left: -10px;
    top: 20px;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt {
    position: relative;
    font-size: 110%;
    line-height: 1.5em;
    width: fit-content;
    margin: 0 auto;
    padding: 0;
    white-space: nowrap;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt:before {
    content: "★★★★★";
    color: #bbb;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt:after {
    content: "★★★★★";
    position: absolute;
    left: 0;
    top: 0;
    color: #eecc00;
    overflow: hidden;
    white-space: nowrap;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="1"]:after {
    width: 1em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="1.5"]:after {
    width: 1.5em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="2"]:after {
    width: 2em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="2.5"]:after {
    width: 2.5em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="3"]:after {
    width: 3em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="3.5"]:after {
    width: 3.5em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="4"]:after {
    width: 4em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dt[data-star="4.5"]:after {
    width: 4.5em;
}
.reviewer_list_all > .reviewer_list .reviewer_head dl dd {
    font-size: 90%;
    line-height: 1.2em;
    margin: 0;
    padding: 0;
    text-align: justify;
    text-justify: inter-ideograph;
}
.reviewer_list_all > .reviewer_list > p {
    font-size: 95%;
    line-height: 1.4em;
    letter-spacing: 0;
    margin: 10px 0 0;
    text-align: justify;
    text-justify: inter-ideograph;
}
@media (max-width: 480px) {
    .reviewer_list_all > .reviewer_list {
        min-width: 200px;
    }
    .wp-block-lazyblock-review-block {
        font-size: 100%;
    }
    .reviewer_list_all {
        padding: 10px;
        gap: 10px;
    }
}
/* 口コミブロック review-block end*/


/* 記事先頭のアイキャッチ拡大阻止 */
body .l-content .l-mainContent figure.p-articleThumb img.p-articleThumb__img {
    width: auto !important;
    min-width: 0 !important;
    margin: auto;
}

h1.c-postTitle__ttl {
    color: var(--color_main);
    /* font-weight: normal; */
}

/* 投稿記事でのパンくず内の記事タイトル表示 */
.single .p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item,
.p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item,
.single .p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item:last-child > span.p-breadcrumb__text,
.p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item:last-child > span.p-breadcrumb__text {
    display: inline !important;
    white-space: wrap;
}
.single .p-breadcrumb__item:after,
.p-breadcrumb__item:after {
    display: inline-block;
    margin: 0 8px;
}
.single .p-breadcrumb .p-breadcrumb__list,
.p-breadcrumb .p-breadcrumb__list {
    display: block !important;
    width: auto !important;
    font-size: 11px;
    white-space: wrap;
}
@media (min-width: 768px) {
    .single .p-breadcrumb .p-breadcrumb__list,
    .p-breadcrumb .p-breadcrumb__list {
        font-size: 12px;
    }
}
/* パンくず */
.p-breadcrumb {
    white-space: nowrap;
    height: auto !important;
    padding: 0 5px !important;
    background: transparent;
    margin-top: 10px;
}
.p-breadcrumb ol.l-container {
    padding: 5px 0;
    overflow-x: auto;
    max-width: 1200px;
    font-size: 13px;
}
.p-breadcrumb .p-breadcrumb__list {
    padding: 0;
}
.p-breadcrumb .p-breadcrumb__list a {
    color: var(--color_main);
    text-decoration: underline;
}

/* PR表記（特定案件アイコン追加：SWELL用） */
.icon-pr:before {
	content: "PRあり";
	display: inline-block;
	margin: 5px 5px 5px 0;
	padding: 3px 7px;
	margin-right: 5px;
	background: #fff;
	color: #555;
	border: 1px solid #777;
	font-size: 14px;
	line-height: 1.1em;
	border-radius: 2px;
}
.icon-pr.clinicfor:before {
	content: "※CLINIC FORの情報提供元：CLINIC FOR";
}

.btn_click[data-af] {
	cursor: pointer;
	color: var(--color_link);
	text-decoration: underline;
}