@charset "UTF-8";
/* text
============================================================================================================ */

body {
	color: #444;
	font-family: 'Meiryo', 'Hiragino Kaku Gothic ProN', arial, sans-serif;
}

.red {
	color: #cb3f3f;
}

.green {
	color: #05b36b;
}

.blue {
	color: #0076c0;
}

.orange {
	color: #ea6854;
}

.brown {
	color: #552e31;
}

.pink {
	color: #ed7b9c;
}

.font-normal {
	font-weight: 400 !important;
}

.text-small {
	font-size: 80% !important;
}

.text-normal {
	font-size: 100% !important;
}

.text-smedium {
	font-size: 115% !important;
}

.text-medium {
	font-size: 135% !important;
}

.text-large {
	font-size: 160% !important;
}

.text-xlarge {
	font-size: 200% !important;
}

.text-mincho {
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.bold {
	font-weight: bold;
}

.uline {
	text-decoration: underline;
}

.marker {
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, #ffefd3 30%);
}

.noline {
	text-decoration: none;
}

.noline a {
	text-decoration: none;
}

.clear {
	clear: both;
}

.block {
	display: block;
}

.radius {
	border-radius: 0.75rem;
}

.disc li {
	list-style-type: disc;
}

.table {
	border-collapse: collapse;
	border: solid 1px #ddd;
	background: #fff;
	width: 100%;
	margin-bottom: 1rem;
}

.table th, .table td, .timetable th, .timetable td {
	border: #ccc 1px solid;
	padding: 1rem;
	font-size: 0.9375rem;
	text-align: left;
}

.timetable th, .timetable td {
	border: #9ea920 1px solid;
}

.table th {
	background: #f5f5f5;
}

@media screen and (max-width: 64em) {}

@media screen and (max-width: 48em) {
	.text-left-sp, .text-left-sp p {
		text-align: left !important;
	}
	.text-center_sp {
		text-align: center !important;
	}
	p br, .br_pc {
		display: none;
	}
	p br.sp_br, .sp_br {
		display: block;
	}
	.text-smedium {
		font-size: 105% !important;
	}
	.text-medium {
		font-size: 115% !important;
	}
	.text-large {
		font-size: 145% !important;
	}
	.text-xlarge {
		font-size: 175% !important;
	}
}

@media screen and (max-width: 39.99875em) {
	.table th, .table td, .timetable th, .timetable td {
		padding: 0.65rem;
		font-size: 0.875rem;
	}
	.table.break th {
		border-bottom: none;
	}
	.table.break td {
		border-top: none;
	}
	.table.break th, .table.break td {
		display: block;
		width: 100%;
	}
}

/* margin
============================================================================================================ */

.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;
}

/*.mt {margin-top: 1.5em !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;
}

.mt04 {
	margin-top: 4rem !important;
}

/* 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;
}

@media screen and (max-width: 39.99875em) {
	.float-left-img, .float-right-img, .float-left-img.small, .float-right-img.small, .float-left-img.large, .float-right-img.large {
		float: none;
		margin: 0 0 1.5rem;
		width: 100%;
		text-align: center;
	}
	.text-left-sp {
		text-align: left !important;
	}
	.float-left-img, .float-right-img {
		float: none;
		margin: 0;
		margin-bottom: 1.5rem;
		width: 100%;
	}
}

/* button
============================================================================================================ */

.button {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 1rem 0;
	padding: 1em 0.65rem;
	border: 1px solid transparent;
	max-width: 360px;
	width: 100%;
	-webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
	transition: background-color 0.25s ease-out, color 0.25s ease-out;
	font-family: inherit;
	font-size: 1rem;
	letter-spacing: 1px;
	-webkit-appearance: none;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	background-color: #38b130;
	border-radius: 4px;
	color: #fff;
}

.button.orange {
	background-color: #f39801;
	color: #fff;
	position: relative;
}

