/*  
  Theme Name: 【NEW】坂井整骨院のテーマ
  Theme URI: http://
  Description: 【NEW】坂井整骨院のテーマ
  Version: 1.0.0

  The CSS, XHTML and design is released under GPL:
  http://www.opensource.org/licenses/gpl-license.php

*/
html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", serif;
	color: #2E2E2E;
	overflow-x: hidden;
}

* {
	box-sizing: border-box;
}

.serif {
	font-family: "Noto Serif JP", serif;
}

img {
	max-width: 100%;
	object-fit: contain;
}

p,
a {
	font-size: 16px;
	letter-spacing: 1.5px;
}

a {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s;
}

a:hover {
	opacity: 0.8;
}

ul {
	list-style: none;
	padding-left: 0;
}

.HL2 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(28px, 2.2vw, 50px);
	text-align: center;
	letter-spacing: 3px;
	line-height: 1.5;
	width: fit-content;
	margin: 2rem auto 4rem;
}

.HL2 span {
	font-size: clamp(16px, 1.0vw, 24px);
	display: block;
	color: #737373;
	border-bottom: 1px solid;
	letter-spacing: 2px;
	font-weight: 600;
	width: fit-content;
	margin: auto;
	padding: 0 10px;
}

.btn {
	text-align: center;
	display: block;
	font-size: 15px;
	background: transparent linear-gradient(90deg, #79E8F5 0%, #106DAC 100%) 0% 0% no-repeat padding-box;
	width: 200px;
	padding: 0.8rem;
	margin: auto;
	color: #fff;
	border-radius: 6px;
	position: relative;
}

.btn::after {
	position: absolute;
	content: ">";
	right: 2%;
	font-size: 120%;
	transform: rotateY(50deg) translateY(-20%);
	font-weight: 500;
}

.cont {
	width: 90%;
	max-width: 1200px;
	margin: 4rem auto;
}

.flex {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}

.before_wave {
	padding-bottom: 6%;
	position: relative;
	z-index: 0;
}

.after_wave .wrap {
	margin-top: -5%;
	position: relative;
}

.wave {
	position: absolute;
	bottom: -0.2%;
	left: 0;
	width: 100%;
	z-index: 5;
	display: flex;
	align-items: end;
}

.wave svg {
	width: 100vw;
	height: auto;
}

table:not(.eigyo table) {
	width: 100%;
	border-spacing: 1px;
	overflow: hidden;
	background: #999999;
	border-collapse: separate !important;
}

table th,
table td {
	background: #fff;
	padding: 0.5rem;
}

header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 80px;
	font-size: 16px;
	z-index: 10;
}

.logo1 a,
.logo2 a {
	font-family: "Shippori Mincho", serif;
	font-size: 28px;
	justify-content: center;
	align-items: center;
	display: flex;
}

.logo1 {
	display: inline-block;
	margin: 0;
	position: relative;
	top: 0;
	left: 0;
}

.logo1 a {
	background: #4DB1D6;
	color: #fff;
	width: 240px;
	height: auto;
	min-height: 100px;
	border-radius: 0 0 30px 0;
}

.logo1 a span,
.logo2 a span {
	padding: 0 7px 5px;
	font-size: 51px;
}

header.fixed_header {
	background: #fff;
	animation: 0.5s ease 0s 1 normal forwards running DownAnime;
	box-shadow: 0 0 4px #ddd;
}

@keyframes DownAnime {
	0% {
		opacity: 0;
		transform: translateY(-170px);
	}

	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}

header.fixed_header .logo1 a {
	background: none;
	color: #4DB1D6;
	min-height: 40px;
}

header nav {
	position: relative;
	float: right;
	top: 10px;
	right: 5%;
}

nav ul {
	display: flex;
	align-items: end;
	gap: 3.5vw;
	margin-top: 12px;
}

nav ul li {
	position: relative;
	width: 100%;
	white-space: nowrap;
}

nav ul a {
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
}

nav ul a small {
	display: block;
	line-height: 0.5;
	font-size: 70%;
}

nav ul ul {
	display: block;
}

nav ul li ul li.has-child::after {
	content: '';
	position: absolute;
	right: 8%;
	top: 40%;
	width: 6px;
	height: 6px;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: rotate(45deg);
}

