/*フォント*/
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo+Black&family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Cinzel:wght@400..900&family=DM+Serif+Display:ital@0;1&family=Dela+Gothic+One&family=Kaisei+Decol&family=Libre+Caslon+Display&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Pinyon+Script&family=Sawarabi+Gothic&family=Shippori+Mincho:wght@400;500;600;700;800&family=Zen+Kaku+Gothic+New&family=Zen+Maru+Gothic&display=swap');

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Shippori Mincho', serif;
	font-weight: 400;
	font-style: normal;
	/* font-family: 'Noto Serif JP', serif; */
}
.btn_totop {
	display: none;
}
.top_menu ul li a p,
.contents_header p,
.cont_titile span,
.top_topics .sh,
.ranking .therapist-box .rank {
	text-transform: uppercase;
	font-weight: 100;
}

.btn_tel.pc .material-icons {
	margin-right: 5px;
	margin-top: 2px;
}
.nav_follow .btn_tel a {
	display: flex;
	justify-content: center;
	align-content: center;
}

.profile-twi span,
.top_twitter span {
	display: flex;
	justify-content: center;
	align-items: center;
}
.ekkusu {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.5rem;
	margin-bottom: 0.35rem;
}
main {
	position: relative;
}
main::before {
	content: '';
	display: block;
	/* background: linear-gradient(to left, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%), url(../img/bg-sp.jpg); */
	background-size: 250%;
	background-position: top left;
	background-repeat: repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.inner_page .btn01 {
	margin-top: 2rem;
}
@media screen and (max-width: 640px) {
	.nav_follow .logo img {
		padding-top: 0.5rem;
	}
}
@media screen and (min-width: 640px) {
	main::before {
		background-size: 100%;
		background-repeat: no-repeat;
		background-position: top left;
		position: fixed;
	}
}

@media screen and (min-width: 640px) {
	.top_information .information_list li {
		height: 140px;
	}
	.top_diary .diary_list li {
		/* height: 140px; */
	}
}
/*end*/

@media screen and (min-width: 640px) {
	.top_access .access-box {
		display: flex;
		display: block;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		align-items: center;
	}
	.top_access .access-box .ggmap {
		width: 100%;
		margin: 0;
	}
	.top_access .access-box {
		padding: 0 2rem;
	}
	.top_access .btn01 {
		margin: 50px auto 25px auto;
	}
}

/*header,toggle*/
.nav_follow {
	padding: 0 0 0 10px;
}

.toggle span {
	width: 90%;
}
.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
	right: 0;
}

.global_nav_sp ul li a {
	font-size: 15px;
}

.global_nav_sp a span {
	font-size: 12px;
}

/*footer*/

footer small {
	font-size: 14px;
}
.f-hours {
	display: flex;
}
.f-hours div {
	width: 50%;
	margin: 0 auto;
	font-size: 12px;
}
.f-hours div:last-child {
	/* display: none; */
}

/*contents header*/

/* ---- particles.js container ---- */
#particles-js {
	position: absolute;
	width: 100%;
	height: 100vh;
	/* background-color: #232741; */
	/* background-image: url(""); */
	background-repeat: no-repeat;
	background-size: 20%;
	background-position: 50% 50%;
	z-index: 1;
}

.count-particles {
	border-radius: 0 0 3px 3px;
}
#scroll-top {
	opacity: 0;
	transition: opacity 350ms ease;
}
.no-schedule {
	font-size: 1rem;
	padding: 1rem 1rem 0;
	font-weight: bold;
}
.no-schedule .btn01 {
	margin-top: 2rem;
}
@media screen and (min-width: 640px) {
	.no-schedule {
		font-size: 1.2rem;
		text-align: center;
	}
	.no-schedule .btn01 {
		font-size: 14px;
	}
}
.error .text p {
	margin-bottom: 2rem;
}
.error .text p.btn01 a {
	padding: 10px;
}

/*************** color ***************/

/* common */

body {
	color: #373022;
 background: #f3f9ff;
}
a {
	color: #373022;
}
/* a:link {
	color: #373022;
} */

/* a:visited {
	color: #373022;
}

a:hover {
	color: #373022;
}

a:active {
	color: #373022;
} */
option {
	color: #373022;
}
select {
	color: #373022;
}
.btn01 a {
	background: #373022;
	color: #fff;
}
.cont_titile {
	color: #373022;
}
.cont_titile span {
	color: #373022;
}
.cont_titile a {
	color: #373022;
}