.button.orange::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	left: 0;
	bottom: 0;
	height: 4px;
	bottom: -2px;
	border-radius: 0 0 4px 4px;
	background-color: #c97e01;
}

[data-whatinput='mouse'] .button {
	outline: 0;
}

.button:hover, .button:focus {
	color: #fff;
}

.button.small {
	font-size: 0.75rem;
}

.button.large {
	font-size: 1.25rem;
}

.button.expanded {
	display: block;
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

.button.green {
	background-color: #2ab453;
	color: #fff !important;
}
.button.red {
	background-color: #cd3131;
	color: #fff !important;
}
.button.white {
	background-color: #fff;
	border-radius: 0;
	border: #1c86c3 1px solid;
	color: #1c86c3;
}

a.button:hover, a.button:focus {
	text-decoration: none;
}

/* header
============================================================================================================ */

.siteheader .grid-container {
	max-width: 70rem;
	margin: 0.35rem auto 0;
}

.siteheader h1 {
	font-size: 0.8125rem;
	font-weight: 500;
	margin: 0;
}
.siteheader .logo  {
	margin-top: 0.5rem;
	}
.siteheader_contact .inner {
	max-width: 700px;
	width: 100%;
	margin-top: -0.5rem;
	float: right;
}

.siteheader_contact .inner>div {
	float: left;
	margin-left: 2%;
}

.siteheader_contact .icons {
	width: 32%;
}

.siteheader_contact .tel {
	width: 30%;
}

.siteheader_contact .reserve {
	width: 32%;
}

.siteheader_contact .reserve a {
	padding: 1.5rem 0;
}
.siteheader_apply {
	background:#2ab453;
	padding:2rem 0 0;
}
@media screen and (max-width: 64em) {
	.siteheader h1 {
		font-size: 0.875rem;
	}
	.siteheader_contact .inner {
		max-width: 700px;
	}
}

@media screen and (max-width: 48em) {
	.siteheader {
		position: relative;
		top: 0;
		height: auto;
	}
	.siteheader_contact .inner {
		margin-top: 0.75rem;
	}
	.siteheader_contact .reserve a {
    padding: 1rem 0;
}
	.siteheader h1 {
		font-size: 0.75rem;
	}
	
	.siteheader .logo  {
		text-align:center;
	}
	.siteheader .logo img {
		max-width: 230px;
	}
	.siteheader .tel_sp {
		margin-top: 0.5rem;
	}
	.header_spacer {
		padding-top: 0;
	}
}

@media screen and (max-width: 39.99875em) {
	/*.siteheader_contact .mail, .siteheader_contact .reserve, .siteheader_contact .tel {
		display: none;
	}*/
	.siteheader {
		margin-bottom:1rem;
	}
	.siteheader_contact .reserve {
		display: none;
	}
	.siteheader .logo img {
		width: 100%;
	}
	.siteheader_contact .icons {
		width: 48%;
		float: left;
		margin: 0;
	}
	.siteheader_contact .tel {
		width: 48%;
		float: right;
		margin: 0;
	}
}

/* navigation
============================================================================================================ */

.sitenavi-container {
	overflow: visible;
	max-width: 65rem !important;
	margin: 0rem auto 0 !important;
}

.sitenavi .dropmenu {
	*zoom: 1;
	width: 100%;
	list-style-type: none;
	margin: -0.5rem auto 0;
	padding: 0;
}

.sitenavi .dropmenu:before, .dropmenu:after {
	content: "";
	display: table;
}

.sitenavi .dropmenu:after {
	clear: both;
}

.sitenavi .dropmenu>li {
	position: relative;
	float: left;
	margin: 0;
	width: 16.6%;
	padding: 0;
	white-space: nowrap;
	text-align: center;
}

.sitenavi .dropmenu li a {
	display: block;
	margin: 0;
	padding: 1rem 1.75rem;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	color: #333;
	text-shadow: 0 0 8px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 1px 30px #fff, 1px 0 40px #fff;
}

.sitenavi .dropmenu>li>a:hover {
	color: #1c86c3;
}

.sitenavi .dropmenu li ul {
	list-style: none;
	position: absolute;
	z-index: 9999;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.sitenavi .dropmenu li ul li {
	width: 150%;
}

.sitenavi .dropmenu li ul li a {
	padding: 13px 15px;
	border-top: 1px solid #eee;
	background: #fff;
	color: #333;
	text-align: left;
	font-size: 12px;
	font-weight: normal;
	border-right: none;
}

.sitenavi .dropmenu li li a:hover {
	background: #f09bad;
}

.sitenavi .dropmenu li ul li {
	overflow: hidden;
	height: 0;
	transition: .2s;
}

.sitenavi .dropmenu li:hover ul li {
	overflow: visible;
	height: 38px;
}

.sitenavi .hide-for-small {
	display: inline !important;
}

@media screen and (max-width: 64em) {
	.sitenavi .dropmenu li a {
		padding: 1rem 1.5rem;
	}
}

@media screen and (max-width: 48em) {
	.sitenavi-container {
		margin: 0 auto !important;
	}
}

@media screen and (max-width: 39.99875em) {}

/* footer
============================================================================================================ */

.sitefooter {
	padding: 6rem 0 3rem;
	background-color: #0076c0;
	color: #fff;
	background-image: url("../img/bg_footer.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100%;
}

.sitefooter .footer_menu {
	text-align: center;
}

.sitefooter .footer_menu li {
	display: inline;
	font-size: 0.9375rem;
}
.sitefooter_apply  {
	padding: 5rem 0 0;
	background-color: #222;
	color: #eee;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100%;
}
.sitefooter_apply .links li {
	display: inline;
	font-size: 0.875rem;
	
	cursor: default;
	text-transform: uppercase;
}
.sitefooter_apply .links li:not(:last-child)::after {
	position: relative;
	margin: 0 0.5rem;
	opacity: 1;
	content: "|";
	color: #fff;
}
.sitefooter_apply_copyright {
	font-size: 0.75rem;
	background:#2ab453;
	color:#fff;
	margin: 2rem 0 0;
	padding:1rem;
}
.footer_menu li:not(:last-child)::after {
	position: relative;
	margin: 0 1.5rem;
	opacity: 1;
	content: "/";
	color: #fff;
}

.site_copyright {
	font-size: 0.75rem;
	margin: 3rem 0 0;
}

.sitefooter_btns {
	display: none;
}

.top_partners {
	text-align: center;
	margin-bottom: 2rem;
}

.top_partners li {
	display: inline;
	padding: 0 1rem;
}

#page_top a {
	background: #e6f3fe;
	text-align: center;
	width: 60px;
	border: solid 1px #fff;
	height: 60px;
	color: #0076c0;
	font-size: 0.65rem;
	position: fixed;
	right: 1.25rem;
	bottom: 1rem;
	display: none;
}

#page_top .fas {
	font-size: 2rem;
	margin-top: 0.25rem;
	line-height: 1em;
}
.apply {
    position: fixed;
    display: none;
    z-index: 100;
    right: 8px;
    bottom: 35%;
	
    
}
#adminbar {
    color: #eee;
    font-size: 13px;
    font-weight: 400;
    line-height:32px;
	height:32px;
    padding:0 0.5rem;
    position: fixed;
	display:none;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 600px;
    z-index: 99999;
    background: #23282d;
}
#adminbar .link {
    display:inline-block;
	padding-left:2rem;
}
@media screen and (max-width: 64em) {}