nav li.has-child ul {
	position: absolute;
	left: 0;
	top: 42px;
	z-index: 4;
	background: #fff;
	width: 180px;
	min-width: fit-content;
	white-space: nowrap;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

nav li.has-child:hover>ul,
nav li.has-child ul li:hover>ul,
nav li.has-child:active>ul,
nav li.has-child ul li:active>ul {
	visibility: visible;
	opacity: 1;
}

nav li.has-child ul li a {
	border-bottom: solid 1px #ddd;
	display: block;
	padding: 8px 7px;
	font-size: 90%;
}

nav li.has-child ul li:last-child>a {
	border-bottom: none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
	background: #eee;
}

nav li.has-child ul ul {
	top: 0;
	left: 181px;
	background: #fff;
}

nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active {
	background: #ddd;
}

aside {
	position: fixed;
	right: 0;
	top: 12%;
	z-index: 20;
}

aside ul li {
	writing-mode: vertical-lr;
}

aside ul li a {
	background: #fff;
	display: block;
	color: #4DB1D6;
	border: 3px solid #4DB1D6;
	border-radius: 10px 0 0 10px;
	padding: 15px 0 0;
	margin-bottom: 0.5rem;
	width: 50px;
}

aside ul li a span {
	background: #4DB1D6;
	padding: 8px 5px;
	display: inline-block;
	margin-top: 1rem;
	width: 100%;
}

aside ul li a span svg {
	height: 28px;
	width: 100%;
}

aside ul li:nth-child(2) a {
	color: #51B5AB;
	border-color: #51B5AB;
}

aside ul li:nth-child(2) a span {
	background: #51B5AB;
}

aside ul li:nth-child(2) a span svg path {}

main {
	margin-top: 80px;
}

.home main {
	padding-bottom: 0;
}

.mv {
	width: 100%;
	height: 100%;
	position: relative;
}

.mv #mv-slider {
	height: calc(100vh - 80px);
	width: calc(100vw - 95px);
	border-radius: 0 50px 0 0;
	overflow: hidden;
}

.mv #mv-slider img {
	object-fit: cover;
	height: calc(100vh - 80px);
	width: 100%;
}

.mv #mv-slider .mv-center {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mv #mv-slider .mv-center div {
	/* width: 20vw;
    height: auto;
    aspect-ratio: 1 / 1;
    background: #fffffff5;
    padding: 2%;
    max-width: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
	overflow: hidden; */
	width: 35vw;
	height: auto;
	aspect-ratio: 1 / 1;
	background: #fffffff5;
	/* padding: 3%; */
	max-width: 540px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 0 20px 25px #fffffff5;
}

.mv #mv-slider .mv-center img {
	object-fit: contain;
	/* height: 18vw;
	width: 18vw;
 */
	width: 90%;
	height: 20vw;
}

.mv #mv-slider .mv-center div h2 {
	font-size: clamp(24px, 6.5vw, 100px);
}

.mv #mv-slider .mv-center div h2 small {
	font-size: clamp(16px, 2.5vw, 40px);
}

.mv p {
	position: absolute;
	right: 0;
	bottom: 0;
	writing-mode: vertical-lr;
	padding-bottom: 1rem;
}

@keyframes fadezoom {
	0% {
		transform: scale(1.0);
	}

	100% {
		transform: scale(1.2);
	}
}

.animation img:not(.mv-center img) {
	animation: fadezoom 12s 0s forwards;
}

.fade {
	animation-name: fade;
	animation-duration: 15s;
	animation-iteration-count: 1;
}

@keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.mv-center {
	opacity: 0;
	/* すべて非表示 */
}

.slick-slide .mv-center {
	opacity: 1;
	/* Slickが適用されたら表示 */
}

input[type="text"],
textarea {
	width: 100%;
	padding: 1rem;
	display: block;
	margin: 0.5rem auto 1rem;
	border: none;
}

/***************FADEUP***************/
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

.smooth {
	animation-name: smoothAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	transform-origin: left;
	opacity: 0;
}

@keyframes smoothAnime {
	from {
		transform: translate3d(0, 100%, 0) skewY(12deg);
		opacity: 0;
	}

	to {
		transform: translate3d(0, 0, 0) skewY(0);
		opacity: 1;
	}
}

