@charset 'UTF-8';

/* === 一時非公開 === */
/* ヘッダー：クリニック紹介 */
header nav ul.global > li:first-child {
	display: none;
}
/* フッター：当院の考え方 */
.sitemap li:has(> a[href$="clinic#c0"]) {
	display: none;
}

/* === /一時非公開 === */

/*

    Base

*/

/*  color  */
:root {
	--main-color: #54bab9;
	--accent-color: #ea636f;
	--second-color: #63b7a4;
	--warning-color: #DC143C;
}

/*  webkit  */
body {
	-webkit-text-size-adjust: 100%;
}
a {
	-webkit-tap-highlight-color: rgba(255,255,255,0.4);
}
img {
	-webkit-touch-callout: none;
}
input[type=password], input[type=text], button, textarea {
	max-width: 100%;
	-webkit-appearance: none;
	border-radius: 0;
}

/*  font  */
html {
	font-size: 10px;
}
body {
	font-family: "Noto Serif JP", serif;
	font-size: 1.3rem;
	font-weight: 300;
	color: #666666;
}
h1 {
	margin: 1em 0;
	font-size: 1.75em;
	font-weight: 500;
	color: #333333;
}
h2 {
	margin: 1em 0 0.5em;
	font-size: 1.5em;
	font-weight: 500;
	color: #333333;
}
h3 {
	margin: 1em 0 0.5em;
	font-size: 1.25em;
	font-weight: 500;
	color: #333333;
}
h4 {
	margin: 1em 0 0.5em;
	font-size: 1.0em;
	font-weight: 500;
	color: #333333;
}
@media screen and (min-width: 960px) {
	body {
		font-size: 1.5rem;
	}
	h1 { font-size: 2.0em; }
	h2 { font-size: 1.75em; }
	h3 { font-size: 1.5em; }
	h4 { font-size: 1.25em; }
}
a {
	color: #54bab9;
	transition: all 0.1s linear;
}
a:hover { opacity: 0.7;}
b {
	display: block;
	font-weight: 300;
	font-style: normal;
}
@media screen and (min-width: 960px) {
	b {
		display: inline;
	}
}
i, em { font-style: normal; }
strong { font-weight: 600; };

/*  img  */
body img {
	width: 100%;
	height: auto;
}

/*  iframe  */
body iframe {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (min-width: 960px) {
	body iframe {
		min-height: 300px;
	}
}

/*  common  */
body {
	position: relative;
	padding: 50px 0 0;
	box-sizing: border-box;
}
.container {
	width: 100%;
	margin: 0 auto;
	padding: 2em 10px;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	body {
		padding: 75.5px 0 0 0;
	}
	.container {
		padding: 4em 0;
		max-width: 960px;
	}
}





/*

    Message

*/

/*  layout  */
#message {
	display: flex;
	align-items: center;
	margin: 1em;
	padding: 0.5em 1em;
	color: #ffffff;
	border-radius: 3px;
	animation: failure 10s linear both;
}
#message.success { background-color: #8fc31f;}
#message.failure { background-color: #ea545d;}
#message p {
	margin: 0 0 0 0.75em;
}
@media screen and (min-width: 960px) {
	#message {
		max-width: 960px;
		margin: 1em auto;
	}
}
@keyframes failure {
	0% { opacity: 1;}
	2% { opacity: 1;}
	5% { opacity: 0.3;}
	12% { opacity: 1;}
	95% { opacity: 1;}
	100% { opacity: 0;}
}





/*

    Header

*/

/*  common  */
header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	background-color: #ffffff;
	z-index: 3;
}
header .container {
	position: relative;
	line-height: 0;
	padding: 10px;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	header .container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		padding: 1em;
		max-width: none !important;
	}
}

/*  a.sitetop  */
header .container a.sitetop {
	display: inline-block;
	line-height: 0;
}
header .container a.sitetop h1, 
header .container a.sitetop p {
	margin: 0;
	line-height: 0;
}
header .container a.sitetop h1 img, 
header .container a.sitetop p img {
	display: block;
	width: auto;
	height: 30px;
}
@media screen and (min-width: 1200px) {
	header .container a.sitetop h1 img, 
	header .container a.sitetop p img {
		display: block;
		width: auto;
		height: 40px;
	}
}

