@charset "utf-8";



/* --------------------------------------------------------------------------------
reset
-------------------------------------------------------------------------------- */

*, *::before, *::after {
	box-sizing: border-box;
	font: inherit;
	border: none;
	margin: 0;
	padding: 0;
}
html {
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color: transparent;
}
a {
	text-decoration: none;
	color: inherit;
}
article, aside, footer, header, iframe, img, main, nav, section, video {
	display: block;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
}
img {
	max-width: 100%;
	height: auto;
}



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

html {
	font-size: 16px;
}
body {
	text-align: justify;
	overflow-wrap: break-word;
	font-family: "CezanneProN-M", "Yu Gothic", YuGothic, sans-serif;
	font-size: 0.9375rem;
	font-feature-settings: "palt";
	line-height: 1.875rem;
	letter-spacing: 0.05em;
	color: #323232;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a.underline {
	text-decoration: underline;
}
a.color {
	transition: 0.25s color ease;
}
a.color:hover {
	color: #50b4d2;
}
a.opacity {
	transition: 0.25s opacity ease;
}
a.opacity:hover {
	opacity: 0.625;
}
h1 {
	font-size: 1.5rem;
}
h2 {
	font-size: 1.375rem;
}
h3 {
	font-size: 1.25rem;
}
h4,
h5,
h6 {
	font-size: 1.0625rem;
}
p.indent {
	text-indent: -1em;
	padding-left: 1em;
}
p:empty:before {
	content: none;
}
span.required {
	color: #50b4d2;
}



/* --------------------------------------------------------------------------------
form
-------------------------------------------------------------------------------- */

input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=button],
input[type=submit],
button,
textarea,
select {
	display: inline-block;
	max-width: 100%;
	vertical-align: top;
	font-family: "Yu Gothic", YuGothic, sans-serif;
	font-size: 1rem;
	outline: none;
	border: none;
	margin: 0px;
	border-radius: 7.5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
textarea,
select {
	color: #323232;
	background-color: #ffffff;
	box-shadow: 0px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
select {
	height: 50px;
	line-height: 50px;
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel] {
	padding: 0px 20px;
}
input[type=button],
input[type=submit],
button {
	height: 45px;
	text-align: center;
	color: #323232;
	border: 1px solid #323232;
	cursor: pointer;
	padding: 0px 20px;
	background-color: transparent;
	border-radius: 22.5px;
	transition: 0.25s color ease, 0.25s border-color ease, 0.25s background-color ease;
}
input[type=button]:hover,
input[type=submit]:hover,
button:hover {
	color: #50b4d2;
	border-color: #50b4d2;
	background-color: #ffffff;
}
input[type=radio],
input[type=checkbox] {
	position: relative;
	vertical-align: middle;
	width: 20px;
	margin-right: 5px;
	transform: translate(-9999px, -4px);
}
input[type=radio]::before,
input[type=checkbox]::before,
input[type=radio]::after,
input[type=checkbox]::after {
	position: absolute;
	left: 9999px;
	top: 0px;
	cursor: pointer;
	content: "";
}
input[type=radio]::before,
input[type=checkbox]::before,
label.alternate input[type=radio] + span,
label.alternate input[type=checkbox] + span {
	width: 20px;
	height: 20px;
	border: 1px solid #323232;
	background-color: #ffffff;
}
input[type=radio]::after,
input[type=checkbox]::after,
label.alternate input[type=radio] + span::before,
label.alternate input[type=checkbox] + span::before {
	opacity: 0;
	transition: 0.25s opacity ease;
}
input[type=radio]:checked::after,
input[type=checkbox]:checked::after,
label.alternate input[type=radio]:checked + span::before,
label.alternate input[type=checkbox]:checked + span::before {
	opacity: 1;
}
input[type=radio]::before,
input[type=radio]::after,
label.alternate input[type=radio] + span,
label.alternate input[type=radio] + span::before {
	border-radius: 50%;
}
input[type=radio]::after,
label.alternate input[type=radio] + span::before {
	width: 10px;
	height: 10px;
	background-color: #323232;
}
input[type=radio]::after {
	transform: translate(5px, 5px);
}
input[type=checkbox]::before,
label.alternate input[type=checkbox] + span {
	border-radius: 2.5px;
}
input[type=checkbox]::after,
label.alternate input[type=checkbox] + span::before {
	width: 8px;
	height: 13px;
	border-right: 3px solid #323232;
	border-bottom: 3px solid #323232;
}
input[type=checkbox]::after {
	transform: translate(6px, 1px) rotate(45deg);
}
@-moz-document url-prefix() {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
@supports (-ms-ime-align:auto) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
@media all and (-ms-high-contrast:none) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
label {
	vertical-align: middle;
}
label.alternate {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	margin-right: 5px;
}
label.alternate input[type=radio],
label.alternate input[type=checkbox] {
	display: none;
}
label.alternate input[type=radio] + span,
label.alternate input[type=checkbox] + span {
	display: block;
	position: relative;
	cursor: pointer;
	transform: translate(0px, -1px);
}
label.alternate input[type=radio] + span::before,
label.alternate input[type=checkbox] + span::before {
	display: block;
	position: absolute;
	content: "";
}
label.alternate input[type=radio] + span::before {
	transform: translate(4px, 4px);
}
label.alternate input[type=checkbox] + span::before {
	transform: translate(5px, 0px) rotate(45deg);
}
textarea {
	line-height: 1.5rem;
	padding: 20px;
}
select {
	padding: 0px 40px 0px 20px;
	background: transparent url(../images/arrow-select.svg) no-repeat right 10px center;
	background-size: auto 10px;
}
select::-ms-expand {
	display: none;
}
::-webkit-input-placeholder {
	color: #cccccc;
}
:-ms-input-placeholder {
	color: #cccccc;
}
::placeholder {
	color: #cccccc;
}
form#searchform label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}



/* --------------------------------------------------------------------------------
font
-------------------------------------------------------------------------------- */

@font-face {
	font-family: "Metropolis";
	font-weight: 300;
	font-style: italic;
	src: url("../fonts/Metropolis-ExtraLightItalic.woff2") format("woff2"), url("../fonts/Metropolis-ExtraLightItalic.woff") format("woff");
}
@font-face {
	font-family: "Metropolis";
	font-weight: 400;
	src: url("../fonts/Metropolis-Regular.woff2") format("woff2"), url("../fonts/Metropolis-Regular.woff") format("woff");
}
@font-face {
	font-family: "Metropolis";
	font-weight: 500;
	src: url("../fonts/Metropolis-Medium.woff2") format("woff2"), url("../fonts/Metropolis-Medium.woff") format("woff");
}



/* --------------------------------------------------------------------------------
icon
-------------------------------------------------------------------------------- */

@font-face {
	font-family: "icon";
	src: url("../fonts/icon.ttf") format("truetype"), url("../fonts/icon.woff") format("woff"), url("../fonts/icon.svg") format("svg");
	font-weight: normal;
	font-style: normal;
}
i.icon {
	font-family: "icon";
	line-height: 1em;
}
i.icon-tel:before {
	content: "\e900";
}
i.icon-mail:before {
	content: "\e901";
}
i.icon-calendar:before {
	content: "\e902";
}
i.icon-consultation:before {
	content: "\e903";
}
i.icon-instagram:before {
	content: "\e904";
}
i.icon-line:before {
	content: "\e905";
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

br.small {
	display: none;
}
br.large {
	display: inline;
}
hr {
	height: 0px;
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #dcdcdc;
	margin: 20px 0px;
}
mark {
	padding: 0px 5px;
	background-color: #f5f5f5;
	border-radius: 2.5px;
}
div.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
}
div.video-wrapper iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
iframe.wp-embedded-content {
	display: block;
	width: 100%;
}
span.no-large,
i.no-large {
	display: none;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page {
	position: relative;
	overflow: hidden;
	padding-top: 80px;
}
div#page div#trigger {
	position: absolute;
	height: 100%;
	left: 0px;
	top: 37.5vh;
	pointer-events: none;
}
div#page nav#navi-fixed {
	position: fixed;
	width: 100%;
	left: 0px;
	bottom: 0px;
	z-index: 10;
	pointer-events: none;
}
div#page nav#navi-fixed ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-right: -5px;
}
div#page nav#navi-fixed ul li {
	width: 200px;
	font-size: 1rem;
	pointer-events: auto;
	margin-right: 5px;
}
div#page nav#navi-fixed ul li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 50px;
	color: #ffffff;
	background-color: #50b4d2;
	border-radius: 7.5px 7.5px 0px 0px;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.075);
	transition: 0.25s color ease, 0.25s background-color ease;
}
div#page nav#navi-fixed ul li a:hover {
	color: #50b4d2;
	background-color: #ffffff;
}
div#page nav#navi-fixed ul li:where(.line) a {
	background-color: #06c755;
}
div#page nav#navi-fixed ul li:where(.line) a:hover {
	color: #06c755;
}
div#page nav#navi-fixed ul li i.icon {
	font-size: 1.5rem;
	margin-right: 5px;
}
div#page div.time-day {
	position: relative;
	padding: 25px;
	background-color: #ffffff;
	border-radius: 15px;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.075);
}
div#page div.time-day p.label {
	display: none;
}
div#page div.time-day table {
	width: 430px;
}
div#page div.time-day table th,
div#page div.time-day table td {
	text-align: center;
	vertical-align: middle;
	font-size: 0.9375rem;
	letter-spacing: 0em;
}
div#page div.time-day table thead th {
	padding-bottom: 3px;
}
div#page div.time-day table thead th:first-child,
div#page div.time-day table tbody td:first-child {
	text-align: left;
	padding-left: 15px;
}
div#page div.time-day table thead th:first-child {
	width: 30%;
}
div#page div.time-day table thead th:not(:first-child) {
	width: 10%;
}
div#page div.time-day table tbody td {
	border-top: 1px solid #dcdcdc;
	padding-top: 10px;
}
div#page div.time-day table tbody td:not(:first-child) {
	font-size: 1.0625rem;
	color: #50b4d2;
}
div#page div.time-day table tbody tr:not(:last-child) td {
	padding-bottom: 10px;
}
div#page > div.time-day {
	position: fixed;
	right: 0px;
	bottom: 70px;
	z-index: 10;
	border-radius: 15px 0px 0px 15px;
	box-shadow: 0px 2.5px 5px rgba(0, 0, 0, 0.075);
	transition: 0.375s transform ease;
	transform: translateX(calc(100% - 50px));
}
div#page > div.time-day:hover {
	transform: translateX(0%);
}
div#page > div.time-day p.label {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 50px;
	height: 100%;
	left: 0px;
	top: 0px;
	writing-mode: vertical-rl;
	color: #50b4d2;
	pointer-events: none;
	transition: 0.375s opacity ease;
}
div#page > div.time-day:hover p.label {
	opacity: 0;
}
div#page > div.time-day table {
	opacity: 0;
	transition: 0.25s opacity ease;
}
div#page > div.time-day:hover table {
	opacity: 1;
}
div#page p.image img,
div#page p.diagram img {
	width: 100%;
	height: auto;
}
div#page p.image img.small,
div#page p.diagram img.small {
	display: none;
}
div#page p.image-zoom {
	overflow: hidden;
}
div#page p.image-zoom img {
	transition: 0.325s transform ease;
}
div#page p.image-zoom a:hover img {
	transform: scale(1.0625);
}
div#page p.button-default {
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
}
div#page p.button-center {
	justify-content: center;
}
div#page p.button-right {
	justify-content: flex-end;
}
div#page p.button-default a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 200px;
	height: 45px;
	border: 1px solid #323232;
	border-radius: 22.5px;
	transition: 0.25s color ease, 0.25s border-color ease, 0.25s background-color ease;
}
div#page p.button-default a:hover {
	color: #50b4d2;
	border-color: #50b4d2;
	background-color: #ffffff;
}
div#page p.button-wide a {
	width: 380px;
}
div#page p.button-thin a {
	height: 40px;
	border-radius: 20px;
}
div#page p.button-alternate a {
	color: #ffffff;
	border-color: #50b4d2;
	background-color: #50b4d2;
}
div#page p.button-alternate a:hover {
	color: #50b4d2;
	background-color: #ffffff;
}
div#page p.button-arrow a {
	padding-right: 20px;
}
div#page p.button-arrow a::before,
div#page p.button-arrow a::after {
	position: absolute;
	height: 0px;
	right: 15px;
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #323232;
	content: "";
	transition: 0.25s border-color ease, 0.25s transform ease;
}
div#page p.button-arrow a:hover::before,
div#page p.button-arrow a:hover::after {
	border-color: #50b4d2;
}
div#page p.button-arrow a::before {
	width: 30px;
}
div#page p.button-arrow a:hover::before {
	transform: translateX(5px);
}
div#page p.button-arrow a::after {
	transform-origin: right top;
	width: 6px;
	transform: rotate(45deg);
}
div#page p.button-arrow a:hover::after {
	transform: translateX(5px) rotate(45deg);
}
div#page p.button-arrow.button-alternate a::before,
div#page p.button-arrow.button-alternate a::after {
	border-color: #ffffff;
}
div#page p.button-arrow.button-alternate a:hover::before,
div#page p.button-arrow.button-alternate a:hover::after {
	border-color: #50b4d2;
}
div#page p.button-default i.icon {
	font-size: 1.25rem;
}
div#page p.button-default i.icon:first-child {
	margin-right: 5px;
}
div#page div.button-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div#page div.button-wrapper-left {
	justify-content: flex-start;
}
div#page div.button-wrapper p.button-default:not(:last-child) {
	margin-right: 10px;
}
div#page *.scroll.fade {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
div#page *.scroll.fade.active {
	opacity: 1;
}