.fadeDownTrigger,
.smoothTrigger {
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/***************施設別カラー***************/
h2.day-eil,
h3.day-eil {
	font-family: "Zen Maru Gothic", serif;
	color: #51B5AB;
}

h2.kango,
h3.kango {
	font-family: "Zen Maru Gothic", serif;
	color: #D3A6E9;
}

h2.day-eil small,
h3.day-eil small,
h2.kango small,
h3.kango small {
	display: block;
	font-size: clamp(16px, 2vw, 22px);
	white-space: nowrap;
}

.catbtn .all,
.news_cat.all {
	color: #4DB1D6;
	border-color: #4DB1D6;
}

.catbtn .sakai,
.news_cat.sakai {
	color: #A9CF4C;
	border-color: #A9CF4C;
}

.catbtn .tsubasa,
.news_cat.tsubasa {
	color: #79BCC9;
	border-color: #79BCC9;
}

.catbtn .day-eil,
.news_cat.day-eil {
	color: #51B5AB;
	border-color: #51B5AB;
}

.catbtn .kango,
.news_cat.kango {
	color: #D3A6E9;
	border-color: #D3A6E9;
}

.eigyo .day-eil .text h3 {
	color: #51B5AB;
}

.eigyo .kango .text h3 {
	color: #D3A6E9;
}

.sakai.eigyo table .open {
	background: #A9CF4C;
}

.tsubasa.eigyo table .open {
	background: #79BCC9;
}

.eigyo.day-eil table .open {
	background: #51B5AB;
}

.eigyo.kango table .open {
	background: #D3A6E9;
}

.top_service-box.sakai .image::before {
	background: linear-gradient(313deg, #A9CF4C, #e7fdae, transparent);
}

.top_service-box.tsubasa .image::before {
	background: linear-gradient(313deg, #79BCC9, #41afc7, transparent);
}

.top_service-box.day-eil .image::before {
	background: linear-gradient(313deg, #51B5AB, #80d1c9, transparent);
}

.top_service-box.kango .image::before {
	background: linear-gradient(313deg, #D3A6E9, #edc9e5, transparent);
}

/***************施設別カラー終わり***************/
.top_pickup {
	margin-bottom: 6%;
}

.top_pickup h2 {
	white-space: nowrap;
}

.top_pickup div {
	max-width: 1000px;
	margin: auto;
}

.top_pickup img {
	width: 100%;
	height: 100%;
	margin-bottom: 2rem;
}

.top_pickup img.sp {
	display: none;
}

.top_news {
	background: url("img/bg_color.png") no-repeat;
	background-size: 100% 100%;
	padding: 4% 0 8%;
	background-position: center;
}

.catcont.newslist {
	display: none;
}

.catcont.newslist.is-active {
	display: block !important;
}

.switch_btn {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	text-align: center;
	gap: 0.7rem;
}

.switch_btn li a {
	border-radius: 20px;
	background: #fff;
	display: block;
	border: 2px solid;
	padding: 7px 3px;
	font-size: clamp(10px, 1vw, 14px);
	white-space: nowrap;
	overflow: hidden;
}

.switch_btn li.active a {
	color: #fff;
}

.switch_btn li.active a.all {
	background: #4DB1D6;
	border-color: #4DB1D6;
}

.switch_btn li.active a.sakai {
	background: #A9CF4C;
	border-color: #A9CF4C;
}

.switch_btn li.active a.tsubasa {
	background: #79BCC9;
	border-color: #79BCC9;
}

.switch_btn li.active a.day-eil {
	background: #51B5AB;
	border-color: #51B5AB;
}

.switch_btn li.active a.kango {
	background: #D3A6E9;
	border-color: #D3A6E9;
}

.top_news .swiper-button-next {
	right: auto;
	left: 0;
	background: #fff;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	z-index: 2;
}

.newslist .news-slider {
	margin: 2rem 0 4rem 0;
	width: 150%;
	position: relative;
}

.newslist .news-slider .slick-slide {
	margin: 15px;
}

.newslist .slick-track {
	margin-left: 0;
}

.newslist li {}

.newslist li a {
	display: block;
	width: 100%;
	background: #fff;
	box-shadow: 0 0 7px #999999;
	border-radius: 10px;
	overflow: hidden;
	height: auto;
	aspect-ratio: 1/1.2;
}

.top_news .news-slider .slick-dots {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	bottom: -6%;
	text-align: center;
	display: flex;
	justify-content: left;
}

.top_news .news-slider .slick-dots button:before {
	font-size: 10px;
	color: #fff;
	opacity: 1;
}

.top_news .news-slider .slick-dots li.slick-active button:before {
	color: #4DB1D6;
}

.top_news .news-slider .slick-prev {
	display: none !important;
}

.top_news .news-slider .slick-next {
	right: auto;
	left: -45px;
	width: 45px;
	height: 45px;
	background: #4DB1D6;
	border-radius: 50%;
}

.top_news .news-slider .slick-next:before {
	content: "←";
	color: #fff;
	font-size: 25px;
	font-family: auto;
	opacity: 1;
	line-height: 0.5;
}

.custom-swiper-scrollbar {
	background: #ededed;
	width: 100%;
	height: 5px;
	margin-top: 2rem;
}

.custom-swiper-scrollbar .swiper-scrollbar-drag {
	background: #4894C2;
}

.newslist li .image {
	height: 50%;
	width: 100%;
	overflow: hidden;
}

.newslist li .image img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	overflow: hidden;
}

.newslist li .image span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 2rem;
}

.newslist li .image span img {
	object-fit: contain;
	max-width: 250px;
	max-height: 140px;
}

.newslist li .text {
	padding: 1rem;
}

.news_cat {
	display: inline-block;
	float: right;
	font-size: 12px;
	font-weight: 500;
	background: #fff;
	border: 1px solid;
	border-radius: 20px;
	padding: 2px 10px;
}

.top_service {
	padding-top: 3%;
	background: #F1F9FC;
}

.top_service .cont {
	max-width: 1400px;
}

.top_service-box {
	margin: 8% 0;
	justify-content: space-between;
}

.top_service-box .text h3 {
	width: fit-content;
	margin: 1.5rem auto;
	text-align: center;
	font-size: clamp(18px, 2.5vw, 36px);
}

.top_service-box .text h3 small {
	display: block;
	font-size: clamp(12px, 2vw, 22px);
}

.top_service-box .text h3 img {
	width: 225px;
	height: 120px;
	object-position: bottom;
}

.top_service-box .text .btn {
	margin: 2rem 0 2rem auto;
}

.eigyo {
	max-width: 650px;
	margin: auto;
}

.eigyo table {
	background: #333;
	width: 100%;
	border-spacing: 1px;
	border-radius: 10px;
	overflow: hidden;
	border-collapse: collapse;
	border: 1px solid;
	background: #999999;
}

.eigyo table th:first-child {
	width: 40%;
}

.eigyo table th,
.eigyo table td {
	background: #fff;
	vertical-align: middle;
	text-align: center;
	padding: 8px 2px;
	font-weight: 600;
	border: 1px solid;
}

.eigyo table .open {
	width: 16px;
	height: 16px;
	background: #A9CF4C;
	display: block;
	margin: auto;
	border-radius: 50%;
}

.eigyo .flex {
	justify-content: space-between;
}

.eigyo .flex img {
	padding: 6px;
	height: 2.7rem;
}

.top_service-box .image {
	width: 50%;
	position: relative;
}

.top_service-box .image::before {
	position: absolute;
	content: "";
	display: block;
	width: 120%;
	height: 120%;
	opacity: 0.7;
	left: -35%;
	top: -15%;
	z-index: -1;
	animation: shape 30s ease 0s infinite;
}

.top_service-box .image .box {
	width: 110%;
	background-repeat: no-repeat;
	background-size: cover;
	/* animation: shape 30s ease 0s infinite; */
	border-radius: 90% 45% 34% 49% / 43% 80% 37% 94%;
	margin-left: -10%;
	position: relative;
	top: -3rem;
	height: auto;
	aspect-ratio: 2 / 1.4;
	transform: rotateZ(355deg) translate(-2rem, 0rem);
	filter: brightness(1.08);
}

.top_service-box .image .box2 {
	position: absolute;
	width: 45%;
	height: 45%;
	top: 80%;
	left: 10%;
	border-radius: 40% 74% 31% 66% / 43% 70% 32% 83%;
	transform: rotate(-15deg);
}

.top_service-box:nth-child(odd) {
	flex-direction: row-reverse;
}

.top_service-box:nth-child(odd) .image::before {
	left: auto;
	right: -35%;
}

.top_service-box:nth-child(odd) .image .box {
	margin-left: 10%;
	border-radius: 18% 90% 86% 24% / 43% 80% 37% 94%;
}

.top_service-box:nth-child(odd) .image .box2 {
	left: auto;
	right: -5%;
	border-radius: 48% 47% 56% 88% / 43% 80% 37% 94%;
	transform: rotateZ(5deg);
}

@keyframes shape {

	0%,
	100% {
		border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
	}

	14% {
		border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
	}

	28% {
		border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
	}

	42% {
		border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
	}

	56% {
		border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
	}

	70% {
		border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
	}

	84% {
		border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
	}
}

.top_service-box .text {
	width: 50%;
}

.top_contact {
	background: #4DB1D6;
	padding: 2rem 0;
}

.top_contact h2,
.top_contact h2 span {
	color: #fff;
}

.top_contact ul:not(ul.flex) {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2%;
	padding-bottom: 2rem;
}

.top_contact ul li:not(li ul li) {
	background: #fff;
	font-weight: 600;
	border-radius: 15px;
	box-shadow: 0 0 9px #999999;
	padding: 2rem 1rem;
	text-align: center;
}

.top_contact ul.flex {
	gap: 1rem;
}

.top_contact ul li h3 {
	font-family: 'Zen Maru Gothic';
	font-size: clamp(24px, 2vw, 30px);
	height: 110px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.top_contact ul li h3 img {
	height: 95%;
	width: 90%;
}

.top_contact ul li strong {
	font-size: 150%;
	font-weight: 800;
	font-family: initial;
	border-bottom: 3px dotted #4DB1D6;
}

.top_contact ul li small {
	display: block;
	font-size: clamp(16px, 0.6vw, 18px);
}

.footer_top {
	padding-bottom: 0;
}

.footer_top img {
	width: 100%;
	height: 50vh;
	object-fit: cover;
}

.footer_bottom h1 {
	margin: 0;
}

.footer_bottom .snslist {
	gap: 1.5rem;
	margin-top: 0;
}

.footer_bottom .snslist li {
	position: relative;
}

.footer_bottom .snslist img {
	width: 42px;
}

.footer_bottom .snslist span {
	position: absolute;
	display: block;
	font-size: 9px;
	top: 100%;
	white-space: nowrap;
	left: -11px;
	font-weight: 600;
}

.top_access {
	margin-top: 4rem;
	justify-content: center;
	align-items: flex-start;
	gap: 0;
}

.top_access .text {
	white-space: nowrap;
	width: 35%;
}

.top_access h3 {
	font-family: 'Zen Maru Gothic';
	margin: 1rem 0;
}

.top_access h3 small {
	display: block;
	font-size: 70%;
}

.top_access h3 img {
	width: 100%;
	max-width: 240px;
	height: 100px;
	object-position: left center;
}

.top_access p {
	font-size: 14px;
	margin-bottom: 2rem;
}

.top_access .col {
	align-items: flex-start;
	width: 50%;
}

.top_access .col {
	align-items: flex-start;
	width: 50%;
}

.top_access .col:nth-child(1) {
	padding-right: 3%;
	border-right: 2px solid;
}

.top_access .col:nth-child(2) {
	padding-left: 3%;
}

.top_access .image {
	width: 65%;
}

img.access_map {
	background: #e1e3e3;
	width: 100%;
}

footer {
	background: #4DB1D6;
	color: #fff;
	padding: 1rem 0;
}

footer .cont {
	margin: 0 auto;
	max-width: 1000px;
}

footer .cont .flex {
	margin-top: 1.5rem;
	justify-content: space-between;
}

footer .cont p {
	text-align: center;
	margin: 2rem 0 0;
	font-size: 80%;
}

#page-top a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	color: #4DB1D6;
	border: 1px solid #4DB1D6;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 160%;
	transition: all 0.3s;
	font-family: auto;
}

#page-top {
	position: fixed;
	right: 15px;
	bottom: 30px;
	z-index: 1000;
	opacity: 0;
	transform: translateY(100px);
}

.UpMove {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/***************PAGE***************/
.subvisual {
	height: 40vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	position: relative;
}

.subvisual .sv-img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	z-index: -1;
	filter: blur(1px) brightness(1.15);
}

.subvisual .sv-center div {
	width: auto;
	height: 28vh;
	aspect-ratio: 1 / 1;
	background: #fffffff5;
	padding: 3%;
	max-width: 350px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: clamp(24px, 2vw, 30px);
	box-shadow: 0 0 15px 20px #fffffff5;
}

.subvisual .sv-center div img {
	width: 90%;
	max-height: 15vh;
}

.subvisual .sv-center div .HL2 {
	margin: auto;
}

.single .cont .HL2 {
	white-space: normal;
	text-align: left;
	font-size: clamp(20px, 1.8vw, 40px);
	margin: 2rem auto;
}

.single .date {
	border-bottom: 1px solid #9999;
	padding: 0 1rem;
}

.single .cats {
	display: flex;
	justify-content: end;
	gap: 5px;
}

.single .cats .news_cat.information {
	display: none;
}

.inner {
	margin: 10% 0;
	min-height: 20vh;
}

.archive .newslist ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	margin-top: 3rem;
}

#page_navigation ul {
	width: 90%;
	max-width: 1600px;
	margin: 1rem auto;
}

