/*
Theme Name: kine v2026
Theme URI: --
Description: --
Author: --
Author URI: --
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;700&text=0123456789&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

/*
.noto-sans-jp{
	font-family:"Noto Sans JP", sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
}
*/
.num{
	font-family:"M PLUS 1p", sans-serif;
	font-style:normal;
}

:root{
	--color-grn:#68c15b;
	--color-dark:#2e2e2e;
	--color-org:#ea8b39;
	--color-yel:#f4bb3e;
	--color-ppl:#b18fdd;
	--color-aqu:#6ac2d0;
	--color-blu:#4083c4;
	--color-red:#c1272d;
	--color-grn-dark:#2b804e; /* 43, 128, 78 */
	--color-gray:#ccc;

	--color-blu-rgb:64, 131, 196;
	--color-red-rgb:193, 39, 45;

	--color-main:#2b804e;

	--bg-gray:#f2f3f4;
	--bg-grn:#e2f4d7;
	--bg-yel:#fff9d0;
	--bg-blu:#c7e8fa;
	
	--table-border-color:#d3e5bb;
	--table-th-bg-color:var(--bg-grn);

	--px:20px;
	--py:60px;

	--box-shadow:0 0 10px rgba(201,199,199,1);

	--h-header:100px;
	--container-pt:calc(var(--h-header) + 40px);
	--bs-border-radius:20px;
}

/* WP
----------------------------------------------- */
/* #wpadminbar{display:none;} */
/* body.open #wpadminbar{z-index:0;} */

.wp-block-image img{border-radius:var(--bs-border-radius);}
.wp-block-image :where(figcaption){margin-top:0;}

/* Bootstrap
----------------------------------------------- */
.nav-pills{
	--bs-nav-pills-border-radius:10px;
	--bs-border-radius:10px;
}
/*
.form-control-plaintext{background-color:transparent !important;}
select{display:inline-block !important; width:auto !important;}
*/

/* Main Layout
----------------------------------------------- */
html{scroll-padding-top:calc(var(--h-header) + 2rem);}
body{
	font-family:'Noto Sans JP', sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	color:var(--color-dark);
	line-height:1.6;
	letter-spacing:.07em;
}
body.home{opacity:0; transition:ease 1s;}
#container{
	padding-top:var(--container-pt);
	line-height:1.8;
}

.container-fluid,
.container{padding-left:var(--px); padding-right:var(--px);}
.row:not([class*="g-"]){margin-left:calc(var(--px) * -1); margin-right:calc(var(--px) * -1);}
.row:not([class*="g-"])>[class*="col"]{padding-left:var(--px); padding-right:var(--px);}

#container .container,
#fix-sidebar .container{max-width:1320px;}
@media (max-width:1399px){
	#header>*,
	#footer>*{max-width:1320px;}
}

.pt-content{padding-top:calc(var(--py) - 1.6rem);}
.mb-content-lg{margin-bottom:calc(var(--py) * 2);}
.mb-content{margin-bottom:var(--py);}
.gap-y-content{row-gap:var(--py);}

.thin-lg{max-width:900px; margin-left:auto; margin-right:auto;}


/*
.contents{padding-top:var(--py); padding-bottom:var(--py);}
.contents-sm{padding-top:calc(var(--py) / 2); padding-bottom:calc(var(--py) / 2);}

	[class*="thin"]{max-width:760px; margin-left:auto; margin-right:auto;}
	.container.thin{max-width:calc(760px + var(--px) * 2);}
.container.thin-lg{max-width:calc(900px + var(--px) * 2);}
	
	
.child-flex>*{display:flex;}
.child-flex>*>*{width:100%;}
	
	.d-flex.g-1,
	.nav.g-1{gap:.5rem 1rem;}
	
	@media (max-width:991px){
		:root{
			--py:60px;
		}
		html.fixed,
		body.open{overflow:hidden;}
		
	}
	@media (max-width:767px){
		html{font-size:16px;}
		:root{
			--py:40px;
		}
	}
*/
@media (max-width:1199px){
	:root {
		--h-header:60px;
		--container-pt:calc(var(--h-header) + 30px);
	}
}
@media (max-width:767px){
	:root {
		--px:10px;
		--py:40px;
	}
}

/* header & footer
-------------------------------------------------------------- */
@media (min-width:1400px){
	#header>*,
	#footer>*{padding-left:60px; padding-right:60px;}
}

/* header
-------------------------------------------------------------- */
#header{
	display:flex;
	width:100%;
	height:var(--h-header);
	align-items:center;
	background-color:var(--color-grn-dark);
	box-shadow:var(--box-shadow);
	position:fixed;
	top:0;
	left:0;
	z-index:999;
	transition:.6s;
}
/* #header.none{background-color:transparent; box-shadow:none;} */
#header .nav-bar{display:flex; align-items:center; justify-content:space-between;}

a.brand{max-width:230px; z-index:1000;}

#gnavi{font-size:16px; padding-top:20px;}
#gnavi li a{font-weight:500; color:var(--color-dark);}
#gnavi li a:hover{color:var(--color-grn-dark); opacity:1;}

#gnavi li .entry .nav-link{padding-left:2em;}
#gnavi .nav-accordion::after{color:var(--color-grn-dark);}

@media (min-width:1200px){
	#btn-menu{display:none;}
	#gnavi li a{color:white;}
	#gnavi li a:hover{color:var(--color-grn);}
	#gnavi li .nav{display:none;}
}
@media (max-width:1399px){
	#gnavi li a{padding:.5rem .75rem;}
}
@media (max-width:1199px){
	#header{position:fixed; top:0; left:0; z-index:1000;}
	
	a.brand{max-width:180px;}

	#gnavi{flex-direction:column; font-size:1.2em;}
	#gnavi>li{padding:.5em 0; border-top:1px solid rgba(0,0,0,.1);}
	#gnavi>li:first-child{border:none;}
	#gnavi li.menu-btn{text-align:center;}
	#gnavi li.menu-btn a{padding:1rem;}

	[class*="drawer-pannel"]{
		width:100%;
		height:calc(100vh - var(--h-header));
		height:calc(100dvh - var(--h-header));
		padding:0 15px 60px;
		position:fixed;
		top:var(--h-header);
		right:0;
		background:white;
		overflow-y: auto;
		z-index:999;
		-webkit-transform:translateX(100%);
		transform:translateX(100%);
	}
	body.open [class*="drawer-pannel"]{
		-webkit-transform:translateX(0);
		transform:translateX(0);
		-webkit-transition:ease .3s;
		transition:ease .3s;
	}
}
@media (max-width:575px){
	a.brand{max-width:140px;}
}