/* home
-------------------------------------------------------------------------------- */

body.home div#page > div.time-day {
	transform: translateX(0%);
}
body.home div#page.scroll > div.time-day {
	transform: translateX(calc(100% - 50px));
}
body.home div#page.scroll > div.time-day:hover {
	transform: translateX(0%);
}
body.home div#page > div.time-day p.label,
body.home div#page.scroll > div.time-day:hover p.label {
	opacity: 0;
}
body.home div#page.scroll > div.time-day p.label {
	opacity: 1;
}
body.home div#page > div.time-day table,
body.home div#page.scroll > div.time-day:hover table {
	opacity: 1;
}
body.home div#page.scroll > div.time-day table {
	opacity: 0;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

header#header {
	position: fixed;
	width: 100%;
	height: 80px;
	left: 0px;
	top: 0px;
	z-index: 100;
	background-color: #ffffff;
}
body.admin-bar header#header {
	top: 32px;
}
header#header::before {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	top: 80px;
	border-bottom: 1px solid #f5f5f5;
	pointer-events: none;
	content: "";
}
header#header *#logo {
	position: absolute;
	left: 20px;
	top: 14px;
	z-index: 20;
}
header#header *#logo a {
	display: block;
	height: 52px;
}
header#header *#logo img {
	width: auto;
	height: 100%;
}
header#header div#menu nav#navi {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 10;
	padding-right: 285px;
}
@media (min-width:1024px) and (max-width:1360px) {
header#header div#menu nav#navi {
	padding-right: 105px;
}
}
header#header div#menu nav#navi > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}
header#header div#menu nav#navi > ul > li {
	font-size: 1.0625rem;
}
header#header div#menu nav#navi > ul > li.contact {
	display: none;
}
header#header div#menu nav#navi > ul > li > a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	height: 80px;
	padding: 0px 15px;
	transition: 0.25s color ease;
}
header#header div#menu nav#navi > ul > li:hover > a,
body.news header#header div#menu nav#navi > ul > li.news > a,
body.about header#header div#menu nav#navi > ul > li.about > a,
body.treatment-01 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-02 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-03 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-04 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-05 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-06 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-07 header#header div#menu nav#navi > ul > li.treatment > a,
body.treatment-08 header#header div#menu nav#navi > ul > li.treatment > a,
body.facility header#header div#menu nav#navi > ul > li.facility > a,
body.recruit header#header div#menu nav#navi > ul > li.recruit > a {
	color: #50b4d2;
}
header#header div#menu nav#navi > ul > li.collapse > a::before,
header#header div#menu nav#navi > ul > li a::after {
	position: absolute;
	content: "";
}
header#header div#menu nav#navi > ul > li.collapse > a::before {
	width: 6px;
	height: 6px;
	left: calc(50% - 3px);
	bottom: 20px;
	border-right: 1px solid #50b4d2;
	border-top: 1px solid #50b4d2;
	transform: rotate(135deg);
}
header#header div#menu nav#navi > ul > li > a::after {
	width: 0px;
	height: 20px;
	right: 0px;
	top: calc(50% - 10px);
	border-right: 1px solid #dcdcdc;
}
header#header div#menu nav#navi > ul > li.collapse div.nest,
header#header div#menu nav#navi > ul > li.collapse div.nest div.inner-nest {
	position: absolute;
	width: 100%;
	left: 0px;
}
header#header div#menu nav#navi > ul > li.collapse div.nest {
	overflow: hidden;
	pointer-events: none;
}
header#header div#menu nav#navi > ul > li.treatment.collapse div.nest {
	height: 410px;
}
header#header div#menu nav#navi > ul > li.recruit.collapse div.nest {
	height: 235px;
}
header#header div#menu nav#navi > ul > li.collapse div.nest div.inner-nest {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	top: 0px;
	height: calc(100% - 10px);
	overflow: hidden;
	pointer-events: auto;
	background-color: #ffffff;
	box-shadow: 0px 2.5px 5px rgba(0, 0, 0, 0);
	transition: 0.25s box-shadow ease, 0.375s transform ease;
	transform: translateY(-100%);
}
header#header div#menu nav#navi > ul > li.collapse:hover div.nest div.inner-nest {
	box-shadow: 0px 2.5px 5px rgba(0, 0, 0, 0.0375);
	transform: translateY(0%);
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: auto;
}
header#header div#menu nav#navi > ul > li.treatment.collapse div.nest ul {
	width: 920px;
}
header#header div#menu nav#navi > ul > li.recruit.collapse div.nest ul {
	width: 1150px;
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.0625rem;
	margin: 0px 15px 30px 15px;
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li a {
	display: block;
	position: relative;
	overflow: hidden;
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li img {
	width: auto;
	height: 145px;
	transition: 0.375s transform ease;
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li a:hover img {
	transform: scale(1.075);
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: 40px;
	left: 0px;
	bottom: 0px;
	z-index: 1;
	padding: 0px 20px;
	background-color: #ffffff;
	border-top-right-radius: 10px;
	transition: 0.25s color ease;
}
header#header div#menu nav#navi > ul > li.collapse div.nest ul li a:hover span,
body.treatment-01 header#header div#menu nav#navi > ul > li.collapse div.nest ul li.treatment-01 a span,
body.treatment-02 header#header div#menu nav#navi > ul > li.collapse div.nest ul li.treatment-02 a span,
body.treatment-03 header#header div#menu nav#navi > ul > li.collapse div.nest ul li.treatment-03 a span,
body.treatment-04 header#header div#menu nav#navi > ul > li.collapse div.nest ul li.treatment-04 a span,
body.treatment-05 header#header div#menu nav#navi > ul > li.collapse div.nest ul li.treatment-05 a span {
	color: #50b4d2;
}
header#header div#menu p.tel {
	position: absolute;
	right: 70px;
	top: 0px;
	z-index: 20;
	letter-spacing: 0.1em;
	color: #50b4d2;
}
header#header div#menu p.tel a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 80px;
}
header#header div#menu p.tel i.icon {
	display: inline-block;
	font-size: 1.125rem;
}
header#header div#menu p.tel span {
	font-family: "Metropolis", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
}
@media (min-width:1024px) and (max-width:1360px) {
header#header div#menu p.tel span {
	display: none;
}
}
header#header div#menu p.instagram {
	position: absolute;
	height: 20px;
	top: 30px;
	right: 20px;
	z-index: 20;
	text-align: right;
	font-size: 1.25rem;
	line-height: 1.25rem;
}
header#header div#menu p.instagram::before {
	position: absolute;
	width: 0px;
	height: 20px;
	left: -16px;
	top: calc(50% - 10px);
	border-left: 1px solid #dcdcdc;
	content: "";
}
header#header div#menu p.button-instagram {
	display: none;
}
header#header div#menu div.time-day {
	display: none;
}