/*  a.menu  */
header .container a.menu {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #54bab9;
	background-image: url('./images/menu.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
header .container a.menu.close {
	background-image: url('./images/close.png');
}
@media screen and (min-width: 960px) {
	header .container a.menu {
		display: none;
	}
}

/*  nav  */
header .container nav ul.global {
	position: absolute;
	top: 50px;
	left: 0;
	display: none;
	list-style: none;
	width: 100%;
	margin: 0;
	background-color: #ffffff;
	z-index: 1;
}
header .container nav ul.global li {
	margin: 0;
}
header .container nav ul.global li+li {
	border-top: 1px solid #54bab9;
}
header .container nav ul.global li a {
	display: block;
	width: 100%;
	padding: 1em;
	color: #666666;
	text-align: center;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	header .container nav {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	header .container nav ul.global {
		position: static;
		display: flex;
		width: auto;
	}
	header .container nav ul.global li+li {
		border: none;
	}
	header .container nav ul.global li a {
		padding: 1em 0;
		font-size: 1.0rem;
	}
	header .container nav ul.global li+li a {
		padding-left: 1.5em;
	}
}
@media screen and (min-width: 1200px) {
	header .container nav ul.global li a {
		font-size: 1.3rem;
	}
}

/*  .conversions  */
header .container nav ul.conversions {
	position: absolute;
	top: 0;
	right: 50px;
	margin: 0;
}
header .container nav ul.conversions li {
	margin: 0;
	padding: 0;
}
header .container nav ul.conversions li a {
	display: block;
	width: 45px;
	height: 50px;
	padding: 5px 0;
	background-color: transparent;
	font-size: 0.75rem;
	color: #54bab9;
	text-align: center;
	box-sizing: border-box;
}
header .container nav ul.conversions li a:before {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	margin: 0 auto 2.5px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
header .container nav ul.conversions li a.firsttime:before { background-image: url('./images/firsttime.png'); }
header .container nav ul.conversions li a.reservation:before { background-image: url('./images/reservation.png'); }
@media screen and (min-width: 960px) {
	header .container nav ul.conversions {
		display: flex;
		flex-wrap: nowrap;
		position: static;
	}
	header .container nav ul.conversions li {
		margin: 0 0 0 1em;
		width: auto;
	}
	header .container nav ul.conversions li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		height: auto;
		padding: 0.25em 1.5em;
		font-size: 1.0rem;
		color: #ffffff;
		background-color: #54bab9;
	}
	header .container nav ul.conversions li a:before {
		display: inline-block;
		width: 1em;
		height: 1em;
		margin: 0 0.25em 0 0;
	}
	header .container nav ul.conversions li a.firsttime:before { background-image: url('./images/firsttime_w.png'); }
	header .container nav ul.conversions li a.reservation:before { background-image: url('./images/reservation_w.png'); }
}
@media screen and (min-width: 1200px) {
	header .container nav ul.conversions li a {
		font-size: 1.3rem;
	}
}





/*

    Footer

*/

/*  .access  */
footer .access {
	background-color: #eef8f9;
}
footer .access .container {
	padding: 0;
}
footer .access .container iframe {
	width: 100%;
	height: 250px;
}
footer .access .container .address {
	padding: 1em 10px;
	text-align: center;
	box-sizing: border-box;
}
footer .access .container .address strong {
	display: block;
	font-size: 1.25em;
	margin: 0 0 0.5em 0;
}
@media screen and (min-width: 960px) {
	footer .access .container {
		display: flex;
		align-items: center;
		padding: 4em 0;
	}
	footer .access .container iframe {
		width: 55%;
		height: 330px;
	}
	footer .access .container .address {
		width: 45%;
		padding: 0 0 0 4em;
		text-align: left;
	}
}

/*  .guide  */
footer .guide {
	background-color: #f9f5e7;
}
footer .guide .container {
	padding: 1em 2em;
}
footer .guide .container .timetable {
	display: block;
}
footer .guide .container .sitemap {
	display: none;
}
@media screen and (min-width: 960px) {
	footer .guide .container {
		display: flex;
		flex-wrap: wrap;
		padding: 4em 0;
	}
	footer .guide .container .timetable {
		width: 40%;
		padding: 0 2em 0 0;
		box-sizing: border-box;
	}
	footer .guide .container .sitemap {
		display: block;
		width: 60%;
		padding: 0 0 0 2em;
		box-sizing: border-box;
	}
	footer .guide .container .sitemap ul {
		list-style: none;
		margin: 0;
	}
	footer .guide .container .sitemap ul li {
		margin: 0;
		padding: 0.5em 0;
		box-sizing: border-box;
	}
	footer .guide .container .sitemap ul li a {
		display: block;
		color: #666666;
	}
	footer .guide .container .sitemap ul.first {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 1em 0;
	}
	footer .guide .container .sitemap ul.first > li {
		width: 33.33%;
		text-align: left;
	}
	footer .guide .container .sitemap ul.first > li > ul.second > li > a {
		font-size: 1.3rem;
	}
	footer .guide .container .sitemap ul.first > li > ul.second > li > a:before {
		content: "-";
		margin: 0 1em 0 0;
	}
}

/*  .info  */
footer section.info {
	background-color: #54bab9;
}
footer .info .container {
	text-align: center;
}
footer .info .container a.sitetop {
	display: block;
	color: #ffffff;
	text-align: center;
}
footer .info .container a.sitetop img {
	display: block;
	width: 280px;
	height: auto;
	margin: 0 auto;
}
@media screen and (min-width: 960px) {
	footer .info .container a.sitetop img {
		width: 300px;
	}
}
footer .info .container p {
	margin: 1em 0 0 0;
	color: #ffffff;
}
footer .info .container p span {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .info .container p span a.tel {
	display: flex;
	align-items: center;
	margin: 0 0.5em;
	font-size: 2em;
	color: #ffffff;
}
footer .info .container p span a.tel:before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0.25em 0 0;
	background-image: url('./images/tel_w.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
@media screen and (min-width: 960px) {
	footer .info .container p {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
footer .info .container ul.sp {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 2em 0 0;
}
footer .info .container ul.sp li {
	margin: 0 1em;
}
footer .info .container ul.sp li a {
	font-weight: 400;
	color: #ffffff;
}
@media screen and (min-width: 960px) {
	footer .info .container ul.sp {
		display: none;
	}
}



/*

    #contents

*/
/*  #contents  */
body:not([id="toppage"]) #contents {
	background-color: rgba(84,186,185,0.1);
}

/*  #c_head  */
#contents #c_head {
	background-image: url('./images/c_head.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
#contents #c_head .container h1 {
	text-align: center;
}

/*  .breadcrumbs  */
#contents nav.breadcrumbs ol {
	list-style: none;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 2em 1em;
	box-sizing: border-box;
}
#contents nav.breadcrumbs ol li {
	display: flex;
	align-items: center;
	margin: 0;
}
#contents nav.breadcrumbs ol li+li:before {
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	margin: 0 1em;
	border: 1px solid transparent;
	border-top: 1px solid #999999;
	border-right: 1px solid #999999;
	transform: rotate(45deg);
}
#contents nav.breadcrumbs ol li:nth-of-type(1),
#contents nav.breadcrumbs ol li:nth-of-type(2) {
	flex-shrink: 0;
}
#contents nav.breadcrumbs ol li a {
	font-family: sans-serif;
	color: #666666;
}
@media screen and (min-width: 960px) {
	#contents nav.breadcrumbs ol {
		max-width: 960px;
		padding: 2em 0;
	}
}

