@charset "UTF-8";

body.-home {
	position: relative;
}

.wrap {
	visibility: hidden;
	overflow-x: hidden;
}

.wrap.-move {
	visibility: visible;
}

.op {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	z-index: 100;
	background-color: #FFF;
}

.op.-move {
	background-color: transparent;
}

.op:before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(/img/home/img-pattern-op-bg.jpg);
	background-repeat: repeat;
	background-position: left;
}

.op.-move:before {
	width: 0%;
	-webkit-transition: width ease .5s 1.5s;
	transition: width ease .5s 1.5s;
}

.op_cnt {
	position: relative;
	display: inline-block;
}

.op.-move .op_cnt {
	opacity: 0;
	-webkit-transition: opacity ease-out .2s 1.5s;
	transition: opacity ease-out .2s 1.5s;
}

.op_dental {
	-webkit-transform: scale(0);
	transform: scale(0);
}

.op.-move .op_dental {
	-webkit-animation: bounceIn 1s forwards;
	animation: bounceIn 1s forwards;
}

@-webkit-keyframes bounceIn {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	80% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}

	100% {
		-webkit-transform: scale(1.0);
		transform: scale(1.0);
	}

}

@keyframes bounceIn {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	80% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}

	100% {
		-webkit-transform: scale(1.0);
		transform: scale(1.0);
	}

}

.op_logo {
	position: absolute;
	top: 40%;
	left: 0%;
	width: 100%;
	padding: 0 10%;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.op_logo img {
	display: inline-block;
	-webkit-transform: scale(1, 0);
	transform: scale(1, 0);
	-webkit-transform-origin: bottom;
	transform-origin: bottom;
}

.op.-move .op_logo img {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transition: -webkit-transform .3s .8s;
	transition: -webkit-transform .3s .8s;
	transition: transform .3s .8s;
	transition: transform .3s .8s, -webkit-transform .3s .8s;
}

.appoint {
	position: absolute;
	top: 0;
	right: 0;
	padding: 20px 25px;
	background-color: #F4C51E;
	border-radius: 0 0 0 25px;
	z-index: 10;
}

.appoint_info {
}

.appoint_info > dt {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-size: 13px;
}

.appoint_info > dd {
	font-family: 'Quicksand', sans-serif;
	font-size: 23px;
	font-weight: bold;
	line-height: 1;
	position: relative;
	padding-left: 30px;
}

.appoint_info > dd:before {
	content: "\e904";
	font-family: icomoon;
	color: #FFF;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

body.-home .hero {
}

.hero_slide {
	text-align: center;
}

.scroll_head.-scroll {
	display: none;
}

.head {
	position: relative;
	padding: 35px 0 10px;
	margin-top: -170px;
}

.head:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background-image: url(/img/home/img-line-bg.png);
	background-repeat: repeat-x;
	background-size: contain;
	background-position: center;
	width: 100%;
	height: 0;
	padding-top: 25%;
}

.head_wrap {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	z-index: 10;
}

.head_wrap:before,
.head_wrap:after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 300px;
	height: 150px;
	overflow-x: hidden;
}

.head_wrap:before {
	background-image: url(/img/home/img-icon-block-left@2x.png);
	bottom: 120px;
	left: -150px;
	-webkit-transform: scale(0, 0);
	transform: scale(0, 0);
	-webkit-transform-origin: left;
	transform-origin: left;
}

.wrap.-move .head_wrap:before {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transition: -webkit-transform .3s 2s;
	transition: -webkit-transform .3s 2s;
	transition: transform .3s 2s;
	transition: transform .3s 2s, -webkit-transform .3s 2s;
}

.head_wrap:after {
	background-image: url(/img/home/img-icon-block-right@2x.png);
	right: -150px;
	bottom: 80px;
	-webkit-transform: scale(0, 0);
	transform: scale(0, 0);
	-webkit-transform-origin: right;
	transform-origin: right;
}

.wrap.-move .head_wrap:after {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transition: -webkit-transform .3s 2.5s;
	transition: -webkit-transform .3s 2.5s;
	transition: transform .3s 2.5s;
	transition: transform .3s 2.5s, -webkit-transform .3s 2.5s;
}

.head_logo {
	z-index: 11;
}

.gnav {
	margin-left: 30px;
}

.gnav_list {
}

.gnav_list > li {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: bold;
	width: 155px;
	display: inline-block;
	border-right: 1px dotted #DDD;
	text-align: center;
}

.gnav_list > li:first-child {
	border-left: 1px dotted #DDD;
}

.gnav_list > li > a {
	display: block;
	padding-top: 60px;
	position: relative;
}

.gnav_list > li > a:before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 0;
	padding-top: 50%;
	position: absolute;
	top: -10px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.gnav_list > li > a.-concept:before {
	background-image: url(/img/common/img-icon-concept@2x.png);
	width: 63px;
}

.gnav_list > li > a.-orthodontics:before {
	background-image: url(/img/common/img-icon-orthodontics@2x.png);
	width: 58px;
}