/* header */

.nav_follow {
	background: #fff;
	border-bottom: 2px solid #373022;
	/* border-image: linear-gradient(to top, #0053c5 78%, #cff0f7 100%); */
}
.toggle {
	/* background: rgba(255,255,255,0.7); */
}
.toggle span {
	border-bottom: solid 1px #373022;
}
.global_nav_sp {
	background: rgba(255, 255, 255, 0.95);
	color: #454545;
}
.global_nav_sp ul li a {
	color: #373022;
}
.global_nav_sp a span {
	color: #ccc;
}
@media screen and (min-width: 640px) {
	.fix-header {
		background: #fff;
	}
	.nav_follow .head_btn.reserve a {
        background: #0053c5;
		color: #fff;
	}
}

/*footer */

footer {
	/* background: #ebf3ff; */
}
footer small {
	color: #373022;
}
/* .foot_navi {
	background: #373022;
} */

.foot_navi a {
	color: #fff;
}
.f-hours {
	background: #373022;
	color: #fff;
	border-top: 1px solid #666;
}
footer ul.foot_navi_list a {
	color: #373022;
}

@media screen and (min-width: 640px) {
	footer ul.foot_navi_list li {
		border-left: 1px solid #bbb;
	}
}

/* index */

.mainvisual .mainlogo {
	/* filter: drop-shadow(1px 1px 2px #fff); */
}
.mainvisual .global-nav {
	background: rgba(0, 0, 0, 1);
}
.mainvisual .global-nav a {
	color: #fff;
}
.mainvisual .global-nav a span {
	color: #bbb;
}
.mainvisual .global-nav_list li + li {
	/* border-right: 1px solid #bbb; */
}
@media screen and (min-width: 768px) {
	.mainvisual .global-nav_list li:first-child {
		/* border-right: 1px solid #bbb; */
	}
}

/*--------*/

.top_topics {
	background: #e6e6e6;
	margin: 1rem auto;
}
.top_topics .sh {
	/* background: linear-gradient(15deg, rgba(224,40,40,1) 0%, rgba(254,151,151,1) 260%, rgba(224,40,40,1) 100%); */
	background: #282828;
	color: #fff;
}
.top_information .information_list li {
	border-bottom: 1px solid #ccc;
}
.top_diary .diary_list li:nth-of-type(n + 2) {
	border-top: 1px dashed #ccc;
}

.top_app h3 {
	background: #efefef;
}
.top_app .btn_webreserve {
	box-shadow: 0px 1px 6px #ccc;
}
.top_menu ul li a {
	color: #fff;
	background: rgba(0, 0, 0, 0.2);
}
.top_menu ul li a:hover {
	background: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 640px) {
	.top_menu ul li {
		background: #ccc;
	}
}

.access-box + .access-box {
	border-top: 1px solid #373022;
	margin-top: 3rem;
	padding-top: 3rem;
}

.realtime-box {
	border: 1px solid #ccc;
}

/* schedule */

.calendar {
	border-bottom: 1px solid #ccc;
}
.calendar ul li {
	background: rgba(255, 255, 255, 0.8);
}
.calendar ul li.target {
	background: #f4f0e9;
}

.calendar ul li.sat a {
	color: #0043ff;
}

.calendar ul li.sun a {
	color: red;
}
.calendar ul li a {
	border: 1px solid #ccc;
}
.schedule label {
	background: #fff;
	border: 1px solid #ccc;
}
.schedule input:checked + label {
	background-color: #ebf3ff;
	color: #373022;
}

/* blog */

.blog_list li {
	border-bottom: 1px solid #ccc;
}

/* ranking */

.ranking .therapist-box {
	border-bottom: 1px solid #ccc;
}
.ranking .therapist-box .rank {
	background: #e7e7e7;
	color: #666;
}
.ranking .therapist-box .rank1 {
	border-bottom: 1px solid #d3bd7e;
	color: #c59719;
	background: none;
}
.ranking .therapist-box .rank2 {
	border-bottom: 1px solid #ccc;
	color: #909fab;
	background: none;
}
.ranking .therapist-box .rank3 {
	border-bottom: 1px solid #91675a;
	color: #8d4523;
	background: none;
}
.ranking .therapist-box .comment dt {
	border-bottom: 1px dashed #666;
}
ul.ranking_list li {
	border: 1px solid #ccc;
}

/* recruit */

