@charset "UTF-8";
/* 

	Styles 2023/04/28 - 
______________________________________________________________________________ */


:root {
	--inpad: 1rem;
	--wrap-inpad: min(calc(1rem * 3),7vw);
	--font: 16px;
	--font-sp: 14px;
	--bg-color: #fefefe;
	--bg-gray-color: #f2f0eb;
	--bg-black-color: #777780;
	--key-color: #00cdcd;
	--act-color: #ff6d5b;
	--text-color: #565656;
	--text-selection-color: rgba(20,20,20,.3);
	--logo-height: clamp(40px,12.5vw,60px);
	--logo-padding: 10px;
	--header-offset: calc(var(--logo-height) + (var(--logo-padding) * 2));
	--transition: all .2s ease .05s
}
:target{scroll-margin-top:var(--header-offset)}body{font-weight:300;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Roboto,"Hiragino Sans","Noto Sans CJK JP","Yu Gothic",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}
html,body{margin:0;padding:0;color:var(--text-color);background:var(--bg-color) no-repeat center top}
html {
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
	-ms-font-smoothing:antialiased;
	    font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	box-sizing:border-box;
	cursor:default;
	line-height:1.5;
	-moz-tab-size:4;
	tab-size:4;
	-webkit-tap-highlight-color:transparent;
	word-break:break-word;
	scroll-behavior:smooth;
	font-size:var(--font)
}@media (max-width:480px){:root{--font:var(--font-sp)}}
body {
	font-size: 100%;
	padding-bottom:constant(safe-area-inset-bottom);padding-top:constant(safe-area-inset-top);padding-right:constant(safe-area-inset-right);padding-left:constant(safe-area-inset-left);
}body>*{max-width:100vw;overflow-x:hidden}::selection{ background-color:var(--text-selection-color)}
*,*::before,*::after{box-sizing:inherit}*::before,*::after{text-decoration:inherit;vertical-align:inherit}
main,article,aside,figure,figcaption,footer,header,section{display:block}
h1,h2,h3,h4{line-height:1.1}:where(h1,h2,h3,h4,h5,h6,nav,header,footer,nav,.header,.footer,.nav,.menu) a{display:flow-root;text-decoration:none;color:inherit;transition:var(--transition)}:where(nav,header,footer,nav,.header,.footer,.nav,.menu) :where(a,img){display:block;max-width: 100%}
p,dd{line-height:1.8;margin:0 0 1.5rem 0}dl{margin-block:2.5rem}dl:first-child{margin-top:0}dd{margin: 0 0 2rem}em{font-style:normal;font-weight:bold}address{font-style:normal}small,.small{font-size:.75em;line-height:1.4}
nav :where(ol,ul),.nav,.list{list-style:none;margin:0;padding:0}img,svg,iframe{backface-visibility:hidden;border:none;height:auto;max-width:100%}:focus{outline:0}a[target="_blank"]{cursor:alias!important}
table{border-collapse:collapse;border-spacing:0;margin:2em auto}th,td,tr{padding:1em;border:1px solid #ddd}
hr{height:0}pre{font-family: monospace,monospace;font-size:1em}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}iframe,video{aspect-ratio:16/9}
template,[hidden]{display:none}a,button,input,label,select,textarea,[tabindex]{touch-action:manipulation}figcaption{margin:.3rem 0 .5rem}
input[type="text"],input[type="number"],select,textarea{font-size:17px}button,input,select,figure{margin:0}textarea{margin:0;resize:vertical}