@media screen and (max-width: 48em) {
	#page_top {
		bottom: 6rem;
		right: 0;
	}
	.sitefooter {
		padding: 3rem 0 2rem;
	}
	.sitefooter .footer_sitemap li:nth-child(2n) {
		padding-left: 1rem;
	}
	.sitefooter_btns {
		background: #0076c0;
		height: 80px;
		position: fixed;
		bottom: 0;
		display: block;
		left: 0;
		border-top: solid 1px #fff;
		z-index: 100;
		width: 100%;
	}
	.sitefooter_btns li {
		width: 25%;
		height: 80px;
		float: left;
		text-align: center;
		font-size: 12px;
		border-right: 1px solid #fff;
	}
	.sitefooter_btns li a {
		display: block;
		color: #fff;
		width: 100%;
		height: 100%;
		padding-top: 15px;
	}
	.sitefooter_btns .fas {
		display: block;
		font-size: 2rem;
		margin-bottom: 0.25rem;
	}
	.top_partners li {
		display: block;
		float: left;
		width: 33.3%;
		padding: 0 1%;
	}
}

@media screen and (max-width: 39.99875em) {
	.sitefooter_info {
		margin-bottom: 1rem;
		text-align: center;
	}
	.site_copyright {
		margin: 0rem 0 0;
	}
}