/* --------------------------------------------------------------------------------
cover, title
-------------------------------------------------------------------------------- */

div#cover,
div#title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
}
div#cover {
	height: calc(100vh - 80px);
}
div#cover p.image,
div#cover p.scroll,
div#title p.image {
	position: absolute;
	right: 0px;
}
div#cover p.image,
div#title p.image {
	height: 100%;
	top: 0px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: 1s opacity 0.5s ease-in-out;
}
div#cover p.image {
	width: 100%;
	background-image: url(../images/cover-image.jpg);
}
div.active div#cover p.image,
div.active div#title p.image {
	opacity: 1;
}
div#cover div.text,
div#cover p.scroll,
div#title div.text {
	z-index: 1;
}
div#cover div.text,
div#title div.text {
	opacity: 0;
	transition: 1s opacity 1s ease-in-out;
}
div.active div#cover div.text,
div.active div#title div.text {
	opacity: 1;
}
div#cover div.text {
	position: absolute;
	width: 37.5%;
	right: 12.5%;
	top: 12.5%;
	text-align: center;
	color: #ffffff;
}
div#cover div.text h2 {
	position: relative;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.625rem;
	line-height: 3rem;
	letter-spacing: 0.15em;
}
div#cover p.scroll {
	width: 20px;
	height: 100px;
	left: 40px;
	bottom: 20px;
	font-family: "Metropolis", sans-serif;
	font-size: 0.8125rem;
	line-height: 20px;
}
div#cover p.scroll a {
	display: block;
	position: relative;
	height: 100%;
	transition: 0.25s color ease;
}
div#cover p.scroll a:hover {
	color: #50b4d2;
}
div#cover p.scroll a::before,
div#cover p.scroll a::after {
	position: absolute;
	width: 0px;
	bottom: 0px;
	left: calc(50% - 0.5px);
	border-right: 1px solid #323232;
	content: "";
	transition: 0.25s border-color ease, 0.25s transform ease;
}
div#cover p.scroll a::before {
	height: 40px;
}
div#cover p.scroll a::after {
	height: 6px;
	transform-origin: center bottom;
	transform: rotate(45deg);
}
div#cover p.scroll a:hover::before,
div#cover p.scroll a:hover::after {
	border-color: #50b4d2;
}
div#cover p.scroll a:hover::before {
	transform: translateY(5px);
}
div#cover p.scroll a:hover::after {
	transform: translateY(5px) rotate(45deg);
}
div#cover p.scroll span {
	display: block;
	position: absolute;
	left: 20px;
	top: 0px;
	transform-origin: left top;
	transform: rotate(90deg);
}
div#title {
	height: 360px;
}
div#title p.image {
	width: calc(100% - 320px);
}
body.news div#title p.image {
	background-image: url(../images/title-image-news.jpg);
}
body.about div#title p.image {
	background-image: url(../images/title-image-about.jpg);
}
body.treatment-01 div#title p.image,
body.treatment-02 div#title p.image,
body.treatment-03 div#title p.image,
body.treatment-04 div#title p.image,
body.treatment-05 div#title p.image,
body.treatment-06 div#title p.image,
body.treatment-07 div#title p.image,
body.treatment-08 div#title p.image {
	background-image: url(../images/title-image-treatment.jpg);
}
body.facility div#title p.image {
	background-image: url(../images/title-image-facility.jpg);
}
body.recruit div#title p.image {
	background-image: url(../images/title-image-recruit.jpg);
}
body.contact div#title p.image {
	background-image: url(../images/title-image-contact.jpg);
}
body.privacy-policy div#title p.image {
	background-image: url(../images/title-image-privacy-policy.jpg);
}
body.law div#title p.image {
	background-image: url(../images/title-image-law.jpg);
}
div#title div.text {
	padding-left: 180px;
}
div#title div.text p.sub {
	font-family: "Metropolis", sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #50b4d2;
}
div#title div.text h1 {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2.375rem;
	line-height: 3rem;
	letter-spacing: 0.15em;
	transform: translateX(-5px);
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main {
	margin-bottom: 80px;
}
main section,
main section div.inner-section,
main section header {
	position: relative;
}
main section div.inner-section {
	width: 960px;
	margin: auto;
	padding: 120px 0px;
}
main section div.block,
main section div.block div.inner-block {
	position: relative;
}
main section div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section div.block div.inner-block {
	z-index: 1;
}
main section div.block-background {
	padding: 60px 0px 240px 0px;
}
main section div.block-background div.background {
	position: absolute;
	width: 100vw;
	height: calc(100% - 240px);
	left: calc(50% - 50vw);
	top: 240px;
	background-color: #f4fbfc;
}
main section div.block-background div.background::before,
main section div.block-background div.background::after {
	position: absolute;
	width: 100%;
	height: 240px;
	left: 0px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	content: "";
}
main section div.block-background div.background::before {
	top: -239px;
	background-image: url(../images/background-general-01.svg);
}
main section div.block-background div.background::after {
	bottom: -1px;
	background-image: url(../images/background-general-02.svg);
}
main h2.headline {
	position: relative;
	border-bottom: 2px solid #f5f5f5;
	margin-bottom: 80px;
	padding-bottom: 20px;
}
main h2.headline span {
	display: block;
	position: relative;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.875rem;
	line-height: 2.75rem;
	letter-spacing: 0.05em;
	padding: 10px 0px 15px 40px;
}
main h2.headline span::before {
	position: absolute;
	width: 20px;
	height: calc(100% - 10px);
	left: 0px;
	top: 5px;
	background-color: #7cc7dd;
	content: "";
	border-radius: 5px;
}
main div.header p.sub {
	font-family: "Metropolis", sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #50b4d2;
}
main div.header h2 {
	text-indent: 0.1em;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2.375rem;
	line-height: 3rem;
	letter-spacing: 0.1em;
	transform: translateX(-5px);
}
main div.description p.row,
main div.description ul.row li {
	font-size: 1.0625rem;
	line-height: 2.125rem;
}
main div.description p.row:not(:last-child),
main div.description ul.row:not(:last-child) {
	margin-bottom: 20px;
}
main ul.bullet li {
	position: relative;
	padding-left: 20px;
}
main ul.bullet li::before {
	position: absolute;
	width: 13px;
	height: 13px;
	left: 1px;
	top: 9px;
	border: 1px solid #323232;
	content: "";
	border-radius: 50%;
}
main div.description ul.bullet li {
	padding-left: 25px;
}
main div.description ul.bullet li::before {
	width: 15px;
	height: 15px;
	left: 2px;
	top: 10px;
}
main div.summary {
	padding-left: 40px;
}
main div.summary:not(:last-child) {
	margin-bottom: 100px;
}
main div.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main div.column:not(:last-child) {
	margin-bottom: 120px;
}
main div.column-narrow {
	padding: 0px 60px;
}
main div.column div.left,
main div.column div.right {
	position: relative;
	width: calc(50% - 40px);
}
main div.column div.left div.pin {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 0px;
}
main div.block-message div.column div.right,
main div.block-summary div.column div.right {
	padding-top: 100px;
}
main div.block-message div.column div.right div.header,
main div.block-summary div.column div.right div.header {
	margin-bottom: 40px;
}
main div.block-message div.column div.right div.description {
	margin-right: -40px;
}
main div.block-summary div.column div.right div.detail {
	padding-top: 40px;
}
main div.block-summary div.column div.right div.detail p.label {
	font-size: 0.9375rem;
	margin-bottom: 20px;
}
main div.block-summary div.column div.right div.detail ul {
	display: flex;
	flex-wrap: wrap;
}
main div.block-summary div.column div.right div.detail ul li {
	text-align: center;
}
main div.block-summary div.column div.right div.detail ul li img {
	width: 46px;
	height: auto;
	margin-bottom: 5px;
}
main div.block-summary div.column div.right div.detail ul li:not(:last-child) {
	margin-right: 40px;
}
main div.segment {
	padding: 80px 100px;
	background-color: #f4fbfc;
}
main div.segment:not(:last-child) {
	margin-bottom: 60px;
}
main div.segment h3 {
	text-align: center;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin-bottom: 60px;
}
main div.segment div.frame {
	padding: 40px;
	background-color: #ffffff;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main div.segment div.frame-narrow {
	padding: 40px 80px;
}
main div.segment div.frame-extra-narrow {
	padding: 40px 120px;
}
main div.banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main div.banner p.row {
	width: 200px;
}
main div.banner p.row:not(:last-child) {
	margin-right: 40px;
}
main p.arrow,
main p.line {
	position: relative;
	width: 30px;
	height: 30px;
	margin: 20px auto;
}
main p.arrow::before,
main p.arrow::after,
main p.line::before {
	position: absolute;
	border-right: 2px solid #50b4d2;
	content: "";
}
main p.arrow::before,
main p.line::before {
	width: 0px;
	height: calc(100% - 3px);
	left: calc(50% - 1px);
	top: 0px;
}
main p.arrow::before {
	height: calc(100% - 3px);
}
main p.arrow::after {
	width: 15px;
	height: 15px;
	left: calc(50% - 7.5px);
	bottom: 3px;
	border-top: 2px solid #50b4d2;
	transform: rotate(135deg);
}
main p.line::before {
	height: 100%;
}
main table.total {
	width: 100%;
}
main table.total td {
	position: relative;
	height: 100px;
	font-size: 1rem;
	line-height: 1.5rem;
	color: #646464;
	border-bottom: 1px solid #dcdcdc;
	padding: 0px 20px;
}
main table.total td:not(:last-child) {
	border-right: 1px solid #dcdcdc;
}
main table.total td:not(:last-child)::before,
main table.total td:not(:last-child)::after {
	position: absolute;
	right: -12.5px;
	z-index: 1;
	content: "";
}
main table.total td:not(:last-child)::before {
	width: 25px;
	height: 0px;
	top: calc(50% - 1px);
	border-bottom: 2px solid #50b4d2;
}
main table.total td:not(:last-child)::after {
	width: 10px;
	height: 10px;
	top: calc(50% - 5px);
	border-right: 2px solid #50b4d2;
	border-top: 2px solid #50b4d2;
	transform: rotate(45deg);
}
main table.total tr:first-child td {
	background-color: #f5f5f5;
}
main table.total td {
	text-align: center;
}
main table.total tr.harusora td {
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.0625rem;
}
main table.total tr.harusora td span,
main table.total tr.harusora td span i {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main table.total tr.harusora td span i {
	align-items: center;
	height: 35px;
	color: #ffffff;
	padding: 0px 20px;
	background-color: #50b4d2;
	border-radius: 17.5px;
}
main article.common div.body a {
	text-decoration: underline;
}
main article.common div.body h1,
main article.common div.body h2,
main article.common div.body h3,
main article.common div.body h4,
main article.common div.body h5,
main article.common div.body h6,
main article.common div.body strong {
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
}
main article.common div.body em {
	font-style: italic;
}
main article.common div.body blockquote {
	padding: 20px;
	background-color: #f5f5f5;
}
main article.common div.body ul li {
	position: relative;
	padding-left: 20px;
}
main article.common div.body ul li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 4px;
	top: 12px;
	background-color: #323232;
	content: "";
	border-radius: 50%;
}
main article.common div.body ol {
	padding-left: 20px;
}
main article.common div.body ol li {
	list-style-type: decimal;
}
main article.common div.body table {
	width: 100%;
}
main article.common div.body table th,
main article.common div.body table td {
	border: 1px solid #dcdcdc;
	padding: 10px;
}
main article.common div.body table th {
	background-color: #f5f5f5;
}
main article.common div.body img.alignleft {
	margin-left: 0px;
	margin-right: auto;
}
main article.common div.body img.alignright {
	margin-left: auto;
	margin-right: 0px;
}
main article.common div.body img.aligncenter {
	margin-left: auto;
	margin-right: auto;
}
main article.common div.body a.wp-block-button__link,
main article.common div.body a.wp-block-file__button {
	display: inline-block;
	height: 40px;
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 38px;
	border: 1px solid #666666;
	padding: 0px 20px;
	background-color: #666666;
	border-radius: 20px;
	transition: 0.25s background-color ease;
}
main article.common div.body a.wp-block-button__link:hover,
main article.common div.body a.wp-block-file__button:hover {
	background-color: #323232;
}
main div#pager,
main nav#navi-article {
	font-size: 0.9375rem;
	margin-top: 80px;
}
main div#pager,
main nav#navi-article ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main div#pager span,
main div#pager a,
main nav#navi-article ul li a {
	transition: 0.25s color ease;
}
main div#pager span:not(:last-child),
main div#pager a:not(:last-child) {
	margin-right: 30px;
}
main div#pager span.current,
main div#pager a:hover,
main nav#navi-article ul li a:hover {
	color: #50b4d2;
}
main nav#navi-article ul {
	position: relative;
	width: 400px;
	margin: auto;
}
main nav#navi-article ul li.prev,
main nav#navi-article ul li.next {
	position: absolute;
	top: 0px;
}
main nav#navi-article ul li.prev {
	left: 0px;
}
main nav#navi-article ul li.next {
	right: 0px;
}
main nav#navi-recruit {
	padding: 60px 0px;
	background-color: #f0f0f0;
}
main nav#navi-recruit ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main nav#navi-recruit ul li {
	width: 350px;
}
main nav#navi-recruit ul li:not(:last-child) {
	margin-right: 50px;
}
main nav#navi-recruit ul li a {
	display: block;
	position: relative;
	overflow: hidden;
}
main nav#navi-recruit ul li a:hover {
	color: #50b4d2;
}
main nav#navi-recruit ul li img {
	width: 100%;
	height: auto;
	transition: 0.325s transform ease;
}
main nav#navi-recruit ul li a:hover img {
	transform: scale(1.0625);
}
main nav#navi-recruit ul li span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: 40px;
	left: 0px;
	bottom: 0px;
	z-index: 1;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.0625rem;
	letter-spacing: 0.1em;
	padding: 0px 20px 0px 15px;
	background-color: #ffffff;
	border-top-right-radius: 15px;
	transition: 0.25s color ease;
}