/*  #c_content  */
#contents #c_content {
	padding: 0 0 4em;
	box-sizing: border-box;
}
#contents #c_content > .container {
	padding: 0 1em;
	box-sizing: border-box;
}
#contents #c_content .container #c_main {
	padding: 1em;
	background-color: #ffffff;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	#contents #c_content .container #c_main {
		padding: 4em;
	}
}





/*

    Parts for article

*/
/**  common  **/
article div.be-item {
	word-break: break-all;
}
article > *:first-child,
article > div.be-item:first-of-type {
	margin-top: 0;
}
article > div.be-item > h2, 
article > div.be-item > h3,
article > div.be-item > p {
	margin-top: 0;
}

/**  heading  **/
article > h2,
article div.be-item > h2 {
	margin: 1em 0 0.5em;
	padding: 0.5em 1em;
	background-color: #54bab9;
	color: #ffffff;
	box-sizing: border-box;
}
article > h3,
article div.be-item > h3 {
	margin: 1em 0 0.5em;
	padding: 0.5em 0.5em 0.5em 1em;
	border-left: 5px solid #54bab9;
	background-color: rgba(84,186,185,0.1);
	box-sizing: border-box;
}

/**  time  **/
article > time {
	display: block;
	margin: 1em 0;
	text-align: right;
}

/**  parts (image)  **/
article div.be-item a img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

/** parts (imagetext) **/

/*  common  */
article div.be-item .imagetext {
	width: 100%;
	margin: 1em 0;
}
article div.be-item .imagetext a img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 960px) {
	article div.be-item .imagetext {
		display: flex;
	}
	article div.be-item .imagetext a {
		flex-shrink: 0;
		display: block;
		width: 30%;
		box-sizing: border-box;
	}
	article div.be-item .imagetext p {
		margin: 0;
	}
}

/*  .left .right  */
@media screen and (min-width: 960px) {
	article div.be-item .imagetext.left {
		flex-direction: row;
	}
	article div.be-item .imagetext.left a {
		padding: 0 2em 0 0;
	}
	article div.be-item .imagetext.right {
		flex-direction: row-reverse;
	}
	article div.be-item .imagetext.right a {
		padding: 0 0 0 2em;
	}
}

/*  .small  */
article div.be-item.small .imagetext {
	display: flex;
	align-items: center;
}
article div.be-item.small .imagetext a {
	flex-shrink: 0;
	display: block;
	padding: 0 2em 0 0;
	width: 30%;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	article div.be-item.small .imagetext a {
		width: 15%;
	}
}

/*  .large  */
@media screen and (min-width: 960px) {
	article div.be-item.large .imagetext a {
		width: 50%;
	}
}

/**  em  **/
article div.be-item em {
	font-weight: 600;
	text-decoration: underline;
}

/**  table  **/
article div.be-item > table {
	table-layout: fixed;
	width: 100%;
}
article div.be-item > table tr th,
article div.be-item > table tr td {
	font-family: sans-serif;
	color: #333333;
}
article div.be-item > table.col6 tr th,
article div.be-item > table.col6 tr td {
	width: 16.66% !important;
}
article div.be-item > table.col4 tr th,
article div.be-item > table.col4 tr td {
	width: 25% !important;
}
article div.be-item > table tr td {
	text-align: center;
}
article div.be-item > table tr td.price {
	text-align: right;
}
article div.be-item > table tr.total {
	border-top: 3px double #cccccc;
}
article div.be-item > table tr.no-border th,
article div.be-item > table tr.no-border td {
	border: none;
	background-color: transparent;
	font-weight: 400 !important;
	text-align: center;
}

/**  text-align  **/
article div.be-item.text-align-right {
	text-align: right;
}
article div.be-item.text-align-center {
	text-align: center;
}





/**

    Common modules

**/

/**  conversions  **/
ul.conversions {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 1em -0.5em;
}
ul.conversions li {
	width: 50%;
	margin: 0;
	padding: 0 0.5em;
	box-sizing: border-box;
}
ul.conversions li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.75em 0;
	font-weight: bold;
	color: #ffffff;
	background-color: #54bab9;
}
ul.conversions li a:before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	margin: 0 0.25em 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
ul.conversions li a.tel:before { background-image: url('./images/tel_w.png'); }
ul.conversions li a.firsttime:before { background-image: url('./images/firsttime_w.png'); }
ul.conversions li a.reservation:before { background-image: url('./images/reservation_w.png'); }
@media screen and (min-width: 960px) {
	ul.conversions li a {
		font-size: 1.25em;
	}
}





/**

	.btn

**/

/*  common  */
.btn {
	margin: 1em auto;
}
.btn.left {
	text-align: left;
}
.btn.right {
	text-align: right;
}
.btn a {
	display: inline-block;
	padding: 0.5em 2em;
	border: 1px solid #333333;
	font-weight: bold;
	color: #333333;
	text-align: center;
	box-sizing: border-box;
}

/*  .conversion  */
.btn.conversion a {
	border: none;
	background-color: #54bab9;
	color: #ffffff;
}
.btn.conversion a:before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0.5em 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.btn.conversion a.tel:before { background-image: url('./images/tel_w.png'); }
.btn.conversion a.firsttime:before { background-image: url('./images/firsttime_w.png'); }
.btn.conversion a.reservation:before { background-image: url('./images/reservation_w.png'); }