/* section
============================================================================================================ */

.section {
	margin-bottom: 5rem;
	overflow: hidden;
}

.section_wrap {
	padding: 4.5rem 0 4rem;
	margin-bottom: 4.5rem;
	background-color: #f2fbff;
}

.section_wrap.gray {
	background-color: #f9f9f9;
}

@media screen and (max-width: 64em) {}

@media screen and (max-width: 48em) {
	.section_wrap {
		padding: 3.5rem 0 3rem;
		margin-bottom: 4rem;
	}
}

@media screen and (max-width: 39.99875em) {
	.section {
		margin-bottom: 2rem;
	}
}

/* heading
============================================================================================================ */

.site_heading {
	font-size: 1.85rem;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 1rem;
}

.site_heading2 {
	font-size: 1.35rem;
	padding: 0.5rem 1.5rem;
	position: relative;
	margin-bottom: 1.25rem;
}

.site_heading2:after {
	content: "";
	width: 4px;
	height: 100%;
	display: block;
	border-radius: 8px;
	background-color: #1c86c3;
	position: absolute;
	bottom: 0;
	left: 0;
}

.site_heading3 {
	background: #f4f3e5;
	padding: 0.65rem 1.5rem;
	color: #552e31;
	font-weight: 500;
	font-size: 1.125rem;
	margin: 2rem 0 1.25rem;
}

@media screen and (max-width: 64em) {
	.site_heading {
		font-size: 1.85rem;
	}
}

@media screen and (max-width: 48em) {}

@media screen and (max-width: 39.99875em) {
	.site_heading {
		font-size: 1.5rem;
	}
}

/* pagettl
============================================================================================================ */

.site_pagettl {
	background-color: #f5f5f5;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 6rem 0;
	margin-bottom: 0.65rem;
}

.site_pagettl h1 {
	font-size: 2.25rem;
	color: #1c86c3;
	line-height: 1em;
	letter-spacing: 1px;
	font-weight: 500;
}

@media screen and (max-width: 64em) {
	.site_pagettl {
		padding: 5rem 0;
		margin-bottom: 0.65rem;
	}
	.site_pagettl h1 {
		font-size: 2rem;
	}
}

@media screen and (max-width: 48em) {}

@media screen and (max-width: 39.99875em) {
	.site_pagettl {
		padding: 2.5rem 0;
		background-position: center center;
	}
	.site_pagettl h1 {
		font-size: 1.75rem;
		line-height: 1em;
	}
}

/* toppage
============================================================================================================ */

.top_mImg img {
	width: 100%;
	height: auto;
	z-index:100;
}

.top_greeting {
	padding: 10rem 0;
	background-size: cover;
	background-image: url(../img/bg_message.jpg);
	background-position: center;
	margin-top:-5rem;
}
.top_blog {
	
	padding: 10rem 0 ;
	margin: -4rem 0 4.5rem;
	background-image: url(../img/bg_blog.png);
	background-size:100% 100%;
	background-repeat:no-repeat;

}
.top_blog .inner_wrap {
	background: #fff;
	border-radius: 0.65rem;
	padding: 3rem 5rem 3rem;
	margin: 1.5rem 0 0;
}

