@charset "UTF-8";
/* CSS Document */
/*  html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	position: relative;
	line-height: 1;
}

body, html {
	height: 100%;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs  */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

body, html {
	height: 100%;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	color: #444444;
}

.hidden {
	display: none;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {display: inline-table;}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */



/* pc */
@media screen and (min-width: 641px) {

	body {
		width: 100%;
		overflow-x: hidden;
	}
	header {
		width: 100%;
	}
	a:hover {
		opacity: 0.5;
	}

	/* フッター */
	footer {
		margin-top: 250px;
		width: 100%;
	}
	footer .footer01 {
		padding-top: 70px;
		padding-bottom: 70px;
		background-color: #EFF7FF;
		background-image: url(../img/footer_bk.png);
		background-repeat: repeat-x;
		background-position: center top;
	}
	footer .footer01 .footer01_1 {
		display: table;
		margin: 0 auto;
		width: 1080px;
	}
	footer .footer01 .footer01_1 div#map {
		display: table-cell;
		width: 476px;
		height: 282px;
		float: left;
	}
	footer .footer01 .footer01_1 div#r_footer {
		display: table-cell;
		padding-left: 104px;
		width: 500px;
		float: right;
	}
	footer .footer01 .footer01_1 div#r_footer p a {
		text-decoration: none;
		color: #7FBFFF;
	}
	footer .footer01 .footer01_1 div#r_footer p:first-child {
		margin-bottom: 30px;
		width: 393px;
		height: 56px;
	}
	footer .footer01 .footer01_1 div#r_footer p:first-child a {
		display: block;
		width: 449px;
		height: 63px;
		background-image: url(../img/logo2.png);
		text-indent: -9999px;
	}
	footer .footer01 .footer01_1 div#r_footer p:nth-child(2) {
		margin-bottom: 15px;
		font-size: 30px;
		color: #7FBFFF;
	}
	footer .footer01 .footer01_1 div#r_footer address {
		margin-bottom: 30px;
		line-height: 120%;
		font-size: 14px;
		line-height: 1.5;
		font-style: normal;
	}
	footer .footer01 .footer01_1 div#r_footer table {
		margin-bottom: 10px;
		width: 332px;
		height: 70px;
	}
	footer .footer01 .footer01_1 div#r_footer table tr th {
		background-color: #7FBFFF;
		border: 1px solid #7FBFFF;
		font-size: 14px;
		color: #fff;
		vertical-align: middle;
	}
	footer .footer01 .footer01_1 div#r_footer table tr td {
		background-color: #fff;
		border: 1px solid #7FBFFF;
		font-size: 14px;
		color: #46BE8C;
		text-align: center;
		vertical-align: middle;
	}
	footer .footer01 .footer01_1 div#r_footer table tr td:first-child {
		background-color: #B2D8FF;
		color: #fff;
		font-size: 10px;
	}
	footer .footer01 .footer01_1 div#r_footer p:last-child {
		font-size: 14px;
		line-height: 1.5;
	}
	footer .footer01 .footer01_1 div#r_footer p:last-child span {
		color: #46BE8C;
	}

	footer nav {
		height: 72px;
		clear: both;
	}
	footer nav ul.nav01 {
		*zoom: 1;
		list-style-type: none;
		margin: 33px auto 0;
    width: 943px;
	}
	footer nav ul.nav01:before, footer nav ul.nav01:after {
		content: "";
		display: table;
	}
	footer nav ul.nav01:after {
		clear: both;
	}
	footer nav ul.nav01 li {
		position: relative;
		float: left;
		margin: 0;
		padding: 0;
		text-align: center;
	}
	footer nav ul li a {
		display: block;
		height: 40px;
		font-size: 14px;
		line-height: 1;
		text-decoration: none;
		text-indent: -9999px;
	}
	footer nav ul.nav01 li.nav02_1 a {
    margin-right: 81px;
		width: 43px;
		background-image: url(../img/nav_top.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_2 a {
    margin-right: 74px;
		width: 62px;
		background-image: url(../img/nav_service.png);
	}
	footer nav ul.nav01 li.nav02_3 a {
    margin-right: 64px;
		width: 143px;
		background-image: url(../img/nav_staff.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_4 a {
		margin-right: 79px;
		width: 98px;
		background-image: url(../img/nav_whitening.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_5 a {
    margin-right: 64px;
		width: 111px;
		background-image: url(../img/nav_clinic.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_6 a {
		width: 62px;
		background-image: url(../img/nav_access.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_7 a {
    margin-right: 64px;
		width: 170px;
		background-image: url(../img/nav_office_whitening.png);
		cursor: pointer;
	}
	footer nav ul.nav01 li.nav02_2 ul {
		list-style: none;
		position: absolute;
		z-index: 9999;
		bottom: 38px;
		left: 0;
		margin: 0;
		padding: 0;
	}
	footer nav ul.nav01 li.nav02_2 ul li {
		width: 100%;
	}
	footer nav ul.nav01 li.nav02_2 ul li a {
		margin: 0;
		padding: 13px 15px;
		width: 200px;
		height: 1em;
		background: none;
		text-align: left;
		text-indent: 0;
		color: #fff;
		cursor: pointer;
	}
	/*
	footer nav ul.nav01 li.nav02_2 ul li:nth-child(odd) a {
		background-color: #7FBFFF;
	}
	footer nav ul.nav01 li.nav02_2 ul li:nth-child(even) a {
		background-color: #B2D8FF;
	}
	footer nav ul li:hover > a {
		background: #6e7c0c;
	}
	footer nav ul li a:hover {
		background: #616d0b;
	}
	*/
	footer nav ul li ul {
		display: none;
	}
	footer nav ul li:hover ul {
		display: block;
	}

	footer .footer02 {
		width: 100%;
		height: 80px;
		background-color: #7FBFFF;
		line-height: 80px;
		color: #fff;
		text-align: center;
	}
}

/* smartphone */
@media screen and (max-width: 640px) {

	body {
		width: 100%;
	}
	header {
		width: 100%;
	}

	/* フッター */
	footer {
		width: 100%;
	}
	footer .footer01 {
		padding-top: 35px;
		padding-bottom: 35px;
		background-color: #EFF7FF;
		background-image: url(../img/footer_bk.png);
		background-repeat: repeat-x;
		background-position: center top;
	}
	footer .footer01 .footer01_1 {
		margin: 0 auto;
		width: 90%;
	}
	footer .footer01 .footer01_1 div#map {
		margin-bottom: 30px;
		width: 100%;
		height: 200px;
	}
	footer .footer01 .footer01_1 div#r_footer {
		width: 100%;
	}
	footer .footer01 .footer01_1 div#r_footer p:first-child {
		margin-bottom: 15px;
		width: 100%;
	}
	footer .footer01 .footer01_1 div#r_footer p:first-child a {
		display: block;
		padding-top: 14.25%;
		width: 100%;
		height: 0;
		background: url(../img/logo2.png) 0 0 no-repeat;
		background-size: 100%;
		text-indent: -9999px;
	}
	footer .footer01 .footer01_1 div#r_footer p:nth-child(2) {
		margin-bottom: 10px;
		font-size: 20px;
		color: #7FBFFF;
	}
	footer .footer01 .footer01_1 div#r_footer p a {
		text-decoration: none;
		color: #7FBFFF;
	}
	footer .footer01 .footer01_1 div#r_footer address {
		margin-bottom: 15px;
		line-height: 120%;
		font-size: 12px;
		font-style: normal;
	}
	footer .footer01 .footer01_1 div#r_footer table {
		margin-bottom: 5px;
		width: 100%;
		height: 70px;
	}
	footer .footer01 .footer01_1 div#r_footer table tr th {
		background-color: #7FBFFF;
		border: 1px solid #7FBFFF;
		font-size: 12px;
		color: #fff;
		vertical-align: middle;
	}
	footer .footer01 .footer01_1 div#r_footer table tr td {
		background-color: #fff;
		border: 1px solid #7FBFFF;
		font-size: 12px;
		color: #46BE8C;
		text-align: center;
		vertical-align: middle;
	}
	footer .footer01 .footer01_1 div#r_footer table tr td:first-child {
		background-color: #B2D8FF;
		color: #fff;
	}
	footer .footer01 .footer01_1 div#r_footer p:last-child {
		font-size: 12px;
	}
	footer .footer01 .footer01_1 div#r_footer p:last-child span {
		color: #46BE8C;
	}

	footer nav {
		display: none;
	}

	footer .footer02 {
		/* width: 100%;
		height: 40px; */
		background-color: #7FBFFF;
		/* line-height: 40px; */
		color: #fff;
		text-align: center;
		padding: 10px;
		font-size: 14px;
		line-height: 1.2;
	}
}