/*  .download  */
.btn a.download {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5em 2em;
	border: 1px solid #54bab9;
	background-color: #ffffff;
	width: 100%;
}
.btn a.download:before {
	flex-shrink: 0;
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	margin: 0 0.5em 0 0;
	background-image: url('./images/download.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

/**  .note  **/
ul.note {
	list-style: none;
}
ul.note li {
	position: relative;
	margin: 0;
	padding: 0 0 0 1.5em;
	text-align: left !important;
	box-sizing: border-box;
}
ul.note li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
	display: block;
}

/**  .timetable  **/
.timetable table {
	table-layout: fixed;
	width: 100%;
	border: 1px solid #54bab9;
}
.timetable table tr th {
	width: 12.5%;
}
.timetable table tr th:nth-of-type(1) {
	width: 30%;
}
.timetable table tr th,
.timetable table tr td {
	border: none;
	background-color: transparent;
	text-align: center;
	vertical-align: middle;
}
.timetable table tr th small,
.timetable table tr td small {
	font-size: 1.0rem;
}
.timetable table thead tr {
	background-color: #54bab9;
	color: #ffffff;
}
.timetable table tbody tr {
	background-color: #ffffff;
	border-top: 1px solid #54bab9;
}
@media screen and (min-width: 960px) {
	.timetable table tr th small,
	.timetable table tr td small {
		font-size: 1.2rem;
	}
}

/** .line-table **/
table.line-table {
	display: inline-block;
	width: auto !important;
	padding: 1em;
	background-color: #f2f2f2;
	box-sizing: border-box;
}
table.line-table tr + tr{
	border-top: 1px solid #999999;
}
table.line-table tr th, 
table.line-table tr td {
	border: none;
	background-color: transparent;
	text-align: left !important;
}

/**  .line-list  **/
ul.line-list {
	list-style: none;
	margin: 0;
}
ul.line-list li {
	margin: 0;
	padding: 1em 0;
	box-sizing: border-box;
}
ul.line-list li+li {
	border-top: 1px solid rgba(84,186,185,0.2);
}
ul.line-list li a {
	position: relative;
	display: block;
	padding: 0 0 0 6em;
	color: #666666;
	box-sizing: border-box;
}
ul.line-list li a time {
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Belleza", sans-serif;
	color: #999999;
}

/**  .img-txt  **/
.img-txt {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.img-txt .img {
	width: 100%;
}
.img-txt .img img {
	width:  100%;
	height: auto;
	object-fit: cover;
	vertical-align: top;
}
.img-txt .img small {
	display: block;
	text-align: right;
}
.img-txt .txt {
	width: 100%;
	padding: 1em 0;
	box-sizing: border-box;
}
.img-txt .txt > *:first-child {
	margin-top: 0;
}
.img-txt .txt > *:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 960px) {
	.img-txt .img {
		width: 30%;
	}
	.img-txt .txt {
		width: 70%;
		padding: 0 0 0 2em;
	}
	.img-txt.right {
		flex-direction: row-reverse;
	}
	.img-txt.right .txt {
		padding: 0 2em 0 0;
	}
}

/** .img-txt.horizontal  **/
.img-txt.horizontal {
	align-items: center;
}
.img-txt.horizontal .img {
	width: 50%;
}
.img-txt.horizontal .txt {
	width: 50%;
	padding: 0 0 0 2em;
	box-sizing: border-box;
}

/** .img-txt.vertical  **/
@media screen and (min-width: 960px) {
	.img-txt.vertical .img {
		width: 100%;
	}
	.img-txt.vertical .txt {
		width: 100%;
		padding: 2em 0;
	}
}

/** .column-list  **/
.column-list {
	list-style: none;
	margin: 0;
}
.column-list > * {
	margin: 1em 0;
}
.column-list > * > img {
	width: 100%;
	height: auto;
}
.column-list > * > *:first-child {
	margin-top: 0;
}
.column-list > * > *:last-child {
	margin-bottom: 0;
}
@media screen and (min-width: 960px) {
	.column-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -0.5em;
	}
	.column-list > * {
		margin: 0;
		padding: 0.5em;
		box-sizing: border-box;
	}
	.column-list > * > * {
		height: 100%;
	}
}

/** .column-list.one-half  **/
@media screen and (min-width: 960px) {
	.column-list.one-half > * {
		width: 50%;
	}
}

/** .column-list.one-third  **/
@media screen and (min-width: 960px) {
	.column-list.one-third > * {
		width: 33.33%;
	}
}
/** .column-list.one-quarter  **/
@media screen and (min-width: 960px) {
	.column-list.one-quarter > * {
		width: 25%;
	}
}

/**  .index  **/
.index {
	padding: 2em;
	border: 1px solid #eeeeee;
	box-sizing: border-box;
}
.index:before {
	content: "目次";
	display: block;
	margin: 0 0 1em 0;
	width: 100%;
	font-size: 1.5em;
	font-weight: bold;
	color: #333333;
}
.index ul {
	list-style: none;
	margin: 0 auto;
}
.index ul li {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0 2em;
	box-sizing: border-box;
}
.index ul li:before {
	position: absolute;
	left: 0;
	content: "";
	display: block;
}
.index ul li:nth-of-type(1):before { content: "1."; }
.index ul li:nth-of-type(2):before { content: "2."; }
.index ul li:nth-of-type(3):before { content: "3."; }
.index ul li:nth-of-type(4):before { content: "4."; }
.index ul li:nth-of-type(5):before { content: "5."; }
.index ul li:nth-of-type(6):before { content: "6."; }
.index ul li:nth-of-type(7):before { content: "7."; }
.index ul li:nth-of-type(8):before { content: "8."; }
.index ul li:nth-of-type(9):before { content: "9."; }
.index ul li:nth-of-type(10):before { content: "10."; }
.index ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	color: #666666;
}
.index ul li a:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin: 0.5em 0 0;
	border: 0.5em solid transparent;
	border-top: 0.5em solid #54bab9;
}
.index ul li a:hover {
	color: #54bab9;
	text-decoration: underline;
}
@media screen and (min-width: 960px) {
	.index {
		padding: 4em;
	}
	.index ul {
		column-count: 2;
	}
}