/* home
-------------------------------------------------------------------------------- */

body.home main section header p.sub {
	font-family: "Metropolis", sans-serif;
	font-weight: 500;
	color: #50b4d2;
}
body.home main section header h2 {
	text-indent: 0.1em;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2.375rem;
	line-height: 3rem;
	letter-spacing: 0.1em;
	transform: translateX(-5px);
}
main section#home-news div.inner-section {
	display: flex;
	flex-wrap: wrap;
	padding-left: 60px;
	padding-right: 60px;
}
main section#home-news header {
	width: 340px;
	transform: translateY(-10px);
}
main section#home-news div.content {
	position: relative;
	width: calc(100% - 340px);
}
main section#home-news p.button-default {
	position: absolute;
	left: -340px;
	top: 120px;
}
main section#home-about div.inner-section,
main section#home-facility div.inner-section {
	width: auto;
}
main section#home-about div.inner-section {
	max-width: 1420px;
}
main section#home-about div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section#home-about div.image-text p.image,
main section#home-about div.image p.row {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
main section#home-about.active div.image-text p.image,
main section#home-about.active div.image p.row {
	opacity: 1;
}
main section#home-about div.image-text p.image {
	width: calc(50% - 160px);
	transition-delay: 0.25s;
}
main section#home-about div.image-text div.text {
	width: calc(50% + 80px);
	padding-top: 40px;
}
main section#home-about div.image-text div.text div.header,
main section#home-about div.image-text div.text p.description {
	margin-bottom: 40px;
}
main section#home-about div.image-text div.text div.header h3 {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2rem;
	line-height: 3.75rem;
	letter-spacing: 0.15em;
}
main section#home-about div.image-text div.text p.description,
main section#home-treatment header p.description {
	font-size: 1.0625rem;
	line-height: 2.125rem;
}
main section#home-about div.image-text div.text p.button-default a {
	width: 240px;
}
main section#home-about div.image {
	position: relative;
	height: 270px;
}
main section#home-about div.image p.row {
	position: absolute;
}
main section#home-about div.image p.row:nth-child(1) {
	width: 200px;
	left: calc(50% + 380px);
	top: -250px;
	transition-delay: 0.5s;
}
main section#home-about div.image p.row:nth-child(2) {
	width: 300px;
	left: calc(50% + 160px);
	bottom: 0px;
	transition-delay: 0.75s;
}
main section#home-treatment header,
main section#home-facility header {
	margin-bottom: 60px;
}
main section#home-treatment header p.description {
	position: absolute;
	right: 0px;
	bottom: -5px;
	line-height: 1.875rem;
}
main section#home-treatment div.list {
	display: flex;
	flex-wrap: wrap;
}
main section#home-treatment div.list-main {
	margin: 0px -60px 60px 0px;
}
main section#home-treatment div.list-main div.row {
	width: calc(50% - 60px);
	margin-right: 60px;
}
main section#home-treatment div.list-sub {
	margin: 0px -40px -60px 0px;
}
main section#home-treatment div.list-sub div.row {
	width: calc(33.33% - 40px);
	margin: 0px 40px 60px 0px;
}
main section#home-treatment div.list div.row p.image {
	position: relative;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}
main section#home-treatment div.list-main div.row p.image {
	font-size: 1.5rem;
}
main section#home-treatment div.list-sub div.row p.image {
	font-size: 1.25rem;
}
main section#home-treatment div.list div.row p.image span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0px;
	bottom: 0px;
	z-index: 1;
	background-color: #ffffff;
	border-top-right-radius: 20px;
	transition: 0.25s color ease;
}
main section#home-treatment div.list-main div.row p.image span {
	height: 60px;
	padding: 0px 30px 0px 20px;
}
main section#home-treatment div.list-sub div.row p.image span {
	height: 50px;
	padding: 0px 25px 0px 20px;
}
main section#home-treatment div.list div.row p.image a:hover span {
	color: #50b4d2;
}
main section#home-treatment div.list div.row p.description {
	line-height: 1.75rem;
	padding: 0px 20px;
}
main section#home-facility header {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}
main section#home-facility div.content {
	position: relative;
}
main section#home-facility div.list-facility-alternate {
	overflow: hidden;
}
main section#home-facility div.list-facility-alternate div.inner-list-facility-alternate {
	display: flex;
	flex-wrap: wrap;
	width: 99999px;
	animation: home-facility 120s linear infinite forwards;
}
@keyframes home-facility {
	0% { transform: translateX(0px); }
	100% { transform: translateX(-3120px); }
}
main section#home-facility div.list-facility-alternate p.row {
	position: relative;
	width: 480px;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.0625rem;
	margin-right: 40px;
}
main section#home-facility div.list-facility-alternate p.row img {
	width: 100%;
	height: auto;
}
main section#home-facility div.list-facility-alternate p.row span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: 40px;
	left: -1px;
	bottom: 0px;
	z-index: 1;
	padding: 0px 20px;
	background-color: #ffffff;
	border-top-right-radius: 10px;
	transition: 0.25s color ease;
}
main section#home-facility p.button-default {
	position: absolute;
	right: calc(50% - 480px);
	top: -105px;
}

/* news
-------------------------------------------------------------------------------- */

