@charset "UTF-8";
/* **************************************
 * 共通CSS
************************************** */
html,body {
	font-family: -apple-system, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Osaka, "メイリオ", Meiryo, sans-serif;
	text-align: justify;
	line-height: 1.6;
	-ms-text-justify: distribute;
	text-justify: distribute;

	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
main {display: block;}
img {
	width: 100%;
	height: auto;
	vertical-align: top;
	line-height: 1;
}
p {margin: 0;}
.saturday {color: #2C7DBF;}
.holiday {color: #D80000;}
.clearfix:after {
	display: block;
	overflow: hidden;
	clear: both;
	width: 0;
	height: 0;
	content: "";
}
.inside-conts {
	width: 92.4vw;
	margin: auto;
}

/* **************************************
 * GW-NEWS
************************************** */

.gw_news{
	width: 1000px;
	margin: 0 auto;
	margin-bottom: 4vh;
	padding: 0.5% 1% 1% 1%;
	box-sizing: border-box;
	background: #f1f1f1;
	text-align: left;
	clear: both;
}
.gw_news h2{
	font-size: 110%;
	line-height: 0.5;
	font-weight: bold;
}

.gw_news li{
	list-style:none;
}
/* sp */
@media only screen and (max-width: 767px) {
.gw_news{
	width: 100%;
	margin-top: 4%;
	padding: 1.5%;
	text-align: left;

	
}
.gw_news h2{
	font-size: 110%;
	line-height: 0;
}
 }

/* **************************************
 * Button Style
************************************** */
.btn-cmn.is-min:after,.btn-cmn.is-pc-min:after {
	border-width: 6px;
	border-left-width: 7px;
}
.btn-cmn {
	display: block;
	position: relative;
	margin: 5.7vw 0 9.4vw;
	-webkit-border-radius: 1.2vw;
	-moz-border-radius: 1.2vw;
	border-radius: 1.2vw;
	background-color: #F7CF2B;
	-webkit-box-shadow: .2rem .25rem .01rem rgba(102, 102, 102, .75);
	-moz-box-shadow: .2rem .25rem .01rem rgba(102, 102, 102, .75);
	box-shadow: .2rem .25rem .01rem rgba(102, 102, 102, .75);
}
.btn-cmn:after {
	display: block;
	position: absolute;
	top: 0;
	right: 1.1vw;
	bottom: 0;
	width: 0;
	height: 0;
	margin: auto;
	border: .35rem solid transparent;
	border-left-width: .45rem;
	border-left-color: black;
	content: "";
}
.btn-cmn__in {
	display: table;
	width: 100%;
	height: 16.4vw;
}
.btn-cmn__in > span {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	line-height: 1;
}
.btn-cmn__in > span > img {
	display: block;
	width: auto;
	max-height: 6.3vw;
	margin: auto;
}
.btn-cmn.is-min {
	margin: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
.btn-cmn.is-min > .btn-cmn__in {height: 9.6vw;}

/* **************************************
 * header
************************************** */
#hp-header {overflow: hidden;}
.hp-logo {padding: 2.8vw 0;}
.hp-logo--img {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 32.5vw;
	margin: auto;
	padding: 1.9vw 0;
	border-right: 1px solid #B2B2B2;
	border-left: 1px solid #B2B2B2;
	text-align: center;
}
.hp-logo--img > img {
	width: 24.5vw;
	margin: auto;
}
.hp-app .contact__title,
.hp-app .contact__txt {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: top;
}
.hp-app .contact__title,
.hp-app .contact__txt {padding: 0 1.3vw;}
.hp-app {
	padding-top: 5.1vw;
	border-top: .3rem solid black;
}
.head-app.hp-app {
	margin: auto;
	margin-bottom: 6.7vw;
}

.head-app.hp-app img[src*="btn_webcontact-min"] {width: 35vw;}
.head-app.hp-app .contact__title {padding: 0 2.7vw 0 2.4vw;}
.head-app.hp-app .contact__txt {width: 58vw;}
.head-app.hp-app .contact__txt > .btn-cmn {margin-bottom: 4.7vw;}
.foot-app.hp-app {margin: 5.7vw 0;}
.foot-app.hp-app .contact__title {width: 46.8vw;text-align: center;}
.foot-app.hp-app .contact__title > img[src*="img_app-min"] {width: 37.7vw;}
.foot-app.hp-app .contact__txt {padding: 0 4vw 0 2.7vw;}
.foot-app.hp-app .contact__txt > p {margin-bottom: 2.1vw;line-height: 1;}
.foot-app.hp-app .contact__txt > p:last-child {margin: 0;}
.hp-app .contact {margin: 0;}


/* ====================================================== */
/*                                          Navigation    */
/* ====================================================== */
.navigationMenu{
	width:100%;
	margin:0 auto;
	background-color:#000000;
}
.navigationMenu::after{content:" ";display: block;clear: both;}

.navigationMenu ul{width:1000px; margin:0 auto;padding:5px 0;}
.navigationMenu ul:before,
.navigationMenu ul:after {
    content:"";
    display:table;
}
.navigationMenu ul:after {clear:both;}
.navigationMenu ul {zoom:1;}

.navigationMenu ul li{
	list-style:none;
	padding:0;
}
.navigationMenu ul li a{
	display:block;
	color:#ffffff;
	text-decoration:none;
}
/* pc */
@media print, screen and (min-width:768px) {
.navigationMenu ul li{
	width:200px;
	float:left;
}
.navigationMenu ul li a{
	height:40px;
	line-height:40px;
	border-right:1px solid #ffffff;
	color:#ffffff;
	text-align:center;
}
.navigationMenu ul li:first-child a{border-left:1px solid #ffffff;}
.navigationMenu ul li a:hover{background-color:#ffffff; color:#000000;}

.toppage      .navitop a{background-color:#ececec; color:#000000;}
.periodontal  .naviper a{background-color:#ececec; color:#000000;}
.private      .navipri a{background-color:#ececec; color:#000000;}
.children     .navichi a{background-color:#ececec; color:#000000;}
.preventive   .navipre a{background-color:#ececec; color:#000000;}
}
/* sp */
@media only screen and (max-width: 767px) {
/* btn */
.navToggle {
	display: block;
	position: fixed;/* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 12px;
	width: 42px;
	height: 51px;
	cursor: pointer;
	z-index: 30;
	background: #666;
	text-align: center;
}
.navToggle span {
	display: block;
	position: absolute;	/* .navToggleに対して */
	width: 30px;
	border-bottom: solid 3px #eee;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
.navToggle span:nth-child(1) {top: 9px;}
.navToggle span:nth-child(2) {top: 18px;}
.navToggle span:nth-child(3) {top: 27px;}
.navToggle span:nth-child(4) {top: 34px;}
.navToggle span:last-child{
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
}
/* //btn */
div.navigationMenu {
	position: fixed;
	z-index: 29;
	top: 0;
	left: 0;
	background: #000000;
	color: #ffffff;
	text-align: center;
	transform: translateY(-100%);
	transition: all 0.6s;
	width: 100%;
}
div.navigationMenu ul {
	background: #000000;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
div.navigationMenu ul li {
	font-size: 1.1em;
	padding: 0;

	width: 100%;

	clear: both;

	background: #000000 url(../images/sp_arrow.svg) 95% center no-repeat;
	background-size: 2.5% auto;

	border-bottom: 1px dotted #ffffff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
/* 最後はラインを描かない */
div.navigationMenu ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
div.navigationMenu ul li a {
	display: block;
	color: #ffffff;
	padding: 1em 0;
}
/* このクラスを、jQueryで付与・削除する */
div.navigationMenu.active {transform: translateY(0%);}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
}

/* **************************************
 * footer
************************************** */
#hp-footer {
	padding-top: 6.4vw;
	background-color: #EDEDED;
}
.appoint {
	margin: 0;
	padding: 0;
	text-align: center;
}
.appoint > .appoint__title {margin-bottom: 6.1vw;}
.appoint__tell > p {
	margin: 0;
	margin-bottom: 5vw;
}
.appoint__tell .business-hours {
	margin: 0;
	padding: 0;
	letter-spacing: -.4rem;
}
.appoint__tell .business-hours > li {
	display: inline-block;
	margin: 0 .5rem;
	font-size: .9rem;
	letter-spacing: 0;
}
.copylight {
	padding: 5.3vw 0;
	background-color: black;
	color: white;
	font-size: .9rem;
	font-style: normal;
	text-align: center;
}

/* **************************************
 * Main
************************************** */
.hp-sec-title {
	margin: 8.7vw 0;
	text-align: center;
}
.hp-service {margin-bottom: 11.2vw;}

/* **************************************
 * Main Visual
************************************** */
.hp-main-vis {
	position: relative;
	height: 42.8vw;
	margin-bottom: 8vw;
	background: url("../images/bg_main-photo.jpg") no-repeat center 55%;
	-webkit-background-size: 185%;
	-moz-background-size: 185%;
	-o-background-size: 185%;
	background-size: 185%;
}
.hp-main__title {
	margin: 0;
	padding: 55px 0;
	text-align: right;
}

/* **************************************
 * Banner
************************************** */
.banner__item {margin-bottom: 5.5vw;}
.banner__item > a {display: block;}

/* **************************************
 * Service
************************************** */
.service-list {
	list-style-type: none;
	width: 77vw;
	margin: 0 auto;
	padding: 0;
}
.service-list > li {margin-bottom: 12%;}
.service-list .img-photo {
	position: relative;
	margin: 3vw 0;
}
.service-list .img-photo > .service-num {
	display: block;
	position: absolute;
	z-index: 10;
	right: 0;
	bottom: 0;
	left: 0;
	width: 16vw;
	margin: auto;
}
.service-list .img-photo > .service-num > p {
	display: table;
	width: 16vw;
	height: 16vw;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	background-color: #F7CF2B;
	-webkit-transform: translateY(50%);
	-moz-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
}
.service-list .img-photo > .service-num > p > span {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.service-list .img-photo > .service-num > p > span:after {
	position: absolute;
	right: 0;
	bottom: -3vw;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	border: .3rem solid transparent;
	border-top-width: .5rem;
	border-top-color: #F7CF2B;
	content: "";
}
.service-list .img-photo > .service-num > p > span > img {
	width: auto;
	height: 5.8vw;
}
.service-txt-box {
	display: table;
	width: 100%;
	height: 76.76vw;
}
.service-txt-box.no-circle {background: url("../images/bg_service-img.png") no-repeat center;}
.service-txt-read {
	display: table-cell;
	position: relative;
	text-align: center;
	vertical-align: middle;
}
.service-txt-read:before {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 76.76vw;
	height: 76.76vw;
	border: 1px solid #D8D8D8;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	content: "";
}
.service-txt-read > p {
	position: relative;
	z-index: 10;
	margin-bottom: 1rem;
	font-size: .95rem;
}
.service-txt-read > p:last-child {margin: 0;}
.pickup-title {
	width: 86.133vw;
	margin: 9.7vw 0;
}
.pickup-txt > p {
	margin-bottom: 4.2vw;
	line-height: 1.8;
}
.pickup-txt > p:last-child {margin-bottom: 0;}
.pickup-txt > .img-photo {
	width: 79.4vw;
	margin: 4.2vw auto;
}
.medical-list {
	display: -moz-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	list-style: none;
	width: 87vw;
	margin: auto;
	padding: 0;

	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-around;
}

.medical-list > li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 43.2vw;
	margin-right: .4vw;
	margin-bottom: .4vw;
	padding: 4.6vw;
	background-color: #F7CF2B;
	text-align: center;
}

.medical-list > li:nth-child(2n) {
	background-color: #5DA6CE;
}

.medical-list > li:nth-child(4n) {
	margin-right: 0;
}

.map > iframe {
	width: 100%;
	height: 60.8vw;
	margin: 0;
}

.map-area {
	text-align: center;
}

.map-area > p {
	margin-top: 4.5vw;
}

#map {
	width: 100%;
	height: 82.2vw;
}

.access {
	display: table;
	table-layout: fixed;
	margin-bottom: 8vw;
}

.access > .hp-logo {
	display: table-cell;
	vertical-align: top;
}

.access-info {
	display: table-cell;
	width: 60%;
	padding: 1.9vw 0;
	padding-left: 4.5vw;
	vertical-align: top;
}

.biz-hours {
	table-layout: fixed;
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}

.biz-hours th,.biz-hours td {
	width: 12%;
	border: 1px solid #B2B2B2;
	font-size: .8rem;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
}

.biz-hours th {
	background-color: #EAEAEA;
}

.biz-hours th:first-child {
	width: 16%;
	height: 9.6vw;
	background-color: #999;
	color: white;
}

.biz-hours td {
	height: 19.4vw;
}

.biz-hours td > img[src*="ico_"] {
	display: block;
	width: 3.7vw;
	height: 3.7vw;
	margin: auto;
}

.biz-hours td > span {
	display: block;
	margin-top: .2rem;
	line-height: 1.4;
}

.biz-hours + .hours {
	margin-top: 5.3vw;
	text-align: center;
}

/* **************************************
 * Media Queries
************************************** */

@media screen and (min-width : 736px ){
html,body {min-width: 1024px;}
img {width: auto;}
a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	cursor: default;
}
.view-sp {display: none !important;}
.inside-conts {width: 1000px;}

.pc-left {float: left;clear: left;}
.pc-right {float: right;clear: right;}

.btn-cmn.is-min > .btn-cmn__in,
.btn-cmn.is-pc-min > .btn-cmn__in {height: 40px;}
.btn-cmn {
	margin: 0;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow: 5px 7px 0 rgba(102, 102, 102, .75);
	-moz-box-shadow: 5px 7px 0 rgba(102, 102, 102, .75);
	box-shadow: 5px 7px 0 rgba(102, 102, 102, .75);
	-webkit-transition: background-color .3s ease-in;
	-moz-transition: background-color .3s ease-in;
	-o-transition: background-color .3s ease-in;
	transition: background-color .3s ease-in;
}

.btn-cmn:hover {
	background-color: #F8D852;
}

.btn-cmn:after {
	right: 8px;
	border-width: 8px;
	border-left-width: 10px;
}

.btn-cmn__in {height: 70px;}
.btn-cmn__in > span > img {max-height: none;}

.btn-cmn.is-pc-min {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.hp-logo {
	float: left;
	padding: 15px 0;
}

.hp-logo--img {
	width: 186px;
	padding: 12px 0;
}

.hp-logo--img > img {
	width: auto;
}

.hp-app .contact__title,.hp-app .contact__txt {
	padding: 0;
}

.hp-app {
	padding-top: 26px;
	border-top-width: 4px;
}

.head-app.hp-app {
	float: right;
	margin: 0;
}

.head-app.hp-app img[src*="btn_webcontact-min"] {width: auto;}
.head-app.hp-app .contact__title {padding: 0 6px;}
.head-app.hp-app .contact__txt {width: 230px;}
.head-app.hp-app .contact__txt > .btn-cmn {margin-bottom: 20px;}
.foot-app.hp-app {margin: 38px 0 25px;}
.foot-app.hp-app .contact__title {
	width: auto;
	margin: 0 25px;
}
.foot-app.hp-app .contact__title > img[src*="img_app-min"] {width: auto;}
.foot-app.hp-app .contact__txt {
	margin: 0 25px;
	padding: 0;
}
.foot-app.hp-app .contact__txt > p {margin-bottom: 1rem;}
.hp-app .contact {overflow: hidden;}
.hp-app .contact__title {float: left;}
.hp-app .contact__txt {
	float: right;
	margin-left: 20px;
}
#hp-footer {padding-top: 30px;}
.appoint {
	margin: 0 0 30px 32px;
	text-align: left;
}
.appoint > .appoint__title {margin-bottom: 25px;}
.appoint__tell {
	width: 459px;
	text-align: left;
}
.appoint__tell > p {margin-bottom: 25px;}
.appoint__tell .business-hours > li {
	margin: 0 10px 0 0;
	font-size: 1rem;
}

.appoint__form {
	width: 420px;
	margin-top: -16px;
}

.copylight {
	padding: 32px 0;
}

.hp-sec-head {
	width: 1000px;
	margin: auto;
}

.hp-sec-title {
	margin: 64px 0;
}

.hp-service {
	margin-bottom: 50px;
}

.hp-main-vis {
	height: 320px;
	margin-bottom: 40px;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.banner__item {
	margin-bottom: 34px;
}

.banner__item > a:hover {
	opacity: .6;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
}

.service-list {
	display: -moz-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	width: 100%;

	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.service-list > li {
	position: relative;
	width: 320px;
	margin-right: 20px;
	margin-bottom: 20px;
}

.service-list > li:nth-child(3n + 2) .service-num {
	top: 0;
	bottom: auto;
}

.service-list > li:nth-child(3n + 2) .service-num > p {
	-webkit-transform: translateY(-58px);
	-moz-transform: translateY(-58px);
	-ms-transform: translateY(-58px);
	transform: translateY(-58px);
}

.service-list > li:nth-child(3n + 2) .service-num > p > span:after {
	top: -20px;
	bottom: auto;
	border-top-width: 10px;
	border-top-color: transparent;
	border-bottom-width: 20px;
	border-bottom-color: #F7CF2B;
}

.service-list > li:nth-child(3n + 2) .img-photo {
	position: absolute;
	bottom: 0;
}

.service-list > li:nth-child(3n + 2) .service-txt-box {
	margin-top: 0;
}

.service-list > li:nth-child(3n) {
	margin-right: 0;
}

.service-list .img-photo {
	margin: 0;
}

.service-list .img-photo > img {
	width: 100%;
}

.service-list .img-photo > .service-num {
	width: 66px;
}

.service-list .img-photo > .service-num > p {
	width: 66px;
	height: 66px;
}

.service-list .img-photo > .service-num > p > span:after {
	bottom: -20px;
	border-width: 10px;
	border-top-width: 20px;
	border-top-color: #F7CF2B;
}

.service-list .img-photo > .service-num > p > span > img {
	height: auto;
}

.service-txt-box {
	width: 320px;
	height: 320px;
	margin-top: 25px;
}

.service-txt-read:before {
	width: 320px;
	height: 320px;
}

.pickup-title {
	width: auto;
	margin: 0 0 37px;
}

.pickup-txt > p {
	margin-bottom: 2rem;
	font-size: .92rem;
}

.pickup-txt > .img-photo {
	clear: both;
	width: 330px;
	margin: 0 0 2rem;
}

.pickup-txt > .img-photo:first-of-type {
	margin-top: -45px;
}

.pickup-txt > .img-photo.pc-right {
	margin-left: 2rem;
}

.pickup-txt > .img-photo.pc-right + p {
	clear: left;
}

.pickup-txt > .img-photo.pc-left {
	margin-right: 2rem;
}

.pickup-txt > .img-photo.pc-left + p {
	clear: right;
}

.pickup-txt > .img-photo > img {
	width: 100%;
}

.medical-list {
	width: 100%;
}

.medical-list > li {
	width: calc((1000px - 6px) / 4);
	margin-right: 2px;
	margin-bottom: 0;
	padding: 27px 0;
}

.medical-list > li > img {
	width: 75%;
	height: auto;
}

.map > iframe {
	min-width: 1000px;
	height: 350px;
}

.map-area > p {
	margin-top: 20px;
}

#map {
	height: 350px;
}

.access {
	width: auto;
	margin-bottom: 32px;
}

.access > .hp-logo {
	float: none;
}

.access-info {
	padding: 12px 0;
	padding-left: 35px;
	vertical-align: middle;
}

.sep-block__left {
	width: 554px;
}

.sep-block__right {
	width: 411px;
}

.sep-block .btn-cmn.is-pc-min {
	float: right;
	width: 230px;
	margin: 0 25px;
}

.biz-hours th,.biz-hours td {
	size: 1rem;
}

.biz-hours th:first-child {
	width: 87px;
	height: 209px;
}

.biz-hours td {
	height: 80px;
}

.biz-hours td > img[src*="ico_"] {
	width: 15px;
	height: 15px;
}
}

/*====================================================*/
/*フローティング
====================================================*/
#footerFloatingMenu {
	background:#ececec;
	padding: 1rem 0;
	left:0;
	line-height:1;
	position:fixed;
	bottom:0;
	width:100%;
	z-index:24;
}
#footerFloatingMenu .appoint {
	margin: 0 0 0 32px;
	text-align: left;
}
#footerFloatingMenu .appoint > .appoint__title {display: none;}

#footerFloatingMenu .appoint__tell {
	width: 459px;
	text-align: right;
	margin-top: 5px;
}
#footerFloatingMenu .appoint__tell > p {margin-bottom: 15px;}
#footerFloatingMenu .appoint__tell .business-hours > li {
	margin: 0 10px 0 0;
	font-size: 1rem;
}
#footerFloatingMenu .appoint__form {
	width: 420px;
	margin-top: 0;
}

@media screen and (max-width: 736px) {
html,body {font-size: 4.2vw;}
img {display: block;margin: auto;}
.view-pc {display: none !important;}
.hp-app .contact__title,
.hp-app .contact__txt {display: table-cell;}
.hp-app .contact {display: table;width: 100%;margin: auto;}
.appoint > .appoint__title > img[src*="img_hd-contact"] {width: 49.7vw;}
.appoint__tell > p.tell-num > img[src*="img_tell-large"] {width: 83.4vw;}
.banner {width: 100%;}
.medical-list > li:nth-child(2n) {margin-right: 0;}
#hp-footer {padding-top: 15vw;background-color: #EDEDED;}

/*====================================================*/
/*フローティング
====================================================*/
#footerFloatingMenu {
	background:#ececec;
	padding: 3vw 0 0 0;
	left:0;
	position:fixed;
	bottom:0;
	width:100%;
	height: 35vw;
	z-index:24;
}
#footerFloatingMenu .appoint {margin: 0 0 0 0;text-align: left;}
#footerFloatingMenu .appoint > .appoint__title {display: none;}
#footerFloatingMenu .appoint__tell {width: 90vw;text-align: center;margin: 0 auto;}
#footerFloatingMenu .appoint__tell > p {margin-bottom: 2vw;text-align: center;}
#footerFloatingMenu .appoint__tell .business-hours > li {font-size: 3.2vw;margin-bottom: 0;}
#footerFloatingMenu .appoint__form {width: 98%;margin-top: -3.8vw;}
}





/* ====================================================== */
/*                                      inner Contents    */
/* ====================================================== */
main{
	margin:0;
	padding:0;
}
/* sub Title ____________________________________________ */
.sub_ttl {
	width: 100%;
	max-width:1400px;

	margin:0 auto;
	padding: 0;

	background: url(../images/bg_subttl.png) no-repeat center top;
	-webkit-background-size: 100%;
	-moz-background-size: 100%;
	-o-background-size: 100%;
	background-size: 100%;
}
.sub_ttl .wrapper {
	margin: 0 auto;
	text-align:center;
}
.sub_ttl h2 {
	margin:0;
	padding: 35px 0;
}

/* pc */
@media print, screen and (min-width:768px) {
.sub_ttl {
	height: 190px;
}
.sub_ttl .wrapper {
	width: 950px;
}
.sub_ttl h2 {
	padding: 35px 0;
}
.sub_ttl h2 img{height:120px;}
}
/* sp */
@media only screen and (max-width: 767px) {
.sub_ttl {}
.sub_ttl h2 {
	padding: 15px 0;
}
.sub_ttl .wrapper {
	width: 100%;
	min-height: 70px;
	line-height: 2;
}
}





/* ====================================================== */
/*                                          Preventive    */
/* ====================================================== */
.preventiveBlock, .preventiveBlock2{}
.preventiveBlock::after,
.preventiveBlock2::after,
.preventiveBlock .preventiveBox::after,
.preventiveBlock2 .preventiveBox::after{content:" ";display: block;clear: both;}

.preventiveBox{margin-bottom: 1em;}
.preventiveBox h2{margin-bottom: 1em;}

/* pc */
@media print, screen and (min-width:768px) {
.preventiveBlock,
.preventiveBlock2{width: 1000px; margin: 0 auto 60px;padding:0;}
}
/* sp */
@media only screen and (max-width: 767px) {
.preventiveBlock,
.preventiveBlock2{
	width:100%;
	margin: 0 auto 30px;
	padding:0;
}
.preventiveBlock .preventiveBox p,
.preventiveBlock2 .preventiveBox p{
	width:95%;
	margin:0 auto;
	padding:0;
}
}
/* --------------------------------- Preventive Block --- */
.preventiveBlock .preventiveBox h2 {
    font-size: 100%;
    font-family: "Rounded Mplus 1c", sans-serif;
    text-align: center;
    background:#E3E3E3;
    color: #363636;
    padding: 0.5rem 0;
}
.preventiveBlock .preventiveBox .txtBox{width:100%;}
.preventiveBlock .preventiveBox figure{
	padding:0;
	text-align:center;
}
.preventiveBlock .preventiveBox p{text-align:left;}

/* pc */
@media print, screen and (min-width:768px) {
.preventiveBlock .preventiveBox .txtBox.left,
.preventiveBlock .preventiveBox .txtBox.right{width: 690px;}

.preventiveBlock .preventiveBox .left{float:left;}
.preventiveBlock .preventiveBox .right{float:right;}

.preventiveBlock .preventiveBox figure{
	width:300px;
	margin:0;
}
.preventiveBlock .preventiveBox p{padding:0 25px;}
}
/* sp */
@media only screen and (max-width: 767px) {
.preventiveBlock{width:100%;}
.preventiveBlock .preventiveBox .txtBox.left,
.preventiveBlock .preventiveBox .txtBox.right{float:none;}

.preventiveBlock .preventiveBox .txtBox{width:95%; margin:0 auto 2em;}
.preventiveBlock .preventiveBox .txtBox figure{
	width:95%;
	margin:0 auto;
	text-align:center;
}
.preventiveBlock figure img{
	width:100%;
	max-width:230px;
	height:auto;
}
}
/* ------------------------------- Preventive Block 2 --- */
.preventiveBlock2{background: url(../preventive/images/bg_preventiveBlock2.jpg) no-repeat right top;}
.preventiveBlock2 .preventiveBox h2 {
	font-size: 100%;
	font-family: "Rounded Mplus 1c", sans-serif;
	margin-bottom: 1em;
	text-align: center;
	color: #ffffff;
	background: url(../preventive/images/bg_h_preventive.png) no-repeat center top;
	background-size: auto 50px;
	
	padding:0;
	margin:0;
	height:50px;
	line-height:50px;
}

/* pc */
@media print, screen and (min-width:768px) {
.preventiveBlock2 .preventiveBox .txtBox{padding:30px;}
}
/* sp */
@media only screen and (max-width: 767px) {
}
/*--------------------------------------------------------*/
/* ====================================================== */

/* ====================================================== */
/*                                         Periodontal    */
/* ====================================================== */
.periodontalBlock, .periodontalBlock2{}
.periodontalBlock::after,
.periodontalBlock2::after,
.periodontalBlock .periodontalBox::after,
.periodontalBlock2 .periodontalBox::after{content:" ";display: block;clear: both;}

.periodontalBox{margin-bottom: 1em;}
.periodontalBox h2{margin-bottom: 1em;}

/* pc */
@media print, screen and (min-width:768px) {
.periodontalBlock,
.periodontalBlock2{width: 1000px; margin: 0 auto 60px;padding:0;}
}
/* sp */
@media only screen and (max-width: 767px) {
.periodontalBlock,
.periodontalBlock2{
	width:100%;
	margin: 0 auto 30px;
	padding:0;
}
.periodontalBlock .periodontalBox p,
.periodontalBlock2 .periodontalBox p{
	width:95%;
	margin:0 auto;
	padding:0;
}
}

/* -------------------------------- Periodontal Block --- */
.periodontalBlock .periodontalBox h2 {
    font-size: 100%;
    font-family: "Rounded Mplus 1c", sans-serif;
    text-align: center;
    background:#E3E3E3;
    color: #363636;
    padding: 0.5rem 0;
}
.periodontalBlock .periodontalBox .txtBox{width:100%;}
.periodontalBlock .periodontalBox figure{
	padding:0;
	text-align:center;
}
.periodontalBlock .periodontalBox p{text-align:left;}

/* pc */
@media print, screen and (min-width:768px) {
.periodontalBlock .periodontalBox .txtBox.left,
.periodontalBlock .periodontalBox .txtBox.right{width: 730px;}

.periodontalBlock .periodontalBox .left{float:left;}
.periodontalBlock .periodontalBox .right{float:right;}

.periodontalBlock .periodontalBox figure{
	width:250px;
	margin:0;
}
.periodontalBlock .periodontalBox p{padding:0 25px;}
}
/* sp */
@media only screen and (max-width: 767px) {
.periodontalBlock{width:100%;}
.periodontalBlock .periodontalBox .txtBox.left,
.periodontalBlock .periodontalBox .txtBox.right{float:none;}

.periodontalBlock .periodontalBox .txtBox{width:95%; margin:0 auto 2em;}
.periodontalBlock .periodontalBox .txtBox figure{
	width:95%;
	margin:0 auto;
	text-align:center;
}
.periodontalBlock figure img{
	width:100%;
	max-width:230px;
	height:auto;
}
}

/* ------------------------------ Periodontal Block 2 --- */
.periodontalBlock2{
	background: #F9EDD7;
	margin: 0 auto 80px;
}
.periodontalBlock2 h2{
	color:#323333;
	text-align:center;
	font-size:120%;
}
.periodontalBlock2 h2:after,
.periodontalBlock2 h2:before{
	content: '●';
	color: #ffffff;
	margin:0 10px;
}

.periodontalBlock2 .box{margin:30px 0;}
.periodontalBlock2 .box::after{content:" ";display: block;clear: both;}

.periodontalBlock2 .box figure{margin:0;}

.periodontalBlock2 .box dl{}
.periodontalBlock2 .box dl dt{
	border-top:#f5ba1f solid 1px;
	border-bottom:#f5ba1f solid 1px;
	font-weight:bold;
	padding:10px 0;
}
.periodontalBlock2 .box dl dd{padding:10px 0;margin:0;}

/* pc */
@media print, screen and (min-width:768px) {
.periodontalBlock2{padding: 40px;width: 920px;}
.periodontalBlock2 .box{margin:30px 0;}

.periodontalBlock2 .box figure{width:250px;float:left;}

.periodontalBlock2 .box dl{margin:0 0 0 30px; width:635px; float:left;}
.periodontalBlock2 .box dl dt{font-size:110%;}
.periodontalBlock2 .box dl dd{}
}
/* sp */
@media only screen and (max-width: 767px) {
.periodontalBlock2{
	width:95%;
	margin:0 auto 30px;
    padding: 10px;
}
.periodontalBlock2 .box figure{text-align:center;}
.periodontalBlock2 .box figure img{width:80%; max-width:250px; height:auto;}
.periodontalBlock2 .box dl{margin:20px 10px;}
.periodontalBlock2 .box dl dt{font-size:110%;}
.periodontalBlock2 .box dl dd{}
}
/*--------------------------------------------------------*/
/* ====================================================== */


/* ====================================================== */
/*                                            Children    */
/* ====================================================== */
.childrenBlock, .childrenBlock2{}
.childrenBlock::after, .childrenBlock2::after{content:" ";display: block;clear: both;}
.childrenBlock .childrenBox::after, .childrenBlock2 .childrenBox::after{content:" ";display: block;clear: both;}

.childrenBox{margin-bottom: 1em;}
.childrenBox h2{margin-bottom: 1em;}

/* pc */
@media print, screen and (min-width:768px) {
.childrenBlock,
.childrenBlock2{width: 1000px; margin: 0 auto 60px;padding:0;}
}
/* sp */
@media only screen and (max-width: 767px) {
.childrenBlock,
.childrenBlock2{
	width:100%;
	margin: 0 auto 30px;
	padding:0;
}
.childrenBlock .childrenBox p,
.childrenBlock2 .childrenBox p{
	width:95%;
	margin:0 auto;
	padding:0;
}
}
/* ----------------------------------- Children Block --- */
.childrenBlock .childrenBox h2 {
    font-size: 100%;
    font-family: "Rounded Mplus 1c", sans-serif;
    text-align: center;
    background:#E3E3E3;
    color: #363636;
    padding: 0.5rem 0;
}
.childrenBlock .childrenBox figure{
	padding:0;
	text-align:center;
}
.childrenBlock .childrenBox p{text-align:left;}

/* pc */
@media print, screen and (min-width:768px) {
.childrenBlock .childrenBox .txtBox.left,
.childrenBlock .childrenBox .txtBox.right{width: 730px;}

.childrenBlock .childrenBox .left{float:left;}
.childrenBlock .childrenBox .right{float:right;}

.childrenBlock .childrenBox .txtBox{width:100%;}
.childrenBlock .childrenBox figure{
	width:250px;
	margin:0;
}
.childrenBlock .childrenBox p{padding:0 25px;}
}
/* sp */
@media only screen and (max-width: 767px) {
.childrenBlock{width:100%;}
.childrenBlock .childrenBox .txtBox.left,
.childrenBlock .childrenBox .txtBox.right{float:none;}

.childrenBlock .childrenBox .txtBox{width:95%; margin:0 auto 2em;}
.childrenBlock .childrenBox .txtBox figure{
	width:95%;
	margin:0 auto;
	text-align:center;
}
.childrenBlock figure img{
	width:100%;
	max-width:230px;
	height:auto;
}
}
/* --------------------------------- Children Block 2 --- */
.childrenBlock2{
	background: #eec85c;
	box-sizing: border-box;
	margin: 0 auto 80px;
	border-radius: 10px;
	position:relative;
}
.childrenBlock2 .wrapper{background:#ffffff;}

.childrenBlock2::before{
	content:"";
	background:url(../children/images/clips.svg) no-repeat top center;
	position:absolute;
	top:-5px;
	left:0;
}
.childrenBlock2 .childrenBox h2{
	color:#323333;
	font-size:120%;
	text-align:center;

	background-image: url(../children/images/bg_h_children_l.svg), url(../children/images/bg_h_children_r.svg);
	background-repeat: no-repeat;
	background-position: left center, right center;
}

.childrenBlock2 .childrenBox ul{
	margin:1em 0;
	padding:0;
	list-style:none;
}
.childrenBlock2 .childrenBox ul li{font-weight: bold;}
.childrenBlock2 .childrenBox span{font-weight: bold;}

/* pc */
@media print, screen and (min-width:768px) {
.childrenBlock2{padding:40px 45px; width: 1000px;}
.childrenBlock2 .childrenBox .txtBox{padding: 10px 25px;}

.childrenBlock2 .wrapper{padding:55px 35px;}

.childrenBlock2::before{
	width:1000px;
	height:65px;
}

.childrenBlock2 .childrenBox h2{
	background-image: url(../children/images/bg_h_children_l.svg), url(../children/images/bg_h_children_r.svg);
	background-repeat: no-repeat;
	background-position: left center, right center;
}
}
/* sp */
@media only screen and (max-width: 767px) {
.childrenBlock2{
	width:95%;
	margin:0 auto 30px;
    padding: 20px;
}
.childrenBlock2 .wrapper{padding:15px;}

.childrenBlock2::before{
	background:none;
}
.childrenBlock2 .childrenBox h2{
	background-image: url(../children/images/icon_children.svg);
	background-repeat: no-repeat;
	background-position: left center;

	border-bottom:#f3ed57 solid 2px;
	margin-bottom: 1em;
	position: relative;
}
.childrenBlock2 .childrenBox h2::before{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0px;
	bottom: -6px;
	border-bottom:#ea8c22 solid 2px;
}
}
/*--------------------------------------------------------*/
/* ====================================================== */


/* ====================================================== */
/*                                             Private    */
/* ====================================================== */
.privateBlock, .privateBlock2{box-sizing:border-box;}

.privateBlock::after,
.privateBlock2::after,
.privateBlock .privateBox::after,
.privateBlock2 .privateBox::after{content:" ";display: block;clear: both;}

/* pc */
@media print, screen and (min-width:768px) {
.privateBlock,
.privateBlock2{width: 1000px; margin: 0 auto 60px;padding:0;}
}
/* sp */
@media only screen and (max-width: 767px) {
.privateBlock,
.privateBlock2{
	width:100%;
	margin: 0 auto 30px;
	padding:0;
}
.privateBlock .privateBox p,
.privateBlock2 .privateBox p{
	width:95%;
	margin:0 auto;
	padding:0;
}
}
/* ------------------------------------ Private Block --- */
.privateBlock{margin-bottom: 30px;}
.privateBlock h2{margin-bottom: 1em;}

.privateBlock .privateBox h2 {
    font-size: 100%;
    font-family: "Rounded Mplus 1c", sans-serif;
    text-align: center;
    background:#E3E3E3;
    color: #363636;
    padding: 0.5rem 0;
}
.privateBlock .privateBox figure{
	padding:0;
	text-align:center;
}
.privateBlock .privateBox p{text-align:left;}

/* pc */
@media print, screen and (min-width:768px) {
.privateBlock .privateBox .txtBox.left,
.privateBlock .privateBox .txtBox.right{width:695px;}

.privateBlock .privateBox .left{float:left;}
.privateBlock .privateBox .right{float:right;}

.privateBlock .privateBox figure{
	width:300px;
	margin:0;
	padding:0;
}
.privateBlock .privateBox p{padding:0 25px;}
}
/* sp */
@media only screen and (max-width: 767px) {
.privateBlock{width:100%;}
.privateBlock .privateBox .txtBox.left,
.privateBlock .privateBox .txtBox.right{float:none;}

.privateBlock .privateBox .txtBox{width:95%; margin:0 auto 2em;}
.privateBlock .privateBox .txtBox figure{
	width:95%;
	margin:0 auto;
}
.privateBlock figure img{
	width:100%;
	max-width:220px;
	height:auto;
}
}
/* ---------------------------------- Private Block 2 --- */
.privateBlock2{
	background: #f6ce5b;
	box-sizing: border-box;
	margin: 0 auto 80px;
}
.privateBlock2 h2{
	color:#323333;
	text-align:center;
	font-size:120%;
	margin:0 auto 1em;
}
.privateBlock2 h2:after,
.privateBlock2 h2:before{
	content: '●';
	color: #ffffff;
	margin:0 10px;
}

.privateBlock2 .privateBox{width:100%;}

.privateBlock2 .box {
	background: #ffffff;
	border-radius: 7px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.privateBlock2 .box h3 {
	border-bottom: 3px solid #f6ce5b;
	display: block;
	text-align: center;
	margin: 0 0 2rem 0;
	padding:0.5em 0;
}
.privateBlock2 .star {color: #040000;}


.privateBlock2 .box dl dd ul {
	list-style:none;
	margin: 0 !important;
	padding: 0;
}
.privateBlock2 .box table {
	color:#4c4c4c;
	border-collapse: collapse;
	margin-top:1em;
	margin-left:10px;
}
.privateBlock2 .box table th,
.privateBlock2 .box table td {
	background: #efefef;
	border: 3px solid #fff;
	padding: 0.5rem;
}


/* pc */
@media print, screen and (min-width:768px) {
.privateBlock2{padding:40px 45px; width: 1000px;}
.privateBlock2 .box {
	margin: 0 0 2rem 0;
	padding: 10px;
	overflow: hidden;
}
.privateBlock2 .box .left {
	float: left;
	margin: 0 30px 2rem 45px;
}

.privateBlock2 .box dl dt {
	width: 110px;
	height: 100px;
	float: left;
	text-align: center;
	line-height: 3.6;
	margin:0 20px 0 0;

	display: block;
}
.privateBlock2 .box dl dd {
	margin: 0 0 2rem 2rem;
	overflow: hidden;
}
.privateBlock2 .box dl dd ul {
	width:465px;
}
.privateBlock2 .box dl dd ul li {
	padding: 0 0 0 1.5em;
	text-indent: -1em;
	line-height: 2;
}

.privateBlock2 .box table {
	width: 235px;
}
.privateBlock2 .box table th,{
}
.privateBlock2 .box table td {
}

}
/* sp */
@media only screen and (max-width: 767px) {
.privateBlock2{
	width:95%;
	margin:0 auto 30px;
    padding: 20px;
}
.privateBlock2 .box h3 img{
	max-width: 90%;
	text-align:center;
}
.privateBlock2 .box {
    padding: 10px;
	margin-bottom:2em;
}

.privateBlock2 figure{
	text-align:center;
}
.privateBlock2 figure img{
	width: 90%;
	max-width: 200px;
	margin-bottom:1.5em;
}
.privateBlock2 .box dl dt{
	margin-bottom:1.5em;
}
.privateBlock2 .box dl dt img{
	width:50%;
	max-width:110px;
}
.privateBlock2 .box dl dd {
	margin: 0 0 2rem 0;
}
.privateBlock2 .box table {
	width: 90%;
	margin:1em auto 0;
}
.privateBlock2 .box table th {
	width:50%;
}

}
















/*--------------------------------------------------------*/
/* ====================================================== */