/**  .emphasis  **/
.emphasis {
	margin: 1em 0;
	padding: 2em;
	background-color: rgba(84,186,185,0.1);
	box-sizing: border-box;
}
.emphasis *:first-child {
	margin-top: 0;
}
.emphasis *:last-child {
	margin-bottom: 0;
}
.emphasis strong:first-of-type {
	display: block;
	font-size: 1.25em;
	font-weight: 500;
	color: #333333;
}
.emphasis.center {
	text-align: center;
}
.emphasis.low {
	background-color: #f2f2f2;
}
.emphasis.middle {
	background-color: #f9f5e7;
}
.emphasis.high {
	background-color: #ffffff;
	border: 1px solid #54bab9;
	color: #54bab9;
}
.emphasis.woman {
	background-color: rgba(242,213,227,0.5);
}
.emphasis.man {
	background-color: rgba(171,225,250,0.3);
}

/**  .reservation  **/
.reservation {
	padding: 1em;
	background-color: #eeeeee;
	box-sizing: border-box;
	text-align: center;
}
.reservation .emphasis {
	padding: 1em !important;
}
.reservation .column-list {
	align-items: flex-end;
}
@media screen and (min-width: 960px) {
	.reservation {
		padding: 2em;
	}
}

/**
	.step
**/

/*  common  */
.step {
	margin: 2em 0;
}
.step ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}
.step ul li {
	width: 16.66%;
	margin: 0;
	padding: 0 1em 0 0;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	.step {
		margin: 4em 0;
	}
	.step ul li {
		padding: 0 2em 0 0;
	}
}