span.telcome {
    color: red !important;
    font-size: 11px !important;
    margin: -5px 0 20px !important;
    display: block;
}

/*20241226編集*/
div#online_ft {
    display: block;
    margin: 30px auto 40px;
    background: #eff7ff;
    width: 940px;
    padding: 30px;
    line-height: 1.6em;
}
div#online_ft .box span {
    background-color: #7ccae1;
    padding: 10px;
    display: block;
    color: #fff;
    margin-bottom: 5px;
    font-size: 1.4em;
    font-weight: bold;
}
div#online_ft ul li {
    list-style: disc;
    margin-left: 20px;
    font-size: 1em;
}
div#online_ft ul {
    margin: 10px 0;
}
div#online_ft p {
    margin: 10px 0 0;
    font-weight: bold;
}
.dx_text u {
    color: #7ccae1;
}
.white_bnr {
    width: 1000px;
    margin: 10px auto 0 !important
}
/* スマートフォンの設定 */
@media only screen and (max-width: 750px) {
div#online_ft {
    display: block;
    margin: 30px auto 40px;
    background: #eff7ff;
    width: 90%;
    padding: 10px;
    line-height: 1.6em;
}
div#online_ft .box span {
    background-color: #7ccae1;
    padding: 10px;
    display: block;
    color: #fff;
    margin-bottom: 5px;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
}
div#online_ft p {
    margin: 10px;
    font-weight: bold;
}
.dx_text u {
    color: #7ccae1;
    text-align: center;
    display: block;
}
}

