@charset "UTF-8";
/* common parts
============================================================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.red {
	color: #cb3f3f;
}
.lgreen {
	color: #8dc031;
}
.orange {
	color: #ea6854;
}
.brown {
	color: #552e31;
}
.pink {
	color: #f97c92
}
.white {
	color: #fff !important;
}
.text-small {
	font-size: 80% !important;
}
.text-normal {
	font-size: 100% !important;
}
.text-smedium {
	font-size: 115% !important;
}
.text-medium {
	font-size: 130% !important;
}
.text-large {
	font-size: 160% !important;
}
.text-xlarge {
	font-size: 200% !important;
}
.bold {
	font-weight: bold;
}
.uline {
	text-decoration: underline;
}
.marker {
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, #fbfea4 0%);
}
.noline {
	text-decoration: none;
}
.noline a {
	text-decoration: none;
}
.clear {
	clear: both;
}
.block {
	display: block;
}
.radius, .radius img {
	border-radius: 0.75rem;
}
.disc li {
	list-style-type: disc;
}
.mb00 {
	margin-bottom: 0 !important;
}
.mb005 {
	margin-bottom: 0.5rem !important;
}
.mb01 {
	margin-bottom: 1rem !important;
}
.mb02 {
	margin-bottom: 2rem !important;
}
.mb03 {
	margin-bottom: 3rem !important;
}
.mb04 {
	margin-bottom: 4rem !important;
}
.mb05 {
	margin-bottom: 5rem !important;
}
.mt00 {
	margin-top: 0 !important;
}
.mt005 {
	margin-top: 0.5rem !important;
}
.mt01 {
	margin-top: 1rem !important;
}
.mt02 {
	margin-top: 2rem !important;
}
.mt03 {
	margin-top: 3rem !important;
}
.table_container {
	width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.table {
	border-collapse: collapse;
	width: 100%;
	margin: 0 auto 2rem;
	color: #222;
}
.table th, .table td {
	background: #fff none repeat scroll 0 0;
	border: solid 1px #ccc;
	padding: 1rem;
	font-size: 0.9375rem;
}
.table th {
	background: #f5f5f5;
	white-space: nowrap;
}
@media screen and (max-width: 48em) {
	.br_sp {
		display: block;
	}
	.br_pc {
		display: none;
	}
	.text-normal {
		font-size: 100% !important;
	}
	.text-smedium {
		font-size: 105% !important;
	}
	.text-medium {
		font-size: 115% !important;
	}
	.text-large {
		font-size: 130% !important;
	}
	.text-xlarge {
		font-size: 165% !important;
	}
	.text-left-sp {
		text-align: left !important;
	}
	.table th {
	white-space: normal;
}.table th, .table td {
	padding: 0.65rem;
	font-size: 0.875rem;
}
}
@media screen and (max-width: 39.99875em) {
	.table th, .table td {
	padding: 0.5rem;
	font-size: 0.8125rem;
}
	.table.break th, .table.break td {
		display: block;
		width: 100%;
	}
	.table.break th, .table.break td {
		border: none;
	}
	.text-left-sp {
		text-align: left !important;
	}
	.grid-container {
		padding-right: 1.125rem;
		padding-left: 1.125rem;
	}
}
/* float
============================================================================================================ */

.float-left-img {
	float: left;
	margin: 0 1.85rem 1.5rem 0;
	width: 35%;
	text-align: center;
}
.float-right-img {
	float: right;
	margin: 0 0 1.5rem 1.85rem;
	width: 35%;
	text-align: center;
}
.float-left-img.small, .float-right-img.small {
	width: 25%;
}
.float-left-img.large, .float-right-img.large {
	width: 45%;
}
.clear {
	clear: both !important;
}
.br_sp {
	display: none;
}
@media screen and (max-width: 48em) {
	.br_sp {
		display: block;
	}
	.br_pc {
		display: none;
	}
}
@media screen and (max-width: 39.99875em) {
	.float-left-img, .float-right-img {
		float: none;
		margin: 0;
		margin-bottom: 1.5rem;
		width: 100%;
	}
}
.bl_card { display:flex;}
/* layout
============================================================================================================ */