.map{min-height:300px;max-height:95vh;background-color:#eee}.caution{color:#e00707}.annotation{color:#c3c3c3;font-size:.85em}
main,article,section,aside,.wrap,.sec,.w1280,.w960,.w720{position:relative;display:flow-root}.w1280,.w960,.w720,.inner{margin:0 auto}
.wrap,.sec{width:100%}.sec>.inner{padding-inline:var(--inpad)}.w1280,.width_wide>.inner{max-width:1280px}.w960,.width_normal>.inner{max-width:960px}.w720,.width_narrow>.inner{max-width:720px}@media (max-width:959px){.width_narrow>.inner{max-width:85vw}}.width_full>.inner{max-width:100%;padding-left:0;padding-right:0}

:where(a:link){color:var(--key-color)}
:where(a:visited){color:var(--key-color)}
:where(a:hover){color:var(--act-color)}
a{text-decoration-style:dotted}

h2{font-size:2.25rem}
h3{font-size:1.75rem}
h4{font-size:1.5rem}
h5{font-size:1.313rem}
h6,dt{font-size:1.125rem}
h2,h3,h4,h5,h6{
	margin-block: 1.25em;
}
.ck_label:where(h2,h3,h4,h5,h6):not(:first-child) {
	margin-top: 2.5em;
}
b,strong,em{
	color: #222;
}
/*
せのびゴシック	"senobi-gothic"		400/500/700
New Frank	"new-frank"		300/400/500/800
しっぽり明朝	"shippori-mincho"	400/600/800
*/
.font_senobi,h1,h2,h3,h4,h5,h6,.bt,.footer {
	font-family: senobi-gothic,sans-serif;
	font-weight: 500;
}:where(h1,h2,h3,h4,h5,h6)>.ck_small{font-weight:400;line-height: 1.2}
h3,h4,h5,h6,dt {
	font-weight: 700;
}:where(h3,h4,h5,h6)>.ck_small{font-weight:500}
.font_shippori,p,table,.ck_list,.ck_articles {
	font-family: shippori-mincho,serif;
	font-weight: 600;
}
/*	20230716del >>
.ck_body :where(h1,h2,h3,h4,h5,h6,dt) {
	font-family: shippori-mincho,serif;
}
<< 20230716del */
.font_newfrank,.copyright {
	font-family: new-frank,sans-serif;
	font-weight: 300;
}
.ck_small {
	font-size: .85em;
}
.ck_fit {
	width: fit-content;
	margin-inline: auto;
}
.ck_hr {
	width: 100%;
	opacity: .2;
	margin-block: 2rem;
}
	.ck_articles + .ck_hr {
		margin-top: 8rem;
	}

.bg_dots {
	background-color: var(--bg-color);
	background-image: url(/assets/img/common/dots.svg);
}
.bg_white {
	background-color: var(--bg-color);
}
.bg_gray {
	background-color: var(--bg-gray-color);
}
thead th,
.bg_black {
	color: var(--bg-color);
	background-color: var(--bg-black-color);
}


.bt {
	color: var(--bg-color);
	background-color: var(--key-color);
	padding: 1em 3em;
	border-radius: 999px;
	position: relative;
	margin-block: 1.5rem;
	transition: var(--transition);
}
	.bt.bt_line {
		background-color: var(--act-color);
		margin-bottom: 2.5rem;
	}
	.bt::after {
		content: "";
		background-image: url(/assets/img/common/arrow_w.svg);
		background-repeat: no-repeat;
		height: 1em;
		display: block;
		background-size: auto 1em;
		background-position: center;
		aspect-ratio: 1/2;
		position: absolute;
		right: 1.5em;
		top: 50%;
		translate: 0 -50%;
	}
	.ck_hr+.bt_wraper>.bt_line {
		margin-bottom: 3.5rem;
	}
	.bt > * {
		font-size: .7em;
		display: block;
	}
.bt:hover,
a:hover .bt {
	opacity: .7;
	scale: 1.05;
}


.ck_body ul {
	margin-block: -1rem 2rem;
	padding-left: 1.5rem;
}
	.ck_body ul:first-child {
		margin-top: 0;
	}
.ck_ul {
	padding-left: 1rem;
}
.ck_ul li:not(:last-child) {
	margin-bottom: 1.5rem;
}


.has_arrow::after {
	content: "";
	background-image: url(/assets/img/common/arrow_b.svg);
	background-repeat: no-repeat;
}
.bt_wraper {
	display: grid;
	place-content: center;
}
.ck_contents > .bt_wraper {
	margin-inline: calc(var(--wrap-inpad) * -1);
}


.ck_lr {
	display: flex;
}
	.inner.ck_lr {
		flex-direction: column;
	}
	.ck_lr > * {
		flex-grow: 1;
	}
@media (min-width: 960px) {
	.inner.ck_lr {
		flex-direction: row;
	}
	.inner.ck_lr > *:nth-child(2) {
		flex: 0 1 640px;
	}
	.ck_lr > * {
		flex-basis: 50%;
	}
}
@media (min-width: 1280px) {
	.ck_lr > * {
		flex-basis: calc(100% - 640px);
	}
}
.ck_lr > .ck_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ck_fixed_img img {
	max-height: 80vh;
}
@media (min-width: 960px) {
	body > .ck_fixed {
		overflow-x: visible;
	}
		.ck_fixed_img img {
			position: sticky;
			top: 0;
			left: 0;
		}
}


.header > .inner,
.inner.ck_lr {
	max-width: 1920px;
}


body {
	padding-top: var(--header-offset);
	padding-right: var(--func-width,0px);
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 7;
	background-color: var(--bg-color);
	overflow: visible;
}
.header > .inner {
	display: flex;
}
	.site_title .logo {
		margin: 0;
		padding: var(--logo-padding);
	}
	.site_title .logo svg {
		height: var(--logo-height);
		overflow:visible;
	}
	#toggle_menu {
		position: fixed;
		right: 110vw;
		opacity: 0;
	}
	.global {
		position: absolute;
		top: var(--header-offset);
		z-index: -1;
		background-color: var(--bg-color);
		left: 0;
		right: var(--func-width,0px);
		place-content: center;
		display: none; /* 4safari */
		opacity: 0;
		pointer-events: none;
		transition:all .2s ease .05s;
		height: calc(100vh - var(--header-offset));
		height: calc(100dvh - var(--header-offset));
	}
	#toggle_menu:checked ~ .global {
		opacity: .8;
		pointer-events: all;
	}
		.global .menu {
			border-top: 1px solid;
		}
		.global .menu li {
			border-bottom: 1px solid;
			font-family: senobi-gothic,sans-serif;
			padding: calc(var(--inpad) / 2);
			font-size: 1.3em;
			letter-spacing: .3em;
		}
		.global .menu a {
			padding: calc(var(--inpad) / 2);
		}
	.func {
		margin-left: auto;
		margin-right: var(--logo-padding);
		display: flex;
		gap: .5em;
	}
		.func > * {
			width: var(--logo-height);
			display: flex;
			border-radius: 999px;
			aspect-ratio: 1/1;
			background-color: var(--key-color);
			justify-content: center;
			align-items: center;
			margin: auto;
			overflow: hidden;
		}
		.func svg {
			width: 45%;
			overflow:visible;
		}
		.func label {
			background-color: var(--bg-black-color);
		}