.recruit .recruit-point dd h3 {
	background: #efdab8;
}
.recruit-detail dl dt {
    background: rgba(251, 229, 192, 0.388);
}
.recruit-detail dl dd {
	background: #fff;
}
.recruit-detail dl dd p a {
	border: 1px solid #666;
	background: rgb(232, 232, 232);
	background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 38%);
}
.recruit-contact-wrap dl dd p a {
	background: #f2689c;
	color: #fff;
	filter: drop-shadow(1px 1px 1px #bbb);
}
.recruit-contact-wrap dl dd .second a {
	background: #05d745;
}
.recruit-contact-wrap dl dd .third a {
	background: #709aee;
}

/* reserve */

.reserve-btn a {
	border: 1px solid #666;
	background: rgb(232, 232, 232);
	background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 38%);
}
.mailform-tbl tbody tr th {
	border-top: 1px solid #ccc;
}
.mailform-tbl input[type='text'],
.mailform-tbl input[type='email'],
.mailform-tbl textarea {
	border: 1px solid #999;
}
.mailform-tbl select {
	border: 1px solid #999;
	background: #fff;
}
.ccb-lower {
	background: #fff;
	border: 1px solid #ccc;
}
p#submit-button input {
	background: #454545;
	color: #fff;
}
span.attention {
	color: red;
}
.mw_wp_form_complete {
	border: 1px solid #ccc;
}

/* sitemap */

.sitemap h3 {
	background: #efefef;
}

/* cast */

.catchcopy-box {
	background: #fff;
}
.therapist-box p.catchcopy {
	color: #373022;
}
.therapist-box .profile-icon li {
	/* border: 1px solid #0053c5; */
	background: #373022;
	color: #fff;
}
.therapist-box .todays-time p {
	background: #373022;
	color: #fff;
}
.therapist-box .guide {
	border: 1px #ccc solid;
	background: #fff;
}
.therapist-single h1.name {
	border-bottom: 1px solid #ccc;
}
.therapist-single .profile-icon li {
	/* border: 1px solid #0053c5; */
	background: #373022;
	color: #fff;
}
.therapist-box .photo .today-icon {
	border-color: transparent #e22d2d transparent transparent;
}
.therapist-box .photo .today-icon span {
	color: #fff;
}
.therapist-single .photo .today-icon {
	border-color: transparent #e22d2d transparent transparent;
}
.therapist-single .photo .today-icon span {
	color: #fff;
}
.therapist-single .btn_scheudle a {
	border: 1px solid #666;
	background: rgb(232, 232, 232);
	background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 38%);
}
.therapist-single .pickup dt {
	background: #efefef;
}
.therapist-single .comment {
	border: 1px solid #ccc;
}
.therapist-single .comment dt {
	background: rgba(255, 255, 255, 0.7);
}
.therapist-single .comment.cast dt {
	background: #efdab8;
}
.therapist-single .comment.master dt {
	background: #cedce9;
}
.therapist-single .comment dd {
	background: rgba(255, 255, 255, 0.7);
}
.single-cast-calendar .calendar ul li {
	border-bottom: 1px solid #ccc;
}
.single-cast-calendar .calendar ul li.sat a.date {
	color: #0043ff;
}
.single-cast-calendar .calendar ul li.sun a.date {
	color: red;
}
.single-cast-calendar .calendar ul li .schedule-castreserve-btn {
	border: 1px solid #ccc;
	background: rgb(232, 232, 232);
	background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 38%);
}
.therapist-single .calendar ul li .schedule-castreserve-btn span {
	color: #666;
}

/* 口コミ */
.css-auobc3 {
	border-bottom: 1px solid #bbb;
}
.css-1cpjif9 {
	color: #373022;
}
.css-1v7shu4 {
	color: #373022;
}
.css-u60qnr {
	color: #373022 !important;
}
.profile-review {
	background: #fff;
}

/*************** ご案内情報 ***************/

.realtime-box {
	border: 1px solid #bbb;
	padding: 1.5rem 1rem;
	line-height: 1.6;
	background: rgba(255, 255, 255, 0.5);
}
.realtime-inner {
	padding: 0.75rem 0.25rem 1rem;
	overflow: scroll;
	/* height: 480px; */
}

@media screen and (min-width: 640px) {
	.realtime-box {
		padding: 2.5rem 3rem;
	}
	.realtime-inner {
		padding: 0.75rem 0.25rem 1rem;
		width: 98%;
		max-width: 1100px;
		margin: 0 auto;
	}
}