/*20250523編集*/
span.yoyaku_waku {
    font-size: 0.8em;
    background: #ff3e3e;
    padding: 6px;
    color: white;
    display: block;
    width: 60px;
    text-align: center;
    position: absolute;
    right: 75px;
    bottom: -30px;
}
span.yoyaku_waku_f {
    font-size: 0.6em;
    background: #ff3e3e;
    padding: 5px;
    color: white;
    position: absolute;
    right: 150px;
}
p.text_cnt {
    display: block;
    color: #439ffc;
    margin: 50px auto 0;
    font-size: 1.5em;
    font-family: serif;
}
#welcome .welcome01 {
    width: 100% !important;
    }
span.name_right {
    display: block;
    text-align: right;
}

/* スマートフォンの設定 */
@media only screen and (max-width: 750px) {
p.text_cnt {
    margin: 10px auto;
    width: 95%;
}
    span.yoyaku_waku_f {
        font-size: 1em;
        background: #ff3e3e;
        padding: 5px;
        color: white;
        position: absolute;
        right: 22px;
        text-align: center;
        bottom: 0px;
    }
#timetable .yoyaku_waku_f pc_none sp_yoset {
    position: absolute;
    right: 20px;
}
header.sp #timetable {
        position: relative;
    }
.footer01_1 span.yoyaku_waku_f {
    right: 2px;
font-size: 0.8em;

}
}