/*  .label  */
.step ul li .label {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 1em 0;
	font-family: "Belleza", sans-serif;
	font-size: 5px;
	color: #ffffff;
	text-align: center;
	line-height: 1;
	box-sizing: border-box;
}
.step ul li:nth-of-type(1) .label { background-color: #8091f2; }
.step ul li:nth-of-type(2) .label { background-color: #f288b9; }
.step ul li:nth-of-type(3) .label { background-color: #f2d5e3; }
.step ul li:nth-of-type(4) .label { background-color: #54bab9; }
.step ul li:nth-of-type(5) .label { background-color: #abe1fa; }
.step ul li:nth-of-type(6) .label { background-color: #ffd652; }
.step ul li .label:after {
	position: absolute;
	top: 0;
	right: -4em;
	bottom: 0;
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	border: 2em solid transparent;
}
.step ul li:nth-of-type(1) .label:after { border-left: 2em solid #8091f2; }
.step ul li:nth-of-type(2) .label:after { border-left: 2em solid #f288b9; }
.step ul li:nth-of-type(3) .label:after { border-left: 2em solid #f2d5e3; }
.step ul li:nth-of-type(4) .label:after { border-left: 2em solid #54bab9; }
.step ul li:nth-of-type(5) .label:after { border-left: 2em solid #abe1fa; }
.step ul li:nth-of-type(6) .label:after { border-left: 2em solid #ffd652; }
.step ul li .label i {
	font-size: 2em;
	margin: 0 0 0 0.25em;
}
@media screen and (min-width: 960px) {
	.step ul li .label {
		font-size: 15px;
	}
}

/*  .title  */
.step ul li .title {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 1em 0 0 0;
	color: #333333;
	font-size: 1.125em;
	font-weight: 500;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
@media screen and (min-width: 960px) {
	.step ul li .title {
		writing-mode: horizontal-tb;
	}
}

/**
	.step-list
**/

/*  common  */
.step-list {
	margin: 2em 0;
}
.step-list ul {
	list-style: none;
	margin: 0;
}
.step-list ul li {
	position: relative;
	margin: 0;
	padding: 2em;
	box-sizing: border-box;
}

/*  .img-txt  */
.step-list ul li .img-txt {
	align-items: stretch;
	box-shadow: 5px 5px 5px #eeeeee;
}
.step-list ul li .img-txt .img {
	padding: 0;
}
.step-list ul li .img-txt .img img {
	height: 100%;
	object-fit: cover;
}
.step-list ul li .img-txt .txt {
	padding: 2em;
}
@media screen and (min-width: 960px) {
	.step-list ul li .img-txt .txt {
		padding: 2em;
	}
}

/*  .label  */
.step-list ul li .label {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	font-family: "Belleza", sans-serif;
	color: #ffffff;
	text-align: center;
	line-height: 1;
	box-sizing: border-box;
}
.step-list ul li:nth-of-type(1) .label { background-color: #8091f2; }
.step-list ul li:nth-of-type(2) .label { background-color: #f288b9; }
.step-list ul li:nth-of-type(3) .label { background-color: #f2d5e3; }
.step-list ul li:nth-of-type(4) .label { background-color: #54bab9; }
.step-list ul li:nth-of-type(5) .label { background-color: #abe1fa; }
.step-list ul li:nth-of-type(6) .label { background-color: #ffd652; }
.step-list ul li .label:after {
	position: absolute;
	left: 0;
	bottom: -2em;
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	border: 1em solid transparent;
}
.step-list ul li:nth-of-type(1) .label:after { border-top: 1em solid #8091f2; border-right: 1em solid #8091f2;}
.step-list ul li:nth-of-type(2) .label:after { border-top: 1em solid #f288b9; border-right: 1em solid #f288b9;}
.step-list ul li:nth-of-type(3) .label:after { border-top: 1em solid #f2d5e3; border-right: 1em solid #f2d5e3;}
.step-list ul li:nth-of-type(4) .label:after { border-top: 1em solid #54bab9; border-right: 1em solid #54bab9;}
.step-list ul li:nth-of-type(5) .label:after { border-top: 1em solid #abe1fa; border-right: 1em solid #abe1fa;}
.step-list ul li:nth-of-type(6) .label:after { border-top: 1em solid #ffd652; border-right: 1em solid #ffd652;}
.step-list ul li .label i {
	font-size: 2em;
	margin: 0 0 0 0.5em;
}

/**  .check-list  **/
ul.check-list {
	list-style: none;
}
ul.check-list li {
	position: relative;
	margin: 0;
	padding: 0 0 0 2em;
	box-sizing: border-box;
}
ul.check-list li:before {
	position: absolute;
	top: 0.25em;
	left: 0;
	content: "";
	display: block;
	width: 1.5em;
	height: 1em;
	margin: auto;
	background-image: url('./images/check.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/**
	.card-list
**/

/*  common  */
ul.card-list {
	list-style: none;
}
ul.card-list li {
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	ul.card-list {
		display: flex;
		flex-wrap: wrap;
	}
	ul.card-list li {
		width: 50%;
	}
}

/*  .frame  */
ul.card-list li .frame {
	width: 100%;
	height: 100%;
	padding: 2em;
	background-color: rgba(84,186,185,0.1);
	box-sizing: border-box;
}
ul.card-list li .frame .title {
	display: flex;
	align-items: center;
	margin: 0;
	font-size: 1.5em;
}
ul.card-list li .frame .title span {
	flex-shrink: 0;
	display: block;
	margin: 0 30px 0 0;
	font-family: "Belleza", sans-serif;
	font-size: 5.0rem;
	color: rgba(84,186,185,0.5);
	text-align: center;
	line-height: 1;
}
ul.card-list li .frame .title span small {
	display: block;
	font-size: 0.25em;
}
ul.card-list li .frame img {
	display: block;
	margin: 1em 0;
	padding: 0 0 0 80px;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}
ul.card-list li .frame .content {
	margin: 1em 0 0;
}





/**
	.label-list
**/

/*  common  */
ul.label-list {
	list-style: none;
	margin: 1em auto;
}
ul.label-list li {
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}

/*  .frame  */
ul.label-list li .frame {
	width: 100%;
	padding: 2em;
	background-color: rgba(84,186,185,0.1);
	box-sizing: border-box;
}
ul.label-list li .frame .title {
	display: flex;
	align-items: center;
	margin: 0;
	font-size: 1.5em;
}
ul.label-list li .frame .title span {
	flex-shrink: 0;
	display: block;
	margin: 0 30px 0 0;
	font-family: "Belleza", sans-serif;
	font-size: 5.0rem;
	color: rgba(84,186,185,0.5);
	text-align: center;
	line-height: 1;
}

/*  .woman  */
ul.label-list.woman li .frame {
	background-color: rgba(242,213,227,0.5);
}
ul.label-list.woman li .frame .title span {
	color: #f288b9;
}

/*  .man  */
ul.label-list.man li .frame {
	background-color: rgba(171,225,250,0.3);
}
ul.label-list.man li .frame .title span {
	color: #abe1fa;
}





/**  dl.faq  **/
dl.faq dt,
dl.faq dd {
	margin: 1em 0;
}
dl.faq dt {
	position: relative;
	display: flex;
	align-items: center;
	padding: 1em 5em;
	border-radius: 9999px;
	background-color: #f2f2f2;
	font-weight: normal;
	box-sizing: border-box;
	cursor: pointer;
}
dl.faq dt:before {
	position: absolute;
	left: 1em;
	content: "Q.";
	display: block;
	font-family: "Belleza", sans-serif;
	font-size: 2em;
	color: #54bab9;
}
dl.faq dt:after {
	position: absolute;
	right: 1em;
	content: "＋";
	display: block;
	font-family: sans-serif;
	font-size: 2em;
	color: #54bab9;
	line-height: 0;
}
dl.faq dt.open:after {
	position: absolute;
	right: 1em;
	content: "ー";
	display: block;
	font-family: sans-serif;
	font-size: 2em;
	color: #54bab9;
	line-height: 0;
}
dl.faq dd {
	position: relative;
	display: none;
	align-items: center;
	padding: 1em 1em 1em 5em;
	box-sizing: border-box;
}
dl.faq dd:before {
	position: absolute;
	top: 1em;
	left: 1em;
	content: "A.";
	display: block;
	font-family: "Belleza", sans-serif;
	font-size: 2em;
	color: #f288b9;
	line-height: 0;
}





/**  .calc-list  **/
.calc-list ul {
	list-style: none;
}
.calc-list ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 1em;
	background-color: #ffffff;
	box-sizing: border-box;
}
.calc-list ul li+li {
	position: relative;
	margin: 3em 0 0 0;
}
.calc-list ul li+li:before {
	position: absolute;
	top: -2em;
	content: "＋";
	display: block;
}
.calc-list ul li .title {
	width: 70%;
	text-align: center;
}
.calc-list ul li .price {
	width: 30%;
	text-align: right;
}
.calc-list .total {
	display: block;
	font-size: 1.25em;
	text-align: right;
}

/**  .calc-list.horizontal  **/
.calc-list.horizontal ul li {
	background-color: #eeeeee;
	text-align: center;
}
.calc-list.horizontal ul li:last-of-type:before {
	content: "=";
	transform: rotate(90deg);
}
@media screen and (min-width: 960px) {
	.calc-list.horizontal ul {
		display: flex;
		align-items: center;
	}
	.calc-list.horizontal ul li+li {
		margin: 0 0 0 3em;
	}
	.calc-list.horizontal ul li+li:before {
		top: auto;
		left: -2em;
	}
	.calc-list.horizontal ul li:last-of-type:before {
		transform: rotate(0deg);
	}
}




/*  facility-list  */
ul.facility-list {
	overflow: hidden;
}
ul.facilitylist li {
	float: left;
	width: 50%;
	margin: 0;
}
ul.facilitylist li:before {
	content: none;
}
ul.facilitylist li div.image {
	position: relative;
	height: 0;
	padding-bottom: 66.6%;
	overflow: hidden;
}
ul.facilitylist li div.image a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	padding: 5px;
}
ul.facilitylist li div.image a img {
	display: block;
	width: 100%;
}
ul.facilitylist li p {
	margin: 5px 5px 1em;
	font-size: 1.3rem;
	font-size: 13px;
}
@media screen and (min-width: 800px) {
	ul.facilitylist li {
		float: left;
		width: 33.3%;
	}
}

/**  .title-list  **/
ul.title-list {
	list-style: none;
	margin: 2em 0;
	padding: 1em 2em;
	border: 1px solid #54bab9;
	box-sizing: border-box;
}
ul.title-list li {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}
ul.title-list li+li {
	border-top: 1px solid #54bab9;
}
ul.title-list li strong {
	flex-shrink: 0;
	width: 20%;
	color: #54bab9;
}



/**  .page(pager)  **/
nav.page {
	display: block;
	margin: 4em auto 0;
}
nav.page ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
}
nav.page ol li {
	flex-shrink: 0;
	margin: 0;
	padding: 0.5em;
	box-sizing: border-box;
}
nav.page ol li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	border: 1px solid #54bab9;
	color: #54bab9;
	text-align: center;
	box-sizing: border-box;
}
nav.page ol li.current a {
	border: none;
	background-color: #54bab9;
	color: #ffffff;
}





/**  .pr  **/
.pr .catch {
	padding: 4em 1em;
	background-image: url('./images/pr.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center left;
	font-size: 2em;
	font-weight: bold;
	color: #333333;
	box-sizing: border-box;
}
.pr .slider {
	padding: 2em;
	margin-top: -8em;
	box-sizing: border-box;
}
.pr .slider h3 {
	margin: 0;
}
.pr .slider small {
	display: block;
	text-align: right;
}
@media screen and (min-width: 960px) {
	.pr .catch {
		padding: 8em 2em;
	}
	.pr .slider {
		padding: 4em;
		margin-top: -16em;
	}
}



/**  .slider  **/
.slider ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
}
.slider ul li {
	width: 50%;
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}
.slider ul li a {
	display: block;
	box-shadow: 5px 5px 5px #eeeeee;
}
.slider ul li a img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 960px) {
	.slider ul li {
		width: 33.33%;
	}
}





/**  .lead  **/
.lead {
	margin: 2em auto;
	font-size: 1.25em;
	font-weight: 600;
}



/**

    #download

**/

#download .btn a.download {
	justify-content: flex-start;
	text-align: left;
}
@media screen and (min-width: 960px) {
	#download .btn a.download {
		justify-content: center;
		text-align: center;
	}
}




/*

    #cost

*/
#cost 




/*

    Mailform

*/

/*  form  */
div.mailform dl {
	margin: 2em 0;
}
div.mailform dl dt {
	display: flex;
	align-items: center;
}
div.mailform dl dt span,
div.mailform dl dt em {
	display: inline-block;
	margin-right: 0.5em;
	padding: 0.125em 0.5em;
	font-size: 1.1rem;
	font-style: normal;
	color: #ffffff;
}
div.mailform dl dt span { background-color: #999999;}
div.mailform dl dt em { background-color: var(--second-color);}
div.mailform dl dd {
	display: block;
	margin: 0.5em 0 2em;
}
div.mailform dl dd input[type=text],
div.mailform dl dd textarea {
	width: 100%;
	margin-bottom: 0.5em;
}
div.mailform dl dd select {
	width: auto;
	margin-right: 0.5em;
}
div.mailform dl dd.address input[type=text].zip1 {
	width: 5em;
}
div.mailform dl dd.address input[type=text].zip2 {
	width: 8em;
}
div.mailform dl dd.address input[type=text].pref {
	width: 8em;
}
form p.submit {
	text-align: center;
}

/*  error  */
div.mailform p.errordetect {
	padding: 0.5em;
	background-color: var(--warning-color);
	color: #ffffff;
}
form dl dd.error p.errormessage {
	margin: 0;
	color: var(--warning-color);
	font-size: 1.3rem;
}

/*  confirm  */
form.confirm dl {
	padding: 1em;
	background-color: #f2f2f2;
}






/*

    #toppage

*/

/*  common  */
#toppage h2 {
	text-align: center;
}
@media screen and (min-width: 960px) {
	#toppage .container {
		max-width: 1200px;
	}
}

/*
	#mv
*/

/*  common  */
#toppage #mv {
	overflow: hidden;
}
#toppage #mv ul {
	display: flex;
	list-style: none;
	margin: 0;
}
#toppage #mv ul li {
	flex-shrink: 0;
	margin: 0;
	width: 100%;
	height: 400px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#toppage #mv ul li .container {
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 960px) {
	#toppage #mv ul li {
		width: 100%;
		height: 650px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	#toppage #mv ul li .container {
		max-width: none;
	}
}

/*  .sp/.pc  */
#toppage #mv ul.sp {
	display: flex;
}
#toppage #mv ul.pc {
	display: none;
}
@media screen and (min-width: 960px) {
	#toppage #mv ul.sp {
		display: none;
	}
	#toppage #mv ul.pc {
		display: flex;
	}
}

/*  .copy  */
#toppage #mv ul li .container .copy {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
}
#toppage #mv ul li .container .copy strong {
	display: block;
	width: 100%;
	padding: 0 1.5em;
	font-size: 1.75em;
	font-weight: 600;
	color: #ffffff;
	text-align: center;
	box-sizing: border-box;
}
@media screen and (min-width: 960px) {
	#toppage #mv ul li .container .copy strong {
		font-size: 2.0em;
	}
	#toppage #mv ul li .container .copy strong.left {
		text-align: left;
	}
	#toppage #mv ul li .container .copy strong.right {
		text-align: right;
	}
}


/*  .scroll  */
#toppage #mv ul li .container a.scroll {
	position: absolute;
	right: 25px;
	bottom: 25px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 90px;
	height: 90px;
	border-radius: 9999px;
	border: 1px solid #ffffff;
	cursor: pointer;
}
#toppage #mv ul li .container a.scroll span {
	display: block;
	width: 100%;
	font-size: 1.5em;
	font-family: "Belleza", sans-serif;
	color: #ffffff;
	text-align: center;
}
#toppage #mv ul li .container a.scroll span:after {
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	margin: 0 auto;
	border: 1px solid transparent;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transform: rotate(45deg);
}
@media screen and (min-width: 960px) {
	#toppage #mv ul li .container a.scroll {
		left: 0;
		right: 0;
		bottom: 50px;
		width: 135px;
		height: 135px;
		margin: auto;
	}
}





/*

    #shortcut

*/
#toppage #shortcut .container {
	padding: 0;
}
#toppage #shortcut .container ul.shortcut {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 1em 0;
	background-color: #f7ffe5;
	box-sizing: border-box;
}
#toppage #shortcut .container ul.shortcut li {
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}
#toppage #shortcut .container ul.shortcut li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 105px;
	height: 105px;
	background-color: #ffffff;
	box-shadow: 5px 5px 5px #eeeeee;
}
#toppage #shortcut .container ul.shortcut li a span.title {
	display: block;
	font-size: 1.25em;
	color: #54bab9;
	text-align: center;
	line-height: 1;
}
#toppage #shortcut .container ul.shortcut li a span.title:before {
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	margin: 0 auto 0.5em;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
#toppage #shortcut .container ul.shortcut li.ivf a span.title:before { background-image: url('./images/shortcut_ivf.png'); }
#toppage #shortcut .container ul.shortcut li.ft a span.title:before { background-image: url('./images/shortcut_ft.png'); }
#toppage #shortcut .container ul.shortcut li.gynecology a span.title:before { background-image: url('./images/shortcut_gynecology.png'); }
#toppage #shortcut .container ul.shortcut li.cost a span.title:before { background-image: url('./images/shortcut_cost.png'); }
#toppage #shortcut .container ul.shortcut li.seminar a span.title:before { background-image: url('./images/shortcut_seminar.png'); }
#toppage #shortcut .container ul.shortcut li.dl a span.title:before { background-image: url('./images/shortcut_download.png'); }
#toppage #shortcut .container ul.shortcut li.ef a span.title:before { background-image: url('./images/shortcut_ef.png'); }
@media screen and (min-width: 960px) {
	#toppage #shortcut .container {
		padding: 2em 0;
	}
	#toppage #shortcut .container ul.shortcut {
		background-color: transparent;
	}
	#toppage #shortcut .container ul.shortcut li a {
		width: 140px;
		height: 140px;
		border: 1px solid #54bab9;
		background-color: transparent;
		box-shadow: none;
	}
	#toppage #shortcut .container ul.shortcut li a span.title:before {
		width: 60px;
		height: 60px;
	}
}