main div.list-news div.row {
	border-bottom: 1px solid #dcdcdc;
}
main div.list-news div.row:first-child {
	border-top: 1px solid #dcdcdc;
}
main div.list-news div.row a {
	display: block;
	position: relative;
	padding: 30px 80px 30px 30px;
}
main div.list-news div.row a::before,
main div.list-news div.row a::after {
	position: absolute;
	height: 0px;
	right: 30px;
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #323232;
	content: "";
	transition: 0.25s border-color ease, 0.25s transform ease;
}
main div.list-news div.row a:hover::before,
main div.list-news div.row a:hover::after {
	border-color: #50b4d2;
}
main div.list-news div.row a::before {
	width: 30px;
}
main div.list-news div.row a:hover::before {
	transform: translateX(5px);
}
main div.list-news div.row a::after {
	transform-origin: right top;
	width: 6px;
	transform: rotate(45deg);
}
main div.list-news div.row a:hover::after {
	transform: translateX(5px) rotate(45deg);
}
main div.list-news div.row p.created-category,
main article.news header p.created-category {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 0.9375rem;
	line-height: 1.375rem;
}
main div.list-news div.row p.created-category {
	margin: 0px -10px 10px 0px;
}
main div.list-news div.row p.created-category span,
main article.news header p.created-category span {
	display: block;
}
main div.list-news div.row p.created-category span.created,
main article.news header p.created-category span.created {
	color: #969696;
	margin-right: 15px;
}
main div.list-news div.row p.created-category span.category,
main article.news header p.created-category span.category {
	color: #50b4d2;
	border: 1px solid #50b4d2;
	padding: 0px 10px;
	border-radius: 5px;
}
main div.list-news div.row h3 {
	font-size: 1.0625rem;
	transition: 0.25s color ease;
}
main div.list-news div.row a:hover h3 {
	color: #50b4d2;
}
main article.news {
	border-bottom: 1px solid #dcdcdc;
	padding-bottom: 80px;
}
main article.news header,
main article.news div.body {
	padding-left: 60px;
	padding-right: 60px;
}
main article.news header {
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: 80px;
	padding-bottom: 60px;
}
main article.news header p.created-category {
	margin-bottom: 20px;
}
main article.news header h1 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#news div.inner-section {
	width: 800px;
}
main section#news div.category {
	margin-bottom: 80px;
}
main section#news div.category ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: -10px;
}
main section#news div.category ul li {
	font-size: 1.0625rem;
	margin-bottom: 10px;
}
main section#news div.category ul li:not(:last-child) {
	margin-right: 10px;
}
main section#news div.category ul li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 35px;
	color: #50b4d2;
	border: 1px solid #50b4d2;
	padding: 0px 15px;
	border-radius: 17.5px;
	transition: 0.25s color ease, 0.25s background-color ease;
}
main section#news div.category ul li a:hover,
main section#news div.category ul li.active a {
	color: #ffffff;
	background-color: #50b4d2;
}

/* about
-------------------------------------------------------------------------------- */

main section#about div.block-message div.column div.left p.image {
	margin-bottom: 25px;
}
main section#about div.block-message div.column div.left p.name {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}
main section#about div.block-message div.column div.left p.name span {
	display: block;
}
main section#about div.block-message div.column div.left p.name span.sub {
	font-size: 1.0625rem;
	margin-right: 10px;
}
main section#about div.block-message div.column div.left p.name span.main {
	font-size: 1.5rem;
}
main section#about div.block-message div.column div.left p.name span.main ruby rt {
	font-size: 0.75rem;
	transform: translateY(-3px);
}
main section#about div.block-message div.column div.right div.description,
main section#about div.block-message div.column div.right div.history {
	margin-bottom: 60px;
}
main section#about div.block-message div.column div.right div.history h3,
main section#about div.block-message div.column div.right div.society h3 {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.375rem;
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: 20px;
	padding-bottom: 10px;
}
main section#about div.block-message div.column div.right div.history table {
	width: 100%;
}
main section#about div.block-message div.column div.right div.history table th,
main section#about div.block-message div.column div.right div.history table td {
	vertical-align: top;
	line-height: 1.5rem;
}
main section#about div.block-message div.column div.right div.history table tr:not(:last-child) th,
main section#about div.block-message div.column div.right div.history table tr:not(:last-child) td {
	padding-bottom: 20px;
}
main section#about div.block-message div.column div.right div.history table th {
	width: 110px;
	color: #50b4d2;
}
main section#about div.summary div.image-text {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
main section#about div.summary div.image-text p.image {
	width: 360px;
	transform: translateY(10px);
}
main section#about div.summary div.image-text div.text {
	width: calc(100% - 360px);
}
main section#about div.block-feature div.segment-01 div.frame {
	margin-bottom: 40px;
}
main section#about div.block-feature div.segment-01 p.description {
	padding: 0px 80px;
}
main section#about div.block-feature div.segment-02 div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
main section#about div.block-feature div.segment-02 div.image-text p.image {
	width: 340px;
	aspect-ratio: 340 / 340;
	overflow: hidden;
	border-radius: 50%;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section#about div.block-feature div.segment-02 div.image-text div.text {
	width: calc(100% - 400px);
}
main section#about div.block-feature div.segment-02 div.image-text div.text div.description p.row {
	font-size: 0.9375rem;
	line-height: 1.875rem;
}
main section#about div.block-feature div.segment-02 div.image-text div.text div.description p.row:not(:last-child) {
	margin-bottom: 15px;
}

/* treatment
-------------------------------------------------------------------------------- */