@media (min-width: 960px) {
	:root {
		--func-width: 50px;
		--logo-height: 60px;
	}
	.func {
		position: absolute;
		right: 0;
		height: 100vh;
		flex-direction: column;
		gap: 0;
		margin-right: 0;
	}
		.func > * {
			width: var(--func-width);
			border-radius: 0;
		}
		.func label {
			flex-grow: 1;
		}
}


.ck_contents {
	padding-inline: var(--wrap-inpad);
	position: relative;
}
	.ck_erase_inpad {
		margin-inline: calc(var(--wrap-inpad) * -1);
	}
	.ck_half_inpad {
		margin-inline: calc(var(--wrap-inpad) / -2);
	}
.ck_contents[data-label]::before {
	content: attr(data-label);
	font-weight: 600;
	writing-mode: vertical-rl;
	line-height: 1;
	position: absolute;
	right: -.2em;
	top: 1rem;
	font-size: 3rem;
	color: var(--bg-gray-color);
}
.bg_gray .ck_contents[data-label]::before {
	color: var(--bg-color);
}
	.home #about svg{
		position: relative;
		overflow:visible;
	}
.txt_center,
.ck_label:where(h2,h3,h4,h5,h6) {
	text-align: center;
}
	.ck_label:where(h2,h3,h4,h5,h6)>span {
		display: flex;
		place-content: center;
		margin-block: calc(var(--inpad) / 2);
		font-size: .6em;
		color: var(--key-color);
	}