.therapist-box .profile-icon li,
.therapist-single .profile-icon li {
	background: #bbb;
}

.single-cast-calendar .calendar ul li .schedule-castreserve-btn {
	/* display: none; */
}
.single-cast-calendar .calendar ul li {
	/* justify-content: space-around; */
}

.mv-info {
	width: 100%;
	position: absolute;
	bottom: 0;
	z-index: 2;
}
.mv-hours {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	font-size: 1rem;
	text-align: center;
}
.mv-hours div {
	display: flex;
	align-items: center;
}
.mv-hours span {
	font-size: 0.9rem;
	padding: 0rem 0.25rem;
	margin-right: 0.25rem;
}
.mv-tel {
	text-align: center;
	width: 100%;
	padding-top: 0.5rem;
}
.mv-tel a {
	font-size: 2rem;
	font-weight: 300;
	text-align: center;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	line-height: 1;
}

@media screen and (min-width: 640px) {
	.mv-info {
		bottom: 5rem;
		background: none;
	}
	.mv-tel a {
		font-size: 2.75rem;
	}
	.mv-hours div {
		margin-left: 5px;
	}

	.mv-info-child {
		display: flex;
		justify-content: space-around;
		align-items: center;
		width: 100%;
		max-width: 980px;
		margin: 0 auto;
		flex-wrap: nowrap;
		flex-direction: column;
	}

	.mv-tel {
		width: auto;
		font-weight: 100;
	}

	.mv-hours {
		font-size: 1.5rem;
		font-weight: 600;
		margin-top: 5px;
	}
}
.wow {
	animation-duration: 1s !important;
	/* animation-delay: 0.25s !important; */
	animation-timing-function: ease-out !important;
}
@media screen and (min-width: 640px) {
	.top_blog .blog_list {
		display: grid;
		grid-template-columns: repeat(auto-fit, 30%);
		grid-gap: 5%;
		justify-content: flex-start;
	}
}
.m-btn {
	border: 1px solid #fff;
	padding: 0.25rem 3.5rem 0.25rem 4.5rem;
	margin-top: 0.5rem;
	display: flex;
	align-items: center;
}
.top_menu ul li a p {
	font-size: 26px;
	font-weight: 200;
	line-height: 1.4;
}
.m-btn span {
	font-size: 26px;
}
@media screen and (min-width: 640px) {
	.top_menu ul li {
		background: unset;
		padding: unset;
		box-sizing: border-box;
		margin: 0 0.25rem;
		line-height: 1;
	}
	.top_menu ul {
		max-width: unset;
		padding: 4rem 1rem !important;
	}
}
.icon- {
	background: #929292 !important;
}
.size-full {
	width: 100%;
}
.therapist-box .name {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	padding: 0.25rem 0;
	align-items: center;
}
.therapist-box .sns-icon {
	position: unset;
	margin-left: 0.5rem;
}
.therapist-single .comment.cast dt,
.therapist-single .comment.master dt {
	background: #efefef;
	border: none;
}
.therapist-single .comment {
	border: none;
}
.label-wrap {
	display: none;
}
.guide {
	display: none;
}
.room {
	border: 1px solid #373022;
	margin-top: -5px;
}
.therapist-box p.date {
	padding: 0;
}
.therapist-box .profile-icon,
.therapist-single .profile-icon {
	margin: 0.25rem 0 0.5rem;
}
.schedule-castreserve-btn {
	color: #000 !important;
}
.btn-flex {
	display: flex;
	text-align: center;
	justify-content: space-around;
	flex-direction: column;
	align-content: center;
	align-items: center;
}
.btn-flex .btn01 {
	margin: unset;
	margin-top: 1rem;
	width: 16rem;
}
.btn-flex .btn01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: bold;
}

@media screen and (min-width: 640px) {
	.btn-flex .btn01 {
		margin-left: -3.25rem;
	}
}
.therapist-box .btn01 {
	width: 100%;
	display: flex;
	justify-content: center;
}
.therapist-box .btn01 a {
	margin-top: 0.5rem;
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: center;
}
.title02 {
	text-align: center;
	padding: 2rem 0;
}

