@charset "utf-8";

/*mainvisual*/

.mainvisual {
	padding: 5rem 0 0;
	margin: 0;
	position: relative;
	overflow: hidden;
}
.slick-list {
	overflow: unset;
}

/*---------スライダースマホ用PC用追記----------*/

.mainvisual-sp {
	display: none !important;
}
.mainvisual-pc {
	display: block !important;
}
@media screen and (max-width: 640px) {
	.mainvisual-sp {
		display: block !important;
	}
	.mainvisual-pc {
		display: none !important;
	}
}

@media screen and (max-width: 640px) {
	.mainvisual .slick-track li img {
		width: 200% !important;
		transform: translate(-21%, 0%);
	}
	.mainvisual .slick-track li img.mainvisual-sp {
		width: 100% !important;
		transform: none;
	}

	#particles-js {
		/* height: 540px!important; */
	}
}

.mainvisual .slick-slide img {
	width: 100%;
	object-fit: cover;
}

.mainvisual .mainlogo {
	position: absolute;
	width: 62%;
	z-index: 2;
	margin: 0 auto;
	left: 0;
	right: 0;
	top: 0;
	opacity: 1;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mainvisual .mainlogo img {
	object-fit: cover;
	width: 100%;
	margin: 0 auto;
	display: block;
}

.mainvisual .nav_follow {
	display: none;
}
.mainvisual ul.sns {
	display: none;
}
/* .mainvisual .global-nav {
    display: none;
} */

.mainvisual .global-nav {
	position: absolute;
	bottom: 0;
	width: 100%;
	z-index: 2;
	left: 0px;
	margin: 0;
	padding: 1rem 0;
	box-sizing: border-box;
	display: flex;
}
@media screen and (min-width: 640px) {
	.mainvisual .global-nav {
		height: 5.5rem;
	}
}
.mainvisual .global-nav a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: column;
}

.mainvisual .global-nav_list li {
	width: auto;
	padding: 0 1rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.mainvisual .global-nav .global-nav_list {
		margin: 0 auto;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
	}
	.mainvisual .global-nav_list li {
		display: inline-block;
		text-align: center;
		width: 33.33%;
	}

	.global-nav_list li a span {
		display: block;
		font-size: 0.6rem;
	}

	.mainvisual .global-nav .head-nav7 {
		border-right: none;
	}

	.mainvisual .global-nav .global-nav_list a {
		font-size: 0.75rem;
	}

	.mainvisual .global-nav .head-nav1,
	.mainvisual .global-nav .head-nav2,
	.mainvisual .global-nav .head-nav5,
	.mainvisual .global-nav .head-nav6,
	.mainvisual .global-nav .head-nav8,
	.mainvisual .global-nav .head-nav9,
	.mainvisual .global-nav .head-nav10 {
		display: none;
	}
}

@keyframes fadezoom {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-10%);
	}
}

@media screen and (min-width: 768px) {
	.mainvisual {
		padding: 0 0 5.5rem;
		overflow: hidden;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin: 0;
	}

	.mainvisual .slide-animation {
		/* animation: fadezoom 9s 0s forwards; */
	}
	.mainvisual .mainlogo img {
		object-fit: cover;
		width: 100%;
		margin: 0 auto;
		display: block;
	}

	.mainvisual .slick-slide img {
		width: 100%;
		height: auto;
		object-position: top center;
	}

	.mainvisual .mainlogo {
		width: 42%;
		top: 0;
	}

	.mainvisual .nav_follow {
		display: block;
		position: absolute;
		top: 0;
	}

	.mainvisual .nav_follow .btn_tel {
		margin: 0;
	}

	.mainvisual .nav_follow .head_btn {
		margin: 0 0 0 0;
	}

	.mainvisual .global-nav .global-nav_list {
		margin: 0 auto;
		width: 100%;
		display: flex;
		justify-content: space-around;
		align-items: center;
		justify-content: center;
		max-width: 1100px;
	}

	.mainvisual .global-nav_list li:last-child {
		border-right: none;
	}

	.mainvisual .global-nav .global-nav_list a {
		flex-direction: column;
		font-size: 14px;
		width: max-content;
	}

	.mainvisual .global-nav .global-nav_list span {
		display: block;
		font-size: 11px;
	}
}