#page_navigation ul li {
	font-size: 90%;
	position: relative;
	display: inline-block;
}

#page_navigation ul li a {
	color: #4db1d6;
}

#page_navigation ul li::after {
	content: ">";
	display: inline-block;
	position: relative;
	transform: rotateY(45deg);
	padding: 3px;
}

#page_navigation ul li:last-child {}

#page_navigation ul li:last-child::after {
	visibility: hidden;
}

#page_navigation ul li a {
	font-family: "Noto Sans JP", serif;
	font-size: 95%;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.625em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.625em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.page-template-default .inner h2:not(.HL2) {
	font-family: "Zen Kaku Gothic New", sans-serif;
	letter-spacing: 3px;
	border-bottom: 5px dotted #4db1d6;
	padding: 0.5rem;
	margin: 2rem 0;
	position: relative;
}

.page-template-default .inner h2:not(.HL2)::before {
	content: "◎";
	position: relative;
	display: inline-block;
	color: #4db1d6;
}

.page-template-default .inner h3:not(.HL3) {
	font-size: clamp(16px, 1.2vw, 20px);
	font-family: "Zen Kaku Gothic New", sans-serif;
	letter-spacing: 3px;
	background: #cae5ef;
	padding: 0.8rem;
	margin: 2rem 0;
}