main section.treatment div.block-metabolic div.segment-01 div.list div.row {
	position: relative;
	padding: 40px 20px 30px 20px;
	background-color: #ffffff;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section.treatment div.block-metabolic div.segment-01 div.list div.row h4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: 35px;
	top: -17.5px;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.0625rem;
	color: #ffffff;
	background-color: #50b4d2;
	border-radius: 17.5px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-main {
	margin-bottom: 30px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row h4 {
	width: 160px;
	left: calc(50% - 80px);
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 10px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row ul li {
	font-size: 1.0625rem;
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row ul li:not(:last-child) {
	margin-right: 80px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row ul li span {
	display: inline-block;
	font-size: 2.5rem;
	line-height: 3rem;
	color: #50b4d2;
	margin: 0px 2px;
	transform: translateY(1px);
}
main section.treatment div.block-metabolic div.segment-01 div.list-main div.row p.note {
	text-align: center;
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub {
	display: flex;
	flex-wrap: wrap;
	margin-right: -20px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row {
	width: calc(33.33% - 20px);
	text-align: center;
	margin-right: 20px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row h4 {
	width: 140px;
	left: calc(50% - 70px);
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row p.headline {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 3rem;
	font-size: 1.0625rem;
	line-height: 1.5rem;
	margin-bottom: 20px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row p.headline::before {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	bottom: -10px;
	border-bottom: 1px solid #dcdcdc;
	content: "";
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row p.label {
	line-height: 1.25rem;
	margin-bottom: 10px;
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row p.number span {
	display: inline-block;
	font-size: 1.75rem;
	line-height: 2.5rem;
	color: #50b4d2;
	margin-right: 2px;
	transform: translateY(1px);
}
main section.treatment div.block-metabolic div.segment-01 div.list-sub div.row p.and-or {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 30px;
	color: #646464;
	margin: 20px auto;
	background-color: #f5f5f5;
	border-radius: 15px;
}
main section.treatment div.block-metabolic div.segment-01 p.plus {
	position: relative;
	width: 30px;
	height: 30px;
	margin: 0px auto 10px auto;
}
main section.treatment div.block-metabolic div.segment-01 p.plus::before,
main section.treatment div.block-metabolic div.segment-01 p.plus::after {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	top: calc(50% - 2px);
	border-bottom: 4px solid #50b4d2;
	content: "";
}
main section.treatment div.block-metabolic div.segment-01 p.plus::after {
	transform: rotate(90deg);
}
main section.treatment div.block-metabolic div.segment-01 p.case {
	text-align: center;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.0625rem;
	color: #50b4d2;
	margin-bottom: 40px;
}
main section.treatment div.block-metabolic div.segment-02 div.frame {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding: 60px;
}
main section.treatment div.block-metabolic div.segment-02 div.frame p.diagram {
	width: 623px;
}
main section.treatment div.block-diabetes div.segment div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section.treatment div.block-diabetes div.segment div.list div.row:nth-child(2) {
	align-items: center;
}
main section.treatment div.block-diabetes div.segment div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section.treatment div.block-diabetes div.segment div.list div.row h4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 210px;
	height: 210px;
	text-align: center;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.5rem;
	background-color: #ffffff;
	border-radius: 50%;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section.treatment div.block-diabetes div.segment div.list div.row h4 span.number {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 20px;
	font-size: 1.0625rem;
	color: #50b4d2;
}
main section.treatment div.block-diabetes div.segment div.list div.row h4 span.number::before {
	position: absolute;
	width: 20px;
	height: 0px;
	left: calc(50% - 10px);
	bottom: 0px;
	border-bottom: 1px solid #50b4d2;
	content: "";
}
main section.treatment div.block-diabetes div.segment div.list div.row div.body {
	width: calc(100% - 270px);
	line-height: 1.75rem;
	padding-top: 20px;
}
main section.treatment div.block-diabetes div.segment div.list div.row:nth-child(2) div.body {
	padding-top: 0px;
}
main section.treatment div.block-diabetes div.segment div.list div.row div.body p:not(:last-child),
main section.treatment div.block-diabetes div.segment div.list div.row div.body ul.bullet:not(:last-child) {
	margin-bottom: 20px;
}
main section.treatment div.block-diabetes div.segment div.list div.row div.body ul.bullet li::before {
	top: 8px;
}
main section.treatment div.block-diabetes div.segment table {
	width: 100%;
}
main section.treatment div.block-diabetes div.segment table th,
main section.treatment div.block-diabetes div.segment table td {
	font-size: 1rem;
	border: 1px solid #dcdcdc;
	padding: 10px 20px;
}
main section.treatment div.block-diabetes div.segment table th {
	text-align: left;
}
main section.treatment div.block-diabetes div.segment table th span {
	font-size: 0.8125rem;
}
main section.treatment div.block-diabetes div.segment table td {
	width: 240px;
	text-align: center;
	color: #50b4d2;
}
main section.treatment div.block-dyslipidemia div.segment div.frame {
	padding: 60px;
}
main section.treatment div.block-hyperuricemia div.segment div.first {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	position: relative;
	text-align: center;
}
main section.treatment div.block-hyperuricemia div.segment div.first div.left {
	width: 210px;
}
main section.treatment div.block-hyperuricemia div.segment div.first div.left p.headline {
	font-size: 1.0625rem;
	line-height: 1.75rem;
	margin-bottom: 20px;
}
main section.treatment div.block-hyperuricemia div.segment div.first div.right {
	width: 230px;
}
main section.treatment div.block-hyperuricemia div.segment div.first div.right h4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 230px;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1rem;
	line-height: 1.5rem;
	color: #ffffff;
	background-color: #50b4d2;
	border-radius: 50%;
}
main section.treatment div.block-hyperuricemia div.segment div.first div.right h4 i {
	font-size: 0.875rem;
}
main section.treatment div.block-hyperuricemia div.segment div.first p.arrow {
	position: absolute;
	left: calc(50% - 15px);
	top: calc(50% - 15px);
	margin: 0px;
	transform: rotate(-90deg);
}
main section.treatment div.block-hyperuricemia div.segment p.case {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 45px;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.125rem;
	color: #ffffff;
	margin: auto;
	background-color: #50b4d2;
	border-radius: 22.5px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list {
	display: flex;
	flex-wrap: wrap;
	margin-right: -20px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row {
	width: calc(25% - 20px);
	margin-right: 20px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row p.line {
	margin-bottom: 10px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row p.headline {
	text-align: center;
	font-size: 1.0625rem;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row p.arrow {
	margin-top: 10px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row div.detail {
	padding: 20px;
	background-color: #ffffff;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row div.detail h4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 35px;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1rem;
	color: #ffffff;
	margin: 0px -5px 10px -5px;
	background-color: #50b4d2;
	border-radius: 17.5px;
}
main section.treatment div.block-hyperuricemia div.segment div.second div.list div.row div.detail p {
	min-height: calc(1.75rem * 5);
	line-height: 1.75rem;
	letter-spacing: 0em;
	padding: 0px 10px;
}
main section.treatment div.block-collaboration div.segment div.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	width: 600px;
	margin: auto;
}
main section.treatment div.block-collaboration div.segment div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 250px;
	height: 250px;
	text-align: center;
	background-color: #ffffff;
	border-radius: 50%;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section.treatment div.block-collaboration div.segment div.list div.row div.inner-row {
	width: 180px;
}
main section.treatment div.block-collaboration div.segment div.list div.row h4 {
	font-size: 1.0625rem;
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: 20px;
	padding-bottom: 10px;
}
main section.treatment div.block-collaboration div.segment div.list div.row p {
	line-height: 1.75rem;
}
main section.treatment div.block-collaboration div.segment div.list p.cross {
	position: absolute;
	width: 60px;
	height: 60px;
	left: calc(50% - 30px);
	top: calc(50% - 30px);
}
main section.treatment div.block-collaboration div.segment div.list p.cross::before,
main section.treatment div.block-collaboration div.segment div.list p.cross::after {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	top: calc(50% - 1px);
	border-bottom: 2px solid #50b4d2;
	content: "";
}
main section.treatment div.block-collaboration div.segment div.list p.cross::before {
	transform: rotate(45deg);
}
main section.treatment div.block-collaboration div.segment div.list p.cross::after {
	transform: rotate(-45deg);
}
main section.treatment div.block-collaboration div.segment p.conclusion {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 520px;
	height: 80px;
	font-family: "CezanneProN-DB", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.0625rem;
	color: #ffffff;
	margin: auto;
	background-color: #50b4d2;
	border-radius: 40px;
}
main section.treatment div.block-facility div.segment div.list {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -60px -100px 0px;
}
main section.treatment div.block-facility div.segment div.list div.row {
	width: calc(50% - 60px);
	margin: 0px 60px 100px 0px;
}
main section.treatment div.block-facility div.segment div.list div.row p.image {
	margin-bottom: 30px;
}
main section.treatment div.block-facility div.segment div.list div.row h3 {
	text-align: center;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin-bottom: 25px;
}
main section.treatment div.block-facility div.segment div.list div.row p.description {
	line-height: 1.75rem;
	padding: 0px 25px;
}
main section.treatment div.block-environment div.summary div.image-text {
	display: flex;
	flex-wrap: wrap;
}
main section.treatment div.block-environment div.summary div.image-text div.text {
	width: calc(100% - 280px);
}
main section.treatment div.block-environment div.summary div.image-text p.image {
	width: 280px;
	transform: translateY(10px);
}
main section.treatment div.block-about div.segment div.frame {
	padding: 60px;
}
main section.treatment div.block-diagnosis div.segment h4,
main section.treatment div.block-diagnosis div.segment div.detail {
	padding: 30px;
	background-color: #ffffff;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section.treatment div.block-diagnosis div.segment h4 {
	text-align: center;
	font-size: 1.0625rem;
	color: #50b4d2;
}
main section.treatment div.block-diagnosis div.segment div.detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 1rem;
}
main section.treatment div.block-timing div.segment div.frame {
	padding: 60px;
}
main section.treatment div.block-timing div.segment div.frame p.diagram {
	max-width: 550px;
	margin: auto;
}
main section.treatment div.block-health-check div.segment table {
	width: 100%;
}
main section.treatment div.block-health-check div.segment table td {
	font-size: 1rem;
	border: 1px solid #dcdcdc;
	padding: 10px 20px;
}
main section.treatment div.block-health-check div.segment table td span {
	font-size: 0.8125rem;
}
main section.treatment div.block-health-check div.segment table td.number {
	width: 40px;
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}
main section.treatment div.block-health-check div.segment table td.price {
	width: 160px;
	text-align: right;
	color: #50b4d2;
	padding-right: 40px;
}
main section.treatment div.block-health-check div.segment table.price-01 td.time {
	width: 100px;
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}
main section.treatment div.block-health-check div.segment table.price-02 td.category {
	writing-mode: vertical-rl;
	text-align: center;
	width: 40px;
	padding-left: 0px;
	padding-right: 0px;
}
main section.treatment div.block-health-check div.segment table.price-02 td.set {
	width: 160px;
}
main section.treatment div.block-health-check div.segment p.arrow {
	margin-top: 40px;
}
main section.treatment div.block-health-check div.segment p.headline {
	text-align: center;
	font-size: 1.0625rem;
	color: #50b4d2;
	margin-bottom: 40px;
}
main section.treatment div.block-vaccination div.segment table {
	width: 100%;
}
main section.treatment div.block-vaccination div.segment table th,
main section.treatment div.block-vaccination div.segment table td {
	font-size: 1rem;
	border: 1px solid #dcdcdc;
	padding: 10px;
}
main section.treatment div.block-vaccination div.segment table th {
	text-align: center;
	background-color: #f5f5f5;
}
main section.treatment div.block-vaccination div.segment table th.price,
main section.treatment div.block-vaccination div.segment table th.support {
	width: 160px;
}
main section.treatment div.block-vaccination div.segment table th span.note,
main section.treatment div.block-vaccination div.segment table td span.note {
	display: block;
	line-height: 1.25rem;
}
main section.treatment div.block-vaccination div.segment table td span {
	font-size: 0.8125rem;
}
main section.treatment div.block-vaccination div.segment table td.price {
	text-align: center;
	color: #50b4d2;
}
main section.treatment div.block-vaccination div.segment table td.price-center {
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}
main section.treatment div.block-vaccination div.segment table td.support {
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}
main section.treatment div.block-nutrition-consultation div.segment table {
	width: 100%;
	margin-bottom: 5px;
}
main section.treatment div.block-nutrition-consultation div.segment table th,
main section.treatment div.block-nutrition-consultation div.segment table td {
	font-size: 1rem;
	border: 1px solid #dcdcdc;
	padding: 10px 20px;
}
main section.treatment div.block-nutrition-consultation div.segment table th {
	text-align: left;
}
main section.treatment div.block-nutrition-consultation div.segment table td {
	width: 160px;
	text-align: center;
	color: #50b4d2;
}
main section.treatment div.block-nutrition-consultation div.segment p.note {
	text-align: right;
	font-size: 0.8125rem;
}

/* facility
-------------------------------------------------------------------------------- */

main section#facility div.list-facility {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -80px 0px;
}
main section#facility div.list-facility p.row {
	position: relative;
	width: calc(33.33% - 40px);
	overflow: hidden;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.0625rem;
	cursor: pointer;
	margin: 0px 40px 80px 0px;
}
main section#facility div.list-facility p.row img {
	width: 100%;
	height: auto;
	transition: 0.25s transform ease;
}
main section#facility div.list-facility p.row:hover img {
	transform: scale(1.075);
}
main section#facility div.list-facility p.row span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: 40px;
	left: 0px;
	bottom: 0px;
	z-index: 1;
	padding: 0px 20px;
	background-color: #ffffff;
	border-top-right-radius: 10px;
	transition: 0.25s color ease;
}
main section#facility div.list-facility p.row:hover span {
	color: #50b4d2;
}

/* recruit
-------------------------------------------------------------------------------- */

main section#recruit div.block-message div.header h2 {
	margin-right: -40px;
}
main section#recruit div.block-message div.column div.left p.image {
	margin-bottom: 25px;
}
main section#recruit div.block-message div.column div.left p.name {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}
main section#recruit div.block-message div.column div.left p.name span {
	display: block;
}
main section#recruit div.block-message div.column div.left p.name span.sub {
	font-size: 1.0625rem;
	margin-right: 10px;
}
main section#recruit div.block-message div.column div.left p.name span.main {
	font-size: 1.5rem;
}
main section#recruit div.block-message div.column div.left p.name span.main ruby rt {
	font-size: 0.75rem;
	transform: translateY(-3px);
}
main section#recruit div.block-feature div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#recruit div.block-feature div.list div.row div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
main section#recruit div.block-feature div.list div.row:last-child div.image-text {
	align-items: center;
}
main section#recruit div.block-feature div.list div.row div.image-text p.image {
	width: 200px;
	overflow: hidden;
	border-radius: 50%;
}
main section#recruit div.block-feature div.list div.row div.image-text div.text {
	width: calc(100% - 250px);
}
main section#recruit div.block-feature div.list div.row div.image-text div.text p:not(:last-child),
main section#recruit div.block-feature div.list div.row div.image-text div.text ul:not(:last-child) {
	margin-bottom: 10px;
}

/* staff-01
-------------------------------------------------------------------------------- */