@media screen and (min-width: 840px) {
	.mainvisual ul.sns {
		display: flex;
		margin: 0 0 0 auto;
		justify-content: flex-end;
	}

	.mainvisual ul.sns li {
		width: 28px;
		margin: 0 12px 0 0;
	}
}

/* @media screen and (min-width: 1000px) {

.mainvisual .mainlogo {
  width: 660px;

}

} */

/*top_topics*/

.top_topics {
	margin-top: 1rem;
	width: 100%;
	max-width: 1100px;
	margin: 2rem auto;
	position: relative;
	overflow: hidden;
}

.top_topics .sh {
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 500;
	z-index: 1;
	width: 90px;
	text-align: center;
	font-size: 18px;
	height: 100%;
	padding-top: 1px;
}

.top_topics .marquee {
	display: inline-block;
	white-space: nowrap;
	animation: marquee 10s linear infinite;
	padding: 5px 0 5px 100%;
}

@keyframes marquee {
	from {
		transform: translate(0);
	}
	to {
		transform: translate(-100%);
	}
}

/*top contents*/

.top_contents {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 0 1rem;
}
.top_contents .inner {
	width: 100%;
}
.top_contents .inner h2 {
	font-size: 16px;
	padding: 0 0 15px 0;
	line-height: 1.4;
}

@media screen and (min-width: 640px) {
	.top_contents .inner {
		margin: 0 auto;
		width: 100%;
		text-align: center;
		padding: 3rem 1rem 4rem;
	}

	.top_contents .inner h2 {
		font-size: 26px;
		padding: 0 0 20px 0;
	}

	.top_contents .inner .read {
		font-size: 16px;
	}
}

/*top_eventbanner */

.top_eventbanner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 0 20px 0;
}

.top_information {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 50px auto;
	padding: 0 1rem;
	box-sizing: border-box;
}

.top_information .information_list {
	width: 100%;
	margin: 0 auto;
}
.top_information .information_list li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	align-items: center;
}

.top_information .information_list li h3 {
	width: 100%;
	font-size: 18px;
	line-height: 1.4;
}

.top_information .information_list li p.date {
	width: 100%;
	line-height: 1;
	padding: 5px 0 10px 0;
	text-align: right;
}

.top_information .information_list li .image {
	width: 36%;
}

.top_information .information_list li .image img {
	width: 100%;
	/* height: 90px; */
	object-fit: contain;
	object-position: top center;
}

.top_information .information_list li .disc {
	width: 62%;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
	height: 3.5rem;
}

/*top twitter*/

.top_twitter {
	width: 100%;
	margin: 0 auto;
	padding: 1rem 1rem 2rem;
	box-sizing: border-box;
}
.top_twitter-wrap {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.twitter-tweet {
	max-width: 550px;
	margin: 0 auto;
}
@media screen and (min-width: 640px) {
	.top_infoarea .flex_box {
		width: 98%;
		margin: 0 auto;
		max-width: 1100px;
	}
	.top_infoarea {
		padding: 40px 0;
	}
	.top_information .information_list li {
		position: relative;
	}

	.top_information .information_list li h3 {
		width: 67%;
		margin: 0 0 0 auto;
	}
	.top_information .information_list li p.date {
		width: 67%;
		margin: 0 0 0 auto;
	}
	.top_information .information_list li .image {
		width: 30%;
		position: absolute;
	}
	.top_information .information_list li .image img {
		height: 140px;
	}
	.top_information .information_list li .disc {
		width: 67%;
		margin: 0 0 0 auto;
	}
}

/*top schedule*/
.schedule h3 {
	padding: 0 !important;
	line-height: 1.4 !important;
	text-align: unset !important;
}

/*top therapist*/

/*top blog*/

/*top_app*/

.top_app h3 {
	text-align: center;
	padding: 5px 0;
	line-height: 1.8;
	margin: 30px 0 0 0;
	font-size: 1rem;
}

.top_app .btn_webreserve {
	width: 100%;
	height: auto;
	margin: 20px auto;
	border-radius: 7px;
}

.top_app .btn_webreserve img {
	border-radius: 7px;
}

.top_app img {
	width: 100%;
	height: auto;
}

.top_app ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, 48%);
	justify-content: space-between;
	margin: 20px 0;
	text-align: center;
	font-size: 12px;
}