.gallery-item img {
	border: none !important;
	object-fit: cover;
}

.archive .wp-pagenavi {
	text-align: center;
	margin: 2.5rem auto;
}

.archive .wp-pagenavi a,
.wp-pagenavi span {
	background: #4db1d6;
	border: none !important;
	padding: 3px 10px !important;
	color: #fff;
}

.archive .wp-pagenavi span.current {
	background: #9d9d9d;
}

/***************坂井接骨院***************/
.HL3 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(18px, 1.8vw, 26px);
	text-align: center;
	letter-spacing: 3px;
	line-height: 1.5;
	width: fit-content;
	margin: 2rem auto;
}

.page .message {
	align-items: stretch;
	margin-bottom: 4rem;
}

.page .message .image {
	width: 40%;
}

.page .message .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.page .message .text {
	width: 60%;
}

.page-template-page-sakai .message .text h3 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(18px, 1.8vw, 26px);
	margin-bottom: 2rem;
}

.page-template-page-sakai .trouble {
	margin: 2.5rem auto 6rem;
}

.page-template-page-sakai .trouble {}

.trouble ul {
	display: flex;
	place-items: center;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	max-width: 1100px;
	margin: 2.5rem auto;
}

.trouble ul li {
	width: 12%;
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dcedb2;
	border-radius: 50%;
	font-weight: 600;
	text-align: center;
	font-size: clamp(12px, 1.3vw, 18px);
}