/* footer
--------------------------------------------------------------*/
#footer{padding:3rem 0 80px;}
#footer .row{align-items:end;}
#footer ul.nav{max-width:39em; row-gap:.5rem; font-size:.94rem; margin-bottom:1rem; margin-left:auto;}
#footer ul.nav li{padding:0 1rem; border-right:1px solid var(--color-dark);}
#footer ul.nav li:last-child{border:none;}
#footer ul.nav a{color:var(--color-dark); padding:0;}

#copyright{display:block; text-align:center; margin-top:2rem;}

@media (max-width:767px){
	#footer .row{flex-direction:column-reverse; gap:2em; text-align:center;}
	#footer ul.nav{margin-left:0;}
}

/*
#fnavi,
.nav-sns{gap:.5rem 2rem; justify-content:center; margin-bottom:1.5rem;}


#fnavi{margin-bottom:2.5rem;}
#fnavi a{color:var(--color-dark);}

.nav-sns li[class*="ic-"] a{
	padding:0;
	white-space:nowrap;
	text-indent:100%;
	width:34px;
	aspect-ratio:1/1;
	background:no-repeat center center/contain;
	overflow:hidden;
}
.nav-sns li.ic-facebook a{background-image:url(assets/images/ic-facebook.svg);}
.nav-sns li.ic-instagram a{background-image:url(assets/images/ic-instagram.svg);}
.nav-sns li.ic-youtube a{background-image:url(assets/images/ic-youtube.svg);}

#footer_widget{display:flex; justify-content:center;}
#footer_widget h2{border:1px solid var(--color-border); border-width:1px 0; padding:1em; text-align:center;}
#footer_widget .row{justify-content:center;}
#footer_widget .nav{gap:.5rem 2rem;}

@media (max-width:767px){
	#footer_widget h2{padding:1em .5em;}
	#footer_widget .nav{justify-content:center;}
}
@media (max-width:575px){
	#fnavi{margin-bottom:1.5rem;}
	#copyright{font-size:12px;}
}
*/

/* Cover
----------------------------------------------- */
:root{
	--w-sidebar-home:380px;
}
#first-view{
	--mb:20px;
	display:flex;
	flex-direction:column;
	gap:20px;
	width:100%;
	min-height:calc(100vh - var(--container-pt) - var(--mb));
	min-height:calc(100dvh - var(--container-pt) - var(--mb));
	margin-bottom:var(--mb);
	transition: width .3s ease;
}

#cover{flex:1; position:relative;}
#cover h1{
	color:white;
	font-size:44px;
	margin:0;
	position:absolute;
	bottom:10%;
	left:6%;
	text-shadow:0 0 15px rgba(0,0,0,.3);
	z-index:100;
}
#cover-ims,
#cover-ims *{width:100%; height:100%; position:absolute; top:0; left:0;}
#cover-ims{border-radius:var(--bs-border-radius); overflow:clip;}

#cover-ims .im{
	background:no-repeat center center/cover;
	position:absolute;
	width:100%;
	height:110%;
	top:0;
	left:0;
	transform:translateY(0);
	will-change:transform;
}
#cover-ims.is-ready .carousel-item.active .im{
	animation:heroPan 6s linear forwards;
}

@media (min-width:992px){
	.sidebar-home-open #first-view{
		width:calc(100% - var(--w-sidebar-home) - var(--px) * 2);
	}
}
@media (max-width:991px){
	#first-view{min-height:inherit;}
	#cover-ims{position:relative; height:auto; aspect-ratio:16/9;}
}
@media (max-width:767px){
	#cover h1{font-size:6vw;}
}

/* Sidebar-home
----------------------------------------------- */
:root{
	--sidebar-px:1rem;
}
#fix-sidebar{position:fixed; width:100%; left:0; bottom:0; z-index:1000;}
/* #fix-sidebar{padding-bottom:env(safe-area-inset-bottom);} *//* iOS chrome*/
#fix-sidebar>*{position:relative;}
#sidebar-home{
	width:var(--w-sidebar-home);
	height:calc(100vh - var(--container-pt));
	height:calc(100dvh - var(--container-pt));
	background-color:#66c486;
	border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0;
	box-shadow:var(--box-shadow);
	position:absolute;
	right:var(--sidebar-px);
	bottom:0;
	padding:0 var(--sidebar-px);
	
	display:flex;
	flex-direction:column;
	
	transition: transform .3s ease;
	transform: translateY(calc(100% - 60px));
}
#sidebar-home>*{position:relative;}
#sidebar-home::before{
	content:'';
	display:block;
	width:calc(100% - var(--sidebar-px) * 2);
	height:calc(100% - 60px);
	background-color:white;
	border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0;
	position:absolute;
	right:var(--sidebar-px);
	bottom:0;
}
#sidebar-home .inner{
	padding:1rem var(--sidebar-px) 50px;
	flex:1;
	overflow:auto;
}
.backdrop{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.2);
	z-index:990;
	display:none;
}