.gnav_list > li > a.-pediatrics:before {
	background-image: url(/img/common/img-icon-pediatrics@2x.png);
	width: 57px;
}

.gnav_list > li > a.-doctor:before {
	background-image: url(/img/common/img-icon-doctor@2x.png);
	width: 44px;
}

.gnav_list > li > a.-info:before {
	background-image: url(/img/common/img-icon-info@2x.png);
	width: 42px;
}

.intro {
	position: relative;
	z-index: 20;
	background-repeat: repeat-x;
	background-size: contain;
	background-position: center;
	padding: 6% 0;
	position: relative;
	background-image: url(/img/common/img-pattern-bg.png);
}

.intro_row {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: end;
	align-items: flex-end;
}

.intro_cnt {
	background-color: #FFF;
	padding: 5%;
	border-radius: 25px;
	width: 49%;
	position: relative;
}

.intro_cnt:after {
	content: "";
	position: absolute;
	top: -35px;
	right: 10%;
	background-image: url(/img/home/img-icon-kirakira@2x.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	width: 65px;
	height: 150px;
}

.intro_cnt_ttl {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-size: 36px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.1em;
}

.intro_cnt_ttl > span {
	position: relative;
}

.intro_cnt_ttl > span:after {
	content: "";
	position: absolute;
	top: 45px;
	left: 0;
	background-image: url(/img/common/img-line-bg.png);
	background-repeat: no-repeat;
	width: 100%;
	height: 3px;
}

.intro_cnt_ttl > span.-second {
	margin-left: -0.5em;
}

.intro_cnt_ttl > span.-second:after {
	left: 20px;
	width: 87%;
}

/*.intro_cnt_ttl > span:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	margin: 0;
	padding: 0;
	border: 0;
	background: repeating-linear-gradient(90deg,
				#FF7D59 , #FF7D59 3px,
				#fff 3px, #fff 6px, #FBB03B 6px, #FBB03B 9px,
				#fff 9px, #fff 12px, #FCDB21 12px, #FCDB21 15px,
				#fff 15px, #fff 18px, #8CC63F 18px, #8CC63F 21px,
				#fff 21px, #fff 24px, #61C29D 24px, #61C29D 27px,
				#fff 27px, #fff 30px, #83ABE2 30px, #83ABE2 33px,
				#fff 33px, #fff 36px, #948CE2 36px, #948CE2 39px,
				#fff 39px, #fff 42px, #F39FBE 42px, #F39FBE 45px,
				#fff 45px, #fff 48px);
}*/
.intro_cnt_text {
	margin-top: 20px;
}

.intro_cnt_link {
	margin-top: 25px;
	width: 300px;
	background-color: #82C1B7;
	border-radius: 50px;
}

.intro_cnt_link > a {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #FFF;
	text-align: center;
	padding: 20px 0;
	position: relative;
	line-height: 1;
}

.intro_cnt_link > a:after {
	content: "\e903";
	font-family: icomoon;
	font-size: 13px;
	position: absolute;
	top: 49%;
	right: 25px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.intro_imgs {
	display: -webkit-box;
	display: flex;
	width: 52%;
	margin-left: -70px;
	line-height: 1;
}

.intro_imgs > a {
	text-align: center;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	width: 100%;
	margin-left: 2%;
	background-image: url(/img/common/img-icon-bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: relative;
}

.intro_imgs > a:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.intro_imgs > a:first-child {
	margin-left: 0;
}

.intro_img {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
}

.intro_img:after {
	content: "\e903";
	display: block;
	font-family: icomoon;
	font-size: 20px;
	color: #F4C51E;
	margin-top: 6%;
}

.intro_img > img {
	max-width: 50%;
	height: auto;
}

.intro_img > figcaption {

	/*font-size: 18px;*/
}

.intro_img.-boy {
	margin-top: -4%;
}

.intro_img.-girl > img {
	margin-right: 9%;
}

.intro_img.-boy > img {
	margin-left: 8%;
}

.intro_img.-girl > figcaption {
	margin-top: 10px;
}

.intro_img.-boy > figcaption {
}

.doctor {
	margin-top: -40px;
}

.doctor_row {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.doctor_img {
}

.doctor_cnt {
	margin: 0 auto;
}

.doctor_cnt_text {
}

.doctor_cnt_ttl {
}

.doctor_cnt_ttl > span {
	font-size: 17px;
}

.doctor_cnt_ttl > em {
	font-size: 30px;
}

.doctor_cnt_link {
	width: 300px;
	background-color: #82C1B7;
	border-radius: 50px;
	margin: 25px auto 0;
}

.doctor_cnt_link > a {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #FFF;
	text-align: center;
	padding: 20px 0;
	position: relative;
	line-height: 1;
}

.doctor_cnt_link > a:after {
	content: "\e903";
	font-family: icomoon;
	font-size: 13px;
	position: absolute;
	top: 50%;
	right: 25px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.news {
	background-color: #F7F5F2;
}

.news_wrap {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	padding: 10px 0;
}

.news_ttl {
	font-family: 'Quicksand', sans-serif;
	font-size: 35px;
	font-weight: bold;
	color: #E07D50;
	line-height: 1;
	max-width: 330px;
	width: 100%;
	text-align: right;
	padding: 0 30px;
	border-right: 2px dotted #E07D50;
}

.news_info {
	padding: 0 30px;
	width: 100%;
	position: relative;
}

.news_info:after {
	content: "\e903";
	font-family: icomoon;
	font-size: 20px;
	color: #E07D50;
	position: absolute;
	top: 50%;
	right: 10%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.news_info_time {
	font-family: 'Quicksand', sans-serif;
	font-weight: bold;
	color: #E07D50;
	display: inline-block;
}

.news_info_ttl {
	display: inline-block;
	padding-left: 25px;
}

@media screen and (max-width:1030px) {
	.head_wrap:after {
		bottom: 90px;
	}

}

@media screen and (max-width:640px) {
	body.-home {
	}

	.appoint {
		display: none;
	}

	.appoint_info {
	}

	.appoint_info > dt {
	}

	.appoint_info > dd {
	}

	.appoint_info > dd:before {
	}

	body.-home .hero {
	}

	.hero_slide {
	}

	.scroll_head.-scroll {
		display: none;
	}

	.head {
		margin-top: 0;
		padding: 0;
	}

	.head:before {
		;
		top: 0;
	}

	.head_wrap {
		width: 100%;
	}

	.head_wrap:before,
	.head_wrap:after {
		width: 150px;
		height: 100px;
	}

	.head_wrap:before {
		left: -60px;
		bottom: 100px;
	}

	.head_wrap:after {
		right: -90px;
		bottom: -40px;
	}

	.head_logo {
	}

	.gnav {
		display: none;
	}

	.gnav_list {
	}

	.gnav_list > li {
	}

	.gnav_list > li:first-child {
	}

	.gnav_list > li > a {
	}

	.gnav_list > li > a:before {
	}

	.gnav_list > li > a.-concept:before {
	}

	.gnav_list > li > a.-orthodontics:before {
	}

	.gnav_list > li > a.-pediatrics:before {
	}

	.gnav_list > li > a.-doctor:before {
	}

	.gnav_list > li > a.-info:before {
	}

	.intro {
		background-size: cover;
		padding: 40px 0;
		margin-top: 20px;
	}

	.intro_row {
		display: block;
	}

	.intro_cnt {
		width: 100%;
		padding: 35px;
	}

	.intro_cnt:after {
		width: 50px;
		height: 100px;
		top: -10px;
	}

	.intro_cnt_ttl {
		font-size: 24px;
	}

	.intro_cnt_ttl > span:after {
		top: 35px;
	}

	.intro_cnt_ttl > span.-second {
	}

	.intro_cnt_ttl > span.-second:after {
		left: 12px;
	}

	.intro_cnt_text {
		margin-top: 10px;
	}

	.intro_cnt_link {
		width: 200px;
		margin: 25px auto 0;
	}

	.intro_cnt_link > a {
	}

	.intro_cnt_link > a:after {
	}

	.intro_imgs {
		width: 100%;
		margin-left: 0;
		margin-top: 20px;
	}

	.intro_imgs > a {
	}

	.intro_imgs > a:before {
	}

	.intro_imgs > a:first-child {
	}

	.intro_img {
		;
	}

	.intro_img > img {
		max-width: 50%;
	}

	.intro_img:after {
	}

	.intro_img > figcaption {
		font-size: 14px;
	}

	.intro_img.-boy {
	}

	.intro_img.-girl > img {
	}

	.intro_img.-boy > img {
	}

	.intro_img.-girl > figcaption {
	}

	.doctor {
		margin-top: -12px;
	}

	.doctor_row {
		display: block;
	}

	.doctor_img {
	}

	.doctor_cnt {
		padding: 20px 0;
		text-align: center;
	}

	.doctor_cnt_text {
	}

	.doctor_cnt_ttl {
	}

	.doctor_cnt_ttl > span {
		font-size: 16px;
	}

	.doctor_cnt_ttl > em {
		font-size: 23px;
	}

	.doctor_cnt_link {
		width: 200px;
	}

	.doctor_cnt_link > a {
	}

	.doctor_cnt_link > a:after {
	}

	.news {
		margin-top: 40px;
	}

	.news_wrap {
		display: block;
		padding: 20px 0;
	}

	.news_wrap:after {
	}

	.news_ttl {
		text-align: left;
		border-right: none;
		font-size: 20px;
	}

	.news_info {
	}

	.news_info:after {
		top: auto;
		-webkit-transform: none;
		transform: none;
		bottom: 0;
	}

	.news_info_time {
		display: block;
	}

	.news_info_ttl {
		padding-left: 0;
		margin-top: 5px;
	}

}

@media print {
}