.site_header {
	padding: 0.5rem 0;
}
@media screen and (max-width: 63.99875em) {
	.site_header {
		padding: 70px 0 0;
	}
}
@media screen and (max-width: 48em) {
	.site_header h1 {
		font-size: 0.7rem;
	}
	.site_header {
		margin-bottom: 1rem;
	}
	.site_header h1 {
		font-size: 0.7rem;
	}
	.site_header .logo img {
		width: 90%;
	}
}
@media screen and (max-width: 39.99875em) {
	.site_header_contact .tel {
		width: 100%;
		text-align: center;
		float: none;
	}
	.site_header_contact .yoyaku {
		width: 100%;
		float: none;
		text-align: center;
		padding: 1rem 0.5rem 0;
	}
	.site_header .logo {
		display: none;
	}
}
.site_menu {
	background-color: #ffc8bf;
	padding: 1rem 0 0.8125rem;
	color: #660408;
	font-weight: 600;
	overflow: hidden;
}
.site_menu ul {
	margin: 0;
}
.site_menu li {
	position: relative;
	display: block;
	line-height: 1.25em;
	padding: 0 0.875rem 0 2rem;
	font-size: 0.875rem;
	float: left;
}
.site_menu li:first-child {
	padding: 0 0.75rem 0 0;
	font-size: 1.5rem;
}
.site_menu li:first-child:before {
	content: none;
}
.site_menu li:before {
	content: "/";
	position: absolute;
	top: 0.5rem;
	font-size: 2rem;
	left: 0;
	display: block;
}
@media screen and (max-width: 1024px) {
	.site_menu li {
	padding: 0 0.75rem 0 1.75rem;
	font-size: 0.85rem;
}
}
@media screen and (max-width: 48em) {
	.site_menu {
		display: none;
	}
}
.sec_heading {
	font-size: 1.65rem;
	color: #541c1d;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 1.85rem;
	padding-top: 3rem;
	position: relative;
}
.sec_heading::before {
	content: url(../img/heading_icon.png);
	width: 140px;
	height: auto;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	position: absolute;
}
.sec_heading2 {
	font-size: 1.25rem;
	padding: 0.4rem 0.5rem 0.4rem 1.25rem;
	position: relative;
	margin-bottom: 1rem;
}
.sec_heading2::before {
	content: "";
	width: 4px;
	height: 100%;
	display: block;
	border-radius: 8px;
	background-color: #c74141;
	position: absolute;
	bottom: 0;
	left: 0;
}
.sec_heading3 {
	padding: 0.5rem 1rem;
	font-size: 1.25rem;
	margin-bottom: 1rem;
	background: repeating-linear-gradient( 40deg, #fff, #fff 4px, rgba(238, 246, 230, 1) 4px, rgba(238, 246, 230, 1) 6px);
}
@media screen and (max-width: 63.99875em) {
	.sec_heading {
		font-size: 1.75rem;
	}
}
@media screen and (max-width: 39.99875em) {
	.sec_heading {
		font-size: 1.35rem;
		letter-spacing: -0.1px;
	}
}
.section {
	margin-bottom: 5rem;
	overflow: hidden;
}
.section_wrap {
	padding: 4rem 0 3rem;
	margin-bottom: 4.5rem;
	background-color: #f9f2e6;
}
.section_lined {
	border: 1px solid #e9988b;
	padding: 2rem 2rem 0.5rem;
	margin-bottom: 2rem;
	clear: both;
}
.section_lined .sec_heading3 {
	padding: 0.5rem 1rem;
	font-size: 1.25rem;
	margin-bottom: 1rem;
	background: repeating-linear-gradient( 40deg, #fff, #fff 4px, rgba(233, 152, 139, 0.25) 4px, rgba(233, 152, 139, 0.25) 6px);
}
@media screen and (max-width: 39.99875em) {
	.section {
		margin-bottom: 2rem;
	}
	.section_lined {
	padding: 1rem 1rem 0.5rem;
	
}
}
.site_footer {
	background: #ffc8bf;
	padding: 5rem 0 0;
	background-position: center top;
	background-size: cover;
	position: relative;
	margin-top: 7rem;
}
.site_footer .logo::after {
	content: '';
	display: inline-block;
	width: 100px;
	height: 100px;
	background-image: url(../img/footer_icon.png);
	background-size: contain;
	position: absolute;
	top: -50px;
	left: 50%;
	margin-left: -50px;
}
.site_footer .contact_info {
	max-width: 600px;
	width: 100%;
	margin: 1.5rem auto 0;
	overflow: hidden;
}
.site_footer .contact_info a {
	max-width: 48% !important;
	float: left;
	margin-top: 0.5rem;
}
.site_footer .contact_info .button {
	font-weight: 600;
	max-width: 48% !important;
	float: right;
	margin-top: 0rem;
}
.site_footer .links li {
	display: inline;
	font-size: 0.875rem;
	font-weight: 600;
	color: #541c1d;
	cursor: default;
	text-transform: uppercase;
}
.site_footer .links li:not(:last-child)::after {
	position: relative;
	margin: 0 0.5rem;
	opacity: 1;
	content: "|";
	color: #541c1d;
}
.site_copyright {
	font-size: 0.75rem;
	margin: 2rem 0 0;
	color: #fff;
	background: #541c1d;
	padding: 1.5rem 0.5rem
}
.site_pagetop {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	display: none;
}
.mobile_contact {
	display: none;
}
.mobile_contact ul {
	z-index: 10;
	background: rgba(255, 255, 255, 0.85);
	bottom: 0;
	clear: both;
	overflow: hidden;
	position: fixed;
	width: 100%;
	padding: 0.5rem 0.25rem;
	margin: 0;
}
.mobile_contact li {
	/*float: left;
	text-align: center;
	width: 50%;*/
	padding: 0 2rem;
	margin: 0;
}
#sp_navi {
	display: none;
}
#sp_navi .nav {
	display: none;
}
@media screen and (max-width: 63.99875em) {
	#sp_navi {
		display: block;
	}
	#sp_navi .open .nav {
		display: block;
	}
	.sp_navi_logo img {
		margin: 0.65rem;
		display: none;
	}
}
@media screen and (max-width: 39.99875em) {
	.sp_navi_logo img {
		display: block;
	}
	.mobile_contact {
		display: block;
	}
	.site_pagetop {
		bottom: 4.75rem;
		width: 40px;
		right: 10px;
	}
	.site_copyright {
		margin: 0;
		padding: 1rem 0.5rem
	}
	.site_footer .contact_info a, .site_footer .contact_info .button {
		max-width: 100% !important;
		text-align: center;
		float: none !important;
		display: block !important;
		margin-top: 1rem;
	}
}
.site_pagettl {
	background-color: #f9f2e6;
	background-position: center bottom;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 7rem 1rem;
	position: relative;
	margin-bottom: 0.65rem;
}
.site_pagettl h1 {
	font-size: 2.25rem;
	color: #551d1e;
	line-height: 1em;
	letter-spacing: 0.5px;
	font-weight: 600;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
@media screen and (max-width: 63.99875em) {
	.site_pagettl {
		padding: 6rem 1rem 6rem;
		height: auto;
		margin-bottom: 0.65rem;
	}
	.site_pagettl h1 {
		font-size: 2.25rem;
	}
}
@media screen and (max-width: 39.99875em) {
	.site_pagettl {
		padding: 4rem 1rem 5rem;
	}
	.site_pagettl h1 {
		font-size: 1.65rem;
		line-height: 1.35em;
	}
}
/* toppage
============================================================================================================ */

.top_teazer {
	position: relative;
}
.top_teazer:after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url(../img/scroll.png);
	background-size: contain;
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -30px;
}
.top_feature_ttl {
	background: #ffc8bf;
	padding: 1.25rem;
	font-size: 2rem;
	color: #541c1d;
	position: relative;
	text-align: center;
}
.top_feature_ttl h2 {
	text-decoration: underline;
	text-decoration-color: #f25e63;
}
.top_feature_ttl::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #ffc8bf transparent transparent transparent;
	border-width: 20px 25px 0 25px;
}
.top_feature_ttl p {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.top_feature {
	background-color: #fff;
	background-image: url(../img/featureImg01.jpg);
	background-position: right center;
	background-size: contain;
	min-height: 480px;
	background-repeat: no-repeat;
}
.top_feature.point02 {
	background-image: url(../img/featureImg02.jpg);
	background-position: left center;
}
.top_feature.point03 {
	background-image: url(../img/featureImg03.jpg);
	background-position: right center;
}
.top_feature .img {
	display: none;
}
.top_feature .inner {
	margin: 0 auto;
	max-width: 85%;
	padding: 7rem 6.5rem 5rem 2rem;
	/*text-shadow: #f5f5f5 2px 0px 5px, #f5f5f5 -2px 0px 5px, #f5f5f5 0px -2px 5px, #f5f5f5 -2px 0px 5px, #f5f5f5 2px 2px 5px, #f5f5f5 -2px 2px 5px, #f5f5f5 2px -2px 5px, #f5f5f5 -2px -2px 5px, #f5f5f5 1px 2px 5px, #f5f5f5 -1px 2px 5px, #f5f5f5 1px -2px 5px, #f5f5f5 -1px -2px 5px, #f5f5f5 2px 1px 5px, #f5f5f5 -2px 1px 5px, #f5f5f5 2px -1px 5px, #f5f5f5 -2px -1px 5px, #f5f5f5 1px 1px 5px, #f5f5f5 -1px 1px 5px, #f5f5f5 1px -1px 5px, #f5f5f5 -1px -1px 2px;*/
}
.top_feature .inner p, .top_feature .inner li {
	line-height: 2em;
	font-size: 1.0625rem;
}
.top_feature.point02 .inner, .top_feature.point04 .inner {
	padding: 5rem 3rem 5rem 8rem;
}
.top_feature .inner .blue {
	display: block;
	font-size: 75%;
	margin-top: 2rem;
}
.top_feature .inner h2 {
	font-size: 1.85rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.top_feature .inner .button {
	font-size: 0.875rem;
	padding: 1rem 2rem;
	margin: 0 0.25rem 1rem;
	max-width: none;
	width: auto;
}
.site_clinicinfo .tel {
	width: 54%;
	display: block;
	float: left;
	padding-top: 0.65rem;
}
.site_clinicinfo .reserve {
	width: 42%;
	display: block;
	float: right;
}
.site_clinicinfo table {
	border: none;
	width: 100%;
	text-align: center;
}
.site_clinicinfo table th {
	background: #f5f5f5;
	font-size: 0.875rem;
	border: none;
}
.site_clinicinfo .table td {
	border: none;
	border-bottom: solid 1px #ccc;
	font-size: 0.875rem;
}
.site_clinicinfo .box {
	border: solid 3px #92c33a;
	font-size: 0.9375rem;
	text-align: center;
	padding: 0.5rem;
	font-weight: 600;
	background: #fff;
	margin-bottom: 1rem;
}
@media screen and (max-width: 64em) {
	.top_feature {
		background-size: auto 100%;
		background-position: right -5rem center;
	}
	.top_feature_ttl {
		padding: 1.65rem;
		font-size: 1.85rem;
	}
}
@media screen and (max-width: 48em) {
	.top_feature {
		background: none !important;
	}
	.top_feature .inner {
		margin: 0 auto;
		max-width: 100%;
		padding: 4rem 3rem !important;
	}
	.top_feature .inner p, .top_feature .inner li {
		font-size: 1rem;
	}
	.top_feature .img {
		display: block;
	}
	.top_feature .inner .button {
		width: 100%;
	}
	.top_messsage {
		padding: 400px 0 4rem;
		margin-bottom: 4rem;
	}
	.top_messsage .cell {
		padding: 3.5rem 4rem 2rem;
	}
	.top_blog .inner_wrap {
		padding: 2rem 3rem;
	}
	.site_clinicinfo table th, .site_clinicinfo .table td {
		padding: 0.65rem;
		font-size: 0.8125rem;
	}
}
@media screen and (max-width: 39.99875em) {
	.top_feature_ttl h2 {
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
	.top_feature_ttl p {
		font-size: 1.125rem;
		text-align: left !important;
	}
	.top_feature .inner {
		padding: 3rem 2rem !important;
	}
	.top_feature .inner p, .top_feature .inner li {
		font-size: 1rem;
	}
	.top_messsage {
		padding: 200px 0 4rem;
	}
	.top_messsage .cell {
		padding: 2rem 2rem 1rem;
	}
}
/* pages
============================================================================================================ */

.price_table th, .price_table td {
	font-size: 1.05rem;
	padding: 1.5rem;
	font-weight: 600;
}
.price_table th {
	text-align: left;
}
.flow_wrap {
	background-color: #f9f4ee;
	background-image: url(../img/flow_img00.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 580px 0 4rem;
}
.flow_wrap>.grid-container>div {
	background-color: #fff;
	padding: 3rem 4rem;
	border-radius: 0.5rem;
}
.flow_section .title {
	clear: both;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	overflow: hidden;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 50px;
	border-bottom: dotted 4px #f4ede4;
}
.flow_section .title .numb {
	background: #8dc031;
	width: 50px;
	height: 50px;
	display: block;
	float: left;
	font-style: italic;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	margin-right: 1rem;
	line-height: 50px;
}
@media screen and (max-width: 64em) {
	.flow_wrap {
		padding: 460px 0 4rem;
	}
}
@media screen and (max-width: 48em) {
	.flow_wrap {
		padding: 360px 0 4rem;
	}
}
@media screen and (max-width: 39.99875em) {
	.flow_wrap {
		padding: 180px 0 4rem;
	}
	.flow_wrap>.grid-container>div {
		padding: 2rem 2rem;
	}
	.flow_section .title {
		font-size: 1.35rem;
		line-height: 40px;
	}
	.flow_section .title .numb {
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
}
.doctor_section {
	border: solid 1px #8dc031;
	padding: 4rem 4rem 3rem;
	margin-bottom: 4rem;
}
.doctor_pic .name {
	background: #8dc031;
	color: #fff;
	display: block;
	font-size: 1.35rem;
	padding: 0.65rem;
	letter-spacing: -2px;
}
@media screen and (max-width: 48em) {
	.doctor_section {
		padding: 3rem 3rem 1.5rem;
	}
	.doctor_pic .name {
		font-size: 1rem;
	}
}
@media screen and (max-width: 39.99875em) {
	.doctor_section {
		padding: 1.5rem 1.65rem;
		margin-bottom: 2rem;
	}
	.doctor_section .text-xlarge {
		font-size: 1.45rem !important;
		letter-spacing: -1px;
	}
}
.notice {
	border: solid 3px #c31c1c;
	font-size: 1rem;
	text-align: center;
	padding: 0.75rem;
	color: #c31c1c;
	font-weight: 600;
	background: #fff;
	margin-bottom: 1rem;
}
.fund_howto li {
	clear: both;
	overflow: hidden;
	border-bottom: dotted 1px #eee;
	padding: 0.9375rem 0;
	line-height: 1.5;
	font-size: 0.875rem;
}
.fund_howto .circle {
	background: #ffc8bf;
	width: 40px;
	height: 40px;
	display: block;
	float: left;
	font-style: italic;
	color: #b0400d;
	font-weight: 600;
	text-align: center;
	border-radius: 50%;
	margin-right: 1rem;
	line-height: 40px;
}
.flow_step {
	margin-bottom: 3rem;
}
.flow_step .numb {
	background: #ffc8bf;
	padding: 0.25rem 1rem;
	margin-right: 1rem;
	font-size: 1rem;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 500;
	display: inline-block;
	font-style: italic;
}
.flow_step dt {
	border: solid 2px #069f40;
	font-size: 1.125rem;
	color: #551d1e;
	clear: both;
	padding: 0.65rem 1.25rem;
	margin: 3rem 0 1rem;
	/*text-align:center;
	*/
	background: repeating-linear-gradient( 40deg, #fff, #fff 4px, rgba(238, 246, 230, 1) 4px, rgba(238, 246, 230, 1) 6px);
}
.flow_step dd {
	position: relative;
	overflow: hidden;
	padding-bottom: 20px;
}
.flow_step dd::after {
	position: absolute;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #541c1d transparent transparent transparent;
	border-width: 1rem 2.5rem 0;
}
.flow_step dd:last-child::after {
	content: none;
}
.flow_step_gairai li {
	background: #541c1d;
	color: #fff;
	padding: 0.75rem 0;
}
.type_table_container {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.type_table li {
	font-size: 0.85rem;
	list-style-position: outside;
	margin-left: 1rem;
	font-weight: 500;
}
.type_table .circle {
	background-size: auto 120px;
	background-repeat: no-repeat;
	background-image: url(../img/circle.png);
	background-position: center center;
}
.type_table .cross {
	background-size: auto 120px;
	background-repeat: no-repeat;
	background-image: url(../img/cross.png);
	background-position: center center;
}
@media screen and (max-width: 48em) {
	.type_table {
	width:auto;
	white-space: nowrap;
}
	
}
.select_table tr:nth-child(2) th {
	background: #8cc63f;
	color: #fff;
	font-weight: 500;
}
.select_table tr:nth-child(3) th {
	background: #f7931e;
	color: #fff;
	font-weight: 500;
}
.select_table tr:nth-child(4) th {
	background: #f15a24;
	color: #fff;
	font-weight: 500;
}
.select_table tr:nth-child(5) th, .select_table tr:nth-child(6) th {
	background: #fc4c4c;
	color: #fff;
	font-weight: 500;
}
@media screen and (max-width: 48em) {
	.accessmap {
		margin-top:1rem;
	height:350px;
}
	
}
.timechange {background-color: #ffca18; color:#541c1d; text-align:center; border:none; padding:1rem; font-size:110%;}