.trouble ul li:nth-child(odd) {
	background: #f7f7ed;
}

.page-template-page-sakai .clinical {
	position: relative;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	background: #d6eba0;
	margin-bottom: 4rem;
}

.page-template-page-sakai .clinical-inner {
	position: relative;
	top: -5rem;
}

.page-template-page-sakai .clinical .box {
	background: #fff;
	border-radius: 25px 0 0 25px;
	box-shadow: 0 0 8px #ddd;
	padding: 3rem;
	margin: 4rem 0;
	width: 90%;
	max-width: 1500px;
	margin: 4rem auto;
	margin-right: 0;
}

.page-template-page-sakai .clinical .box:nth-child(2) {
	margin-right: auto;
	margin-left: 0;
	border-radius: 0 25px 25px 0;
}

.page-template-page-sakai .clinical .box-inner {
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1200px;
	margin: auto;
}

.page-template-page-sakai .clinical .box .text {
	width: 45%;
}

.page-template-page-sakai .clinical .box .text h3,
.page-template-page-sakai .clinical .box .text .btn {
	margin: 2.5rem 0;
}

.page-template-page-sakai .clinical .box .image {
	width: 55%;
}

.page-template-page-sakai .clinical .box .image ul {}

.page-template-page-sakai .clinical .box:nth-child(1) .image ul li {
	display: inline-block;
	margin: 0.5rem 0.2rem;
}

.page-template-page-sakai .clinical .box:nth-child(1) .image ul li a {
	border: 2px solid #4DB1D6;
	padding: 1rem 3rem;
	border-radius: 50px;
	display: block;
	width: 100%;
	color: #4DB1D6;
}