main section#staff-01 div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#staff-01 div.list div.row div.illust-balloon {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
main section#staff-01 div.list div.row div.illust-balloon p.illust {
	width: 140px;
}
main section#staff-01 div.list div.row div.illust-balloon p.illust span {
	display: block;
}
main section#staff-01 div.list div.row div.illust-balloon p.illust span:first-child {
	overflow: hidden;
	margin-bottom: 10px;
	background-color: #ffffff;
	border-radius: 50%;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section#staff-01 div.list div.row div.illust-balloon p.illust span:first-child img {
	width: 100%;
	height: auto;
}
main section#staff-01 div.list div.row div.illust-balloon p.illust span:last-child {
	text-align: center;
	line-height: 1.25rem;
}
main section#staff-01 div.list div.row div.illust-balloon div.balloon {
	position: relative;
	width: calc(100% - 180px);
	padding: 25px 35px;
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
	transform: translateY(-15px);
}
main section#staff-01 div.list div.row div.illust-balloon div.balloon::before {
	width: 15px;
	height: 20px;
	left: -15px;
	top: calc(50% - 10px);
	position: absolute;
	background-color: #ffffff;
	content: "";
	clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}

/* staff-02
-------------------------------------------------------------------------------- */

main section#staff-02 div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#staff-02 div.list div.row div.image-balloon {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
main section#staff-02 div.list div.row div.image-balloon p.image {
	width: 150px;
}
main section#staff-02 div.list div.row div.image-balloon p.image span,
main section#staff-02 div.list div.row div.image-balloon p.image i {
	display: block;
}
main section#staff-02 div.list div.row div.image-balloon p.image span:first-child {
	overflow: hidden;
	margin-bottom: 10px;
	border-radius: 50%;
}
main section#staff-02 div.list div.row div.image-balloon p.image span:first-child img {
	width: 100%;
	height: auto;
}
main section#staff-02 div.list div.row div.image-balloon p.image span:last-child {
	text-align: center;
	line-height: 1.25rem;
}
main section#staff-02 div.list div.row div.image-balloon p.image span:last-child i:first-child {
	margin-bottom: 3px;
}
main section#staff-02 div.list div.row div.image-balloon p.image span:last-child i:last-child {
	font-size: 1.125rem;
}
main section#staff-02 div.list div.row div.image-balloon div.balloon {
	position: relative;
	width: calc(100% - 190px);
	padding: 25px 35px;
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
main section#staff-02 div.list div.row div.image-balloon div.balloon::before {
	width: 15px;
	height: 20px;
	left: -15px;
	top: 65px;
	position: absolute;
	background-color: #ffffff;
	content: "";
	clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
main section#staff-02 div.list div.row div.image-balloon div.balloon h4 {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.5rem;
	line-height: 2.125rem;
	color: #50b4d2;
	margin-bottom: 15px;
}

/* guideline
-------------------------------------------------------------------------------- */

main section#guideline div.inner-section {
	width: 800px;
}
main section#guideline div.header {
	text-align: center;
	margin-bottom: 60px;
}
main section#guideline div.header p.description {
	font-size: 1.0625rem;
	line-height: 2.125rem;
}
main section#guideline div.frame:not(:last-child) {
	margin-bottom: 40px;
}
main section#guideline table {
	width: 100%;
}
main section#guideline table:not(:last-child) {
	margin-bottom: 15px;
}
main section#guideline table th,
main section#guideline table td {
	border: 1px solid #dcdcdc;
}
main section#guideline table th {
	width: 120px;
	text-align: center;
	padding: 10px 0px;
}
main section#guideline table td {
	text-align: left;
	padding: 10px 20px;
}
main section#guideline table td p.note {
	font-size: 0.8125rem;
	line-height: 1.5rem;
}
main section#guideline p.disable {
	text-align: center;
	padding: 10px 20px;
	background-color: #f0f0f0;
}

/* form
-------------------------------------------------------------------------------- */

main section.form div.inner-section {
	width: 800px;
}
main section.form div.header {
	text-align: center;
	margin-bottom: 80px;
}
main section.form div.mw_wp_form_preview div.header {
	display: none;
}
main section.form div.header p.description {
	font-size: 1rem;
}
main section.form div.header p.description:not(:last-child) {
	margin-bottom: 20px;
}
main section.form div.header p.tel {
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	color: #50b4d2;
}
main section.form div.header p.tel a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
main section.form div.header p.tel i.icon {
	display: inline-block;
	font-size: 1.5rem;
}
main section.form div.header p.tel span {
	font-family: "Metropolis", sans-serif;
	font-size: 2rem;
	font-weight: 500;
}
main section.form div.form {
	padding: 80px 120px;
	background-color: #f4fbfc;
}
main section.form div.form h3 {
	text-align: center;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin-bottom: 60px;
}
main section.form div.component,
main section.form div.action {
	position: relative;
}
main section.form div.component {
	margin-bottom: 40px;
}
main section.form div.component-last {
	margin-bottom: 20px;
}
main section.form div.mw_wp_form_preview div.component-last {
	margin-bottom: 40px;
}
main section.form div.component p.label {
	font-size: 1rem;
	margin-bottom: 10px;
}
main section.form div.component p.label span {
	font-size: 0.875rem;
}
main section.form div.mw_wp_form_preview div.component p.label {
	border-bottom: 1px solid #dcdcdc;
}
main section.form div.component div.body input[type=text],
main section.form div.component div.body input[type=email],
main section.form div.component div.body textarea {
	display: block;
	width: 100%;
}
main section.form div.component div.body textarea {
	resize: none;
}
main section.form div.component span.error,
main section.form div.agreement span.error {
	display: block;
	color: #50b4d2;
	padding-top: 5px;
}
main section.form div.agreement {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	margin-bottom: 60px;
}
main section.form div.mw_wp_form_preview div.agreement {
	display: none;
}
main section.form div.agreement span.horizontal-item {
	margin-right: 5px;
}
main section.form div.agreement span.horizontal-item > label {
	display: block;
}
main section.form div.agreement span.mwform-checkbox-field-text {
	display: none;
}
main section.form div.agreement span.error {
	position: absolute;
	left: 30px;
	bottom: -30px;
}
main section.form div.action {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-right: -20px;
}
main section.form div.action input[type=submit] {
	display: block;
	width: calc(50% - 20px);
	max-width: 160px;
	margin-right: 20px;
}
main section.form div.mw_wp_form_complete p.description {
	text-align: center;
}

/* privacy-policy
-------------------------------------------------------------------------------- */

main section#privacy-policy div.inner-section {
	width: 800px;
}
main section#privacy-policy h2 {
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 1.625rem;
	line-height: 2.5rem;
	margin-bottom: 80px;
}
main section#privacy-policy div.block {
	font-size: 1rem;
}
main section#privacy-policy div.block:not(:last-child) {
	margin-bottom: 200px;
}
main section#privacy-policy div.block div.header {
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: 60px;
	padding-bottom: 30px;
}
main section#privacy-policy div.block div.header p.headline {
	font-size: 1.25rem;
}
main section#privacy-policy div.block div.header p.headline:not(:last-child) {
	margin-bottom: 20px;
}
main section#privacy-policy div.block div.segment-alternate:not(:last-child) {
	margin-bottom: 80px;
}
main section#privacy-policy div.block div.segment-alternate h3,
main section#privacy-policy div.block div.segment-alternate div.body {
	padding-left: 30px;
}
main section#privacy-policy div.block div.segment-alternate h3 {
	position: relative;
	font-size: 1.375rem;
	margin-bottom: 25px;
}
main section#privacy-policy div.block div.segment-alternate h3 span {
	position: absolute;
	left: 0px;
	top: 0px;
}
main section#privacy-policy div.block div.segment-alternate div.body *.margin-bottom {
	margin-bottom: 25px;
}
main section#privacy-policy div.block div.segment-alternate div.body ul.bullet li,
main section#privacy-policy div.block div.segment-alternate div.body ul.number li {
	line-height: 1.5rem;
}
main section#privacy-policy div.block div.segment-alternate div.body ul.bullet li:not(:last-child),
main section#privacy-policy div.block div.segment-alternate div.body ul.number li:not(:last-child) {
	margin-bottom: 6px;
}
main section#privacy-policy div.block div.segment-alternate div.body ul.bullet li::before {
	top: 6px;
}
main section#privacy-policy div.block div.segment-alternate div.body ul.number li {
	position: relative;
	padding-left: 40px;
}
main section#privacy-policy div.block div.segment-alternate div.body ul.number li span {
	position: absolute;
	left: 0px;
	top: 0px;
}

/* law
-------------------------------------------------------------------------------- */

main section#law div.list div.row {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #dcdcdc;
	padding: 30px 20px;
}
main section#law div.list div.row:first-child {
	border-top: 1px solid #dcdcdc;
}
main section#law div.list div.row p.label {
	width: 220px;
}
main section#law div.list div.row div.body {
	width: calc(100% - 220px);
}
main section#law div.list div.row div.body dl:not(:last-child) {
	margin-bottom: 30px;
}
main section#law div.list div.row div.body dl dt,
main section#law div.list div.row div.body dl dd {
	padding-left: 20px;
}
main section#law div.list div.row div.body dl dt {
	position: relative;
}
main section#law div.list div.row div.body dl dt::before {
	position: absolute;
	width: 13px;
	height: 13px;
	left: 1px;
	top: 9px;
	background-color: #323232;
	content: "";
	border-radius: 50%;
}
main section#law div.list div.row div.body dl dd:not(:last-child) {
	margin-bottom: 15px;
}



/* --------------------------------------------------------------------------------
modal
-------------------------------------------------------------------------------- */