:not(li,a)>.ck_label:where(h2,h3,h4,h5,h6) {
	margin-inline: calc(var(--wrap-inpad) / -2);
}
.ck_articles + .ck_label:where(h2,h3,h4,h5,h6) {
	margin-top: calc(var(--inpad) * 8);
}

.footer {
	color: var(--bg-color);
	background-color: var(--bg-black-color);
	text-align: center;
	font-weight: 400;
	padding-block: 4rem 2rem;
}
.footer address {
	margin-top: 5rem;
}
.footer .svg_logo_text {
	width: 95%;
	max-width: 500px;
	padding-inline: 1rem;
	overflow:visible;
}
.footer .svg_logo_text path {
	fill: #fff;
}
.footer .menu {
	display: flex;
	width: fit-content;
	margin: 2rem auto 6rem;
	padding-top: 2rem;
	border-top: 1px solid;
	gap: 1rem;
	flex-wrap: wrap;
}
.footer .menu li {
	width: calc(50% - .5rem);
}
.footer .menu a {
	padding: .5rem;
}
address span {
	display: inline-block;
}
.copyright {
	font-size: 11px;
}


.ck_erase_inpad > .ck_table {
	text-align: center;
	margin-inline: auto;
	width: clamp(310px,93%,500px);
}
.ck_table :is(th,td) {
	padding: .2em .5em;
	line-height: 1.1;
}
.ck_table tbody th {
	padding-inline: .1rem;
}
.ck_table tbody td {
	padding-block: 1em;
}


/* .ck_info >> */

.ck_info {
	padding: var(--inpad);
	margin-top: calc(var(--inpad) * (3 + 1));
	position: relative;
}
	:is(.ck_img, header) + .ck_info {
		margin-top: 0;
	}
	.ck_info + :is(.ck_info, .ck_body) {
		margin-top: calc(var(--inpad) * 3);
	}
	.ck_info > .list {
		display: flex;
	}
	.ck_info > .list::before {
		font-family: senobi-gothic,sans-serif;
		position: absolute;
		left: var(--inpad);
		background-color: var(--text-selection-color);
		color: var(--bg-color);
		display: grid;
		place-content: center;
		font-size: .9rem;
		bottom: 100%;
		padding-inline: calc(var(--inpad) / 2);
	}

.ck_info > .list.ck_images {
	gap: var(--inpad);
}
	.ck_images::before {
		content: "関連画像";
	}
.ck_info > .list.ck_links {
	flex-direction: column;
	font-size: .8em;
}
	.ck_links::before {
		content: "関連リンク";
	}
	.ck_links > li:nth-child(2n+1) {
		background-color: #fffe;
	}
	.ck_links > li:nth-child(2n) {
		background-color: #fffa;
	}

	.ck_pdf::after,
	.ck_links .ck_link::after {
		content: "";
		background-image: url(/assets/img/common/arrow_b.svg);
		background-repeat: no-repeat;
		height: 3em;
		display: block;
		background-size: auto 1em;
		background-position: center;
		aspect-ratio: 1/2;
		position: absolute;
		right: calc(var(--inpad) / 2);
		top: 50%;
		translate: 0 -50%;
	}
.ck_links .ck_link {
	padding: calc(var(--inpad) / 2);
	place-items: center flex-start;
	min-height: 3em;
}
.ck_pdf,
.ck_links .ck_link {
	position: relative;
	display: flex;
	padding-right: 3em;
}

/* << .ck_info */


.ck_3_2_3 {
	flex-wrap: wrap;
	display: flex;
	gap: var(--gap);
	--gap: 2rem;
	margin: var(--gap) auto;
}
.ck_3_2_3 li {
	width: calc((100% - (var(--gap) * 2)) / 3);
	text-align: center;
	aspect-ratio: 1/1;
}
	.ck_3_2_3 li:nth-child(5n-1) {
		margin-left: calc((100% - (var(--gap) * 2)) / 6 + (var(--gap) / 2));
	}