.grid-list-child {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.grid-list-child img {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 10px;
}

.grid-list-child span {
	display: block;
	font-size: 12px;
	text-align: center;
}

.index_info {
	margin: 4rem 0;
}

.index_info .setsubi {
	margin: 4rem auto;
}

.index_info .other {
	align-items: flex-start;
}

.index_info .other h3 {
	margin-left: 0;
}

.index_info .open {
	width: 50%;
}

.index_info .access {
	width: 100%;
}

.index_info .parking .flex {
	align-items: stretch;
}

.index_info .parking .flex img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.index_info .parking .flex p {
	width: 50%;
	margin: 0;
}

.index_info .parking p {
	font-size: clamp(16px, 2vw, 20px);
}

.page-template-page-sakai .sougei {
	width: fit-content;
	margin: 4rem auto;
	background: #F2F6F9;
	border-radius: 20px;
	padding: 2rem;
}

.setsubi .gallery {
	position: relative;
	width: 100%;
}

.setsubi .gallery br {
	display: none;
}

.setsubi .gallery dl {
	/* margin: 0 5px !important; */
	height: auto;
	aspect-ratio: 2 / 1.3;
	background: #333;
	position: relative;
}

.cloned-gallery a {
	pointer-events: none;
	cursor: default;
}

.setsubi .gallery dl dt {
	width: 100%;
	height: 100%;
}

.setsubi .gallery dl a {
	display: block;
	text-align: center;
	width: 100%;
	height: 100%;
}

.setsubi .gallery dl img {
	width: auto;
	height: 100%;
	margin: auto;
	object-fit: contain;
}

.setsubi .gallery .gallery-caption {
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 3px;
	color: #fff;
	text-shadow: 2px 3px 7px black;
}

.setsubi .cloned-gallery .gallery-caption {
	display: none;
}

.setsubi .slick-dots {
	bottom: -70%;
}

.setsubi .slide-arrow {
	background: none;
	height: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0;
	margin: auto !important;
	cursor: pointer;
	z-index: 2424;
}

.setsubi .prev-arrow {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 20px 0;
	border-color: transparent #E5DDE3 transparent transparent;
	left: -3%;
}

.setsubi .next-arrow {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 20px;
	border-color: transparent transparent transparent #E5DDE3;
	right: -3%;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
}

.setsubi-cont p,
.setsubi-cont h2,
.setsubi-cont h3 {
	display: none !important;
}

@media(max-width:899px) {
	.flex {
		flex-direction: column;
		gap: 1rem;
	}

	.cont {
		margin: 2rem auto;
	}

	p,
	a {
		font-size: 14px;
	}

	.HL2 {
		margin: 2rem auto;
	}

	.single .cont .HL2 {
		white-space: normal;
		line-height: 1.5;
		text-align: left;
		font-size: clamp(18px, 2.2vw, 50px);
	}

	.wave {
		display: none;
	}

	header {
		height: 55px;
	}

	header nav {
		display: none;
	}

	header .openbtn.active {
		display: block;
	}

	header #g-nav.panelactive {
		display: block;
		width: 100vw;
		height: 100vh;
		background: #fff;
		position: absolute;
		left: 0;
		top: 0;
		overflow-y: scroll;
	}

	header #g-nav.panelactive ul:not(.has-child ul) {
		gap: 2rem;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		height: auto;
		width: 90%;
		margin: 90px auto 50px;
	}

	header .openbtn.active span:nth-of-type(1) {
		transform: translateY(5px) rotate(30deg);
		top: 18px;
	}

	header .openbtn.active span:nth-of-type(2) {
		display: none;
	}

	header .openbtn.active span:nth-of-type(3) {
		transform: translateY(-10px) rotate(-30deg);
		top: 33px;
	}

	header .openbtn {
		position: absolute;
		cursor: pointer;
		width: 50px;
		height: 50px;
		z-index: 700;
		top: 0;
		right: 0;
	}

	.openbtn span {
		display: inline-block;
		position: absolute;
		left: 0%;
		height: 2px;
		border-radius: 5px;
		transition: all 0.4s;
		background: #4DB1D6;
		width: 35px;
	}

	.openbtn span:nth-of-type(1) {
		top: 15px;
	}

	.openbtn span:nth-of-type(2) {
		top: 25px;
	}

	.openbtn span:nth-of-type(3) {
		top: 35px;
	}

	nav li.has-child ul,
	nav li.has-child ul ul {
		position: relative;
		left: 0;
		top: 0;
		width: 100%;
		visibility: visible;
		opacity: 1;
		display: none;
		transition: none;
		padding-left: 15px;
	}

	nav li.has-child ul li a {
		font-size: 85%;
	}

	.fixed_header {
		height: 55px;
	}

	.logo1 a,
	.logo2 a {
		font-size: 20px;
	}

	.logo1 a span,
	.logo2 a span {
		padding: 0 5px 5px;
		font-size: 36px;
	}

	.logo1 a {
		min-height: 50px;
		width: 200px;
		z-index: 5;
		position: relative;
		border-radius: 0 0 22px 0;
	}

	aside {
		top: auto;
		bottom: 0;
	}

	aside ul {
		margin: 0;
	}

	aside ul li {
		width: 50px;
		writing-mode: horizontal-tb;
	}

	aside ul li a {
		width: 100%;
		border-radius: 0;
		margin: 0;
		font-size: 0;
		margin: 0;
		padding: 0;
	}

	aside ul li a span {
		margin: 0;
	}

	main {
		margin-top: 55px;
	}

	.mv #mv-slider {
		width: 100%;
		border-radius: 0;
		height: calc(100vh - 55px);
	}

	.mv #mv-slider img {
		height: calc(100vh - 55px);
	}

	.mv p {
		display: none;
	}

	.mv #mv-slider .mv-center div {
		width: 65vw;
		max-width: 100%;
	}

	.mv #mv-slider .mv-center img {
		/* width: 65vw;
        height: 65vw;
        max-height: 22vh; */
		height: 40vw;
	}

	.mv #mv-slider .mv-center div h2 {
		font-size: clamp(24px, 13.5vw, 64px);
	}

	.mv #mv-slider .mv-center div h2 small {
		font-size: clamp(16px, 5vw, 24px);
	}

	.top_pickup img.pc {
		display: none;
	}

	.top_pickup img.sp {
		display: block;
	}

	.switch_btn {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
	}

	.top_news {
		background-size: 200% 100%;
	}

	.top_news .news-slider {
		width: 100%;
	}

	.top_news .news-slider .slick-dots {
		justify-content: center;
	}

	.top_news .news-slider .slick-next {
		left: -15px;
		width: 20px;
		height: 20px;
	}

	.top_news .news-slider .slick-next:before {
		font-size: 15px;
	}

	.news_cat {
		font-size: 10px;
		width: fit-content;
		margin-left: auto;
	}

	.top_service-box,
	.top_service-box:nth-child(odd) {
		flex-direction: column-reverse;
		margin-bottom: 15%;
	}

	.top_service-box .text {
		width: 100%;
	}

	.eigyo .flex {
		flex-direction: row;
	}

	.top_service-box .text h3 {
		font-size: clamp(18px, 6.5vw, 36px);
	}

	.top_service-box .text h3 img {
		width: 80%;
		height: auto;
		max-width: 300px;
		max-height: 150px;
	}

	.top_service-box .text h3 small {
		font-size: clamp(12px, 5vw, 22px);
	}

	.eigyo table th {
		font-size: 14px;
	}

	.eigyo table td {
		font-size: 14px;
	}

	.eigyo table .open {
		width: 14px;
		height: 14px;
	}

	.top_service-box .image {
		width: 100%;
	}

	.top_service-box .image .box {
		top: 0;
		width: 60%;
		margin-left: 1rem;
	}

	.top_service-box .image .box2 {
		width: 40%;
		left: auto;
		right: 1%;
		top: 15%;
		height: 60%;
		transform: rotate(10deg);
	}

	.top_service-box .image::before {
		width: 110%;
		height: 150%;
		left: -35%;
		top: -40%;
	}

	.top_contact ul:not(ul.flex) {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.top_contact ul li:not(li ul li) {
		padding: 1rem 0.5rem;
		border-radius: 5px;
	}

	.top_contact ul li small {
		display: block;
		font-size: clamp(10px, 0.8vw, 18px);
	}

	.top_contact ul li h3 {
		height: 85px;
		margin: 1rem 0;
	}

	.top_contact ul li h3 img {
		max-width: 180px;
	}

	.top_contact ul.flex {
		flex-direction: row;
		width: 45%;
		margin: auto;
		gap: 0.5rem;
	}

	.top_access .col {
		width: 100%;
		padding: 0;
	}

	.top_access .text {
		width: 100%;
		text-align: center;
	}

	.top_access .col:nth-child(1) {
		padding-right: 0;
		border-right: none;
		border-bottom: 2px solid;
	}

	.top_access .image {
		width: 100%;
	}

	.top_access h3 img {
		object-position: center bottom;
	}

	.footer_bottom .snslist {
		flex-direction: row;
	}

	footer .cont .flex {
		text-align: center;
		gap: 1.5rem;
	}

	.footer_top img {
		height: 28vh;
	}

	.subvisual {
		height: 32vh;
	}

	.subvisual .sv-center div {
		height: 18vh;
	}

	.archive .newslist ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.HL3 {
		margin: 1.2rem auto;
	}

	.page .message .text h3 {
		margin-bottom: 1.2rem;
	}

	.page .message .image,
	.page .message .text {
		width: 100%;
	}

	.page-template-page-sakai .trouble {
		margin: 2rem 0;
	}

	.trouble ul {
		gap: 0.5rem;
		white-space: nowrap;
	}

	.trouble ul li {
		width: 21%;
	}

	.page-template-page-sakai .clinical .box {
		padding: 2rem 1.5rem;
	}

	.page-template-page-sakai .clinical .box .text,
	.page-template-page-sakai .clinical .box .image {
		width: 100%;
	}

	.page-template-page-sakai .clinical .box:nth-child(1) .image ul li a {
		padding: 0.5rem 1rem;
	}

	.page-template-page-sakai .clinical .box .text h3,
	.page-template-page-sakai .clinical .box .text .btn {
		margin: 1.5rem 0;
	}

	.page-template-page-sakai .clinical .box:nth-child(1) .image ul li {
		margin: 0.3rem 0;
	}

	.page-template-page-sakai .clinical .box:nth-child(2) .box-inner {
		flex-direction: column-reverse;
	}

	.grid-list-child {
		grid-template-columns: repeat(2, 1fr);
	}

	.index_info .open,
	.index_info .access {
		width: 100%;
	}

	.index_info .parking.flex p {
		width: 100%;
		margin: 0;
	}

	.setsubi .slick-dots {
		bottom: -51%;
	}

	#page-top {
		display: none;
	}
}

@media(max-width:600px) {
	.archive .newslist ul {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
	}

	.single .cats {
		flex-direction: column;
		text-align: center;
	}
}