#sidebar-home #sidebar-home-toggle{
	display:flex;
	justify-content:space-around;
	align-items:center;
	width:100%;
	height:60px;
	padding:0;
	border-radius:0;
	color:white !important;
	background-color:transparent !important;
	font-weight:700;
}
#sidebar-home #sidebar-home-toggle::before{
	content:'';
	width:34px;
	aspect-ratio:1/1;
	background:url(assets/images/logo-mark-w.svg) no-repeat center center/contain;
}
#sidebar-home #sidebar-home-toggle::after{
	content:'';
	width:26px;
	aspect-ratio:1/1;
	background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") no-repeat center center;
	transform:scale(1,-1);
	background-color:transparent !important;
}
body.sidebar-home-open #sidebar-home #sidebar-home-toggle::after{transform:scale(1,1);}

body.sidebar-home-open:not(.backdrop-none){overflow:hidden;}
body.sidebar-home-open #sidebar-home{transform:none;}
body.sidebar-home-open .backdrop{display:block;}
body.sidebar-home-open #sidebar-home .btn.h4::after{transform:scale(1,1);}
.backdrop-none .backdrop{display:none !important;}

#sidebar-home nav:not(.icons){gap:12px; flex-wrap:wrap;}
#sidebar-home nav:not(.icons)>*{width:calc((100% - 12px * 1) / 2); text-align:left; padding:.75rem;}

#sidebar-home .panels .btn{display:flex; justify-content:space-between; align-items:baseline; min-height:5.5em; border-radius:4px 4px var(--bs-border-radius) 4px;}
#sidebar-home .panels .btn::after{
	content:'';
	width:10px;
	aspect-ratio:1/1;
	border:1px solid white;
	border-width:2px 2px 0 0;
	transform:rotate(45deg);
	background-color:transparent !important;
}
#sidebar-home .panels [class*="fill-grad"].ic::before{
	height:3em;
	top:auto;
	bottom:.25em;
	right:1em;
	transform:none;
}
#sidebar-home .panels .btn:hover::after{
	border-color:var(--color-main);
}
#sidebar-home .panels [class*="fill-grad"].ic:hover::before{
	background-color:var(--color-main);
	opacity:.8;
}

#sidebar-home .icons{justify-content:space-between; margin:1rem calc(var(--sidebar-px) * -1); padding:1rem calc(var(--sidebar-px)); background-color:var(--bg-grn);}
#sidebar-home .icons .btn{padding-left:0; padding-right:0; font-size:12px; position:relative; z-index:2;}
#sidebar-home .icons .btn::before,
#sidebar-home .icons .btn::after{
	content:'';
	display:block;
	width:38px;
	aspect-ratio:1/1;	
	transition:.3s;
}
#sidebar-home .icons .btn::before{
	margin:0 auto .25rem;
	transition:.3s;
	mask:no-repeat center/contain;
	background-color:var(--color-grn-dark);
	z-index:1;
}
#sidebar-home .icons .btn::after{
	border-radius:10em;
	background-color:white;
	position:absolute;
	top:var(--bs-btn-padding-y);
	left:50%;
	z-index:-2;
	transform:translateX(-50%);
}
#sidebar-home .icons .btn:nth-child(1)::before{mask-image:url(assets/images/ic-clock.svg);}
#sidebar-home .icons .btn:nth-child(2)::before{mask-image:url(assets/images/ic-pin.svg);}
#sidebar-home .icons .btn:nth-child(3)::before{mask-image:url(assets/images/ic-tel.svg);}

#sidebar-home .icons .btn:hover{color:var(--color-dark); background-color:transparent;}
#sidebar-home .icons .btn:hover::before{background:white;}
#sidebar-home .icons .btn:hover::after{background-color:var(--color-grn-dark) !important;}

#sidebar-home .links{--color-main:var(--color-grn-dark);}
#sidebar-home .links .btn{font-size:14px;}
#sidebar-home .btn.ic-pdf,
#sidebar-home .btn.ic-pdf:hover{gap:.5em;}

@media (max-width:991px){
	#sidebar-home{
		height:calc(100vh - 1rem);
		height:calc(100dvh - 1rem);
	}
	#cover .inner{width:100%;}
}
@media (max-width:575px){
	#sidebar-home{width:calc(100% - var(--sidebar-px) * 2);}
}

/* h
--------------------------------------------------------------*/
.c-black{color:var(--color-dark);}
.c-white{color:white;}
.c-main{color:var(--color-main);}
.c-grn{color:var(--color-grn);}
.c-org{color:var(--color-org);}
.c-red{color:var(--color-red);}
.c-grn-d{color:var(--color-grn-dark);}
.c-aqu{color:var(--color-aqu);}

[class*="fill-"]{color:white !important; background-color:var(--color-main);}
.fill-grn{--color-main:var(--color-grn);}
.fill-org{--color-main:var(--color-org);}
.fill-yel{--color-main:var(--color-yel);}
.fill-aqu{--color-main:var(--color-aqu);}
.fill-ppl{--color-main:var(--color-ppl);}
.fill-blu{--color-main:var(--color-blu);}
.fill-grn-d{--color-main:var(--color-grn-dark);}
.fill-gry{--color-main:var(--color-gray);}