.ck_3_2_3 li > * {
	position: relative;
	background-color: var(--bg-gray-color);
	border-radius: 999px;
	width: 100%;
	height: 100%;
	display: grid;
	place-content: center;
}
	.ck_3_2_3 a::after {
		content: "";
		background-color: var(--key-color);
		background-image: url(/assets/img/common/arrow_w.svg);
		background-repeat: no-repeat;
		display: block;
		background-size: auto 1em;
		background-position: center;
		aspect-ratio: 1/1;
		position: absolute;
		translate: -50% -50%;
		border-radius: 999px;
		transition: var(--transition);
		top: 85%;
		left: 85%;
		width: clamp(1.4rem, 30%, 3.2em);
	}
	.ck_3_2_3 a:hover::after {
		scale: 1.3;
	}
@media (max-width: 360px) {
	.ck_3_2_3 li {
		width: calc((100% - var(--gap)) / 2);
	}
	.ck_3_2_3 li:nth-child(5n-1) {
		margin-left: auto;
	}
}


.ck_articles > * {
	margin-block: calc(var(--inpad) * 2) calc(var(--inpad) * 3);
}
.ck_articles > * + *:not(section) {
	margin-top: calc(var(--inpad) * 8);
}
.ck_articles > section {
	margin-block: calc(var(--inpad) * 2) calc(var(--inpad) * 4);
}
.ck_news header {
	border-top: 1px solid;
	margin-bottom: calc(var(--inpad) * 2);
}
	.ck_news header ~ :is(.ck_img,.ck_body>img) {
		margin-block: calc(var(--inpad) * 2);
		text-align: center;
	}
	.ck_news img {
		border: 1px solid #f0f0f0;
		max-width: min(100%,500px);
	}
.ck_news header,
.ck_list li {
	position: relative;
	border-bottom: 1px solid;
	padding: calc(var(--inpad) / 2) var(--inpad) calc(var(--inpad) / 2) calc(var(--inpad) * 2);
}
	.ck_news .ck_important header::before,
	.ck_list li.ck_important::before {
		content: "重要";
		font-family: senobi-gothic,sans-serif;
		position: absolute;
		left: 0;
		top: calc(var(--inpad) / 2);
		bottom: calc(var(--inpad) / 2);
		background-color: var(--key-color);
		color: var(--bg-color);
		display: grid;
		place-content: center;
		font-size: .9em;
		width: 1em; /* for safari */
		/* for safari
		writing-mode: vertical-rl;
		line-height: 1;
		letter-spacing: .5em;
		text-indent: .5em;
		*/
	}
	.ck_news .ck_important.ck_important_info header::before,
	.ck_list li.ck_important.ck_important_info::before {
		content: "注意";
		background-color: var(--act-color);
		opacity: .85;
	}
	.ck_news header > *,
	.ck_list a {
		position: relative;
		min-height: 3.8rem;
		flex-direction: column;
		display: flex;
		padding-right: 1.8em;
	}
		.ck_news header > a::after,
		.ck_list a::after {
			content: "";
			background-image: url(/assets/img/common/arrow_b.svg);
			background-repeat: no-repeat;
			height: 3em;
			display: block;
			background-size: auto 2em;
			background-position: center;
			aspect-ratio: 1/2;
			position: absolute;
			right: calc(var(--inpad) / 2);
			top: 50%;
			translate: 0 -50%;
		}
		.ck_news header > a:hover,
		.ck_list a:hover {
			opacity: .7;
			scale: 1.02;
		}
	.ck_news .ck_label,
	.ck_list .ck_label {
		margin-bottom: calc(var(--inpad) / 2);
	}
	.ck_articles.ck_news .ck_label {
		font-size: 1.313rem;
		line-height: 1.2;
		min-height: 1.9em;
		display: flex;
		align-items: center;
	}
	.ck_news .ck_update,
	.ck_list .ck_update {
		font-size: .9em;
		text-indent: -.2em;
	}
	.ck_news time,
	.ck_list time {
		font-family: new-frank,sans-serif;
		font-size: .9em;
		font-weight: 400;
		margin-top: auto;
	}