/*

	#news

*/
/*  common  */
#toppage #news .container ul {
	list-style: none;
	margin: 0;
}
#toppage #news .container ul li {
	margin: 0;
}

/*  ul.tab  */
#toppage #news .container ul.tab {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2.5px;
}
#toppage #news .container ul.tab li {
	width: 50%;
	padding: 2.5px;
	box-sizing: border-box;
}
#toppage #news .container ul.tab li a {
	display: block;
	padding: 0.5em 0;
	background-color: rgba(84,186,185,0.5);
	font-size: 1.5em;
	color: #ffffff;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
}
#toppage #news .container ul.tab li a.current {
	background-color: #54bab9;
}
@media screen and (min-width: 960px) {
	#toppage #news .container ul.tab li {
		width: 25%;
	}
}

/*  ul.type  */
#toppage #news .container ul.type {
	margin: 0 -2.5px;
}
#toppage #news .container ul.type > li {
	padding: 2.5px;
	box-sizing: border-box;
}

/*  .frame  */
#toppage #news .container .frame {
	padding: 2em;
	border: 1px solid #54bab9;
	box-sizing: border-box;
}
#toppage #news .container .frame p.btn {
	margin-bottom: 0;
	text-align: center;
}
#toppage #news .container .frame p.btn a {
	padding: 0.5em 2em;
	border: 1px solid #54bab9;
	color: #54bab9;
}
@media screen and (min-width: 960px) {
	#toppage #news .container .frame {
		padding: 4em;
	}
}