.grid-schedule .sex-w{background-color:#f5ea3c;}
.sex-info::first-letter{color:#f5ea3c; font-size:.94rem;}

h1,.h1,h2,.h2,h3,.h3,h4,.h4{line-height:1.6; font-weight:500; margin-bottom:0;}
h1,.h1,
h2,.h2{font-size:28px; margin-bottom:1.5rem;}
h3,.h3{font-size:24px; margin-bottom:1.5rem;}
h4,.h4{font-size:20px; margin-bottom:.75rem;}

h1{color:var(--color-main);}
.tel{
	font-family:"M PLUS 1p", sans-serif;
	font-weight:700;
	font-style:normal;
	display:inline-flex;
	gap:.5em;
	font-size:28px;
	color:var(--color-grn-dark);
	text-decoration:none;
}
a.email{
	font-family:"M PLUS 1p", sans-serif;
	font-weight:700;
	font-style:normal;
	font-size:1.15em;
	color:var(--color-grn-dark);
	text-decoration:none;
}

p,
.mb-p,
p[class^="h"]{margin-bottom:1.6rem;}

h3::after{
	content:'';
	display:block;
	width:100px;
	height:3px;
	background:linear-gradient(90deg, var(--color-main) 50%, #808080 50%);
	margin-top:.75em;
}


/*
h4,.h4{font-size:20px; margin-bottom:1.2rem;}
.fs-0{font-size:1rem !important;}
.bold{font-weight:700;}
.bold-500{font-weight:500;}
.lead{font-weight:400;}

.content-header .h1,
.content-header h1,
[class*="title-en"]{font-size:1rem;}
.content-header .h1 span,
.content-header h1 span,
[class*="title-en"] span{font-size:3rem; display:block; line-height:1.4;}
.title-en-sm span{font-size:2rem;}

.border-btm::after{
	content:'';
	display:block;
	width:40px;
	height:2px;
	background-color:var(--color-dark);
	margin:1rem auto;
}
.border-btm.c-main::after{background-color:var(--color-main);}

.btn-both,
[class*="icb-"],
[class*="ica-"]{
	display:inline-flex;
	column-gap:.5em;
	justify-content:space-between;
	align-items:center;
	min-width:220px;
}
.btn-both::before,
.btn-both::after,
[class*="icb-"]::before,
[class*="ica-"]::after{
	content:'';
	display:flex;
	width:1em;
	height:1em;
	font-family:bootstrap-icons;
	font-size:1em;
	line-height:1;
	transform:translateY(5%) scale(1.2);
}

.ica-next::after{content:'\F138';}
.icb-mail::before{content:'\F32F';}
.ica-dl::after{content:'\F30A';}
.ica-shop::after{content:'\F179';}
*/
.labels>*,
.label{
	display:inline-block;
	border-radius:var(--bs-border-radius);
	color:white;
	text-align:center;
	padding:1rem 1.5rem;
}
time.h3{margin:0;}

table{background-color:white; font-size:.94rem;}
.table{--bs-table-border-color:var(--table-border-color); --bs-table-color:var(--color-dark);}
.wp-block-table td,
.wp-block-table th{border-color:var(--table-border-color); padding:1rem;}
.table th,
table th{background-color:var(--table-th-bg-color);}

/*
table thead th,
.wp-block-table tr:first-child{text-align:center;}
*/

@media (max-width:1199px){
	.labels>*,
	.label{padding:1rem;}
}
@media (max-width:991px){
	h1,.h1,
	h2,.h2{font-size:26px;}
	h3,.h3{font-size:20px;}
}
@media (max-width:575px){
	.content-header .h1 span,
	.content-header h1 span,
	[class*="title-en"] span{font-size:2.25rem;}
	.title-en-sm span{font-size:1.75rem;}

	h1,.h1,
	h2,.h2{font-size:21px; margin-bottom:1em;}
	h3,.h3{font-size:19px; margin-bottom:1rem;}
	h4,.h4{font-size:17px; margin-bottom:.5rem;}

	.labels>*,
	.label{padding:.75rem 1rem;}
}

/*
.row-gap-sm{row-gap:1.5rem;}
.row-gap-md{row-gap:3rem;}
*/

/*
a,a:hover{color:#2e99ca;}
a:hover{opacity:.7;}
.marker-y{background:linear-gradient(transparent 70%, yellow 30%); font-size:1.2em; font-weight:600;}
*/

/* buttons
----------------------------------------------- */
.wp-block-buttons,
.wp-block-button{
	margin-top:var(--py);
	margin-bottom:var(--py);
}
.wp-block-buttons{gap:3rem;}

.nav-link,
.wp-block-button__link,
.btn{line-height:1.4; transition:.3s;}

	.nav-link:hover{opacity:.7;}

	.wp-block-button__link:hover,
	.btn:hover{color:white; background-color:var(--color-main); opacity:1;}
	.wp-block-button__link:hover::after,
	.btn:hover::after{background-color:white !important;}


.wp-block-button__link{
	min-width:260px !important;
	max-width:100% !important;
	font-size:18px;
	padding:1.5em;
	color:var(--color-dark);
	background-color:transparent;
	border:1px solid var(--color-main);
}
#sidebar-container .wp-block-button__link{
	min-width:330px !important;
}

.wp-block-button__link[class*="fill-"],
.btn[class*="fill-"]{border-color:white;}

.wp-block-button__link[class*="fill-"]::after,
.btn[class*="fill-"]::after{background-color:white !important;}

.btn[class*="ic-"],
.wp-block-button__link{
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	gap:.5em;
}

.btn[class*="ic-"]::after,
.wp-block-button__link::after{
	content:'';
	mask:no-repeat center/contain;
}
.wp-block-button:not([class*="ic-"]) .wp-block-button__link::after{
	width:.6em;
	aspect-ratio:cos(30deg);
	background-color:var(--color-main);
	clip-path:polygon(0 0,100% 50%,0 100%);
}

.btn.ic-pdf::after,
.ic-pdf .wp-block-button__link::after{
	width:1em;
	aspect-ratio:30/33;
	mask-image:url(assets/images/ic-pdf.svg);
	background-color:var(--color-main);
	transform-origin:center right;
	transform:scale(1.6); 
}
.ic-ol-arrow::after{
	width:10px;
	aspect-ratio:1/1;
	border:1px solid white;
	border-width:2px 2px 0 0;
	transform:rotate(45deg);
}
.btn.ic-google::after,
.ic-google .wp-block-button__link::after{
	width:53px;
	aspect-ratio:53/18;
	mask-image:url(assets/images/ic-google.svg);
	background-color:var(--color-main);
}
.btn.ic-plus::after{
	width:1em;
	aspect-ratio:1/1;
	mask-image:url(assets/images/ic-plus.svg);
	background-color:var(--color-main);
	transform-origin:center right;
	transform:scale(1.4); 
}
.btn.ic-face::after{
	width:1em;
	aspect-ratio:1/1;
	mask-image:url(assets/images/ic-face.svg);
	background-color:var(--color-main);
	transform-origin:center right;
	transform:scale(1.4); 
}

.wp-block-button__link.ol-wht{--color-main:white; color:white;}
.wp-block-button__link.ol-wht:hover{color:var(--color-dark);}
.wp-block-button__link.ol-wht:hover::after{background-color:var(--color-dark) !important;}

/*
.wp-block-button__link.ol-gry{--color-main:var(--color-gray);}
.wp-block-button__link.ol-gry:hover{--color-main:white; color:var(--color-gray);}
.wp-block-button__link.ol-gry:hover::after{background-color:var(--color-gray) !important;}
*/

.fill-grad-grn{--color-main:var(--color-grn); background:linear-gradient(135deg, var(--color-main), #7fdd43) !important;}
.fill-grad-org{--color-main:var(--color-org); background:linear-gradient(135deg, var(--color-main), #efc245) !important; --color-main:var(--color-org);}
.fill-grad-yel{--color-main:var(--color-yel); background:linear-gradient(135deg, var(--color-main), #ead142) !important;}
.fill-grad-aqu{--color-main:var(--color-aqu); background:linear-gradient(135deg, var(--color-main), #97dbd6) !important;}
.fill-grad-ppl{--color-main:var(--color-ppl); background:linear-gradient(135deg, var(--color-main), #cdb8e0) !important;}
.fill-grad-blu{--color-main:var(--color-blu); background:linear-gradient(135deg, var(--color-main), #53b5d3) !important;}
.fill-grad-grn-d{--color-main:var(--color-grn-dark); background:linear-gradient(135deg, var(--color-main), #3d9189) !important;}

[class*="fill-grad"].ic{position:relative;}
[class*="fill-grad"].ic::before{
	content:'';
	height:90%;
	aspect-ratio:1/1;
	position:absolute;
	top:50%;
	right:1.5rem;
	mask:no-repeat center/contain;
	background-color:white;
	opacity:.3;
	transform:translateY(-50%);
}
.fill-grad-grn.ic::before{mask-image:url(assets/images/ic-01.svg);}
.fill-grad-org.ic::before{mask-image:url(assets/images/ic-02.svg);}
.fill-grad-yel.ic::before{mask-image:url(assets/images/ic-03.svg);}
.fill-grad-ppl.ic::before{mask-image:url(assets/images/ic-04.svg);}
.fill-grad-aqu.ic::before{mask-image:url(assets/images/ic-05.svg);}
.fill-grad-blu.ic::before{mask-image:url(assets/images/ic-06.svg);}

.wp-block-button__link[class*="fill-grad"]:hover,
.btn[class*="fill-grad"]:hover{color:var(--color-main) !important; background:white !important; border:1px solid var(--color-main) !important;}
.wp-block-button__link[class*="fill-grad"]:hover::after,
.btn[class*="fill-grad"]:hover::after{background-color:var(--color-main) !important;}

nav[class*="btns-"]{gap:30px;}
nav[class*="btns-"] .btn{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:calc((100% - 30px * 4) / 5);
	text-align:left;
	padding:.75rem 1rem;
	border:1px solid var(--color-main);
	min-height:5em;
}
nav[class*="btns-"] .btn::after{
	content:'';
	width:10px;
	aspect-ratio:1/1;
	border:1px solid var(--color-main);
	border-width:2px 2px 0 0;
	transform:rotate(45deg);
}
nav[class*="btns-"] .btn:hover::after{
	border-color:white;
	background-color:transparent !important;
}

nav.btns-ol-grn .btn,
nav.btns-ol-grn .btn::after{--color-main:var(--color-grn);}

nav.btns-ol-aqu .btn,
nav.btns-ol-aqu .btn::after{--color-main:var(--color-aqu);}

@media (max-width:991px){
	nav[class*="btns-"] .btn{width:calc((100% - 30px * 2) / 3);}
}
@media (max-width:767px){
	nav[class*="btns-"]{gap:1rem;}
	nav[class*="btns-"] .btn{width:calc((100% - 1rem * 1) / 2);}
}
@media (max-width:575px){
	.wp-block-button__link{
		padding:1.2em;
	}
}

/*
@media (max-width:767px){
	.btn-lg{font-size:1rem;}
}
*/

/* content-header
----------------------------------------------- */
/*
.content-header{display:flex; align-items:center; justify-content:center; text-align:center; height:180px; padding:0 20px;}
.content-header .h1 span::first-letter,
.content-header h1 span::first-letter{color:var(--color-main);}

@media (max-width:767px){
	.content-header{height:120px; margin-bottom:30px;}
}
*/

/* widget
----------------------------------------------- */


/* archive & single
----------------------------------------------- */
/*
.single-header,
.archive-header{
}
*/

.archive-list .post{border-bottom:1px solid rgba(0,0,0,.1);}
.archive-list .post a{display:flex; column-gap:1em; color:var(--color-dark); padding:.75em .5em;}
.archive-list .post a:hover{background-color:rgba(0,0,0,.02);}
.archive-list .post a h2{color:var(--color-dark); font-size:1rem; margin:0;}
.archive-list .post a time{min-width:7em;}

/* the_posts_pagination */
nav.navigation{justify-content:center; padding:3rem 0;}
nav.navigation ul{display:flex; column-gap:20px; margin:0; padding:0; list-style:none;}
nav.navigation ul *{display:flex;}
nav.navigation ul li>*{width:40px; aspect-ratio:1/1; color:var(--color-grn); border:1px solid var(--color-grn); justify-content:center; align-items:center; border-radius:20px;}
nav.navigation ul li a{text-decoration:none;}
nav.navigation ul li a:hover,
nav.navigation ul li>*.current{color:white; background-color:var(--color-grn); border-color:var(--color-grn);}

@media (max-width:575px){
	.archive-block.archive-list{padding:20px 0;}
	.archive-list .post a{flex-direction:column;}
	.archive-list .post a time{font-size:.85em;}
}

/* single
----------------------------------------------- */


/* pages
--------------------------------------------------------------*/
#sidebar-container>.row{flex-direction:row-reverse;}
#col-sidebar{max-width:calc(260px + var(--px) * 2);}

#sidebar{
	max-height:100vh;
	max-height:100dvh;
	position:-webkit-sticky;
	position:sticky;
	top:var(--container-pt);
	padding-bottom:60px;
	overflow-y:auto;
}
#sidebar a{color:var(--color-dark);}
#sidebar .nav-link{padding:1rem;}
#sidebar .nav-link.active{background-color:transparent;}
#sidebar .section>a{color:white; background:linear-gradient(135deg, var(--color-grn-dark), #3d9189);}
#sidebar .entry>a{border-radius:0; border-top:1px solid var(--color-gray);}
#sidebar .entry>a:first-of-type{border:none;}

#sidebar-container .content{scroll-margin-top:700px;}
#sidebar-container .content h1,
#sidebar-container .content h2{margin-top:calc(var(--py) * 2);}

#sidebar-container .content h1 + h2,
#sidebar-container .content header h1,
#sidebar-container .content>h2:nth-of-type(1){margin-top:0;}

#sidebar-container .content h3{margin-top:var(--py);}
#sidebar-container .wp-block-image img{margin-top:calc(var(--py) / 2); margin-bottom:calc(var(--py) / 2);}

@media (max-width:991px){
	#col-sidebar{display:none;}
}

/* accordion
--------------------------------------------------------------*/
.nav-accordion,
.nav-accordion:active{display:flex;}
.nav-accordion::after{
	font-family:bootstrap-icons;
	content:'\F64D';
	display:flex;
	aspect-ratio:1/1;
	margin-left:auto;
	padding-left:.5rem;
	color:var(--color-main);
	transform:scale(1.4);
}
/* .nav-accordion[aria-expanded="true"]{background-color:rgba(0,0,0,.03);} */
.nav-accordion[aria-expanded="true"]::after{
	content:'\F63B';
}

/* visiting
--------------------------------------------------------------*/
.visiting h3,
.home h3{padding-bottom:.5em; margin-bottom:1em; border-bottom:1px solid var(--color-grn-dark);}
.visiting h3::after,
.home h3::after{content:none;}

.visiting h3.label{
	background-color:var(--color-red);
	border:none;
	width:100%;
}


/* home
--------------------------------------------------------------*/
body.home{
	background-color:var(--bg-gray);
}

.card-block{
	background-color:white;
	border-radius:var(--bs-border-radius);
	padding:calc(var(--px) * 2) calc(var(--px) * 2);
}

.home .sec-even .row{flex-direction:row-reverse;}
.card-block .wp-block-button{margin-bottom:0;}

#pos-attention,
#pos-news{position:relative;}
#pos-attention .btn,
#pos-news .btn{
	gap:1rem;
/*
	position:absolute;
	top:calc(var(--px) * 2);
	right:calc(var(--px) * 2);
*/
}
#pos-attention .ic-ol-arrow::after{border-color:var(--color-red);}
#pos-news .ic-ol-arrow::after{border-color:var(--color-blu);}
#pos-attention .ic-ol-arrow:hover,
#pos-news .ic-ol-arrow:hover{color:inherit !important; background-color:transparent;}

#pos-attention{
	border:1px solid var(--color-red);
	color:var(--color-red);
}
#pos-news{
	border:1px solid var(--color-blu);
	color:var(--color-blu);
}
.post-list{flex-direction:column;}
.post-list li{border-top:1px solid rgba(0,0,0,.1);}
.post-list a{display:flex; column-gap:1em; text-decoration:none; padding:.5em;}
.post-list a:hover{background-color:rgba(0,0,0,.02);}
.post-list a time{min-width:7em;}

.cat-news li{border-color:rgba(var(--color-blu-rgb), .3);}
.cat-news a{color:var(--color-blu);}
.cat-attention li{border-color:rgba(var(--color-red-rgb), .3);}
.cat-attention a{color:var(--color-red);}

#pos-outpatient .times p{display:flex; align-items:center; gap:1rem;}
#pos-outpatient .times .label{min-width:8em;}

[class*="bnr-"]{position:relative;}
[class*="bnr-"] .wp-block-button{position:absolute; z-index:1; margin:0;}
.bnr-recruit .wp-block-button{bottom:7%; left:50%; transform:translateX(-50%);}
.bnr-roken .wp-block-button{top:2rem; left:2rem;}
.bnr-roken .wp-block-button__link{padding:.6em 2em}

#pos-news .d-flex,
#pos-attention .d-flex{gap:1rem; justify-content:space-between; align-items:center;}
#pos-attention h2{font-size:1rem; margin:0;}

.grid-time-schedule{
	display:grid;
	grid-template-columns:17em repeat(6, 1fr);
	color:var(--color-grn-dark);
	margin-bottom:.5rem;
	border-top:1px solid var(--color-grn-dark);
}
.grid-time-schedule .cell{
	display:flex;
	justify-content:center;
	align-items:center;
	padding:.5rem;
	border-bottom:1px solid var(--color-grn-dark);
}
.grid-time-schedule .cell.time{
	justify-content:flex-start;
}
.grid-time-schedule time .num{
	margin-left:.25em;
}
.grid-time-schedule img{width:20px;}

@media (max-width:991px){
	.home .sec-odd .row,
	.home .sec-even .row{flex-direction:column-reverse;}

	.grid-time-schedule{
		grid-template-columns:14em repeat(6, 1fr);
	}
}
@media (max-width:767px){
	.card-block{
		padding:var(--py) calc(var(--px) * 2);
	}

	.grid-time-schedule .cell.time{justify-content:center;}
	.grid-time-schedule time{text-align:center; line-height:1.2; font-size:1rem;}
	.grid-time-schedule time .num{margin-left:0;}
	.grid-time-schedule time span{display:block;}

	.grid-time-schedule{
		/* 1列目だけ固定 */
		/* grid-template-columns:5em; */
		/* 2列目以降 */
		/* grid-auto-columns:auto; */
		grid-template-columns:3em repeat(3, 1fr);
		grid-auto-flow:column;
		grid-template-rows:repeat(7, auto);
	}

}
@media (max-width:575px){
	#pos-outpatient .times p{flex-wrap:wrap; justify-content:center; text-align:center;}
	#pos-outpatient .times p>*:last-child{width:100%;}

	.post-list a{flex-direction:column;}
}


/* outpatient
--------------------------------------------------------------*/
.slug-outpatient{--color-main:var(--color-grn);}

#outpatient-fever,
#sidebar a.fill-grad-org + .nav{--color-main:var(--color-org);}

.doctors{border-top:1px solid var(--table-border-color);}
.doctors li{
	display:flex;
	align-items:center;
	gap:0 1rem;
	font-size:.94rem;
	padding:1em 0;
	border-bottom:1px solid var(--table-border-color);
}

.grid-schedule{line-height:1.4;}
.grid-schedule{
	display:grid;
	gap:1px;
	grid-template-columns:5em repeat(6, 1fr);
	background-color:var(--table-border-color);
	border:1px solid var(--table-border-color);
	margin-bottom:1rem;
}
.grid-schedule .cell{
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:white;
	text-align: center;
}
.grid-schedule .cell.empty,
.grid-schedule .cell.bold{
	background-color:var(--table-th-bg-color);
	padding:.5rem;
}
.grid-schedule ul{width:100%;}
.grid-schedule ul li{padding:.5rem; text-align:center;}
.grid-schedule .note{display:block; color:var(--color-main);}

.table-pay th{width:50%; text-align:center;}
.pay-cards{max-width:calc(80px * 3 + 1.5rem * 2); margin:1rem auto; justify-content:center; gap:1rem 1.5rem;}
.pay-cards li{display:flex; justify-content:center; align-items:center; max-width:80px;}

@media (max-width:768px){
	.grid-schedule{
		/* 1列目だけ固定 */
		/* grid-template-columns:5em; */
		/* 2列目以降 */
		/* grid-auto-columns:auto; */
		grid-template-columns:3em repeat(2, 1fr);
		grid-auto-flow:column;
		grid-template-rows:repeat(7, auto);
	}
}
@media (max-width:575px){
	.doctors li{flex-direction:column; align-items:flex-start;}

	.pay-cards{gap:1rem;}
	.pay-cards li{max-width:calc((100% - 1rem)/2);}
}

/* inpatient
--------------------------------------------------------------*/
.slug-inpatient{--color-main:var(--color-ppl);}
.slug-inpatient h4{color:var(--color-grn-dark);}

.nav.square{margin-bottom:2rem;}
.nav.square li{width:25%; line-height:2; display:flex; gap:.5rem; align-items:center;}
.nav.square li::before{
	content:'';
	width:1em;
	aspect-ratio:1/1;
	border:1px solid var(--color-main);
}

ol.flow{flex-direction:column; line-height:2; counter-reset:i;}
ol.flow li{display:flex; column-gap:2rem; position:relative; counter-increment:i;}
ol.flow li::before{
	content:counter(i);
	width:2.5rem;
	text-align:center;
	color:white;
	background-color:var(--color-grn);
}
ol.flow li:last-child::before{content:'時';}
ol.flow li.visiting-start .bar::after,
ol.flow li:last-child::after{
	content:'';
	display:block;
	width:2.5rem;
	height:1rem;
	background-color:var(--color-grn);
	clip-path:polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
	position:absolute;
	left:0;
	bottom:1px;
	transform:translateY(100%);
}
ol.flow li.visiting-start .bar::after{background-color:var(--color-org);}

ol.flow li.visiting-start{position:relative;}
ol.flow li.visiting-start .bar{
	display:flex;
	justify-content:center;
	align-items:center;
	width:2.5rem;
	height:calc(1em * 2 * 6);
	color:white;
	background-color:var(--color-org);
	writing-mode:vertical-rl;
	position:absolute;
	top:.5em;
	left:13em;
}

@media (max-width:575px){
	.nav.square li{width:50%;}
}

/* checkup
--------------------------------------------------------------*/
.slug-checkup{
	--color-main:var(--color-aqu);
	--table-border-color:var(--color-aqu);
	--table-th-bg-color:var(--color-aqu);
}
.slug-checkup table th{color:white;}

#vaccine,
#sidebar a.fill-grad-yel + .nav{--color-main:var(--color-yel);}

.option-title{display:flex; align-items:center; gap:.75em; color:var(--color-aqu); margin-bottom:1rem;}
.option-title::before{
	font-family:bootstrap-icons;
	content:'\F64D';
	aspect-ratio:1/1;
}
.option-title::after{
	content:'';
	width:100%;
	height:1px;
	background-color:var(--color-aqu);
}
.options{gap:.5rem 1.5rem;}
.options>*{background-color:var(--color-aqu); width:calc((100% - 1.5rem * 3) / 4); padding:1em .75em;}

.col-label{max-width:12em;}
.col-label .label{width:100%;}

.table-price th,
.table-price td{text-align:center; padding:1rem; width:50%;}
.table-price td>*{display:inline-block; text-align:left;}
.table-price .num{font-size:28px; font-weight:700; margin-right:.25em;}


.tests{margin-bottom:.5rem;}
.tests .nav-accordion{color:white; background-color:var(--color-grn); justify-content:center; gap:2em; padding:.5em;}
.tests .nav-accordion::after{
	margin-left:inherit;
	color:white;
	content:'\F282';
}
.tests .nav-accordion[aria-expanded="true"]::after{
	content:'\F286';
}
.table-tests{--table-border-color:var(--color-gray);}
.table-tests .labels{gap:.25rem;}
.table-tests .labels>*{width:100%; padding:0; font-size:14px;}
.table-tests th{color:var(--color-dark) !important; background-color:white; font-size:14px; text-align:center;}
.table-tests th:nth-of-type(1){width:15rem; font-size:11px; vertical-align:middle;}
.table-tests th:nth-of-type(2),
.table-tests td:nth-of-type(2){width:25%; background-color:var(--bg-grn);}
.table-tests th:nth-of-type(3),
.table-tests td:nth-of-type(3){background-color:var(--bg-gray);}

@media (max-width:767px){
	.table-tests tr:first-child{display:none;}
	.table-tests tr>*{display:block; width:100% !important;}
	.table-tests tr>*:first-child{display:none;}
	.table-tests .labels>*{width:auto; padding:0 1em;}
}
@media (max-width:575px){
	.table-price tr>*{display:block; width:100%;}
	.table-price td{text-align:left; border-bottom:1px solid var(--table-border-color);}
	.table-price td:last-child{border-bottom:none;}
	.table-price .num{font-size:28px;}

	.options{gap:.5rem 1rem;}
	.options>*{width:calc((100% - 1rem * 1) / 2);}
}

/* network
--------------------------------------------------------------*/
.slug-network{--color-main:var(--color-blu);}

.facilities section{padding:1rem; margin-bottom:1rem; border-radius:var(--bs-border-radius);}
.facilities ul{gap:.5rem; font-size:.85rem; margin-bottom:.75rem;}
.facilities ul li{padding:.25em 1em; background-color:white; border-radius:10em;}
.facilities h4{margin-bottom:.5rem;}
.facilities h4 a{display:flex; gap:1em; color:var(--color-dark); text-decoration:none;}
.facilities h4 a::after{
	font-family:bootstrap-icons;
	content:'\F1C5';
	color:var(--color-grn-dark);
}
.facilities address{margin:0;}

.facilities.city-1 section{background-color:var(--bg-grn);}
.facilities.city-2 section{background-color:var(--bg-yel);}
.facilities.city-3 section{background-color:var(--bg-blu);}

/* about, recruit, access, contact
--------------------------------------------------------------*/
.slug-recruit table th,
.slug-about table th{width:200px; vertical-align:top;}
.slug-about h4{color:var(--color-grn-dark);}

.history table th,
.history table td{background-color:transparent; border-width:0 0 1px 0;}
.history table th{width:8em;}

.floor{background-color:#e9e9e9; text-align:center;}

.map{
	position: relative;
	width: 100%;
	aspect-ratio:16/9;
}
.map iframe{
	width: 100%;
	height: 100%;
	border: 0;
}

.wp-block-columns.aqu{
	--color-main:var(--color-aqu);
}
.wp-block-columns.blu{
	--color-main:var(--color-blu);
}

@media (max-width:575px){
	.slug-recruit tr>*,
	.slug-about tr>*{width:100% !important; display:block;}
	.slug-recruit td,
	.slug-about td{border-width:0 1px;}
	.slug-recruit tr:last-child td,
	.slug-about tr:last-child td{border-width:0 1px 1px;}
	
	.history table th{width:100%; border:none; padding-bottom:0;}
	.history table td{padding-top:0; border-width:0 0 1px !important;}
}


/* plug-in contact form 7
----------------------------------------------- */
/* [class*="slug-form-"] #container{background-color:var(--bg-gray);} */
[class*="slug-form-"] article{max-width:850px; margin:0 auto;}
[class*="slug-form-"] h1{text-align:center; padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid var(--color-gray);}

/* .form-group{display:flex; gap:2rem; padding:2rem; border-bottom:1px solid var(--color-gray);} */
.form-group{display:flex; gap:0 2rem; padding:1rem 0;}
/* form>.form-group:first-of-type{border-top:1px solid var(--color-gray);} */
.form-group>label{display:flex; justify-content:space-between; min-width:16em; padding:.375rem 0;}
.form-group label.req::after{
	content:'必須';
	align-self:flex-start;
	font-size:0.75em;
	padding:0 .5em;
	margin-top:.25rem;
	color:white;
	background-color:var(--color-grn-dark);
	border-radius:4px;
}
.form-group>div{width:100%; position:relative;}
/*
.row-address .form-group{border:none; padding:.5rem 0;}
.row-address .form-group label{min-width:8em;}
*/

.mwform-radio-field.horizontal-item{display:inline-block; padding:.375rem 0;}

.mwform-tel-field{/* iphoneでカラム落ち */
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	gap:5px;
}
.mwform-tel-field input{/* iphoneでカラム落ち */
	min-width:0;
}

.form-control{
	height:auto;
	padding:.5rem 1rem;
	border-radius:8px;
	border-color:var(--color-gray);
}
.form-select{width:auto; border-radius:8px;}

.form-control,
.form-select{background-color:var(--bg-gray);}

.mw_wp_form .horizontal-item,
.mw_wp_form .horizontal-item + .horizontal-item{margin:0 1rem 0 0;}

.submit-bar{display:flex; flex-direction:column; align-items:center; gap:2rem; margin:3rem 0;}
.submit-bar .wp-block-button{margin:0;}
[name="submitBack"]{flex-direction:row-reverse; --color-main:var(--color-gray);}
[name="submitBack"]::after{transform:scale(-1,1);}

.p-country-name{display:none;}

.mw_wp_form .error{
	font-size:.75rem;
	color:white;
	background-color:rgba(var(--color-red-rgb),.7);
	padding:0 .75em;
	position:absolute;
	border-radius:10em;
	top:0;
	left:0;
	transform:translateY(-50%);
}

.mw_wp_form_confirm .form-group>div{padding:.375rem 0;}
.mw_wp_form_confirm .conf-hide{display:none;}

@media (max-width:767px){
	.form-group{flex-direction:column; padding:.5rem;}
	.form-group>label{justify-content:flex-start; gap:1rem;}
}

/* recaptcha
--------------------------------------------------------------*/
/* .grecaptcha-badge{visibility:hidden;} */