@media (max-width: 480px) {
	.ck_news header {
		margin-inline: calc(min(calc(var(--inpad) * 2),4.5vw) * -1);
	}
}


.ck_nav {
	margin-top: calc(var(--inpad) * 8);
	font-family: new-frank,sans-serif;
	font-size: .9em;
	font-weight: 400;
}
.ck_nav > ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--inpad);
}
	.ck_nav li > a:hover {
		color: var(--bg-color);
		background-color: var(--key-color);
	}
	.ck_nav li > * {
		display: flex;
		place-content: center;
		place-items: center;
		padding: .8em .5em .5em;
		line-height: 1;
		width: 2.5em;
		border-radius: .4em;
		transition: var(--transition);
	}
	.ck_nav li > a {
		background-color: var(--bg-gray-color);
	}
	.ck_nav li > .current {
		color: var(--bg-color);
		background-color: var(--key-color);
		border-radius: 9999px;
	}
	.ck_nav li > .current:hover {
		opacity: .6;
	}
	.ck_nav li > .dots {
		padding-inline: 0;
		width: auto;
	}


#is404 .ck_body {
	min-height: 40vh;
}


#service .ck_3_2_3 {
	max-width: 480px;
}


#appointment .ck_contents {
	flex-direction: column;
	display: flex;
}
#appointment .nav.bg_dots {
	padding-block: 2rem .5rem;
	margin-top: auto;
	margin-block: 2rem 3rem;
}
	#appointment .nav.bg_dots a {
		height: 100%;
		display: flex;
		flex-direction: column;
		position: relative;
		padding-inline: var(--inpad);
	}
		#appointment .nav.bg_dots li:first-child a::after {
			content: "";
			position: absolute;
			right: 0;
			top: 0;
			bottom: calc(var(--inpad) * 2);
			width: 1px;
			background-color: var(--text-color);
		}
	#appointment .nav.bg_dots h3 {
		margin-top: 0;
	}
	#appointment .nav.bg_dots .ck_img {
		padding-inline: var(--inpad);
	}
		#appointment .nav.bg_dots img {
			margin: var(--inpad) auto;
		}
	#appointment .nav.bg_dots .bt_wraper {
		margin-top: auto;
	}
		#appointment .nav.bg_dots .bt {
			padding-inline: 2rem;
		}
		#appointment .nav.bg_dots .bt::after {
			right: 1em;
		}


.map {
	height: clamp(300px,60vh,600px);
}
	#infoWindow {
		text-align: center;
		padding-block: var(--inpad);
	}
	#infoWindow h4 {
		margin-block: 0;
	}
	#infoWindow .bt.bt_line {
		margin-bottom: 0;
	}


#faq .ck_label + .ck_articles > :first-child {
	margin-top: calc(var(--inpad) * 6);
}
#faq h3 {
	font-family: shippori-mincho,serif;
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid;
	padding-bottom: var(--inpad);
}
#faq :is(h3,.ck_body) {
	position: relative;
	padding-left: calc(var(--inpad) * 3);
}
	#faq :is(h3,.ck_body)::before {
		content: "Q.";
		position: absolute;
		left: 0;
		top: -.3rem;
		font-size: 2rem;
	}
	#faq .ck_body::before {
		content: "A.";
	}
@media (max-width: 480px) {
	#faq .ck_articles {
		margin-inline: calc(var(--wrap-inpad) / -3);
	}
	#faq :is(h3,.ck_body) {
		padding-left: calc(var(--inpad) * 2.8);
	}
}





/*  */
.pre_site .func label,
.pre_site #about .bt_wraper,
.pre_site #service .bt_wraper,
.pre_site #access .ck_contents .bt_wraper,
.pre_site .pre_site_off {
	display: none;
}
@media (min-width: 960px) {
	.pre_site .func label {
		display: flex;
	}
}
.pre_site .ck_3_2_3 {
	--gap: 1.5rem;
}
.pre_site .func label,
.pre_site .ck_3_2_3 li > a {
	pointer-events: none;
}
.pre_site .ck_3_2_3 a::after {
	content: none;
}


/*  */