@media screen and (min-width: 640px) {
	.top_app .box {
		width: 47%;
	}

	.top_app ul {
		grid-template-columns: repeat(auto-fit, 47%);
		margin: 50px 0;
	}
}

/*top_credit*/

.top_credit {
	text-align: center;
}
.top_credit img {
	width: 100%;
	height: auto;
	max-width: 400px;
	margin: 30px auto;
}

/*top_menu*/
.top_menu {
	padding: 25px 0;
}

.top_menu ul {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
	max-width: 1200px;
}

.top_menu ul li {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 0 10px;
	aspect-ratio: 7/3;
}

.top_menu ul li img {
	height: auto;
	width: 100%;
	object-fit: cover;
	aspect-ratio: 7/3;
}

.top_menu ul li a {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	position: absolute;
}

.top_menu ul li a:hover {
	opacity: 1;
}

.top_menu ul li a p {
	font-size: 26px;
	font-weight: 200;
}

.top_menu ul li a h3 {
	font-weight: normal;
	font-size: 14px;
}

@media screen and (min-width: 640px) {
	.top_menu ul {
		display: flex;
		justify-content: space-between;
	}

	.top_menu ul li {
		width: 31%;
		height: auto;
		position: relative;
		padding: 0;
		margin: 0;
	}
}

/*top_access*/

/*toplink*/

.top_link ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, 48%);
	justify-content: space-between;
	grid-gap: 10px;
}

.top_link ul img {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 640px) {
	.top_link ul {
		display: grid;
		grid-template-columns: repeat(auto-fit, 23%);
		justify-content: unset;
		grid-gap: 25px;
	}
}

/*top_realtime*/