.top_blog li {
	padding: 1.125rem 0;
	border-bottom: solid 1px #bee2ef;
}

.top_blog li .date {
	margin-right: 3rem;
}

.top_menu {
	max-width: 900px;
	margin: 0 auto;
}

.top_menu li {
	text-align: center !important;
}

.top_menu .img {
	display: block;
	margin: 0 auto 1rem;
	border-radius: 50%;
}

.top_menu .img img {
	border-radius: 50%;
	max-width: 240px;
}

.top_menu h3 {
	font-size: 1.35rem;
	color: #0076c0;
}

.site_info h2 {
	margin-bottom: 1rem;
}

.site_info_blog {
	text-align: left;
	padding: 1.75rem;
	background: #fff;
}

.site_info_blog .date {
	display: block;
	font-weight: 400;
}

.site_info_blog li {
	padding: 0 0 1.25rem;
	border-bottom: 1px #ccc solid;
	font-weight: 600;
	margin-bottom: 1.25rem;
}

.site_info i {
	color: #ed7b9c;
}

.top_feature_ttl {
	background: #0076c0;
	padding: 3rem 1rem 1rem;
	color: #fff;
	background-image: url("../img/feature_ttlbg2.png"), url("../img/feature_ttlbg.png");
background-repeat: no-repeat, no-repeat;
background-size: 25%, 25%;
background-position: bottom right, left top;
}

.top_feature .icon {
	background-image: url(../img/teethicon.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 80px;
	line-height: 1em;
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	font-style: italic;
	padding-top: 1rem;
	background-size: contain;
	font-size: 1.125rem;
	font-weight: normal;
}

.top_feature {
	background-image: url(../img/pointImg01.png);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
}

.top_feature.point02 {
	background-image: url(../img/pointImg02.png);
	background-position: left center;
}

.top_feature.point03 {
	background-image: url(../img/pointImg03.png);
	background-position: right center;
}

.top_feature.point04 {
	background-image: url(../img/pointImg04.png);
	background-position: left center;
}

.top_feature.point05 {
	background-image: url(../img/pointImg05.png);
	background-position: right center;
}

.top_feature .img {
	display: none;
}

.top_feature .inner {
	margin: 0 auto;
	max-width: 85%;
	padding: 5rem 6.5rem 5rem 2rem;
}

.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.65rem;
	font-weight: 500;
	margin-bottom: 1rem;
}

.site_clinicinfo .tel {
	width: 48%;
	display: block;
	float: left;
	padding-top: 0.65rem;
}

.site_clinicinfo .reserve {
	width: 48%;
	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 2px #35b12f;
	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 .inner {
		padding: 5rem 3rem 3rem 3rem;
		max-width: 100%;
	}
	.top_feature.point02 .inner, .top_feature.point04 .inner {
		padding: 5rem 3rem 3rem 3rem;
	}
	.top_feature .inner h2 {
		font-size: 1.35rem;
		font-weight: 500;
		margin-bottom: 1rem;
	}
	.top_feature .full {
		background: rgba(85, 83, 83, 0.1);
	}
	.top_feature.point02, .top_feature.point04 {
		background-position: -5rem center;
	}
	.top_menu .img img {
		max-width: 200px;
	}
}

@media screen and (max-width: 63.99875em) {
	.top_greeting {
		background-image: none;
		background-position: center;
	}
}