.access-box h2 {
	margin-top: 1rem;
}
.access-box h3 {
	margin-top: 1rem;
}
.access-text-tt h2 {
	font-size: 1.25rem;
	font-weight: bolder;
	margin-bottom: 1rem;
	border-bottom: 3px solid #bda778;
	margin: 3rem auto 1.5rem;
	width: fit-content;
}
.access-text-tt {
	line-height: 1.6;
}
.access-box {
	padding: 0 1.5rem;
}
.access-box .ggmap {
	margin-top: 3rem;
}
.access {
	padding-top: 1rem;
}
.access .btn01 {
	margin-top: 5rem !important;
}

@media screen and (min-width: 640px) {
}
.pp {
	text-align: center;
	margin-top: 3rem;
}
.pp img {
	margin-bottom: 3rem;
}

/* モバイル遷移ボタンのスタイル */
.mobile-nav-toggle {
    display: none; /* デフォルトは非表示 */
}

@media screen and (max-width: 767px) {
    .mobile-nav-toggle {
        display: flex;
        position: fixed;
        bottom: 120px;
        left: 5%;
        width: 90%;
        z-index: 9999;
    }

    .nav-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 12px;
        border-radius: 50px;
        color: #fff !important;
        text-decoration: none !important;
        font-weight: bold;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);
        font-size: 14px;
        transition: transform 0.2s;
    }

    .nav-btn:active {
        transform: scale(0.95);
    }

    /* 店舗ボタンの色（例：落ち着いたゴールド/ブラウン系） */
    .to-shop {
        background: linear-gradient(45deg, #8e764d, #b39a6b);
    }

    /* 出張ボタンの色（例：高級感のあるダークグレー/紺系） */
    .to-outcall {
        background: linear-gradient(45deg, #2c3e50, #4ca1af);
    }

    .nav-btn .material-icons {
        margin-right: 8px;
        font-size: 20px;
    }
}

/* モバイル用相互遷移ボタンのスタイル */
.mobile-nav-toggle {
    display: none; /* デフォルト非表示 */
}

@media screen and (max-width: 767px) {
    .mobile-nav-toggle {
        display: flex;
        position: fixed;
        bottom: 90px;
        left: 58%;
        width: 40%;
        z-index: 10000;
        border-radius: 60px;
    }


    .nav-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 5px;
        border-radius: 8px; /* 角丸を少し抑えて馴染ませる */
        color: #fff !important;
        text-decoration: none !important;
        font-weight: bold;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
        font-size: 13px;
        transition: 0.2s;
    }

    /* 店舗サイト側のボタン色（金茶系） */
    .to-shop { background: #8e764d; border: 1px solid #fff; }

    /* 出張サイト側のボタン色（紺系） */
    .to-shop {
        background: rgba(117, 97, 63, 0.839);
        border: 1px solid #fff;
        border-radius: 50px 0 0 50px;
    }

    .nav-btn .material-icons {
        margin-right: 6px;
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    /* サイドナビ全体のコンテナ */
    .side-nav-toggle {
        display: flex;
        flex-direction: column;
        position: fixed;
        right: 15px; /* 右端からの距離 */
        bottom: 80px; /* 予約ボタンと被らない高さに調整 */
        z-index: 9999;
        gap: 10px; /* ボタン同士の隙間 */
    }

    /* 丸ボタンの基本スタイル */
    .side-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 65px;
        height: 65px;
        border-radius: 50%;
        color: #fff !important;
        text-decoration: none !important;
        font-size: 10px;
        font-weight: bold;
        box-shadow: 0 4px 8px rgba(0,0,0,0.3);
        border: 1px solid rgba(255,255,255,0.5);
        transition: transform 0.2s;
    }

    /* 現在いるサイトのボタンを強調（または色分け） */
    /* サロンボタンの色 */
    .to-shop {
        background: rgba(165, 152, 136, 0.9) /* 茶系透過 */
    }
    /* 出張ボタンの色 */
    .to-outcall {
        background: rgba(142, 118, 77, 0.9); /* 金茶系透過 */
    }

    /* 滞在中のサイト側のボタンを少し薄く、または枠線を強調する場合 */
    .side-btn.active {
        background: rgb(138 96 96 / 30%);
        backdrop-filter: blur(4px);
	}

    .side-btn .material-icons {
        font-size: 24px;
        margin-bottom: 2px;
    }

    .side-btn:active {
        transform: scale(0.9);
    }
	img.wp-image-2323 {
    width: 48% !important;
    height: 48% !important;
}
}

img.wp-image-2323 {
    width: 100%;
    height: 100%;
}