.top_realtime {
	width: 96%;
	margin: 0 auto 50px auto;
}
.realtime-box {
	/* width: 90%; */
	padding: 2rem 1rem;
	margin: 0 auto;
	/* text-align: center; */
	height: 350px;
	overflow-y: auto;
	box-sizing: border-box;
	/* font-size: 1rem; */
	word-break: break-all;
}
.realtime-box img {
	max-width: 100%;
}
@media screen and (min-width: 640px) {
	.top_realtime {
		width: 43%;
		margin: 0;
	}
	.top_credit p {
		font-size: 0.75rem;
	}
}
/* ▼ Slick用グリッチ ▼ */
.glitch {
	background: #000 no-repeat center;
	background-size: cover; /* 0からcoverに変更（スライダーで画像を見せるため） */
	height: 578px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
@media screen and (min-width: 640px) {
	.glitch {
		height: 1020px;
	}
}
.glitch::before,
.glitch::after,
.glitch .channel {
	background: inherit;
	background-size: cover;
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.glitch::before {
	animation: glitch-before 2s linear infinite alternate both;
	content: '';
}
@keyframes glitch-before {
	0% {
		clip-path: polygon(0% 11.2742402166%, 100% 11.2742402166%, 100% 17.3282240196%, 0% 17.3282240196%);
		transform: translate(5.5063695296%, 0.1039360525%);
	}
	2% {
		clip-path: polygon(0% 33.8043751933%, 100% 33.8043751933%, 100% 36.0846020002%, 0% 36.0846020002%);
		transform: translate(4.8062887838%, 0.2138377867%);
	}
	4% {
		clip-path: polygon(0% 72.9943089454%, 100% 72.9943089454%, 100% 75.5155659758%, 0% 75.5155659758%);
		transform: translate(1.9205731926%, -0.4214207372%);
	}
	6% {
		clip-path: polygon(0% 75.6976178925%, 100% 75.6976178925%, 100% 80.2486047602%, 0% 80.2486047602%);
		transform: translate(-2.3338357734%, 0.3239875945%);
	}
	8% {
		clip-path: polygon(0% 59.9858036392%, 100% 59.9858036392%, 100% 62.5788795093%, 0% 62.5788795093%);
		transform: translate(6.0514514978%, 0.2192209315%);
	}
	10% {
		clip-path: polygon(0% 76.3081330797%, 100% 76.3081330797%, 100% 82.6905948326%, 0% 82.6905948326%);
		transform: translate(-7.2349447298%, 0.0994099436%);
	}
	12% {
		clip-path: polygon(0% 46.3224158203%, 100% 46.3224158203%, 100% 53.5643052994%, 0% 53.5643052994%);
		transform: translate(4.6590861736%, -0.3010294093%);
	}
	14% {
		clip-path: polygon(0% 1.6202365094%, 100% 1.6202365094%, 100% 9.0578154915%, 0% 9.0578154915%);
		transform: translate(-5.5265282088%, 0.3950424742%);
	}
	16% {
		clip-path: polygon(0% 59.115622934%, 100% 59.115622934%, 100% 63.7878687126%, 0% 63.7878687126%);
		transform: translate(7.3834175351%, 0.2323255712%);
	}
	18% {
		clip-path: polygon(0% 41.0246789886%, 100% 41.0246789886%, 100% 48.8927627568%, 0% 48.8927627568%);
		transform: translate(6.9255403264%, -0.2718304124%);
	}
	20%,
	100% {
		clip-path: none;
		transform: none;
	}
}
.glitch::after {
	animation: glitch-after 2s linear infinite alternate both;
	content: '';
}
@keyframes glitch-after {
	0% {
		clip-path: polygon(0% 87.7326709476%, 100% 87.7326709476%, 100% 93.0019582864%, 0% 93.0019582864%);
		transform: translate(-6.2631309389%, -0.4213654443%);
	}
	2% {
		clip-path: polygon(0% 32.7243052932%, 100% 32.7243052932%, 100% 37.240121456%, 0% 37.240121456%);
		transform: translate(5.4117163383%, -0.4669826353%);
	}
	4% {
		clip-path: polygon(0% 33.0047805382%, 100% 33.0047805382%, 100% 38.7609913914%, 0% 38.7609913914%);
		transform: translate(2.345049852%, 0.0326653321%);
	}
	6% {
		clip-path: polygon(0% 3.9621178597%, 100% 3.9621178597%, 100% 7.0498879028%, 0% 7.0498879028%);
		transform: translate(-7.2598567312%, -0.3215209111%);
	}
	8% {
		clip-path: polygon(0% 67.9807795632%, 100% 67.9807795632%, 100% 76.065648151%, 0% 76.065648151%);
		transform: translate(-6.1176317425%, -0.0145830308%);
	}
	10% {
		clip-path: polygon(0% 29.8608206789%, 100% 29.8608206789%, 100% 35.2007414319%, 0% 35.2007414319%);
		transform: translate(-1.0213198646%, 0.4945921797%);
	}
	12% {
		clip-path: polygon(0% 12.815956321%, 100% 12.815956321%, 100% 18.1690266598%, 0% 18.1690266598%);
		transform: translate(-0.7833649157%, 0.4227214924%);
	}
	14% {
		clip-path: polygon(0% 79.2674999684%, 100% 79.2674999684%, 100% 89.0427715757%, 0% 89.0427715757%);
		transform: translate(1.1486540624%, -0.0121269118%);
	}
	16% {
		clip-path: polygon(0% 56.3588795304%, 100% 56.3588795304%, 100% 58.323121634%, 0% 58.323121634%);
		transform: translate(4.1951627153%, -0.4102165929%);
	}
	18% {
		clip-path: polygon(0% 69.2026562749%, 100% 69.2026562749%, 100% 71.5583165467%, 0% 71.5583165467%);
		transform: translate(7.7889540105%, 0.3874994782%);
	}
	20%,
	100% {
		clip-path: none;
		transform: none;
	}
}
.glitch .channel {
	mix-blend-mode: screen;
}
.glitch .channel::before {
	bottom: 0;
	content: '';
	display: block;
	mix-blend-mode: multiply;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
.glitch .r {
	animation: rgb-shift-r 2s steps(1, jump-end) infinite alternate both;
}
@keyframes rgb-shift-r {
	0% {
		transform: translate(1.3262559069%, -0.1342628461%);
	}
	2% {
		transform: translate(-1.3542806505%, 0.1480749627%);
	}
	4% {
		transform: translate(-0.8519407403%, -0.2979105864%);
	}
	6% {
		transform: translate(1.4989255167%, -0.0072618041%);
	}
	8% {
		transform: translate(1.785069622%, 0.2382722129%);
	}
	10% {
		transform: translate(1.0364263292%, 0.0900955097%);
	}
	12% {
		transform: translate(0.4224065809%, 0.2569091087%);
	}
	14% {
		transform: translate(1.714849172%, 0.067758693%);
	}
	16% {
		transform: translate(0.5734557364%, 0.0423454937%);
	}
	18% {
		transform: translate(1.4202599311%, 0.0508422689%);
	}
	20%,
	100% {
		transform: none;
	}
}
.glitch .r::before {
	background: #f00;
}
.glitch .g {
	animation: rgb-shift-g 2s steps(1, jump-end) infinite alternate both;
}
@keyframes rgb-shift-g {
	0% {
		transform: translate(-1.2158307483%, 0.2349460544%);
	}
	2% {
		transform: translate(-0.6702299806%, 0.3096322%);
	}
	4% {
		transform: translate(-1.2948376099%, 0.1519546828%);
	}
	6% {
		transform: translate(0.6689415593%, 0.186531024%);
	}
	8% {
		transform: translate(1.8380102826%, -0.2091482803%);
	}
	10% {
		transform: translate(-0.6984510783%, 0.0525596832%);
	}
	12% {
		transform: translate(1.729322524%, 0.0416926041%);
	}
	14% {
		transform: translate(-1.1233423425%, 0.4902859103%);
	}
	16% {
		transform: translate(1.1207122842%, -0.4593344702%);
	}
	18% {
		transform: translate(-1.3406858893%, 0.1111126822%);
	}
	20%,
	100% {
		transform: none;
	}
}
.glitch .g::before {
	background: #0f0;
}
.glitch .b {
	animation: rgb-shift-b 2s steps(1, jump-end) infinite alternate both;
}
@keyframes rgb-shift-b {
	0% {
		transform: translate(-1.978103662%, 0.0599376296%);
	}
	2% {
		transform: translate(-0.1122012307%, -0.3973776187%);
	}
	4% {
		transform: translate(0.9370393035%, -0.3700663443%);
	}
	6% {
		transform: translate(-0.8506322741%, -0.2020400592%);
	}
	8% {
		transform: translate(-0.7504232932%, -0.2785244905%);
	}
	10% {
		transform: translate(-0.2421674583%, 0.2396440457%);
	}
	12% {
		transform: translate(-1.5447927397%, 0.4658182074%);
	}
	14% {
		transform: translate(0.4930112168%, 0.4984228123%);
	}
	16% {
		transform: translate(-0.8842481831%, 0.4203211458%);
	}
	18% {
		transform: translate(-1.4579426977%, 0.1759040822%);
	}
	20%,
	100% {
		transform: none;
	}
}
.glitch .b::before {
	background: #00f;
}
.glitch,
.glitch::before,
.glitch::after,
.glitch .channel {
	will-change: transform, clip-path;
}
.slider.out-of-view .glitch,
.slider.out-of-view .glitch::before,
.slider.out-of-view .glitch::after,
.slider.out-of-view .channel,
.slider.out-of-view .r,
.slider.out-of-view .g,
.slider.out-of-view .b {
	animation-play-state: paused !important;
}
@media (max-width: 768px) {
	.nav_follow .logo {
		opacity: 0;
		visibility: hidden;
	}

	.nav_follow .logo.is-show {
		opacity: 1;
		visibility: visible;
	}
}
@media (min-width: 769px) {
	.nav_follow {
		opacity: 0;
		visibility: hidden;
	}

	.nav_follow.is-show {
		opacity: 1;
		visibility: visible;
	}
}