@media screen and (max-width: 48em) {
	.top_greeting {
		background-image: none;
		padding: 2.5rem 1rem;
	margin:0rem 0rem 3rem;
}.top_blog {
	
	padding: 6rem 0 ;
	margin: -2rem 0 2.5rem;
	

}
	.top_blog .post_title {
		font-size: 0.875rem;
	}
	.top_blog .text_wrap {
		padding: 1rem;
	}
	.top_menu .text {
		font-size: 0.875rem;
	}
	.top_feature .full {
		background: rgba(85, 83, 83, 0);
	}
	.top_feature {
		background: none !important;
	}
	.top_feature .inner {
		padding: 3rem 3rem 2rem !important;
		text-shadow: none;
	}
	.top_feature .img {
		display: block;
	}
	.site_clinicinfo .mt03 {
		margin-top: 0 !important;
	}
	.site_clinicinfo iframe {
		height: 350px;
	}
	.site_clinicinfo th, .site_clinicinfo td {
		padding: 0.5rem;
		font-size: 0.8125rem !important;
	}
	.site_info iframe {
		width: calc(100vw - 2.25rem);
	}
	.site_clinicinfo .box {
		font-size: 0.875rem;
		padding: 0.5rem;
	}
	.site_clinicinfo .tel {
		width: 100%;
		float: none;
	}
	.site_clinicinfo .reserve {
		width: 100%;
		float: none;
		margin-top: 1rem;
	}
	.top_blog .inner_wrap {
		padding: 2rem 3rem 2rem;
	}
	.top_menu .img img {
		max-width: 100%;
	}
	.top_menu h3 {
		font-size: 1.15rem;
		color: #0076c0;
	}
	.top_menu p {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 39.99875em) {
	.top_menu li {
		margin-left: 0.9375rem !important;
		margin-right: 0.9375rem !important;
		margin-bottom: 0;
	}
	.top_feature .inner {
		padding: 2rem !important;
	}
	.site_clinicinfo th, .site_clinicinfo td {
		font-size: 0.75rem !important;
		padding: 0.5rem 0.25rem;
	}
	.top_blog .inner_wrap {
		padding: 1rem 2rem 1rem;
		margin: 0 1rem;
	}
}

/* access
============================================================================================================ */

.teazer_access {
	background-image: url(../img/teazer_access.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
}

.access_how li h3 {
	font-size: 1.125rem;
	line-height: 60px;
}

.access_how li .circle {
	float: left;
	margin: 0 1.25rem 1.25rem 0;
	width: 60px;
	line-height: 60px;
	font-size: 30px;
	text-align: center;
	background: #6cb3db;
	border-radius: 50%;
	color: #fff;
}

/* reserve
============================================================================================================ */

.reserve_notice {
	border: solid 3px #c31c1c;
	font-size: 1rem;
	text-align: center;
	padding: 0.75rem;
	color: #c31c1c;
	font-weight: 600;
	background: #fff;
	margin-bottom: 1rem;
}

.contact_table {
	border: none;
}

.contact_table th, .contact_table td {
	border: none;
	border-bottom: solid 1px #ccc;
	text-align: left;
	padding: 1.5rem;
}

.contact_table th {
	background: #fff;
	width: 35%;
}

.contact_table tr:nth-child(2n), .contact_table tr:nth-child(2n) th {
	background: #f5f5f5;
}

.contact_table input, .contact_table textarea, [type="checkbox"] {
	margin: 0;
}

.contact_table .date_time {
	padding: 0.65rem 0;
	font-weight: 600;
}

.contact_table td .date_time:nth-child(1) {
	padding-top: 0;
}

.contact_privacy {
	background: #f5f5f5;
	border: none;
	font-size: 1rem;
	border: solid 2px #ccc;
	text-align: center;
	padding: 1.25rem;
	margin: 2rem 0;
}

.contact_privacy_ttl {
	font-size: 1.25rem;
	margin: 2rem 0 1rem;
}

.contact_privacy_dl {
	height: 200px;
	border: solid 1px #ccc;
	padding: 1.5rem;
	overflow-y: scroll;
}

@media screen and (max-width: 48em) {
	.contact_table th, .contact_table td {
		display: block;
		padding: 1rem;
		width: 100%;
	}
	.contact_table tr:nth-child(2n), .contact_table tr:nth-child(2n) th {
		background: #fff;
	}
	.contact_table th {
		background: #f5f5f5 !important;
		border: solid 1px #ccc;
	}
	.contact_table td {
		border: solid 1px #ccc;
		border-bottom: none;
		border-top: none;
	}
	.contact_table tr:last-child td {
		border-bottom: solid 1px #ccc;
	}
}

/* clinic
============================================================================================================ */

.teazer_clinic {
	background-image: url(../img/teazer_clinic.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

/* preventive
============================================================================================================ */

.teazer_preventive {
	background-image: url(../img/teazer_preventive.jpg);
}

.medical_menu>li {
	background: #fff;
	padding: 2rem 2.5rem 1rem;
	border: solid 1px #ccc;
}

.medical_menu li h3 {
	padding: 0.5rem 1rem;
	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: 48em) {
	.medical_menu>li {
		padding: 1.5rem 1.5rem 0.5rem;
	}
}

.point_list>li {
	padding: 2rem 2.5rem 1rem;
	border: solid 1px #ccc;
	background: #fff;
}

.point_list li h4, .point_list li .ttl {
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
	background: repeating-linear-gradient( 40deg, #fff, #fff 4px, rgba(237, 123, 156, 0.25) 4px, rgba(237, 123, 156, 0.25) 6px);
}

@media screen and (max-width: 48em) {
	.point_list>li {
		padding: 1.5rem 1.5rem 0.5rem;
	}
}

/* concept
============================================================================================================ */

.teazer_concept {
	background-image: url(../img/teazer_concept.jpg);
}

.concept_section {
	height: 650px;
}

.concept_section .img-container, .concept_section.img_left .img-container {
	width: 60%;
}

.concept_section .text-container {
	width: 65%;
	top: 4rem;
}

/* concept
============================================================================================================ */

.teazer_blog {
	background: #f5f5f5;
	padding: 3rem 1rem;
}

.teazer_blog h1 {
	text-shadow: none;
	color: #746359;
}

.blog_section {
	position: relative;
	clear: both;
	overflow: hidden;
	border-bottom: 1px solid #eee;
	padding-bottom: 2rem;
	margin-bottom: 3rem;
}

.blog_section .thumbnail {
	float: left;
	width: 45%;
	margin: 0 1.5rem 1.5rem 0;
}

.blog_section .category {
	position: absolute;
	top: 0;
	left: 0;
	background: #c3b51c;
	color: #fff;
	font-size: 0.875rem;
	padding: .35rem .65rem;
	text-align: center;
}

.blog_section .ttl {
	font-size: 1.35rem;
	color: #1c86c3;
}

.blog_section .time {
	display: block;
	color: #999;
	font-size: 0.875rem;
	margin-bottom: 0.5rem;
}

.blog-side {
	background: #f5f5f5;
	float: none;
	margin-bottom: 30px;
	padding: 1.125rem 1.125rem 10px;
}

.blog-side .ttl {
	background: #1c86c3;
	padding: 0.65rem 1rem;
	font-size: 1rem;
	font-weight: 500;
	margin: -1.125rem -1.125rem 1rem;
	color: #fff;
}

.blog-side li {
	padding: 0.25rem 0rem;
	font-size: 0.75rem;
	border-bottom: dotted 1px #ddd;
}

.post_meta {
	padding: 0.5rem 0;
}

.post_meta span {
	margin-right: 1rem;
}

.post h2 {
	clear: both;
	background-color: #fcfcfc;
	padding: 1rem;
	margin: 3rem 0 2rem;
	border-left: solid 4px #1c86c3;
}

.post .section p {
	margin-bottom: 2rem;
	line-height: 1.9;
}

.post h3 {
	margin: 2.5rem 0 1.5rem;
	padding-bottom: 1.25rem;
	line-height: 1;
	border-bottom: 2px solid #ddd;
	position: relative;
	text-align: left;
}

.flow_section {
	padding: 2.5rem 0 1rem;
	border-bottom: 1px solid #ccc;
}

.flow_section h3 {
	margin: 0 0 1rem;
	padding-bottom: 0;
	line-height: 1.5;
	border-bottom: none;
	position: relative;
	text-align: left;
	font-size: 1.125rem;
}

.flow_section h3 .box_customer {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	background: #558bb1;
	color: #fff;
	margin-right: 0.5rem;
}

.flow_section h3 .box_kaeruz {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	background: #55b18d;
	color: #fff;
	margin-right: 0.5rem;
}

.post h3:after {
	content: "";
	width: 100px;
	height: 2px;
	display: block;
	background-color: #1c86c3;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.flow_section h3:after {
	content: "";
	width: 0;
	height: 0;
	display: block;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}

.post h4 {
	padding-left: 1.35rem;
	position: relative;
	margin: 2.5rem 0 1.5rem;
}

.post h4:after {
	content: "●";
	color: #eea4b9;
	position: absolute;
	left: 0;
}

dl.faq {
	overflow: hidden;
	_zoom: 1;
}

dl.faq dt {
	color: #b82834;
	position: relative;
	padding: 0.5rem 0 1rem 3.5rem;
}

dl.faq dt:before {
	position: absolute;
	content: "Q";
	left: 0px;
	top: 2px;
	color: #fff;
	background-color: #b82834;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	border-radius: 50%;
	font-size: 1.5rem;
}

dl.faq dd {
	position: relative;
	padding: 0.5rem 0 2rem 3.5rem;
	margin-bottom: 3rem;
	border-bottom: solid 2px #f0f0f0;
}

dl.faq dd:before {
	position: absolute;
	content: "A";
	left: 0px;
	top: 2px;
	color: #fff;
	background-color: #0d839f;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	border-radius: 50%;
	font-size: 1.5rem;
}

@media screen and (max-width: 48em) {
	.blog_section {
		padding: 0 0 1rem 0;
		margin: 0 0 2rem 0;
	}
	.blog_section .thumbnail {
		float: right;
		width: 30%;
		margin: 0 0 1.5rem 1.5rem;
	}
	.blog_section .category {
		position: relative;
		float: left;
		margin-right: 1rem;
		font-size: 0.875rem;
		padding: .15rem .65rem;
		text-align: center;
	}
	.blog_section .ttl {
		line-height: 1.85;
		font-size: .95rem;
	}
	.blog_section .exp {
		display: none;
	}
}

@media screen and (max-width: 39.99875em) {
	.blog_section .ttl {
		line-height: 1.5;
		font-size: .875rem;
	}
	.blog_section .time, .blog_section .category {
		font-size: .75rem;
	}
}

.clinic_slider .exp {
	font-size: 1.125rem;
	margin: 0.65rem 0 0;
	text-align: center;
}

.flow_wap {
	background: #fff;
	padding: 3rem 3rem 1rem;
	border-radius: 4px;
}

.flow_wap .section {
	border-bottom: dotted 1px #ccc;
	padding-bottom: 1.5rem;
	margin-bottom: 2.5rem;
}

.flow_wap .section:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.flow_wap .circle {
	background: #0076c0;
	width: 40px;
	height: 40px;
	display: inline-block;
	font-style: italic;
	font-weight: 500;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	margin-right: 1rem;
	line-height: 40px;
}

.apply_table {border:none;}
.apply_table th, .apply_table td {border:none;border-bottom:solid 1px #ccc; padding:2rem 1rem;}
.apply_table th
 {color:#222;
 
background:#fff;
font-weight:600;
}
.apply_table th.must span {padding-left:50px;position: relative; display:block;}

.apply_table .must span::after {
    content: "必須";
    width: 40px;
    height: 20px;
    line-height: 20px;
    border-radius: 10px;
    color: #fff;
    background-color: #d5232b;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    position: absolute;
    top: 50%;
    margin-top:-10px;
    left: 0;
}
@media screen and (max-width: 39.99875em) {
	.apply_table th, .apply_table td {border:solid 1px #ccc !important; padding:1rem;}
	.apply_table th{background-color: #f5f5f5;}
}