div#modal {
	position: fixed;
	width: 100%;
	height: 0%;
	left: 0px;
	top: 0px;
	overflow: hidden;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	transition: 0.25s opacity ease;
}
div#modal.active {
	height: 100%;
	pointer-events: auto;
}
div#modal.fade {
	opacity: 1;
}
div#modal::before,
div#modal div.inner-modal {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#modal::before {
	background-color: rgba(255, 255, 255, 0.875);
	content: "";
}
div#modal div.inner-modal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
div#modal p.button-close {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 20px;
	top: 20px;
	z-index: 10;
	cursor: pointer;
}
body.admin-bar div#modal p.button-close {
	top: 52px;
}
div#modal p.button-close::before,
div#modal p.button-close::after {
	position: absolute;
	width: 40px;
	height: 0px;
	right: 0px;
	top: 50%;
	border-bottom: 1px solid #323232;
	content: "";
}
div#modal p.button-close::before {
	transform: rotate(45deg);
}
div#modal p.button-close::after {
	transform: rotate(-45deg);
}
div#modal div.slide {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: absolute;
	width: calc(100% - 160px);
	height: calc(100% - 160px);
	left: 80px;
	top: 80px;
}
div#modal div.slide div.list,
div#modal div.slide div.list p.row,
div#modal div.slide div.list p.row span {
	position: absolute;
	width: 100%;
	left: 0px;
}
div#modal div.slide div.list,
div#modal div.slide div.list p.row {
	top: 0px;
}
div#modal div.slide div.list {
	height: 100%;
}
div#modal div.slide div.list p.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 0px;
	overflow: hidden;
	opacity: 0;
	transition: 0.25s opacity ease-in-out;
}
div#modal div.slide div.list p.row.active {
	height: 100%;
	overflow: visible;
	opacity: 1;
}
div#modal div.slide div.list p.row img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
div#modal div.slide div.list p.row span {
	display: block;
	bottom: -40px;
	text-align: center;
	font-size: 1.0625rem;
}
div#modal div.slide div.pager {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	z-index: 10;
	pointer-events: none;
}
div#modal div.slide div.pager p.button {
	position: absolute;
	width: 40px;
	height: 40px;
	top: calc(50% - 20px);
	pointer-events: auto;
}
div#modal div.slide div.pager p.button-prev {
	left: -60px;
}
div#modal div.slide div.pager p.button-next {
	right: -60px;
}
div#modal div.slide div.pager p.button::before {
	box-sizing: border-box;
	position: absolute;
	width: 20px;
	height: 20px;
	left: 10px;
	top: calc(50% - 10px);
	border-right: 1px solid #323232;
	border-bottom: 1px solid #323232;
	cursor: pointer;
	content: "";
}
div#modal div.slide div.pager p.button-prev::before {
	transform: rotate(135deg);
}
div#modal div.slide div.pager p.button-next::before {
	transform: rotate(-45deg);
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

footer#footer {
	padding-bottom: 120px;
}
footer#footer div#contact-footer {
	margin-bottom: 100px;
	padding: 100px 0px 120px 0px;
	background-color: #f4fbfc;
}
footer#footer div#contact-footer div.header {
	text-align: center;
	margin-bottom: 60px;
}
footer#footer div#contact-footer div.header p.sub {
	font-family: "Metropolis", sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #50b4d2;
}
footer#footer div#contact-footer div.header h3 {
	text-indent: 0.1em;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2.375rem;
	line-height: 3rem;
	letter-spacing: 0.1em;
}
footer#footer div#contact-footer div.column {
	display: flex;
	justify-content: space-between;
	width: 900px;
	margin: auto;
}
footer#footer div#contact-footer div.column div.left {
	width: 480px;
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.contact p.label {
	font-size: 1.0625rem;
	margin-bottom: 5px;
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.contact p.tel {
	line-height: 3rem;
	color: #50b4d2;
	margin-bottom: 20px;
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.contact p.tel i.icon {
	display: inline-block;
	font-size: 2rem;
	margin-right: 5px;
	transform: translateY(-1px);
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.contact p.tel span {
	font-family: "Metropolis", sans-serif;
	font-size: 2.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.contact p.button-default {
	font-size: 1.0625rem;
}
footer#footer div#contact-footer div.column div.left div.contact-time-day div.time-day {
	margin-top: 54px;
	background-color: #ffffff;
}
footer#footer div#contact-footer div.column div.right {
	width: 340px;
}
footer#footer div#contact-footer div.column div.right p.banner-ubie {
	overflow: hidden;
	border-radius: 15px;
	box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.0375);
}
footer#footer div#contact-footer div.column div.right p.banner-ubie a {
	display: block;
	position: relative;
	height: 380px;
	background: url(../images/banner-ubie.png) no-repeat center;
	background-size: cover;
}
footer#footer div#contact-footer div.column div.right p.banner-ubie span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 290px;
	height: 40px;
	left: calc(50% - 145px);
	bottom: 52px;
	z-index: 1;
	font-size: 1.0625rem;
	color: #ffffff;
	border: 1px solid #50b4d2;
	background-color: #50b4d2;
	border-radius: 20px;
	transition: 0.25s color ease, 0.25s border-color ease, 0.25s background-color ease;
}
footer#footer div#contact-footer div.column div.right p.banner-ubie span:hover {
	color: #50b4d2;
	background-color: #ffffff;
}
footer#footer div.partnership {
	margin-bottom: 100px;
}
footer#footer div.partnership div.column,
footer#footer div.payment {
	width: 900px;
}
footer#footer div.partnership div.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
}
footer#footer div.partnership div.column div.left {
	width: calc(100% - 580px);
}
footer#footer div.partnership div.column div.left p.sub,
footer#footer div.payment p.sub {
	font-family: "Metropolis", sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #50b4d2;
}
footer#footer div.partnership div.column div.left h3,
footer#footer div.payment h3 {
	text-indent: 0.1em;
	font-family: "TsukuMinPr6-R", "Yu Mincho", YuMincho, serif;
	font-size: 2.375rem;
	line-height: 3rem;
	margin-bottom: 20px;
}
footer#footer div.partnership div.column div.right {
	width: 540px;
	padding-top: 40px;
}
footer#footer div.partnership div.column div.right div.button-wrapper {
	margin: 0px -20px -20px 0px;
}
footer#footer div.partnership div.column div.right div.button-wrapper p.button-default {
	width: calc(50% - 20px);
	margin: 0px 20px 20px 0px;
}
footer#footer div.partnership div.column div.right div.button-wrapper p.button-default a {
	justify-content: flex-start;
	width: 100%;
	padding-left: 20px;
}
footer#footer div.payment {
	text-align: center;
	margin: 0px auto 100px auto;
	padding: 40px 60px 60px 60px;
	background-color: #f4fbfc;
	border-radius: 15px;
}
footer#footer div.payment h3 {
	letter-spacing: 0.1em;
}
footer#footer div.information-navi-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 960px;
	margin: 0px auto 40px auto;
}
footer#footer div.information-navi-footer div.information {
	width: 380px;
}
footer#footer div.information-navi-footer div.information h3 {
	margin-bottom: 20px;
}
footer#footer div.information-navi-footer div.information h3 img {
	width: auto;
	height: 74px;
}
footer#footer div.information-navi-footer div.information p.address,
footer#footer div.information-navi-footer div.information p.tel-fax,
footer#footer div.information-navi-footer div.information p.close {
	font-size: 1rem;
}
footer#footer div.information-navi-footer div.information p.tel-fax {
	display: flex;
	flex-wrap: wrap;
}
footer#footer div.information-navi-footer div.information p.tel-fax span {
	display: block;
}
footer#footer div.information-navi-footer div.information p.tel-fax span.tel::after {
	margin: 0px 5px;
	content: "／";
}
footer#footer div.information-navi-footer div.information p.close {
	margin-bottom: 20px;
}
footer#footer div.information-navi-footer div.information p.button-instagram {
	margin-bottom: 40px;
}
footer#footer div.information-navi-footer div.information div.map {
	position: relative;
	height: 250px;
	overflow: hidden;
	border-radius: 15px;
}
footer#footer div.information-navi-footer div.information div.map iframe {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
footer#footer div.information-navi-footer nav#navi-footer {
	width: 480px;
	padding-top: 95px;
}
footer#footer div.information-navi-footer nav#navi-footer > ul {
	position: relative;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li {
	width: calc(50% - 20px);
	font-size: 1.0625rem;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li:not(:last-child) {
	margin-bottom: 40px;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li:nth-child(3) {
	position: absolute;
	right: 0px;
	top: 0px;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a {
	display: block;
	position: relative;
	border-bottom: 1px solid #dcdcdc;
	padding: 0px 0px 5px 10px;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a::before,
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a::after {
	position: absolute;
	height: 0px;
	right: 15px;
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #323232;
	content: "";
	transition: 0.25s border-color ease, 0.25s transform ease;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a:hover::before,
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a:hover::after {
	border-color: #50b4d2;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a::before {
	width: 30px;
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a:hover::before {
	transform: translateX(5px);
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a::after {
	transform-origin: right top;
	width: 6px;
	transform: rotate(45deg);
}
footer#footer div.information-navi-footer nav#navi-footer > ul > li > a:hover::after {
	transform: translateX(5px) rotate(45deg);
}
footer#footer div.information-navi-footer nav#navi-footer div.nest {
	padding-top: 20px;
}
footer#footer div.information-navi-footer nav#navi-footer div.nest ul li {
	position: relative;
	font-size: 1rem;
	padding-left: 50px;
}
footer#footer div.information-navi-footer nav#navi-footer div.nest ul li:not(:last-child) {
	margin-bottom: 10px;
}
footer#footer div.information-navi-footer nav#navi-footer div.nest ul li::before {
	position: absolute;
	width: 10px;
	height: 0px;
	left: 30px;
	top: 15px;
	border-bottom: 1px solid #50b4d2;
	content: "";
}
footer#footer div.links,
footer#footer p.copyright {
	width: 960px;
}
footer#footer div.links {
	margin: 0px auto 40px auto;
	padding-left: 480px;
}
footer#footer div.links ul {
	display: flex;
	flex-wrap: wrap;
}
footer#footer div.links ul li {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
footer#footer div.links ul li:not(:last-child) {
	margin-right: 25px;
}
footer#footer div.links ul li a {
	color: #c8c8c8;
}
footer#footer div.links ul li a:hover {
	color: #50b4d2;
}
footer#footer p.copyright {
	text-align: center;
	font-size: 0.75rem;
	line-height: 1rem;
	color: #c8c8c8;
	margin: 0px auto;
}