/*

	#features

*/
/*  common  */
#toppage #features {
	background-color: rgba(84,186,185,0.1);
}

/*  .card-list  */
#toppage #features .container ul.card-list li .frame {
	background-color: #ffffff;
}
@media screen and (min-width: 960px) {
	#toppage #features .container ul.card-list li {
		width: 33.33%;
	}
}



/*

	#doctor

*/
#toppage #doctor {
	background-color: #f9f5e7;
}
#toppage #doctor .container .img-txt .img {
	width: 40%;
}
#toppage #doctor .container .img-txt .txt {
	width: 60%;
}
#toppage #doctor .container .img-txt .txt p strong {
	display: block;
	margin: 0 0 1em 0;
	font-size: 1.25em;
}
@media screen and (min-width: 960px) {
	#toppage #doctor .container .img-txt {
		margin: 0 auto;
		max-width: 600px;
	}
}





/*

	#database

*/
#toppage #database .container ul {
	list-style: none;
	margin: 0;
}
#toppage #database .container ul li {
	margin: 2em 0;
	padding: 0 2em;
	box-sizing: border-box;
}
#toppage #database .container ul li a {
	display: block;
	width: 100%;
	padding: 1.5em;
	border-radius: 10px;
	border: 1px solid #cccccc;
	background-color: #eeeeee;
	color: #666666;
	font-size: 1.5em;
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
}
#toppage #database .container ul li.faq a {
	background-image: url('./images/question.png');
	background-repeat: no-repeat;
	background-position: center left;
	background-size: auto 125%;
}
#toppage #database .container ul li.result a {
	background-image: url('./images/result.png');
	background-repeat: no-repeat;
	background-position: center right;
	background-size: auto 125%;
}
@media screen and (min-width: 960px) {
	#toppage #database .container ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		max-width: 960px;
		margin: 0 auto;
	}
	#toppage #database .container ul li {
		width: 50%;
	}

}
